#assenze-workspace{min-width:0;color:var(--ink)}.ah-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:26px}.ah-head h2{font-size:30px;line-height:1.2;margin:7px 0 10px;letter-spacing:-.7px}.ah-head p{color:var(--mut);margin:0 0 9px}.ah-eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:750;color:var(--mut)}.ah-tabs{display:flex;gap:24px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:20px}.ah-tabs button{border:0;background:transparent;color:var(--mut);padding:12px 0 15px;white-space:nowrap;font:inherit;font-weight:650;cursor:pointer;border-bottom:3px solid transparent}.ah-tabs button[aria-pressed=true]{border-color:var(--brand);color:var(--ink)}.ah-tabs span{background:var(--soft);padding:2px 7px;border-radius:5px;font-size:11px;margin-left:7px}.ah-filters{display:flex;align-items:end;gap:12px;margin-bottom:24px}.ah-filters .f{margin:0;min-width:170px}.ah-filters .f:first-child{flex:1;max-width:350px}.ah-work{display:grid;grid-template-columns:minmax(250px, .9fr) minmax(320px,1.1fr);gap:26px;align-items:start}.ah-list{min-width:0}.ah-count{font-size:12px;color:var(--mut);margin:0 0 12px}.ah-request{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--card);color:var(--ink);margin:0 0 10px;cursor:pointer;font:inherit}.ah-request:hover{border-color:var(--brand)}.ah-request.is-selected{border-color:var(--brand);box-shadow:inset 3px 0 var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--card))}.ah-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;align-items:center}.ah-row strong{font-size:14px}.ah-state{display:inline-block;font-size:10px;letter-spacing:.2px;line-height:1.4;padding:4px 7px;border-radius:5px;white-space:nowrap;font-weight:700}.ah-state.waiting{color:var(--warn);background:color-mix(in srgb,var(--warn) 11%,var(--card))}.ah-state.accepted{color:var(--ok);background:color-mix(in srgb,var(--ok) 11%,var(--card))}.ah-state.closed{color:var(--mut);background:var(--soft)}.ah-warning{color:var(--warn);font-size:12px;margin-top:10px}.ah-detail{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0;overflow-wrap:anywhere}.ah-detail-head{padding-bottom:20px;border-bottom:1px solid var(--line)}.ah-detail h3{font-size:23px;margin:8px 0 12px;letter-spacing:-.4px}.ah-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.ah-facts dt{font-size:11px;color:var(--mut);margin-bottom:6px}.ah-facts dd{margin:0;font-weight:650;font-size:13px}.ah-section{border-top:1px solid var(--line);padding:20px 0 0;margin-top:20px}.ah-section h4{margin:0 0 12px;font-size:14px}.ah-section p{color:var(--mut);line-height:1.65;margin:10px 0}.ah-section summary{cursor:pointer;font-weight:650}.ah-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.ah-foot{font-size:12px;color:var(--mut);line-height:1.7;margin:22px 0}.ah-empty{padding:30px 18px;text-align:center;color:var(--mut);line-height:1.6}.ah-empty h3{font-size:17px;color:var(--ink)}.ah-pages{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:15px;font-size:11px}.ah-request:focus-visible,.ah-tabs button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}@media(min-width:1500px){.ah-work{grid-template-columns:minmax(300px, .85fr) minmax(380px,1.15fr)}}@media(max-width:1100px){.ah-work{grid-template-columns:1fr}.ah-filters{flex-wrap:wrap}.ah-detail{padding:22px}}@media(max-width:520px){.ah-head{flex-wrap:wrap}.ah-head h2{font-size:26px}.ah-head>.btn{width:100%}.ah-tabs{gap:20px}.ah-filters .f,.ah-filters .f:first-child{min-width:0;width:100%;max-width:none;flex:auto}.ah-filters>.btn{width:100%}.ah-facts{gap:18px}.ah-row{align-items:start}.ah-detail{padding:18px}.ah-work{gap:20px}}
.ah-items{max-height:65vh;overflow:auto;padding:2px 5px 2px 2px;scrollbar-gutter:stable}.ah-detail{position:sticky;top:20px}@media(max-width:1100px){.ah-items{max-height:410px}.ah-detail{position:static}}@media(max-width:520px){.ah-items{max-height:350px}}

/* La disposizione segue lo spazio della scheda, anche con la barra laterale aperta. */
#assenze-workspace{container-type:inline-size}
#assenze-workspace .ah-work{grid-template-columns:minmax(0,1fr);gap:24px}
#assenze-workspace .ah-detail{position:static;overflow-wrap:break-word}
#assenze-workspace .ah-items{max-height:410px}
#assenze-workspace .ah-head>div{min-width:0;flex:1}
#assenze-workspace .ah-head>.btn{flex-shrink:0}
#assenze-workspace .ah-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr) auto}
#assenze-workspace .ah-filters .f,#assenze-workspace .ah-filters .f:first-child{min-width:0;max-width:none;width:100%}
#assenze-workspace .ah-person{flex-wrap:wrap;align-items:baseline;gap:8px 16px}
#assenze-workspace .ah-person strong{flex:1 0 210px;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word;line-height:1.5}
#assenze-workspace .ah-person .ah-state{flex:0 0 auto}
#assenze-workspace .ah-request{text-align:left;height:auto;min-width:0;white-space:normal}
#assenze-workspace .ah-dates{display:flex;flex-wrap:wrap;gap:6px 20px;margin:12px 0 7px;font-size:13px;color:var(--ink)}
#assenze-workspace time{white-space:nowrap;font-variant-numeric:tabular-nums}
#assenze-workspace .ah-dates>span{white-space:nowrap}
#assenze-workspace .ah-detail h3{word-break:normal;overflow-wrap:break-word;line-height:1.35}
#assenze-workspace .ah-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#assenze-workspace .ah-facts>div{min-width:0}
#assenze-workspace .ah-period{grid-column:1/-1;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
#assenze-workspace .ah-period dd{display:flex;flex-wrap:wrap;gap:10px 32px;font-size:16px}
#assenze-workspace .ah-period dd>span{white-space:nowrap}
@container(min-width:880px){#assenze-workspace .ah-work{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}#assenze-workspace .ah-detail{position:sticky;top:90px}#assenze-workspace .ah-items{max-height:65vh}}
@container(max-width:600px){#assenze-workspace .ah-filters{grid-template-columns:minmax(0,1fr)}#assenze-workspace .ah-filters>.btn{width:100%}#assenze-workspace .ah-head{flex-wrap:wrap}#assenze-workspace .ah-head>.btn{width:100%}#assenze-workspace .ah-detail{padding:18px}#assenze-workspace .ah-items{max-height:350px}}

/* Ferie e permessi: tabella delle richieste nella vista generale. */
body.approved-layout #main .leave-requests-wrap{max-width:100%;min-width:0;overflow:auto}
body.approved-layout #main table.leave-requests{width:100%;min-width:0;table-layout:fixed}
.leave-requests col.leave-person{width:20%}.leave-requests col.leave-type{width:15%}.leave-requests col.leave-period{width:18%}.leave-requests col.leave-hours{width:7%}.leave-requests col.leave-state{width:19%}.leave-requests col.leave-actions{width:21%}
body.approved-layout #main table.leave-requests :is(th,td){padding:16px 14px;vertical-align:top;word-break:normal;overflow-wrap:break-word}
body.approved-layout #main table.leave-requests th{white-space:nowrap}
body.approved-layout #main table.leave-requests td[data-l="Addetto"] b{word-break:normal;overflow-wrap:normal;line-height:1.5}
.leave-dates{display:flex;flex-direction:column;gap:5px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}
.leave-dates span,.leave-dates time{white-space:nowrap}
.leave-note{margin-top:8px;font-size:12px;line-height:1.6;color:var(--mut)}
.leave-note summary{cursor:pointer;color:var(--ink);font-weight:600}
.leave-note div{padding-top:8px;white-space:normal;overflow-wrap:anywhere}
.leave-action-buttons{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start}
body.approved-layout #main table.leave-requests .btn{white-space:normal;min-width:0;max-width:100%;padding:9px 12px}
@media(max-width:1100px){
 body.approved-layout #main table.leave-requests,body.approved-layout #main table.leave-requests tbody{display:block;width:100%;min-width:0}
 body.approved-layout #main table.leave-requests :is(colgroup,thead){display:none}
 body.approved-layout #main table.leave-requests tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;border-bottom:1px solid var(--line)}
 body.approved-layout #main table.leave-requests td{display:block;width:auto;min-width:0;border:0;padding:0;text-align:left!important}
 body.approved-layout #main table.leave-requests td::before{display:block;content:attr(data-l);font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
 body.approved-layout #main table.leave-requests td[data-l="Addetto"],body.approved-layout #main table.leave-requests td[data-l="Azioni"]{grid-column:1/-1}
 body.approved-layout #main table.leave-requests td[data-l="Addetto"] b{font-size:16px}
}
