:root{--ink:#132033;--muted:#64748b;--line:#d8e0ea;--panel:#ffffffe6;--accent:#0f766e;--accent-soft:#d8f3ef;--accent-ink:#0f5f58;--accent-ring:#d7ebe8;--app-background-glow:#0f766e24;--app-background-start:#f8fafc;--app-background-end:#edf3f7;--brand-mark-background:#000;--blue:#2563eb;--warning:#b45309;--warning-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--weekend:#e8edf3}body.app-environment-test{--accent:#1d4ed8;--accent-soft:#dbeafe;--accent-ink:#1e3a8a;--accent-ring:#bfdbfe;--app-background-glow:#2563eb29;--app-background-end:#eaf1fb;--brand-mark-background:#1d4ed8}.organization-planning-form,.organization-planning-form fieldset,.organization-duty-settings,.annual-planning-page,.annual-planning-actions,.annual-planning-workspace,.annual-planning-rail,.annual-rules,.annual-rule-table,.annual-employee-rule-table{gap:12px;display:grid}.organization-planning-form fieldset{border:1px solid var(--line);margin:0;padding:12px}.organization-planning-form legend{color:var(--ink);padding:0 5px;font-size:.82rem;font-weight:900}.choice-row,.organization-duty-row{align-items:center;gap:9px;display:flex}.choice-row+.choice-row{margin-top:9px}.choice-row span,.organization-duty-row span,.annual-employee-rule-row>span{gap:2px;display:grid}.choice-row small,.organization-duty-row small,.annual-employee-rule-row small{color:var(--muted);font-size:.75rem;font-weight:650}.organization-duty-row{justify-content:space-between}.organization-duty-row .select{flex:0 0 154px}.annual-planning-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;padding-bottom:12px;display:flex}.annual-planning-toolbar h2,.annual-planning-toolbar p{margin:0}.annual-planning-toolbar p:not(.eyebrow){color:var(--muted);margin-top:4px;font-size:.86rem}.annual-planning-actions{grid-template-columns:repeat(2,minmax(126px,1fr)) auto auto;grid-auto-flow:column;align-items:end}.annual-planning-actions label{color:var(--muted);gap:4px;font-size:.72rem;font-weight:800;display:grid}.annual-planning-workspace{grid-template-columns:minmax(0,1fr) 270px;align-items:start}.annual-planning-matrix-wrap{border:1px solid var(--line);overflow:auto}.annual-planning-matrix{min-width:1140px}.annual-metric-row{grid-template-columns:150px repeat(12,minmax(70px,1fr)) minmax(92px,1.15fr);display:grid}.annual-metric-row>*{border-bottom:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:2px;min-height:58px;padding:6px 7px;font-size:.74rem;display:grid}.annual-metric-row>strong{color:var(--ink);background:#fff;font-size:.78rem}.annual-metric-head>*{color:var(--muted);text-align:left;background:#f8fafc;min-height:33px;font-size:.69rem;font-weight:900}.annual-metric-head button,.annual-metric-cell{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fff;border:0}.annual-metric-head button.active,.annual-metric-cell:hover{background:#e6fffb}.annual-metric-cell small,.annual-metric-total small{color:var(--muted);font-size:.64rem;font-weight:750}.annual-metric-cell.empty,.annual-metric-total.empty{color:#94a3b8}.annual-metric-cell.warning,.annual-metric-total.warning{color:#92400e;background:#fffbeb}.annual-metric-total{background:#f8fafc;font-weight:850}.annual-planning-rail{border-left:1px solid var(--line);padding-left:14px}.annual-planning-rail section+section{border-top:1px solid var(--line);padding-top:12px}.annual-planning-rail h3,.annual-planning-rail p{margin:0}.annual-planning-rail p:not(.eyebrow){color:var(--muted);margin-top:4px;font-size:.78rem;line-height:1.4}.annual-attention{border-left:3px solid #f59e0b;padding-left:8px}.annual-attention.error{border-left-color:#dc2626;color:#991b1b!important}.annual-attention.ok{border-left-color:#0f766e;color:#0f766e!important}.annual-month-duty-list{gap:4px;margin-top:9px;display:grid}.annual-month-duty-list span{color:var(--ink);font-size:.73rem;font-weight:750}.annual-rules{border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:12px 0}.annual-rule-row,.annual-employee-rule-row{align-items:center;gap:8px;display:grid}.annual-rule-row{grid-template-columns:minmax(150px,1.5fr) 70px 90px 170px 90px}.annual-employee-rule-row{grid-template-columns:minmax(180px,1.6fr) repeat(2,minmax(88px,.8fr)) repeat(2,minmax(70px,.6fr))}.annual-rule-row>*,.annual-employee-rule-row>*{min-width:0}.annual-compensation-window{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.annual-compensation-window label{color:var(--muted);gap:2px;font-size:.64rem;font-weight:800;display:grid}.annual-compensation-window .input{min-width:0;padding:5px 6px}.annual-rule-row.head,.annual-employee-rule-row.head{color:var(--muted);font-size:.7rem;font-weight:900}.holiday-duty-setting{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:end;gap:6px;margin-top:8px;padding-top:8px;display:grid}.holiday-duty-setting label{color:var(--muted);gap:3px;font-size:.67rem;font-weight:800;display:grid}@media (max-width:1100px){.annual-planning-toolbar,.annual-planning-workspace{grid-template-columns:1fr;align-items:stretch;display:grid}.annual-planning-actions{grid-auto-flow:initial;grid-template-columns:repeat(2,minmax(0,1fr))}.annual-planning-rail{border-left:0;border-top:1px solid var(--line);padding-top:12px;padding-left:0}}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 10% 0%, var(--app-background-glow), transparent 28rem), linear-gradient(135deg, var(--app-background-start) 0%, var(--app-background-end) 100%);margin:0;font-family:Aptos,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.mobile-menu,.mobile-view-toggle,.mobile-agenda-app,.mobile-roster-top-date-input{display:none}.planning-rules-panel{gap:14px;display:grid}.planning-rule-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.planning-rule-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:0;grid-template-columns:minmax(360px,1fr) 190px 190px 90px;align-items:center;gap:10px;padding:10px 12px;display:grid}.planning-rule-row:last-child{border-bottom:0}.planning-rule-row:not(.planning-rule-head):hover{background:#f8fafc}.planning-rule-row>span:first-child{gap:2px;display:grid}.planning-rule-row small{color:var(--muted);font-weight:700}.planning-rule-head{color:var(--muted);text-transform:uppercase;background:#f1f5f9;font-size:.72rem;font-weight:900}.planning-rule-row.inactive{opacity:.56}.planning-rule-conflicts{background:#fffbeb;border-left:4px solid #f59e0b;gap:6px;padding:10px 12px;display:grid}.planning-rule-conflicts.has-errors{border-left-color:var(--danger);background:var(--danger-soft)}.planning-rule-conflict{color:inherit;text-align:left;background:0 0;border:0;padding:3px 0}.planning-rule-wizard{width:min(780px,100vw - 24px)}.planning-rule-progress{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.planning-rule-progress i{background:#dbe3ec;height:4px}.planning-rule-progress i.active{background:var(--accent)}.planning-rule-kind-list{gap:6px;display:grid}.planning-rule-kind-list button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:6px;gap:3px;padding:10px 12px;display:grid}.planning-rule-kind-list button.active{border-color:var(--accent);background:var(--accent-soft)}.planning-rule-kind-list span,.planning-rule-preview span{color:var(--muted);font-size:.8rem}.planning-rule-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.planning-rule-fields label{color:var(--muted);gap:5px;font-size:.8rem;font-weight:850;display:grid}.planning-rule-final,.planning-rule-preview{gap:12px;display:grid}.planning-rule-preview{background:#effcf9;border:1px solid #9dded7;padding:12px}.planning-rule-wizard-actions{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;display:grid}.planning-settings-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.planning-settings-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 12px;font-weight:850}.planning-settings-tabs button.active{border-bottom-color:var(--accent);color:var(--ink)}.planning-category-list{gap:8px;display:grid}.planning-category{border:1px solid var(--line);background:#fff}.planning-category summary{cursor:pointer;background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.planning-category summary>span:first-child{align-items:baseline;gap:9px;display:flex}.planning-category summary small,.planning-category summary>span:last-child{color:var(--muted);font-size:.75rem}.planning-category-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:6px;padding:6px 8px;display:flex}.planning-rule-category-context{border-left:3px solid var(--accent);background:#f1f7f6;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:7px 9px;display:grid}.planning-rule-category-context span,.planning-rule-category-context small{color:var(--muted);font-size:.75rem}.planning-matrix-workspace,.planning-activity-catalog{gap:10px;display:grid}.planning-matrix-scroll{border:1px solid var(--line);max-width:100%;overflow:auto}.planning-suitability-matrix{min-width:max-content;display:grid}.planning-matrix-corner,.planning-matrix-employee,.planning-matrix-label,.planning-matrix-cell,.planning-matrix-select{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;min-height:42px;padding:6px 8px}.planning-matrix-corner,.planning-matrix-label{z-index:2;background:#f8fafc;align-content:center;font-weight:850;display:grid;position:sticky;left:0}.planning-matrix-corner,.planning-matrix-employee{z-index:3;background:#eef3f7;position:sticky;top:0}.planning-matrix-employee{text-align:center;align-content:center;font-size:.76rem;font-weight:850;display:grid}.planning-matrix-employee small{color:var(--muted);font-size:.65rem}.planning-matrix-cell,.planning-matrix-select{color:var(--ink);text-align:center;background:#fff;font-size:.72rem}.planning-matrix-cell.preferred,.planning-matrix-select.preferred{color:#166534;background:#dcfce7}.planning-matrix-cell.discouraged,.planning-matrix-select.discouraged{color:#92400e;background:#fef3c7}.planning-matrix-cell.forbidden,.planning-matrix-select.forbidden{color:#991b1b;background:#fee2e2}.planning-activity-list{border:1px solid var(--line);display:grid}.planning-activity-list button{border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:0;grid-template-columns:minmax(220px,1fr) 160px 90px;gap:10px;padding:8px 10px;display:grid}.planning-activity-options{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0;display:grid}.planning-activity-options label{font-size:.78rem}.planning-activity-modal{width:min(760px,100vw - 24px);max-height:calc(100vh - 32px);overflow:auto}.planning-activity-color{width:64px;padding:2px}@media (max-width:900px){.planning-rule-row{grid-template-columns:1fr}.planning-rule-head{display:none}.planning-rule-fields{grid-template-columns:1fr}}.login-page{background:radial-gradient(circle at 18% 20%,#0f766e24,#0000 34%),linear-gradient(135deg,#f8fbfd 0%,#edf5f4 48%,#f7fafc 100%);place-items:center;min-height:100vh;padding:32px;display:grid}.login-card{border:1px solid var(--line);background:#fffffff0;border-radius:28px;gap:18px;width:min(460px,100%);padding:34px;display:grid;box-shadow:0 24px 70px #0f172a24}.field{color:var(--muted);gap:7px;font-size:.85rem;font-weight:800;display:grid}.field input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:13px 14px;font-weight:800}.field input:focus{border-color:var(--accent);outline:3px solid #0f766e33}.login-submit{justify-content:center;width:100%}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;margin:0;padding:11px 13px;font-weight:800}.login-help{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.mfa-card{border-radius:22px}.mfa-setup-card{width:min(620px,100%)}.mfa-code-form{gap:14px;display:grid}.mfa-qr-panel{border:1px solid var(--line);background:#f8fafc;border-radius:18px;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:16px;padding:14px;display:grid}.mfa-qr-panel img{border:1px solid var(--line);background:#fff;border-radius:14px;width:168px;height:168px}.mfa-qr-panel p{color:var(--muted);margin-bottom:9px;line-height:1.4}.mfa-qr-panel small{overflow-wrap:anywhere;color:#334155;font-weight:800;display:block}.logout-button{color:#0f172a;background:#e8eef5;border:0;border-radius:14px;width:100%;margin-top:10px;padding:10px 12px;font-size:.86rem;font-weight:900}.logout-button:hover{background:#dbe7f0}.agenda-feed-panel{border:1px solid var(--line);background:#fff;border-radius:16px;gap:12px;margin:12px 0 16px;padding:14px;display:grid}.agenda-feed-panel h3{margin:0 0 4px}.agenda-feed-panel .lead{margin-bottom:0;font-size:.92rem}.agenda-feed-actions{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px;display:grid}.feed-url-input{width:100%;min-width:0;font-family:Consolas,Courier New,monospace;font-size:12px}.shell{min-height:100vh;padding:22px 22px 22px 278px;overflow-x:clip}.sidebar,.topbar,.panel{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #94a3b857;box-shadow:0 18px 55px #0f172a14}.sidebar{z-index:20;scrollbar-gutter:stable;border-radius:24px;flex-direction:column;align-self:start;gap:18px;width:238px;height:calc(100vh - 44px);max-height:calc(100vh - 44px);padding:18px;display:flex;position:fixed;top:22px;left:22px;overflow-y:auto}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#fff;background:#000;border-radius:14px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.brand span,.side-note span{color:var(--muted);font-size:12px;font-weight:700;display:block}.main-nav{gap:6px;display:grid}.nav-group{gap:5px;display:grid}.main-nav a{color:var(--ink);border-radius:14px;align-items:center;gap:8px;padding:9px 8px;font-size:13px;font-weight:900;text-decoration:none;display:flex}.main-nav a span{color:#334155;background:#e2e8f0;border-radius:9px;place-items:center;width:26px;height:26px;font-size:10px;display:grid}.main-nav a.active,.main-nav a:hover{background:var(--accent-soft);color:var(--accent-ink)}.main-nav a.active span,.main-nav a:hover span{background:var(--accent);color:#fff}.sub-nav{border-left:2px solid var(--accent-ring);gap:5px;margin:-1px 0 3px 18px;padding-left:10px;display:grid}.sub-nav a{min-height:36px;padding:8px 10px;font-size:13px}.sub-nav a span{width:24px;height:24px;font-size:9px}.side-note{background:#f8fafc;border-radius:16px;margin-top:auto;padding:12px}.organization-switcher{gap:5px;margin:8px 0;display:grid}.organization-switcher select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:900}.organization-switcher small{color:#b91c1c;font-size:11px;font-weight:800}.content{min-width:0}.environment-banner{color:#92400e;letter-spacing:.08em;text-transform:uppercase;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;width:fit-content;margin:0 0 12px;padding:6px 12px;font-size:.72rem;font-weight:900;display:inline-flex}body.app-environment-test .environment-banner{background:var(--accent-soft);color:var(--accent-ink);border-color:#60a5fa}.topbar{border-radius:24px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:20px 22px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:900}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:4px;font-size:clamp(30px,3vw,46px)}.lead{max-width:880px;color:var(--muted);line-height:1.45}.top-actions,.toolbar,.inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar a.ghost{align-items:center;min-height:28px;text-decoration:none;display:inline-flex}.inline-nav-form{align-items:center;gap:6px;display:inline-flex}.calendar-subbar summary.ghost{width:fit-content;list-style:none;display:inline-flex}.calendar-subbar summary.ghost::-webkit-details-marker{display:none}.primary,.ghost,.danger{border:0;border-radius:12px;padding:9px 12px;font-weight:900}.primary{background:var(--ink);color:#fff}.ghost{color:var(--ink);background:#e2e8f0}.danger{background:var(--danger-soft);color:var(--danger)}.small{padding:6px 9px;font-size:12px}.panel{border-radius:22px;margin-bottom:16px;padding:16px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.planning-month-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.planning-month-title span{color:var(--muted);font-size:13px;font-weight:850}.planning-month-title.published span{color:#166534}.planning-month-title.concept span{color:#92400e}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px}.metric span{color:var(--muted);font-size:12px;font-weight:800}.metric strong{margin:4px 0;font-size:30px;display:block}.excel-board{gap:14px;display:grid}.horizontal-planning-wrap{min-width:0}.horizontal-planning-scroll{border:1px solid var(--line);background:#fff;max-height:calc(100vh - 290px);overflow:auto}.horizontal-planning-grid{min-width:100%;display:grid}.horizontal-planning-group{color:#0f766e;text-transform:uppercase;background:#eefaf8;border-bottom:1px solid #b9dfdb;grid-column:1/-1;min-height:20px;padding:3px 8px;font-size:10px;font-weight:900}.resource-display-type{color:#475569;align-items:center;gap:5px;width:fit-content;font-size:11px;display:inline-flex}.resource-display-type:before{content:"";background:var(--resource-display-color);border-radius:2px;width:8px;height:8px}.resource-display-types-table .settings-table-head,.resource-display-types-table .settings-row{grid-template-columns:minmax(220px,1fr) 130px 120px 130px 112px}.resource-display-types-panel{margin-top:18px}.display-type-delete-cell,.display-type-add-cell{justify-content:center}.display-type-edit-cell{cursor:text}.display-type-new-row .settings-cell{background:#f8fbfd}.display-type-new-row .input::placeholder{color:#94a3b8}.icon-danger:disabled{cursor:not-allowed;opacity:.42}.horizontal-employee-groups-table .settings-table-head,.horizontal-employee-groups-table .settings-row{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr)}.horizontal-role-groups-table .settings-table-head,.horizontal-role-groups-table .settings-row{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 110px}.settings-subheading{color:var(--ink);margin:22px 0 4px;font-size:16px}.compact-number-cell .input{max-width:88px}.horizontal-planning-corner,.horizontal-planning-date,.horizontal-planning-employee,.horizontal-planning-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.horizontal-planning-corner{z-index:5;background:#f8fbfd;align-items:center;min-height:36px;padding:4px 8px;font-size:12px;font-weight:900;display:grid;position:sticky;top:0;left:0}.horizontal-planning-date{z-index:4;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:36px;color:var(--ink);text-align:center;cursor:pointer;background:#f8fbfd;place-items:center;gap:0;padding:3px 1px;display:grid;position:sticky;top:0}.horizontal-planning-date:hover{background:#edf7f6}.horizontal-planning-date strong{text-transform:uppercase;font-size:10px}.horizontal-planning-date>span{font-size:15px;font-weight:900}.horizontal-planning-date i{color:#9a3412;background:#fff0d5;border-radius:50%;place-items:center;width:10px;height:10px;font-size:7px;font-style:normal;font-weight:900;line-height:1;display:grid;position:absolute;bottom:2px;right:2px}.horizontal-planning-date.weekend,.horizontal-planning-cell.weekend{background:#f1f5f9}.horizontal-planning-employee{z-index:3;background:#fff;align-content:center;min-height:22px;padding:2px 8px;display:grid;position:sticky;left:0}.horizontal-planning-employee strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.horizontal-planning-cell{background:#fff;flex-direction:column;gap:1px;min-height:22px;padding:1px 2px;display:flex;position:relative}.horizontal-planning-cell.has-items{background:#fbfdff}.horizontal-assignment{border:1px solid color-mix(in srgb, var(--horizontal-activity-color) 32%, white);border-left:3px solid var(--horizontal-activity-color);background:color-mix(in srgb, var(--horizontal-activity-color) 14%, white);width:100%;min-height:18px;color:color-mix(in srgb, var(--horizontal-activity-color) 88%, #0f172a);text-align:left;cursor:grab;border-radius:2px;align-items:center;gap:2px;padding:1px 2px;font-size:9px;font-weight:800;line-height:1.1;display:flex;overflow:hidden}.horizontal-assignment:active{cursor:grabbing}.horizontal-assignment>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.horizontal-assignment>small{color:inherit;white-space:nowrap;flex:none;font-size:8px}.horizontal-assignment.conflict{border-color:#dc2626;border-left-color:var(--horizontal-activity-color);box-shadow:inset 0 -2px #dc2626}.horizontal-add-assignment{color:#94a3b8;opacity:0;cursor:pointer;background:0 0;border:1px dashed #cbd5e1;border-radius:3px;width:100%;min-height:16px;font-size:12px;line-height:1}.horizontal-planning-cell:hover .horizontal-add-assignment,.horizontal-add-assignment:focus-visible{opacity:1}.horizontal-status{color:#9a3412;background:#fff0d5;border-radius:50%;place-items:center;width:10px;height:10px;font-size:8px;font-weight:900;display:grid;position:absolute;bottom:2px;right:2px}.horizontal-absence,.horizontal-workday-status,.horizontal-work-activity{color:#374151;white-space:nowrap;background:#e5e7eb;border:1px solid #a8b0ba;border-left:3px solid #6b7280;border-radius:2px;align-items:center;width:100%;min-height:18px;padding:1px 2px;font-size:9px;font-weight:900;line-height:1.1;display:flex;overflow:hidden}.horizontal-work-activity{border-color:color-mix(in srgb, var(--horizontal-activity-color,#64748b) 42%, #fff);border-left-color:var(--horizontal-activity-color,#64748b);background:color-mix(in srgb, var(--horizontal-activity-color,#64748b) 14%, #fff);color:color-mix(in srgb, var(--horizontal-activity-color,#64748b) 78%, #111827)}.horizontal-inline-editor{z-index:2;position:relative}.horizontal-activity-editor{border:1px solid var(--line);background:#fff;border-radius:4px;gap:3px;min-width:132px;padding:3px;display:grid;box-shadow:0 5px 14px #0f172a24}.horizontal-activity-editor-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:850;overflow:hidden}.horizontal-activity-options{flex-wrap:wrap;gap:3px;display:flex}.horizontal-activity-option{border:1px solid color-mix(in srgb, var(--horizontal-activity-color) 38%, white);border-left:3px solid var(--horizontal-activity-color);background:color-mix(in srgb, var(--horizontal-activity-color) 14%, white);min-width:34px;color:color-mix(in srgb, var(--horizontal-activity-color) 88%, #0f172a);border-radius:2px;padding:2px 4px;font-size:9px;font-weight:900;line-height:1.15}.horizontal-inline-editor .inline-editor{min-width:235px}.horizontal-inline-editor .employee-suggestions{max-height:210px;overflow:auto}.horizontal-add-modal{width:min(680px,100vw - 32px)}.horizontal-slot-list{flex-wrap:wrap;gap:6px;max-height:min(46vh,360px);display:flex;overflow:auto}.horizontal-slot-list .ghost{min-width:100px}.week-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:visible}.week-title{border-bottom:1px solid var(--line);background:#f8fbfd;padding:8px 12px;font-weight:1000}.excel-grid{grid-template-columns:70px 22px repeat(var(--room-count), minmax(54px, 1fr));display:grid;position:relative}.excel-head,.excel-date,.excel-part,.excel-cell,.day-notes-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:29px;padding:3px 4px;font-size:12px}.excel-head{text-align:center;background:#f8fbfd;align-content:center;font-weight:900;line-height:1.08;display:grid}.excel-head small{color:var(--muted);font-size:9px;display:block}.excel-date{text-align:right;background:#fff;font-weight:800}.personal-day-status-label{color:#7c2d12;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;font-weight:800;line-height:1.05;display:block;overflow:hidden}.excel-part{text-align:center;background:#fff;font-weight:900}.excel-cell{background:#fff}.planning-balance-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:29px;color:var(--muted);background:#f8fbfd;align-content:center;gap:2px;padding:3px 5px;font-size:9px;line-height:1.1;display:grid}.planning-balance-locations{color:var(--ink);gap:5px;display:flex}.planning-automation-panel,.planning-generation-report{border:1px solid var(--line);border-left:3px solid var(--teal);background:#f8fbfd;margin:8px 0 12px}.planning-automation-panel{justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;display:flex}.planning-automation-panel>div:first-child{gap:2px;display:grid}.planning-automation-panel small,.generation-diff-list small,.generation-issues{color:var(--muted)}.planning-optimization-modal{width:min(760px,100vw - 32px);max-height:min(820px,100vh - 32px);overflow:auto}.optimization-lock-list{border:1px solid var(--line);background:#fff;gap:5px;max-height:340px;margin:12px 0;padding:9px;display:grid;overflow:auto}.optimization-lock-head,.optimization-lock-list label,.generation-scoreline{justify-content:space-between;align-items:center;gap:10px;display:flex}.optimization-lock-list label{border-bottom:1px solid var(--line);justify-content:flex-start;padding:4px 0}.planning-generation-report{padding:12px}.planning-generation-report.failed{border-left-color:var(--danger)}.generation-scoreline{flex-wrap:wrap}.generation-diff-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px;margin-top:10px;display:grid}.generation-diff-list article{border:1px solid var(--line);background:#fff;gap:2px;padding:7px 8px;font-size:12px;display:grid}.excel-date.outside-month,.excel-part.outside-month,.excel-cell.outside-month,.day-notes-cell.outside-month{color:#7c8aa0;background:#f4f7fb!important}.excel-cell.outside-month .assignment,.excel-cell.outside-month .empty-cell,.excel-cell.outside-month .empty-cell.suggested,.day-notes-cell.outside-month .day-note-planner,.day-notes-cell.outside-month .day-note-public{opacity:.62;filter:grayscale(.18)}.excel-cell.outside-month .assignment{cursor:default}.day-notes-head{text-align:left}.day-notes-cell{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-top:0;border-left:0;align-content:start;gap:2px;display:grid}.day-notes-cell:disabled{color:var(--ink);cursor:default}.day-notes-cell.changed-cell{background:#fff7cc;box-shadow:inset 0 0 0 2px #f59e0b}.day-note-planner,.day-note-public{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:2px 4px;font-size:11px;font-weight:850;line-height:1.15;display:block;overflow:hidden}.day-note-planner{color:#475569;background:#f1f5f9;font-style:italic}.day-note-public{color:#0f5f58;background:#ecfdf5}.day-note-public strong{font-weight:950}.day-note-public em{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;display:block;overflow:hidden}.day-note-empty{color:#cbd5e1;font-weight:900}.excel-cell.filtered-out{opacity:.18}.excel-cell.search-dimmed{opacity:.28}.excel-cell.search-hit{outline-offset:-2px;background:#ecfdf5;outline:2px solid #0f766e}.excel-cell.changed-cell{background:#fff7cc;box-shadow:inset 0 0 0 2px #f59e0b}.excel-cell.changed-cell .assignment{color:#78350f;background:#fde68a}.excel-cell.extra-session-cell{background:#fff7ed;box-shadow:inset 0 0 0 2px #fb923c}.excel-cell.session-closed-cell{background:var(--weekend)!important}.drag-dimmed{opacity:.22;filter:blur(1.2px)grayscale(.45);transition:opacity .12s,filter .12s}.weekend{background:var(--weekend)!important}.excel-cell.weekend .assignment,.excel-cell.weekend .empty-cell,.excel-cell.weekend .empty-cell.suggested{box-shadow:none;background:var(--weekend)!important}.excel-cell.resource-closed{cursor:default;background:var(--weekend)!important}.excel-cell.holiday-closed{background:#dbe4ee!important}.excel-cell.resource-closed .assignment,.excel-cell.resource-closed .empty-cell,.excel-cell.resource-closed .empty-cell.suggested{box-shadow:none;color:#64748b;cursor:default;background:0 0!important}.excel-cell.resource-closed .assignment.conflict{color:var(--danger);box-shadow:inset 3px 0 0 var(--danger);cursor:pointer;background:var(--danger-soft)!important}.resource-closed-label{width:100%}.excel-cell.resource-closed button:disabled{cursor:default}.loc-utrecht{box-shadow:inset 0 3px 0 var(--loc-utrecht-color,var(--accent))}.loc-zeist{box-shadow:inset 0 3px 0 var(--loc-zeist-color,var(--blue))}.loc-doorn{box-shadow:inset 0 3px 0 var(--loc-doorn-color,var(--warning))}.assignment{color:#0f5f58;text-align:left;background:#e6f4f1;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:4px;width:100%;margin-bottom:2px;padding:2px 4px;font-size:12px;font-weight:900;line-height:1.1;display:flex}.assignment-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.assignment.flexible-pool-assignment{color:#075985;background:#e0f2fe}.assignment-pool-summary{white-space:nowrap;align-items:baseline;gap:3px;min-width:0;font-size:11px;font-weight:950;display:inline-flex}.assignment-pool-summary strong{font-size:14px}.assignment.has-specialty{flex-wrap:wrap;align-items:flex-start}.assignment-specialty{border:1px solid color-mix(in srgb, var(--specialty-color,#0f766e) 45%, transparent);background:color-mix(in srgb, var(--specialty-color,#0f766e) 13%, #fff);max-width:100%;color:var(--specialty-color,#0f766e);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:0 auto;padding:1px 5px;font-size:9px;font-weight:950;line-height:1.15;overflow:hidden}.assignment-specialty.preview{width:fit-content;margin-top:2px;font-size:11px;display:inline-flex}.assignment-location-marker{background:#ffffffbf;border-radius:999px;flex:none;place-items:center;width:16px;height:16px;font-size:10px;font-weight:1000;display:grid}.assignment.location-suitability-ok{color:#0f766e;background:#ccfbf1}.assignment.location-suitability-warning{color:#9a3412;background:#ffedd5;box-shadow:inset 3px 0 #f59e0b}.assignment.location-suitability-error{color:#b91c1c;background:#fee2e2;box-shadow:inset 3px 0 #dc2626}.assignment-markers{flex:none;align-items:center;gap:2px;display:inline-flex}.assignment-marker{color:#0f172a;background:#cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:10px;font-weight:950;line-height:1;display:inline-flex}.assignment-marker.extra{color:#fff;background:#f97316}.assignment-marker.public{color:#fff;background:#0f766e}.assignment-marker.planner{color:#fff;background:#334155}.assignment-marker.note{color:#fff;background:#64748b}.assignment.comes-extra{outline-offset:-1px;outline:1px solid #f973168c}.assignment.has-note{border-right:3px solid #0f766e}.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}.assignment.warning{background:var(--warning-soft);color:var(--warning);box-shadow:inset 3px 0 0 var(--warning)}.assignment.conflict{background:var(--danger-soft);color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.assignment.preference-ok{color:#166534;background:#dcfce7;box-shadow:inset 3px 0 #22c55e}.assignment.blocked{color:#334155;background:#e2e8f0}.assignment.extra-session{box-shadow:inset 3px 0 #f97316;color:#9a3412!important;background:#fed7aa!important}.session-closed-label{justify-content:center;font-style:italic;font-weight:850;color:#64748b!important;background:0 0!important}.empty-cell{color:#fff;background:#fff;min-height:17px;font-size:11px}.empty-cell.suggested{color:#fff;box-shadow:none;background:#fff}.excel-cell.changed-cell .assignment.conflict{background:var(--danger-soft);color:var(--danger)}.excel-cell.changed-cell .assignment.warning{background:var(--warning-soft);color:var(--warning)}.excel-cell.changed-cell .assignment.preference-ok{color:#166534;background:#dcfce7}.roster-board-readonly .panel{padding:10px}.roster-board-readonly .panel-head{align-items:center;margin-bottom:6px}.roster-board-readonly .panel-head h2{margin-bottom:0;font-size:clamp(22px,2vw,32px)}.roster-board-readonly .toolbar{gap:5px}.roster-board-view-toggle{border:1px solid var(--line);background:#eef3f8;border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.roster-board-view-toggle button{min-height:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:900}.roster-board-view-toggle button.active{background:var(--ink);color:#fff}.roster-board-view-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.roster-board-readonly .excel-board{gap:8px}.roster-board-readonly .week-title{padding:5px 8px;font-size:11px}.roster-board-readonly .excel-head,.roster-board-readonly .excel-date,.roster-board-readonly .excel-part,.roster-board-readonly .excel-cell{min-height:19px;padding:1px 2px;font-size:9px}.roster-board-readonly .excel-head{font-size:9px}.roster-board-readonly .excel-head small{font-size:7px}.roster-board-readonly .assignment{min-height:13px;padding:1px 2px;font-size:9px;line-height:1.05}.roster-board-readonly .assignment-text{white-space:normal}.roster-board-readonly .empty-cell{min-height:11px}.pulse-cell{animation:1.3s pulseCell}@keyframes pulseCell{0%,to{box-shadow:inset 0 0 #14b8a600}25%,75%{box-shadow:inset 0 0 0 3px #14b8a6,0 0 0 4px #14b8a62e}}.planning-issues-panel{border:1px solid var(--line);background:#f8fafc;border-radius:18px;gap:10px;margin:10px 0 14px;padding:12px;display:grid}.planning-issues-panel.publish-blocked{background:#fff7f7;border-color:#fecaca}.planning-issues-panel.publish-warning{background:#fffbeb;border-color:#fde68a}.planning-issues-panel.publish-ready{background:#f0fdf4;border-color:#bbf7d0}.planning-issues-panel-compact{border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:28px;margin:6px 0;padding:4px 9px;display:flex}.planning-issues-panel-compact strong{color:#166534;font-size:13px}.planning-issues-panel-compact span{color:var(--muted);font-size:11px;font-weight:850}.planning-loading-panel{border:1px solid var(--line);min-height:28px;color:var(--muted);background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:6px 0;padding:4px 9px;font-size:11px;font-weight:850;display:flex}.planning-loading-panel strong{color:var(--ink);font-size:13px}.planning-loading-panel.error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.planning-grid-loading{border:1px solid var(--line);min-height:220px;color:var(--muted);background:#f8fafc;border-radius:10px;place-items:center;font-size:13px;font-weight:850;display:grid}.planning-issues-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.planning-issues-head h3{margin:0;font-size:17px}.publish-status{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:950}.control-freshness{margin:3px 0 0;font-size:11px;font-weight:900}.control-freshness.fresh{color:#047857}.control-freshness.stale{color:#b45309}.planning-status-cards{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;display:grid}.planning-status-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:1px 8px;padding:8px 10px;display:grid}.planning-status-card strong{min-width:34px;height:34px;color:var(--ink);background:#e2e8f0;border-radius:999px;grid-row:span 2;place-items:center;font-size:15px;display:grid}.planning-status-card span{font-size:12px;font-weight:950}.planning-status-card small{color:var(--muted);font-size:11px;font-weight:850}.planning-status-card.error strong{background:var(--danger-soft);color:var(--danger)}.planning-status-card.warning strong{background:var(--warning-soft);color:var(--warning)}.planning-status-card.ok strong{color:#047857;background:#dcfce7}.planning-legend{gap:6px;margin:4px 0 10px}.planning-legend span{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:3px 7px;font-size:11px;display:inline-flex}.planning-legend-swatch{border:1px solid #0f172a1a;border-radius:3px;width:18px;height:10px;display:inline-block}.planning-legend-swatch.planned{background:#e6f4f1;box-shadow:inset 3px 0 #0f766e}.planning-legend-swatch.blocked{background:#e2e8f0}.planning-legend-swatch.warning{background:var(--warning-soft);box-shadow:inset 3px 0 0 var(--warning)}.planning-legend-swatch.preference{background:#dcfce7;box-shadow:inset 3px 0 #22c55e}.planning-legend-swatch.changed{background:#fde68a;box-shadow:inset 0 0 0 2px #f59e0b}.planning-legend-swatch.extra-session{background:#fed7aa;box-shadow:inset 3px 0 #f97316}.planner-filterbar{border:1px solid var(--line);background:#f8fbfd;border-radius:16px;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0;padding:10px;display:flex}.planner-filterbar label{color:var(--muted);gap:4px;font-size:11px;font-weight:800;display:grid}.planner-filterbar .status-check{min-height:42px;color:var(--ink);align-items:center;display:flex}.version-list{gap:8px;max-height:420px;display:grid;overflow:auto}.planning-issues-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px;display:grid}.planning-issue{text-align:left;color:var(--ink);background:#fff;border:0;border-radius:12px;gap:2px;padding:9px 10px;text-decoration:none;display:grid;box-shadow:inset 3px 0 #94a3b8}.planning-issue strong{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.planning-issue span{font-size:12px;font-weight:850}.planning-issue.error{background:var(--danger-soft);color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.planning-issue.warning{background:var(--warning-soft);color:var(--warning);box-shadow:inset 3px 0 0 var(--warning)}.planning-issues-empty{color:#166534;margin:0;font-weight:900}.publication-center{gap:14px;display:grid}.publication-center .panel-head{align-items:end}.publication-notice{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.publication-overview-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.publication-overview-summary span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950}.publication-overview-table{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.publication-overview-head,.publication-month-row{grid-template-columns:minmax(150px,1fr) minmax(150px,.9fr) minmax(160px,1fr) 92px 74px minmax(170px,1.2fr);align-items:center;gap:0;display:grid}.publication-overview-head{color:var(--muted);background:#f8fafc;font-size:11px;font-weight:950}.publication-overview-head span,.publication-month-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:42px;padding:9px 10px}.publication-overview-head span:last-child,.publication-month-row>:last-child{border-right:0}.publication-month-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;font-size:13px;font-weight:850}.publication-month-row:hover{background:#f0fdfa}.publication-month-row:last-child>*{border-bottom:0}.publication-status-pill{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;min-height:auto;padding:5px 9px;font-size:12px;font-weight:950;display:inline-flex}.publication-status-pill.empty{color:#64748b;background:#f8fafc}.publication-status-pill.draft{color:#92400e;background:#fffbeb;border-color:#fde68a}.publication-status-pill.published{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.publication-overview-empty{color:var(--muted);padding:18px;font-size:13px;font-weight:900}.publication-month-strip{gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.publication-month-strip a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;flex:none;padding:8px 12px;font-size:12px;font-weight:950;text-decoration:none}.publication-month-strip a.active{color:#0f5f58;background:#ccfbf1;border-color:#0f766e}.publication-status-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;display:grid}.publication-status-grid.compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.publication-status-card{border:1px solid var(--line);min-height:86px;box-shadow:var(--soft-shadow);background:#fff;border-radius:18px;gap:6px;padding:14px;display:grid}.publication-status-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.publication-status-card strong{font-size:25px;line-height:1}.publication-status-grid.compact .publication-status-card{min-height:70px;box-shadow:none;padding:10px}.publication-status-grid.compact .publication-status-card strong{font-size:16px}.publication-status-card.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.publication-status-card.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.publication-status-card.error{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.publication-summary{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:12px;display:grid}.publication-summary article,.publication-list-card{border:1px solid var(--line);box-shadow:var(--soft-shadow);background:#fff;border-radius:20px;padding:14px}.publication-list-card.flat{box-shadow:none}.publication-modal-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.publication-modal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.publication-summary h3,.publication-list-card h3{margin:0}.publication-summary p{color:var(--muted)}.publication-columns{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;display:grid}.publication-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.publication-change-list,.publication-version-list{gap:8px;max-height:520px;padding-right:3px;display:grid;overflow:auto}.publication-change,.publication-version{border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:3px;padding:10px 12px;display:grid}.publication-change{box-shadow:inset 4px 0 #94a3b8}.publication-change.added{box-shadow:inset 4px 0 #16a34a}.publication-change.changed{box-shadow:inset 4px 0 #d97706}.publication-change.removed{box-shadow:inset 4px 0 #dc2626}.publication-change strong{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.publication-change span,.publication-version span{color:var(--muted);font-size:12px;font-weight:850;line-height:1.35}.publication-version{grid-template-columns:minmax(0,1fr) auto;align-items:center}.publication-audit-list{gap:8px;max-height:430px;padding-right:3px;display:grid;overflow:auto}.publication-audit-entry{border:1px solid var(--line);background:#f8fafc;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid;box-shadow:inset 4px 0 #0f766e}.publication-audit-entry strong,.publication-audit-entry span{display:block}.publication-audit-entry strong{font-size:13px}.publication-audit-entry span{color:var(--muted);font-size:11px;font-weight:850;line-height:1.35}.save-banner{z-index:12;background:#fffbeb;border:1px solid #fde68a;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex;position:sticky;top:10px;box-shadow:0 14px 40px #b453091f}.evening-duty-page{gap:14px;display:grid}.evening-duty-controls p,.evening-duty-preferences p{color:var(--muted);margin-bottom:0}.evening-duty-periodbar{border:1px solid var(--line);background:#f8fbfd;border-radius:16px;flex-wrap:wrap;align-items:end;gap:10px;padding:10px;display:flex}.evening-duty-periodbar label{color:var(--muted);gap:4px;font-size:11px;font-weight:900;display:grid}.evening-duty-period-summary,.evening-duty-conflict-pill{border-radius:999px;align-items:center;min-height:36px;padding:7px 12px;font-size:12px;font-weight:950;display:inline-flex}.evening-duty-period-summary{color:#075985;background:#e0f2fe}.evening-duty-conflict-pill{background:var(--danger-soft);color:var(--danger)}.evening-duty-layout{grid-template-columns:minmax(860px,1.8fr) minmax(300px,.7fr);align-items:start;gap:14px;display:grid}.compact-head{margin-bottom:8px}.evening-duty-grid,.evening-preference-table{gap:5px;display:grid}.evening-duty-grid{overflow-x:auto}.evening-duty-grid-row,.evening-preference-row{align-items:center;gap:7px;display:grid}.evening-duty-grid-row{grid-template-columns:84px repeat(var(--evening-duty-days), minmax(150px, 1fr))}.evening-duty-grid-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:950}.evening-duty-grid-row.head span{padding:0 8px}.evening-duty-week-label,.evening-duty-cell{border:1px solid var(--line);background:#fff;border-radius:13px;padding:7px}.evening-duty-week-label{background:#f8fbfd;align-content:center;align-self:stretch;gap:2px;display:grid}.evening-duty-week-label strong{font-size:12px}.evening-duty-week-label span{color:var(--muted);font-size:10px;font-weight:850}.evening-duty-cell{gap:5px;min-width:0;display:grid}.evening-duty-cell .select,.evening-duty-cell .input{width:100%;min-height:30px;padding:5px 8px;font-size:12px}.evening-duty-cell-top{grid-template-columns:minmax(70px,1fr) auto;align-items:center;gap:5px;min-width:0;display:grid}.evening-duty-cell-top strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.evening-duty-cell.empty{color:var(--muted);background:#f8fafc;align-content:center;align-self:stretch;font-size:11px;font-weight:900}.evening-preference-row{grid-template-columns:minmax(150px,1fr) repeat(4,minmax(120px,.7fr))}.evening-preference-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-color:#0000;padding:7px 9px;font-size:11px;font-weight:950}.evening-duty-review{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;overflow:hidden}.evening-duty-cell.error{background:#fff7f7;border-color:#fecaca}.evening-duty-cell.warning{background:#fffbeb;border-color:#fde68a}.evening-duty-cell.ok{border-color:#dbeafe}.evening-duty-review.ok{color:#047857;background:#dcfce7}.evening-duty-review.warning{background:var(--warning-soft);color:var(--warning)}.evening-duty-review.error{background:var(--danger-soft);color:var(--danger)}.evening-duty-count-list{gap:8px;display:grid}.evening-duty-count{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:9px 10px;display:grid}.evening-duty-count meter,.evening-duty-count small{grid-column:1/-1}.evening-duty-count meter{width:100%}.evening-duty-count small{color:var(--muted);font-weight:850}.evening-duty-count .balanced{color:#047857}.evening-duty-count .high{color:#b45309}.evening-duty-count .low{color:#64748b}.publish-confirm-modal{width:min(760px,100vw - 32px)}.publish-warning-list{max-height:280px;overflow:auto}.confirm-row{border:1px solid var(--line);background:#f8fafc;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:900;display:flex}.inline-editor{z-index:5;position:relative}.inline-editor .input{padding:4px 5px;font-size:12px}.inline-editor-hint{color:var(--muted);white-space:nowrap;margin:3px 0 0;font-size:10px;font-weight:800}.employee-suggestions{z-index:100;border:1px solid var(--line);background:#fff;border-radius:12px;width:max(260px,100%);max-height:none;padding:5px;display:grid;position:absolute;top:calc(100% + 3px);left:0;overflow:visible;box-shadow:0 16px 40px #0f172a29}.employee-suggestion{color:var(--ink);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:7px 8px;font-size:12px;font-weight:900}.employee-suggestion:hover{background:var(--accent-soft);color:#0f5f58}.employee-suggestion.extra-option{color:var(--warning);background:var(--warning-soft)}.employee-suggestion.clear-option{color:#475569;background:#f8fafc}.employee-suggestion.disabled,.employee-suggestion:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.employee-suggestion span{color:var(--danger)}.check-row{border:1px solid var(--line);background:#f8fafc;border-radius:14px;align-items:center;gap:10px;margin:14px 0;padding:12px;font-weight:950;display:flex}.check-row span{color:var(--muted);font-size:12px;font-weight:750}.choice-list.compact{gap:8px;display:grid}.choice-list.compact .check-row{margin:0;padding:9px 10px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 8px}.table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.table-sort-button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.table-sort-button:hover,.table-sort-button.active{color:var(--ink)}.sort-indicator{color:#94a3b8;letter-spacing:0;font-size:10px}.table-sort-button.active .sort-indicator{color:var(--accent)}.workdays-overview{grid-template-columns:54px auto;align-items:center;gap:5px 8px;display:grid}.workdays-label{color:var(--muted);font-size:11px;font-weight:900}.workday-grid{grid-template-columns:repeat(5,30px);gap:4px;display:grid}.workday-slot{background:var(--accent-soft);color:#0f5f58;border-radius:7px;place-items:center;height:22px;font-size:11px;font-weight:900;display:grid}.workday-slot.half{color:#92400e;background:#fef3c7}.workday-slot.off{color:#0000;background:0 0}.workdays-note{color:var(--muted);background:#f1f5f9;border-radius:999px;grid-column:1/-1;padding:3px 8px;font-size:11px;font-weight:800}.workdays-note.future{color:#9a3412;background:#fff7ed}.employee-modal{width:min(1320px,100vw - 48px);max-height:min(880px,100vh - 32px);overflow:auto}.modal-section{border:1px solid var(--line);background:#f8fafc;border-radius:18px;gap:10px;margin:14px 0;padding:12px;display:grid}.section-title-row,.change-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row h3{margin:2px 0 0;font-size:16px}.muted-text,.empty-state-small{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.empty-state-small{border:1px dashed var(--line);background:#fff;border-radius:14px;padding:10px;font-weight:800}.workday-changes-section{background:#fff}.workday-change-card{border:1px solid var(--line);background:#f8fbfd;border-radius:16px;gap:9px;padding:10px;display:grid}.workday-editor{border:0;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;display:flex}.workday-editor legend{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:900}.workday-editor label{margin:0;font-weight:800}.preference-block{gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.preference-block h4{margin:0;font-size:13px}.location-suitability-grid{grid-template-columns:minmax(130px,.7fr) minmax(190px,1fr);align-items:center;gap:6px;max-width:520px;display:grid}.location-suitability-grid>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:950}.location-suitability-row{display:contents}.location-suitability-row strong{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;min-height:38px;padding:0 10px;font-size:13px;display:flex}.roster-position-badge,.absence-roster-position-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;width:fit-content;margin-top:3px;padding:2px 7px;font-size:11px;font-weight:900;line-height:1.2;display:inline-flex}.absence-roster-position-badge{max-width:max-content;display:flex}.roster-position-editor{gap:8px;display:grid}.roster-position-grid{grid-template-columns:minmax(82px,.7fr) minmax(126px,1fr) minmax(126px,1fr) minmax(82px,.7fr) auto;align-items:center;gap:6px;display:grid}.pt-day-status-grid{grid-template-columns:minmax(126px,.8fr) minmax(112px,.7fr) minmax(180px,1.5fr) auto;align-items:center;gap:6px;display:grid}.pt-day-status-grid>span{color:var(--muted);font-size:11px;font-weight:950}.roster-position-grid>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:950}.suitability-select.preferred{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.suitability-select.fallback{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.suitability-select.avoid{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.availability-matrix,.preference-matrix{align-items:center;gap:5px;display:grid}.availability-matrix{grid-template-columns:82px repeat(5,minmax(74px,1fr));min-width:520px}.preference-matrix{grid-template-columns:92px repeat(5,minmax(150px,1fr));min-width:920px}.availability-matrix strong,.preference-matrix strong,.matrix-row-label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:950}.matrix-checkbox{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;min-height:32px;display:grid}.matrix-checkbox:has(input:checked){background:#dcfce7;border-color:#86efac}.preference-select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:10px;padding:7px 8px;font-size:11px;font-weight:850}.preference-select.preferred{background:#dbeafe;border-color:#93c5fd}.preference-select.soft-stop{background:#ffedd5;border-color:#fdba74}.preference-select.hard-stop{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.input,.select,.textarea{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:9px 10px}.month-input{width:auto;min-width:142px;padding:6px 9px}.planning-month-picker{z-index:30;position:relative}.planning-month-picker-trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;min-height:34px;display:inline-flex}.planning-month-picker-calendar{opacity:.8;border:1.5px solid;border-radius:3px;flex:none;width:14px;height:14px;display:inline-block;position:relative}.planning-month-picker-calendar:before{content:"";border-top:1.5px solid;position:absolute;top:3px;left:-1.5px;right:-1.5px}.planning-month-picker-calendar:after{content:"";background:currentColor;border-radius:999px;width:2px;height:2px;position:absolute;top:-3px;left:2px;box-shadow:5px 0}.planning-month-picker-popover{border:1px solid var(--line);z-index:1200;background:#fff;border-radius:10px;min-width:268px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 32px #0f172a2e}.planning-month-picker-year-control{grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:10px;display:grid}.planning-month-picker-year-control button{min-height:32px;padding:0;font-size:1.3rem;line-height:1}.planning-month-picker-year-control strong{text-align:center;font-size:1rem}.planning-month-picker-months{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.planning-month-picker-months button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-transform:capitalize;background:#f8fafc;border-radius:6px;min-height:34px;padding:5px 7px;font-weight:800}.planning-month-picker-months button:hover,.planning-month-picker-months button:focus-visible{border-color:#0f766e;outline:none}.planning-month-picker-months button.selected{color:#115e59;background:#ccfbf1;border-color:#0f766e}.planning-month-picker-actions{justify-content:flex-end;margin-top:10px;display:flex}.base-roster-layout{gap:16px;display:grid}.base-roster-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:16px;display:grid}.base-roster-dashboard{border:1px solid var(--line);background:#fff;border-radius:18px;gap:12px;max-height:calc(100vh - 28px);padding:14px;display:grid;position:sticky;top:14px;overflow:auto}.base-roster-dashboard h3{margin:2px 0 4px}.base-dashboard-list{gap:8px;display:grid}.base-dashboard-location{border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:7px;padding:10px;display:grid;box-shadow:inset 4px 0 #94a3b8}.base-dashboard-location.has-warning{box-shadow:inset 4px 0 #f59e0b}.base-dashboard-location.has-error{box-shadow:inset 4px 0 #dc2626}.base-dashboard-location-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.base-dashboard-location-head span,.base-dashboard-name-list{color:var(--muted);font-size:11px;font-weight:850}.base-dashboard-meters{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.base-dashboard-meters span{color:#475569;background:#eef2f7;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.base-dashboard-meters .ok{color:#0f766e;background:#ccfbf1}.base-dashboard-meters .warning{color:#9a3412;background:#ffedd5}.base-dashboard-meters .error{color:#b91c1c;background:#fee2e2}.base-dashboard-name-list{margin:0;line-height:1.35}.base-dashboard-name-list span{color:var(--ink);font-weight:950}@media (max-width:1180px){.base-roster-workspace{grid-template-columns:1fr}.base-roster-dashboard{position:static}}.base-policy-panel{border:1px solid var(--line);background:#f8fafc;border-radius:20px;gap:12px;margin:0 0 14px;padding:14px;display:grid}.base-policy-grid{gap:10px;display:grid}.policy-listview{gap:6px;min-width:980px;display:grid}.policy-list-row{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:14px;grid-template-columns:128px minmax(210px,1fr) minmax(250px,1.25fr) 118px 150px 92px;align-items:center;gap:10px;padding:9px 10px;font-size:12px;font-weight:900;display:grid}.policy-list-row:not(.policy-list-head){cursor:pointer}.policy-list-row:not(.policy-list-head):hover{background:#f8fffd;border-color:#5eead4}.policy-list-row.inactive{opacity:.58}.policy-list-head{z-index:2;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#eef6f5;font-size:11px;position:sticky;top:0}.policy-priority-cell,.priority-buttons,.inline-switch{align-items:center;gap:7px;display:flex}.priority-buttons button{border:1px solid var(--line);width:24px;height:24px;color:var(--ink);background:#f8fafc;border-radius:8px;place-items:center;font-weight:950;display:grid}.priority-buttons button:disabled{opacity:.35}.inline-switch{color:var(--ink)}.base-policy-summary-card{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex;box-shadow:0 8px 24px #0f172a0a}.base-policy-summary-card:hover{background:#f8fffd;border-color:#99f6e4}.base-policy-summary-card.inactive{opacity:.58}.base-policy-summary-card strong{font-size:15px;font-weight:950;display:block}.base-policy-summary-card small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800;display:block}.base-policy-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:86px minmax(150px,1.05fr) 120px 130px minmax(180px,1.2fr) minmax(170px,1fr) 125px 88px minmax(220px,1.3fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.base-policy-card.inactive{opacity:.62}.base-policy-card label{color:var(--muted);gap:4px;font-size:11px;font-weight:900;display:grid}.base-policy-card .status-check{min-height:39px;color:var(--ink);align-items:center;display:flex}.base-policy-description{min-width:0}.base-policy-issues{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.base-policy-modal{width:min(1180px,100vw - 48px);max-height:min(900px,100vh - 32px);overflow:visible}.base-policy-list-modal{width:min(1280px,100vw - 48px);max-height:min(900px,100vh - 32px);overflow:auto}.base-policy-list-modal .base-policy-panel{background:0 0;border:0;margin:0;padding:0}.base-policy-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.base-policy-editor-grid label,.policy-multiselect{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.base-policy-editor-wide{grid-column:1/-1}.status-check.compact{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:900;display:flex}.policy-multiselect,.policy-multiselect details{position:relative}.policy-multiselect summary{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:14px;min-height:44px;padding:8px 10px;list-style:none}.policy-multiselect summary::-webkit-details-marker{display:none}.selector-chips{flex-wrap:wrap;gap:6px;display:flex}.selector-chip{background:var(--accent-soft);color:#0f5f58;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.policy-multiselect-menu{z-index:80;border:1px solid var(--line);background:#fff;border-radius:16px;width:min(720px,100vw - 96px);max-height:360px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 20px 60px #0f172a33}.policy-multiselect-menu strong{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin:8px 0 4px;font-size:11px}.policy-multiselect-menu label{color:var(--ink);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.policy-multiselect-menu label.checked{background:var(--accent-soft)}.policy-multiselect-menu small{color:var(--muted);font-weight:800}.banner{color:#92400e;background:#fffbeb;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-weight:800;display:flex}.save-confirmation-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-weight:850;display:flex}.save-confirmation-banner span{color:#15803d;font-size:.84rem;font-weight:800}.legend{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.legend span{color:#3730a3;background:#eef2ff;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.tab-row{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.config-toolbar{justify-content:flex-end;margin-bottom:10px}.config-list{gap:9px;display:grid}.room-order-hint{margin:0 0 10px}.room-order-list{gap:8px}.config-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:minmax(220px,1.2fr) minmax(190px,.9fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.account-list-shell{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.account-list-header,.account-list-row{grid-template-columns:minmax(260px,1.1fr) minmax(160px,.7fr) minmax(150px,.6fr) minmax(210px,.85fr) minmax(240px,.9fr) minmax(150px,.65fr) minmax(150px,.65fr) minmax(90px,.35fr) minmax(120px,.45fr);min-width:1670px;display:grid}.account-list-header{border-bottom:1px solid var(--line);color:#526071;background:#f8fafc;font-size:11px;font-weight:850}.account-list-header span{border-right:1px solid var(--line);padding:9px 10px}.account-list-header span:last-child{border-right:0}.account-list-row{border-bottom:1px solid var(--line);align-items:center;min-height:52px}.account-list-row:last-child{border-bottom:0}.account-list-row.inactive{background:#f8fafc}.account-list-row>*{border-right:1px solid var(--line);min-width:0;padding:8px 10px}.account-list-row>:last-child{border-right:0}.account-list-row .input,.account-list-row .select{background:#fff;border-radius:6px;width:100%;min-height:34px}.account-inline-value{width:100%;min-height:34px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;font-weight:850;overflow:hidden}.account-inline-value:hover,.account-inline-value:focus-visible{color:var(--accent);text-underline-offset:3px;outline:none;text-decoration:underline}.account-status-value{color:#334155}.account-mobile-label{display:none}.account-date{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.account-created-cell{white-space:normal;justify-items:start;gap:5px;display:grid}.account-resend-onboarding{border-radius:5px;min-height:26px;padding:4px 7px;font-size:11px}.account-identity{gap:5px;min-width:0;display:grid}.account-identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-identity small{color:var(--muted);font-size:12px;font-weight:800}.account-list-row .account-identity small{display:none}.account-field{color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.account-organization-cell{min-width:0}.account-organization-select{width:100%;min-height:34px;color:var(--ink);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;font-weight:850;line-height:34px;display:block;overflow:hidden}.account-organization-select:after{content:"v";color:var(--muted);float:right;font-size:15px}.account-organization-select[aria-expanded=true]:after{transform:rotate(180deg)}.account-organization-options{z-index:40;border:1px solid var(--line);background:#fff;border-radius:7px;gap:3px;min-width:220px;padding:7px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 12px 24px #0f172a2e}.account-organization-options-portal{z-index:5000;max-height:min(320px,100dvh - 24px);position:fixed;overflow-y:auto}.account-organization-options label{cursor:pointer;color:var(--ink);border-radius:5px;align-items:center;gap:7px;padding:6px 7px;font-size:12px;font-weight:800;display:flex}.account-organization-options label:hover{background:#f1f5f9}.account-missing-value{color:var(--muted);font-size:12px;font-weight:750}.account-active-cell,.account-delete-cell{align-items:center;display:flex}.account-delete-cell{justify-content:flex-start}.account-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-active-toggle{color:#334155;white-space:nowrap;align-items:center;gap:7px;min-height:32px;font-size:12px;font-weight:850;display:inline-flex}.account-delete-cell .danger.small,.account-actions .danger.small{border-radius:6px;min-height:32px;padding:7px 10px}.save-rights-button:disabled{color:#8a97a9;cursor:not-allowed;opacity:1;background:#e8edf4;border-color:#d7dee8}.account-invite-panel,.account-audit-panel{border:1px solid var(--line);background:#f8fafc;border-radius:16px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.account-invite-panel{grid-template-columns:minmax(190px,1fr) minmax(210px,1fr) 160px minmax(170px,.9fr) minmax(210px,1fr) auto;align-items:end}.account-invite-panel h3,.account-audit-panel h3{margin:0;font-size:16px}.account-invite-panel label{color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.account-audit-panel{margin:14px 0 0}.account-card .status-check{justify-content:flex-start;min-height:40px}.room-order-card{grid-template-columns:34px minmax(220px,1.2fr) minmax(190px,.9fr) auto}.room-order-card.dragging{opacity:.7;background:#ecfeff;border-color:#14b8a6}.location-divider{z-index:1;color:#0f5f58;letter-spacing:.08em;text-transform:uppercase;background:#e6f4f1;border-radius:14px;margin-top:7px;padding:8px 12px;font-size:12px;font-weight:950;position:sticky;top:0}.drag-handle{border:1px solid var(--line);color:#64748b;cursor:grab;letter-spacing:-2px;background:#f8fafc;border-radius:10px;width:28px;height:34px;font-size:14px;font-weight:950}.drag-handle:active{cursor:grabbing}.config-card.inactive{opacity:.58;background:#f8fafc}.config-card.clickable{cursor:pointer}.config-card.clickable:hover{border-color:#5eead4;box-shadow:0 10px 24px #0f766e1f}.role-card{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.4fr) 110px}.config-card strong,.config-card span{display:block}.config-card span{color:var(--muted);font-size:12px;font-weight:800}.role-add-row{grid-template-columns:minmax(260px,1fr) auto;gap:10px;margin-bottom:14px;display:grid}.planning-settings-panel{overflow:visible}.settings-table{border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;overflow:visible}.settings-table-head,.settings-row{grid-template-columns:minmax(220px,1fr) 110px 120px;align-items:center;display:grid;position:relative}.settings-table-head{color:var(--muted);background:#f8fafc;font-size:11px;font-weight:950}.settings-table-head span,.settings-cell{border-bottom:1px solid var(--line);min-height:42px;padding:8px 10px}.settings-row:last-child .settings-cell{border-bottom:0}.settings-cell{border-top:0;border-right:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;border-left:0;align-items:center;font-size:13px;font-weight:900;display:flex}.settings-cell:last-child{border-right:0}.settings-row.inactive{color:var(--muted);opacity:.72}.text-cell .input{width:100%}.color-cell{justify-content:center}.location-color-table .settings-row,.location-color-table .settings-table-head{grid-template-columns:minmax(220px,1fr) 110px 180px}.recurring-work-activities-table .settings-table-head,.recurring-work-activities-table .settings-row{grid-template-columns:minmax(132px,1fr) minmax(145px,1.1fr) 98px 124px 124px 112px 112px 108px 76px 86px 52px}.recurring-work-activities-table .settings-row-new .settings-cell{background:#f8fafc}.recurring-work-activities-table .icon-button{margin:0 auto}.location-color-preview{color:var(--location-color,var(--accent));box-shadow:inset 4px 0 0 var(--location-color,var(--accent))}.print-dialog-modal{width:min(620px,100vw - 32px)}.print-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.print-mode-grid label{border:1px solid var(--line);cursor:pointer;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:950;display:flex}.print-mode-grid label.active{color:#0f5f58;background:#ecfdf5;border-color:#0f766e}.specialty-color-swatch{border:1px solid var(--line);border-radius:6px;width:24px;height:18px}.color-palette-picker{display:inline-flex;position:relative}.color-palette-picker.open{z-index:1}.color-palette-trigger{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:30px;display:inline-flex}.color-palette-trigger:hover,.color-palette-trigger[aria-expanded=true]{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61f}.color-palette-popover{z-index:2147483647;background:#f3f4f6;border:1px solid #aeb7c4;border-radius:8px;width:286px;max-height:calc(100vh - 16px);padding:10px;position:fixed;overflow:auto;box-shadow:0 18px 38px #0f172a38}.color-palette-section{border-bottom:1px solid #cbd5e1;gap:7px;padding:4px 2px 9px;display:grid}.color-palette-section+.color-palette-section{padding-top:9px}.color-palette-section strong{color:#334155;font-size:12px;font-weight:950}.theme-color-grid{grid-template-columns:repeat(10,22px);gap:4px;display:grid}.theme-color-column{grid-template-rows:repeat(5,22px);gap:3px;display:grid}.standard-color-grid{grid-template-columns:repeat(10,22px);gap:4px;display:grid}.color-swatch-button{cursor:pointer;border:1px solid #0f172a29;border-radius:3px;width:22px;height:22px}.color-swatch-button:hover,.color-swatch-button.selected{outline-offset:1px;outline:2px solid #0f172a}.color-more-button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;margin-top:8px;padding:7px 8px;font-size:12px;font-weight:850}.color-more-button:hover{background:#e2e8f0}.sr-only-color-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.beheer-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.beheer-card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:20px;gap:8px;padding:18px;text-decoration:none;display:grid;box-shadow:0 10px 28px #0f172a0d}.beheer-card:hover{border-color:#5eead4;box-shadow:0 18px 38px #0f766e1f}.beheer-card span{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:950}.beheer-card strong{font-size:20px}.beheer-card p{color:var(--muted);margin:0;font-size:14px;font-weight:750;line-height:1.45}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.info-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:20px;flex-direction:column;gap:12px;padding:18px;display:flex}.info-card span{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.info-card strong{color:var(--ink);font-size:18px}.info-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.success-banner{color:#166534;background:#ecfdf3;border-color:#bbf7d0}.danger-banner{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.danger-button{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:14px;padding:10px 14px;font-weight:950}.danger-button:disabled{cursor:not-allowed;opacity:.45}.room-time-grid{gap:12px;display:grid}.room-schedule-grid{grid-template-columns:76px repeat(7,minmax(104px,1fr));gap:6px;display:grid;overflow-x:auto}.schedule-slot{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;padding:6px;display:grid}.schedule-slot label{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:900;display:flex}.schedule-slot input[type=time]{border:1px solid var(--line);border-radius:9px;width:100%;padding:4px 5px;font-size:12px;font-weight:850}.room-parity-toggle{margin:10px 0 12px}.room-parity-schedules{gap:14px;display:grid}.room-parity-schedules h4{color:var(--ink);margin:0 0 8px;font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.form-grid.compact{grid-template-columns:minmax(160px,240px) minmax(220px,1fr)}.form-grid label{color:var(--muted);gap:5px;font-size:12px;font-weight:900;display:grid}.resource-field-label{width:fit-content;color:inherit;cursor:help;outline:none;align-items:center;gap:5px;display:inline-flex;position:relative}.resource-field-label:focus-visible .resource-help-mark{outline-offset:2px;outline:2px solid #0f766e}.resource-help-mark{color:#64748b;border:1px solid #94a3b8;border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;font-weight:950;line-height:1;display:inline-grid}.resource-help-tooltip{z-index:1400;color:#fff;letter-spacing:0;text-transform:none;pointer-events:none;background:#0f172a;border:1px solid #99f6e4;border-radius:8px;width:min(300px,100vw - 48px);padding:9px 10px;font-size:12px;font-weight:750;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 14px 30px #0f172a47}.room-default-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.room-default-schedule-grid label{color:var(--muted);gap:5px;font-size:12px;font-weight:900;display:grid}.room-opening-days,.resource-activity-limit-list{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.room-opening-days label,.resource-activity-limit-list label{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:12px;font-weight:850;display:inline-flex}@media (max-width:760px){.room-default-schedule-grid{grid-template-columns:1fr}.resource-help-tooltip{left:auto;right:0}}.organization-management{gap:14px;display:grid}.organization-message{border-radius:6px;margin:12px 0 0;padding:9px 11px;font-size:13px;font-weight:850}.organization-message.success{color:#166534;background:#ecfdf5}.organization-message.error{color:#b91c1c;background:#fef2f2}.organization-panel-head{align-items:flex-start}.organization-list-shell{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.organization-list-header,.organization-list-row{grid-template-columns:minmax(260px,1.05fr) minmax(150px,.52fr) minmax(165px,.58fr) minmax(240px,.86fr) minmax(210px,.74fr) minmax(115px,.38fr) minmax(120px,.38fr);min-width:1390px;display:grid}.organization-list-header{border-bottom:1px solid var(--line);color:#526071;background:#f8fafc;font-size:11px;font-weight:850}.organization-list-header span{border-right:1px solid var(--line);padding:9px 10px}.organization-list-header span:last-child{border-right:0}.organization-list-row{border-bottom:1px solid var(--line);align-items:center;min-height:50px}.organization-list-row:last-child{border-bottom:0}.organization-list-row.inactive{background:#f8fafc}.organization-list-row>*{border-right:1px solid var(--line);min-width:0;padding:8px 10px}.organization-list-row>:last-child{border-right:0}.organization-list-row .input,.organization-list-row .select{background:#fff;border-radius:6px;width:100%;min-height:34px}.organization-name-cell{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.organization-inline-value{min-height:30px}.organization-open-button,.organization-add-button{white-space:nowrap}.organization-muted-value{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.organization-field,.organization-status-cell,.organization-delete-cell{align-items:center;display:flex}.organization-delete-cell{justify-content:center}.organization-new-row{background:#f8fbfd}.organization-new-row .organization-muted-value{color:#94a3b8}.organization-form-note{color:var(--muted);margin:10px 0 0;font-size:12px;font-weight:750}.organization-status{color:#475569;background:#e2e8f0;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-block}.organization-status.active{color:#047857;background:#d1fae5}.organization-delete-modal{gap:12px;display:grid}.organization-delete-modal label{color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.organization-delete-warning{margin:0}.organization-delete-warning strong{color:var(--danger)}@media (max-width:980px){.organization-panel-head{gap:10px;display:grid}}.modal-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.status-check{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#f8fafc;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:950;display:inline-flex}.status-filter-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status-filter-chip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.status-filter-chip.active{color:#0f5f58;background:#e6f4f1;border-color:#5eead4}.status-filter-chip span{color:#334155;text-align:center;background:#e2e8f0;border-radius:999px;min-width:20px;padding:2px 6px;font-size:11px}.status-filter-chip.active span{color:#0f5f58;background:#ccfbf1}.employee-filter-row{justify-content:flex-start;margin:2px 0 12px}.target-room-list{border:1px solid var(--line);background:#f8fafc;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;margin:12px 0;padding:10px;display:grid;overflow:auto}.combination-editor{border:1px solid var(--line);background:#fff;border-radius:16px;gap:10px;padding:10px;display:grid}.combination-editor.inactive{opacity:.62;background:#f8fafc}.holiday-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:1280px){.holiday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.holiday-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:minmax(170px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.holiday-card.closed{background:#f8fafc}.holiday-card.open{background:#ecfdf5;border-color:#99f6e4}.holiday-card strong,.holiday-card span,.holiday-card small,.holiday-card em{display:block}.holiday-card span,.holiday-card small,.holiday-card em{color:var(--muted);font-size:12px;font-weight:800}.status-pill{text-align:center;color:#334155;background:#e2e8f0;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.status-pill.danger{color:#991b1b;background:#fee2e2}.status-pill.closed{color:#334155;background:#e2e8f0}.status-pill.open{color:#166534;background:#bbf7d0}.holiday-card-controls{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:flex-end;align-items:center;gap:7px;display:grid}.holiday-status-stack{justify-items:stretch;gap:2px;display:grid}.holiday-status-stack small{text-align:center}.holiday-inline-setting{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;justify-self:end;align-items:center;gap:6px;padding:6px 8px;font-size:11px;font-weight:900;display:inline-flex}.holiday-inline-setting.stacked{border-radius:12px;align-items:center;gap:6px;padding:5px 7px;display:flex}.holiday-inline-setting .select{min-width:142px;padding:5px 8px;font-size:11px}.holiday-card-controls .small{white-space:nowrap;min-width:132px}@media (max-width:760px){.holiday-card{grid-template-columns:1fr}.holiday-card-controls{grid-template-columns:1fr;grid-auto-flow:row;justify-content:stretch}.holiday-inline-setting,.holiday-status-stack{justify-self:stretch}.holiday-card-controls .small{width:100%}}.holiday-manual{border:1px dashed var(--line);background:#fff;border-radius:18px;gap:10px;margin-top:16px;padding:14px;display:grid}.schedule-row-fragment{display:contents}.target-room-list strong{grid-column:1/-1}.target-room-list label{align-items:center;gap:7px;font-size:12px;font-weight:850;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a38;place-items:center;display:grid;position:fixed;inset:0}.modal-discard-backdrop{z-index:1;background:#0f172a5c}.modal-discard-confirmation{width:min(430px,100vw - 36px)}.modal{background:#fff;border-radius:22px;width:min(560px,100vw - 36px);padding:20px;box-shadow:0 24px 80px #0f172a38}.modal.absence-add-modal{max-height:calc(100dvh - 32px);overflow-y:auto}.modal.publication-month-modal{width:min(1180px,100vw - 28px);max-width:1180px;max-height:calc(100vh - 32px);overflow:auto}.modal.day-notes-modal{width:min(1040px,100vw - 36px)}.day-item-editor{gap:9px;margin-top:12px;margin-bottom:12px;display:grid}.personal-status-editor{gap:9px;margin-top:12px;display:grid}.personal-status-row{border:1px solid var(--line);background:#fff7ed;border-radius:8px;grid-template-columns:minmax(150px,1fr) minmax(145px,.9fr) 120px minmax(180px,1.25fr) 34px;align-items:center;gap:8px;padding:8px;display:grid}.day-item-editor-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-item-row{border:1px solid var(--line);background:#f8fafc;border-radius:12px;grid-template-columns:minmax(130px,1.1fr) 92px 92px minmax(160px,.9fr) minmax(150px,1fr) 72px 34px;align-items:center;gap:8px;padding:8px;display:grid}.day-item-row .input{width:100%}.day-item-row .primary.small{min-height:34px;padding-inline:10px}.day-item-summary-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:8px;padding:6px;display:grid}.day-item-summary{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(140px,1fr) 116px minmax(150px,.7fr) minmax(120px,1fr);align-items:center;gap:8px;padding:3px 4px;display:grid}.day-item-summary:hover{background:#f8fafc}.day-item-summary-title,.day-item-summary-time,.day-item-summary-locations,.day-item-summary-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-item-summary-title{font-weight:950}.day-item-summary-time{color:#0f766e;font-size:12px;font-weight:900}.day-item-summary-locations,.day-item-summary-note{color:var(--muted);font-size:11px;font-weight:850}.day-item-locations{flex-wrap:wrap;gap:6px;display:flex}.day-item-locations label{color:var(--muted);align-items:center;gap:4px;font-size:11px;font-weight:850;display:inline-flex}.icon-danger{color:#be123c;cursor:pointer;background:#fff1f2;border:1px solid #fda4af;border-radius:8px;place-items:center;width:34px;min-width:34px;height:34px;display:inline-grid}.icon-danger:hover{color:#9f1239;background:#ffe4e6;border-color:#fb7185}.trash-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:18px;height:18px;display:block}.modal.employee-modal{width:min(1420px,100vw - 72px)}.modal.room-modal{width:min(1420px,100vw - 72px);max-height:min(920px,100vh - 32px);overflow:auto}.modal.base-policy-modal{width:min(1180px,100vw - 48px);max-height:min(900px,100vh - 32px);overflow:visible}.modal.base-policy-list-modal{width:min(1280px,100vw - 48px);max-height:min(900px,100vh - 32px);overflow:auto}.meetings-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.meetings-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:13px}.meetings-table th,.meetings-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:7px 8px}.meetings-table th{color:var(--muted);background:#f8fbfd;font-size:11px;font-weight:950}.meetings-table tbody tr:last-child td{border-bottom:0}.meetings-table .input,.meetings-table .select{min-height:34px}.meeting-edit-row{background:#f8fafc}.compact-actions{flex-wrap:nowrap;gap:5px}.managed-meeting-modal{width:min(760px,100vw - 36px)}.meeting-modal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.meeting-modal-wide{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.context-menu{z-index:120;border:1px solid var(--line);background:#fff;border-radius:14px;min-width:220px;padding:5px;display:grid;position:fixed;overflow:hidden;box-shadow:0 18px 48px #0f172a33}.context-menu button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:900}.context-menu-detail{color:var(--muted);padding:8px 10px 5px;font-size:12px;font-weight:800}.context-menu button:hover{background:var(--accent-soft);color:#0f5f58}.conflict-detail-box{border-radius:16px;gap:8px;margin:12px 0;padding:12px;display:grid}.conflict-detail-box.error{color:#991b1b;background:#fff7f7;border:1px solid #fecaca}.conflict-detail-box.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.conflict-detail-box strong{font-size:13px}.conflict-detail-box ul{gap:5px;margin:0;padding-left:18px;font-size:13px;font-weight:850;display:grid}.context-menu button.danger{color:var(--danger)}.context-menu button.danger:hover{background:var(--danger-soft)}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.time-grid label{color:var(--muted);gap:6px;font-size:13px;font-weight:900;display:grid}.assignment-edit-modal{max-width:760px}.assignment-specialty-editor{border:1px solid var(--line);background:#f8fafc;border-radius:12px;gap:10px;margin:12px 0;padding:10px;display:grid}.assignment-specialty-editor>strong{font-size:13px}.specialty-choice-dropdown{width:min(100%,320px);position:relative}.specialty-choice-trigger{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:900;display:flex}.specialty-choice-trigger:hover,.specialty-choice-trigger[aria-expanded=true]{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61f}.specialty-choice-value,.specialty-choice-list button{align-items:center;gap:8px;display:flex}.specialty-choice-swatch{border:1px solid #0f172a2e;border-radius:4px;flex:none;width:14px;height:14px}.specialty-choice-caret{border-top:5px solid #64748b;border-left:4px solid #0000;border-right:4px solid #0000;flex:none;width:0;height:0}.specialty-choice-list{z-index:55;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;display:grid;position:absolute;top:calc(100% + 5px);left:0;overflow:hidden;box-shadow:0 14px 32px #0f172a24}.specialty-choice-list button{border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;padding:9px 10px;font-size:13px;font-weight:850}.specialty-choice-list button:last-child{border-bottom:0}.specialty-choice-list button:hover,.specialty-choice-list button.selected{background:#f0fdfa}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:10px;width:fit-content;display:inline-flex;overflow:hidden}.segmented-control button{border:0;border-right:1px solid var(--line);color:var(--muted);background:0 0;padding:7px 10px;font-size:12px;font-weight:900}.segmented-control button:last-child{border-right:0}.segmented-control button.active{background:var(--ink);color:#fff}.specialty-custom-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.specialty-custom-grid label,.specialty-color-field{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.color-input{min-width:56px;padding:3px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.field-label{color:var(--muted);gap:6px;margin:12px 0;font-size:13px;font-weight:900;display:grid}.absence-panel{overflow:hidden}.absence-sticky-head{z-index:5;background:#fff;margin:-2px -2px 10px;padding:2px 2px 10px;position:sticky;top:0}.absence-control-row{justify-content:flex-end;align-items:center;gap:12px;margin:-4px 0 10px;display:flex}.absence-active-note{margin:0}.absence-table-shell{width:100%;display:grid}.absence-layout{display:block}.absence-grid{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}.absence-table{min-width:max-content;display:grid}.absence-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:30px;padding:3px;font-size:11px}.absence-year-frame{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:10px;min-height:520px;max-height:calc(100vh - 245px);padding:8px;scroll-padding-top:8px;display:grid;overflow:auto}.absence-month-block{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.absence-month-block[data-current-month=true]{border-color:#0f766e;box-shadow:inset 0 3px #0f766e}.absence-month-block-title{border-bottom:1px solid var(--line);color:var(--ink);text-transform:capitalize;background:#f8fafc;justify-content:space-between;align-items:center;padding:5px 8px;font-size:12px;font-weight:950;display:flex}.absence-month-block-title span{color:var(--muted);font-size:11px}.compact-year-grid{border:0;border-radius:0}.absence-year-table .absence-cell{min-height:20px;padding:1px 2px;font-size:9px;line-height:1}.absence-year-table .absence-day{font-size:8px}.absence-year-table .absence-name{left:38px}.absence-role-cell,.absence-role-header{z-index:2;color:#0f5f58;letter-spacing:0;white-space:nowrap;background:#f8fafc;place-items:center;font-size:8px;font-weight:950;display:grid;position:sticky;left:0;overflow:hidden}.absence-role-header{z-index:3;color:#fff;background:#102a27}.compact-name-header{left:38px}.compact-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-absence-cell{place-items:center;font-size:8px;font-weight:950;display:grid}.absence-name{z-index:1;background:#fff;font-weight:900;position:sticky;left:0}.absence-day{text-align:center;background:#f8fbfd;font-weight:900}.absence-month-corner{z-index:2;color:#fff;background:#102a27;place-items:center start;display:grid}.absence-month-row{color:#fff;text-transform:capitalize;background:#102a27;place-items:center;font-size:13px;font-weight:950;display:grid}.absence-day.weekend,.absence-cell.weekend-cell{background:#e5e7eb}.absence-cell.today{position:relative;box-shadow:inset 0 0 0 2px #15803d}.absence-day.today{color:#166534;background:#dcfce7}.absence-cell.today:after{content:"";background:#15803d;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.absence-vacation{background:#dbeafe}.absence-course{background:#fef3c7}.absence-sick{background:#fee2e2}.absence-other{background:#fce7f3}.absence-free{background:#dcfce7}.absence-status-pending{opacity:.48;box-shadow:inset 0 -3px #94a3b8}.absence-status-rejected{opacity:.35;text-decoration:line-through}.absence-status-approved{box-shadow:none}.absence-legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:12px;font-size:12px;font-weight:900;display:flex}.absence-legend span{align-items:center;gap:6px;display:inline-flex}.legend-swatch.pending{background:#f59e0b}.legend-swatch.rejected{background:repeating-linear-gradient(45deg,#cbd5e1,#cbd5e1 4px,#f8fafc 4px 8px)}.compact-panel{margin-top:16px}.absence-inbox-toolbar{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(160px,.8fr) minmax(320px,1.6fr);align-items:end;gap:10px;margin-bottom:12px;display:grid}.absence-inbox-toolbar label{color:var(--muted);gap:5px;font-size:12px;font-weight:900;display:grid}.absence-request-table{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}.absence-request-head,.absence-request-row{grid-template-columns:minmax(150px,.9fr) minmax(150px,.8fr) minmax(90px,.55fr) minmax(110px,.55fr) minmax(180px,1fr) minmax(260px,auto);align-items:center;gap:0;min-width:1040px;display:grid}.absence-request-head{z-index:2;color:var(--muted);background:#f8fafc;font-size:11px;font-weight:950;position:sticky;top:0}.absence-request-head span,.absence-request-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:38px;padding:7px 9px}.absence-request-row>:last-child,.absence-request-head span:last-child{border-right:0}.absence-request-row strong,.absence-request-row span{color:var(--ink);font-size:13px;font-weight:900}.absence-request-row small{color:var(--muted);font-size:12px;font-weight:800}.absence-request-row.absence-status-pending,.github-backup-panel{background:#f8fafc}.backup-artifact-list{gap:8px;display:grid}.backup-artifact-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(360px,1fr) 90px 90px auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.backup-artifact-row strong{color:var(--ink);display:block}.backup-artifact-row small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800;display:block}.backup-artifact-row>span{color:var(--muted);font-size:12px;font-weight:900}.backup-artifact-row.inactive{opacity:.55}.restore-modal{max-width:min(720px,100vw - 40px)}.absence-request-list{gap:8px;display:grid}.absence-request{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:160px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.absence-request small{color:var(--muted);grid-column:2/3}.agenda-export-list{gap:8px;margin-top:14px;display:grid}.agenda-export-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:130px 110px 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.agenda-export-row small{color:var(--muted);grid-column:3/4}.roadmap-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.roadmap-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:6px;padding:14px;display:grid}.roadmap-card span{color:#075985;background:#e0f2fe;border-radius:999px;width:fit-content;padding:4px 8px;font-size:11px;font-weight:900}.roadmap-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.print-specialty-legend{display:none}@page{size:A4 landscape;margin:5mm}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{width:287mm;max-width:287mm;font-size:6pt;color:#000!important;background:#fff!important;font-family:Arial,Helvetica,sans-serif!important;overflow:visible!important}.sidebar,.topbar,.planner-filterbar,.planning-issues-panel,.planning-automation-panel,.planning-generation-report,.banner,.toolbar,.legend,.modal-backdrop,.context-menu,.eyebrow,.lead,.planning-balance-head,.planning-balance-cell{display:none!important}.shell,.content{background:#fff!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.panel{width:100%!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.panel-head{margin:0 0 1mm!important;padding:0!important;display:block!important}.panel-head h2{color:#000!important;margin:0!important;font-size:10pt!important;font-weight:600!important;line-height:1.05!important}.excel-board{--print-row-height:1.98mm;--print-assignment-height:1.55mm;--print-note-height:3.96mm;gap:.25mm!important;width:100%!important;max-width:287mm!important;display:grid!important}.excel-board.print-week-count-5{--print-row-height:2.28mm;--print-assignment-height:1.82mm;--print-note-height:4.56mm}.week-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:.35pt solid #555!important;border-radius:0!important;overflow:visible!important}.week-card.print-hidden-week{display:none!important}.week-card.print-break-before{break-before:page;page-break-before:always}.week-title{color:#000!important;background:#e5e7eb!important;border-bottom:.35pt solid #555!important;height:2mm!important;padding:.15mm .7mm!important;font-size:4.9pt!important;font-weight:600!important;line-height:1!important}.excel-grid{grid-template-columns:9mm 3mm repeat(var(--room-count), minmax(0, 1fr)) 25mm!important;grid-auto-rows:var(--print-row-height)!important;width:100%!important;max-width:100%!important;display:grid!important;overflow:visible!important}.excel-head,.excel-date,.excel-part,.excel-cell,.day-notes-cell{min-width:0!important;min-height:0!important;height:var(--print-row-height)!important;max-height:var(--print-row-height)!important;color:#000!important;background:#fff!important;border-bottom:.25pt solid #777!important;border-right:.25pt solid #777!important;padding:.12mm .25mm!important;font-size:4.4pt!important;line-height:.95!important;overflow:hidden!important}.excel-head{text-align:center!important;background:#d9eadf!important;justify-content:center!important;align-items:center!important;font-size:4.1pt!important;font-weight:600!important;line-height:1!important;display:flex!important}.excel-head small{display:none!important}.excel-date,.excel-part{background:#f3f4f6!important;align-items:center!important;font-weight:600!important;display:flex!important}.excel-date{text-align:right!important;justify-content:flex-end!important}.excel-part{text-align:center!important;justify-content:center!important}.excel-date[data-weekend=true][data-day-part=middag],.excel-part[data-weekend=true][data-day-part=middag],.excel-cell[data-weekend=true][data-day-part=middag],.day-notes-cell[data-weekend=true][data-day-part=middag]{display:none!important}.excel-date[data-weekend=true][data-day-part=ochtend]{text-align:right!important}.excel-part[data-weekend=true][data-day-part=ochtend]{color:#0000!important}.excel-cell.weekend,.excel-date.weekend,.excel-part.weekend,.day-notes-cell.weekend,.excel-cell.weekend .assignment,.excel-cell.weekend .empty-cell,.excel-cell.resource-closed,.excel-cell.resource-closed .assignment,.excel-cell.resource-closed .empty-cell{background:#d9d9d9!important}.excel-cell.changed-cell{box-shadow:none!important;background:#fff!important}.excel-cell{align-items:center!important;display:flex!important}.excel-cell.has-specialty{background:var(--specialty-color,#0f766e)!important;color:var(--specialty-print-ink,#fff)!important}.day-notes-head{text-align:left!important}.day-notes-cell{appearance:none!important;height:var(--print-note-height)!important;max-height:var(--print-note-height)!important;color:#000!important;cursor:default!important;border-top:0!important;display:block!important}.day-note-planner,.day-note-public,.day-note-empty{color:#000!important;text-overflow:clip!important;white-space:nowrap!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:4pt!important;font-weight:500!important;line-height:.95!important;display:block!important;overflow:hidden!important}.day-note-public strong,.day-note-public em{color:#000!important;font-size:inherit!important;font-style:normal!important;display:inline!important}.loc-utrecht,.loc-zeist,.loc-doorn{box-shadow:none!important}[data-print-blank=true],[data-print-blank=true] *{box-shadow:none!important;color:#0000!important;text-shadow:none!important;background:#fff!important;border-color:#777!important}.assignment,.assignment.conflict,.assignment.warning,.assignment.preference-ok,.assignment.blocked,.empty-cell,.empty-cell.suggested{min-height:0!important;height:var(--print-assignment-height)!important;max-height:var(--print-assignment-height)!important;box-shadow:none!important;color:#000!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:4.3pt!important;font-weight:500!important;line-height:.95!important}.assignment{appearance:none!important;text-overflow:clip!important;white-space:nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:.4mm!important;width:100%!important;display:flex!important;overflow:hidden!important}.excel-cell.has-specialty .assignment,.excel-cell.has-specialty .assignment.conflict,.excel-cell.has-specialty .assignment.warning,.excel-cell.has-specialty .assignment.preference-ok{color:var(--specialty-print-ink,#fff)!important;background:0 0!important}.assignment-text{text-overflow:clip!important;white-space:nowrap!important;display:inline!important;overflow:hidden!important}.assignment.has-specialty .assignment-text:after{content:" ·"!important}.assignment-specialty{color:inherit!important;font-size:inherit!important;white-space:nowrap!important;background:0 0!important;border:0!important;padding:0!important;font-weight:500!important;display:inline!important}.print-specialty-legend{border-top:.35pt solid #555;flex-wrap:wrap;align-items:center;gap:1.2mm 4mm;margin-top:1mm;padding-top:.8mm;font-size:5pt;font-weight:600;line-height:1.1;color:#000!important;display:flex!important}.print-specialty-legend span{white-space:nowrap;align-items:center;gap:1mm;display:inline-flex}.print-specialty-legend i{border:.25pt solid #555;width:3mm;height:3mm;display:inline-block;background:var(--specialty-color,#0f766e)!important}.assignment-markers,.sr-only{display:none!important}}.legend-swatch{border:1px solid var(--line);background:#fff;border-radius:5px;width:18px;height:14px}.legend-swatch.available{background:#fff}.legend-swatch.vacation{background:#dbeafe}.legend-swatch.course{background:#fef3c7}.legend-swatch.sick{background:#fee2e2}.legend-swatch.free{background:#dcfce7}.legend-swatch.other{background:#fce7f3}.legend-swatch.weekend{background:#e5e7eb}.my-roster-panel{overflow:hidden}.compact-label{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:900;display:flex}.compact-select{width:auto;min-width:132px;padding:6px 9px}.week-pill{border:1px solid var(--line);text-align:center;background:#fff;border-radius:999px;min-width:88px;padding:8px 12px;font-size:13px;font-weight:950}.calendar-subbar{align-items:center;gap:10px;margin:-6px 0 14px;display:flex}.clean-subbar{justify-content:flex-end}.go-week-form{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex}.go-week-form label{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:900;display:flex}.go-week-form input{border:1px solid var(--line);border-radius:999px;width:66px;padding:7px 9px;font-weight:900}.agenda-note{color:var(--muted);align-items:center;gap:10px;margin:-2px 0 14px;display:flex}.agenda-note span{background:var(--accent-soft);color:#0f5f58;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950}.agenda-note p{margin:0;font-size:13px}.calendar-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:14px;display:grid}.mini-calendar{border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px;position:sticky;top:12px;box-shadow:0 14px 34px #0f172a14}.mini-month-title{color:var(--ink);text-transform:capitalize;margin-bottom:12px;font-size:20px;font-weight:950}.mini-weekdays,.mini-days{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.mini-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:10px;font-weight:950}.mini-days button,.mini-days a{width:24px;height:24px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;font-size:11px;font-weight:900;text-decoration:none;display:grid;position:relative}.mini-days button:hover,.mini-days a:hover{background:#f1f5f9}.mini-days button.muted,.mini-days a.muted{color:#cbd5e1}.mini-days button.active,.mini-days a.active{color:#fff;background:#0f5f58}.mini-days button.today,.mini-days a.today{color:#14532d;background:#bbf7d0;box-shadow:inset 0 0 0 2px #22c55e}.mini-days button.active.today,.mini-days a.active.today{color:#fff;background:#15803d;box-shadow:inset 0 0 0 2px #86efac}.mini-days button.has-items:after,.mini-days a.has-items:after{content:"";background:#d97706;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.mini-days button.active.has-items:after,.mini-days a.active.has-items:after{background:#fff}.calendar-week-panel{padding-bottom:6px;overflow-x:auto}.week-grid{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:64px repeat(5,minmax(145px,1fr)) minmax(170px,.9fr);min-width:980px;display:grid;overflow:hidden}.time-col,.agenda-day{border-right:1px solid var(--line);background:#fff}.week-head-cell,.agenda-day header{border-bottom:1px solid var(--line);background:#102a27;height:54px}.agenda-day header{color:#fff;flex-direction:column;justify-content:center;gap:3px;padding:9px;display:flex}.agenda-day header span{color:#ffffffb3;font-size:11px;font-weight:850}.agenda-day header em{color:#14532d;background:#bbf7d0f2;border-radius:999px;width:fit-content;padding:2px 7px;font-size:10px;font-style:normal;font-weight:950}.agenda-day.today{box-shadow:inset 0 0 0 2px #22c55e,inset 0 8px #22c55e}.agenda-day.today header{background:linear-gradient(135deg,#14532d,#0f766e)}.agenda-day.today .agenda-lane{background:linear-gradient(#0f172a0f 1px,#0000 1px) 0 0/100% 56px,linear-gradient(#bbf7d073,#f0fdf48c)}.time-label{border-bottom:1px solid var(--line);height:56px;color:var(--muted);text-align:right;padding:4px 7px;font-size:11px;font-weight:950}.agenda-lane{background:linear-gradient(#0f172a0f 1px,#0000 1px) 0 0/100% 56px,#fbfdff;height:616px;position:relative}.hour-line{background:#0f172a14;height:1px;position:absolute;left:0;right:0}.agenda-event{background:#dcfce7;border:1px solid #0f172a14;border-radius:12px;padding:7px 8px;position:absolute;left:6px;right:6px;overflow:hidden;box-shadow:0 8px 18px #0f172a1a}.agenda-event strong,.agenda-event span,.agenda-event em{line-height:1.18;display:block}.agenda-event strong{font-size:12px}.agenda-event span,.agenda-event em{color:var(--muted);font-size:10px;font-style:normal;font-weight:850}.agenda-event.ok{background:#dbeafe}.agenda-event.sleep{background:#fef3c7}.agenda-event.admin{background:#f8ebd6}.agenda-event.duty{color:#fff;background:#102a27}.agenda-event.duty span,.agenda-event.duty em{color:#ffffffbd}.workday-warning{color:var(--danger)!important;font-size:10px!important;font-weight:950!important}.weekend-lane{align-content:start;gap:9px;padding:9px;display:grid}.weekend-service-card{color:#fff;background:linear-gradient(135deg,#102a27,#1f5f55);border-radius:14px;gap:5px;padding:11px;display:grid;box-shadow:0 10px 22px #0f172a1f}.weekend-service-card span,.weekend-service-card em{color:#ffffffbd;font-size:12px;font-style:normal;line-height:1.35}.no-weekend-duty{color:var(--muted);background:#f8fafc;border-radius:14px;margin:0;padding:12px;font-weight:850}.team-overview-panel{overflow:hidden}.team-overview-head{align-items:end}.team-overview-head h2,.team-overview-method p{margin:0}.team-overview-filters{align-items:end}.team-overview-filters .compact-select{min-width:128px}.team-role-filter{position:relative}.team-role-filter>summary{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;align-items:center;min-width:196px;min-height:36px;padding:0 10px;font-size:.78rem;font-weight:800;display:flex}.team-role-filter>summary::marker{content:""}.team-role-filter>summary:after{content:"v";margin-left:auto;font-size:.9rem}.team-role-filter-menu{border:1px solid var(--line);z-index:12;background:#fff;border-radius:7px;gap:5px;min-width:230px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 24px #0f172a29}.team-role-filter-menu .check-row{gap:6px;min-height:24px;font-size:.76rem;font-weight:750}.team-role-filter-menu .check-row:first-child{border-bottom:1px solid var(--line);padding-bottom:6px;font-weight:900}.team-overview-coverage{border-bottom:1px solid var(--line);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.team-overview-coverage strong{color:var(--ink);font-size:.82rem}.team-overview-coverage span{color:var(--muted);text-transform:capitalize;font-size:.76rem;font-weight:750}.team-overview-message{color:var(--muted);text-align:center;background:#f8fafc;margin:12px 0 0;padding:16px}.team-overview-message.error{background:var(--danger-soft);color:var(--danger)}.team-overview-table-wrap{overflow-x:auto}.team-overview-table{border-collapse:collapse;table-layout:fixed;width:100%}.team-overview-table th,.team-overview-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:4px 9px}.team-overview-table thead th{color:var(--muted);background:#f8fafc;font-size:.7rem;font-weight:900}.team-overview-table thead th:first-child{width:25%}.team-overview-table thead th:nth-child(2){width:10%}.team-overview-table tbody>tr:not(.team-overview-group-row)>th{color:var(--ink);font-size:.84rem}.team-overview-table tbody>tr:not(.team-overview-group-row):hover{background:#f8fafc}.team-overview-group-row th{color:#115e59;background:#e7f4f2;padding-top:4px;padding-bottom:4px;font-size:.76rem}.team-overview-group-row span{color:var(--muted);margin-left:6px;font-size:.68rem}.team-overview-table td>strong,.team-overview-table td>span,.team-overview-table td>small{display:inline}.team-overview-table td>strong{color:var(--ink);font-size:.8rem}.team-overview-table td>span{color:#334155;margin-left:4px;font-size:.66rem;font-weight:800}.team-overview-table td>span:before,.team-overview-table td>small:before{color:#94a3b8;content:"·";margin-right:4px}.team-overview-table td>small{color:var(--muted);margin-left:4px;font-size:.62rem;font-weight:700;line-height:1.2}.team-overview-metric.is-notable{box-shadow:inset 3px 0 #d97706}.team-overview-metric.is-notable small{color:#92400e}.team-overview-method{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.team-overview-method summary{color:var(--ink);cursor:pointer;font-size:.76rem;font-weight:900}.team-overview-method div{color:var(--muted);gap:5px;max-width:920px;margin-top:8px;font-size:.72rem;line-height:1.45;display:grid}@media (max-width:1100px){.shell{grid-template-columns:1fr;padding:22px;display:grid}.sidebar{width:auto;height:auto;max-height:none;position:relative;top:auto;left:auto;overflow-y:visible}.main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-nav{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;align-items:flex-start}.excel-grid{grid-template-columns:62px 20px repeat(var(--room-count), minmax(44px, 1fr))}.assignment{padding:2px 3px;font-size:10px}.calendar-layout{grid-template-columns:1fr}.mini-calendar{position:static}.absence-control-row{flex-direction:column;align-items:flex-start}.evening-duty-layout{grid-template-columns:1fr}.base-policy-card{grid-template-columns:repeat(2,minmax(0,1fr))}.base-policy-editor-grid{grid-template-columns:1fr}.base-policy-summary-card{flex-direction:column;align-items:flex-start}.base-policy-list-modal{overflow:auto}.split-grid,.role-card,.role-add-row,.account-card,.account-invite-panel,.publication-status-grid,.publication-summary,.publication-columns,.publication-modal-grid,.publication-version,.day-item-row,.personal-status-row,.day-item-summary-row,.day-item-summary{grid-template-columns:1fr}.day-item-delete{width:100%}.meeting-modal-grid,.publication-audit-entry{grid-template-columns:1fr}.evening-duty-grid-row{grid-template-columns:78px repeat(var(--evening-duty-days), minmax(145px, 1fr));min-width:720px}.evening-preference-table{overflow:auto}.evening-preference-row{min-width:720px}}@media (max-width:760px){body{background:#fff}.shell{gap:0;padding:0}.sidebar{z-index:20;width:auto;height:auto;max-height:none;box-shadow:none;background:#fff;border:0;border-bottom:1px solid #d8e0eab3;border-radius:0;flex-direction:row;justify-content:space-between;align-items:center;padding:6px 8px;display:flex;position:relative;overflow:visible}.desktop-brand,.main-nav{display:none}html[data-mobile-desktop-view=true] .desktop-brand{margin-bottom:8px;display:flex}.mobile-menu{display:block;position:relative}html[data-mobile-desktop-view=true] .mobile-menu{display:none}.mobile-menu summary{list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu-button{color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;font-size:.88rem;font-weight:950;display:inline-flex}.brand-mark{width:32px;height:32px;font-size:.76rem}.mobile-menu-panel{z-index:100;border:1px solid var(--line);background:#fff;border-radius:18px;width:min(260px,100vw - 16px);padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 45px #0f172a2e}.mobile-menu-panel nav{gap:6px;display:grid}.mobile-menu-panel a{min-height:40px;color:var(--ink);border-radius:13px;align-items:center;gap:8px;padding:8px 10px;font-weight:950;text-decoration:none;display:flex}.mobile-menu-panel a.active{background:var(--accent-soft);color:var(--accent)}.mobile-menu-panel a span{background:#e8eef5;border-radius:10px;place-items:center;width:26px;height:26px;font-size:.68rem;display:grid}.mobile-menu-panel a.active span{background:var(--accent);color:#fff}.mobile-menu-future{border-top:1px solid var(--line);gap:2px;margin-top:8px;padding:8px 4px 2px;display:grid}.mobile-menu-future span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:950}.mobile-menu-future small{color:var(--muted);font-size:.76rem;font-weight:850}.mobile-menu-logout{width:100%;color:var(--ink);text-align:left;background:#e8eef5;border:0;border-radius:13px;margin-top:8px;padding:9px 10px;font-size:.78rem;font-weight:950}html[data-mobile-desktop-view=true] .main-nav{gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-group{flex:none}.nav-group a{white-space:nowrap;border-radius:999px;min-height:38px;padding:8px 10px}.nav-group a[data-mobile-main=false],.sub-nav{display:none}html[data-mobile-desktop-view=true] .nav-group a[data-mobile-main=false]{display:flex}html[data-mobile-desktop-view=true] .sub-nav{display:grid}.side-note{background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:0;font-size:.78rem;display:none}.side-note strong,.side-note span{display:none}.logout-button{border-radius:999px;width:auto;margin:0;padding:6px 9px;font-size:.72rem}.content{background:#fff;padding:6px}html:not([data-mobile-desktop-view=true]) .topbar{display:none}.topbar h1{letter-spacing:0;font-size:1.45rem}.panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.panel-head{align-items:flex-start;gap:10px;margin-bottom:10px}.panel-head h2{font-size:1.25rem;line-height:1.15}.panel-head .toolbar{justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}html:not([data-mobile-desktop-view=true]) .roster-board-readonly .roster-mobile-hidden,html:not([data-mobile-desktop-view=true]) .roster-board-readonly .roster-month-picker{display:none!important}html:not([data-mobile-desktop-view=true]) .roster-board-readonly .mobile-roster-top-date-input{width:min(180px,52vw);display:inline-flex}.mobile-view-toggle{z-index:80;color:var(--muted);background:#ffffffeb;border:1px solid #0f172a1f;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:900;display:inline-flex;position:fixed;bottom:10px;right:10px;box-shadow:0 10px 28px #0f172a1f}html:not([data-mobile-desktop-view=true]) .mobile-agenda-app{display:block}html:not([data-mobile-desktop-view=true]) .my-roster-layout,html:not([data-mobile-desktop-view=true]) .roster-board-readonly .excel-board,html:not([data-mobile-desktop-view=true]) .roster-board-readonly .horizontal-planning-wrap{display:none!important}html:not([data-mobile-desktop-view=true]) .my-roster-panel>.panel-head,html:not([data-mobile-desktop-view=true]) .my-roster-panel>.calendar-subbar,html:not([data-mobile-desktop-view=true]) .my-roster-panel>.agenda-note{display:none}html[data-mobile-desktop-view=true] .mobile-agenda-app{display:none!important}.calendar-subbar,.agenda-note{margin:0 0 10px}.clean-subbar{justify-content:flex-start}.agenda-note{flex-direction:column;align-items:flex-start;gap:5px}.agenda-note p{font-size:.82rem;line-height:1.35}.mobile-agenda-app{margin-top:0}.mobile-weekcal{--mobile-weekcal-border:#d1d5db;color:#111827;touch-action:pan-y}.mobile-weekcal-control{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:6px;margin:0 0 4px;display:grid}.mobile-weekcal-control a{border:1px solid var(--line);height:30px;color:var(--ink);background:#fff;border-radius:999px;place-items:center;font-size:1.18rem;font-weight:950;line-height:1;text-decoration:none;display:grid}.mobile-weekcal-control strong{color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:950;line-height:1;overflow:hidden}.mobile-weekcal-date-button{color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 2px;font-size:.93rem;font-weight:950;line-height:1;overflow:hidden}.mobile-date-modal-backdrop{z-index:120;place-items:start center;padding-top:62px}.mobile-date-modal{border-radius:18px;width:min(360px,100vw - 20px);padding:12px}.mobile-date-modal-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.mobile-date-modal-head span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:950;display:block}.mobile-date-month-control{gap:5px;min-width:0;display:grid}.mobile-date-month-control>div{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:5px;min-width:190px;display:grid}.mobile-date-month-arrow,.mobile-date-month-name{border:1px solid var(--line);min-height:30px;color:var(--ink);background:#fff;border-radius:999px;place-items:center;font-weight:950;display:grid}.mobile-date-month-arrow{padding:0;font-size:1rem;line-height:1}.mobile-date-month-name{text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;padding:0 10px;font-size:1rem;overflow:hidden}.mobile-date-month-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#f8fafc;border-radius:11px;padding:7px 9px;font-size:.84rem;font-weight:900}.mobile-date-calendar{touch-action:pan-y;grid-template-columns:32px repeat(7,minmax(0,1fr));gap:4px;display:grid}.mobile-date-week-row{display:contents}.mobile-date-week-head,.mobile-date-day-head,.mobile-date-week-number,.mobile-date-calendar a:not(.mobile-date-week-number){border-radius:10px;place-items:center;min-height:34px;font-size:.76rem;font-weight:950;text-decoration:none;display:grid}.mobile-date-week-head,.mobile-date-day-head{min-height:22px;color:var(--muted);text-transform:uppercase;font-size:.62rem}.mobile-date-week-number{color:var(--muted);background:#f1f5f9}.mobile-date-calendar a:not(.mobile-date-week-number){color:var(--ink);background:#fff;border:1px solid #e2e8f0;position:relative}.mobile-date-calendar a.muted{color:#94a3b8;background:#f8fafc}.mobile-date-calendar a.selected-week{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}.mobile-date-calendar a.today{box-shadow:inset 0 0 0 2px #0f766e}.mobile-date-calendar a.has-items:after{content:"";background:#f59e0b;border-radius:999px;width:4px;height:4px;position:absolute;bottom:4px}.mobile-weekcal-grid{border:1px solid var(--mobile-weekcal-border);background:#fff;border-radius:12px;grid-template-rows:24px minmax(0,calc(100svh - 174px));grid-template-columns:24px repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.mobile-weekcal-time-head,.mobile-weekcal-day-head{border-bottom:1px solid var(--mobile-weekcal-border);background:#fff}.mobile-weekcal-day-head{border-left:1px solid var(--mobile-weekcal-border);color:#4b5563;grid-template-columns:1fr;place-items:center;gap:0;text-decoration:none;display:grid}.mobile-weekcal-day-head span{text-transform:uppercase;font-size:.5rem;font-weight:850;line-height:1}.mobile-weekcal-day-head strong{font-size:.72rem;line-height:1}.mobile-weekcal-day-head.today{color:#0f766e;background:#ecfdf5}.mobile-weekcal-day-head.has-items{box-shadow:inset 0 -3px #f59e0b}.mobile-weekcal-time-axis{border-right:1px solid var(--mobile-weekcal-border);background:#f8fafc;grid-template-rows:repeat(13,1fr);display:grid;position:relative}.mobile-weekcal-time-axis span{color:#6b7280;text-align:right;font-size:.48rem;font-weight:850;line-height:1;transform:translateY(-.15rem)}.mobile-weekcal-time-axis span:first-child{transform:translateY(.08rem)}.mobile-weekcal-day{border-left:1px solid var(--mobile-weekcal-border);background:#fff;min-width:0;position:relative}.mobile-weekcal-day.today{background:#f8fffb}.mobile-weekcal-lines{pointer-events:none;grid-template-rows:repeat(12,1fr);display:grid;position:absolute;inset:0}.mobile-weekcal-hour-line{background-image:linear-gradient(#0000 calc(50% - .5px),#0f172a0f 50%,#0000 calc(50% + .5px));border-top:1px solid #0f172a1f}.mobile-weekcal-event{z-index:1;color:#fff;border:1px solid #0f172a1f;border-radius:5px;padding:2px 2px 1px;display:block;position:absolute;overflow:hidden;box-shadow:0 2px 5px #0f172a24}.mobile-weekcal-event span,.mobile-weekcal-event strong,.mobile-weekcal-event em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-weekcal-event span{font-size:.48rem;font-weight:950;line-height:1.05}.mobile-weekcal-event strong{margin-top:1px;font-size:.55rem;font-weight:950;line-height:1.08}.mobile-weekcal-event em{color:#ffffffdb;margin-top:1px;font-size:.48rem;font-style:normal;font-weight:850;line-height:1}.mobile-weekcal-event.poli.location-utrecht{background:#1d9bf0}.mobile-weekcal-event.poli.location-zeist{background:#ef4444}.mobile-weekcal-event.poli.location-doorn{color:#1f2937;background:#fbbf24}.mobile-weekcal-event.poli.location-doorn em{color:#1f2937b8}.mobile-weekcal-event.ok{background:#16a34a}.mobile-weekcal-event.sleep{color:#1f2937;background:#f59e0b}.mobile-weekcal-event.sleep em{color:#1f2937b8}.mobile-weekcal-event.admin{background:#7c3aed}.mobile-weekcal-event.duty{background:#111827}.mobile-week-strip{scroll-snap-type:x proximity;gap:7px;margin:0 -12px 12px;padding:0 12px 4px;display:flex;overflow-x:auto}.mobile-week-strip a{border:1px solid var(--line);min-height:58px;color:var(--ink);scroll-snap-align:start;background:#fff;border-radius:18px;flex:0 0 52px;place-items:center;gap:3px;text-decoration:none;display:grid}.mobile-week-strip.month-strip a{flex-basis:48px}.mobile-week-strip a span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:950}.mobile-week-strip a strong{font-size:1.05rem;line-height:1}.mobile-week-strip a.active,.mobile-week-strip a.today{color:#fff;background:#0f766e;border-color:#0f766e}.mobile-week-strip a.active span,.mobile-week-strip a.today span{color:#ffffffc7}.mobile-week-strip a.has-items{box-shadow:inset 0 -4px #f59e0b}.mobile-day-agenda{gap:10px;display:grid}.mobile-day-block{border:1px solid var(--line);background:#fff;border-radius:22px;padding:12px;box-shadow:0 12px 30px #0f172a12}.mobile-day-block.today{border-color:#86efac;box-shadow:inset 4px 0 #22c55e,0 12px 30px #0f172a12}.mobile-day-block.muted{opacity:.58}.mobile-day-block header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mobile-day-block header span{color:var(--ink);text-transform:capitalize;font-size:.98rem;font-weight:950}.mobile-day-block header strong{color:var(--muted);white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:950}.mobile-event-list{gap:8px;display:grid}.mobile-agenda-event{background:#ecfdf5;border-left:5px solid #0f766e;border-radius:16px;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.mobile-agenda-event time{color:#0f5f58;font-size:.78rem;font-weight:950;line-height:1.25}.mobile-agenda-event strong,.mobile-agenda-event span{min-width:0;display:block}.mobile-agenda-event strong{color:var(--ink);font-size:.92rem;line-height:1.2}.mobile-agenda-event span{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:850;line-height:1.3}.mobile-agenda-event.ok{background:#eff6ff;border-left-color:#2563eb}.mobile-agenda-event.sleep{background:#fffbeb;border-left-color:#d97706}.mobile-agenda-event.admin{background:#f5f3ff;border-left-color:#7c3aed}.mobile-agenda-event.duty{background:#eef2f1;border-left-color:#102a27}.mobile-roster-board{color:#111827}.mobile-roster-daybar{grid-template-columns:minmax(0,1fr);align-items:center;margin-bottom:9px;display:grid}.mobile-roster-daybar a{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff;border-radius:999px;place-items:center;font-size:1.35rem;font-weight:950;line-height:1;text-decoration:none;display:grid}.mobile-roster-daybar div{text-align:center;min-width:0}.mobile-roster-daybar strong,.mobile-roster-daybar span{display:block}.mobile-roster-daybar strong{text-transform:capitalize;font-size:1.05rem;line-height:1.1}.mobile-roster-daybar span{color:var(--muted);font-size:.74rem;font-weight:900}.mobile-roster-date-strip{scroll-snap-type:x proximity;gap:6px;margin:0 -12px 10px;padding:0 12px 4px;scroll-padding-inline:calc(50vw - 34px);display:flex;overflow-x:auto}.mobile-roster-date-strip a{border:1px solid var(--line);min-height:54px;color:var(--ink);scroll-snap-align:center;background:#fff;border-radius:15px;flex:0 0 44px;place-items:center;gap:2px;text-decoration:none;display:grid}.mobile-roster-date-strip span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:950}.mobile-roster-date-strip strong{font-size:1rem;line-height:1}.mobile-roster-date-strip small{color:#ffffffc7;text-transform:uppercase;min-height:10px;font-size:.55rem;font-weight:950;line-height:1}.mobile-roster-date-strip a.today{border-color:#0f766e}.mobile-roster-date-strip a.active{color:#fff;background:#0f766e;border-color:#0f766e}.mobile-roster-date-strip a.active span{color:#ffffffc7}.mobile-roster-day-card{border:1px solid var(--line);touch-action:pan-y;background:#fff;border-radius:22px;gap:12px;padding:12px;display:grid;box-shadow:0 14px 34px #0f172a14}.mobile-roster-day-card.today{border-color:#86efac;box-shadow:inset 4px 0 #22c55e,0 14px 34px #0f172a14}.mobile-roster-day-head,.mobile-roster-location h3,.mobile-roster-meetings h3,.mobile-roster-absences h3{margin:0}.mobile-roster-day-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-roster-day-head span{color:#0f766e;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:950;display:block}.mobile-roster-day-head strong{text-transform:capitalize;margin-top:2px;font-size:1.12rem;display:block}.mobile-roster-day-head small{color:var(--muted);white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:950}.mobile-roster-meetings{gap:7px;display:grid}.mobile-roster-meetings h3,.mobile-roster-location h3,.mobile-roster-absences h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:950}.mobile-roster-meetings>div,.mobile-roster-locations,.mobile-roster-room-list,.mobile-roster-absence-list{gap:8px;display:grid}.mobile-roster-meeting{color:#312e81;background:#f5f3ff;border-radius:15px;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.mobile-roster-meeting time{font-size:.72rem;font-weight:950;line-height:1.25}.mobile-roster-meeting strong,.mobile-roster-meeting span{min-width:0;display:block}.mobile-roster-meeting strong{color:#1f1f6b;font-size:.86rem;line-height:1.15}.mobile-roster-meeting span{margin-top:2px;font-size:.72rem;font-weight:850;line-height:1.25}.mobile-roster-location{gap:7px;padding-top:2px;display:grid}.mobile-roster-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:minmax(74px,.7fr) minmax(0,2fr);align-items:stretch;gap:8px;padding:7px;display:grid}.mobile-roster-room{min-width:0;color:var(--ink);align-items:center;font-size:.78rem;line-height:1.12;display:flex}.mobile-roster-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.mobile-roster-session{color:#082f49;background:#e0f2fe;border-radius:13px;min-width:0;padding:7px;overflow:hidden}.mobile-roster-session span,.mobile-roster-session strong,.mobile-roster-session time,.mobile-roster-session em{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.mobile-roster-session span{opacity:.76;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:950;line-height:1}.mobile-roster-session strong{margin-top:3px;font-size:.78rem;line-height:1.12}.mobile-roster-session time,.mobile-roster-session em{margin-top:2px;font-size:.62rem;font-style:normal;font-weight:850;line-height:1.15}.mobile-roster-session.poli.location-utrecht{color:#fff;background:#0ea5e9}.mobile-roster-session.poli.location-zeist{color:#fff;background:#ef4444}.mobile-roster-session.poli.location-doorn{color:#3f2b03;background:#fbbf24}.mobile-roster-session.ok{color:#fff;background:#16a34a}.mobile-roster-session.sleep{color:#3f2b03;background:#f59e0b}.mobile-roster-session.admin{color:#fff;background:#7c3aed}.mobile-roster-session.closed,.mobile-roster-session.empty{color:#6b7280;background:#e5e7eb}.mobile-roster-session.empty{opacity:.55}.mobile-roster-empty,.mobile-roster-absences p{color:var(--muted);background:#f8fafc;border-radius:15px;margin:0;padding:10px;font-size:.8rem;font-weight:850}.mobile-roster-absences{border-top:1px solid var(--line);gap:7px;padding-top:10px;display:grid}.mobile-roster-absence-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-roster-absence-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;min-width:0;padding:8px 9px}.mobile-roster-absence-chip strong,.mobile-roster-absence-chip small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.mobile-roster-absence-chip strong{color:var(--ink);font-size:.78rem;line-height:1.1}.mobile-roster-absence-chip small{color:var(--muted);margin-top:2px;font-size:.66rem;font-weight:850}.mobile-empty-day{color:var(--muted);background:#f8fafc;border-radius:16px;margin:0;padding:11px;font-size:.83rem;font-weight:850}html[data-mobile-desktop-view=true] .content{min-width:1080px}html:not([data-mobile-desktop-view=true]) .team-overview-panel{padding-bottom:70px}html:not([data-mobile-desktop-view=true]) .team-overview-head{display:grid}html:not([data-mobile-desktop-view=true]) .team-overview-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}html:not([data-mobile-desktop-view=true]) .team-overview-filters .compact-select{width:100%;min-width:0}html:not([data-mobile-desktop-view=true]) .team-role-filter{grid-column:1/-1}html:not([data-mobile-desktop-view=true]) .team-role-filter>summary{min-width:0}html:not([data-mobile-desktop-view=true]) .team-overview-coverage{align-items:flex-start;gap:3px;display:grid}html:not([data-mobile-desktop-view=true]) .team-overview-table,html:not([data-mobile-desktop-view=true]) .team-overview-table tbody,html:not([data-mobile-desktop-view=true]) .team-overview-table tr,html:not([data-mobile-desktop-view=true]) .team-overview-table th,html:not([data-mobile-desktop-view=true]) .team-overview-table td{width:100%;display:block}html:not([data-mobile-desktop-view=true]) .team-overview-table thead{display:none}html:not([data-mobile-desktop-view=true]) .team-overview-table .team-overview-group-row th{margin-top:8px}html:not([data-mobile-desktop-view=true]) .team-overview-table tbody>tr:not(.team-overview-group-row){border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding:9px 0;display:grid}html:not([data-mobile-desktop-view=true]) .team-overview-table tbody>tr:not(.team-overview-group-row)>*{border:0;min-width:0;padding:7px 9px}html:not([data-mobile-desktop-view=true]) .team-overview-table tbody>tr:not(.team-overview-group-row)>th{grid-column:1/-1;padding-bottom:3px;font-size:.92rem}html:not([data-mobile-desktop-view=true]) .team-overview-table td:before{color:var(--muted);content:attr(data-label);margin-bottom:3px;font-size:.61rem;font-weight:900;display:block}html:not([data-mobile-desktop-view=true]) .team-overview-table .team-overview-metric.is-notable{box-shadow:inset 3px 0 #d97706}}
