:root{--ink:#233f3c;--muted:#70837f;--line:#e1e8e4;--paper:#f5f7f3;--accent:#256e5d;--soft:#e7eee4;--white:#fff;--shadow:0 8px 30px #17382d08;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:9px 13px;transition:background .15s}button:hover{background:#eef4ee}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #84bba5;outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:600}button.primary:hover{background:#1c5648}button:disabled{opacity:.5;cursor:default}input,select{padding:10px;border:1px solid #cbd8d1;border-radius:7px;background:white;color:var(--ink);min-width:0}.sidebar{width:218px;position:fixed;inset:0 auto 0 0;background:#fdfefb;border-right:1px solid var(--line);padding:33px 20px;display:flex;flex-direction:column}.brand{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.practice-logo{display:block;width:100%;height:auto}.brand span:not(.brand-icon){display:block;letter-spacing:0;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.brand-icon{border-radius:10px;background:var(--accent);color:white;padding:9px 13px;font:700 22px Georgia}.sidebar nav{margin-top:48px;display:grid;gap:8px}.sidebar nav button{border:0;background:none;text-align:left;display:flex;align-items:center;gap:12px;font-size:17px;padding:12px}.sidebar nav button span{font-size:14px}.sidebar nav button.active{background:var(--soft);color:#205844;font-weight:650}.sidebar nav b{margin-left:auto;background:#fff1d8;color:#8a5c13;border-radius:20px;padding:2px 6px;font-size:11px}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted)}.sidebar-bottom small{display:block;line-height:1.9;margin:12px 0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5a9675;margin-right:6px}.text-button{border:0;background:none;padding:8px 0;font-size:11px}main{margin-left:218px;padding:38px 36px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700}h1{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:9px 0}h2{font-size:18px;font-weight:600;margin:0}h3{font-size:15px;margin:0}p{margin:6px 0;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.week-nav,.toolbar-actions{display:flex;align-items:center;gap:9px}.week-nav h2{margin-left:8px}.badge{background:#e2eee5;border:1px solid #cbded0;border-radius:5px;color:#37624a;font-size:11px;font-weight:700;padding:5px 8px;white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 20px;box-shadow:var(--shadow)}.metric span{color:var(--muted);font-size:12px}.metric strong{display:block;font-size:27px;font-weight:500;margin:7px 0 2px}.metric small{font-size:11px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 14px}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:11px;margin:15px 0}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px}.week-grid{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:12px}.day-card{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow)}.day-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-heading{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px;background:#fcfdfa}.day-heading strong{font-size:20px;font-weight:500}.day-heading span{font-size:12px;color:var(--muted)}.day-card .doctor{padding:12px 11px 5px;border-bottom:1px solid #f0f3ef;min-height:73px}.doctor-name{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin-bottom:8px}.doctor-name small{color:var(--muted);font-weight:400}.mini-block{display:block;text-align:left;border:0;border-left:3px solid #0002;border-radius:4px;padding:5px 6px;font-size:10px;width:100%;margin:4px 0;line-height:1.35}.mini-block span{display:block;font-size:10px;opacity:.75}.free{font-size:11px;color:#a2ada6;padding:9px 0}.day-foot{padding:10px 11px;font-size:10px;display:flex;justify-content:space-between;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.panel-header{padding:18px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.panel-header .actions{display:flex;flex-wrap:wrap;gap:6px}.panel-header button{font-size:12px;padding:7px 9px}.timeline-scroll{overflow:auto;max-height:760px}.timeline{min-width:1050px}.time-row,.timeline-row{display:grid;grid-template-columns:150px 1fr;min-height:39px}.time-row{height:31px;position:sticky;top:0;background:white;z-index:4;border-bottom:1px solid var(--line)}.row-label{font-size:12px;padding:10px 13px;border-bottom:1px solid #edf1ed;position:sticky;left:0;background:white;z-index:2}.row-label small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.track{position:relative;border-bottom:1px solid #edf1ed;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 44 - 1px),#edf1ed calc(100% / 44 - 1px),#edf1ed calc(100% / 44));min-height:41px}.time-tick{position:absolute;top:8px;transform:translateX(-50%);font-size:9px;color:var(--muted)}.time-tick:first-child{transform:none}.bar{position:absolute;top:6px;height:29px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:5px 4px;font-size:10px;border:1px solid #0001;text-align:left;z-index:1;min-width:4px}.bar:hover{filter:brightness(.96);z-index:3}.bar.absent,.mini-block.absent{outline:2px solid #c94545;background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,#df313133 6px,#df313133 10px);color:#851515;font-weight:700}.shift-bg{position:absolute;top:2px;bottom:2px;background:#eef2ed;border-radius:4px}.closed-band{position:absolute;inset:0 auto;background:repeating-linear-gradient(135deg,#d5ddd433,#d5ddd433 4px,#83948133 4px,#83948133 5px)}.note{padding:13px 17px;background:#f2f6ee;color:#5c705c;font-size:12px;line-height:1.6}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f8faf6;color:var(--muted);font-size:11px;padding:13px 16px;font-weight:600}td{padding:14px 16px;border-top:1px solid var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.name-cell strong{display:block;margin-bottom:3px}.name-cell small{color:var(--muted)}.over{color:#b14a38;font-weight:600}.checks{padding:0 18px}.check{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}.check-icon{background:#fff0d5;color:#966819;width:25px;height:25px;display:grid;place-items:center;border-radius:7px;flex-shrink:0}.check.error-item .check-icon{background:#fee6e3;color:#b84136}.check strong{font-size:12px}.check p{font-size:11px;margin-top:5px}.check button{margin-left:auto;white-space:nowrap;font-size:11px}.empty{padding:40px;text-align:center;color:var(--muted)}.absence-list{padding:16px}.absence-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 3px}.absence-item strong{font-size:13px}.absence-item p{font-size:12px}.danger{color:#aa3d34}.error{background:#fff0ed;color:#a33b2f;padding:13px;border:1px solid #efc4bc;border-radius:7px;margin:10px 0;line-height:1.5}dialog{border:1px solid var(--line);border-radius:16px;padding:26px;width:530px;max-width:95vw;box-shadow:0 20px 80px #13372f35;color:var(--ink)}dialog::backdrop{background:#193f3850;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.dialog-head h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin-top:7px}.dialog-head button{border:0;font-size:22px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:12px;font-weight:600}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;margin-top:20px}.dialog-actions>div{display:flex;gap:8px}footer{color:var(--muted);font-size:10px;line-height:1.7;margin-top:24px}#toast{position:fixed;bottom:25px;right:30px;background:var(--ink);color:white;padding:12px 18px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}#toast.show{opacity:1}@media(max-width:1050px){.sidebar{width:175px;padding:25px 12px}main{margin-left:175px;padding:25px 20px}.week-grid{gap:7px}.toolbar{flex-wrap:wrap}.week-nav h2{font-size:16px}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:15px}.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin:0;gap:3px}.sidebar nav button{padding:9px;font-size:13px}.sidebar nav button span{font-size:11px}main{margin:0;padding:20px 14px}h1{font-size:30px}.summary{grid-template-columns:1fr 1fr}.week-grid{display:flex;overflow:auto}.day-card{min-width:200px}.panel-header{flex-direction:column;align-items:flex-start}.toolbar-actions input{max-width:140px}.week-nav{flex-wrap:wrap}header{gap:10px}}@media print{.sidebar,.toolbar-actions,header>button,.actions,.dialog-actions,footer,#toast{display:none!important}main{margin:0;padding:5px}.week-grid{gap:5px}.summary{gap:5px}.metric{padding:8px}button{color:black}.timeline-scroll{overflow:visible;max-height:none}.timeline{min-width:0}.panel{break-inside:avoid}.bar,.mini-block{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:white}header{margin-bottom:10px}.check button{display:none}}

.absence-boundary{border:1px solid var(--line);border-radius:9px;padding:15px 12px;margin:0;min-width:0}.absence-boundary legend{font-weight:650;padding:0 5px}.all-day-toggle{display:flex;align-items:center;gap:8px;font-size:13px;margin:5px 0 16px;cursor:pointer}.all-day-toggle input{accent-color:var(--accent);width:17px;height:17px}.absence-help{font-size:12px;line-height:1.6;margin-top:15px}.absence-boundary input[type=date]{width:100%}

[hidden]{display:none!important}.login-panel{display:none;width:min(460px,calc(100% - 36px));margin:8vh auto;background:#fff;border:1px solid #ddd;border-radius:18px;padding:32px}.auth-pending .login-panel{display:block}.auth-pending>.sidebar,.auth-pending>main{display:none}.auth-pending{display:block!important}.login-panel h1{margin:18px 0}.login-panel .primary{width:100%}.login-panel .note{padding:16px 0 0}.sidebar-bottom #currentUser{display:block;margin-bottom:12px}.sidebar-bottom button{display:block;margin:8px 0}#accountDialog{width:min(600px,90vw)}#accountDialog input:not([type=checkbox]),#accountDialog select,.invite-link{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px}.invite-link{word-break:break-all}.read-only [data-edit]{cursor:default}.read-only .mini-block:disabled{color:inherit}.read-only #summary .metric:last-child{display:none}@media print{#loginPanel,#accountDialog{display:none!important}}

.release-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff3d9;border:1px solid #e3d4ae;border-radius:12px;padding:18px 22px;margin-bottom:20px}.release-banner p{margin:5px 0}.release-banner.published{background:#e7f1eb;border-color:#b9d6c5}.release-banner.submitted{background:#e9eff9;border-color:#c3d0e6}.release-card{padding:24px;border-bottom:1px solid #e1e5df}.release-weeks{display:flex;gap:8px;flex-wrap:wrap}.release-card .actions{margin:18px 0}.release-card details{margin:15px 0}.release-card summary{cursor:pointer}.release-card .section-title{margin-top:0}@media(max-width:650px){.release-banner{align-items:flex-start;flex-direction:column}}

.day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.day-tabs button{text-align:left}.day-tabs small{display:block;font-size:11px;margin-top:7px;color:var(--muted)}.day-tabs .selected{border-color:var(--accent);background:#e7eee4}.timeline{min-width:1250px}.time-row,.timeline-row{grid-template-columns:215px 1fr}.track{background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--slots) - 1px),#dbe3df calc(100% / var(--slots) - 1px),#dbe3df calc(100% / var(--slots)))}.time-row .track{background:white}.time-tick:last-child{transform:translateX(-100%)}.row-label strong{display:block;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doctor-row{border-top:2px solid #9eb4a9}.doctor-row .row-label{background:#eaf0eb}.assistant-row .row-label{padding-left:23px}.bar{min-width:0;padding:4px 2px;border-radius:2px}.timeline-scroll{max-height:850px}.shift-bg{background:#e6ece670}.closed-band{z-index:0}.read-only .bar:disabled{color:var(--ink)}@media(max-width:760px){.day-tabs{display:flex;overflow:auto}.day-tabs button{min-width:155px}}

.track{background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--half-hours) - 1px),#aabcb3 calc(100% / var(--half-hours) - 1px),#aabcb3 calc(100% / var(--half-hours))),repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--slots) - 1px),#e1e7e3 calc(100% / var(--slots) - 1px),#e1e7e3 calc(100% / var(--slots)))}.time-row .track{background:white}

.sidebar nav{margin-top:20px;gap:2px;overflow-y:auto;min-height:0}.sidebar nav button{padding:8px}.sidebar-bottom{padding-top:12px}.settings-form{padding:20px}.settings-form input,.settings-form select{width:100%}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}.skill-grid strong{font-size:12px;display:block;margin-bottom:6px}.skill-grid select{width:100%;font-size:12px}.preset-check{display:block;margin:6px 0}.day-tools{margin-top:20px}.day-tools textarea{display:block;width:100%;border:1px solid #bdcec3;border-radius:7px;padding:12px;margin:8px 0}.coverage-table{white-space:nowrap}.coverage-table td,.coverage-table th{padding:8px;text-align:center}.coverage-table th:first-child{position:sticky;left:0;z-index:1;background:#f2f6ee;text-align:left}.coverage-short{background:#fde1dd;color:#a03229;font-weight:700}.preview-scroll{max-height:320px;overflow:auto}.base-tabs{grid-template-columns:repeat(5,1fr)}.check-range,.quick-exports{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.check-range label{display:flex;gap:6px;align-items:center}#accountDialog{max-height:92vh;overflow:auto;width:min(780px,94vw)}#saveTemplate{display:none!important}.baseedit .toolbar{display:none}@media(max-width:760px){.skill-grid{grid-template-columns:1fr 1fr}.sidebar nav{flex-wrap:wrap;max-height:210px}}

@media print{.internal-note,.quick-exports,#checkRange{display:none!important}}

.today-label{color:var(--muted);margin:0 0 14px}.timeline-group{background:#dce8df;border-top:3px solid #6d8c79;padding:10px 16px;position:sticky;left:0}.timeline-group h4{margin:0;font-size:14px}.absence-section{margin-top:20px}.absence-section .absence-list{padding:8px 20px}.no-duty{background:#f3f5f2;padding:16px 20px;border-top:1px solid #dce3dc}.no-duty h4{margin:0 0 8px}.no-duty p{margin:0}.check-metric{text-align:left;cursor:pointer;max-width:340px}#summary:has(.check-metric){grid-template-columns:minmax(220px,340px)}@media print{.day-tabs,.section-title,.toolbar-actions,.panel-header .actions,.internal-note,.legend,#releaseBanner,footer{display:none!important}.timeline-scroll{overflow:visible;max-height:none}.timeline{min-width:0}.timeline-group{position:static;break-after:avoid}.timeline-row{break-inside:avoid}.time-row,.timeline-row{grid-template-columns:165px 1fr}.bar{font-size:7px}.absence-section{break-inside:avoid}}@page{size:A4 landscape;margin:10mm}

.post-scroll{overflow:auto}.post-matrix{min-width:1150px}.post-row{height:40px;min-height:40px}.post-row .track{height:40px}.post-row .row-label{display:flex;flex-direction:column;justify-content:center}.post-cell{position:absolute;top:4px;height:32px;border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:700;padding:0 2px;min-width:0;border:1px solid #c4d6cc}.post-cell.occupied,.post-legend .occupied{background:#d8e9df;color:#244b3d}.post-cell.vacant,.post-legend .vacant{background:repeating-linear-gradient(135deg,#f6f3f0 0,#f6f3f0 5px,#e9e4de 5px,#e9e4de 6px);color:#7e7469;font-weight:400;font-size:10px;border-color:#e0d9d0}.post-cell.provisional,.post-legend .provisional{background:#fff0c6}.post-cell:disabled{opacity:1;color:#244b3d;cursor:default}.post-legend{display:flex;gap:18px;flex-wrap:wrap}.post-legend span{display:flex;align-items:center;gap:6px}.post-legend i{width:14px;height:14px;display:inline-block;border:1px solid #d1dbd4}.post-legend p{flex-basis:100%;margin:0}.my-shift{padding:22px;display:flex;gap:24px;align-items:center}.my-shift strong{font-size:23px}.my-break{background:#f7eaf3}.my-absence{padding:16px 22px;background:#fff4e0}@media print{.post-scroll{overflow:visible}.post-matrix{min-width:0}.post-row{height:28px;min-height:28px}.post-row .track{height:28px}.post-cell{height:22px;top:3px;font-size:9px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.post-row .row-label strong{font-size:9px}.post-panel{break-inside:auto}.timeline-group{break-after:avoid}.post-row{break-inside:avoid}}


.post-cell.post-conflict{background:#f5d5d0;color:#8e3029;border-color:#d78c81}

.post-cell.treatment{font-size:10px;display:block;text-align:center;text-overflow:ellipsis;line-height:30px}.post-cell.treatment:disabled{color:var(--ink)}.post-legend .treatment-key{font-size:10px}@media print{.post-cell.treatment{line-height:20px;font-size:7px}}

.section-title .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.section-title .actions button{font-size:12px;padding:7px 9px}

.empty-posts{border-bottom:1px solid var(--line);background:#faf9f6}.empty-posts>summary{cursor:pointer;padding:12px 16px;font-size:12px;color:#706b60;position:sticky;left:0;width:fit-content;max-width:100%;user-select:none}.empty-posts>summary::marker{font-size:11px;color:var(--ink)}.empty-posts>summary:focus-visible{outline:3px solid #84bba5;outline-offset:-3px}.empty-posts[open]>summary{border-bottom:1px solid var(--line)}

#summary:has(.check-metric){grid-template-columns:minmax(220px,340px) max-content;align-items:center}#summary #addAbsence{justify-self:start}@media(max-width:480px){#summary:has(.check-metric){grid-template-columns:1fr}}@media print{#summary #addAbsence{display:none!important}}

.day-tabs + #dayTools{margin-top:0;margin-bottom:20px}

.personal-timeline-scroll{overflow:auto}.personal-timeline{min-width:1100px}.personal-timeline .track{background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--half-hours) - 1px),#edf1ed calc(100% / var(--half-hours) - 1px),#edf1ed calc(100% / var(--half-hours)))}.personal-bar{position:absolute;height:36px;overflow:hidden;border:1px solid #0002;border-radius:4px;padding:3px 5px;color:#233f3c;font-size:11px;white-space:nowrap}.personal-bar strong,.personal-bar small{display:block;overflow:hidden;text-overflow:ellipsis}.personal-bar small{font-size:9px;margin-top:2px}.personal-bar:focus-visible{outline:3px solid #256e5d;z-index:2}.personal-legend{padding:16px;display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:12px}.personal-legend span{display:flex;align-items:center;gap:6px}.personal-legend i{display:inline-block;width:12px;height:12px;border:1px solid #0002;border-radius:2px}@media print{.personal-timeline-scroll{overflow:visible}.personal-timeline{min-width:0}.personal-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.absence-actions{display:flex;gap:8px;flex-shrink:0}.absence-item{gap:16px}@media(max-width:600px){.absence-item{flex-wrap:wrap}.absence-actions{width:100%;justify-content:flex-end}}

.sidebar nav{display:flex;flex-direction:column;gap:18px}.nav-group{display:grid;gap:2px}.nav-group h2{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:1px;margin:5px 12px 7px}.nav-group + .nav-group{border-top:1px solid var(--line);padding-top:10px}.nav-group[hidden]{display:none!important}@media(max-width:760px){.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:12px}.nav-group{display:flex;flex-wrap:wrap;align-items:center}.nav-group h2{flex-basis:100%;margin:0 9px 3px}.nav-group + .nav-group{border-top:0;border-left:1px solid var(--line);padding:0 0 0 8px}}

.absent-filter{display:flex;align-items:center;gap:7px;font-size:12px;padding:6px 9px;cursor:pointer}.absent-filter input{margin:0;accent-color:var(--accent)}.post-cell.absent-assignment,.post-cell.absent-assignment:disabled{color:#b42318;font-weight:750}.post-cell.absent-assignment{border-color:#c95a50}@media print{.absent-filter{display:none}}

.post-cell.absent-assignment,.post-cell.absent-assignment:disabled{background-color:#f8ceca!important;border-color:#c43e32;color:#a51f16}

#summary:has(.check-metric){grid-template-columns:repeat(2,minmax(210px,300px)) max-content;align-items:center}.check-metric{height:100%}@media(max-width:1050px){#summary:has(.check-metric){grid-template-columns:repeat(2,minmax(0,1fr))}#summary #addAbsence{grid-column:1/-1}}@media(max-width:480px){#summary:has(.check-metric){grid-template-columns:1fr}}

#baseArchive{margin:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden}#baseArchive>summary{padding:15px 18px;cursor:pointer;font-weight:600;background:#f4f7f4}#baseArchive[open]>summary{border-bottom:1px solid var(--line)}

.template-archive{margin:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.template-archive>summary{padding:15px 18px;cursor:pointer;font-weight:600;background:#f4f7f4}.template-archive[open]>summary{border-bottom:1px solid var(--line)}

.opening-fields{display:grid;grid-template-columns:140px 140px minmax(270px,1fr);gap:20px;align-items:start}.opening-fields label{display:flex;flex-direction:column;gap:5px}.opening-fields .opening-pause-check{flex-direction:row;align-items:center;margin:4px 0 8px}.opening-pause-times{display:flex;gap:12px}.opening-pause-times[hidden]{display:none}.opening-week th{width:150px;font-size:14px}.rules-fields{padding:18px}.day-opening{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.rules-body{margin-top:20px}@media(max-width:760px){.opening-fields{grid-template-columns:1fr 1fr}.opening-fields>div{grid-column:1/-1}.day-opening{flex-wrap:wrap}}

.opening-fields .opening-pause-check input{width:16px;min-width:16px;flex:0 0 16px;margin:0}.opening-fields .opening-pause-check{justify-content:flex-start}

.skill-grid>[data-staff-skill][hidden],.preset-check[hidden]{display:none!important}

.minimum-staffing{display:grid;gap:14px;margin:18px 0 24px;max-width:800px}.minimum-staffing-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.minimum-staffing-row>.field{margin-bottom:0}

.opening-record{padding:14px 18px;border-top:1px solid var(--line)}.opening-record-heading,.opening-record-details>summary{display:grid;grid-template-columns:minmax(200px,1fr) 130px minmax(400px,auto);gap:12px;align-items:center}.opening-record-heading{padding:14px 18px;font-size:12px;color:var(--muted)}.opening-record-details>summary{cursor:pointer;list-style:none}.opening-record-details>summary::-webkit-details-marker{display:none}.opening-record-name{font-weight:600}.opening-record-name:before{content:'▸ ';}.opening-record-details[open] .opening-record-name:before{content:'▾ ';}.opening-record-actions{display:flex;gap:6px;flex-wrap:wrap}.opening-record-form{padding-top:18px}.opening-record-form>button{margin-top:12px}.opening-record-actions button{font-size:12px}@media(max-width:1100px){.opening-record-heading,.opening-record-details>summary{grid-template-columns:minmax(150px,1fr) 110px}.opening-record-actions{grid-column:1/-1}.opening-record-heading>strong:last-child{display:none}}

.closure-settings{margin-bottom:20px}.closure-settings-body{padding:18px}.closure-settings-body>.field{max-width:420px}.closure-settings-body>h3{margin-top:24px}.closure-settings-body>.table-wrap{margin-top:12px}

#treatmentSets .room-options,#treatmentRoomFields .room-options,#accountFields .room-options{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0} .room-options label{display:flex;align-items:center;gap:6px;font-size:13px}.room-options input[type=checkbox],.room-options input[type=radio]{width:auto} #treatmentSets table input[type=color]{width:64px;min-height:38px;padding:3px} #treatmentSets table th{white-space:nowrap} #treatmentSets table td{vertical-align:top} #treatmentSets table td:first-child{min-width:200px} #treatmentSets table td:last-child{min-width:300px} #treatmentSets input[type=checkbox]{width:auto} #treatmentSets .actions{margin-top:12px}

.settings-accordion{display:grid;gap:16px;width:100%}.settings-section{width:100%;margin:0}.settings-section>summary{display:flex;align-items:center;gap:12px;padding:18px;cursor:pointer;list-style:none}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary::before{content:"▸";font-size:14px;color:var(--accent)}.settings-section[open]>summary::before{content:"▾"}.settings-section[open]>summary{border-bottom:1px solid var(--line)}.settings-section>summary:focus-visible{outline:3px solid #84bba5;outline-offset:-3px}.settings-section-body>.panel{border:0;border-radius:0;box-shadow:none;margin:0}.settings-section-actions{justify-content:flex-end;border-bottom:0}.settings-accordion #rulesForm{padding:0;margin:0}.settings-accordion .rules-body{margin:0}.settings-accordion .rules-fields{padding:18px}

#meetingSettings [data-meeting-record]>details>summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:center;cursor:pointer;padding:8px 0;list-style:none}#meetingSettings [data-meeting-record]>details>summary::-webkit-details-marker{display:none}#meetingSettings [data-meeting-record]>details[open] .opening-record-name::before{content:"▾ "}.meeting-overview{font-size:12px;color:var(--muted)}#meetingSettings fieldset{border:0;margin:0;padding:18px 0}#meetingSettings .field-row{display:flex;gap:16px;margin-bottom:16px}#meetingSettings .field-row>.field{flex:1}#meetingSettings input:not([type=checkbox]),#meetingSettings select,#meetingSettings textarea,.meeting-dates textarea{width:100%}#meetingSettings textarea,#accountFields textarea{font:inherit;padding:10px;border:1px solid #cbd8d1;border-radius:7px;color:var(--ink)}#meetingSettings .room-options{display:flex;flex-wrap:wrap;gap:10px 20px;margin:14px 0}#meetingSettings input[type=checkbox]{width:auto}#meetingSettings input[type=color]{max-width:90px}#meetingSettings .field{margin-bottom:14px}.meeting-end{display:block;padding:10px 0}.meeting-weekdays>label{font-size:12px;color:var(--muted)}@media(max-width:1100px){#meetingSettings [data-meeting-record]>details>summary{grid-template-columns:1fr}#meetingSettings .field-row{flex-wrap:wrap}#meetingSettings .field-row>.field{min-width:180px}}

.issue-review-panel{margin:16px 0;border:1px solid #77a596}.issue-review-body{padding:20px}.issue-review-body>.actions{flex-wrap:wrap}.issue-suggestion-group{border-top:1px solid #dfe6df;margin-top:14px;padding:12px 0}.issue-suggestion-group>summary{cursor:pointer;font-weight:600}.issue-suggestion{background:#f5f8f3;border:1px solid #dfe6df;border-radius:10px;padding:16px;margin-top:12px}.issue-suggestion p{margin:8px 0}.availability-confirmation{display:block;margin:12px 0}.review-accepted{background:#f0f6ef}.review-accepted .check-icon{color:#386951}

#staffScoring{padding:0 20px 20px}.scoring-legend{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.scoring-legend span{font-size:12px;border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:#f6faf7}.scoring-person{border-top:1px solid var(--line)}.scoring-person>summary{cursor:pointer;display:grid;grid-template-columns:minmax(200px,1fr) 150px 130px;gap:12px;padding:18px 0;align-items:center;list-style:none}.scoring-person>summary strong::before{content:"▸ ";color:var(--muted)}.scoring-person[open]>summary strong::before{content:"▾ "}.scoring-person>summary span{font-size:12px;color:var(--muted)}.scoring-person form{padding:0 0 20px}.scoring-person h4{font-size:13px;margin:18px 0 10px}.scoring-fields{max-width:850px}.scoring-field{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,320px);gap:20px;padding:8px 0;align-items:center;font-size:13px;border-bottom:1px solid #edf0ed}.scoring-field select{width:100%}.scoring-note{margin-top:20px;max-width:850px}.scoring-note textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:7px;resize:vertical}.scoring-save{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:850px}.scoring-save small{color:var(--muted)}@media(max-width:800px){.scoring-person>summary{grid-template-columns:1fr}.scoring-field{grid-template-columns:1fr;gap:6px}.scoring-save{align-items:flex-start;flex-direction:column}}
.staff-score-toggle{display:inline-flex;gap:7px;align-items:center;border:0;background:transparent;padding:6px 0;text-align:left;color:var(--ink)}.staff-score-toggle:hover{color:#347869}.staff-score-toggle [data-scoring-arrow]{font-size:12px;color:var(--muted)}.staff-scoring-row>td{padding:0 20px 20px;background:#fafcf9}.staff-scoring-row[hidden]{display:none}.staff-scoring-row .scoring-person{border:0}.scoring-profile-header{display:flex;align-items:center;justify-content:space-between;max-width:850px;margin:18px 0 10px}.scoring-profile-header span{font-size:12px;color:var(--muted)}.staff-scoring-row form{padding-bottom:0}

.emergency-panel>.note{padding:0 16px}.emergency-grid{min-width:1000px;width:100%}.emergency-grid th:first-child{min-width:180px}.emergency-grid td{min-width:160px;vertical-align:top}.emergency-grid td strong{display:block;font-weight:500;margin-bottom:8px}.emergency-grid td button{display:block;margin-top:8px}.emergency-grid thead .actions{margin-top:10px;flex-wrap:wrap}.emergency-panel .panel-header label{display:flex;gap:8px;align-items:center}

.finding-group{padding:16px 0}.finding-group+.finding-group{border-top:2px solid var(--line);margin-top:12px}.finding-group>h3{display:flex;align-items:center;gap:10px;margin-bottom:10px}.finding-error>h3{color:#a33b2f}.finding-error>h3 .badge{background:#fee6e3;border-color:#efc4bc;color:#a33b2f}.finding-advice,.finding-empty{font-size:12px;margin:8px 0 12px}

.post-cell.pause-conflict,.post-cell.pause-conflict:disabled,.post-legend .pause-conflict-key{background:repeating-linear-gradient(135deg,#fbded9 0,#fbded9 6px,#edbab2 6px,#edbab2 8px)!important;border-color:#b84a3b!important;color:#8b261b!important}.post-cell.pause-conflict{box-shadow:inset 0 0 0 1px #b84a3b}

.finding-focus{cursor:pointer;border-radius:8px;margin-bottom:8px}.finding-focus:focus-visible{outline:2px solid #b42318;outline-offset:2px}.finding-focus:hover,.finding-focus.finding-selected{background:#fff0ee}.finding-focus-help{display:block;color:#a33125;padding:0 12px 9px 44px}.post-row.finding-row-focus{outline:2px solid #c42019;outline-offset:-2px;position:relative;z-index:2}.finding-row-focus .row-label{background:#fff0ee}.finding-time-focus{position:absolute;top:1px;bottom:1px;border:3px solid #c42019;box-sizing:border-box;z-index:5;pointer-events:none;background:rgba(196,32,25,.06)}

.assistant-change-card{border:1px solid #ccdcd4;border-radius:10px;padding:16px;margin:14px 0;background:#f8fbf9}.assistant-change-card h4{margin:0 0 12px}.assistant-change-card table{width:100%;table-layout:fixed}.assistant-change-card th,.assistant-change-card td{vertical-align:top;overflow-wrap:anywhere}.assistant-change-card p{margin:10px 0}.assistant-change-card li{margin:5px 0}

.post-cell[data-base-bar]{cursor:grab;touch-action:none;user-select:none;padding-left:9px;padding-right:9px}
.base-bar-grip{position:absolute;top:0;bottom:0;width:min(9px,30%);cursor:ew-resize;z-index:2;touch-action:none}
.base-bar-grip.left{left:0}.base-bar-grip.right{right:0}
.base-bar-grip::after{content:"";position:absolute;top:8px;bottom:8px;left:50%;border-left:2px solid #244b3d66}
.post-cell[data-base-bar]:hover .base-bar-grip{background:#ffffff50}
.post-cell.base-bar-dragging{cursor:grabbing;z-index:6;outline:2px solid #256e5d;box-shadow:0 3px 12px #13372f40}
.post-cell.base-bar-saving{opacity:.65;cursor:wait}
.base-bar-time-preview{position:fixed;z-index:200;pointer-events:none;padding:8px 12px;background:#244b3d;color:white;border-radius:6px;font-size:13px;box-shadow:0 3px 12px #13372f40}

.post-cell.base-pause-cell,.post-cell.base-pause-cell:disabled{background:#f4d6ec;color:#603450;border-color:#c994ba;font-size:10px;z-index:2}.post-cell.base-pause-cell{cursor:pointer}

.practice-opening-row .row-label{background:#edf4f0}.practice-opening-row{height:48px;min-height:48px}.practice-opening-row .track{height:48px}.practice-opening-cell{top:8px;height:30px;font-size:10px;font-weight:600;pointer-events:none}.practice-open{background:#bedbcc;color:#234b3b;border-color:#83aa94}.practice-closed{background:repeating-linear-gradient(135deg,#eee9e4 0,#eee9e4 5px,#d9d0c7 5px,#d9d0c7 6px);color:#65574c;border-color:#c6b9ac}

.practice-opening-cell[data-opening-click]{pointer-events:auto;cursor:pointer}.practice-opening-cell[data-base-bar]{cursor:grab}#baseOpeningBinding{margin:0 0 16px;font-size:12px}#baseOpeningBinding label{display:flex;align-items:center;gap:12px}#baseOpeningBinding select{max-width:650px}#baseOpeningBinding small{display:block;margin-top:6px;color:var(--muted)}

.base-work-area{display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:18px;align-items:start}.base-work-area #basePostOverview{min-width:0}.base-work-area #baseRightPanel{position:sticky;top:16px;min-width:0}.base-work-area .post-matrix{min-width:1000px}.base-clipboard{padding:0 16px 16px;margin-bottom:16px;border:2px dashed #b5cabc}.base-clipboard .panel-header,.base-staff-overview .panel-header{padding:16px 0 12px}.base-clipboard>p{color:#256e5d;font-weight:600}.base-clipboard>small{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5}.clipboard-empty{padding:18px 8px;text-align:center;color:var(--muted);background:#f2f6f0;border-radius:6px}.clipboard-card{display:block;width:100%;text-align:left;padding:10px 12px;cursor:grab;touch-action:none;background:#eaf3e8;user-select:none}.clipboard-card strong,.clipboard-card small{display:block}.clipboard-card small{margin-top:4px;font-size:11px;color:var(--muted)}.clipboard-item+.clipboard-item{margin-top:10px}.clipboard-restore{padding:4px 7px;font-size:11px;margin-top:4px}.clipboard-drop-active{border-color:#256e5d;background:#e4f3e8;box-shadow:0 0 0 3px #256e5d33}.clipboard-row-target{outline:3px solid #256e5d;outline-offset:-3px;background:#edf7ed}.clipboard-drag-ghost{position:fixed;z-index:220;pointer-events:none;padding:10px 14px;background:#256e5d;color:white;border-radius:6px;box-shadow:0 4px 14px #0003;font-size:12px;white-space:pre-line}.base-staff-overview{padding:0 12px 12px}.base-staff-scroll{max-height:52vh;overflow:auto}.base-staff-overview table{width:100%;border-collapse:collapse;font-size:11px}.base-staff-overview th,.base-staff-overview td{padding:8px 4px;vertical-align:middle;border-bottom:1px solid var(--line)}.base-staff-overview thead th{position:sticky;top:0;background:white;z-index:1;font-size:10px;text-align:left}.base-staff-overview th button{padding:4px 5px;font-size:11px;font-weight:700}.base-staff-overview td:nth-child(3),.base-staff-overview td:nth-child(4),.base-staff-overview td:nth-child(5),.base-staff-overview td:nth-child(6){white-space:nowrap}.base-staff-overview td:nth-child(2){max-width:90px}.base-staff-overview th:nth-child(6){text-align:right}@media(max-width:1100px){.base-work-area{grid-template-columns:minmax(0,1fr)}.base-work-area #baseRightPanel{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.base-staff-scroll{max-height:400px}}@media(max-width:750px){.base-work-area #baseRightPanel{display:block}}@media print{.base-work-area{display:block}.base-work-area #baseRightPanel{display:none}}

/* Use the available window width for the base-plan workspace. */
main:has(#baseWorkArea){max-width:none}

.post-drag-target{outline:3px solid #256e5d;outline-offset:-3px;background:#edf7ed}.post-drag-wait{outline:2px dashed #b99b51;outline-offset:-2px}.post-drag-placeholder{position:absolute;top:5px;height:31px;padding:7px 4px;background:#cbe4d6;border:2px dashed #256e5d;font-size:11px;pointer-events:none}.post-drag-preview .row-label{background:#edf7ed}

.base-hours-day{min-width:125px;white-space:nowrap}.base-hours-day strong,.base-hours-day span,.base-hours-day small{display:block}.base-hours-day span{margin:6px 0}.base-hours-day small{color:var(--muted);font-size:11px}.base-hours-panel .panel-header .actions{display:flex;gap:8px}.base-hours-panel th{white-space:nowrap}

.post-cell.vacant:not(:disabled){cursor:pointer}.post-cell.vacant:not(:disabled):hover{outline:2px solid #78a998;outline-offset:-2px}.vacant-warning{color:#b42318;background:#fff3eb;padding:12px;border-radius:8px}

#sidebarToggle{position:absolute;top:8px;right:10px;width:34px;height:34px;padding:0;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center}
@media(min-width:761px){
 .sidebar{padding-top:52px}
 body.sidebar-collapsed .sidebar{width:64px;padding:52px 10px 16px}
 body.sidebar-collapsed main{margin-left:64px}
 body.sidebar-collapsed .sidebar .brand,body.sidebar-collapsed .sidebar-bottom,body.sidebar-collapsed .sidebar nav h2,body.sidebar-collapsed .sidebar nav button span,body.sidebar-collapsed .sidebar nav button b{display:none}
 body.sidebar-collapsed .sidebar nav{margin-top:0;overflow-x:hidden}
 body.sidebar-collapsed .sidebar nav button{justify-content:center;width:42px;min-height:40px;padding:8px;gap:0}
 body.sidebar-collapsed .sidebar .nav-group{padding:8px 0}
}
@media(max-width:760px){
 .sidebar{position:relative;padding-top:52px;min-height:50px}
 body.sidebar-collapsed .sidebar{padding:0;min-height:50px}
 body.sidebar-collapsed .sidebar nav{display:none}
}
@media print{body.sidebar-collapsed main{margin:0}#sidebarToggle{display:none!important}}

#editor input[readonly]{background:#edf0ed;color:#78827e;border-color:#d9dfdb;cursor:not-allowed}


.employee-hours-panel{max-width:none}.employee-hours-plan{padding:0 18px}.employee-hours-totals{display:flex;gap:14px;flex-wrap:wrap;margin:18px}.employee-hours-totals>div{padding:12px 22px;background:#edf3ed;border-radius:8px;min-width:145px}.employee-hours-totals strong{display:block;font-size:24px}.employee-hours-panel>.note,.employee-hours-panel>.error{margin:14px 18px}.employee-hours-scroll{overflow-x:auto;padding:0 18px 24px}.employee-hours-grid{display:grid;grid-template-columns:64px repeat(10,minmax(96px,1fr));min-width:1120px}.employee-hours-head{height:48px;width:100%;border-radius:0;white-space:nowrap;display:flex;align-items:center;justify-content:center;font-weight:700;background:#e5eee5;border:1px solid #d6e0d6}.employee-hours-track{position:relative;height:660px;border-right:1px solid #d6e0d6;background:repeating-linear-gradient(to bottom,#dfe7df 0,#dfe7df 1px,transparent 1px,transparent 100%)}.employee-hours-axis .employee-hours-track{background:none}.employee-hours-axis .employee-hours-track>span{position:absolute;right:8px;transform:translateY(-50%);font-size:12px}.employee-duty-bar{position:absolute;left:6px;right:6px;width:calc(100% - 12px);background:#cce1d5;border:1px solid #7eac97;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:12px;padding:15px 3px;touch-action:none;user-select:none;cursor:grab;overflow:hidden}.employee-duty-bar strong{font-size:12px}.employee-duty-bar:active{cursor:grabbing}.employee-hours-edge{position:absolute;height:12px;left:0;right:0;cursor:ns-resize;background:#8eb6a133}.employee-hours-edge[data-hours-edge=start]{top:0}.employee-hours-edge[data-hours-edge=end]{bottom:0}.employee-duty-bar.hours-over-limit{border:2px solid #b42318;background:#f9dedb}.hours-limit-label{color:#b42318;font-weight:700}.employee-hours-free{position:absolute;top:44%;left:8px;right:8px;width:calc(100% - 16px);background:none;color:#78847b;border:1px dashed #c9d5c9}.employee-hours-column:nth-child(7){border-left:3px solid #8fac9b}

.absence-controls{padding:20px}.absence-view-switch,.absence-date-controls,.absence-filter-options,.absence-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.absence-date-controls{margin:18px 0}.absence-date-controls label{display:flex;flex-direction:column;gap:6px}.absence-date-controls>button{align-self:flex-end}.absence-type-filters{border:1px solid var(--line);border-radius:8px;padding:16px;margin:0;min-width:0}.absence-type-filters legend{font-weight:600;padding:0 6px}.absence-filter-options{gap:12px 24px}.absence-filter-options label{display:flex;align-items:center;gap:8px;cursor:pointer}.absence-filter-options input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.absence-filter-actions{margin-top:16px}.absence-filter-actions button{font-size:12px;padding:6px 10px}@media(max-width:600px){.absence-controls{padding:14px}.absence-date-controls label{flex:1;min-width:140px}.absence-filter-options{gap:12px}.absence-filter-options label{min-width:130px}}

.special-day-alert{background:#fff0f0;border:2px solid #c62828;border-left:7px solid #b42318}.special-day-alert .panel-header{background:#fff0f0;border-bottom:1px solid #e6aeae}.special-day-alert .panel-header h3{color:#9b1c1c;font-weight:700}.special-day-alert>.note{color:#773b3b;background:transparent;margin:12px 18px}

.my-plan-deviation{border:2px solid #b66a17;background:#fff8e9}.my-plan-deviation .panel-header{background:#fff0d1}.deviation-content{padding:12px 20px}.deviation-content p{margin:6px 0}.deviation-label{display:block;color:#944b08;font-weight:700;margin-top:5px}.preparation-state{padding:16px;margin:18px 0;border-left:5px solid #8a9692;background:#f3f5f3}.preparation-state.prepared{border-color:#287354;background:#e9f4eb}.preparation-state.changed{border-color:#b66a17;background:#fff2d9}

.preparation-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:16px 48px;margin-bottom:16px}.preparation-shortcuts>#prepareOpening{margin-left:auto}

body:has(#specialDayTools) main{max-width:none}

body:has(#preparationDayHeader) main{max-width:none}
#preparationDayTools{margin:16px 0;flex-wrap:wrap}

/* Compact, consistent post staffing inputs. */
#rulesForm .field:has(input[name^="post_"]){width:320px;max-width:100%}
#rulesForm .field:has(input[name^="post_"])>label:last-child{display:flex;align-items:center;gap:12px}
#rulesForm input[name^="post_"]{width:100px;max-width:100%;flex:0 0 100px}

#rulesForm .staffing-compact{max-width:720px;padding:18px}
#rulesForm .staffing-rule-section{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--line)}
#rulesForm .staffing-rule-section h3{margin:0 0 6px}
#rulesForm .staffing-rule-section>p{font-size:12px;margin:0 0 10px;line-height:1.45}
#rulesForm .staffing-rule-row{display:grid;grid-template-columns:minmax(150px,1fr) 120px 120px;align-items:center;gap:12px;min-height:40px}
#rulesForm .staffing-rule-row>label{margin:0;font-size:13px;font-weight:500}
#rulesForm .staffing-rule-row input[type=number]{width:90px;max-width:100%;padding:6px 9px;flex:none}
#rulesForm .staffing-rule-row select{width:120px;max-width:100%;padding:6px 9px}
#rulesForm .staffing-rule-extra{font-size:12px;color:var(--muted)}
#rulesForm .staffing-column-head{font-size:11px;color:var(--muted);min-height:28px;margin-top:6px}
#rulesForm .staffing-rule-help{margin-top:8px;font-size:12px;color:var(--muted)}
#rulesForm .staffing-rule-help summary{cursor:pointer}
#rulesForm .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){#rulesForm .staffing-compact{padding:12px}#rulesForm .staffing-rule-row{grid-template-columns:minmax(90px,1fr) 80px 80px;gap:6px}#rulesForm .staffing-rule-row input[type=number],#rulesForm .staffing-rule-row select{width:80px}}

/* Compact day navigation within period preparation. */
#preparationDayHeader>.settings-form>.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
#preparationDayHeader>.settings-form>.actions>label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}
#preparationDayHeader #preparationDate{width:170px;max-width:100%}
#preparationDayHeader .day-tabs{margin:0;grid-template-columns:repeat(auto-fit,minmax(150px,220px));gap:8px}
#preparationDayHeader>.panel-header{gap:16px;flex-wrap:wrap}
@media(max-width:600px){#preparationDayHeader>.settings-form>.actions>button{width:100%}#preparationDayHeader .day-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

#preparationDayHeader .day-tabs{display:flex;flex-wrap:wrap;gap:8px}
#preparationDayHeader .day-tabs>button{flex:0 0 auto;width:auto;min-width:0;padding:9px 13px;white-space:nowrap}

.mobile-header,.mobile-nav,.mobile-backdrop,.mobile-agenda,.mobile-emergency-cards{display:none}
@media(max-width:760px){
 body{overflow-x:hidden}body main,body.sidebar-collapsed main{margin-left:0;max-width:100%;padding:18px 12px 90px;min-width:0}
 body:not(.auth-pending):not(.logged-out) .mobile-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:8px 12px}
 body:not(.auth-pending):not(.logged-out) .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:40;gap:6px}
 .mobile-nav button{flex:1;font-size:12px;min-height:46px;padding:8px 4px}.mobile-nav [aria-current=page]{background:var(--soft);color:var(--accent);font-weight:700}
 body .sidebar,body.sidebar-collapsed .sidebar{display:none;position:fixed;inset:0 auto 0 0;width:min(320px,86vw);height:100dvh;overflow-y:auto;z-index:60;background:#fff;padding:22px 18px;flex-direction:column;align-items:stretch}
 body.mobile-menu-open .sidebar{display:flex}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .mobile-backdrop{display:block;position:fixed;inset:0;border:0;border-radius:0;background:#0006;z-index:50}
 body .sidebar #sidebarToggle{display:none}body .sidebar .brand{display:flex;width:180px}body .sidebar nav,body.sidebar-collapsed .sidebar nav{display:block;margin-top:18px;max-height:none;overflow:visible}body .sidebar nav button{width:100%;min-height:44px;font-size:15px;justify-content:flex-start}body .sidebar nav button[hidden]{display:none}body .sidebar-bottom{display:block;margin-top:22px}body .sidebar nav h2{display:block}
 header{margin-bottom:14px;gap:10px;flex-wrap:wrap}h1{font-size:28px;overflow-wrap:anywhere}.toolbar,.toolbar-actions,.week-nav{flex-wrap:wrap;gap:8px}.toolbar{align-items:flex-start}.toolbar-actions{width:100%}.week-nav h2{font-size:17px}.toolbar-actions input{flex:1;width:150px}
 button,input,select{min-height:44px}input,select,textarea{font-size:16px}input[type=checkbox],input[type=radio]{min-height:0;width:20px;height:20px}input[type=checkbox]+span{line-height:1.5}
 .day-tabs{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px}.day-tabs>button{flex:0 0 auto;width:auto;max-width:190px;white-space:normal}.section-title,.panel-header{gap:10px;flex-wrap:wrap}.section-title .actions,.panel-header .actions{display:flex;flex-wrap:wrap;gap:8px}.panel-header{padding:14px}.my-shift{padding:14px;display:flex;flex-direction:column;gap:8px}
 .my-plan .personal-timeline-scroll,.my-plan .personal-legend{display:none}.mobile-agenda{display:grid;gap:8px;list-style:none;padding:0 14px 14px;margin:0}.mobile-agenda li{display:flex;flex-direction:column;gap:5px;border-left:4px solid #74a48c;background:#f1f6f2;border-radius:6px;padding:12px}.mobile-agenda time{font-variant-numeric:tabular-nums;color:#526963}.mobile-agenda [data-kind=pause]{border-color:#bd83a6;background:#f8edf4}.mobile-agenda [data-kind=absence]{border-color:#bd5757;background:#fff0ef}.mobile-agenda:empty{display:none}
 #emergencyPage .table-wrap:has(.emergency-grid){display:none}.mobile-emergency-cards{display:grid;gap:12px;padding:12px}.mobile-emergency-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.mobile-emergency-title{padding:14px;background:var(--soft);font-weight:700}.mobile-emergency-slot{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.5fr);gap:12px;padding:12px;border-top:1px solid var(--line);overflow-wrap:anywhere}.mobile-emergency-slot button{display:block;margin-top:8px;width:100%}.mobile-emergency-slot small{display:block;margin-top:6px}
 .table-wrap{max-width:100%;overflow-x:auto}.post-scroll,.timeline-scroll{max-width:100%;overflow:auto}.summary{grid-template-columns:1fr}.settings-form{padding:14px}.check{flex-wrap:wrap;gap:10px}.check>div{min-width:0;max-width:100%}.check strong{overflow-wrap:anywhere}
 dialog,#accountDialog{max-width:calc(100vw - 20px);width:calc(100vw - 20px);max-height:90dvh;padding:18px;overflow:auto}.dialog-actions,.dialog-actions>div{display:flex;flex-wrap:wrap;gap:8px}.login-panel{width:calc(100% - 24px);max-width:420px;margin:32px auto;padding:22px}.field{min-width:0}
 .auth-pending .mobile-header,.auth-pending .mobile-nav,.auth-pending .mobile-backdrop,.logged-out .mobile-header,.logged-out .mobile-nav{display:none!important}
}
@media print{.mobile-header,.mobile-nav,.mobile-backdrop,.mobile-agenda,.mobile-emergency-cards{display:none!important}}

.mobile-close-menu{display:none}
@media(max-width:760px){.mobile-close-menu{display:block;align-self:flex-end;margin-bottom:14px}.auth-pending .sidebar{display:none!important}}

/* Mobile drawer: one scroll surface, no shrinking navigation above account actions. */
@media screen and (max-width:760px){
 body .sidebar,body.sidebar-collapsed .sidebar{height:100vh;height:100dvh;padding:12px 16px calc(20px + env(safe-area-inset-bottom));overflow-x:hidden;overscroll-behavior:contain;scroll-padding-top:64px}
 body .sidebar> *{flex:0 0 auto}
 body .sidebar .mobile-close-menu{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 2px 8px #0001;min-height:44px;margin:0 0 16px;align-self:flex-end}
 body .sidebar nav,body.sidebar-collapsed .sidebar nav{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;height:auto;min-height:auto;max-height:none;overflow:visible;flex:none;margin-top:20px}
 body .sidebar .nav-group{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:stretch;min-width:0}
 body .sidebar .nav-group+.nav-group{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
 body .sidebar .nav-group h2{margin:0 10px 5px;font-size:11px}
 body .sidebar nav button{min-height:44px;padding:10px;line-height:1.4}
 body .sidebar nav button span{font-size:14px}
 body .sidebar-bottom{position:static;flex:none;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;line-height:1.5;overflow-wrap:anywhere}
 body .sidebar-bottom button{min-height:44px;font-size:13px;margin:4px 0;padding:10px 0}
}
/* Leave requests: readable cards and explicit review/output sections. */
.leave-panel{margin-bottom:16px}.leave-panel>summary{padding:18px;cursor:pointer}.leave-body{padding:18px}.leave-card{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 0}.leave-card:first-child{padding-top:0}.leave-card .actions{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;max-width:360px}.leave-period{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.leave-period .actions{display:flex;gap:8px;flex-wrap:wrap}.leave-guidance{margin-top:18px}.leave-totals{display:flex;gap:14px;flex-wrap:wrap;padding:14px;background:var(--soft);border-radius:8px;margin:12px 0}.leave-impact{max-height:240px;overflow:auto;border-left:3px solid var(--accent);padding-left:12px;margin:12px 0}.leave-impact p{padding:8px 0}.leave-body table{white-space:nowrap}#accountFields textarea{width:100%;min-height:80px;border:1px solid var(--line);border-radius:7px;padding:10px;font:inherit}
@media(max-width:760px){.leave-body{padding:14px}.leave-card{flex-direction:column}.leave-card .actions{max-width:none}.leave-totals{flex-direction:column}.leave-panel .check-range{flex-direction:column;align-items:stretch}.leave-panel .check-range label{justify-content:space-between}}

/* Read-only duty bars are information, not pending operations. */
.employee-duty-bar:disabled,.employee-hours-head:disabled,.employee-hours-free:disabled{cursor:default;opacity:1}.employee-duty-bar:disabled .employee-hours-edge{display:none}.employee-duty-bar:disabled:hover{background:#cce1d5}.employee-duty-bar.hours-over-limit:disabled:hover{background:#f9dedb}

/* Shared leave review progress */
.leave-round-loading{display:flex;align-items:center;gap:14px;padding:20px 0}
.leave-round-loading p{margin:6px 0 0}
.leave-round-spinner{display:inline-block;flex:0 0 28px;width:28px;height:28px;box-sizing:border-box;border:3px solid #dce8e2;border-top-color:#286f60;border-radius:50%;animation:leave-round-spin 1s linear infinite}
@keyframes leave-round-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.leave-round-spinner{animation-duration:3s}}
