/* HR calendar: calm hierarchy, compact monthly overview, accessible day sheet. */
.hr-hub #shiftPlannerView{display:block;overflow:auto}
#shiftPlannerView>.module-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
#shiftPlannerView>.module-header .back-button{display:none}
#shiftPlannerView .module-header h1{text-align:left;font-size:28px;letter-spacing:-.8px}
#shiftPlannerView .module-header .eyebrow{text-align:left}
.hc-calendar{background:#fff;border:1px solid #e3e8ef;border-radius:20px;overflow:hidden;box-shadow:0 3px 18px #18345304}
.hc-toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 14px;gap:12px}
.hc-month h2{margin:0 0 6px;font-size:24px;letter-spacing:-.7px;color:#1d2939}
.hc-month>span{font-size:12px;color:#7b8594}
.hc-navigation{display:flex;align-items:center;gap:6px}
.hc-navigation button{min-height:42px}
.hc-arrow,.hc-close,.hc-icon-button{display:grid;place-items:center;background:#f4f6f9;color:#4c596e;border:0;border-radius:11px;min-width:42px;min-height:42px;font:28px/1 inherit;cursor:pointer}
.hc-arrow{font-size:26px}.hc-close{font-size:25px}.hc-icon-button{font-size:23px}
.hc-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:6px 26px 20px;color:#738095}
.hc-count{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.5;white-space:nowrap;font-weight:500}
.hc-count b{font-weight:650}.hc-count i,.hc-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--hc-dot)}
.hc-arrived{--hc-dot:#6f9cb4;color:#678a9c}.hc-planned{--hc-dot:#4b82d0;color:#466990}.hc-present{--hc-dot:#29a37b;color:#28816c}.hc-absent{--hc-dot:#ae83cd;color:#8c66a3}.hc-pending{--hc-dot:#ddab46;color:#9d7a2b}
.hc-month-total{margin-left:auto;font-size:12px;color:#8791a1}
.hc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 18px 18px;gap:1px;background:#fff}
.hc-weekday{padding:10px 8px 14px;text-align:left;font-size:11px;font-weight:650;color:#8590a1;letter-spacing:.4px}
.hc-day{position:relative;display:flex;flex-direction:column;gap:12px;text-align:left;min-width:0;min-height:134px;padding:12px;border:1px solid #edf0f4;border-radius:9px;color:#344054;background:#fff;cursor:pointer;font:inherit;transition:background 160ms,box-shadow 160ms}
.hc-day:hover{background:#f5f8fc;z-index:1;box-shadow:inset 0 0 0 1px #c5d8f0}
.hc-day:focus-visible{z-index:2;outline:3px solid #93b9ef;outline-offset:-3px}
.hc-weekend{background:#fafbfd}.hc-today{background:#f5f9ff;box-shadow:inset 0 0 0 1px #bbd4f5}
.hc-day-top{display:flex;justify-content:space-between;align-items:center;gap:4px}.hc-day-top strong{font-size:14px;font-weight:600}
.hc-today .hc-day-top strong{display:grid;place-items:center;background:#2573cf;color:#fff;width:27px;height:27px;border-radius:50%;margin:-5px}
.hc-day-counts{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.hc-empty-day{color:#c8d0db;font-size:12px}
.hc-attention{color:#be8431;background:#fff1d9;border-radius:50%;font-size:10px;display:grid;place-items:center;width:17px;height:17px}
.hc-lock,.hc-group-hint{font-size:10px;color:#9099a8}.hc-mobile-dots{display:none}
.hc-footer{border-top:1px solid #edf0f4;display:flex;justify-content:space-between;gap:10px;padding:16px 26px;color:#7c8798;font-size:11px}
.hc-tools{margin-top:18px;border:1px solid #e2e7ee;border-radius:15px;background:#fff}
.hc-tools>summary{padding:17px 20px;cursor:pointer;color:#4b5c73;font-size:13px;font-weight:600;min-height:48px}
.hc-tools>summary small{margin-left:12px;color:#8a95a4;font-weight:400}.hc-tools[open]>summary{border-bottom:1px solid #edf0f4}
.hc-tools .planner-layout{padding:16px;margin:0;height:auto}.hc-tools .planner-sidebar{box-shadow:none}.hc-tools .planner-panel{margin-top:0;min-height:600px}
.hc-sheet{padding:0;border:1px solid #e2e7ee;border-radius:22px;width:min(1050px,calc(100vw - 48px));max-width:1050px;max-height:calc(100dvh - 48px);color:#27364b;background:#fff;box-shadow:0 24px 90px #16283c33;overflow:auto}
.hc-sheet::backdrop{background:#172c4559;backdrop-filter:blur(4px)}
.hc-sheet[open]{animation:hc-in 220ms cubic-bezier(.2,.8,.2,1)}
.hc-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 20px;border-bottom:1px solid #edf0f4}
.hc-sheet-head h2{margin:0 0 5px;font-size:23px;letter-spacing:-.6px;line-height:1.3}.hc-sheet-head small{color:#8390a1;font-size:12px}.hc-sheet-head .eyebrow{font-size:10px;color:#8492a4;margin:0 0 8px;letter-spacing:1.2px}
.hc-day-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px 28px}.hc-day-stats>div{display:flex;flex-direction:column;gap:4px;border-right:1px solid #edf0f4;padding-left:12px}.hc-day-stats>div:first-child{padding-left:0}.hc-day-stats>div:last-child{border:0}.hc-day-stats strong{font-size:27px;letter-spacing:-.6px;font-weight:600}.hc-day-stats span{font-size:12px;color:#8490a0}
.hc-day-controls{display:flex;gap:10px;padding:0 28px 18px}.hc-day-controls input{flex:1;min-width:0}.hc-day-controls select{max-width:220px;min-width:0}.hc-day-controls input,.hc-day-controls select{min-height:44px;border:1px solid #e0e6ee;background:#fafbfd;border-radius:10px;padding:9px 12px;font:inherit;font-size:13px}
.hc-people-list{padding:0 28px}.hc-person{display:flex;align-items:flex-start;gap:13px;padding:20px 0;border-top:1px solid #edf0f4}.hc-avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:#f0f3f7;font-size:12px;color:#74849a;font-weight:600}
.hc-person-main{flex:1;min-width:0}.hc-person-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hc-person-title>strong{font-size:14px;font-weight:600}.hc-person-main>small{display:block;margin:5px 0 9px;font-size:11px;color:#929baa}
.hc-status{font-size:10px;font-weight:600;padding:4px 8px;border-radius:6px;background:#f0f3f7;color:#7c8798}.hc-status-present{background:#e9f6ef;color:#2b8667}.hc-status-departed{background:#edf2fa;color:#607d9e}.hc-status-absent{background:#f4edf8;color:#9569a7}.hc-status-awaiting,.hc-status-review,.hc-status-unclosed{background:#fff3df;color:#a47b31}
.hc-plan,.hc-observed,.hc-leave,.hc-conflict{font-size:12px;line-height:1.65;color:#67778d;overflow-wrap:anywhere}.hc-observed{color:#508673}.hc-leave{color:#9569a7}.hc-leave-pending{color:#aa843c}.hc-conflict{margin-top:6px;color:#b57e38}.hc-source{color:#8b96a5;font-size:10px}
.hc-person-actions{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.hc-person-actions .secondary-button{font-size:11px;min-height:40px;padding:8px 12px;background:#fff}.hc-text-button{border:0;background:transparent;color:#3377ba;font:inherit;font-size:11px;cursor:pointer;min-height:36px;padding:5px 8px;border-radius:7px}.hc-text-button:hover{background:#edf4fc}
.hc-sheet-footer{padding:18px 28px;color:#919bab;font-size:11px;border-top:1px solid #edf0f4}
.hc-loading,.hc-sheet-loading{display:flex;gap:14px;flex-direction:column;align-items:center;padding:40px 20px;text-align:center;color:#7b899b;font-size:13px}
.hc-notice{margin:0 28px 18px;padding:12px 15px;background:#fff8ec;border-radius:10px;color:#a1844c;font-size:12px}
.hc-edit{max-width:500px}.hc-form-body{padding:22px 28px;display:flex;flex-direction:column;gap:16px}.hc-form-body label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#64748b}.hc-form-body input,.hc-form-body select,.hc-form-body textarea{font:inherit;padding:11px;border:1px solid #dce4ee;border-radius:9px;min-height:44px;background:#fff;color:#27364b;min-width:0;width:100%}.hc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hc-form-body label.hc-check{flex-direction:row;align-items:center;gap:10px}.hc-check input{width:18px;height:18px;min-height:18px;flex:none}.hc-form-hint{font-size:11px;line-height:1.6;color:#8b97a7;margin:0}.hc-edit-footer{padding:16px 28px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf0f4}.hc-error{color:#c35353!important;font-size:12px;line-height:1.5;margin:0}
@keyframes hc-in{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hc-day{min-height:145px}}
@media(max-width:1050px){.hc-day{padding:9px;min-height:125px}.hc-count{font-size:10px;gap:4px}.hc-legend{gap:12px}.hc-month-total{display:none}.hc-footer{flex-direction:column}.hc-person-actions .secondary-button{max-width:150px}}
@media(max-width:700px){#shiftPlannerView .module-header{display:flex;flex-wrap:wrap;gap:12px}#shiftPlannerView .module-header h1{font-size:24px}#shiftPlannerView .module-header .back-button{display:none}#shiftPlannerView .module-header .header-actions{width:100%;justify-content:space-between}.hc-toolbar{padding:20px 14px 10px}.hc-month h2{font-size:20px}.hc-month>span{font-size:10px}.hc-navigation .secondary-button{padding:8px 12px}.hc-legend{padding:6px 14px 16px;gap:10px}.hc-grid{padding:0 7px 10px;gap:2px}.hc-weekday{padding:8px 3px 12px;text-align:center}.hc-day{min-height:73px;padding:8px 5px;gap:8px;align-items:center}.hc-day-top{width:100%;justify-content:center}.hc-day-top strong{font-size:13px}.hc-day-counts{display:none}.hc-mobile-dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;max-width:30px}.hc-dot{display:block;width:5px;height:5px}.hc-attention{position:absolute;right:3px;top:3px;width:9px;height:9px;font-size:8px}.hc-lock{display:none}.hc-footer{padding:14px;font-size:10px}.hc-tools>summary small{display:none}.hc-tools .planner-layout{padding:8px}.hc-sheet{width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border-radius:18px}.hc-sheet-head{padding:20px 18px 16px}.hc-sheet-head h2{font-size:19px}.hc-day-stats{padding:18px;gap:5px}.hc-day-stats strong{font-size:23px}.hc-day-stats span{font-size:10px}.hc-day-controls{padding:0 18px 15px;flex-wrap:wrap}.hc-day-controls input{flex-basis:100%}.hc-day-controls select{flex:1;max-width:none}.hc-people-list{padding:0 18px}.hc-person{gap:9px;flex-wrap:wrap}.hc-avatar{width:30px;height:30px;font-size:10px}.hc-person-main{flex-basis:calc(100% - 40px)}.hc-person-actions{margin-left:39px;flex-direction:row;align-items:center}.hc-person-title{gap:6px}.hc-person-title>strong{font-size:13px}.hc-sheet-footer{padding:16px 18px;font-size:10px}.hc-notice{margin:0 18px 15px}.hc-form-body{padding:18px}.hc-edit-footer{padding:16px 18px}}
@media(prefers-reduced-motion:reduce){.hc-sheet[open]{animation:none}.hc-day{transition:none}}

/* A single calendar surface: plan, absence and observed attendance together. */
.hc-home{min-width:0}#shiftPlannerView>.module-header{display:none}
.hc-unified{border-radius:18px;box-shadow:0 4px 24px #20334b03}
.hc-unified .hc-toolbar{padding:24px;gap:20px;flex-wrap:wrap}
.hc-unified .hc-month h2{font-size:25px;letter-spacing:-.8px}
.hc-calendar-actions,.hc-create-actions{display:flex;align-items:center;gap:18px}.hc-calendar-actions{margin-left:auto}
.hc-create-actions{gap:8px}.hc-create-actions button{border-radius:10px!important;min-height:42px;font-size:12px;font-weight:550;white-space:nowrap}
.hc-create-actions .primary-button>span{font-size:18px;margin-right:3px;font-weight:400}
.hc-view-switch{display:inline-flex;gap:2px;background:#f1f4f8;padding:3px;border-radius:10px}
.hc-view-switch button{border:0;background:none;border-radius:7px;color:#8794a4;padding:9px 13px;font:inherit;font-size:11px;cursor:pointer;min-height:36px}
.hc-view-switch button[aria-pressed=true]{background:#fff;color:#3a638d;box-shadow:0 1px 4px #223a5610;font-weight:600}
.hc-date-jump{position:relative;display:flex}.hc-date-jump input{width:38px;height:42px;color:transparent;border:0;background:#f5f7fa;border-radius:10px;cursor:pointer;padding:8px;min-width:0}
.hc-date-jump input::-webkit-datetime-edit{display:none}.hc-date-jump input::-webkit-calendar-picker-indicator{margin:0;width:19px;height:19px;cursor:pointer;opacity:.55}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hc-unified-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px 18px}.hc-unified-meta .hc-legend{padding:0;gap:18px}.hc-calendar-hint{font-size:10px;color:#a1aabb}
.hc-unified .hc-grid{padding:0;gap:0}.hc-unified .hc-weekday{padding:14px 12px;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;color:#8390a3;font-size:10px;font-weight:550}
.hc-unified .hc-day,.hc-unified .hc-blank{min-height:157px;border:0;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;border-radius:0;padding:11px 9px;gap:8px;align-items:stretch}
.hc-unified .hc-day:nth-child(7n){border-right:0}.hc-unified .hc-day-top{min-height:25px;justify-content:space-between;padding:0 3px}
.hc-unified .hc-today .hc-day-top strong{margin:0;width:26px;height:26px}
.hc-unified .hc-day-counts{display:flex;gap:4px;width:100%;min-width:0;flex:1}
.hc-preview-row{display:flex;flex-direction:column;gap:2px;width:100%;padding:5px 6px;border-left:2px solid #94b8e4;background:#eef4fd;border-radius:4px;min-width:0}
.hc-preview-row strong{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:550;color:#416995;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.hc-preview-row small{font-size:9px;line-height:1.4;color:#7b97b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-preview-leave{background:#f5eef9;border-color:#c19bd5}.hc-preview-leave strong{color:#8a65a0}.hc-preview-leave small{color:#a18ab4}
.hc-preview-pending{background:#fff7e8;border-color:#e3bd74}.hc-preview-pending strong{color:#9d7c40}.hc-preview-pending small{color:#b39a6b}
.hc-preview-attendance{background:#f3f6f9;border-color:#b5c2d0}.hc-preview-attendance strong{color:#6a8199}.hc-preview-attendance small{color:#96a5b6}
.hc-inline-attendance{display:block;font-size:9px;color:#619787;margin-top:2px}
.hc-presence-dot{width:5px;height:5px;border-radius:50%;display:inline-block;flex:none}.hc-presence-dot.is-in{background:#24a17a;box-shadow:0 0 0 2px #27ac7d17}.hc-presence-dot.is-out{background:#9eafc3}
.hc-is-present{border-left-color:#3eaa8a}.hc-more{font-size:9px;color:#8597ad;padding:3px 5px}
.hc-cell-totals{display:flex;flex-wrap:wrap;gap:3px 7px;font-size:9px;color:#97a3b3;min-height:13px}.hc-cell-totals span{white-space:nowrap}
.hc-unified .hc-footer{font-size:10px;padding:15px 24px}.hc-unified .hc-attention{position:static}
.hc-week-view .hc-day{min-height:400px;justify-content:flex-start}.hc-week-view .hc-day-counts{flex:0}.hc-week-view .hc-cell-totals{margin-top:auto}.hc-week-view .hc-preview-row{padding:8px 7px}.hc-week-view .hc-preview-row strong{font-size:11px}
.hc-week-view .hc-day-top strong{font-size:24px;font-weight:500;color:#6f8096}.hc-week-view .hc-today .hc-day-top strong{width:34px;height:34px;font-size:21px}
.hc-unified button:focus-visible,.hb-sheet button:focus-visible,.hb-sheet input:focus-visible{outline:3px solid #adcbee;outline-offset:2px}

/* The quick planner keeps people, dates and shift settings visible together. */
.hb-sheet{width:min(1000px,calc(100vw - 48px));max-width:1000px;border-radius:22px;scrollbar-width:thin}
.hb-sheet .hc-sheet-head{padding:25px 28px 22px}.hb-sheet .hc-sheet-head h2{font-size:22px;letter-spacing:-.65px}
.hb-workspace{display:grid;grid-template-columns:1fr 1fr;padding:0 28px;gap:28px}
.hb-people{border-right:1px solid #edf0f4;padding:22px 26px 20px 0;min-width:0}.hb-days-panel{padding:22px 0;min-width:0}
.hb-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.hb-section-head>div{display:flex;gap:0}
.hb-section-head h3,.hb-shift h3{font-size:13px;color:#42566f;font-weight:600;margin:0;white-space:nowrap}.hb-section-head h3>span{display:inline-flex;align-items:center;justify-content:center;min-width:21px;min-height:21px;padding:0 4px;margin-left:4px;border-radius:6px;background:#edf4fe;color:#6389b3;font-size:10px;font-weight:600}
.hb-section-head .hc-text-button{font-size:10px;padding:4px 6px}
.hb-search{display:flex;gap:8px;margin-bottom:12px}.hb-search input,.hb-search select,.hb-shift input{border:1px solid #e2e8f0;background:#fafbfd;border-radius:9px;font:inherit;color:#50627a;font-size:11px;min-height:40px;padding:9px 10px;min-width:0}
.hb-search input{flex:1;width:100%}.hb-search select{width:130px;font-size:10px}
.hb-users{max-height:450px;min-height:280px;overflow:auto;scrollbar-width:thin;padding:0 3px 2px 0;display:flex;flex-direction:column;gap:5px}
.hb-user{display:flex;align-items:center;gap:11px;position:relative;min-height:63px;border:1px solid transparent;border-radius:11px;padding:10px;cursor:pointer;background:#fafbfd;flex:none;transition:background 140ms,border-color 140ms}
.hb-user input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.hb-user:focus-within{outline:2px solid #adcbee;outline-offset:-2px}.hb-user>.hc-avatar{width:33px;height:33px;font-size:10px}
.hb-user>span:not(.hc-avatar){display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.hb-user strong{font-size:12px;font-weight:550;color:#50647d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-user small{font-size:9px;color:#94a1b2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-user>i{width:19px;height:19px;display:grid;place-items:center;font-size:11px;font-style:normal;border:1px solid #dce4ee;border-radius:50%;color:transparent;flex:none}
.hb-user.is-selected{background:#f0f6ff;border-color:#d2e3fa}.hb-user.is-selected>i{background:#3b80d4;border-color:#3b80d4;color:#fff}.hb-user.is-selected .hc-avatar{background:#e0ecfb;color:#6991bd}
.hb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.hb-days button{border:0;border-radius:9px;font:inherit;background:#f6f8fb;color:#6e8099;font-size:12px;min-height:37px;cursor:pointer;padding:4px}
.hb-days button.hb-weekday{background:none;color:#9aa6b7;font-size:10px;min-height:30px}.hb-days button.is-selected{background:#347cd0;color:#fff;box-shadow:0 2px 5px #327cd026}.hb-days button:disabled{opacity:.35;cursor:not-allowed}
.hb-hint{font-size:10px;color:#97a4b6;line-height:1.65;margin:10px 0}.hb-shift{margin-top:21px;padding-top:20px;border-top:1px solid #edf0f4}
.hb-templates{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.hb-templates button{display:flex;flex-direction:column;gap:4px;flex:1;min-width:70px;background:#fafbfd;border:1px solid #e8edf4;border-radius:8px;padding:10px;font:inherit;font-size:10px;color:#8392a5;cursor:pointer;text-align:left}.hb-templates small{font-size:9px;color:#9eaabb}.hb-templates button[aria-pressed=true]{background:#edf5ff;border-color:#c9ddf7;color:#5381b5}
.hb-shift label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#8392a6}.hb-shift .hc-form-grid{gap:12px}.hb-note-label{margin:9px 0 13px}.hb-shift label.hb-check{display:flex;flex-direction:row;align-items:center;gap:8px;color:#657d98;line-height:1.5}.hb-check input{width:15px;height:15px;min-height:15px;flex:none;accent-color:#397fd3}
.hb-footer{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;background:#fffffffa;border-top:1px solid #edf0f4;padding:20px 28px;z-index:2;box-shadow:0 -10px 22px #26394d03;border-radius:0 0 22px 22px}
.hb-footer>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.hb-footer strong{font-size:13px;color:#496381;font-weight:550;line-height:1.5}.hb-footer small{font-size:10px;color:#9aa7b8;line-height:1.5}.hb-footer button{font-size:11px;min-height:43px;border-radius:10px}
.hb-footer button:disabled{opacity:.45;cursor:default}.hb-result{padding:0 28px}.hb-result:empty{display:none}.hb-result-head{padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf0f4}.hb-result-head>div{display:flex;gap:14px;flex-wrap:wrap}.hb-result-head span{font-size:11px;color:#8d9aae}.hb-result-head b{font-size:15px;font-weight:550;margin-right:3px}
.hb-result-table{max-height:200px;overflow:auto;border:1px solid #e8edf4;border-radius:10px;margin-bottom:16px}.hb-result-row{display:grid;grid-template-columns:minmax(100px,1fr) 55px minmax(120px,1fr);gap:12px;padding:9px 12px;border-bottom:1px solid #f1f3f7;font-size:11px;color:#6a8099;line-height:1.5}.hb-result-row:last-child{border:0}.hb-result-row small{display:block;color:#9ba8b7;font-size:9px}
.hb-result .hb-result-create{color:#4683bb}.hb-result .hb-result-replace{color:#a78b53}.hb-result .hb-result-conflict{color:#bd6969}.hb-result .hc-error{font-size:11px;margin:0 0 14px}
.hb-previewing .hb-workspace{display:none}.hb-previewing .hb-result-table{max-height:min(50dvh,420px)}.hb-previewing .hb-result-head{border-top:0}.hb-preview-title{padding:22px 0 0;margin:0;font-size:12px;color:#8a9bb0}.hb-preview-title strong{color:#4b6c93;font-weight:550}
.hc-week-view .hc-today .hc-day-top strong{color:#fff}
@media(max-width:1200px){.hc-unified .hc-toolbar{gap:14px;padding:20px}.hc-unified-meta{padding:0 20px 16px}.hc-calendar-hint{display:none}.hc-calendar-actions{gap:12px}.hc-create-actions button{font-size:11px;padding:9px 12px}.hc-unified .hc-month h2{font-size:23px}}
@media(max-width:900px){.hc-create-actions{width:100%;justify-content:flex-end}.hc-unified .hc-toolbar{gap:12px}.hc-unified-meta .hc-legend{gap:10px}.hc-calendar-actions{gap:8px}.hc-unified .hc-day{padding:9px 5px}.hc-preview-row{padding:4px}.hc-preview-row strong{font-size:9px}.hc-cell-totals{font-size:8px;gap:3px}.hb-sheet{width:calc(100vw - 24px)}.hb-workspace{padding:0 20px;gap:20px}.hb-people{padding-right:18px}.hb-search{flex-direction:column}.hb-search select{width:100%}}
@media(max-width:700px){.hc-unified .hc-toolbar{padding:16px 14px;gap:15px}.hc-unified .hc-month{width:100%}.hc-unified .hc-month h2{font-size:22px}.hc-calendar-actions{margin-left:0;justify-content:space-between;width:100%;gap:5px}.hc-create-actions{justify-content:stretch}.hc-create-actions button{flex:1}.hc-unified-meta{padding:0 14px 14px}.hc-unified-meta .hc-legend{gap:7px 12px}.hc-unified-meta .hc-count{font-size:9px}.hc-unified .hc-weekday{padding:12px 2px;font-size:9px}.hc-unified .hc-day,.hc-unified .hc-blank{min-height:101px;padding:6px 3px;gap:5px}.hc-unified .hc-day-top{justify-content:center;min-height:23px;padding:0}.hc-unified .hc-day-top strong{font-size:12px}.hc-unified .hc-today .hc-day-top strong{width:23px;height:23px}.hc-unified .hc-attention{position:absolute;top:4px;right:3px;width:7px;height:7px;font-size:6px}.hc-unified .hc-cell-totals{gap:3px;font-size:8px;display:flex;flex-direction:column;align-items:center}.hc-unified .hc-day-counts{display:none}.hc-unified .hc-day-top .hc-lock{display:none}.hc-unified .hc-footer{padding:14px;gap:5px;font-size:9px}.hc-week-view .hc-calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain}.hc-week-view .hc-grid{min-width:900px}.hc-week-view .hc-day-counts{display:flex}.hc-week-view .hc-day{min-height:370px;padding:9px}.hc-week-view .hc-cell-totals{flex-direction:row;align-items:flex-start;font-size:10px;gap:8px}.hc-week-view .hc-preview-row strong{font-size:11px}.hc-week-view .hc-day-top strong{font-size:22px}.hc-week-view .hc-weekday{font-size:11px}.hb-sheet{width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}.hb-sheet .hc-sheet-head{padding:20px 18px 16px}.hb-sheet .hc-sheet-head h2{font-size:19px}.hb-workspace{grid-template-columns:1fr;padding:0 18px;gap:0}.hb-people{padding:16px 0;border-right:0;border-bottom:1px solid #edf0f4}.hb-search{flex-direction:row}.hb-search select{width:130px}.hb-users{min-height:0;max-height:225px}.hb-days-panel{padding:18px 0}.hb-days button{min-height:44px}.hb-user{min-height:55px}.hb-footer{padding:14px 18px;flex-wrap:wrap;gap:10px;border-radius:0 0 18px 18px}.hb-footer>div{flex-basis:100%}.hb-footer button{flex:1}.hb-result{padding:0 18px}.hb-result-row{grid-template-columns:minmax(80px,1fr) 44px minmax(95px,1fr);gap:7px;font-size:10px}.hb-result-head{align-items:flex-start}.hb-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hb-user{transition:none}.hb-sheet{scroll-behavior:auto}}

/* Monthly planning canvas: persistent roster and explicit day/week/month targets. */
.hcp-workspace{display:grid;grid-template-columns:236px minmax(0,1fr);gap:18px;align-items:start}
#hrCalendarSurface{min-width:0}.hcp-roster{position:sticky;top:0;display:flex;flex-direction:column;max-height:calc(100dvh - 165px);min-height:480px;background:#fff;border:1px solid #e5eaf1;border-radius:16px;overflow:hidden}
.hcp-roster>details{min-height:0;display:flex;flex-direction:column;overflow:hidden}.hcp-roster>details>summary{display:none}
.hcp-roster-inner{display:flex;flex-direction:column;padding:20px 15px 14px;min-height:0;overflow:hidden}
.hcp-roster-head{display:flex;align-items:center;gap:6px;margin-bottom:17px}.hcp-roster h2{font-size:13px;font-weight:600;color:#4b6079;margin:0}.hcp-roster-head>span{font-size:9px;color:#7d99bb;margin-left:auto;white-space:nowrap}
#hcpRetry{min-height:30px;min-width:27px;background:none;border:0;font:inherit;color:#8a9db5;cursor:pointer;border-radius:6px;font-size:17px}
.hcp-roster-search{display:flex;flex-direction:column;gap:7px}.hcp-roster-search input,.hcp-roster-search select,.hcp-shift input,.hcp-shift select{width:100%;min-width:0;font:inherit;font-size:11px;background:#fafbfd;border:1px solid #e3e9f1;border-radius:8px;padding:10px;color:#5b708b;min-height:39px}
.hcp-roster-search select{font-size:10px}.hcp-roster-select{display:flex;gap:10px;padding:10px 1px 7px}.hcp-roster-select button{background:none;border:0;color:#7a95b5;font:inherit;font-size:10px;padding:3px 0;min-height:25px;cursor:pointer}
.hcp-roster-people{min-height:100px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding-right:2px}
.hcp-person{display:flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:9px;min-height:44px;margin:2px 0;cursor:grab;background:#fafbfd;user-select:none;-webkit-user-select:none}
.hcp-person label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:10px 1px 10px 9px;cursor:pointer}
.hcp-person input{appearance:none;-webkit-appearance:none;margin:0;width:15px;height:15px;flex:none;background:#fff;border:1px solid #d8e2ef;border-radius:5px;cursor:pointer;display:grid;place-content:center}
.hcp-person input:checked{background:#367dcc;border-color:#367dcc}.hcp-person input:checked::after{content:'✓';font-size:10px;line-height:1;color:#fff}
.hcp-person label>span{display:flex;flex-direction:column;gap:3px;min-width:0}.hcp-person strong{font-size:11px;font-weight:550;color:#5e728e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcp-person small{font-size:9px;color:#a0acbd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcp-person button{padding:0 6px;min-width:28px;min-height:38px;border:0;background:none;color:#bcc7d5;font-size:21px;cursor:grab;touch-action:none;flex:none}
.hcp-person.is-selected{background:#eef5ff;border-color:#d3e3f8}.hcp-person.is-selected strong{color:#4777b0}.hcp-person:active{cursor:grabbing}
.hcp-shift{padding-top:15px;margin-top:13px;border-top:1px solid #edf0f4;display:flex;flex-direction:column;gap:11px}.hcp-shift label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#8191a7}.hcp-shift select{font-size:10px}
.hcp-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hcp-time-fields input{padding:9px 6px;font-size:11px;min-height:37px}
.hcp-shift label.hcp-check{flex-direction:row;align-items:center;gap:7px;font-size:9px;line-height:1.5}.hcp-check input{width:14px;height:14px;min-height:14px;padding:0;flex:none;accent-color:#367dcc}
.hcp-roster-footer{margin-top:auto;padding:13px 15px 15px;border-top:1px solid #edf0f4;display:flex;flex-direction:column;gap:9px;background:#fff}
#hcpBundle{display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed #bdd3ef;border-radius:9px;background:#f4f8ff;color:#6184b0;padding:10px 6px;font:inherit;font-size:11px;font-weight:550;min-height:43px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
#hcpBundle:disabled{opacity:.5;cursor:default}.hcp-grip{font-size:20px;line-height:1;color:#89a8d0}
.hcp-place-actions{display:flex;gap:7px}#hcpPlace{flex:1;border:0;background:#347bd1;color:#fff;border-radius:8px;font:inherit;font-size:10px;padding:11px 5px;min-height:39px;cursor:pointer}#hcpPlace:disabled{background:#edf2f8;color:#a5b2c3;cursor:default}#hcpPlace[aria-pressed=true]{background:#255f9f}#hcpCancel{width:34px;border:0;border-radius:8px;background:#f2f5f9;color:#7c91aa;font-size:18px;cursor:pointer}
#hcpRosterHint{font-size:9px;line-height:1.6;color:#9aa8bb;text-align:center}.hcp-empty,.hcp-loading{padding:20px 10px;font-size:11px;color:#91a0b3;text-align:center;line-height:1.7}.hcp-loading{display:flex;flex-direction:column;gap:15px;padding:30px 15px}
.hcp-target-bar{display:flex;align-items:center;gap:12px;padding:0 20px 14px;min-height:44px}#hcpMonthTarget{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px dashed #d1dfef;border-radius:8px;background:#fafcff;color:#7991ad;font:inherit;font-size:10px;padding:8px 12px;cursor:pointer}#hcpMonthTarget>span{font-size:16px;color:#a0b6d1}#hcpTargetHint{font-size:10px;color:#4779ad}
.hc-unified .hcp-month-grid{grid-template-columns:31px repeat(7,minmax(0,1fr))}.hcp-week-label{background:#f9fbfe;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
.hcp-week-target{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-right:1px solid #e6edf5;border-bottom:1px solid #e6edf5;background:#f8fbff;color:#9db1c9;cursor:pointer;min-width:0;padding:5px 0;font:inherit}.hcp-week-target>span{font-size:18px}.hcp-week-target small{font-size:8px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:1px}
.hc-unified .hcp-month-grid .hc-day{border-right:1px solid #edf0f4}.hc-unified .hcp-month-grid .hc-day:nth-child(8n){border-right:0}
.hcp-placing [data-hcp-drop],.hcp-dragging [data-hcp-drop]{cursor:copy!important}.hcp-placing #hcpMonthTarget,.hcp-placing .hcp-week-target{background:#edf5ff;color:#4e83bb;border-color:#bad4f3}
.hc-unified .hc-day.hcp-drop-preview{background:#eaf4ff;box-shadow:inset 0 0 0 1px #a9c9ed;z-index:1}.hcp-drop-hover{background:#deedff!important;box-shadow:inset 0 0 0 2px #69a0db!important;color:#3d77b5!important;z-index:2}
.hcp-drag-ghost{position:fixed;left:-10000px;top:0;pointer-events:none;z-index:10000;background:#326eaf;color:#fff;border:1px solid #285f9c;border-radius:12px;padding:13px 17px;box-shadow:0 12px 30px #21405e35;font:500 12px/1.5 'Segoe UI',sans-serif;white-space:nowrap}
.hcp-roster button:focus-visible,.hcp-roster input:focus-visible,.hcp-roster select:focus-visible,[data-hcp-drop]:focus-visible{outline:3px solid #a7c9f2;outline-offset:2px}
@media(min-width:701px){.hr-workstation .hr-hub.hr-calendar-focus{grid-template-columns:76px minmax(0,1fr)}.hr-calendar-focus .hr-sidebar{padding:23px 9px 16px}.hr-calendar-focus .hr-hub-brand{font-size:0;margin:0 auto 32px;width:38px;height:38px;background:url('/assets/doughlab-favicon.png') center/contain no-repeat}.hr-calendar-focus .hr-hub-brand span,.hr-calendar-focus .hr-hub-brand small{display:none}.hr-calendar-focus #hrPrimaryNavigation>button{padding:12px;justify-content:center;gap:0}.hr-calendar-focus #hrPrimaryNavigation>button>span{display:none}.hr-calendar-focus .hr-sidebar-bottom{padding:14px 0;flex-direction:column}.hr-calendar-focus .hr-sidebar-bottom .hr-sidebar-help{font-size:0}.hr-calendar-focus .hr-sidebar-bottom .hr-sidebar-help::after{content:'?';font-size:15px}.hr-calendar-focus #hrOwnPortal{font-size:9px;padding:6px 0}}
@media(max-width:1200px){.hcp-workspace{grid-template-columns:218px minmax(0,1fr);gap:14px}.hcp-roster-inner{padding:17px 12px 12px}.hcp-roster-footer{padding:12px}.hc-unified .hc-toolbar{padding:19px 16px}.hc-unified-meta{padding:0 16px 14px}}
@media(max-width:900px){.hcp-workspace{grid-template-columns:minmax(0,1fr);gap:14px}.hcp-roster{position:static;min-height:0;max-height:none}.hcp-roster>details>summary{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:12px;color:#5b7697;cursor:pointer;list-style:none}.hcp-roster>details>summary::-webkit-details-marker{display:none}.hcp-roster>details>summary b{font-size:10px;font-weight:600;background:#eef5ff;padding:3px 6px;border-radius:5px;margin-left:5px}.hcp-roster>details>summary b:empty{display:none}.hcp-roster-inner{padding:0 16px 16px}.hcp-roster-head{display:none}.hcp-roster-search{flex-direction:row}.hcp-roster-search input{flex:1}.hcp-roster-search select{width:160px}.hcp-roster-people{max-height:220px;min-height:0}.hcp-shift{display:grid;grid-template-columns:1fr 1fr;align-items:end}.hcp-roster-footer{padding:10px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}#hcpBundle{min-height:39px}#hcpRosterHint{grid-column:1/-1;text-align:left;font-size:9px}.hcp-roster-select{padding-top:7px}.hcp-target-bar{padding:0 16px 12px}.hc-unified .hcp-month-grid{grid-template-columns:28px repeat(7,minmax(0,1fr))}}
@media(max-width:700px){.hcp-roster-search select{width:130px}.hcp-shift{grid-template-columns:minmax(0,1fr)}.hcp-time-fields{gap:12px}.hcp-time-fields input{min-height:42px}.hcp-roster-people{max-height:220px}.hcp-roster-footer{grid-template-columns:minmax(0,1fr)}#hcpRosterHint{grid-column:1}.hcp-place-actions{min-width:0}.hcp-target-bar{padding:0 10px 12px;gap:8px;flex-wrap:wrap}#hcpTargetHint{font-size:9px}.hc-unified .hcp-month-grid{grid-template-columns:24px repeat(7,minmax(0,1fr))}.hcp-week-target>span{font-size:16px}.hcp-week-target small{font-size:7px}.hc-unified .hcp-month-grid .hc-weekday{font-size:8px;padding:11px 0}.hcp-fold{font-size:15px}.hcp-person{min-height:44px}.hcp-person button{min-height:42px;min-width:36px}.hcp-roster-inner{padding:0 12px 12px}}
@media(prefers-reduced-motion:reduce){.hcp-person{transition:none}}

/* Isolate roster controls from the older HR form's global label/input sizing. */
#hrCalendarRoster .hcp-person label{flex-direction:row;margin:0}
#hrCalendarRoster .hcp-person input{box-sizing:border-box;min-width:15px;max-width:15px;min-height:15px;max-height:15px;padding:0;flex:0 0 15px}
#hrCalendarRoster .hcp-person input:checked{background:#367dcc!important;border-color:#367dcc!important;color:#fff!important}
#hrCalendarRoster .hcp-check input{box-sizing:border-box;min-width:14px;max-width:14px;min-height:14px;max-height:14px;padding:0}
.hcp-roster>details{overflow-y:auto;flex:1;scrollbar-width:thin}.hcp-roster-inner{overflow:visible}
#hrCalendarRoster label{margin:0;font-weight:500}.hcp-roster-people{flex:0 1 auto;max-height:clamp(160px,calc(100dvh - 650px),410px)}
.hcp-options{border-top:1px solid #f0f3f7;padding-top:3px}.hcp-options>summary{display:block;padding:9px 0;color:#8a9bb1;font-size:10px;cursor:pointer;list-style:none}.hcp-options>summary::after{content:'⌄';float:right}.hcp-options>summary::-webkit-details-marker{display:none}.hcp-options-body{display:flex;flex-direction:column;gap:12px;padding:5px 0}
.hcp-options[open]>summary::after{content:'⌃'}
@media(max-width:900px){.hcp-shift{display:flex;flex-direction:column;align-items:stretch}.hcp-roster-people{max-height:220px}.hcp-options-body{display:grid;grid-template-columns:1fr 1fr;align-items:center}.hcp-options-body .hcp-time-fields{grid-column:1/-1}}
@media(max-width:700px){.hcp-options-body{grid-template-columns:minmax(0,1fr)}}
.hcp-empty-selection .hcp-place-actions{display:none}
@media(max-width:900px){.hcp-roster-footer.hcp-empty-selection{display:none}}
/* Compact library inside the main calendar; no secondary planner. */
.hcs-sheet{width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}
.hcs-tabs{display:flex;gap:6px;padding:0 24px 16px;border-bottom:1px solid #edf0f4;overflow-x:auto}
.hcs-tabs button{flex-shrink:0;border:0;background:transparent;color:#677486;padding:10px 14px;border-radius:10px;font:inherit;font-size:13px;cursor:pointer;min-height:42px}
.hcs-tabs button[aria-current]{background:#edf3fc;color:#1765c5;font-weight:600}
.hcs-tabs button:hover{background:#f1f4f8}
.hcs-body{padding:20px 24px 24px}.hcs-intro{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.hcs-intro p,.hcs-hint{color:#738095;font-size:13px;line-height:1.6;margin:0}.hcs-intro p{flex:1}.hcs-intro button{flex-shrink:0}
.hcs-list{display:grid;gap:1px}.hcs-row{display:flex;align-items:center;gap:14px;min-height:74px;padding:14px 0;border-bottom:1px solid #edf0f4}
.hcs-row>div{display:grid;gap:5px;flex:1;min-width:0}.hcs-row strong{font-size:14px;overflow-wrap:anywhere}.hcs-row small{color:#7c8797;font-size:12px;overflow-wrap:anywhere}.hcs-row button{flex-shrink:0;font-size:12px;min-height:40px}
.hcs-swatch{width:10px;height:34px;background:#7e899b;border-radius:6px;flex-shrink:0}.hcs-swatch[data-tone=morning]{background:#3c9d87}.hcs-swatch[data-tone=afternoon]{background:#d3a347}.hcs-swatch[data-tone=night]{background:#628ec7}
.hcs-hint{margin-top:18px}.hcs-error:not(:empty){padding:12px;border-radius:10px;background:#fff1f0;color:#b63232;font-size:13px;line-height:1.5}.hcs-error:empty{display:none}
.hcs-empty{padding:20px 0;color:#7c8797}.hcs-day-tools{padding:0 24px}.hcs-day-tools:empty{display:none}.hcs-day-tools button{padding:0 0 14px;min-height:40px}.hcs-day-tools span{border-radius:12px;background:#edf3fc;padding:3px 7px;margin-left:5px}
.hcs-danger{color:#b44242}.hcs-confirm{border:1px solid #eed4ce;background:#fff7f4;border-radius:12px;padding:16px;margin-top:18px}.hcs-confirm p{font-size:13px;line-height:1.5;margin:0 0 12px}.hcs-confirm>div{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hcs-shift-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hcs-shift-label button{font-size:12px;min-height:36px}.hcs-shift-label label{margin:0}
.hcs-editor{max-height:calc(100dvh - 32px);overflow:auto;background:#fff}.hcs-editor .shift-template-modal{background:#fff;color:#23364c;border:0;box-shadow:none;gap:20px;padding:26px}
.hcs-editor .shift-template-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hcs-editor label{display:grid;gap:7px;font-size:12px;color:#677486}.hcs-editor input,.hcs-editor select{background:#f8fafc;color:#26394f;border:1px solid #dce3ed;border-radius:10px;min-width:0;min-height:44px;padding:10px 12px;font:inherit}.hcs-editor input[readonly]{background:#f0f2f5;color:#8590a0}.hcs-editor .modal-head{align-items:center}.hcs-editor .modal-head h2{font-size:22px}.hcs-editor .icon-button{background:#f4f6f9;color:#677486;border:0;border-radius:50%;width:36px;height:36px}.hcs-editor .planner-form-actions{display:flex;gap:8px;flex-wrap:wrap}.hcs-editor .planner-form-actions button{min-height:44px}.hcs-editor .danger-button{margin-left:auto;color:#b44242}.hcs-editor form[aria-busy=true]{opacity:.65}
@media(max-width:600px){.hcs-sheet{width:calc(100vw - 16px)}.hcs-tabs{padding:0 16px 12px;gap:2px}.hcs-tabs button{padding:10px}.hcs-body{padding:16px}.hcs-intro{align-items:flex-start;flex-direction:column;gap:12px}.hcs-row{gap:10px}.hcs-row button{padding:8px 10px}.hcs-day-tools{padding:0 18px}.hcs-editor .shift-template-modal{padding:20px}.hcs-editor .planner-form-actions .danger-button{margin-left:0}.hcs-open{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hcs-editor[open]{animation:none}}

.hcs-editor label:has(#workGroupLabel),.hcs-editor label:has(#workGroupKey){grid-column:1 / -1}
