:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eef1f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffffc7,#eef1f5f2),#eef1f5;min-width:1380px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:306px minmax(0,1fr) 312px 338px;min-height:100vh;display:grid;position:relative}.language-toggle{z-index:60;background:#ffffffeb;border:1px solid #d8dee8;border-radius:999px;gap:2px;padding:3px;display:inline-flex;position:fixed;top:8px;right:10px;box-shadow:0 8px 20px #1c25371a}.language-toggle button{color:#475569;background:0 0;border:0;border-radius:999px;min-height:24px;padding:0 9px;font-size:11px;font-weight:900}.language-toggle button.selected{color:#fff;background:#172033}.access-mode-badge{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:11px;font-weight:900;display:inline-flex}.access-mode-badge.access-owner{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.access-mode-badge.access-reviewer{color:#92400e;background:#fffbeb;border-color:#fde68a}.access-mode-badge.access-readOnly{color:#475569;background:#f8fafc;border-color:#cbd5e1}.access-mode-badge.access-noAccess{color:#991b1b;background:#fff1f2;border-color:#fecaca}.access-mode-selector{gap:6px;display:grid}.access-mode-selector small{color:#64748b;font-size:11px;line-height:1.35}.no-access-screen{background:linear-gradient(#ffffffc7,#eef1f5f2),#eef1f5;place-items:center;min-height:100vh;padding:28px;display:grid}.no-access-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;justify-items:start;gap:12px;width:min(520px,100%);padding:24px;display:grid;box-shadow:0 24px 70px #1c25371f}.no-access-panel h1{color:#172033;margin:0;font-size:24px}.no-access-panel p{color:#64748b;margin:0;line-height:1.45}.app-shell.warnings-collapsed{grid-template-columns:306px minmax(0,1fr) 312px 76px}.app-shell.change-log-collapsed{grid-template-columns:306px minmax(0,1fr) 76px 338px}.app-shell.warnings-collapsed.change-log-collapsed{grid-template-columns:306px minmax(0,1fr) 76px 76px}.sidebar,.warnings-panel,.roster-change-log-panel{background:#ffffffe6;border-right:1px solid #d8dee8;padding:22px}.warnings-panel,.roster-change-log-panel{border-left:1px solid #d8dee8;border-right:0}.collapsed-warning-panel,.collapsed-change-log-panel{place-items:start center;display:grid}.warning-collapse-button,.change-log-collapse-button{border-radius:8px;place-items:center;gap:4px;width:42px;min-height:54px;font-weight:900;display:grid}.warning-collapse-button{color:#991b1b;background:#fff1f2;border:1px solid #fecaca}.change-log-collapse-button{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.main-stage{min-width:0;padding:22px;overflow:hidden}.panel-header,.toolbar,.period-heading,.section-header,.employee-card-top,.assignment-name-row,.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-header h1,.panel-header h2,.toolbar h2,.modal-header h2{letter-spacing:0;margin:0;font-size:22px}.eyebrow{color:#68758a;text-transform:uppercase;font-size:12px;font-weight:700;display:block}.sidebar-stack,.warning-list{gap:18px;margin-top:22px;display:grid}.open-shifts-section{border-bottom:1px solid #e2e8f0;gap:12px;margin-top:18px;padding-bottom:18px;display:grid}.open-shift-list{gap:10px;max-height:40vh;padding-right:3px;display:grid;overflow:auto}.open-shift-item{color:#0f172a;background:#fff1f2;border:1px solid #fecaca;border-left:5px solid #ef4444;border-radius:8px;gap:6px;padding:10px;display:grid}.open-shift-item div{justify-content:space-between;gap:8px;display:flex}.open-shift-item strong,.open-shift-item span{font-size:12px}.open-shift-item p{color:#334155;margin:0;font-size:12px;line-height:1.35}.open-shift-role{color:#b91c1c;background:#fff;border-radius:999px;justify-self:start;padding:3px 8px;font-weight:900}.roster-change-log-section{border-top:1px solid #d8dee8;gap:10px;padding-top:14px;display:grid}.roster-change-log-panel{min-width:0}.roster-change-log-list{gap:10px;max-height:calc(100vh - 178px);padding-right:3px;display:grid;overflow:auto}.roster-change-log-list>.empty-state{margin-top:12px}.roster-change-log-item{color:#172033;background:#f8fafc;border:1px solid #d8dee8;border-left:4px solid #94a3b8;border-radius:8px;gap:8px;padding:10px;display:grid}.roster-change-log-item>div:first-child{gap:2px;display:grid}.roster-change-log-item strong{font-size:13px;line-height:1.3}.roster-change-log-item small,.roster-change-log-item p{color:#64748b;margin:0;font-size:12px;line-height:1.35}.roster-change-type{color:#475569;text-transform:capitalize;background:#fff;border:1px solid #cbd5e1;border-radius:999px;justify-self:start;padding:3px 7px;font-size:11px;font-weight:900}.change-log-note-editor{gap:8px;display:grid}.change-log-note-editor textarea{resize:vertical;min-height:76px}.change-note-modal{gap:12px;display:grid}.change-note-summary{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;gap:4px;padding:10px;display:grid}.change-note-summary strong{color:#172033;font-size:14px}.change-note-summary span{color:#64748b;font-size:12px;font-weight:800}.change-note-modal textarea{resize:vertical;min-height:100px}.panel-subheader{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.collapsible-panel-subheader{align-items:start}.collapsible-panel-subheader>div{gap:2px;display:grid}.warning-panel-section{gap:10px;display:grid}.compact-warning-list{margin-top:0}.contract-summary-list{gap:7px;display:grid}.week-check-list{gap:6px;display:grid}.week-check-item{color:#334155;background:#f8fafc;border:1px solid #d8dee8;border-left:4px solid #94a3b8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:flex}.week-check-copy{gap:3px;min-width:0;display:grid}.week-check-item strong{color:#172033;font-size:12px;line-height:1.25}.week-check-copy small{color:#15803d;align-items:center;gap:4px;font-size:10px;font-weight:800;line-height:1.2;display:inline-flex}.week-check-actions{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.week-check-actions span{color:#334155;white-space:nowrap;background:#e2e8f0;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900}.week-check-override-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:24px;height:24px;display:inline-grid}.week-check-override-button:hover{color:#166534;border-color:#22c55e}.week-check-item.done{background:#f0fdf4;border-left-color:#22c55e}.week-check-item.done .week-check-actions span{color:#166534;background:#dcfce7}.week-check-item.done:has(.week-check-copy small){border-color:#86efac #86efac #86efac #16a34a;box-shadow:inset 0 0 0 1px #bbf7d0}.week-check-item.needs-attention{background:#fff1f2;border-left-color:#ef4444}.week-check-item.needs-attention .week-check-actions span{color:#991b1b;background:#fee2e2}.week-check-item.not-applicable{background:#fffbeb;border-left-color:#f59e0b}.week-check-item.not-applicable .week-check-actions span{color:#92400e;background:#fef3c7}.contract-summary-card{color:#334155;background:#f8fafc;border:1px solid #d8dee8;border-left:4px solid #94a3b8;border-radius:8px;gap:3px;padding:8px 10px;display:grid}.contract-summary-card strong{color:#172033;font-size:13px}.contract-summary-card span{color:#475569;font-size:12px;line-height:1.3}.dashboard-view{gap:14px;width:min(100%,1680px);max-width:none;margin:0 auto;display:grid}.dashboard-focus-panel,.dashboard-section{background:#fffffff2;border:1px solid #d8dee8;border-radius:8px;gap:10px;padding:12px;display:grid;box-shadow:0 8px 22px #1c25370e}.dashboard-focus-panel{border-left:5px solid #2563eb}.dashboard-focus-header,.dashboard-section-header,.dashboard-actions-row,.dashboard-list-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-focus-header{align-items:flex-start}.dashboard-focus-header h3,.dashboard-section h3{color:#172033;margin:0;font-size:18px}.dashboard-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-focus-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-rows:auto auto 1fr auto;align-items:start;gap:5px;min-height:104px;padding:10px;display:grid}.dashboard-focus-block .dashboard-status-badge{place-self:end start}.dashboard-focus-block.priority{background:#eff6ff;border-color:#bfdbfe}.dashboard-focus-block span,.dashboard-focus-block small{color:#64748b;font-size:12px}.dashboard-focus-block strong{color:#172033;font-size:30px;line-height:1}.dashboard-focus-state{border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:900;display:flex}.dashboard-focus-state.needs-action{color:#991b1b;background:#fff1f2;border-color:#fecaca}.dashboard-focus-state.good{color:#166534;background:#f0fdf4;border-color:#86efac}.dashboard-focus-actions,.dashboard-publish-actions,.dashboard-utility-actions{flex-wrap:wrap;gap:7px;display:flex}.dashboard-main-grid{grid-template-columns:minmax(500px,.95fr) minmax(620px,1.05fr);align-items:start;gap:16px;display:grid}.dashboard-left-column,.dashboard-right-column{align-content:start;gap:14px;display:grid}.dashboard-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.compact-button{min-height:32px;padding:5px 9px;font-size:12px}.dashboard-metric-line,.dashboard-muted{color:#475569;margin:0;font-size:13px;line-height:1.4}.dashboard-metric-line{color:#172033;font-weight:900}.dashboard-status-badge,.dashboard-readiness,.dashboard-health-pill{color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:11px;font-weight:900;display:inline-flex}.dashboard-status-badge.status-needs-review,.dashboard-readiness.needs-review{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.dashboard-status-badge.status-checked,.dashboard-readiness.ready{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.dashboard-status-badge.status-published{color:#166534;background:#dcfce7;border-color:#86efac}.dashboard-actions-row{flex-wrap:wrap;justify-content:flex-start}.dashboard-action-list,.dashboard-list,.dashboard-health-grid{gap:8px;display:grid}.dashboard-action-list{grid-template-columns:1fr}.dashboard-action-item{color:#172033;text-align:left;background:#f8fafc;border:1px solid #d8dee8;border-left:4px solid #94a3b8;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;display:flex}.dashboard-action-item strong{font-size:13px}.dashboard-action-item span{color:#64748b;font-size:12px}.dashboard-actions-section{align-content:start}.compact-empty-state{align-items:center;min-height:38px;margin:0;display:flex}.dashboard-action-item.tone-must-fix{background:#fff1f2;border-left-color:#ef4444}.dashboard-action-item.tone-check{background:#fffbeb;border-left-color:#f59e0b}.dashboard-action-item.tone-info,.dashboard-action-item.tone-done{background:#eff6ff;border-left-color:#3b82f6}.dashboard-list-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:start;padding:7px 9px}.dashboard-compact-list{max-height:280px;padding-right:2px;overflow:auto}.dashboard-recent-row{grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto;display:grid}.dashboard-list-row span,.dashboard-list-row small{color:#64748b;font-size:12px}.dashboard-list-row strong{color:#172033;flex:1;font-size:13px}.dashboard-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-week-status-header{align-items:flex-start}.dashboard-week-status-controls{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.dashboard-week-status-list{gap:7px;display:grid}.dashboard-week-status-row{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:8px;grid-template-columns:minmax(230px,1.2fr) minmax(160px,.7fr) auto auto;align-items:center;gap:12px;min-height:48px;padding:8px 9px 8px 11px;display:grid}.dashboard-week-status-row.needs-action{background:#fff1f2;border-left-color:#ef4444}.dashboard-week-status-row.review{background:#fffbeb;border-left-color:#f59e0b}.dashboard-week-status-row.good{background:#f0fdf4;border-left-color:#22c55e}.dashboard-week-counts{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.dashboard-week-counts span{color:#475569;background:#fffc;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900}.dashboard-week-counts .danger-count{color:#991b1b}.dashboard-week-status-row strong,.dashboard-week-status-row small{display:block}.dashboard-week-status-row strong{color:#172033;font-size:13px}.dashboard-week-status-row small{color:#64748b;font-size:12px;line-height:1.35}.dashboard-week-main{min-width:0}.dashboard-health-pill.critical{color:#991b1b;background:#fff1f2;border-color:#fecaca}.dashboard-health-pill.check{color:#92400e;background:#fffbeb;border-color:#fde68a}.dashboard-health-pill.info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}@media (width<=1180px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-focus-grid,.dashboard-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.dashboard-focus-grid,.dashboard-utility-grid,.dashboard-week-status-row,.dashboard-recent-row{grid-template-columns:1fr}.dashboard-week-counts{justify-content:flex-start}}.ready-panel,.month-status-panel,.month-status-strip{background:#fff;border:1px solid #d8dee8;border-radius:8px;margin-bottom:10px;padding:10px;position:relative;box-shadow:0 10px 30px #1c25370f}.ready-panel-header,.section-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ready-panel-header strong{color:#172033;font-size:15px;display:block}.ready-panel-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ready-panel-actions{flex-wrap:wrap;gap:6px;display:flex}.publish-celebration{color:#166534;background:#dcfce7;border:1px solid #22c55e;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:900;animation:1.2s ease-out both publish-pop;display:inline-flex;position:absolute;top:-12px;right:12px;box-shadow:0 10px 20px #16653429}.workflow-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:8px 0 0;padding:7px 9px;font-size:12px;font-weight:800}.ready-checklist-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;margin-top:9px;display:grid}.ready-checklist-item,.data-health-card{background:#f8fafc;border:1px solid #d8dee8;border-left:4px solid #94a3b8;border-radius:8px;gap:3px;padding:8px;display:grid}.ready-checklist-item.done{background:#f0fdf4;border-left-color:#22c55e}.ready-checklist-item.needs-attention{background:#fff1f2;border-left-color:#ef4444}.ready-checklist-item.not-applicable{background:#f8fafc;border-left-color:#94a3b8}.ready-checklist-item strong,.data-health-card strong{color:#172033;font-size:13px}.ready-checklist-item span,.data-health-card span{color:#334155;font-size:12px;font-weight:800}.ready-checklist-item small,.data-health-card small{color:#64748b;font-size:12px;line-height:1.25}.month-status-strip{flex-wrap:wrap;gap:7px;display:flex}.week-status-chip{color:#334155;background:#f8fafc;border:1px solid #d8dee8;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.week-status-chip.status-checked{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.week-status-chip.status-published{color:#166534;background:#dcfce7;border-color:#86efac}.week-status-chip.status-needs-review{color:#92400e;background:#fffbeb;border-color:#fde68a}.data-health-panel{gap:12px;min-width:min(760px,86vw);display:grid}.snapshot-history-panel{gap:8px;min-width:min(680px,86vw);display:grid}.snapshot-history-note{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;gap:4px;padding:10px;display:grid}.snapshot-history-note strong{color:#172033;font-size:13px}.snapshot-history-note span{color:#64748b;font-size:12px;line-height:1.35}.snapshot-card{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.snapshot-card>div{gap:3px;display:grid}.snapshot-card strong{color:#172033;font-size:13px}.snapshot-card span,.snapshot-card small{color:#64748b;font-size:12px}.snapshot-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.data-health-group{gap:8px;display:grid}.data-health-group .section-heading-row{border-bottom:1px solid #d8dee8;padding-bottom:5px}.data-health-group .section-heading-row span{color:#334155;background:#f1f5f9;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}.data-health-list{gap:7px;max-height:260px;display:grid;overflow:auto}.data-health-group.critical .data-health-card{border-left-color:#ef4444}.data-health-group.check .data-health-card{border-left-color:#f59e0b}.data-health-group.info .data-health-card{border-left-color:#3b82f6}.warning-category-must-fix{border-left-color:#ef4444}.warning-category-check{border-left-color:#f59e0b}.warning-category-info{border-left-color:#3b82f6}.warning-group h3 span{float:right;color:#64748b;font-size:12px}.warning-item span{gap:2px;display:grid}.warning-item span strong{color:inherit;font-size:12px}.sidebar-section{gap:10px;display:grid}.section-title{color:#4b5565;font-size:13px;font-weight:800}.collapsible-section-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-toggle-button{color:#475569;background:#fff;border:1px solid #d8dee8;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.section-action-button{color:#475569;background:#fff;border:1px solid #d8dee8;border-radius:999px;min-height:24px;padding:0 8px;font-size:11px;font-weight:900}.section-toggle-button svg{transition:transform .16s}.section-toggle-button svg.expanded{transform:rotate(90deg)}.employee-drag-list,.employee-manage-list{gap:7px;display:grid}.assignment-stack{--roster-card-width:121.44px;grid-template-columns:repeat(2, minmax(0, var(--roster-card-width)));justify-content:start;align-items:start;gap:8px;display:grid}.assignment-stack .assignment-card:only-child,.assignment-stack .assignment-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:start}.front-office-column .assignment-stack{grid-template-columns:minmax(0, var(--roster-card-width))}.front-office-column .assignment-stack .assignment-card{grid-column:auto}.employee-card,.employee-manage-row,.assignment-card,.warning-group,.modal-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;box-shadow:0 10px 30px #1c253714}.employee-card{cursor:grab;padding:8px 10px}.employee-card-details{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:1px;padding:0;display:grid}.employee-card.dragging,.assignment-card.dragging{cursor:grabbing}.employee-card strong,.employee-manage-row strong,.assignment-card strong{font-size:14px;display:block}.employee-card small,.employee-manage-row small,.assignment-card small{color:#64748b;font-size:12px}.employee-card.dragging,.assignment-card.dragging{opacity:.45}.employee-card.unavailable-week-card{color:#64748b;box-shadow:none;background:#f8fafc}.employee-card.filled-shift-card{box-shadow:none;opacity:.86;background:#fbfdff}.not-filled-employee-list .employee-card{background:#dcfce7;border-color:#4ade80}.oproepkracht-employee-list .employee-card{background:#eff6ff;border-color:#bfdbfe}.employee-card.holiday-covered-card{background:#f1f5f9;border-color:#cbd5e1}.not-filled-bottom-panel{background:#ffffffeb;border:1px solid #cbd5e1;border-radius:10px;gap:12px;margin-top:14px;padding:12px;display:grid;box-shadow:0 10px 30px #1c253714}.bottom-panel-main{grid-template-columns:minmax(0,1fr) minmax(190px,230px);align-items:stretch;gap:12px;display:grid}.bottom-panel-list-area{gap:12px;min-width:0;display:grid}.bottom-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.bottom-panel-header strong{font-size:15px;display:block}.bottom-not-filled-list{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));max-height:230px;overflow:auto}.manual-filled-drop-zone{color:#0f172a;text-align:left;background:#f0f9ff;border:1px dashed #38bdf8;border-radius:10px;flex-direction:column;justify-content:center;gap:6px;min-height:112px;padding:14px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.manual-filled-drop-zone strong{color:#075985;font-size:14px}.manual-filled-drop-zone span,.manual-filled-drop-zone small{color:#0369a1;line-height:1.35}.manual-filled-drop-zone.is-over{background:#e0f2fe;border-color:#0284c7;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #38bdf8}.employee-menu-button{place-items:center;width:36px;min-width:36px;min-height:34px;padding:0;display:grid}.employee-card.unavailable-week-card .role-chip{filter:grayscale(.7);opacity:.74}.remove-drop-zone{color:#475569;background:#f8fafc;border:1px dashed #94a3b8;border-radius:8px;align-items:center;gap:10px;padding:11px 12px;display:flex}.remove-drop-zone.is-over,.sidebar-remove-over .remove-drop-zone{color:#991b1b;background:#fff1f2;border-color:#dc2626}.remove-drop-zone strong,.remove-drop-zone span{display:block}.remove-drop-zone span{font-size:12px;font-weight:700}.drag-handle:disabled{cursor:not-allowed;opacity:.45}.status-line{font-weight:800;display:block;color:#92400e!important}.employee-manage-row{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;display:flex}.employee-overview{gap:12px;margin-top:10px;display:grid}.employee-overview-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.employee-overview-toolbar h3{color:#172033;margin:0 0 3px;font-size:17px}.employee-overview-toolbar p{color:#64748b;margin:0;font-size:13px;font-weight:700}.employee-overview-list{gap:6px;display:grid}.employee-overview-row{background:#fff;border:1px solid #d8dee8;border-radius:8px;grid-template-columns:minmax(150px,1fr) minmax(250px,auto) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.employee-overview-main{min-width:0}.employee-overview-main strong{color:#172033;font-size:14px;display:block}.employee-overview-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.employee-overview-meta>span{color:#475569;background:#f8fafc;border-radius:999px;padding:4px 7px;font-size:12px;font-weight:800}.status-pill.oproepkracht-status{color:#1d4ed8;background:#dbeafe}.status-pill.active-status{color:#166534;background:#dcfce7}.status-pill.inactive-status{color:#64748b;background:#f1f5f9}.inactive-row{opacity:.62}.role-chip-row,.pill-grid{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.role-chip,.pill-checkbox{border:1px solid var(--role-border,#cbd5e1);background:var(--role-bg,#f8fafc);color:var(--role-text,#334155);border-radius:999px;padding:3px 7px;font-size:12px;font-weight:700}.pill-checkbox{border-radius:8px;align-items:center;gap:6px;padding:7px 9px;display:inline-flex}.neutral-pill{--role-bg:#f8fafc;--role-border:#cbd5e1;--role-text:#334155}.drag-handle,.icon-button,.mini-edit,.mini-delete{color:#506074;background:#fff;border:1px solid #d8dee8;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.drag-handle{flex:none}.toolbar{z-index:5;background:#fffffff0;border:1px solid #d8dee8;border-radius:8px;margin-bottom:18px;padding:14px 16px;position:sticky;top:0;box-shadow:0 10px 30px #1c253714}.toolbar-actions{pointer-events:none;flex-wrap:wrap;align-items:end;gap:10px;display:flex}.toolbar-actions>*{pointer-events:auto}.period-heading{z-index:6;justify-content:flex-start;min-width:360px;position:relative}.this-week-button{white-space:nowrap;min-height:32px;padding:0 10px}.home-nav-button.selected{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.period-title{text-align:center;min-width:245px}.segmented-control{background:#eef2f7;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:1fr 1fr;min-height:38px;display:inline-grid;overflow:hidden}.segmented-control button{color:#475569;background:0 0;border:0;min-width:72px;padding:0 12px;font-weight:900}.segmented-control button.selected{color:#1f2937;background:#fff;box-shadow:0 1px 8px #0f172a1f}.primary-button,.secondary-button,.ghost-button,.success-button,.danger-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:#2563eb;border:1px solid #2563eb}.workflow-primary-button{color:#fff;background:#16a34a;border-color:#16a34a}.secondary-button{color:#1f2937;background:#fff;border:1px solid #cbd5e1}.success-button{color:#166534;background:#dcfce7;border:1px solid #16a34a}.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.5}@keyframes publish-pop{0%{opacity:0;transform:translateY(6px)scale(.96)}18%{opacity:1;transform:translateY(0)scale(1.02)}to{opacity:0;transform:translateY(-4px)scale(1)}}@media (prefers-reduced-motion:reduce){.publish-celebration{animation:none}}.ghost-button{color:#475569;background:0 0;border:1px solid #0000}.display-menu,.week-type-menu,.data-menu,.standard-view-menu,.tools-menu{position:relative}.display-menu-panel,.week-type-menu-panel,.data-menu-panel,.standard-view-menu-panel,.tools-menu-panel{z-index:10;background:#fff;border:1px solid #d8dee8;border-radius:8px;gap:9px;width:230px;margin-top:8px;padding:12px;display:grid;position:absolute;right:0;box-shadow:0 18px 42px #1c253729}.data-menu-panel{width:245px}.week-type-menu-panel{width:270px}.standard-view-menu-panel{width:260px}.tools-menu-panel{width:330px;max-height:min(72vh,720px);overflow:auto}.tools-menu-section{border-bottom:1px solid #e2e8f0;gap:8px;padding-bottom:10px;display:grid}.tools-menu-section:last-child{border-bottom:0;padding-bottom:0}.tools-menu-section small,.standard-view-menu-panel small{color:#64748b;font-size:12px;font-weight:800}.standard-view-toast{z-index:12;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;width:max-content;max-width:260px;margin-top:8px;padding:8px 10px;font-size:12px;font-weight:900;position:absolute;right:0;box-shadow:0 18px 42px #1c253724}.week-type-list{border-bottom:1px solid #e2e8f0;gap:6px;padding-bottom:9px;display:grid}.week-type-row{color:#334155;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:0 9px;font-size:12px;font-weight:800;display:flex}.week-type-row.selected{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.week-type-row strong{text-transform:uppercase;font-size:10px}.data-action-button{justify-content:flex-start;width:100%}.data-menu-meta{color:#64748b;border-top:1px solid #e2e8f0;gap:3px;padding-top:9px;font-size:11px;font-weight:800;display:grid}.display-menu-panel label{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.display-menu-label{color:#68758a;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:900}.compact-action{min-height:30px;padding:0 8px;font-size:12px}.danger-button{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.closed-days-overview{gap:16px;display:grid}.closed-day-editor,.closed-day-list-section{gap:12px;display:grid}.closed-day-form-grid{grid-template-columns:150px minmax(190px,1fr) 160px 110px;align-items:start;gap:12px;display:grid}.closed-day-note-field{grid-column:1/-1}.closed-day-note-field textarea{min-height:64px;padding-top:10px}.closed-days-table-wrap{overflow-x:auto}.closed-days-table{border-collapse:collapse;width:100%;min-width:760px;font-size:12px}.closed-days-table th,.closed-days-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:8px 9px}.closed-days-table th{color:#475569;text-transform:uppercase;background:#f8fafc;font-size:11px}.inactive-closed-day-row{color:#64748b;background:repeating-linear-gradient(135deg,#f8fafc 0 8px,#eef2f7 8px 16px)}.compact-action-button{min-height:30px;padding:0 9px;font-size:12px}.field{color:#4b5565;gap:6px;font-size:12px;font-weight:800;display:grid}.field input,.field select,.field textarea,.standard-shift-row select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;padding:0 10px}.roster-scroll{width:100%;max-width:100%;padding-bottom:10px;overflow-x:auto}.compact-field{min-width:150px}.checkbox-field{align-items:center;gap:8px;margin-top:18px;display:flex}.roster-board{background:#cbd5e1;border:1px solid #cbd5e1;border-radius:8px;gap:1px;width:max-content;min-width:max-content;display:grid;overflow:hidden}.corner-cell,.room-header,.day-cell,.roster-cell,.info-header,.unavailable-cell,.notes-cell{background:#fff}.corner-cell,.room-header,.day-cell,.info-header{min-height:54px;padding:12px;font-size:13px;font-weight:900}.info-header{align-content:center;display:grid}.info-header.column-holiday,.month-info-header.column-holiday{border-left:1px solid #cbd5e1}.room-header{gap:7px;display:grid}.room-header,.info-header,.month-room-header,.month-info-header,.day-cell,.month-roster-day{position:relative}.room-header small{color:#b45309;font-size:11px}.room-header-top{gap:7px;display:grid}.column-header-top{align-items:center;gap:6px;min-width:0;display:flex}.column-header-top strong{overflow-wrap:anywhere}.column-drag-handle{color:#64748b;cursor:grab;background:#fff;border:1px solid #d8dee8;border-radius:7px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.column-drag-handle.dragging{opacity:.45;cursor:grabbing}.column-drop-over{box-shadow:inset 0 0 0 2px #2563eb52}.room-toggle{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:max-content;min-height:26px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.room-toggle.active{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.toggle-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.inactive-room-header{color:#64748b;background:#f8fafc}.day-cell{color:#1f2937;align-content:start;gap:3px;padding-top:18px;display:grid}.day-cell.outside-month{color:#64748b;background:#f8fafc}.day-cell.closed-day-cell{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#eef2f7 8px 16px)}.day-cell span{color:#64748b;font-size:12px}.closed-day-label{color:#475569;font-size:11px;font-weight:900;line-height:1.25}.day-closed-toggle{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;width:fit-content;min-height:24px;padding:0 8px;font-size:10px;font-weight:900}.day-closed-toggle.closed{color:#991b1b;background:#fee2e2;border-color:#fecaca}.day-closed-toggle:hover{filter:brightness(.98)}.theme-dark{color:#e5e7eb;background:linear-gradient(#0f172af5,#111827fa),#0f172a}.theme-dark .sidebar,.theme-dark .warnings-panel,.theme-dark .roster-change-log-panel,.theme-dark .not-filled-bottom-panel,.theme-dark .toolbar,.theme-dark .modal-panel,.theme-dark .tools-menu-panel,.theme-dark .data-menu-panel,.theme-dark .display-menu-panel,.theme-dark .standard-view-menu-panel,.theme-dark .print-options-panel{color:#e5e7eb;background:#0f172af5;border-color:#334155}.theme-dark .main-stage{background:0 0}.theme-dark .language-toggle{background:#0f172af0;border-color:#475569}.theme-dark .language-toggle button{color:#cbd5e1}.theme-dark .language-toggle button.selected{color:#0f172a;background:#e5e7eb}.theme-dark .access-mode-badge{color:#cbd5e1;background:#1f2937;border-color:#475569}.theme-dark .cloud-setup-section{background:#111827;border-color:#334155}.theme-dark .cloud-status{color:#cbd5e1}.theme-dark .cloud-status.configured{color:#5eead4}.theme-dark .cloud-status span,.theme-dark .cloud-setup-section small,.theme-dark .migration-placeholder p{color:#94a3b8}.theme-dark .migration-placeholder{background:#29180f;border-color:#7c2d12}.theme-dark .migration-preview-status{color:#cbd5e1;background:#1f2937;border-color:#475569}.theme-dark .migration-preview-status.ready{color:#bbf7d0;background:#123524;border-color:#166534}.theme-dark .migration-preview-status.warnings{color:#fde68a;background:#3b2a0d;border-color:#92400e}.theme-dark .migration-preview-status.blocked{color:#fecaca;background:#3f1717;border-color:#991b1b}.theme-dark .migration-preview-results,.theme-dark .migration-preview-group{border-color:#475569}.theme-dark .migration-preview-summary>span{color:#e5e7eb;background:#111827;border-color:#475569}.theme-dark .migration-preview-summary strong,.theme-dark .migration-preview-summary small,.theme-dark .migration-preview-group ul,.theme-dark .migration-table-counts span{color:#cbd5e1}.theme-dark .migration-table-counts span{border-color:#334155}.theme-dark .migration-preview-group.issues.blocked{color:#fecaca}.theme-dark .migration-preview-group.issues.warnings{color:#fde68a}.theme-dark .migration-preview-group.issues.clear{color:#bbf7d0}.theme-dark .migration-preview-ready{color:#bbf7d0;background:#123524}.theme-dark .migration-confirmation{background:#3f1717;border-color:#991b1b}.theme-dark .migration-confirmation>p,.theme-dark .migration-confirmation>label:not(.field){color:#fecaca}.theme-dark .migration-progress{color:#bfdbfe;background:#172554}.theme-dark .migration-run-result{background:#111827;border-color:#475569}.theme-dark .migration-run-result.completed{color:#bbf7d0;background:#123524;border-color:#166534}.theme-dark .migration-run-result.warnings{color:#fde68a;background:#3b2a0d;border-color:#92400e}.theme-dark .migration-run-result.failed{color:#fecaca;background:#3f1717;border-color:#991b1b}.theme-dark .migration-verification-list .matched b{color:#86efac}.theme-dark .migration-verification-list .mismatch b,.theme-dark .migration-verification-list .blocker b{color:#fca5a5}.theme-dark .migration-verification-list .allowed-change b{color:#fcd34d}.theme-dark .cloud-verification-panel{border-color:#3f4b5f}.theme-dark .cloud-verification-panel>div:first-child p{color:#b8c3d4}.theme-dark .cloud-verification-check+.cloud-verification-check{border-color:#3f4b5f}.theme-dark .cloud-verification-check>div:first-child p,.theme-dark .cloud-field-differences>span>span small{color:#b8c3d4}.theme-dark .cloud-changed-record{background:#450a0a47;border-color:#7f1d1d}.theme-dark .cloud-read-mode-control,.theme-dark .cloud-write-readiness-panel{border-color:#3f4b5f}.theme-dark .cloud-write-baseline-status,.theme-dark .cloud-write-decision-guidance,.theme-dark .cloud-write-enable-guard{color:#e2e8f0;background:#202936;border-color:#475569}.theme-dark .cloud-write-scope-divider{background:#475569}.theme-dark .cloud-write-baseline-status.status-ready{color:#bbf7d0;background:#123524;border-color:#166534}.theme-dark .cloud-write-baseline-status.status-local-differs,.theme-dark .cloud-write-baseline-status.status-schema-mismatch,.theme-dark .cloud-write-baseline-status.status-verification-not-passed,.theme-dark .cloud-write-baseline-status.status-rls-not-passed{color:#fecaca;background:#3f1717;border-color:#991b1b}.theme-dark .cloud-write-baseline-status.status-manual-decision{color:#fde68a;background:#3b2a0d;border-color:#92400e}.theme-dark .cloud-write-requirements>span{background:#18212d;border-color:#475569}.theme-dark .cloud-write-requirements>span.met small{color:#86efac}.theme-dark .cloud-write-requirements>span.missing small{color:#fca5a5}.theme-dark .cloud-write-readiness-panel>div:first-child p{color:#b8c3d4}.theme-dark .cloud-write-readiness-result{color:#fde68a;background:#422006;border-color:#92400e}.theme-dark .cloud-write-readiness-result.status-ready{color:#bbf7d0;background:#052e16;border-color:#15803d}.theme-dark .cloud-write-readiness-result.status-cloud-mismatch,.theme-dark .cloud-write-readiness-result.status-schema-mismatch,.theme-dark .cloud-write-readiness-result.status-missing-metadata{color:#fecaca;background:#450a0a;border-color:#991b1b}.theme-dark .data-source-badge{color:#cbd5e1;background:#1e293b;border-color:#475569}.theme-dark .data-source-badge.cloud,.theme-dark .cloud-preview-banner{color:#bae6fd;background:#082f49;border-color:#0369a1}.theme-dark .cloud-auth-message{color:#fca5a5}.theme-dark .cloud-success-message{color:#86efac}.theme-dark .cloud-connection-statuses span{color:#cbd5e1;background:#1f2937;border-color:#475569}.theme-dark .cloud-connection-statuses span.passed{color:#bbf7d0;background:#123524;border-color:#166534}.theme-dark .cloud-connection-statuses span.failed{color:#fecaca;background:#3f1717;border-color:#991b1b}.theme-dark .practice-setup-section>div:first-child p,.theme-dark .practice-membership-summary span{color:#94a3b8}.theme-dark .rls-test-results span{color:#bbf7d0;background:#123524;border-color:#22c55e}.theme-dark .access-mode-badge.access-owner{color:#bfdbfe;background:#0f2748;border-color:#60a5fa}.theme-dark .access-mode-badge.access-reviewer{color:#fde68a;background:#3b2a10;border-color:#f59e0b}.theme-dark .access-mode-badge.access-readOnly{color:#d1d5db;background:#111827;border-color:#64748b}.theme-dark .access-mode-badge.access-noAccess{color:#fecaca;background:#3b1218;border-color:#f87171}.theme-dark .access-mode-selector small{color:#94a3b8}.no-access-screen.theme-dark{background:radial-gradient(circle at 0 0,#2563eb2e,#0000 32%),#0f172a}.theme-dark .no-access-panel{background:#111827;border-color:#334155;box-shadow:0 24px 70px #00000061}.theme-dark .no-access-panel h1{color:#f8fafc}.theme-dark .no-access-panel p{color:#cbd5e1}.theme-dark .roster-board,.theme-dark .month-roster-board{background:#334155;border-color:#334155}.theme-dark .corner-cell,.theme-dark .room-header,.theme-dark .info-header,.theme-dark .month-roster-corner,.theme-dark .month-room-header,.theme-dark .month-info-header,.theme-dark .day-cell,.theme-dark .month-roster-day,.theme-dark .roster-cell,.theme-dark .month-roster-cell,.theme-dark .unavailable-cell,.theme-dark .holiday-cell,.theme-dark .notes-cell{color:#e5e7eb;background:#111827}.theme-dark .day-cell.outside-month,.theme-dark .month-roster-day.outside-month,.theme-dark .month-roster-cell.outside-month,.theme-dark .unavailable-cell.outside-month,.theme-dark .holiday-cell.outside-month,.theme-dark .notes-cell.outside-month,.theme-dark .inactive-cell,.theme-dark .inactive-room-header,.theme-dark .employee-card.unavailable-week-card,.theme-dark .employee-card.holiday-covered-card,.theme-dark .employee-card.filled-shift-card,.theme-dark .change-log-collapse-button,.theme-dark .remove-drop-zone,.theme-dark .manual-filled-drop-zone,.theme-dark .contract-summary-card{color:#cbd5e1;background:#1f2937;border-color:#334155}.theme-dark .manual-filled-drop-zone{background:#0ea5e91f;border-color:#0ea5e9}.theme-dark .manual-filled-drop-zone strong{color:#bae6fd}.theme-dark .manual-filled-drop-zone span,.theme-dark .manual-filled-drop-zone small{color:#7dd3fc}.theme-dark .manual-filled-drop-zone.is-over{background:#0ea5e933;border-color:#38bdf8;box-shadow:inset 0 0 0 1px #7dd3fc8c}.theme-dark .room-toggle{color:#cbd5e1;background:#1f2937;border-color:#475569}.theme-dark .room-toggle.active{color:#86efac;background:#22c55e24;border-color:#22c55e}.theme-dark .inactive-room-header .room-toggle,.theme-dark .room-toggle:not(.active){color:#cbd5e1;background:#64748b2e;border-color:#64748b}.theme-dark .holiday-person{border-color:color-mix(in srgb, var(--role-border), #334155 56%);border-left-color:color-mix(in srgb, var(--role-border), #e5e7eb 10%);background:color-mix(in srgb, var(--role-bg), #111827 74%);color:color-mix(in srgb, var(--role-text), #f8fafc 42%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--role-border), #0f172a 78%)}.theme-dark .day-cell.closed-day-cell,.theme-dark .closed-roster-cell,.theme-dark .closed-print-cell,.theme-dark .inactive-closed-day-row{background:repeating-linear-gradient(135deg,#111827 0 8px,#1f2937 8px 16px)}.theme-dark .employee-card,.theme-dark .employee-manage-row,.theme-dark .warning-group,.theme-dark .employee-overview-row,.theme-dark .monthly-summary-card,.theme-dark .monthly-leave-card,.theme-dark .closed-day-editor,.theme-dark .closed-day-list-section{color:#e5e7eb;background:#172033;border-color:#334155;box-shadow:0 12px 28px #00000052}.theme-dark .not-filled-employee-list .employee-card{background:#123524;border-color:#22c55e}.theme-dark .oproepkracht-employee-list .employee-card{background:#102a4f;border-color:#60a5fa}.theme-dark .assignment-card:not(.has-critical-warning):not(.has-warning-warning){border-color:color-mix(in srgb, var(--role-border), #f8fafc 18%);border-left-color:color-mix(in srgb, var(--role-border), #fff 24%);background:linear-gradient(135deg, color-mix(in srgb, var(--role-border), #0f172a 68%), color-mix(in srgb, var(--role-bg), #020617 78%));color:#f8fafc;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--role-border), #0f172a 44%), 0 8px 18px #00000038}.theme-dark .assignment-card:not(.has-critical-warning):not(.has-warning-warning) strong,.theme-dark .assignment-card:not(.has-critical-warning):not(.has-warning-warning) span,.theme-dark .assignment-card:not(.has-critical-warning):not(.has-warning-warning) small{color:#f8fafc}.theme-dark .assignment-card:not(.has-critical-warning):not(.has-warning-warning) .mini-edit,.theme-dark .assignment-card:not(.has-critical-warning):not(.has-warning-warning) .mini-delete{border-color:color-mix(in srgb, var(--role-border), #f8fafc 18%);background:color-mix(in srgb, var(--role-border), #020617 76%);color:#f8fafc}.theme-dark .open-shift-item,.theme-dark .has-critical-warning,.theme-dark .warning-group.critical{color:#fee2e2;background:#3b1218;border-color:#f87171}.theme-dark .has-warning-warning,.theme-dark .warning-group.warning{color:#fef3c7;background:#3b2a10;border-color:#f59e0b}.theme-dark input,.theme-dark select,.theme-dark textarea,.theme-dark .field input,.theme-dark .field select,.theme-dark .field textarea{color:#e5e7eb;background:#0f172a;border-color:#475569}.theme-dark button,.theme-dark .secondary-button,.theme-dark .icon-button,.theme-dark .section-toggle-button,.theme-dark .section-action-button{color:#e5e7eb;background:#1f2937;border-color:#475569}.theme-dark .home-nav-button.selected{color:#bfdbfe;background:#1e3a5f;border-color:#60a5fa}.theme-dark .primary-button{color:#eff6ff;background:#2563eb;border-color:#3b82f6}.theme-dark .workflow-primary-button{color:#f0fdf4;background:#15803d;border-color:#4ade80}.theme-dark .publish-celebration{color:#bbf7d0;background:#12351f;border-color:#4ade80;box-shadow:0 10px 20px #14532d59}.theme-dark .danger-button{color:#fecaca;background:#451a1a;border-color:#f87171}.theme-dark .eyebrow,.theme-dark .section-title,.theme-dark .employee-card small,.theme-dark .assignment-card small,.theme-dark .day-cell span,.theme-dark .month-roster-day span,.theme-dark .closed-day-label,.theme-dark .empty-state{color:#94a3b8}.theme-dark .role-chip{filter:saturate(1.05)brightness(.98)}.theme-dark .ready-panel,.theme-dark .month-status-panel,.theme-dark .month-status-strip,.theme-dark .dashboard-focus-panel,.theme-dark .dashboard-section,.theme-dark .dashboard-focus-block,.theme-dark .dashboard-list-row,.theme-dark .dashboard-week-status-row,.theme-dark .snapshot-history-note,.theme-dark .snapshot-card,.theme-dark .data-health-card,.theme-dark .ready-checklist-item{color:#e5e7eb;background:#111827;border-color:#334155}.theme-dark .ready-panel-header strong,.theme-dark .dashboard-focus-header h3,.theme-dark .dashboard-section h3,.theme-dark .dashboard-focus-block strong,.theme-dark .dashboard-metric-line,.theme-dark .dashboard-list-row strong,.theme-dark .dashboard-week-status-row strong,.theme-dark .snapshot-history-note strong,.theme-dark .snapshot-card strong,.theme-dark .ready-checklist-item strong,.theme-dark .data-health-card strong{color:#f8fafc}.theme-dark .dashboard-muted,.theme-dark .dashboard-focus-block span,.theme-dark .dashboard-focus-block small,.theme-dark .dashboard-list-row span,.theme-dark .dashboard-list-row small,.theme-dark .dashboard-week-status-row small,.theme-dark .snapshot-history-note span,.theme-dark .snapshot-card span,.theme-dark .snapshot-card small,.theme-dark .ready-checklist-item span,.theme-dark .data-health-card span{color:#e5e7eb}.theme-dark .ready-checklist-item small,.theme-dark .data-health-card small{color:#cbd5e1}.theme-dark .ready-checklist-item.done{background:#0f2f1d;border-left-color:#22c55e}.theme-dark .ready-checklist-item.needs-attention{background:#3b1218;border-left-color:#ef4444}.theme-dark .week-status-chip{color:#e5e7eb;background:#111827;border-color:#334155}.theme-dark .week-status-chip.status-checked{color:#bfdbfe;background:#0f2748;border-color:#60a5fa}.theme-dark .week-status-chip.status-published{color:#bbf7d0;background:#0f2f1d;border-color:#22c55e}.theme-dark .week-status-chip.status-needs-review{color:#fed7aa;background:#3b2a10;border-color:#f59e0b}.theme-dark .dashboard-status-badge,.theme-dark .dashboard-readiness,.theme-dark .dashboard-focus-state,.theme-dark .dashboard-health-pill{color:#dbeafe;background:#1f2937;border-color:#475569}.theme-dark .dashboard-status-badge.status-needs-review,.theme-dark .dashboard-readiness.needs-review,.theme-dark .dashboard-focus-state.needs-action{color:#fed7aa;background:#3b2a10;border-color:#f59e0b}.theme-dark .dashboard-status-badge.status-checked,.theme-dark .dashboard-readiness.ready,.theme-dark .dashboard-focus-state.good{color:#bfdbfe;background:#0f2748;border-color:#60a5fa}.theme-dark .dashboard-status-badge.status-published{color:#bbf7d0;background:#0f2f1d;border-color:#22c55e}.theme-dark .dashboard-action-item{color:#f8fafc;background:#1f2937;border-color:#334155 #334155 #334155 #64748b}.theme-dark .dashboard-action-item span{color:#cbd5e1}.theme-dark .dashboard-action-item.tone-must-fix{background:#3b1218;border-left-color:#f87171}.theme-dark .dashboard-action-item.tone-check{background:#3b2a10;border-left-color:#f59e0b}.theme-dark .dashboard-action-item.tone-info,.theme-dark .dashboard-action-item.tone-done{background:#0f2748;border-left-color:#60a5fa}.theme-dark .dashboard-week-status-row.needs-action{background:#3b1218;border-left-color:#f87171}.theme-dark .dashboard-week-status-row.review{background:#3b2a10;border-left-color:#f59e0b}.theme-dark .dashboard-week-status-row.good{background:#0f2f1d;border-left-color:#22c55e}.theme-dark .dashboard-week-counts span{color:#cbd5e1;background:#0f172acc}.theme-dark .dashboard-week-counts .danger-count{color:#fecaca}.theme-dark .dashboard-health-pill.critical{color:#fecaca;background:#3b1218;border-color:#f87171}.theme-dark .dashboard-health-pill.check{color:#fde68a;background:#3b2a10;border-color:#f59e0b}.theme-dark .dashboard-health-pill.info{color:#bfdbfe;background:#0f2748;border-color:#60a5fa}.theme-dark .workflow-notice{color:#fef3c7;background:#3b2a10;border-color:#f59e0b}.theme-dark .data-health-group .section-heading-row{border-color:#334155}.theme-dark .data-health-group .section-heading-row span{color:#e5e7eb;background:#1f2937}.roster-cell{min-height:144px;padding:10px;position:relative}@media screen{.roster-board>.day-cell,.roster-board>.roster-cell,.roster-board>.unavailable-cell,.roster-board>.holiday-cell,.roster-board>.notes-cell{border-top:1px solid #cbd5e1}}.unavailable-cell,.holiday-cell,.notes-cell{min-height:144px;padding:10px}.roster-board>.holiday-cell,.month-roster-board>.holiday-cell{border-left:1px solid #cbd5e1}.holiday-cell{background:repeating-linear-gradient(-45deg,#fbfdff,#fbfdff 8px,#f1f5f9 8px 16px)}.holiday-cell.outside-month{color:#64748b;background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#eef2f7 8px 16px)}.unavailable-cell,.holiday-cell{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;display:flex}.unavailable-person{border:1px solid var(--role-border);background:var(--role-bg);color:var(--role-text);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.holiday-person{border:1px solid #cbd5e1;border-left:4px solid var(--role-border);color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.notes-input{resize:vertical;color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:118px;padding:8px;font-size:12px;line-height:1.3}.notes-input:disabled{cursor:not-allowed;opacity:.72}.cloud-write-notes-cell .notes-input{height:calc(100% - 30px)!important}.day-note-cloud-save{color:#475569;align-items:center;gap:6px;min-height:26px;padding-top:3px;display:flex}.notes-save-button{color:#115e59;cursor:pointer;background:#f0fdfa;border:1px solid #0f766e;border-radius:5px;min-height:23px;padding:2px 6px;font-size:10px;font-weight:800}.notes-save-button:disabled{color:#94a3b8;cursor:default;background:#f1f5f9;border-color:#cbd5e1}.day-note-cloud-save small{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.15;overflow:hidden}.day-note-cloud-save.status-saved{color:#047857}.day-note-cloud-save.status-removed{color:#0369a1}.day-note-cloud-save.status-failed{color:#b91c1c}.roster-board>.notes-cell .notes-input,.month-roster-board>.notes-cell .notes-input{height:100%;min-height:44px}.roster-cell.is-over{outline-offset:-3px;outline:3px solid #38bdf8}.roster-cell.has-warning{background:#fffdfa}.roster-cell.has-critical-warning{background:#fff1f2;box-shadow:inset 0 0 0 1px #fecaca,inset 5px 0 #ef4444}.roster-cell.has-warning-warning{background:#fffbeb;box-shadow:inset 0 0 0 2px #f59e0b,inset 5px 0 #fbbf24}.inactive-cell{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#eef2f7 8px 16px)}.closed-roster-cell{background:repeating-linear-gradient(-45deg,#fbfdff,#fbfdff 8px,#f1f5f9 8px 16px)}.inactive-note{color:#64748b;font-size:12px;font-weight:800}.cell-warning-pill{z-index:3;color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:4px;padding:3px 7px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:-9px;right:-9px}.cell-warning-pill.critical{color:#991b1b;background:#fff1f2;border-color:#fecaca}.cell-warning-pill.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.assignment-card{box-sizing:border-box;border-color:var(--role-border);background:var(--role-bg);min-width:0;color:var(--role-text);box-shadow:none;cursor:grab;width:min(100%, var(--roster-card-width,138px));border-left-width:5px;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:5px;padding:6px;display:grid;position:relative}.assignment-card.has-warning{border-color:currentColor}.assignment-card.has-critical-warning{color:#991b1b;background:#fff1f2;border-color:#fecaca #fecaca #fecaca #ef4444;box-shadow:inset 0 0 0 1px #fecaca}.assignment-card.has-warning-warning{border-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b,0 0 0 2px #f59e0b24}.assignment-card-content{min-width:0}.assignment-card small,.assignment-card strong{overflow-wrap:anywhere}.assignment-card small{white-space:nowrap}.assignment-card-content span{font-size:12px;font-weight:800;display:block}.assignment-card.inactive-assignment{filter:grayscale(.55);opacity:.78}.inactive-assignment-note{font-weight:900;color:#92400e!important}.card-warning-badge{z-index:3;background:#fff;border:1px solid;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;position:absolute;top:-8px;left:-8px;box-shadow:0 2px 6px #0f172a24}.card-warning-badge.critical{color:#991b1b;background:#fff1f2;border-color:#fecaca}.card-warning-badge.warning{color:#b45309;background:#fffbeb}.card-handle,.mini-edit,.mini-delete{background:#ffffff9e;border-color:#0f172a26;width:28px;height:28px}.mini-delete{color:#991b1b}.assignment-actions{gap:4px;display:grid}.resize-handle{z-index:4;opacity:0;background:0 0;border:0;position:absolute}.column-resize-handle{cursor:col-resize;width:8px;height:100%;top:0;right:-4px}.row-resize-handle{cursor:row-resize;width:100%;height:8px;bottom:-4px;right:0}.room-header:hover .column-resize-handle,.info-header:hover .column-resize-handle,.month-room-header:hover .column-resize-handle,.month-info-header:hover .column-resize-handle,.day-cell:hover .row-resize-handle{opacity:1;background:#2563eb33}.warning-group{box-shadow:none;padding:12px}.warning-group.neutral{color:#475569;background:#f8fafc;border-color:#cbd5e1}.warning-group h3{margin:0 0 10px;font-size:13px}.warning-item{color:#4b5565;grid-template-columns:18px 1fr;gap:8px;padding:7px 0;font-size:13px;display:grid}.warning-item.critical{color:#991b1b}.warning-item.warning{color:#92400e}.warning-item.neutral{color:#475569}.warning-item.critical svg{color:#dc2626}.warning-item.warning svg{color:#f59e0b}.warning-item.neutral svg{color:#64748b}.theme-dark .roster-board,.theme-dark .month-roster-board{background:#334155;border-color:#334155;gap:1px}.theme-dark .month-week{background:#0f172a;border-color:#334155}.theme-dark .month-week-header{color:#e5e7eb;background:#172033;border-color:#334155}.theme-dark .month-overview-note,.theme-dark .import-notice{color:#dbeafe;background:#172033;border-color:#334155;box-shadow:0 10px 30px #00000047}.theme-dark .month-overview-note svg,.theme-dark .import-notice svg{color:#93c5fd}.theme-dark .import-notice strong{color:#eff6ff}.theme-dark .import-notice span,.theme-dark .import-notice small{color:#bfdbfe}.theme-dark .corner-cell,.theme-dark .room-header,.theme-dark .info-header,.theme-dark .month-roster-corner,.theme-dark .month-room-header,.theme-dark .month-info-header{color:#e5e7eb;background:#172033;border-color:#334155}.theme-dark .roster-cell,.theme-dark .month-roster-cell,.theme-dark .day-cell,.theme-dark .month-roster-day,.theme-dark .unavailable-cell,.theme-dark .holiday-cell,.theme-dark .notes-cell{background:#111827;border-color:#334155}.theme-dark .notes-input{color:#e5e7eb;background:#0f172a;border-color:#334155}.theme-dark .holiday-cell,.theme-dark .notes-cell,.theme-dark .inactive-cell,.theme-dark .inactive-room-header{box-shadow:inset 1px 0 #334155}.theme-dark .roster-cell.has-critical-warning,.theme-dark .month-roster-cell.has-critical-warning{color:#fee2e2;background:#3b1218;border-color:#ef4444;box-shadow:inset 0 0 0 1px #7f1d1d,inset 5px 0 #ef4444}.theme-dark .roster-cell.has-warning-warning,.theme-dark .month-roster-cell.has-warning-warning{color:#fef3c7;background:#3b2a10;border-color:#f59e0b;box-shadow:inset 0 0 0 1px #92400e,inset 5px 0 #f59e0b}.theme-dark .cell-warning-pill.critical,.theme-dark .card-warning-badge.critical{color:#fee2e2;background:#7f1d1d;border-color:#f87171;box-shadow:0 0 0 2px #111827}.theme-dark .cell-warning-pill.warning,.theme-dark .card-warning-badge.warning{color:#fef3c7;background:#78350f;border-color:#fbbf24;box-shadow:0 0 0 2px #111827}.theme-dark .assignment-card.has-critical-warning{color:#fee2e2;background:#3b1218;border-color:#f87171 #f87171 #f87171 #ef4444;box-shadow:inset 0 0 0 1px #7f1d1d}.theme-dark .assignment-card.has-warning-warning{color:#fef3c7;background:#3b2a10;border-color:#f59e0b #f59e0b #f59e0b #fbbf24;box-shadow:inset 0 0 0 1px #92400e}.theme-dark .open-shift-item,.theme-dark .warning-group.critical{color:#fee2e2;background:#3b1218;border-color:#f87171 #f87171 #f87171 #ef4444}.theme-dark .warning-group.warning{color:#fef3c7;background:#3b2a10;border-color:#f59e0b #f59e0b #f59e0b #fbbf24}.theme-dark .warning-item.critical,.theme-dark .warning-item.critical svg{color:#fca5a5}.theme-dark .warning-item.warning,.theme-dark .warning-item.warning svg{color:#fcd34d}.theme-dark .warning-group.neutral,.theme-dark .warning-item.neutral,.theme-dark .warning-item.neutral svg{color:#cbd5e1;background:#1f2937;border-color:#334155}.theme-dark .contract-summary-card{color:#e5e7eb;background:#263244;border-color:#475569 #475569 #475569 #94a3b8;box-shadow:inset 0 0 0 1px #94a3b81f}.theme-dark .contract-summary-card strong{color:#f8fafc}.theme-dark .contract-summary-card span{color:#dbe4ef}.theme-dark .week-check-item{color:#e5e7eb;background:#111827;border-color:#334155 #334155 #334155 #64748b}.theme-dark .week-check-item strong{color:#f8fafc}.theme-dark .week-check-copy small{color:#86efac}.theme-dark .week-check-actions span{color:#e5e7eb;background:#334155}.theme-dark .week-check-override-button{color:#cbd5e1;background:#172033;border-color:#475569}.theme-dark .week-check-override-button:hover{color:#bbf7d0;border-color:#22c55e}.theme-dark .week-check-item.done{background:#0f2f1d;border-left-color:#22c55e}.theme-dark .week-check-item.done .week-check-actions span{color:#bbf7d0;background:#14532d}.theme-dark .week-check-item.done:has(.week-check-copy small){border-color:#15803d #15803d #15803d #4ade80;box-shadow:inset 0 0 0 1px #166534}.theme-dark .week-check-item.needs-attention{background:#3b1218;border-left-color:#f87171}.theme-dark .week-check-item.needs-attention .week-check-actions span{color:#fecaca;background:#7f1d1d}.theme-dark .week-check-item.not-applicable{background:#3b2a10;border-left-color:#f59e0b}.theme-dark .week-check-item.not-applicable .week-check-actions span{color:#fed7aa;background:#78350f}.theme-dark .open-shift-item p{color:#fecaca;background:#2f1117;border-color:#7f1d1d #7f1d1d #7f1d1d #ef4444}.month-board{gap:14px;width:max-content;min-width:max-content;display:grid}.monthly-totals-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;gap:10px;padding:12px;display:grid;box-shadow:0 10px 30px #1c253714}.monthly-totals-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.monthly-totals-header span{color:#64748b;font-size:12px;font-weight:800}.monthly-total-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.monthly-total-card{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;gap:2px;padding:8px;display:grid}.monthly-total-card strong,.monthly-total-card span,.monthly-total-card small{font-size:12px}.monthly-total-card small{color:#64748b;font-weight:900}.monthly-total-card.off-target{background:#fffbeb;border-color:#fbbf24}.month-overview-note{color:#475569;background:#fff;border:1px solid #d8dee8;border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:9px 12px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 10px 30px #1c253714}.month-week{background:#fff;border:1px solid #d8dee8;border-radius:8px;width:max-content;overflow:hidden;box-shadow:0 10px 30px #1c253714}.month-week-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px}.month-roster-board{background:#cbd5e1;border-top:1px solid #cbd5e1;gap:1px;width:max-content;min-width:max-content;display:grid}.month-roster-corner,.month-room-header,.month-roster-day,.month-roster-cell,.month-info-header{background:#fff}.month-roster-corner,.month-room-header,.month-roster-day,.month-info-header{min-height:42px;padding:8px;font-size:12px;font-weight:900}.month-info-header{align-content:center;display:grid}.month-room-header{gap:2px;display:grid}.month-room-header small{color:#b45309;font-size:10px}.month-roster-day{align-content:center;gap:2px;display:grid}.month-roster-day span{color:#64748b;font-size:11px}.month-roster-day.outside-month,.month-roster-cell.outside-month,.unavailable-cell.outside-month,.holiday-cell.outside-month,.notes-cell.outside-month{color:#64748b;background:#f8fafc}.holiday-cell.outside-month{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#eef2f7 8px 16px)}.month-roster-cell,.compact-unavailable-cell,.compact-holiday-cell,.compact-notes-cell{min-height:86px;padding:6px}.compact-notes-cell .notes-input{height:100%;min-height:44px;font-size:12px}.compact-unavailable-cell .unavailable-person,.compact-holiday-cell .holiday-person{padding:3px 6px;font-size:11px}.month-day-grid{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.month-day{border-right:1px solid #e2e8f0;min-height:172px;padding:10px}.month-day:last-child{border-right:0}.month-day.outside-month{color:#64748b;background:#f8fafc}.month-day-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.month-day-header span{color:#64748b;font-size:12px;font-weight:800}.month-assignment-list{gap:6px;display:grid}.month-assignment{border:1px solid var(--role-border);background:var(--role-bg);color:var(--role-text);border-left-width:4px;border-radius:6px;padding:6px}.month-assignment strong,.month-assignment span,.month-assignment small{font-size:11px;display:block}.month-assignment span,.month-assignment small{color:inherit;opacity:.82}.inactive-month-assignment{filter:grayscale(.6);opacity:.78}.month-empty,.month-more{color:#64748b;font-size:12px;font-weight:800}.holiday-periods{gap:10px;display:grid}.holiday-period-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end;gap:10px;display:grid}.holiday-period-list{gap:8px;display:grid}.holiday-period-row{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:800;display:flex}.row-actions{gap:6px;display:inline-flex}.holiday-overview{gap:18px;min-width:min(1180px,96vw - 72px);margin-top:18px;display:grid}.holiday-overview-tabs{border-bottom:1px solid #d8dee8;flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.tab-button{color:#475569;min-height:36px;font:inherit;background:#f8fafc;border:1px solid #d8dee8;border-radius:8px 8px 0 0;padding:0 12px;font-size:13px;font-weight:900}.tab-button.selected{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.holiday-overview-controls{flex-wrap:wrap;gap:12px;display:flex}.holiday-review-tasks-panel{gap:12px;display:grid}.holiday-task-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.holiday-task-controls .import-section-note{flex:360px;margin:0}.holiday-summary{flex-wrap:wrap;gap:8px;display:flex}.holiday-summary span{color:#334155;background:#fff;border:1px solid #d8dee8;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.holiday-overview-form{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;grid-template-columns:minmax(150px,1.1fr) minmax(138px,.9fr) minmax(138px,.9fr) minmax(190px,1.3fr) minmax(118px,.8fr) minmax(112px,.75fr) auto auto;align-items:end;gap:12px;padding:14px;display:grid}.holiday-overview-table-wrap{border:1px solid #d8dee8;border-radius:8px;overflow:auto}.holiday-overview-table{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%;min-width:1040px;font-size:13px}.holiday-overview-table th,.holiday-overview-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #e2e8f0;padding:10px 12px}.holiday-overview-table th:first-child,.holiday-overview-table td:first-child{width:150px}.holiday-overview-table th:nth-child(2),.holiday-overview-table td:nth-child(2),.holiday-overview-table th:nth-child(3),.holiday-overview-table td:nth-child(3){white-space:nowrap;width:126px}.holiday-overview-table th:nth-child(4),.holiday-overview-table td:nth-child(4){width:270px}.holiday-overview-table th:nth-child(5),.holiday-overview-table td:nth-child(5){width:190px}.holiday-overview-table th:nth-child(6),.holiday-overview-table td:nth-child(6){width:150px}.holiday-overview-table th:nth-child(7),.holiday-overview-table td:nth-child(7){width:92px}.holiday-overview-table th{color:#334155;background:#f8fafc;font-size:12px;font-weight:900}.holiday-overview-table tr:last-child td{border-bottom:0}.holiday-overview-table .unknown-holiday-row td{background:#fff7ed}.holiday-overview-table .unknown-holiday-row td:first-child{box-shadow:inset 4px 0 #f97316}.inline-holiday-amount{gap:6px;display:grid}.inline-edit-actions{align-items:stretch;min-width:96px}.excel-import-preview{gap:16px;max-height:min(76vh,820px);padding-right:4px;display:grid;overflow:auto}.import-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summary-tile,.import-notice,.import-report-section{background:#fff;border:1px solid #d8dee8;border-radius:8px}.summary-tile{gap:4px;min-width:0;padding:12px;display:grid}.summary-tile span,.summary-tile small,.import-report-section small{color:#64748b;font-size:12px;font-weight:800}.summary-tile strong{color:#172033;overflow-wrap:anywhere;font-size:15px}.import-notice{color:#1e3a8a;background:#eff6ff;gap:4px;padding:12px;display:grid}.unknown-employee-review{gap:14px;display:grid}.unknown-employee-list{gap:10px;display:grid}.unknown-employee-card{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.unknown-employee-card div{gap:3px;display:grid}.unknown-employee-card small{color:#64748b;font-size:12px;font-weight:800}.import-error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-weight:900}.import-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.import-report-section{padding:12px}.import-report-section h3,.import-report-section summary{color:#334155;font-size:13px;font-weight:900}.import-report-section h3{margin:0 0 10px}.import-report-section summary{cursor:pointer}.import-report-section summary span{color:#64748b}.warning-report{background:#fffbeb;border-color:#fde68a}.warning-report ul{margin:8px 0 0 18px;padding:0}.compact-count-list{flex-wrap:wrap;gap:7px;display:flex}.compact-count-list span{color:#334155;background:#f8fafc;border:1px solid #d8dee8;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.manual-check-list{gap:10px;display:grid}.manual-check-card{background:#fff;border:1px solid #d8dee8;border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:12px;padding:12px;display:grid}.manual-check-card.added{background:#f0fdf4;border-color:#86efac}.manual-check-card.discarded{background:#fff7f7;border-color:#fecaca}.manual-check-main,.manual-check-controls,.manual-check-actions{gap:6px;display:grid}.manual-check-main span{color:#111827;font-weight:800}.manual-check-main small{color:#64748b;font-size:12px}.manual-check-controls .field{margin:0}.manual-check-actions{align-content:end}.import-table-wrap{margin-top:10px;overflow-x:auto}.import-report-table{border-collapse:collapse;width:100%;min-width:860px;font-size:12px}.import-report-table th,.import-report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:8px}.import-report-table th{color:#475569;background:#f8fafc;font-weight:900}.import-report-table td:nth-child(4),.import-report-table td:nth-child(5){overflow-wrap:anywhere}.import-report-table td small{margin-top:3px;display:block}.import-section-note{color:#64748b;margin:0 0 10px;font-size:12px;font-weight:700;line-height:1.45}.absence-review-section{background:#f8fbff;border-color:#bae6fd}.absence-review-table{min-width:1120px}.absence-review-table th:first-child,.absence-review-table td:first-child{width:190px}.absence-review-table th:nth-child(2),.absence-review-table td:nth-child(2){white-space:nowrap;width:104px}.absence-review-table th:nth-child(3),.absence-review-table td:nth-child(3){width:130px}.absence-review-table th:nth-child(4),.absence-review-table td:nth-child(4){width:220px}.absence-review-table th:nth-child(6),.absence-review-table td:nth-child(6){width:180px}.absence-review-table select{color:#172033;width:100%;min-height:32px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:7px;margin-top:6px;padding:0 8px;font-size:12px;font-weight:800}.resolved-discrepancy-row td{color:#64748b;background:#f8fafc}.discrepancy-status{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:999px;align-items:center;width:fit-content;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex}.discrepancy-status.added{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.discrepancy-status.discarded{color:#475569;background:#f8fafc;border-color:#cbd5e1}.suggested-leave-status{color:#166534!important}.discrepancy-actions{gap:6px;display:grid}.small-action{justify-content:center;min-height:30px;padding:0 9px;font-size:12px}.import-table-limit{color:#64748b;margin:8px 0 0;font-size:12px;font-weight:800}.calendar-picker{position:relative}.calendar-picker-trigger{color:#111827;width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:flex-start;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.calendar-popover{z-index:35;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:260px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 40px #0f172a2e}.calendar-popover-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.calendar-popover-header strong{color:#111827;font-size:13px}.calendar-weekdays,.calendar-day-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays span{color:#64748b;text-align:center;font-size:10px;font-weight:900}.calendar-day-button{aspect-ratio:1;color:#1f2937;background:#fff;border:1px solid #0000;border-radius:7px;font-size:12px;font-weight:900}.calendar-day-button:hover{background:#eff6ff;border-color:#93c5fd}.calendar-day-button.selected{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}.calendar-day-button.outside-month{color:#94a3b8;background:#f8fafc}.empty-state{color:#64748b;margin:0;font-size:13px}.modal-backdrop{z-index:20;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{width:min(860px,96vw);max-height:92vh;padding:20px;overflow:auto}.modal-panel:has(.holiday-overview){width:min(1280px,98vw)}.modal-panel:has(.excel-import-preview){width:min(1180px,98vw)}.modal-panel:has(.monthly-hours-overview){width:min(1040px,96vw)}.modal-panel:has(.employee-overview){width:min(980px,96vw)}.modal-panel:has(.cloud-setup-panel){width:min(620px,94vw)}.cloud-setup-panel{gap:14px;display:grid}.cloud-setup-section{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;gap:10px;padding:14px;display:grid}.cloud-status{color:#475569;align-items:center;gap:10px;display:flex}.cloud-status.configured{color:#0f766e}.cloud-status>div{gap:2px;display:grid}.cloud-status span,.cloud-setup-section small,.migration-placeholder p{color:#64748b;font-size:12px}.cloud-mode-toggle{align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.cloud-connection-statuses{flex-wrap:wrap;gap:6px;display:flex}.production-diagnostics{border-top:1px solid #d8dee8;gap:8px;padding-top:10px;display:grid}.production-diagnostics dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;display:grid}.production-diagnostics dl>div{gap:2px;display:grid}.production-diagnostics dt{color:#64748b;font-size:11px}.production-diagnostics dd{color:#1e293b;margin:0;font-size:12px;font-weight:800}.theme-dark .production-diagnostics{border-top-color:#475569}.theme-dark .production-diagnostics dt{color:#a8b4c4}.theme-dark .production-diagnostics dd{color:#eef2f7}@media (width<=520px){.production-diagnostics dl{grid-template-columns:1fr}}.cloud-connection-statuses span{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.cloud-connection-statuses span.passed{color:#166534;background:#f0fdf4;border-color:#86efac}.cloud-connection-statuses span.failed{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.cloud-login-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.cloud-login-form .field,.cloud-session-label,.migration-placeholder p{margin:0}.cloud-session-label{font-size:13px;font-weight:800}.cloud-auth-message{color:#b91c1c;margin:0;font-size:12px;font-weight:700}.cloud-success-message{color:#166534;margin:0;font-size:12px;font-weight:700}.practice-setup-section>div:first-child p{color:#64748b;margin:4px 0 0;font-size:12px}.practice-membership-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-membership-summary span{color:#475569;font-size:12px;font-weight:800}.rls-test-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.rls-test-results span{color:#166534;background:#f0fdf4;border-left:3px solid #22c55e;padding:6px 8px;font-size:11px;font-weight:800}.migration-placeholder{background:#fff7ed;border-color:#fed7aa}.migration-preview-status{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:999px;width:fit-content;padding:4px 9px;font-size:11px;font-weight:900}.migration-preview-status.ready{color:#166534;background:#f0fdf4;border-color:#86efac}.migration-preview-status.warnings{color:#92400e;background:#fffbeb;border-color:#fcd34d}.migration-preview-status.blocked{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.migration-preview-results{border-top:1px solid #fed7aa;gap:10px;padding-top:12px;display:grid}.migration-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.migration-preview-summary>span{color:#1f2937;overflow-wrap:anywhere;background:#fff;border:1px solid #e2e8f0;border-radius:7px;gap:2px;padding:8px;font-size:12px;display:grid}.migration-preview-summary strong,.migration-preview-summary small{color:#64748b;font-size:10px}.migration-preview-group{border-top:1px solid #e2e8f0;gap:6px;padding-top:9px;display:grid}.migration-preview-group ul{color:#475569;margin:0;padding-left:18px;font-size:11px}.migration-table-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;display:grid}.migration-table-counts span{color:#475569;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:11px;display:flex}.migration-preview-group.issues.blocked{color:#991b1b}.migration-preview-group.issues.warnings{color:#92400e}.migration-preview-group.issues.clear{color:#166534}.migration-preview-ready{color:#166534;background:#f0fdf4;border-left:3px solid #22c55e;margin:0;padding:7px 9px;font-size:12px;font-weight:900}.migration-confirmation{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;gap:10px;padding:12px;display:grid}.migration-confirmation>p{color:#991b1b;margin:0;font-size:12px;font-weight:800}.migration-confirmation>label:not(.field){color:#7f1d1d;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.migration-confirmation .field{margin:0}.migration-progress{color:#1e3a8a;background:#eff6ff;border-left:3px solid #2563eb;padding:8px 10px;font-size:12px;font-weight:900}.migration-run-result{background:#fff;border:1px solid #d8dee8;border-radius:8px;gap:9px;padding:12px;display:grid}.migration-run-result.completed{color:#166534;background:#f0fdf4;border-color:#86efac}.migration-run-result.warnings{color:#92400e;background:#fffbeb;border-color:#fcd34d}.migration-run-result.failed{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.migration-run-result>p,.migration-run-result>span{margin:0;font-size:12px}.migration-verification-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.migration-verification-list>span{border-bottom:1px solid;grid-template-columns:1fr auto;gap:2px 8px;padding:5px 0;font-size:11px;display:grid}.migration-verification-list small{grid-column:1/-1}.migration-verification-list .matched b{color:#166534}.migration-verification-list .mismatch b,.migration-verification-list .blocker b{color:#991b1b}.migration-verification-list .allowed-change b{color:#92400e}.cloud-verification-panel{border-top:1px solid #d8dee8;gap:10px;padding-top:14px;display:grid}.cloud-verification-panel>div:first-child p{color:#64748b;margin:4px 0 0;font-size:12px}.cloud-verification-panel>.secondary-button{justify-self:start}.cloud-verification-check{gap:10px;display:grid}.cloud-verification-check+.cloud-verification-check{border-top:1px solid #d8dee8;padding-top:12px}.cloud-verification-check>div:first-child p{color:#64748b;margin:4px 0 0;font-size:12px}.cloud-verification-check>.secondary-button{justify-self:start}.cloud-verification-list>span{align-content:start}.cloud-verification-list details{grid-column:1/-1;margin-top:4px;font-size:11px}.cloud-verification-list summary{cursor:pointer;font-weight:800}.cloud-verification-list details p{overflow-wrap:anywhere;margin:5px 0 0}.cloud-changed-record{background:#fff9;border:1px solid #fca5a5;border-radius:6px;gap:5px;margin-top:8px;padding:8px;display:grid}.cloud-changed-record>span{font-size:11px}.cloud-field-differences{gap:3px;margin-top:3px;display:grid}.cloud-field-differences>span{grid-template-columns:minmax(90px,.75fr) minmax(100px,1fr) minmax(100px,1fr) minmax(130px,1fr);align-items:start;gap:8px;display:grid}.cloud-field-differences>span>span{gap:2px;display:grid}.cloud-field-differences>span>span small{color:#64748b}.cloud-field-differences code{overflow-wrap:anywhere;white-space:normal}.cloud-read-mode-control{border-top:1px solid #d8dee8;gap:8px;padding-top:12px;display:grid}.cloud-read-mode-control>.primary-button,.cloud-read-mode-control>.secondary-button{justify-self:start}.cloud-write-readiness-panel{border-top:1px solid #d8dee8;gap:9px;padding-top:12px;display:grid}.cloud-write-readiness-panel>div:first-child p{color:#64748b;margin:4px 0 0;font-size:12px}.cloud-write-readiness-panel>.secondary-button{justify-self:start}.cloud-write-baseline-status,.cloud-write-decision-guidance,.cloud-write-enable-guard{color:#334155;background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;gap:7px;padding:10px;font-size:11px;display:grid}.cloud-write-baseline-status ul,.cloud-write-decision-guidance ul{margin:0;padding-left:18px}.cloud-write-baseline-status.status-ready{color:#166534;background:#f0fdf4;border-color:#86efac}.cloud-write-baseline-status.status-local-differs,.cloud-write-baseline-status.status-schema-mismatch,.cloud-write-baseline-status.status-verification-not-passed,.cloud-write-baseline-status.status-rls-not-passed{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.cloud-write-baseline-status.status-manual-decision{color:#78350f;background:#fffbeb;border-color:#fcd34d}.cloud-write-requirements{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.cloud-write-requirements>span{background:#fff;border:1px solid #d8dee8;border-radius:6px;gap:2px;padding:7px;display:grid}.cloud-write-requirements>span.met small{color:#166534}.cloud-write-requirements>span.missing small{color:#991b1b}.cloud-write-enable-guard>.primary-button,.cloud-write-enable-guard>.secondary-button{justify-self:start}.cloud-write-phrase{max-width:430px}.cloud-write-phrase input{width:100%}.cloud-write-confirmation{align-items:flex-start;gap:7px;line-height:1.35;display:flex}.cloud-write-confirmation input{margin-top:1px}.cloud-write-scope-divider{background:#d8dee8;height:1px;margin:6px 0 2px}.cloud-write-readiness-result{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;gap:10px;padding:11px;display:grid}.cloud-write-readiness-result.status-ready{color:#166534;background:#f0fdf4;border-color:#86efac}.cloud-write-readiness-result.status-cloud-mismatch,.cloud-write-readiness-result.status-schema-mismatch,.cloud-write-readiness-result.status-missing-metadata{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.cloud-write-readiness-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.cloud-write-readiness-summary>span{border-bottom:1px solid;gap:2px;padding:5px 0;font-size:11px;display:grid}.cloud-write-readiness-summary code{overflow-wrap:anywhere}.cloud-write-readiness-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:11px;display:grid}.cloud-write-readiness-notes ul{margin:4px 0 0;padding-left:18px}.data-source-badge{color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.data-source-badge.cloud{color:#075985;background:#f0f9ff;border-color:#7dd3fc}.cloud-preview-banner{color:#075985;background:#f0f9ff;border:1px solid #7dd3fc;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;font-weight:800;display:flex}.cloud-preview-banner>span{flex:1;gap:2px;display:grid}.cloud-workflow-save-status{font-size:10px;font-weight:700}.cloud-workflow-save-status.failed{color:#b91c1c}.cloud-workflow-save-status.removed{color:#0369a1}.theme-dark .cloud-workflow-save-status.failed{color:#fca5a5}.cloud-preview-banner .secondary-button{min-height:30px}.cloud-preview-banner.day-note-write-mode{color:#115e59;background:#f0fdfa;border-color:#5eead4}.theme-dark .cloud-preview-banner.day-note-write-mode{color:#99f6e4;background:#042f2e;border-color:#0f766e}.theme-dark .notes-save-button{color:#ccfbf1;background:#134e4a;border-color:#14b8a6}.theme-dark .notes-save-button:disabled{color:#64748b;background:#1e293b;border-color:#475569}.theme-dark .day-note-cloud-save{color:#cbd5e1}.theme-dark .day-note-cloud-save.status-saved{color:#6ee7b7}.theme-dark .day-note-cloud-save.status-removed,.theme-dark .cloud-workflow-save-status.removed{color:#7dd3fc}.theme-dark .day-note-cloud-save.status-failed{color:#fca5a5}.cloud-preview-active .assignment-card,.cloud-preview-active .employee-card,.cloud-preview-active .column-drag-handle{cursor:default}@media (width<=720px){.cloud-login-form,.rls-test-results,.migration-preview-summary,.migration-table-counts,.migration-verification-list,.cloud-write-readiness-summary,.cloud-write-readiness-notes{grid-template-columns:1fr}.cloud-field-differences>span{border-top:1px solid #d8dee8;grid-template-columns:1fr;padding-top:5px}.cloud-write-requirements{grid-template-columns:1fr}.theme-dark .cloud-field-differences>span{border-color:#3f4b5f}}.monthly-hours-overview{gap:16px;margin-top:16px;display:grid}.monthly-period-controls{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px;padding:12px;display:flex}.monthly-period-controls .field{min-width:180px;margin:0}.monthly-hours-section{background:#fff;border:1px solid #d8dee8;border-radius:8px;gap:10px;padding:14px;display:grid}.monthly-hours-section .section-header{align-items:start;gap:16px}.monthly-hours-section h3,.monthly-hours-section p{margin:0}.monthly-hours-section p{color:#64748b;font-size:13px}.monthly-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.monthly-summary-card{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;gap:4px;padding:10px;display:grid}.monthly-summary-card span,.monthly-leave-card-header span{color:#64748b;font-size:12px;font-weight:800}.monthly-table-wrap{overflow:auto}.monthly-hours-table{border-collapse:collapse;width:100%;font-size:13px}.monthly-hours-table th,.monthly-hours-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:8px 10px}.monthly-hours-table th{color:#334155;background:#f8fafc;font-size:12px}.monthly-hours-table tr:last-child td{border-bottom:0}.positive-balance{color:#047857;font-weight:900}.negative-balance{color:#b91c1c;font-weight:900}.monthly-leave-list{gap:10px;display:grid}.monthly-leave-card{background:#fbfdff;border:1px solid #d8dee8;border-radius:8px;gap:8px;padding:10px;display:grid}.monthly-leave-card-header{justify-content:space-between;gap:12px;display:flex}.compact-monthly-table{font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.time-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-warning{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:10px;font-weight:700;display:flex}.employee-form{gap:18px;display:grid}.check-group h3,.standard-shifts h3{margin:0 0 10px;font-size:14px}.standard-shift-row{grid-template-columns:1.1fr 1.2fr 1.2fr 1fr 1.5fr 36px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.week-type-mini{color:#475569;gap:3px;font-size:12px;font-weight:700;display:grid}.week-type-mini label{align-items:center;gap:5px;display:flex}.print-only{display:none}.print-options{gap:16px;margin-top:14px;display:grid}.print-options-note{color:#64748b;margin:0;font-size:13px;font-weight:700}.print-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.print-column-option{background:#fff;border:1px solid #d8dee8;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.print-column-option span{gap:2px;display:grid}.print-column-option small{color:#64748b;font-size:11px;font-weight:800}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media print{@page{size:A4 landscape;margin:7mm}html,:root,body{color:#172033;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f6f8fb;width:auto;min-width:0;height:auto}.no-print,.sidebar,.warnings-panel,.roster-change-log-panel,.toolbar,.drag-handle,.mini-edit,.mini-delete,.column-drag-handle,.resize-handle,.print-warning-summary,.monthly-totals-panel{display:none!important}.print-only{display:block}.app-shell{width:100%;min-height:0;display:block;color:#172033!important;background:#f6f8fb!important}.theme-dark,.theme-dark .app-shell,.theme-dark .main-stage,.theme-dark .monthly-print-pages,.theme-dark .monthly-print-week,.theme-dark .weekly-print-roster{color:#172033!important;background:#f6f8fb!important}.main-stage{width:100%;padding:0;overflow:visible;background:#f6f8fb!important}.roster-scroll{break-before:avoid;width:100%;padding-bottom:0;overflow:visible}.screen-roster-area{display:none!important}.print-header{break-after:avoid;page-break-after:avoid;background:#fff;border:1px solid #d8e1ec;border-radius:8px 8px 0 0;margin:0 0 3mm;padding:2.5mm 3mm;box-shadow:0 2px 8px #1c253714}.print-header h1{color:#172033;margin:0;font-size:14.5pt;line-height:1.1}.print-header p{color:#526070;margin:2px 0 0;font-size:9.5pt;font-weight:800}.weekly-print-roster{break-before:avoid;page-break-before:avoid;break-inside:avoid;page-break-inside:avoid;width:100%;display:block!important}.weekly-print-grid{break-inside:avoid;page-break-inside:avoid;background:#cfdae7;border:1px solid #cfdae7;border-radius:0 0 8px 8px;grid-template-columns:66px repeat(8,minmax(0,1fr));gap:1px;width:100%;max-width:100%;font-size:6.7pt;line-height:1.08;display:grid;overflow:hidden;box-shadow:0 4px 12px #1c253714}.monthly-print-pages{width:100%;background:#f6f8fb!important;display:block!important}.monthly-print-week{break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid;width:100%;display:block;background:#f6f8fb!important}.monthly-print-week:last-child{break-after:auto;page-break-after:auto}.monthly-print-week .print-header,.monthly-print-week .weekly-print-roster,.monthly-print-week .weekly-print-grid{break-inside:avoid;page-break-inside:avoid}.weekly-print-header-cell,.weekly-print-day-cell,.weekly-print-cell{color:#172033;overflow-wrap:anywhere;background:#fff;min-width:0;padding:2.5px}.weekly-print-header-cell{color:#263445;text-align:center;background:#edf3f8;align-content:center;gap:2px;min-height:25px;font-size:6.8pt;font-weight:900;display:grid}.weekly-print-header-cell span{color:#6b7788;font-size:5.8pt}.weekly-print-day-cell{color:#172033;background:#f7fafc;align-content:start;gap:2px;min-height:56px;font-weight:900;display:grid;overflow:hidden}.weekly-print-day-cell span,.weekly-print-day-cell small{color:#526070;font-size:6.1pt;line-height:1.08}.weekly-print-cell{align-content:start;justify-items:start;gap:2.5px;min-height:56px;display:grid;overflow:hidden}.weekly-print-day-cell,.weekly-print-cell{box-shadow:inset 0 1px #cfdae7}.weekly-print-notes-cell{color:#526070;white-space:pre-wrap;background:#fffdf5;font-size:6.3pt;line-height:1.15}.weekly-print-info-cell{flex-wrap:wrap;align-content:start;align-items:flex-start;gap:2px;display:flex}.weekly-print-holiday-cell{background:#fffdf5}.weekly-print-info-pill{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;width:fit-content;max-width:100%;padding:1px 4px;font-size:5.9pt;font-weight:850;line-height:1.1;display:inline-flex}.weekly-print-empty{color:#94a3b8;font-size:6pt}.weekly-print-assignment{border:1px solid color-mix(in srgb, var(--role-border), white 48%);border-left:4px solid var(--role-border);-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:5px;gap:1px;width:fit-content;min-width:36px;max-width:100%;padding:2px 4px;display:grid;box-shadow:inset 0 0 0 1px #ffffff6b;background:var(--role-bg)!important;color:var(--role-text)!important}.weekly-print-assignment strong,.weekly-print-assignment span,.weekly-print-assignment small{overflow-wrap:anywhere;word-break:normal;font-size:6.2pt;line-height:1.1;color:var(--role-text)!important}.weekly-print-assignment span{opacity:.88;font-weight:800}.weekly-print-assignment strong{font-size:6.7pt;font-weight:950}.inactive-print-cell,.closed-print-cell{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 6px,#eef3f8 6px 12px)!important}.roster-board{break-inside:avoid;page-break-inside:avoid;background:#777;border-color:#777;border-radius:0;min-width:0;max-width:100%;font-size:7.5pt;grid-template-columns:48px repeat(var(--roster-column-count), minmax(0, 1fr))!important;width:100%!important}.corner-cell,.room-header,.day-cell,.roster-cell,.info-header,.unavailable-cell,.holiday-cell,.notes-cell{color:#111;background:#fff}.corner-cell,.room-header,.day-cell,.info-header{padding:3px;font-size:6.8pt;line-height:1.1;min-height:24px!important}.roster-cell,.unavailable-cell,.holiday-cell,.notes-cell{padding:2px;line-height:1.05;overflow:hidden;min-height:58px!important}.day-cell{gap:1px}.day-cell span,.closed-day-label{font-size:6.5pt;line-height:1.05}.unavailable-person,.holiday-person{border-color:#444;padding:1px 3px;font-size:6.3pt;line-height:1.05;color:#111!important;background:#fff!important}.holiday-person{border-left:4px solid #444}.notes-print{white-space:pre-wrap;min-height:18px;font-size:6.5pt}.assignment-card{border:1px solid #444;border-left:4px solid var(--role-border);-webkit-print-color-adjust:exact;print-color-adjust:exact;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:2px 3px;color:#111!important;background:#fff!important}.assignment-card strong,.assignment-card span,.assignment-card small{color:#111;overflow-wrap:anywhere;font-size:6.7pt;line-height:1.05}.cell-warning-pill{display:none!important}.assignment-stack{gap:2px}.inactive-note,.inactive-assignment-note{font-size:6pt}.month-board{gap:8px;width:100%;min-width:0}.monthly-totals-panel{box-shadow:none;border-color:#777;padding:6px}.monthly-totals-header span{color:#111}.monthly-total-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.monthly-total-card{border-color:#777;padding:4px;background:#fff!important}.monthly-total-card strong,.monthly-total-card span,.monthly-total-card small{color:#111;font-size:8px}.month-week{width:100%;box-shadow:none;break-inside:avoid;border-color:#777}.month-week-header,.month-roster-corner,.month-room-header,.month-roster-day,.month-roster-cell,.month-info-header,.month-day,.month-day.outside-month{color:#111;background:#fff}.month-roster-board{background:#777;border-color:#777;width:100%;min-width:0}.month-roster-corner,.month-room-header,.month-roster-day,.month-info-header{min-height:28px;padding:4px;font-size:8px}.month-roster-cell,.compact-unavailable-cell,.compact-notes-cell{min-height:52px;padding:3px}.month-day{min-height:86px;padding:5px}.month-assignment{border-color:#444;padding:3px 4px;color:#111!important;background:#fff!important}.month-assignment strong,.month-assignment span,.month-assignment small,.month-empty,.month-more{color:#111;font-size:8px}.print-warning-summary{margin-top:12px;font-size:10px}.print-warning-summary h2{margin:0 0 6px;font-size:13px}.print-warning-summary ul{margin:3px 0 7px 16px;padding:0}}
