.month-control,.actions{display:flex;align-items:center;gap:10px}.month-control button{font-size:24px;padding:0 8px}.month-control input{padding:8px;border:0;font-weight:700}.filters{align-items:center}.filters input{max-width:300px}#legend{font-size:10px;color:#7b8984;display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap}#legend i{font-style:normal;border-radius:4px;padding:4px 6px}.legend-work{background:#e6f1eb;color:#256950}.legend-off{background:#f0f1f2;color:#75807c}.legend-vac{background:#eaf0fc;color:#4b72b4}.legend-away{background:#fcf0da;color:#ad812d}.schedule{table-layout:fixed;min-width:1600px}.schedule th,.schedule td{padding:0;text-align:center;border-right:1px solid #edf0eb}.schedule th{height:53px;font-size:10px}.schedule th small{display:block;margin-top:4px;font-size:9px}.schedule th:first-child,.schedule td:first-child{width:200px;text-align:left;position:sticky;left:0;z-index:2;background:white;padding:15px 18px;border-right:1px solid #dce4de}.schedule th:first-child{background:#f9faf8;z-index:3}.schedule th:last-child,.schedule td:last-child{width:64px}.schedule td{height:68px}.schedule .weekend{background:#f7f8f5}.day-button{width:90%;min-height:48px;border-radius:5px;font-size:11px;line-height:1.5}.day-button:hover{outline:1px solid #85ac97}.day-button small{margin:2px 0;font-size:8px;letter-spacing:-.2px}.kind-work{background:#eaf4ee;color:#286c52}.kind-off{background:#f0f1ef;color:#87938b}.kind-vacation{background:#edf1fb;color:#5b7bb4}.kind-away{background:#fff1d9;color:#a47b30}.kind-empty{color:#c7cec8}.today-head{box-shadow:inset 0 3px #16745d;color:#16745d}.name-cell{display:flex;align-items:center;gap:10px}.initials{border-radius:9px;background:#edf1e6;color:#667c53;width:31px;height:34px;display:grid;place-items:center;font-size:10px}.summary{font-size:12px;color:#567a64}.notice{font-size:10px;line-height:1.6;color:#88968a;background:#f5f8f3;padding:12px;border-radius:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}dialog{max-height:90vh;overflow:auto;width:510px}#fields input,#fields select{width:100%}#fields label{margin-top:15px}.record-state{padding:5px 8px;background:#edf5ec;color:#4f815e;border-radius:5px;font-size:10px}.inactive{background:#f3eeee;color:#9a7373}.toolbar{flex-wrap:wrap;gap:12px}.schedule .name-cell small{font-size:9px}#note{max-width:850px}.day-button:focus-visible{outline:2px solid #16745d;outline-offset:1px}@media(max-width:1100px){#legend{margin-left:0;flex-wrap:wrap}.toolbar .secondary{font-size:10px}.actions{flex-wrap:wrap}}@media(max-width:760px){.filters input{max-width:none}#legend{font-size:9px;gap:4px}.month-control input{width:155px}.toolbar{padding:14px}.page-title .actions{width:100%}.page-title .primary{flex:1}.schedule th:first-child,.schedule td:first-child{width:160px;padding:12px}.name-cell{gap:6px}.initials{display:none}}@media print{aside,header,.page-title .actions,.toolbar .actions,.filters,.bottom-note,.login,#toast,.row-actions{display:none!important}main{margin:0}.content{padding:0}.stats{margin:10px 0}.stat{padding:10px}.workspace{border:0}#table{overflow:visible}.schedule{min-width:0;font-size:7px}.schedule th:first-child,.schedule td:first-child{position:static;width:110px;padding:5px}.schedule th:last-child,.schedule td:last-child{width:35px}.day-button{font-size:7px;min-height:20px;padding:0}.day-button small{font-size:5px}.initials{display:none}.schedule td{height:40px}.schedule th{font-size:7px}.name-cell small{font-size:7px!important}.table-footer{padding:5px}body{background:white;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A3 landscape;margin:8mm}}
.theme-toggle{border:1px solid var(--line);border-radius:7px;padding:9px 12px;font-size:11px;color:var(--ink);background:var(--bg);white-space:nowrap}.theme-toggle:hover{border-color:var(--green)}.login-theme{position:absolute;top:22px;right:25px;z-index:5}.login-panel{position:relative}header .theme-toggle{margin-right:12px}@media(max-width:760px){header .theme-toggle{font-size:10px;margin-right:5px;padding:8px}.login-theme{top:24px;right:20px}.theme-toggle{min-height:35px}}@media screen{html[data-theme=dark]{color-scheme:dark;--green:#68cba7;--dark:#102a23;--ink:#e0e9e4;--muted:#a2b2a9;--line:#30433a;--bg:#111c17}html[data-theme=dark] body{background:var(--bg)}html[data-theme=dark] :is(aside,header,.stat,.workspace,dialog){background:#1a2821;color:var(--ink)}html[data-theme=dark] :is(input,select,.password,.secondary){background:#132019;border-color:#3c5145;color:#e0e9e4}html[data-theme=dark] .primary{background:#2e8d6d;color:#fff}html[data-theme=dark] .primary:hover{background:#38a27e}html[data-theme=dark] :is(th,.schedule th:first-child){background:#202f26;color:#b3c3b9}html[data-theme=dark] :is(td,.schedule th,.schedule td){border-color:#2c3e33}html[data-theme=dark] .schedule td:first-child{background:#1a2821;border-color:#3c5145}html[data-theme=dark] .schedule .weekend{background:#15221b}html[data-theme=dark] :is(nav button.active,.tabs button.selected,.stat-icon,.initials,.profile>b,.avatar){background:#243f31;color:#91d8b3}html[data-theme=dark] :is(.side-card,.bottom-note,.notice){background:#203025;border-color:#354a39;color:#b6c5b9}html[data-theme=dark] :is(.kind-work,.legend-work,.record-state){background:#244635;color:#a2dfb9}html[data-theme=dark] :is(.kind-off,.legend-off){background:#303c35;color:#c0cbc3}html[data-theme=dark] :is(.kind-vacation,.legend-vac){background:#29394f;color:#b0ccf7}html[data-theme=dark] :is(.kind-away,.legend-away){background:#483d27;color:#ebce90}html[data-theme=dark] .kind-empty{color:#738b7a}html[data-theme=dark] .inactive{background:#48312e;color:#e1ada6}html[data-theme=dark] :is(.summary,.today-head){color:#94d6b1}html[data-theme=dark] .password input{background:transparent}html[data-theme=dark] :is(.table-footer,#legend,nav button,.stat-top,td small){color:#a7b7ac}html[data-theme=dark] :is(.brand-panel){background:#0d241c}html[data-theme=dark] .brand-panel h1{color:#eff6ef}html[data-theme=dark] :is(#formError,#loginError){color:#f0a7a0}html[data-theme=dark] dialog::backdrop{background:#0009}html[data-theme=dark] input::placeholder{color:#8fa296}html[data-theme=dark] #toast{background:#d9f0e1;color:#183425}}@media print{.theme-toggle{display:none!important}}
.schedule .week-start{border-left:2px solid #cbdad0}.schedule .week-groups th{height:29px;font-size:9px;letter-spacing:.4px;background:#eef3ed;border-bottom:1px solid #dce5dc;color:#6e8275}.schedule .week-groups th:first-child{background:#eef3ed}.week-groups span{font-size:8px;font-weight:400;opacity:.8;margin-left:7px}.schedule .week-groups th:not(:first-child){border-left:2px solid #cbdad0}#customHours[hidden]{display:none}@media screen{html[data-theme=dark] .schedule .week-start{border-left-color:#506958}html[data-theme=dark] .schedule .week-groups th{background:#263b2e;border-color:#506958;color:#bdcfc0}}@media print{.schedule .week-groups th{height:20px;font-size:7px}.week-groups span{font-size:6px;margin-left:3px}.schedule .week-start{border-left:2px solid #becfc3}}
.day-heading{display:block;width:100%;height:100%;padding:8px 0;color:inherit;border-radius:4px;font-weight:700}.day-heading:hover{background:#dcece0;color:#245e43}.day-heading:focus-visible{outline:2px solid var(--green);outline-offset:-3px}#dayModal{width:min(1180px,96vw);max-width:96vw;padding:28px}#dayTitle{margin-top:8px;text-transform:capitalize}.daily-controls{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:25px 0 18px}.daily-controls p{font-size:11px}.daily-controls input{padding:9px}.timeline-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:9px}.timeline-grid{min-width:900px}.timeline-axis,.timeline-row{display:grid;grid-template-columns:190px 1fr}.timeline-axis{background:#f2f6f0;height:48px;border-bottom:1px solid var(--line);font-size:10px}.timeline-axis>b{padding:18px}.timeline-ticks{position:relative;margin-right:24px;margin-left:0}.timeline-ticks span{position:absolute;top:18px;transform:translateX(-50%);font-size:9px;color:#7f9184}.timeline-ticks span:first-child{transform:none}.timeline-ticks span:last-child{transform:translateX(-100%)}.timeline-row{border-bottom:1px solid var(--line)}.timeline-row:last-child{border-bottom:0}.timeline-person{padding:16px 18px;border-right:1px solid var(--line)}.timeline-person>b{font-size:12px;display:block}.timeline-person small{display:block;color:var(--muted);font-size:10px;margin:4px 0}.timeline-person>span{font-size:9px;color:var(--green)}.timeline-track{position:relative;margin-right:24px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(8.333333% - 1px),#e1e9e0 calc(8.333333% - 1px),#e1e9e0 8.333333%);min-height:86px}.timeline-bar{position:absolute;top:17px;height:51px;background:#dceee1;color:#286044;border-left:3px solid #458f67;border-radius:6px;text-align:left;padding:8px 10px;overflow:hidden;white-space:nowrap}.timeline-bar b{font-size:10px;display:block}.timeline-bar small{font-size:9px;display:block;margin-top:4px}.timeline-bar:hover{box-shadow:0 0 0 2px #87b59a}.timeline-bar.carry{background:#e3ebf5;color:#4a6594;border-color:#6b8eb4}#dayAbsences h3{font-size:11px;margin-top:25px}.absence-chips{display:flex;flex-wrap:wrap;gap:8px}.absence-chips>span{font-size:10px;padding:8px 10px;border-radius:6px}.timeline-note{font-size:10px;margin:20px 0 0}.kind-empty{background:transparent}@media screen{html[data-theme=dark] .day-heading:hover{background:#2e4936;color:#bde3cb}html[data-theme=dark] .timeline-axis{background:#22382a}html[data-theme=dark] .timeline-track{background:repeating-linear-gradient(to right,transparent 0,transparent calc(8.333333% - 1px),#34493a calc(8.333333% - 1px),#34493a 8.333333%)}html[data-theme=dark] .timeline-bar{background:#294e37;color:#d1ebd8;border-color:#6cbb8a}html[data-theme=dark] .timeline-bar.carry{background:#2c3e55;color:#d3e2f6;border-color:#86a9d5}}@media(max-width:760px){#dayModal{padding:20px 15px}#dayTitle{font-size:18px}.daily-controls{align-items:flex-start;flex-direction:column;gap:5px;margin-top:18px}.daily-controls p{font-size:10px}}
.timeline-bar{cursor:grab;touch-action:none;user-select:none}.timeline-bar.dragging{cursor:grabbing;z-index:3;box-shadow:0 0 0 2px var(--green),0 6px 15px #0002;overflow:visible}.timeline-bar.dragging b{background:inherit;width:max-content;padding-right:6px;border-radius:3px}.timeline-bar:focus-visible{outline:2px solid var(--green);outline-offset:3px}#dayDragStatus{font-size:11px;color:var(--green);min-height:19px;margin:0 0 12px}
.danger-button{color:#a24a41;border-color:#dfc2bc}.danger-button:hover{background:#fcf0ed}@media screen{html[data-theme=dark] .danger-button{color:#efafa5;border-color:#765249}html[data-theme=dark] .danger-button:hover{background:#442e28}}
.timeline-break{position:absolute;top:17px;height:51px;border-block:1px dashed #b7aa81;background:repeating-linear-gradient(135deg,#f3eddd,#f3eddd 4px,#faf7ee 4px,#faf7ee 8px);display:flex;align-items:center;justify-content:center;text-align:center;font-size:8px;color:#8d774b;overflow:hidden;white-space:nowrap;pointer-events:none}.break-help{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:7px}.interval-edit{display:block;font-size:9px;padding:5px 0 0;color:var(--green);text-decoration:underline;text-underline-offset:3px}.timeline-row .timeline-track{min-height:103px}@media screen{html[data-theme=dark] .timeline-break{color:#dbc894;border-color:#8b7b50;background:repeating-linear-gradient(135deg,#3d3827,#3d3827 4px,#302d21 4px,#302d21 8px)}}
/* Compact labels stay inside their segment; the complete schedule remains below. */
.timeline-row .timeline-track{min-height:110px}.timeline-bar{top:18px;height:48px;padding:7px 5px;border-left-width:2px;border-radius:5px;container-type:inline-size;overflow:hidden}.timeline-bar b{font-size:9px;letter-spacing:-.2px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-bar small{font-size:8px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.timeline-bar.dragging{overflow:hidden;box-shadow:0 0 0 2px var(--green),0 4px 10px #0002}.timeline-bar.dragging b{width:auto;padding:0}.timeline-break{top:18px;height:48px;border:1px dashed #b7aa81;border-radius:3px;font-size:0;min-width:2px}.timeline-shift-summary{position:absolute;left:0;right:0;bottom:10px;display:flex;align-items:center;gap:7px;font-size:9px;line-height:1.5;white-space:nowrap;pointer-events:none;color:var(--muted)}.summary-work{color:var(--green)}.summary-break{color:#9c8045;background:#f5efdf;border-radius:4px;padding:2px 6px}.summary-separator{opacity:.45}.timeline-person{padding-top:17px}.timeline-axis{height:53px}.timeline-ticks span{font-variant-numeric:tabular-nums}.timeline-bar b,.timeline-shift-summary{font-variant-numeric:tabular-nums}@container(max-width:95px){.timeline-bar b{font-size:8px;letter-spacing:-.3px}.timeline-bar small{display:none}}@container(max-width:50px){.timeline-bar b{display:none}}@media screen{html[data-theme=dark] .summary-break{color:#dfcc99;background:#3d3728}html[data-theme=dark] .timeline-break{border-color:#9e8e61}}
.timeline-bar,.timeline-break{height:62px;top:14px}.timeline-bar{padding:7px 4px;text-align:center}.timeline-bar b,.timeline-bar.dragging b{display:grid;gap:3px;justify-content:center;font-size:12px;font-weight:700;letter-spacing:0;line-height:1.3;overflow:hidden;width:auto;padding:0}.timeline-bar b span{display:block;white-space:nowrap}.timeline-bar small{display:none}.timeline-row .timeline-track{min-height:121px}.timeline-shift-summary{bottom:10px}@container(max-width:95px){.timeline-bar b{display:grid;font-size:12px;letter-spacing:0}}@container(max-width:50px){.timeline-bar b{display:grid;font-size:11px}}@container(max-width:28px){.timeline-bar b{display:none}}
.timeline-row .timeline-track{min-height:80px}.timeline-person{padding:8px 14px}.timeline-person>b{font-size:11px}.timeline-person small{display:none}.timeline-person>span{display:block;font-size:9px;margin-top:4px}.interval-edit{padding-top:4px;font-size:8px}.timeline-bar,.timeline-break{top:8px;height:44px}.timeline-bar{padding:4px}.timeline-bar b,.timeline-bar.dragging b{gap:1px;line-height:1.25;font-size:12px}.timeline-shift-summary{bottom:5px;gap:5px;font-size:8px}.summary-break{padding:1px 4px}.timeline-axis{height:36px}.timeline-axis>b{padding:12px 14px}.timeline-ticks span{top:12px}.daily-controls{flex-wrap:wrap;gap:12px;margin:18px 0 12px}.daily-controls p{margin:0;flex-basis:100%;font-size:10px}#dayDragStatus{font-size:10px;min-height:15px;margin-bottom:8px}.timeline-note{font-size:9px;margin-top:12px}.daily-export{margin-left:auto}@media(max-width:760px){.daily-controls{flex-direction:row}.daily-export{margin-left:0}.daily-export button{padding:9px 12px;font-size:11px}}@media print{body.printing-day>*:not(#dayModal){display:none!important}body.printing-day #dayModal{display:block!important;position:static;width:100%;max-width:none;max-height:none;height:auto;margin:0;padding:0;border:0;overflow:visible;color:#20352f;background:white;box-shadow:none}body.printing-day #dayModal::backdrop{display:none}body.printing-day :is(#dayClose,.daily-controls,#dayDragStatus,.timeline-note,.interval-edit){display:none!important}body.printing-day #dayTitle{font-size:20px;margin:5px 0 18px}body.printing-day .timeline-scroll{overflow:visible}body.printing-day .timeline-grid{min-width:0}body.printing-day .timeline-axis,body.printing-day .timeline-row{grid-template-columns:145px 1fr}body.printing-day .timeline-row{break-inside:avoid}body.printing-day .timeline-row .timeline-track{min-height:70px}body.printing-day .timeline-track{margin-right:15px}body.printing-day .timeline-bar{color:#28573c;background:#dcebdd}body.printing-day .timeline-break{background:#f4ecd4}body.printing-day .timeline-person>b{font-size:10px}body.printing-day .timeline-person>span{font-size:8px}body.printing-day #dayAbsences h3{margin-top:15px}body.printing-day .absence-chips>span{font-size:9px;padding:4px 6px}}
