.day-modes{margin:18px 0}.day-modes [aria-pressed=true]{background:var(--active);color:#fff;border-color:var(--active)}button:disabled{opacity:.5;cursor:default}.timeline-scroll{overflow:auto;border:1px solid var(--border);border-radius:9px}.timeline-grid{min-width:1100px;padding-right:30px}.timeline-line{display:grid;grid-template-columns:190px minmax(850px,1fr);border-bottom:1px solid var(--border)}.timeline-line:last-child{border-bottom:0}.timeline-line>strong,.timeline-name{padding:14px;background:var(--surface);position:sticky;left:0;z-index:4;border-right:1px solid var(--border)}.timeline-name small{display:block;font-size:12px;margin-top:6px;color:var(--subtle)}.timeline-ruler{height:45px;position:relative}.timeline-ruler span{position:absolute;top:12px;transform:translateX(-50%);font-size:12px;color:var(--subtle)}.timeline-ruler span:first-child{transform:none}.timeline-lane{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--hour-width) - 1px),var(--border) calc(var(--hour-width) - 1px),var(--border) var(--hour-width));min-height:88px}.timeline-block{position:absolute;border:1px solid #7ba68e;border-radius:7px;background:#e4f3e9;height:61px;min-width:3px;display:flex;align-items:stretch;color:#183e40}.timeline-block.dept-1,.timeline-legend .dept-1{background:#e5edff;border-color:#7d9fd0}.timeline-block.dept-2,.timeline-legend .dept-2{background:#fff0d2;border-color:#b49b64}.timeline-center{padding:5px 11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;overflow:hidden;white-space:nowrap;border:0;background:transparent;color:inherit;cursor:grab;border-radius:6px;touch-action:none;font-size:11px}.timeline-center strong{font-size:13px}.timeline-center small{font-size:10px}.timeline-handle{position:absolute;top:0;bottom:0;width:9px;padding:0;border:0;background:currentColor;opacity:.22;cursor:ew-resize;touch-action:none;border-radius:4px}.timeline-handle.start{left:0}.timeline-handle.end{right:0}.timeline-handle:hover,.timeline-handle:focus-visible{opacity:.75}.timeline-dim{opacity:.4}.timeline-selected{outline:3px solid var(--guide-border);outline-offset:1px;z-index:2}.timeline-dragging{opacity:.3}.timeline-preview{position:absolute;top:8px;height:61px;border:2px dashed var(--guide-border);background:var(--guide);color:var(--ink);z-index:3;pointer-events:none;border-radius:6px;text-align:center;font-size:11px;overflow:hidden;padding:10px 2px}.timeline-gap{position:absolute;bottom:0;height:20px;font-size:10px;overflow:hidden;white-space:nowrap;background:var(--check-bg);color:var(--check-ink);text-align:center}.timeline-empty{display:block;padding:22px;font-size:13px;color:var(--subtle)}.timeline-editor{padding:18px;background:var(--guide);border:1px solid var(--guide-border);border-radius:9px;margin-top:18px}.timeline-editor h3{margin-top:0}.timeline-editor input[type=time]{width:110px}.timeline-feedback{min-height:24px;line-height:1.6;font-weight:600}.timeline-legend{margin:14px 0}.timeline-legend span{padding:5px 9px;border:1px solid #7ba68e;border-radius:5px;background:#e4f3e9;color:#183e40;font-size:12px}:root[data-theme=dark] .timeline-block{background:#223e34;border-color:#52856e;color:var(--ink)}:root[data-theme=dark] .timeline-block.dept-1{background:#293956;border-color:#5a79ac}:root[data-theme=dark] .timeline-block.dept-2{background:#423a28;border-color:#9d864e}@media print{.day-modes,#timeline,#timelineEditor,#timelineFeedback{display:none!important}}
.timeline-center:focus-visible{outline-offset:-3px}.timeline-handle:focus-visible{z-index:5}
:root[data-theme=dark] .timeline-legend span{background:#223e34;border-color:#52856e;color:var(--ink)}:root[data-theme=dark] .timeline-legend .dept-1{background:#293956;border-color:#5a79ac}:root[data-theme=dark] .timeline-legend .dept-2{background:#423a28;border-color:#9d864e}
.timeline-name .timeline-person{display:block;border:0;background:transparent;color:var(--ink);padding:0;text-align:left;font-weight:650;font-size:inherit;line-height:1.4;width:100%;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.timeline-name:has(.timeline-person[aria-expanded=true]){background:var(--guide)}
.timeline-name .timeline-person-copy{margin-top:10px;padding:7px 9px;font-size:12px;line-height:1.4;text-align:left;background:var(--active);border-color:var(--active);color:#fff;width:100%}

#day{--timeline-warning:#b91c1c}:root[data-theme=dark] #day{--timeline-warning:#ff9292}.timeline-name small.timeline-warning,.timeline-warning,.timeline-gap{color:var(--timeline-warning);font-weight:700}

.timeline-balances{position:sticky;top:0;z-index:5;padding:8px 0;background:var(--surface)}
.timeline-balances h3{margin:0 0 6px;font-size:14px}
.timeline-balance-cards{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.timeline-balance-card{display:grid;gap:2px;flex:none;padding:5px 9px;border:1px solid var(--border);border-radius:6px;font-size:12px}
.timeline-balance-card small{font-size:inherit}
#day{--timeline-ok:#167242}
:root[data-theme=dark] #day{--timeline-ok:#83dda2}
.timeline-ok{color:var(--timeline-ok);font-weight:700}
.timeline-name:has(.timeline-day-dot){padding-left:37px}
.timeline-signal{display:inline-block;width:18px;height:18px;flex:none;border:1px solid #0004;border-radius:50%}
.timeline-day-dot{position:absolute;top:15px;left:10px}
.timeline-day-error{background:#fa7777}
.timeline-day-ok{background:#91e394}

.timeline-balance-heading{display:flex;align-items:center;gap:6px}
.timeline-balance-card{background:#fff2b8;border-color:#dbc275;color:#453600}
:root[data-theme=dark] .timeline-balance-card{background:#584715;border-color:#b99c4c;color:#fff2b8}

.timeline-day-neutral{background:#c8c8c8}

#timeline :is(.timeline-department-tile,.timeline-block[style*="--dept-hue"]){
  background:hsl(var(--dept-hue) 74% 89%);
  border-color:hsl(var(--dept-hue) 43% 51%);
  color:#202733;
}
:root[data-theme=dark] #timeline :is(.timeline-department-tile,.timeline-block[style*="--dept-hue"]){
  background:hsl(var(--dept-hue) 36% 27%);
  border-color:hsl(var(--dept-hue) 55% 62%);
  color:#fff;
}
.timeline-department-tile{cursor:grab}
.timeline-drop-ready{outline:2px solid var(--active);outline-offset:-2px}

.timeline-legend{position:sticky;bottom:0;z-index:6;background:var(--surface);padding:8px;border:1px solid var(--border);border-radius:8px;max-height:24vh;overflow:auto}
.timeline-legend.timeline-remove-target{outline:2px solid var(--timeline-warning);outline-offset:-2px}

.timeline-absence-block{position:absolute;inset:8px;display:grid;place-items:center;border:1px solid #888;border-radius:7px;background:#dedfe2cc;color:#282c34;font-weight:700}
:root[data-theme=dark] .timeline-absence-block{background:#484b53cc;color:#fff}

.timeline-shift-line{position:absolute;top:0;bottom:0;border-left:2px solid var(--subtle);pointer-events:none}

.timeline-previous-caption{font-weight:650}
.timeline-reference-label{position:sticky;left:0;z-index:4;background:var(--surface);padding:5px 12px;color:var(--subtle);font-size:12px;border-right:1px solid var(--border);border-bottom:1px dashed var(--border)}
.timeline-reference-lane{position:relative;background:var(--guide);border-bottom:1px dashed var(--border);font-size:11px}
.timeline-reference-lane>small{display:inline-block;padding:5px 8px;color:var(--subtle)}
.timeline-reference-block{position:absolute;height:22px;padding:2px 4px;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:hsl(var(--dept-hue,210) 36% 88%);border:1px solid hsl(var(--dept-hue,210) 22% 68%);color:#242a33}
:root[data-theme=dark] .timeline-reference-block{background:hsl(var(--dept-hue,210) 22% 32%);border-color:hsl(var(--dept-hue,210) 25% 54%);color:#fff}

#day #date{border:3px solid #91e394}
#dayAuditPanel{margin-block:14px}
#dayAuditPanel:not([open])>summary{padding:8px 12px;border-radius:6px;background:#fff2b8;color:#453600;cursor:pointer}
:root[data-theme=dark] #dayAuditPanel:not([open])>summary{background:#584715;color:#fff2b8}

#approvalPanel>h2{color:#b91c1c}
:root[data-theme=dark] #approvalPanel>h2{color:#ff8585}

.timeline-zoom{margin:10px 0}
.timeline-zoom [aria-pressed=true]{background:var(--active);color:#fff;border-color:var(--active)}
.timeline-grid-zoomed{width:calc(200% - 220px);min-width:1980px}
.timeline-handle{width:min(15px,42%)}

.timeline-balances{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:8px}
.timeline-balances-list{min-width:0}
.timeline-drag-readout{display:grid;align-content:center;gap:2px;padding:5px 10px;border:1px solid var(--guide-border);border-radius:7px;background:var(--guide)}
.timeline-drag-readout span,.timeline-drag-readout small{font-size:12px}
.timeline-drag-readout strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
@media(max-width:600px){.timeline-balances{grid-template-columns:minmax(0,1fr) 114px}.timeline-drag-readout{padding-inline:6px}.timeline-drag-readout small{font-size:10px}}
