.driver-absence-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;margin:0 0 18px;border:1px solid var(--line,#e3ddec);border-radius:12px;background:var(--surface,#fff);font-size:13px;color:var(--muted,#756d84)}
.drawer.driver-absence-drawer{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);animation:none;width:min(600px,calc(100vw - 32px));height:auto;max-height:min(740px,calc(var(--fb-visual-height,100dvh) - 32px));border:1px solid var(--line,#e3ddec);border-radius:20px;overflow:hidden}
.driver-absence-drawer .drawer-head{flex-shrink:0;min-height:0;padding:24px 24px 0;border:0;align-items:flex-start;gap:12px}.driver-absence-drawer .drawer-head h2{font-size:23px;letter-spacing:-.6px;line-height:1.25}.driver-absence-drawer .drawer-head p{font-size:12px;margin:7px 0 0;color:var(--muted)}
.driver-absence-drawer .drawer-head .iconbtn{width:34px;height:34px;min-height:34px;border:0;background:var(--surface2);color:var(--muted);border-radius:10px;flex-shrink:0}
.driver-absence-drawer .drawer-body{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 24px 10px}
.driver-absence-intro{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 24px}
.driver-absence-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);padding:0 0 9px;border-bottom:1px solid var(--line)}.driver-absence-list-heading b{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.driver-absence-row{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:12px;padding:18px 0}.driver-absence-row+.driver-absence-row{border-top:1px solid var(--line)}
.driver-absence-select{display:grid;place-items:center;width:36px;height:36px;align-self:start;cursor:pointer;border-radius:10px}
.driver-absence-select:hover{background:var(--surface2)}
.driver-absence-select input,.driver-absence-select-all input{width:19px;height:19px;margin:0;accent-color:var(--accent2,#7050e8);cursor:pointer;flex-shrink:0}
.driver-absence-select-all{display:flex;align-items:center;gap:12px;min-height:36px;cursor:pointer;color:var(--text);font-size:12px;font-weight:600}
.driver-absence-select input:focus-visible,.driver-absence-select-all input:focus-visible{outline:2px solid var(--accent2,#7050e8);outline-offset:4px}
.driver-absence-row.is-selected .driver-absence-person b{color:var(--accent2,#7050e8)}
.driver-absence-person{min-width:0}.driver-absence-person b{display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere;font-weight:700}.driver-absence-person small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.driver-absence-actions,.driver-absence-confirm>div{display:flex;align-items:center;gap:7px}.driver-absence-actions>button{font:inherit;font-size:12px;font-weight:650;cursor:pointer;border-radius:9px;min-height:38px;padding:0 12px;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.driver-absence-status{display:block;margin-top:5px;font-size:10px;line-height:1.5;color:var(--muted)}
.driver-absence-ignore{background:transparent;color:var(--muted)}.driver-absence-ignore:hover{background:var(--surface2);color:var(--text)}.driver-absence-suspend,.driver-absence-activate{background:var(--surface2);color:var(--accent2,#7050e8)}.driver-absence-suspend:hover,.driver-absence-activate:hover{border-color:var(--accent,#7050e8)}
.driver-absence-actions>.driver-absence-delete{display:grid;place-items:center;padding:0;width:44px;min-width:44px;color:var(--muted);background:transparent}.driver-absence-delete svg{width:17px;height:17px}.driver-absence-delete:hover{color:#ce4b57;background:rgba(206,75,87,.08)}
.driver-absence-actions>button:disabled{opacity:.5;cursor:wait}.driver-absence-actions>button:focus-visible{outline:2px solid var(--accent,#7050e8);outline-offset:3px}
.driver-absence-confirm{grid-column:2/-1;background:var(--surface2);border-radius:12px;padding:14px}.driver-absence-confirm p{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 12px}.driver-absence-confirm>div{justify-content:flex-end;flex-wrap:wrap}.driver-absence-confirm .btn{min-height:40px;font-size:12px;padding:0 13px}.driver-absence-confirm .driver-absence-danger{color:#c44150;border-color:rgba(196,65,80,.3);background:var(--surface)}
.driver-absence-drawer .drawer-actions{flex-shrink:0;display:flex;flex-direction:row;justify-content:space-between;gap:20px;align-items:center;padding:17px 24px;border-top:1px solid var(--line);background:var(--surface)}.driver-absence-drawer .drawer-actions small{font-size:11px;line-height:1.5;color:var(--muted);max-width:240px}.driver-absence-drawer .drawer-actions>.btn{flex:none;min-width:100px;min-height:42px;font-size:13px;padding:0 20px;box-shadow:none}
.driver-absence-empty{font-size:13px;color:var(--muted);padding:20px 0;margin:0;line-height:1.6}
[data-theme=dark] .driver-absence-confirm .driver-absence-danger{color:#ff9ba4;border-color:rgba(255,155,164,.35)}
.driver-absence-drawer .drawer-actions.has-selection{display:block;padding-top:14px;padding-bottom:16px}
.driver-absence-bulk-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px;color:var(--text)}
.driver-absence-bulk-summary>button{font:inherit;font-size:11px;border:0;background:none;color:var(--muted);cursor:pointer;padding:5px 0}
.driver-absence-bulk-actions,.driver-absence-bulk-confirm>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.driver-absence-bulk-actions svg{display:none;width:18px;height:18px}
.driver-absence-drawer:has(.drawer-actions.has-selection) .driver-absence-actions{display:none}
.driver-absence-bulk-actions>.btn,.driver-absence-bulk-confirm .btn{min-height:40px;font-size:12px;padding:0 13px;box-shadow:none;flex:1;white-space:nowrap}
.driver-absence-bulk-actions .driver-absence-danger,.driver-absence-bulk-confirm .driver-absence-danger{color:#c44150;border-color:rgba(196,65,80,.3);background:var(--surface)}
.driver-absence-bulk-confirm p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 12px}
[data-theme=dark] .driver-absence-bulk-actions .driver-absence-danger,[data-theme=dark] .driver-absence-bulk-confirm .driver-absence-danger{color:#ff9ba4;border-color:rgba(255,155,164,.35)}
@media(max-width:580px){
 .drawer.driver-absence-drawer{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:calc(var(--fb-visual-height,100dvh) - 16px);border-radius:24px 24px 0 0;border-bottom:0}
 .driver-absence-drawer .drawer-head{padding:24px 24px 0;gap:16px}.driver-absence-drawer .drawer-head h2{font-size:24px;line-height:1.3}.driver-absence-drawer .drawer-head p{font-size:13px;margin-top:8px}
 .driver-absence-drawer .drawer-head .iconbtn{width:44px;height:44px;min-height:44px}
 .driver-absence-drawer .drawer-body{padding:20px 24px 8px;scroll-padding-block:24px}
 .driver-absence-intro{font-size:14px;line-height:1.65;margin-bottom:26px;max-width:34ch}
 .driver-absence-list-heading{font-size:12px;padding-bottom:14px}.driver-absence-list-heading b{font-size:13px}
 .driver-absence-row{grid-template-columns:42px minmax(0,1fr);column-gap:14px;row-gap:18px;padding:24px 0}
 .driver-absence-select{width:44px;height:44px}.driver-absence-select input,.driver-absence-select-all input{width:22px;height:22px}.driver-absence-select-all{min-height:44px;font-size:13px;gap:14px}
 .driver-absence-person b{font-size:16px;line-height:1.4}.driver-absence-person small{font-size:13px;line-height:1.5;margin-top:5px}
 .driver-absence-actions{grid-column:1/-1;gap:10px;width:100%}.driver-absence-actions>button{min-height:48px;padding:0 14px;font-size:14px;border-radius:11px}
 .driver-absence-status{font-size:12px;margin-top:6px}
 .driver-absence-actions>.driver-absence-ignore,.driver-absence-actions>.driver-absence-suspend,.driver-absence-actions>.driver-absence-activate{flex:1;min-width:0}
 .driver-absence-actions>.driver-absence-ignore{border-color:var(--line)}
 .driver-absence-actions>.driver-absence-delete{width:48px;min-width:48px;flex:none}.driver-absence-delete svg{width:19px;height:19px}
 .driver-absence-confirm{grid-column:1/-1;padding:18px}.driver-absence-confirm p{font-size:14px;line-height:1.6;margin-bottom:16px}
 .driver-absence-confirm>div{flex-direction:column-reverse;align-items:stretch;gap:10px}.driver-absence-confirm .btn{min-height:48px;font-size:14px}
 .driver-absence-drawer .drawer-actions{padding:18px 24px calc(18px + env(safe-area-inset-bottom,0px));gap:16px}.driver-absence-drawer .drawer-actions small{font-size:12px;line-height:1.6}.driver-absence-drawer .drawer-actions>.btn{min-width:100px;min-height:48px;font-size:14px}
 .driver-absence-notice{padding:12px;align-items:flex-start}.driver-absence-notice>span{line-height:1.5}.driver-absence-notice>.btn{flex-shrink:0}
 .driver-absence-drawer .drawer-actions.has-selection{padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px))}
 .driver-absence-bulk-summary{font-size:13px;margin-bottom:12px}.driver-absence-bulk-summary>button{min-height:32px;font-size:12px}
 .driver-absence-bulk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .driver-absence-bulk-actions.is-simple{display:flex;flex-wrap:nowrap}
 .driver-absence-bulk-actions.is-simple>.driver-absence-danger{flex:none;display:grid;place-items:center;width:46px;padding:0}
 .driver-absence-bulk-actions.is-simple>.driver-absence-danger>span{display:none}
 .driver-absence-bulk-actions.is-simple>.driver-absence-danger svg{display:block}
 .driver-absence-bulk-actions>.btn,.driver-absence-bulk-confirm .btn{min-height:46px;font-size:13px;padding:0 10px}
 .driver-absence-bulk-confirm p{font-size:13px;line-height:1.55}
 .driver-absence-bulk-confirm>div{flex-direction:column-reverse;align-items:stretch}
}
@media(max-width:360px){.driver-absence-drawer .drawer-head{padding:22px 20px 0;gap:12px}.driver-absence-drawer .drawer-head h2{font-size:22px}.driver-absence-drawer .drawer-body{padding-right:20px;padding-left:20px}.driver-absence-drawer .drawer-actions{padding-right:20px;padding-left:20px;gap:12px}.driver-absence-actions{gap:8px}.driver-absence-actions>button{padding:0 10px}}
@media(prefers-reduced-motion:reduce){.driver-absence-actions>button{transition:none}}
