:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202833;background:#f5f6f8;font-size:14px;line-height:1.5;--ink:#202833;--muted:#75808e;--line:#e8ebef;--gold:#9b772d;--soft:#f7f8fa;--accent:#222d3b}*{box-sizing:border-box}body{margin:0}header{background:#fff;color:var(--ink);padding:18px max(26px,calc((100vw - 1480px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}header small{color:var(--gold);letter-spacing:1.8px;font-size:9px;font-weight:750}h1{margin:2px 0 0;font-size:25px;font-weight:680;letter-spacing:-.9px}header p{margin:2px 0 0;color:var(--muted);font-size:12px}.version{color:var(--muted);font-size:11px;background:var(--soft);padding:6px 10px;border-radius:20px}main{max-width:1532px;margin:auto;padding:20px 26px 40px}aside{border:1px solid #e8dfca;background:#faf8f1;border-radius:8px;padding:9px 13px;font-size:11px;color:#827049;line-height:1.6}h2{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:0 0 5px}h3{font-size:14px;font-weight:650;margin:0 0 6px}p{margin:6px 0}button,input,select,textarea{font:inherit;border:1px solid #dce1e7;border-radius:7px;padding:8px 11px;min-height:36px;color:var(--ink);background:#fff;max-width:100%;transition:border-color .15s,background .15s,box-shadow .15s}button{font-size:12px;font-weight:600;cursor:pointer;background:var(--accent);border-color:var(--accent);color:white;white-space:normal}button:hover{background:#364557;border-color:#364557}button.secondary{background:white;color:#485465;border-color:#dfe4ea}button.secondary:hover{background:#f4f6f8;border-color:#c2cbd6}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.calendar-scroll:focus-visible{outline:3px solid #c9b27a;outline-offset:2px}input:disabled,select:disabled{opacity:.75;background:#f2f4f6}label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:#586372;margin:0 0 13px}a{color:#79612e;font-weight:600;text-underline-offset:3px}section{padding:22px;margin:18px 0;background:white;border:1px solid var(--line);border-radius:10px}.toolbar,.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar{margin:14px 0}.toolbar a{font-size:12px;padding:8px 10px;text-decoration:none;border-radius:6px}.toolbar a:hover{background:#eceff3}.toolbar>button{border-color:transparent;background:transparent;color:#586372}.toolbar>button:hover{background:#eceff3}.filters{align-items:end;background:#f8f9fb;border:1px solid #edf0f3;border-radius:8px;padding:10px;gap:7px}.filters label{margin:0;min-width:124px}.filters>button{background:#fff;border:1px solid #e0e5eb}.filters input,.filters select{font-size:12px;min-height:34px;padding:6px 8px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.6px;color:#9b8050;margin:0 0 5px}.muted{color:var(--muted);font-size:11px;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:0;margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stat{padding:13px 16px;background:#fff;display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{font-size:24px;font-weight:620;letter-spacing:-.7px}.stat span{font-size:10px;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 10px}.badge{display:inline-block;padding:3px 7px;border-radius:4px;font-size:10px;background:#f0f2f5;color:#5e6877;font-weight:550}.open{background:#fbecd9!important;color:#956127!important}.draft{background:#f4ecd7!important;color:#8a723a!important}.published{background:#e7f2eb!important;color:#3c7450!important}.cancelled{background:#f0f1f3!important;color:#89919c!important}.unavailable{background:#f3e8ef!important;color:#8e5c77!important}.warning{padding:9px 12px;background:#fcf3e9;border:1px solid #f0dfc9;border-radius:6px;color:#946b38;font-size:12px}#message,#dayMessage{color:#906534;font-size:12px;font-weight:550;white-space:pre-line;overflow-wrap:anywhere}#message:empty,#dayMessage:empty{display:none}.calendar-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px}.calendar{display:grid}.heading{background:#f7f9fb;text-align:center;padding:9px 4px;font-weight:550;font-size:10px;border-bottom:1px solid var(--line);color:#788391}.heading.today{background:#ede4ce;color:#765e2d}.calendar-label{position:sticky;left:0;z-index:1;background:#fcfdfe;padding:10px 9px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:12px}.calendar-label.heading{z-index:2;text-align:left}.demand-label{font-weight:600;font-size:10px;background:#fcf9f2}.day-cell{padding:4px;min-height:76px;border-left:1px solid #eef1f4;border-bottom:1px solid #eef1f4;display:flex;flex-direction:column;gap:4px}.weekend{background:#f7f8fa}.day-button{background:transparent;color:#98a1ad;padding:2px;min-width:24px;width:100%;border:0;border-radius:4px}.day-button:hover{background:#e9edf2;color:#435166}.compact .day-cell{padding:3px;min-height:39px;justify-content:center}.compact .day-button{font-size:10px;min-height:30px}.compact .calendar-label{font-size:11px}.shift-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:7px;min-height:64px;font-weight:400;border-color:transparent}.shift-card strong,.shift-card span{font-size:11px}.shift-card small{font-size:9px}.add-shift{background:transparent;border:1px dashed #d9e0e7;color:#9aa6b3;padding:1px;margin-top:auto;font-size:17px}.employee-pool{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.employee-chip{background:#f7f8fa;color:#576374;border-color:#e2e7ed;cursor:grab;border-radius:20px;font-size:11px}.employee-chip[aria-pressed=true]{background:#ece4d2;color:#6a5429;border-color:#c6b486;outline:0}.need-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:10px}.need-card{border:1px solid var(--line);background:#fff;padding:15px;border-radius:8px}.need-card p{font-size:12px}.need-card .actions{margin-top:12px}.drop-ready{outline:2px solid #b2965d;background:#fbf7ed}.assignment-section{margin-bottom:0;border:0;border-top:1px solid var(--line);padding:18px 0 0;border-radius:0}.customer-group{border:1px solid var(--line);border-radius:8px;margin:10px 0;overflow:hidden}.customer-group summary{padding:13px 16px;background:#fafbfc;font-weight:600;cursor:pointer}.object-link{display:block;padding:12px 18px;border-top:1px solid #eef1f4;text-decoration:none;font-size:13px}.object-link:hover{background:#faf7ef}dialog{background:#f7f8fa;color:var(--ink);border:1px solid #dce1e8;border-radius:12px;padding:24px;max-width:820px;width:calc(100vw - 40px);max-height:92vh;overflow:auto;box-shadow:0 24px 90px #15223833}dialog::backdrop{background:#14202c66;backdrop-filter:blur(3px)}dialog section{padding:18px;margin:14px 0}dialog h2{font-size:20px}dialog form{max-width:740px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two label{min-width:0}.two select{font-size:11px}article{padding:13px 0;border-bottom:1px solid var(--line)}article p{white-space:pre-wrap;overflow-wrap:anywhere}#discardPrompt{background:#fff6e6;border:1px solid #dac597;border-radius:7px;padding:13px;position:sticky;top:0;z-index:4}#templateDays{display:flex;flex-wrap:wrap;gap:14px;border:1px solid var(--line);border-radius:7px;margin-bottom:14px;padding:10px}#templateDays legend{font-size:11px;color:#75808e}#templateDays label{flex-direction:row;align-items:center;margin:0}#templateDays input{min-height:18px;width:18px;height:18px;accent-color:#8b723c}.template-preview-list{max-height:220px;overflow:auto;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;margin:12px 0;font-size:12px}[hidden]{display:none!important}
@media(max-width:760px){header{align-items:start;flex-direction:column;gap:10px;padding:16px 18px}header .actions{width:100%;justify-content:space-between}h1{font-size:23px}main{padding:14px}section{padding:16px}.section-heading{flex-direction:column;gap:12px}.stats{grid-template-columns:repeat(2,minmax(90px,1fr))}.stat{padding:11px 13px;border-bottom:1px solid var(--line)}.stat:last-child{grid-column:1/-1}.stat strong{font-size:22px}.filters label{flex:1;min-width:120px}.filters>button{flex:1}.two{display:block}.need-board{grid-template-columns:1fr}dialog{padding:15px;width:calc(100vw - 16px);max-height:95vh}.actions{gap:7px}dialog .actions button{flex:1}.calendar-label{max-width:160px}.version{font-size:10px}.toolbar{gap:4px}.toolbar a{font-size:11px;padding:8px}.employee-chip{flex:1;min-width:128px}button,input,select,textarea{min-height:42px}.compact .day-button{min-height:36px}#templateDays label{min-height:36px}}

.export-menu{position:relative;color:#657181;font-size:12px;margin-left:auto}.export-menu summary{cursor:pointer;padding:8px 10px;font-weight:600}.export-menu>div{position:absolute;right:0;top:38px;z-index:5;width:280px;background:white;border:1px solid var(--line);border-radius:8px;padding:12px;box-shadow:0 8px 24px #14243818}.export-menu a{display:block}.help-note{font-size:10px;color:var(--muted);margin-top:6px}.help-note summary{cursor:pointer}.help-note p{max-width:700px}.toolbar{margin:10px 0}.stats{margin:12px 0 6px}header{padding-top:13px;padding-bottom:13px}@media(max-width:760px){.export-menu{margin-left:0}.export-menu>div{right:auto;left:0;max-width:calc(100vw - 40px)}}

/* Planning assistance: compact workload and per-shift availability. */
.planner-search{display:flex;align-items:center;gap:16px;margin-top:18px}.planner-search label{margin:0;width:280px;max-width:100%}.row-hours{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:3px}.employee-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border-radius:9px;min-width:148px}.employee-chip small{font-size:10px;font-weight:400;color:#75808e}.selection-hint{display:flex;align-items:center;gap:12px;font-size:12px;color:#806532}.selection-hint:empty{display:none}.selection-hint button{min-height:28px;padding:3px 8px;font-size:10px;background:#faf7f0;color:#806532;border-color:#e9dfc8}.candidate-panel{margin-bottom:18px;padding:14px;background:#fafbfc;border:1px solid var(--line);border-radius:8px}.candidate-panel label{margin-top:10px;margin-bottom:6px}.candidate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;padding:3px}.candidate{display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:400;padding:10px;overflow-wrap:anywhere}.candidate:hover{background:#f4f7f5;border-color:#b8cfc0}.candidate span{font-size:10px;color:#4e795f}.candidate small{font-size:10px;color:var(--muted)}.candidate:disabled{opacity:1;background:#f5f5f6;color:#7a7f88;border-color:#e8e9ec}.candidate:disabled span{color:#996a43}.candidate[aria-pressed=true]{border-color:#b89c61;box-shadow:0 0 0 1px #b89c61}.conflict-link{display:block;text-align:left;width:100%;margin-bottom:5px;font-size:11px}@media(max-width:760px){.planner-search{align-items:stretch;flex-direction:column;gap:5px}.planner-search label{width:100%}.candidate-list{grid-template-columns:1fr}.candidate-panel{padding:10px}.selection-hint{flex-wrap:wrap}}

.candidate-shift{font-size:12px;font-weight:600;color:#5e6977;margin:6px 0}

/* Stable schedule rows and a single aligned shift register. */
#workspace{padding:18px}.filters{margin-bottom:10px}.planner-search{margin-top:10px}.planner-search label{width:240px}.planner-search input{min-height:34px}.stats .stat{padding:9px 13px}.stats .stat strong{font-size:21px}.legend{margin-top:10px}.calendar-scroll{max-height:540px}.calendar .heading{position:sticky;top:0;z-index:2}.calendar .calendar-label.heading{z-index:3}.calendar .day-cell{min-height:68px;padding:3px;gap:3px}.calendar .shift-card{border-radius:3px;box-shadow:none;min-height:0;padding:6px;border-left:3px solid #c1a35b;gap:2px}.calendar .shift-card.published{border-left-color:#6d967c}.calendar .shift-card.cancelled{border-left-color:#b7bec7}.calendar .add-shift{min-height:22px;height:22px;font-size:14px;border:0;background:transparent;margin:0;color:#a0aab7}.calendar .day-cell:has(.shift-card) .add-shift{opacity:0}.calendar .day-cell:hover .add-shift,.calendar .day-cell:focus-within .add-shift{opacity:1}.calendar-label{font-weight:550}.calendar .compact .day-cell{min-height:39px}.roster-list-heading{align-items:center;margin-bottom:10px}.roster-list-heading h3{font-size:16px}.roster-list-heading label{margin:0;min-width:190px}.quick-assignment{margin:0 0 12px;font-size:11px;color:#6c7786;border-bottom:1px solid var(--line);padding-bottom:10px}.quick-assignment summary{cursor:pointer;font-weight:600;padding:5px 0}.quick-assignment .employee-pool{margin-bottom:2px}.roster-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:6px;max-height:480px}.roster-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:720px;font-size:12px}.roster-table th{position:sticky;top:0;z-index:1;text-align:left;background:#f6f8fa;font-size:10px;font-weight:650;color:#728092;padding:9px 12px;border-bottom:1px solid #dfe5eb}.roster-table th:nth-child(1){width:100px}.roster-table th:nth-child(2){width:115px}.roster-table th:nth-child(3){width:26%}.roster-table th:nth-child(5){width:118px}.roster-table td{padding:10px 12px;border:0;border-bottom:1px solid #edf0f3;vertical-align:middle;overflow-wrap:anywhere}.roster-table tr:last-child td{border-bottom:0}.roster-table tr:hover{background:#fafbfc}.roster-table .need-row{border:0;border-radius:0;background:transparent;padding:0}.roster-table strong{font-size:11px;font-weight:600;display:block}.roster-table small{display:block;font-size:10px;color:#7a8593;line-height:1.5;margin-top:3px}.roster-table .need-note{max-height:3em;overflow:hidden}.roster-table .actions{display:table-cell}.roster-table .actions button{display:block;width:100%;min-height:29px;padding:5px 7px;margin:2px 0;font-size:10px}.roster-table .actions button:last-child{border-color:transparent;background:transparent;color:#788594}.roster-table .actions button:last-child:hover{background:#f0f3f6}.roster-table .row-warning{color:#a2703e}.table-empty{text-align:center;height:72px;color:var(--muted)}.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(min-width:581px) and (max-width:760px){header{flex-direction:row;align-items:center;padding:12px 18px}header .actions{width:auto}.section-heading{flex-direction:row;align-items:center}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat:last-child{grid-column:auto}.stats .stat{padding:8px}.stats .stat strong{font-size:19px}.planner-search{flex-direction:row;align-items:center}.planner-search label{width:220px;flex-shrink:0}.planner-search p{font-size:10px}.filters label{min-width:105px}.filters>button{flex:0}.filters label{flex:0 1 115px}.roster-list-heading label{min-width:175px}button,input,select{min-height:34px}}
@media(max-width:580px){#workspace{padding:12px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats .stat:last-child{grid-column:span 2}.stats .stat{padding:8px}.stats .stat strong{font-size:19px}.stats .stat span{font-size:9px}.planner-search label{width:100%}.roster-list-heading{gap:8px}.roster-list-heading label{width:100%}.quick-assignment summary{min-height:38px}.roster-table .actions button{min-height:36px}.calendar-scroll{max-height:440px}.calendar .add-shift{opacity:1!important;min-height:32px}.roster-table-scroll{max-height:420px}}

.roster-table th:last-child,.roster-table td.actions{position:sticky;right:0;background:#fff;border-left:1px solid var(--line)}.roster-table th:last-child{z-index:2;background:#f6f8fa}.roster-table td.actions{z-index:1}.calendar.compact .day-cell{min-height:39px}.calendar .day-cell{min-height:56px}.calendar .shift-card strong{font-variant-numeric:tabular-nums}
@media(min-width:581px) and (max-width:900px){.calendar{--week-day-width:64px}.calendar .shift-card{padding:4px 3px}.calendar .shift-card strong,.calendar .shift-card span{font-size:9px}.calendar .shift-card small{font-size:8px}.calendar .heading{font-size:9px}.calendar .shift-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar .day-cell{min-width:0}.calendar .shift-card{min-width:0}.roster-table{min-width:720px}}
@media(min-width:581px) and (max-width:900px){.roster-table{min-width:580px}.roster-table th:first-child{width:85px}.roster-table th:nth-child(2){width:95px}.roster-table th:nth-child(3){width:24%}.roster-table th:last-child{width:90px}.roster-table td,.roster-table th{padding:9px 8px}.roster-table .badge{font-size:9px;padding:3px 4px}}

/* Right-hand editor keeps the schedule in view, with native modal keyboard handling. */
#dayPanel{position:fixed;inset:0 0 0 auto;margin:0;width:480px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid #dfe5eb;border-radius:0;padding:0 18px 24px;box-shadow:-10px 0 32px #15223812;background:#f8f9fb;overflow:auto}
#dayPanel::backdrop{background:#1522380b;backdrop-filter:none}
#dayPanel>.section-heading{position:sticky;top:0;z-index:5;background:#f8f9fb;align-items:center;flex-direction:row;padding:17px 0 13px;margin:0;border-bottom:1px solid var(--line)}
#dayPanel h2{font-size:17px;margin:0;line-height:1.4}#dayPanel>#discardPrompt{top:74px;z-index:6}#dayPanel section{padding:14px;margin:14px 0}#dayPanel .two{grid-template-columns:1fr;gap:0}#dayPanel .candidate-list{grid-template-columns:1fr;max-height:220px}#dayPanel .candidate-panel{padding:10px}#dayPanel .candidate-shift{font-size:11px}#dayPanel #saveShift{position:sticky;bottom:0;width:100%;min-height:42px;box-shadow:0 -4px 12px #fff}#dayPanel .candidate small{font-size:10px}#dayPanel .need-card{padding:12px;background:#fff}
.calendar .demand-cell{background:#fcfbf7;gap:0;padding:0}.calendar-need{display:flex;flex-direction:column;width:100%;min-width:0;text-align:left;gap:2px;border:0;border-bottom:1px solid #e7dfca;border-radius:0;padding:8px 6px;font-size:10px;box-shadow:none}.calendar-need strong{font-size:11px;font-variant-numeric:tabular-nums}.calendar-need span{font-size:10px;overflow-wrap:anywhere}.calendar-need small{font-size:9px;font-weight:400}.calendar-need em{font-style:normal;font-size:10px;margin-top:3px;font-weight:650}.calendar-need:hover{filter:brightness(.97)}.calendar-need:focus-visible{outline-offset:-3px}.calendar .demand-cell:empty{min-height:40px}
@media(min-width:1100px){body.drawer-open{padding-right:480px}body.drawer-open header{padding-left:26px;padding-right:26px}body.drawer-open main{padding-left:18px;padding-right:18px}body.drawer-open .calendar{--week-day-width:86px}body.drawer-open .roster-table{min-width:680px}body.drawer-open .section-heading{flex-wrap:wrap}}
@media(min-width:581px) and (max-width:900px){.calendar-need{padding:6px 3px}.calendar-need strong{font-size:9px}.calendar-need span,.calendar-need em{font-size:9px}.calendar-need small{font-size:8px}}
@media(max-width:580px){#dayPanel{width:100%;padding:0 12px 18px}#dayPanel>.section-heading{padding:12px 0}#dayPanel section{padding:12px}#dayPanel #discardPrompt{top:70px}}

#shiftForm:has(#assignmentCandidates:not([hidden])) .two:has(#start),#shiftForm:has(#assignmentCandidates:not([hidden])) label:has(#target),#shiftForm:has(#assignmentCandidates:not([hidden])) label:has(#pause){display:none}#shiftForm:has(#assignmentCandidates:not([hidden])) #assignmentHint{font-size:10px}#dayPanel .candidate-panel .muted{font-size:10px}

.checkline{display:flex;flex-direction:row;gap:8px;align-items:center;font-size:12px}.checkline input{width:18px;height:18px;min-height:18px;flex-shrink:0}.batch-row{padding:12px 0}.batch-row p{font-size:11px}.receipt-status{font-size:11px;color:#526e84;border-left:3px solid #b7c8d7;padding-left:9px}#staffSettings hr{border:0;border-top:1px solid var(--line);margin:22px 0}#staffSettings h3{margin-top:12px}#batchPublish{width:100%;margin-top:12px}#batchList{max-height:55vh;overflow:auto}#profileBriefings{min-height:100px}#viewerShifts article{padding:16px 0}#viewerShifts button{margin:8px 8px 0 0}

#directory{padding:0;border:1px solid #aebbc8;border-radius:6px;overflow:hidden}.directory-bar{background:#087ba8;padding:13px 16px;color:white;border-top:8px solid #07365f}.directory-bar h2{font-size:18px;letter-spacing:0;margin-bottom:10px}.directory-bar form{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.directory-bar label{margin:0;color:white;font-size:10px}.directory-bar span{align-self:center}.directory-bar button{background:#f4f6f8;color:#254c6b;border:1px solid #d0dbe3}.directory-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;background:#07365f}.directory-tools label{margin:0 0 0 auto;color:white;font-size:10px}.directory-tools input{min-height:30px}.directory-tools button{min-height:30px;padding:5px 8px;font-size:10px}#directoryRange{padding:5px 12px;margin:0;background:#f5f7f9}.customer-tree{width:100%;border-collapse:collapse;table-layout:fixed}.customer-tree th{text-align:left;padding:8px 14px;background:#e3e8ec;color:#253b50;font-size:12px;border-bottom:1px solid #b6c1cb}.customer-tree td{padding:0;border-bottom:1px solid #d1d8df}.customer-parent td{background:#f0f3f6}.customer-toggle{display:block;width:100%;text-align:left;padding:9px 13px;border:0;border-radius:0;background:transparent;color:#173d70;font-size:13px;font-weight:700;min-height:37px}.customer-toggle:hover{background:#e7edf4;color:#173d70}.tree-object{position:relative;display:block;text-decoration:none;padding:10px 14px 10px 46px;color:#173d70;font-size:13px;min-height:40px}.tree-object:before{content:'';position:absolute;left:22px;top:0;bottom:0;border-left:3px solid #b7c1cb}.tree-object:after{content:'';position:absolute;left:23px;width:14px;top:50%;border-top:3px solid #b7c1cb}.customer-child:last-child .tree-object:before{bottom:50%}.tree-object:hover{background:#eaf2f9;color:#07365f}.customer-child td{background:#fff}.customer-child:nth-child(odd) td{background:#fafbfd}#customDates label{margin:0}@media(max-width:580px){.directory-tools label{width:100%;margin-left:0}.directory-bar input{max-width:140px}.tree-object{font-size:12px}}

.staff-tabs{display:flex;gap:6px;margin-bottom:14px}.staff-tabs button{flex:1;padding:7px 8px;font-size:11px}.staff-tabs button[aria-pressed="true"]{background:#173d70;color:white;border-color:#173d70}
.folder-parent td{background:#173d70}.folder-toggle{display:block;width:100%;text-align:left;border:0;border-radius:0;background:transparent;color:#fff;font-weight:700;padding:11px 13px;font-size:13px}.folder-toggle:hover{background:#234c80}.customer-parent.in-folder .customer-toggle{padding-left:30px}.customer-child.in-folder .tree-object{padding-left:64px}.customer-child.in-folder .tree-object:before{left:40px}.customer-child.in-folder .tree-object:after{left:41px}#structureEditor form{margin-top:18px}.customer-child .tree-object{width:100%;text-align:left;border:0;border-radius:0;background:transparent}

.object-team{margin:12px 0 18px;padding:12px 14px;border:1px solid #dce4eb;border-radius:6px;background:#f7f9fb}.object-team h3{font-size:13px;margin:0}.object-team .section-heading{margin-bottom:8px}.team-names{display:flex;flex-wrap:wrap;gap:6px}.team-name{display:inline-block;padding:6px 10px;background:#fff;border:1px solid #dce4eb;border-radius:4px;font-size:12px;color:#173d70}.object-team p{font-size:11px;margin:8px 0 0}

.template-date-picker{border:1px solid var(--line);border-radius:6px;padding:12px;margin:14px 0}.template-date-picker legend{font-size:13px;font-weight:600}.template-date-picker p{font-size:11px}.template-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:280px;overflow:auto;margin-top:12px}.template-dates .template-date{display:flex;align-items:center;gap:6px;margin:0;border:1px solid var(--line);border-radius:4px;padding:8px;font-size:11px;cursor:pointer}.template-date:has(input:checked){background:#eaf2f9;border-color:#a5bdd3;color:#173d70}.template-date input{width:15px;height:15px;min-height:15px;margin:0;flex-shrink:0}#shiftTemplateLabel,#needTemplateLabel{padding:10px;background:#f0f5fa;border-radius:5px}#shiftTemplateLabel small,#needTemplateLabel small{font-size:11px;font-weight:400;color:#6b7785}@media(max-width:400px){.template-dates{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Give the schedule priority and keep time, staffing and publication separate. */
body>header{padding:9px 26px;gap:12px}body>header h1{font-size:20px;display:inline;margin-right:10px}body>header small{display:none}body>header p{font-size:10px}main{padding-top:10px}#notice{padding:5px 10px;font-size:10px}#message:empty{display:none}nav.toolbar{margin:7px 0;gap:4px}nav.toolbar a,nav.toolbar summary{font-size:11px}.planning-tools{position:relative;margin-left:auto;font-size:11px}.planning-tools>summary{cursor:pointer;padding:7px 10px;color:#586372;font-weight:600}.planning-tools-menu{position:absolute;right:0;top:33px;z-index:12;min-width:235px;display:grid;gap:5px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 24px #14243818}.planning-tools-menu>button{text-align:left}.planning-tools .export-menu{margin:0}.planning-tools .export-menu>div{position:static;width:auto;box-shadow:none;border:0}
#workspace{margin-top:8px;padding:12px 16px}.plan-heading{align-items:center;gap:10px;flex-wrap:wrap}.plan-heading h2{font-size:19px;margin:0}.plan-heading #objectContext{font-size:10px;margin:0}.plan-heading .actions{gap:5px}.plan-heading button{font-size:10px;min-height:30px;padding:6px 9px}.object-team{margin:6px 0;padding:0;border:0;background:transparent}.object-team>summary{cursor:pointer;color:#697787;font-size:10px;padding:5px 0}.object-team[open]{padding:8px 10px;background:#f7f9fb;border:1px solid var(--line)}.object-team .section-heading:has(button[hidden]){display:none}.filters{margin:6px 0;padding:7px;gap:6px}.filters label{min-width:100px}.filters input,.filters select{min-height:30px;padding:4px 7px}.filters>button{min-height:30px;padding:4px 8px}.secondary-filters{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.planner-search{margin:0;gap:8px}.planner-search label{width:185px;font-size:10px}.planner-search input{min-height:30px;font-size:11px}.planner-search p{max-width:190px;font-size:9px;line-height:1.3}.secondary-filters #customDates{margin:0;gap:6px}.secondary-filters #customDates label{font-size:10px}.secondary-filters input{min-height:30px;padding:4px 6px;font-size:11px}#periodTitle{font-size:12px;margin:8px 0 3px}.stats{margin:3px 0;border-radius:5px}.stats .stat{padding:5px 8px;flex-direction:row;align-items:center;gap:6px}.stats .stat strong{font-size:16px}.stats .stat span{font-size:9px;line-height:1.2}.help-note{margin:2px 0;font-size:9px}.legend{margin:5px 0;gap:5px}.legend .badge{font-size:9px;padding:2px 5px}
.calendar{--calendar-head-height:32px}.calendar .heading{height:var(--calendar-head-height);min-height:var(--calendar-head-height);padding:6px;white-space:nowrap}.calendar .demand-cell,.calendar .demand-label{position:sticky;top:var(--calendar-head-height);z-index:2;box-shadow:0 2px 3px #1424380b;background:#fffaf2}.calendar .demand-label{z-index:4}.calendar .heading{z-index:5}.calendar .calendar-label.heading{z-index:6}.calendar.compact .calendar-need{padding:5px 2px;gap:2px;min-height:40px}.calendar.compact .calendar-need strong{font-size:10px;white-space:nowrap}.calendar.compact .calendar-need small{font-size:9px}.calendar.compact .mini-shift{padding:4px 2px;border-left-width:2px;gap:1px}.calendar.compact .mini-shift strong{font-size:10px;white-space:nowrap}.calendar.compact .mini-shift small{font-size:8px}.calendar.compact .day-cell{min-height:48px}.calendar .demand-cell{align-content:start}.calendar .tone-long,.legend .tone-long{background:#eaf1fc!important;color:#285485!important;border-left-color:#779fd0}.calendar .tone-short,.legend .tone-short{background:#eeeafa!important;color:#644b91!important;border-left-color:#a08ac5}.calendar .tone-other{background:#eef3f5!important;color:#405967!important}.calendar .shift-card.draft{border-style:dashed}.calendar .shift-card.published{border-style:solid}.calendar-scroll{max-height:65vh}.calendar .add-shift{opacity:1!important}
@media(max-width:580px){body>header{flex-direction:row;align-items:center;padding:9px 14px}body>header .actions{width:auto}body>header .version{display:none}main{padding:8px}#workspace{padding:10px}.plan-heading .actions{width:100%;flex-wrap:wrap}.plan-heading button{flex:1;min-height:36px}.filters label{min-width:95px}.secondary-filters{gap:6px}.planner-search{width:100%;flex-direction:row;align-items:center}.planner-search label{width:50%}.secondary-filters #customDates{width:100%}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stats .stat{padding:5px 3px;flex-direction:column;align-items:start;gap:1px}.stats .stat:last-child{grid-column:auto}.stats .stat span{font-size:8px}.calendar-scroll{max-height:65vh}.planning-tools-menu{right:0;max-width:calc(100vw - 24px)}.calendar.compact .mini-shift{min-height:36px}}

.calendar.object-scope .calendar-need>span,.calendar .calendar-need>em{display:none}.calendar:not(.compact) .calendar-need>small:first-of-type:not(.need-position){display:none}.calendar:not(.compact) .calendar-need{padding:7px 5px}.calendar.object-scope .calendar-need>strong{font-size:11px}

.ops-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px}.ops-tabs button{font-size:10px;padding:6px}.ops-tabs button[aria-pressed=true]{background:#173d70;color:#fff}#operationsPanel article{border-bottom:1px solid var(--line);padding:12px 0}#operationsPanel form{margin-top:16px}#operationsPanel textarea[readonly]{width:100%;min-height:90px}#safetyList a{display:block;margin:10px 0}.brief-text{white-space:pre-wrap}#actualList button{margin:4px}.ops-tabs+div h3{margin:10px 0}#operationsPanel .warning{font-size:11px}#safetyList select{width:100%}

/* Compact monthly cards with an accessible detail preview outside the scroll grid. */
.calendar.compact .mini-shift,.calendar.compact .calendar-need{padding:5px 4px;gap:2px;text-align:left;min-height:36px}
.calendar.compact .mini-shift strong,.calendar.compact .calendar-need strong{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.25px}
.calendar.compact .mini-shift small,.calendar.compact .calendar-need small{font-size:9px;line-height:1.3}
.calendar-info{position:fixed;z-index:30;width:300px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:13px 15px;border:1px solid #d9e1ea;border-radius:9px;background:#fff;box-shadow:0 8px 28px #182c4726;color:#263449;font-size:12px;line-height:1.5}
.calendar-info strong{display:block;font-size:13px}.calendar-info p{margin:6px 0;overflow-wrap:anywhere}.calendar-info small{display:block;border-top:1px solid #e8ebef;padding-top:8px;color:#75808e;font-size:10px}.calendar-info-note{white-space:pre-wrap;color:#586372}

.copy-days{border:1px solid var(--line);border-radius:6px;padding:10px;margin:12px 0}.copy-days legend{font-size:12px}.copy-days>div{display:flex;flex-wrap:wrap;gap:12px}.copy-days label{display:flex;flex-direction:row;align-items:center;margin:0;gap:5px}.copy-days input{width:16px;height:16px;min-height:16px}.copy-row p{font-size:12px}.copy-row.blocked{border-left:3px solid #bc733b;padding-left:10px}.copy-row.existing{color:#75808e}.copy-summary{margin-top:14px;font-weight:600}#weekCopySave{margin-top:12px}

.directory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;margin:10px 0;overflow:hidden}.directory-stat{display:flex;align-items:center;gap:10px;padding:10px 14px;border-right:1px solid var(--line)}.directory-stat:last-child{border:0}.directory-stat strong{font-size:20px}.directory-stat span{font-size:11px;color:var(--muted)}.directory-table-scroll{overflow:auto}.customer-tree{min-width:780px}.customer-tree th:not(:first-child){font-size:11px;text-align:center;white-space:nowrap}.customer-tree .directory-number{text-align:center;font-size:13px;padding:8px;white-space:nowrap}.directory-number a{text-decoration:none;color:#354d67;display:block;padding:6px}.customer-tree .directory-issues{padding:7px 10px;min-width:180px}.directory-issue{display:block;font-size:11px;padding:3px 0;font-weight:500}.customer-tree .customer-child .tree-object{min-width:200px;font-size:13px}.customer-tree td:first-child{min-width:220px}.customer-tree .customer-child td{vertical-align:middle}.directory-summary .directory-stat{background:#fff}@media(max-width:580px){.directory-stat{padding:8px 6px;gap:2px;flex-direction:column;align-items:start}.directory-stat span{font-size:10px}}

.directory-examples{display:flex;flex-direction:row;align-items:center;gap:6px;margin:8px 12px;font-size:11px}.directory-examples input{width:15px;height:15px;min-height:15px}.directory-summary{margin:10px 12px}.directory-summary+p{padding:0 12px}

/* A quieter directory with a compact planning overview. */
#directory{border:1px solid #e3e8ef;border-radius:12px;background:#fff;box-shadow:0 3px 14px #24375405;overflow:hidden;margin-top:14px}
.directory-bar{background:#fff;color:#233245;border:0;padding:22px 22px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.directory-bar h2{font-size:23px;letter-spacing:-.6px;margin:0 0 3px;font-weight:650}.directory-title p{font-size:12px;color:#7b8795;margin:0}
.directory-bar form{gap:7px;padding:8px 10px;background:#f7f9fb;border:1px solid #edf0f4;border-radius:8px}.directory-bar label{color:#778393;font-size:10px}.directory-bar input{min-height:32px;font-size:11px;padding:5px 7px}.directory-bar button{background:#263c56;border-color:#263c56;color:#fff;min-height:32px;font-size:11px}.directory-bar button:hover{background:#354f6e}
.directory-tools{background:#fff;padding:0 22px 12px;gap:6px;border-bottom:1px solid #edf0f4}.directory-tools label{order:-1;margin:0 auto 0 0;color:#7b8795;width:280px;max-width:100%;font-size:10px}.directory-tools input{min-height:34px;border-color:#e2e7ee;background:#fbfcfd}.directory-tools button{background:#fff;color:#687687;border-color:#e5e9ef;font-size:10px;padding:5px 9px}
.directory-examples{margin:10px 22px 0;color:#87919e;font-size:10px}#directoryRange{padding:8px 22px 0;background:#fff;color:#84909d;font-size:10px}
.directory-summary{margin:13px 22px 12px;gap:10px;border:0;overflow:visible}.directory-summary .directory-stat{border:1px solid #e7ecf2;border-radius:8px;padding:11px 14px;display:flex;flex-direction:column;align-items:start;gap:2px;background:#fafbfd}.directory-stat strong{font-size:23px;font-weight:650;letter-spacing:-.6px;color:#2b4059}.directory-stat span{font-size:10px}.directory-summary+p{padding:0 22px;margin-bottom:14px;font-size:10px;line-height:1.5;color:#8993a0}
.directory-table-scroll{margin:0 14px 16px;border:1px solid #e8edf3;border-radius:8px}.customer-tree{min-width:860px}.customer-tree th{background:#f8fafc;border-bottom:1px solid #e5ebf2;padding:10px 12px;font-size:11px;color:#7a8696;font-weight:550}.customer-tree th:first-child{width:26%}.customer-tree th:nth-child(2){width:12%}.customer-tree th:nth-child(3){width:10%}.customer-tree th:nth-child(4){width:11%}.customer-tree th:nth-child(5){width:11%}.customer-tree th:last-child{width:30%;text-align:left;padding-left:18px}
.customer-tree td{border-bottom:1px solid #edf0f5}.customer-tree .folder-parent td{background:#f0f4f8}.folder-toggle{color:#60738a;font-size:11px;font-weight:600;min-height:32px;padding:7px 12px}.folder-toggle:hover{background:#e9eff6;color:#3a516b}.customer-tree .customer-parent td{background:#fff}.customer-toggle{color:#304961;font-size:12px;padding:9px 13px;font-weight:650}.customer-toggle:hover{background:#f4f7fa;color:#304961}
.customer-tree .customer-child td,.customer-tree .customer-child:nth-child(odd) td{background:#fff}.customer-tree .customer-child:hover td{background:#f8fafc}.customer-tree .tree-object{color:#334b64;font-weight:550;padding-top:15px;padding-bottom:15px}.tree-object:before{border-left:1px solid #dce3eb}.tree-object:after{border-top:1px solid #dce3eb;width:10px}.tree-object:hover{background:transparent;color:#193b63}
.customer-tree .directory-number{padding:10px 4px}.directory-number a.metric-value{display:inline-block;min-width:30px;padding:4px 7px;border-radius:5px;font-size:12px;font-weight:600;color:#334b64}.directory-number a.metric-zero{color:#a7b0bb;font-weight:400}.directory-number a.metric-published{background:#eaf4ee;color:#40775a}.directory-number a.metric-open{background:#fff2e2;color:#9b672e}.directory-number a.metric-draft{background:#f2eefb;color:#776095}
.customer-tree .directory-issues{padding:9px 18px}.directory-issue{display:block;width:fit-content;max-width:100%;font-size:10px;line-height:1.6;font-weight:500;color:#7c6944;text-decoration:none;padding:2px 0}.directory-issue:before{content:'•';margin-right:6px;color:#c2a676}.directory-issue:hover{text-decoration:underline;color:#415d79}
@media(max-width:700px){.directory-bar{padding:16px;gap:12px}.directory-bar h2{font-size:21px}.directory-bar form{width:100%;gap:5px}.directory-bar input{max-width:125px}.directory-tools{padding:0 16px 12px}.directory-tools label{width:100%;flex-basis:100%;margin-bottom:3px}.directory-summary{margin:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.directory-summary .directory-stat{padding:9px 12px;flex-direction:row;align-items:center;gap:8px}.directory-stat strong{font-size:20px}.directory-summary+p{padding:0 16px}.directory-examples{margin-left:16px}#directoryRange{padding-left:16px}.directory-table-scroll{margin:0 8px 12px}}
.pause-assistant{padding:12px;border:1px solid #e5ddc8;border-radius:10px;background:#fcfaf4;margin:8px 0}.pause-assistant p{font-size:.88rem;margin:0 0 8px}.pause-assistant small{color:#6b7280}#businessPanel form{border-bottom:1px solid #e5e7eb;padding-bottom:22px;margin-bottom:24px}#businessPanel article{border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin:12px 0}#businessPanel textarea{min-height:72px}#costResult{font-size:.88rem;background:#f8fafc;padding:10px;border-radius:8px}#costResult:empty{display:none}
#businessPanel fieldset{border:1px solid var(--line);border-radius:7px;padding:9px 12px;margin:12px 0;max-height:230px;overflow:auto}#businessPanel legend{font-size:11px;font-weight:600;color:#596a7e}#businessPanel fieldset label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:6px 0;font-size:11px;font-weight:400}#businessPanel fieldset input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;flex:0 0 16px}#businessPanel>p{font-size:11px;line-height:1.6}#businessPanel details{margin:12px 0}#businessPanel details>summary{cursor:pointer;font-size:12px;padding:8px 0}
/* Compact role directory; edit one person and reveal only relevant scope. */
#businessPanel.access-panel{background:#fff;border:1px solid #e6ebf0;border-radius:9px;padding:14px}#businessPanel.access-panel .access-overview-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;font-size:12px}.access-people{border-top:1px solid #edf0f4}.access-person{display:flex;align-items:center;gap:10px;width:100%;min-height:62px;padding:10px 0;border:0;border-bottom:1px solid #edf0f4;border-radius:0;background:#fff;color:#344155;text-align:left}.access-person:hover{background:#f8fafc;border-color:#edf0f4}.access-avatar{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:7px;background:#edf2f7;color:#6d7f94;font-size:10px;font-weight:650}.access-person-name{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.access-person-name strong{font-size:12px;font-weight:600}.access-person-name small{font-size:10px;color:#8b95a1;font-weight:400}.access-role-tag{font-size:10px;font-weight:500;color:#63778d;background:#f1f5f8;padding:3px 7px;border-radius:4px;white-space:nowrap}.access-chevron{color:#a0adbb;font-size:18px}.access-caption{font-size:10px!important;color:#8b95a1;margin:12px 0!important}.access-help{border-top:1px solid #edf0f4;padding-top:3px}.access-help-row{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:11px;padding:8px 0;color:#748091}.access-help-row strong{font-weight:550;color:#445368}.access-back{background:transparent!important;border:0!important;color:#6b7a8c!important;font-size:11px;padding:0;min-height:26px}.access-edit-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:10px 0 16px}.access-edit-heading h3{font-size:15px;margin:0}#businessPanel .access-edit-form{padding:0;margin:0;border:0}.access-fields{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:12px}#businessPanel.access-panel label{font-size:10px;margin-bottom:9px;gap:4px}#businessPanel.access-panel select,#businessPanel.access-panel input:not([type=checkbox]){height:34px;min-height:34px;padding:5px 8px;font-size:11px;border-radius:5px;width:100%}.access-role-hint{font-size:11px;color:#788698;padding:8px 10px;background:#f7f9fb;border-radius:5px;margin:0 0 12px}.access-extra{border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}.access-extra summary,.access-help summary,.access-invite summary{font-size:11px!important;color:#68788b;font-weight:500}#businessPanel .access-extra fieldset{border:0;padding:0 4px;margin:0 0 10px}#businessPanel .access-extra legend{display:none}.access-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}.access-footer button{font-size:11px;min-height:33px;padding:6px 10px;border-radius:5px}#businessPanel .access-invite form{padding:0;margin:0;border:0}.access-help-row span{line-height:1.5}@media(max-width:400px){.access-person{gap:7px}.access-avatar{flex-basis:26px;height:26px}.access-person-name strong{font-size:11px}.access-role-tag{max-width:100px;white-space:normal;font-size:9px}.access-edit-heading{align-items:flex-start;flex-direction:column;gap:3px}.access-help-row{grid-template-columns:85px 1fr}}

.access-search{display:flex;align-items:flex-end;gap:8px;margin:0 0 5px}#businessPanel.access-panel .access-search label{flex:1;min-width:0;margin:0}.access-search-clear{height:34px;min-height:34px;padding:5px 9px;font-size:10px;border-radius:5px}.access-search-count{font-size:10px!important;color:#8793a1;margin:7px 0!important}.access-people{max-height: min(440px,55vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.access-search-empty{padding:18px 8px;color:#7c899a;font-size:11px;text-align:center}

.login-main{max-width:480px;margin:7vh auto;padding:16px}.login-main section{padding:26px}.login-main h2{margin-bottom:10px}.login-main form{margin-top:22px}.login-main button{width:100%}.login-main #loginScope{margin-top:20px;font-size:11px}.login-main input[readonly]{background:#f6f8fa;color:#6d7b8b}

/* Explicit personal availability: times remain visible in all calendar densities. */
.unavailable{background:#fce8e8!important;color:#a12b35!important}.available{background:#e8f5ee!important;color:#216745!important}
.calendar .availability-card{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;min-height:34px;padding:4px;border:0;border-left:3px solid #388463;border-radius:3px;line-height:1.3}
.calendar .availability-card.unavailable{border-left-color:#c44853}.calendar .availability-card span{font-size:9px}.calendar .availability-card strong{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.calendar .availability-add{background:transparent;color:#748395;border:0;min-height:22px;padding:0 4px;align-self:flex-end;font-size:15px}.calendar .availability-add:hover{background:#edf1f5;color:#263b51}
#availabilityLayoutHint button{padding:2px 6px;min-height:24px;font-size:11px}.candidate-availability{color:#466452}

.availability-overview-stats{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.availability-overview-stats button[aria-pressed=true]{background:#e6edf4;border-color:#7891a9}.availability-overview-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:10px}.availability-person-row{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.availability-person-head{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.availability-source{text-align:left;font-size:10px!important;white-space:normal}.availability-person-row p{margin:0}
.audit-list{display:grid;gap:8px}.audit-event{border:1px solid #e1e6ec;border-radius:8px;background:#fff}.audit-event>summary{display:flex;gap:14px;justify-content:space-between;padding:13px 15px;cursor:pointer}.audit-event-heading{display:grid;gap:4px;font-size:12px}.audit-context{max-width:46%;font-size:12px;color:#536273;align-self:center}.audit-event-body{padding:0 15px 15px;overflow-x:auto}.audit-diff{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.audit-diff th,.audit-diff td{padding:9px;border:1px solid #e4e8ed;text-align:left;vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}.audit-diff th:first-child{width:23%}.audit-diff thead{background:#f5f7fa}.audit-event-body>p{overflow-wrap:anywhere}#auditPage .filters{flex-wrap:wrap}#auditPage .actions input[type=checkbox]{width:auto}#auditPage input[type=search]{min-width:230px}@media(max-width:650px){.audit-event>summary{display:grid;gap:7px}.audit-context{max-width:100%}.audit-diff th,.audit-diff td{padding:6px}.audit-event-body{padding:0 8px 10px}}
.object-team-choices{max-height:390px;overflow:auto;display:grid;gap:5px;margin:12px 0 18px}.object-team-choice{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid #e3e7ec;border-radius:7px;font-size:13px}.object-team-choice input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;flex:none}.object-team-choice:has(input:checked){background:#edf5f1;border-color:#95b6a5}

/* Coverage stays visible independently of shift-time colors. */
.calendar{--calendar-head-height:51px}.calendar .heading{display:flex;flex-direction:column;justify-content:center;gap:2px;line-height:1.2}.day-coverage{display:block;font-size:10px;font-weight:750;border-radius:3px;padding:2px 5px;width:max-content;max-width:100%}.day-coverage.shortage{background:#a44800;color:#fff}.day-coverage.covered{background:#e6f4eb;color:#21643d}.calendar .heading.has-shortage{box-shadow:inset 0 -3px #dc810c}.calendar .demand-cell.has-shortage{background:#fff5e5}.calendar .calendar-need.open{background:#fff0d4!important;color:#793900!important;border:1px solid #d98a26!important;border-left:4px solid #c86b00!important}.calendar .calendar-need .coverage-ratio{display:block!important;font-size:10px;font-weight:600}.calendar .calendar-need .coverage-state{display:block;font-size:10px;font-weight:750}.calendar .calendar-need.open .coverage-state{background:#a44800;color:#fff;border-radius:3px;padding:2px 4px}.calendar .calendar-need:not(.open) .coverage-state{color:#21643d}.calendar .calendar-need:hover{filter:brightness(.97)}

/* Date entry and object-specific positions stay compact in the month grid. */
.calendar .calendar-date-button{background:transparent;border:0;color:inherit;font:inherit;padding:2px 4px;cursor:pointer;min-height:0;white-space:nowrap}
.calendar .calendar-date-button:hover{background:#e6edf6;border-radius:4px;text-decoration:underline}
.calendar .calendar-date-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.calendar .calendar-need .need-position{display:block;font-size:10px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.need-position-editor{margin:14px 0;padding:12px;border:1px solid #dce2ea;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.need-position-editor legend{font-weight:600;padding:0 5px}
.need-position-editor label{margin:0;min-width:0}
.need-position-editor label:has(textarea),.need-position-editor label:has(select[id$="Template"]){grid-column:1/-1}
.need-position-editor input,.need-position-editor select{width:100%;min-width:0;font-size:12px}
#addNeedPosition{margin:8px 8px 8px 0}

.need-position-editor .position-folds{grid-column:1/-1;font-size:12px}
.need-position-editor label:has(input[id$="Title"]){grid-column:1/-1}

/* Shared staffing signals for object and overall plans; publication stays separate. */
.calendar .day-coverage{font-size:11px;padding:3px 6px;line-height:1.2;border-radius:5px}
.calendar .day-coverage.shortage,.coverage-pill.shortage{background:#b42335;color:#fff;border:1px solid #b42335}
.day-coverage.shortage::before,.coverage-pill.shortage::before{content:"!";display:inline-grid;place-items:center;width:13px;height:13px;margin-right:4px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:800}
.calendar .day-coverage.covered,.coverage-pill.covered{background:#e4f4ea;color:#17643c;border:1px solid #7db391}
.coverage-pill.covered::before{content:"✓";margin-right:4px;font-weight:800}
.coverage-pill{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:700;line-height:1.5;padding:3px 6px;white-space:normal}
.calendar .heading.has-shortage{box-shadow:inset 0 -3px #b42335}.calendar .demand-cell.has-shortage{background:#fff6f6}
.calendar .calendar-need.open{background:#fff5f5!important;color:#74212d!important;border-color:#dc929c!important;border-left:4px solid #b42335!important}
.calendar .calendar-need:not(.open){background:#f0f8f3!important;color:#24593a!important;border-left:4px solid #2b8052!important}
.calendar .calendar-need .coverage-state{width:fit-content;max-width:100%;font-size:11px!important;line-height:1.3;border-radius:4px;padding:3px 6px;font-weight:750}
.calendar .calendar-need.open .coverage-state{background:#b42335;color:#fff}
.calendar .calendar-need.open .coverage-state::before{content:"!";font-weight:900;margin-right:5px}
.calendar .calendar-need:not(.open) .coverage-state{background:#d9eddf;color:#17643c}
.coverage-meter{display:flex;gap:3px;height:5px;min-height:5px;width:76px;max-width:100%;margin:4px 0 1px;flex-shrink:0}
.coverage-meter i{display:block;flex:1;min-width:0;border-radius:2px}.coverage-meter .slot-filled{background:#2b8052}.coverage-meter .slot-open{background:repeating-linear-gradient(135deg,#f5b6bf 0 3px,#fff0f2 3px 6px);border:1px solid #bc3445}
.coverage-meter.continuous{background:#f1c7ce;border-radius:3px;overflow:hidden}.coverage-meter.continuous .slot-filled{flex:none}
.calendar .calendar-need .coverage-object{display:block!important;font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}
.object-day-coverage{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:6px;width:100%;border-radius:5px;line-height:1.2;min-height:0}
.object-day-coverage.shortage{background:#fff0f2;border:1px solid #dc929c;border-left:3px solid #b42335;color:#922438}.object-day-coverage.covered{background:#edf7f0;border:1px solid #9dc5ab;color:#17643c}
.object-day-coverage strong{font-size:11px}.object-day-coverage small{font-size:10px}.object-day-coverage.shortage strong::before{content:"! ";font-weight:900}.need-staffing .coverage-meter{margin:5px 0}

.calendar .calendar-need>span.coverage-meter{display:flex}

/* Post rows keep identical times from visually merging different duties. */
.calendar .positions-heading{background:#eef2f7;font-weight:750;font-size:11px;padding:9px 7px;z-index:3}
.calendar .positions-band{background:#eef2f7;border-bottom:1px solid #dce3ed;color:#596b81;padding:9px 10px;font-size:11px}
.calendar .position-label{top:auto;border-left:4px solid var(--position-color);background:#f8fafc;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px 8px;z-index:3;box-shadow:none}
.calendar .position-label strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.calendar .position-label small{font-size:10px;line-height:1.35;font-weight:400;color:#607084;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.calendar.has-position-rows .demand-cell{position:relative;top:auto;z-index:auto;border-bottom:2px solid #dce3ed;box-shadow:none;background:#fafbfd}
.calendar.has-position-rows .position-label{border-bottom:2px solid #dce3ed}
.calendar .demand-cell .calendar-need+.calendar-need{margin-top:4px}
.calendar .assigned-position{display:block!important;font-weight:700!important;font-size:10px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

/* Compact shift creation: context, live overview, positions and one save footer. */
#dayPanel.need-mode{width:590px;padding:0 18px 18px}
#dayPanel #needEditor{padding:0;background:transparent;border:0;box-shadow:none;margin:14px 0}
#needEditTitle{display:none}
#needForm{display:flex;flex-direction:column;gap:14px}
#needForm label{font-size:11px;font-weight:600;color:#526074;margin:0;gap:5px;min-width:0}
#needForm input,#needForm select,#needForm textarea{width:100%;min-width:0;font-size:13px;padding:8px 9px;border-radius:6px;min-height:36px;background:#fff}
#needForm label small{font-size:10px;font-weight:400;color:#7b8593}
.need-context{display:grid;grid-template-columns:1fr;gap:10px}
.need-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.need-primary{border:1px solid #dce3ed;border-radius:9px;background:#fff;padding:14px;display:grid;gap:12px;margin:0;min-width:0}
.need-primary legend,.need-position-editor legend{font-size:12px;font-weight:700;padding:0 6px;color:#304963}
.need-overview{padding:11px 12px;border:1px solid #dbe4ee;border-radius:8px;background:#edf3f9}
.need-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:12px;color:#304963}
#needOverviewCount{font-size:10px;font-weight:500;color:#536c85}
#needForm .need-overview-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:3px 6px;text-align:left;align-items:center;width:100%;background:transparent;border:0;border-radius:5px;color:#2d4057;padding:6px 2px;min-height:0}
.need-overview-row:hover{background:#e0eaf5!important}.need-overview-number{display:grid;place-items:center;border-radius:50%;width:19px;height:19px;font-size:10px;background:#d8e4f1;color:#365579;grid-row:span 2}
.need-overview-row strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.need-overview-row small{grid-column:2/-1;font-size:10px;color:#63768b}.need-overview-people{font-size:11px;font-weight:600}
.need-break-note{background:#f7f9fc;padding:9px 10px;border-radius:6px}.need-break-note p{font-size:11px;line-height:1.5;color:#677487;margin:0 0 6px}.need-break-note button{font-size:10px;min-height:28px;padding:4px 8px}
.need-optional{border-top:1px solid #edf0f4;padding-top:8px;font-size:11px}.need-optional summary{color:#62758d;cursor:pointer;font-size:11px!important}.need-optional[open]>label,.need-optional[open]>.need-grid{margin-top:10px!important}
#needForm .need-position-editor{background:#fff;padding:14px;margin:0;gap:12px}.need-position-editor label:has(input[type=datetime-local]){grid-column:auto}
#needForm #addNeedPosition{align-self:flex-start;margin:0;border:1px dashed #a8b8ca;background:#f8fafc;color:#3d5c7c;font-size:12px;padding:8px 12px}
.need-save-bar{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;background:#f8f9fb;border-top:1px solid #dce3ed;box-shadow:0 -6px 15px #f8f9fb}
.need-save-bar>div{display:flex;flex-direction:column;gap:3px}.need-save-bar strong{font-size:12px;color:#334c66}.need-save-bar small{font-size:10px;color:#7c8795}.need-save-bar button{font-size:12px;min-height:39px;padding:9px 13px}
@media(min-width:1100px){body.drawer-open:has(#dayPanel.need-mode){padding-right:590px}}
@media(max-width:600px){#dayPanel.need-mode{width:100%;padding:0 12px 18px}.need-grid{gap:8px}#needForm input[type=datetime-local]{font-size:11px;padding:6px 3px}.need-save-bar{gap:6px}.need-save-bar strong{font-size:11px}.need-save-bar button{padding:8px;font-size:11px}}
.need-save-bar::after{content:"";position:absolute;top:100%;left:0;right:0;height:24px;background:#f8f9fb;pointer-events:none}

/* Assignment is a guided selection, with supporting controls folded away. */
#dayPanel.assignment-mode{width:590px;padding:0 18px 18px}
.assignment-mode #shiftEditor{padding:0;border:0;background:transparent;box-shadow:none;margin:14px 0}
.assignment-mode #editTitle,.assignment-mode #candidateShift{display:none}
.assignment-mode #shiftForm{display:flex;flex-direction:column;gap:12px}
.assignment-overview{background:#edf3f9;border:1px solid #d8e3ef;border-radius:9px;padding:14px;display:flex;flex-direction:column;gap:7px}
.assignment-overview .assignment-object{font-size:11px;color:#61758d}.assignment-overview .assignment-title{font-size:18px;color:#263e58;line-height:1.3}.assignment-overview .assignment-time{font-size:13px;font-weight:600;margin:0;color:#3c536c}
.assignment-facts{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;color:#596d83}.assignment-facts>span:not(.coverage-pill){padding:3px 6px;background:#fff;border-radius:4px}
.assignment-overview .assignment-task{font-size:12px;margin:2px 0 0;line-height:1.5;border-top:1px solid #dbe5ef;padding-top:8px;color:#415c77}
.assignment-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0;font-size:11px}.assignment-steps li{flex:1;padding:8px;border:1px solid #dde4ed;border-radius:6px;color:#6c7a8a;background:#fff}.assignment-steps li.done{background:#edf7f0;color:#246143;border-color:#a7c9b5}.assignment-steps li.current{border-color:#6c8caf;color:#244e79;background:#edf3fa;font-weight:700}
.assignment-mode #assignmentCandidates{background:#fff;border:1px solid #dce3ed;border-radius:8px;padding:13px;margin:0}
.assignment-mode #assignmentCandidates h3{font-size:14px;margin:0 0 5px}.candidate-help{font-size:11px;color:#697b8d;margin:0 0 12px;line-height:1.4}
.assignment-mode #candidateSearch{font-size:13px;min-height:36px;border-radius:6px}.assignment-mode #assignmentCandidates label{font-size:11px;margin:0}
.assignment-mode #candidateList{max-height:280px;overflow:auto;gap:7px}.assignment-mode .candidate{position:relative;padding:10px 12px;text-align:left;border:1px solid #dce3eb;border-radius:7px;gap:3px}.assignment-mode .candidate strong{font-size:13px;padding-right:85px}.assignment-mode .candidate span,.assignment-mode .candidate small{font-size:10px;line-height:1.4}
.assignment-mode .candidate[aria-pressed=true]{background:#edf6f0;border:2px solid #3e825c;padding:9px 11px}.candidate-choice{font-size:10px;color:#5f7791}.assignment-mode .candidate-choice{position:absolute;right:10px;top:10px;font-weight:650}.candidate[aria-pressed=true] .candidate-choice{color:#246143}.candidate[data-blocked=true] .candidate-choice{display:none}
.assignment-extras>summary{display:none}.assignment-mode .assignment-extras{padding:10px 12px;border:1px solid #e0e5ec;border-radius:7px;background:#fff}.assignment-mode .assignment-extras>summary{display:list-item;font-size:11px;color:#63758b;cursor:pointer}.assignment-mode .assignment-extras[open]>summary{margin-bottom:12px}
.assignment-mode .assignment-extras label:has(#employee){display:none}.assignment-mode #availabilityHint:empty{display:none}.assignment-mode #availabilityHint{margin:0;font-size:11px;padding:7px 10px;line-height:1.4}
.assignment-mode .assignment-save-bar{position:sticky;bottom:36px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;background:#f8f9fb;border-top:1px solid #dce3ed;box-shadow:0 -5px 12px #f8f9fb}
#assignmentSelection{display:flex;flex-direction:column;gap:4px;min-width:0}#assignmentSelectedName{font-size:12px;color:#314c68}#assignmentNextStep{font-size:10px;color:#67798b;line-height:1.4}
#dayPanel.assignment-mode #saveShift{position:static;width:auto;min-width:155px;min-height:40px;font-size:12px;box-shadow:none;flex-shrink:0}
.assignment-draft-info{font-size:10px!important;color:#778697;line-height:1.5;margin:0;padding:0 0 8px;background:#f8f9fb}.assignment-mode .assignment-draft-info{position:sticky;bottom:0;z-index:4;min-height:36px}.assignment-mode .assignment-draft-info::after{content:"";position:absolute;top:100%;left:0;right:0;height:24px;background:#f8f9fb}
@media(min-width:1100px){body.drawer-open:has(#dayPanel.assignment-mode){padding-right:590px}}
@media(max-width:600px){#dayPanel.assignment-mode{width:100%;padding:0 12px 18px}.assignment-mode .assignment-save-bar{gap:6px}#dayPanel.assignment-mode #saveShift{min-width:130px;font-size:11px}.assignment-overview .assignment-time{font-size:12px}}

/* Clearly scoped, confirmed removal; audit records remain archived. */
.removal-entry{display:flex;justify-content:flex-end;margin:0 0 10px}.danger-outline{background:#fff;color:#a73340;border:1px solid #dbaeb5;font-size:11px;padding:7px 10px}.danger-outline:hover{background:#fff0f1}.danger-outline[data-confirm=yes]{background:#a73340;color:white;border-color:#a73340}
.removal-editor h3{margin:0 0 6px}.removal-editor>.muted{font-size:12px;line-height:1.5}.removal-count{font-weight:600;font-size:13px}.removal-option{padding:13px;border:1px solid #e0e4eb;border-radius:8px;margin:12px 0;background:#fff}.removal-option strong{font-size:13px}.removal-option p{font-size:12px;line-height:1.5;color:#5c697b;margin:7px 0 12px}

.need-selection-bar,.need-selection-bar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.need-selection-bar{padding:10px 0}.need-selection-bar button{font-size:11px}.need-selection-bar span{font-size:12px;font-weight:600}.need-select-label{display:flex;gap:6px;align-items:center;font-size:11px;margin:0 0 6px}.need-select-label input{width:16px;height:16px;min-height:0;margin:0}.need-selected{background:#eef4fb}.bulk-removal-list{list-style:none;margin:12px 0;padding:0;max-height:330px;overflow:auto;border:1px solid #dde3eb;border-radius:7px}.bulk-removal-list li{display:flex;flex-direction:column;gap:5px;padding:11px;border-bottom:1px solid #e1e6ed}.bulk-removal-list li:last-child{border-bottom:0}.bulk-removal-list strong{font-size:13px}.bulk-removal-list span,.bulk-removal-list small{font-size:11px;color:#627185}#removalEditor>button{margin:4px 8px 4px 0}

.quick-plan-bar{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:10px 0;border:1px solid #dce4ed;border-radius:8px;background:#f7f9fc}.quick-plan-bar.active{border-color:#809cb9;background:#edf4fb}.quick-plan-bar label{margin:0;min-width:190px;font-size:11px}.quick-plan-bar select{font-size:12px;min-height:34px}.quick-plan-bar>div{display:flex;flex:1;flex-direction:column;gap:4px}.quick-plan-bar strong{font-size:12px}.quick-plan-bar small{font-size:11px;line-height:1.4;color:#526880}.quick-plan-bar button{font-size:11px}.calendar-label .calendar-employee-select{width:100%;text-align:left;font-weight:650;font-size:12px;background:transparent;color:inherit;border:0;padding:3px 0;white-space:normal}.calendar-label.employee-selected{background:#e5effa!important;box-shadow:inset 4px 0 #396b9c}.calendar-employee-select[aria-pressed=true]{color:#174f85!important}.calendar-need.quick-assign-ready{outline:2px solid #628bae;outline-offset:-2px}.quick-assign-state{font-size:10px!important;font-weight:600}.calendar-need.quick-assign-blocked .quick-assign-state{color:#9c3442}@media(max-width:650px){.quick-plan-bar{flex-wrap:wrap}.quick-plan-bar label{min-width:0;flex:1}.quick-plan-bar>div{flex-basis:100%;order:3}}

#removeOpenCount{width:100px;display:block;margin-top:6px;font-size:16px}#removeOpenPreview{padding:9px;background:#edf4fb;border-radius:6px;color:#304d6e}

.quick-plan-bar{flex-wrap:wrap}.quick-plan-bar>div{flex:1 1 220px}.quick-plan-bar .employee-scope{min-width:140px}.candidate-panel .employee-scope{margin-bottom:8px!important}.candidate-panel #candidateScopeHint{margin:8px 0}.candidate .outside-team-hint{color:#735a23;font-weight:600}

.dispo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.dispo-stat{display:flex;align-items:center;gap:12px;text-align:left;background:#f5f8fb;color:#30465c;border:1px solid #dce4ed;padding:12px}.dispo-stat strong{font-size:22px}.dispo-stat span{font-size:12px}.dispo-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dispo-columns>section{margin:0;padding:16px;border:1px solid #e0e6ec;border-radius:10px}.dispo-columns h3{font-size:15px;margin:0 0 12px}.dispo-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e9edf1;padding:12px 0}.dispo-item>div{display:flex;flex-direction:column;gap:5px;min-width:0}.dispo-item strong{font-size:12px}.dispo-item small,.dispo-item span{font-size:11px;color:#617184}.dispo-item button{font-size:11px;min-height:32px;flex-shrink:0}.notice-rules{margin:14px 0;padding:12px;background:#f5f8fb;border:1px solid #dce4ed;border-radius:8px}.candidate .recommendation-reason{color:#365971;line-height:1.5}.dispo-columns .muted{font-size:11px}@media(max-width:900px){.dispo-columns{grid-template-columns:1fr}.dispo-stats{grid-template-columns:1fr 1fr}.dispo-item{flex-wrap:wrap}}
.dispo-item .dispo-urgent{color:#ad3441;font-weight:650}.dispo-item .dispo-followup{color:#92621e;font-weight:600}

.personal-reminder-overview{border:1px solid #e1bc73;background:#fffaf0}.personal-reminder-overview h2{font-size:20px}.personal-reminder{padding:10px 12px;border-left:3px solid #b58023;background:#fff8e9;color:#735214;font-size:13px;line-height:1.5}

.personal-sync{font-size:12px;color:#607286;margin:12px 0 6px}.personal-sync.sync-warning{color:#97541b}

.calendar .availability-card.available{background:#d2f2df;color:#125d36;border-color:#76bd94}.calendar .availability-card.unavailable{background:#fbd8dc;color:#8c2635;border-color:#df8b96}.availability-person-row.status-available{background:#e7f7ed;border-left:4px solid #23834c}.availability-person-row.status-blocked{background:#fdecef;border-left:4px solid #c4384c}.availability-person-row.status-partial{background:#fff4dc;border-left:4px solid #b58226}
#personalWorkplace details{border:1px solid #dce3eb;border-radius:12px;padding:14px 16px;margin:10px 0;background:#fff}#personalWorkplace summary{font-weight:650;cursor:pointer} .personal-hour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.personal-hour{display:flex;flex-direction:column;gap:4px;background:#f1f5f9;padding:12px;border-radius:9px}.personal-hour strong{font-size:20px}.personal-hour span{font-size:12px}.personal-profile{display:grid;grid-template-columns:minmax(95px,1fr) 2fr;gap:9px;font-size:14px}.personal-profile dd{margin:0;overflow-wrap:anywhere}.personal-profile dt{color:#64748b}

/* Explainable staffing assistant, advisory until the planner saves. */
.assistant-rules{font-size:11px;color:#536779;margin:8px 0 12px;line-height:1.5}.assistant-rules summary{cursor:pointer;font-weight:600}.assistant-rules p{margin:7px 0}.candidate .assistant-position{font-weight:700;color:#735a23}.candidate[data-recommended=true] .assistant-position{color:#246143}.candidate[data-recommended=true]{border-left:3px solid #3e825c}.candidate .assistant-workload{color:#30465c;line-height:1.5}.candidate .row-warning{color:#9a3d2d}

/* The complete selected month fits; day/week keep their detailed cells. */
.calendar.month-fit{width:100%;--month-label-width:130px}.month-fit>*{min-width:0}.month-fit .heading{padding:4px 0;overflow:hidden}.month-fit .calendar-date-button{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;min-width:0;padding:0;line-height:1.2;white-space:normal}.month-day-number{font-size:11px;color:#30465c}.month-weekday{font-size:8px}.month-fit .day-cell{padding:1px;gap:2px;overflow:hidden;min-height:52px}.month-fit .calendar-label{padding:7px 5px}.month-fit .calendar-need,.month-fit .mini-shift{width:100%;min-width:0;max-width:100%;padding:3px 0!important;border-left-width:2px!important;gap:2px;overflow:hidden;align-items:center;text-align:center;min-height:42px}.month-fit .calendar-need strong,.month-fit .mini-shift strong{font-size:9px;white-space:nowrap;letter-spacing:-.4px}.month-fit .calendar-need .need-position,.month-fit .coverage-object,.month-fit .coverage-state,.month-fit .mini-shift .assigned-position,.month-fit .shift-status{display:none!important}.month-fit .calendar-need .coverage-ratio{font-size:7px;white-space:nowrap;overflow:hidden;max-width:100%}.month-fit .coverage-meter{height:4px;gap:0;width:90%}.month-fit .day-button{min-width:0;padding:0;font-size:10px}.month-fit .add-shift{min-width:0;padding:0;font-size:12px;min-height:18px}.month-fit .availability-card{width:100%;min-width:0;min-height:12px;padding:0;border-left-width:2px;overflow:hidden}.month-fit .availability-card span,.month-fit .availability-card strong{display:none}.month-fit .availability-add{min-width:0;width:100%;padding:0;min-height:14px;font-size:10px}.month-fit .day-coverage{font-size:0!important;padding:0;width:5px;height:5px;min-height:5px;align-self:center}.month-fit .day-coverage::before{content:none!important}.month-fit .positions-band{font-size:10px;padding:5px}.month-fit .calendar-employee-select{max-width:100%;white-space:normal}
@media(max-width:1100px){.calendar.month-fit{--month-label-width:100px}.month-fit .calendar-need strong,.month-fit .mini-shift strong{font-size:7px;letter-spacing:-.6px}.month-fit .coverage-ratio{display:none!important}.month-day-number{font-size:9px}.month-weekday{font-size:7px}}
@media(max-width:580px){.calendar.month-fit{--month-label-width:76px}.month-fit .day-cell{padding:0;min-height:36px}.month-fit .calendar-need,.month-fit .mini-shift{min-height:25px;padding:2px 0!important}.month-fit .calendar-need strong,.month-fit .mini-shift strong,.month-weekday{display:none}.month-day-number{font-size:7px;font-weight:600}.month-fit .calendar-label,.month-fit .calendar-employee-select{font-size:9px}.month-fit .row-hours{font-size:8px}.month-fit .add-shift,.month-fit .day-button{font-size:8px;min-height:22px}}

.month-fit .calendar-need strong,.month-fit .mini-shift strong{white-space:pre-line;line-height:1.15;letter-spacing:0}

.calendar.month-fit .calendar-need .coverage-object,.calendar.month-fit .calendar-need .need-position,.calendar.month-fit .calendar-need .coverage-state{display:none!important}
.planner-shell .directory-bar form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.planner-shell .directory-bar form label{min-width:120px;flex:1}.planner-shell .directory-bar form input{width:100%;min-width:0}.planner-shell .directory-bar form>span{display:none}
