@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.account-status{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--bg-page)}.account-status-card{width:100%;max-width:440px;text-align:center}.account-status-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:16px;border-radius:50%;background:var(--primary-tint);color:var(--primary-link)}.account-status-mark--warning{background:var(--warning-bg);color:var(--warning)}.account-status-title{margin-bottom:8px;font-size:17px;font-weight:650;color:var(--text-strong)}.account-status-text{font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.account-status-identity{display:flex;flex-direction:column;gap:2px;margin-top:20px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-muted)}.account-status-identity-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.account-status-identity-value{font-size:13.5px;font-weight:600;color:var(--text-heading);word-break:break-all}.account-status-hint{margin-top:14px;font-size:12.5px;color:var(--warning)}.account-status-actions{display:flex;justify-content:center;gap:8px;margin-top:24px}.account-status-footnote{margin-top:16px;font-size:12px;color:var(--text-muted)}@media(max-width:520px){.account-status-card{padding:24px 20px}.account-status-actions{flex-direction:column}}.ui-tooltip{position:fixed;z-index:2000;max-width:min(280px,calc(100vw - 16px));padding:5px 8px;border:1px solid rgba(var(--white-rgb),.11);border-radius:6px;background:var(--surface-tooltip);color:var(--text-on-inverse-warm);box-shadow:var(--shadow-tooltip);font-family:var(--font-sans);font-size:12px;font-weight:500;line-height:1.35;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;animation:ui-tooltip-in 90ms ease-out}.ui-tooltip[data-placement=top]{--ui-tooltip-enter-x: 0;--ui-tooltip-enter-y: 2px}.ui-tooltip[data-placement=bottom]{--ui-tooltip-enter-x: 0;--ui-tooltip-enter-y: -2px}.ui-tooltip[data-placement=left]{--ui-tooltip-enter-x: 2px;--ui-tooltip-enter-y: 0}.ui-tooltip[data-placement=right]{--ui-tooltip-enter-x: -2px;--ui-tooltip-enter-y: 0}.ui-tooltip:before{content:"";position:absolute;width:7px;height:7px;background:var(--surface-tooltip);transform:rotate(45deg)}.ui-tooltip[data-placement=top]:before{left:calc(var(--ui-tooltip-arrow-offset) * 1px);bottom:-4px;margin-left:-4px;border-right:1px solid rgba(var(--white-rgb),.11);border-bottom:1px solid rgba(var(--white-rgb),.11)}.ui-tooltip[data-placement=bottom]:before{left:calc(var(--ui-tooltip-arrow-offset) * 1px);top:-4px;margin-left:-4px;border-left:1px solid rgba(var(--white-rgb),.11);border-top:1px solid rgba(var(--white-rgb),.11)}.ui-tooltip[data-placement=left]:before{top:calc(var(--ui-tooltip-arrow-offset) * 1px);right:-4px;margin-top:-4px;border-right:1px solid rgba(var(--white-rgb),.11);border-top:1px solid rgba(var(--white-rgb),.11)}.ui-tooltip[data-placement=right]:before{top:calc(var(--ui-tooltip-arrow-offset) * 1px);left:-4px;margin-top:-4px;border-left:1px solid rgba(var(--white-rgb),.11);border-bottom:1px solid rgba(var(--white-rgb),.11)}.ui-info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:4px;border-radius:50%;background:var(--border-strong);color:var(--text-secondary);font-size:10px;font-weight:700;line-height:1;vertical-align:middle;cursor:help;-webkit-user-select:none;user-select:none}.ui-info-tooltip-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}@keyframes ui-tooltip-in{0%{opacity:0;transform:translate(var(--ui-tooltip-enter-x, 0),var(--ui-tooltip-enter-y, 0))}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.ui-tooltip{animation:none}}.ui-segmented{display:inline-flex;align-items:stretch;gap:2px;padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-soft)}.ui-segmented.is-block{display:flex;width:100%}.ui-segmented.is-block .ui-segment{flex:1 1 0}.ui-segmented.is-scroll{max-width:100%;overflow-x:auto}.ui-segment{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}.ui-segment:hover:not(:disabled,.is-active){background:var(--bg-muted);color:var(--text-heading)}.ui-segment:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-segment.is-active{background:var(--bg-surface);color:var(--text-strong);box-shadow:var(--shadow-control-active)}.ui-segment:disabled{opacity:.38;cursor:not-allowed}.ui-segmented.is-sm .ui-segment{min-height:26px;padding:4px 8px;font-size:12px}.ui-segmented.is-lg .ui-segment{min-height:34px;padding:8px 14px}.ui-segmented.is-icon .ui-segment{width:30px;padding-inline:0}.ui-segmented.is-solid .ui-segment.is-active{background:var(--primary);color:var(--text-inverse);box-shadow:none}.ui-segment.is-available.is-active{color:var(--success-text)}.ui-segment.is-reluctant.is-active{color:var(--reluctant-text)}.ui-segment.is-unavailable.is-active{color:var(--danger-deepest)}.ui-segmented.is-touch .ui-segment{min-height:44px}.ui-segmented.is-description{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.ui-segmented.is-description .ui-segment{min-width:0;flex-direction:column;align-items:flex-start;gap:2px;color:var(--text-cool);white-space:normal}.ui-segment__description{overflow:hidden;color:var(--text-secondary);font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.ui-segment.is-active .ui-segment__description{color:inherit;opacity:.85}@media(max-width:720px){.ui-segmented.is-description{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}.ui-option-card{position:relative;display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-default);cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.ui-option-card:hover:not(.is-disabled){border-color:var(--border-control-hover);background:var(--bg-muted)}.ui-option-card.is-selected{border-color:var(--primary-accent);background:var(--primary-tint);box-shadow:var(--shadow-primary-outline)}.ui-option-card.is-disabled{opacity:.56;cursor:not-allowed}.ui-option-card:has(.ui-option-card__input:focus-visible){box-shadow:var(--focus-ring)}.ui-option-card__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ui-option-card__marker{width:16px;height:16px;flex:0 0 auto;margin-top:1px;border:1px solid var(--border-control);border-radius:var(--radius-pill);background:var(--bg-surface)}.ui-option-card.is-selected .ui-option-card__marker{border:5px solid var(--primary-accent)}.ui-option-card__copy{min-width:0;display:grid;gap:3px}.ui-option-card__copy strong{color:var(--text-strong);font-size:13px}.ui-option-card__copy>span{color:var(--text-muted);font-size:12px;line-height:1.45}.ui-card{min-width:0;border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.ui-card--flat{box-shadow:none}.ui-card--bordered{border:1px solid var(--border-default)}.ui-card--pad-sm{padding:14px}.ui-card--pad-md{padding:20px}.ui-card--pad-lg{padding:24px}.entity-chip-list{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.ui-chip{display:inline-flex;min-width:0;min-height:20px;align-items:center;gap:6px;padding:2px 8px;border:1px solid transparent;border-radius:var(--radius-pill);color:var(--text-on-tint);font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap}.ui-chip--dense{min-height:18px;gap:4px;padding:0 6px;font-size:9.5px;font-weight:700;line-height:1}.ui-chip--prominent{min-height:24px;padding:3px 9px;font-size:12.5px;font-weight:600}.ui-chip--interactive{cursor:pointer}.ui-chip--interactive:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-chip--addable{border:1px dashed var(--border-default);background:var(--bg-muted);color:var(--text-muted)}.ui-chip--wrap{white-space:normal}.ui-chip--wrap .ui-chip__label{overflow:visible;overflow-wrap:anywhere}.ui-chip__dot{width:8px;height:8px;flex:0 0 auto;border-radius:var(--radius-pill)}.ui-chip--dense .ui-chip__dot{width:5px;height:5px}.ui-chip__plus{font-weight:600}.ui-chip__label{min-width:0;overflow:hidden;text-overflow:ellipsis}.ui-chip__remove{display:inline-flex;align-items:center;opacity:.6}.ui-chip__remove svg{width:12px;height:12px}.ui-chip--dense .ui-chip__remove svg{width:10px;height:10px}.ui-empty{min-width:0;color:var(--text-subtle);font-size:13px;line-height:1.5}.ui-empty--block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:32px 16px;text-align:center}.ui-empty--inline{padding:8px 0}.ui-empty--sm{padding-block:6px;font-size:12px}.ui-empty__icon{display:inline-flex;color:var(--text-subtle)}.ui-empty__copy{max-width:52ch}.msg-box,.error-box,.result-box{padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:12.5px;line-height:1.5}.msg-box--compact{padding:7px 9px;font-size:12px}.msg-box--error,.error-box{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-deepest)}.msg-box--success,.result-box{border-color:var(--success-border);background:var(--success-bg);color:var(--success-deep)}.msg-box--warn{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.msg-box--info{border-color:var(--primary-tint-border);background:var(--primary-tint);color:var(--primary-link)}.msg-box--muted{border-color:var(--border-default);background:var(--bg-muted);color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(var(--black-rgb),.45)}.modal-overlay--nested{z-index:var(--z-modal-nested)}.modal-overlay--top{z-index:var(--z-modal-top)}.modal{display:flex;flex-direction:column;width:100%;max-width:620px;max-height:90vh;border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-modal)}.modal:focus{outline:none}.modal>form{display:flex;min-height:0;flex-direction:column}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--slate-950: #0a1225;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--charcoal-900: #262626;--stone-page: #f7f7f5;--stone-tinted: #fbfbfa;--stone-50: #faf9f6;--stone-100: #f0efeb;--stone-200: #e8e8e4;--stone-300: #d8d8d2;--stone-350: #d6d3d1;--stone-400: #cfcac4;--stone-450: #a8a29e;--stone-500: #787774;--stone-550: #78716c;--stone-900: #37352f;--white: #ffffff;--black: #000000;--blue-25: #fbfdff;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--amber-900: #78350f;--yellow-50: #fefce8;--yellow-400: #facc15;--yellow-700: #a16207;--red-soft: #fff5f5;--red-25: #fff8f8;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--red-brand: #b42318;--orange-50: #fff7ed;--orange-100: #ffedd5;--orange-200: #fed7aa;--orange-300: #fdba74;--orange-400: #fb923c;--orange-500: #f97316;--orange-700: #c2410c;--orange-800: #9a3412;--terracotta-50: #fbeae5;--terracotta-500: #c8553d;--violet-600: #7c3aed;--emerald-600: #059669;--slate-900-rgb: 15, 23, 42;--slate-400-rgb: 148, 163, 184;--gray-900-rgb: 17, 24, 39;--black-rgb: 0, 0, 0;--white-rgb: 255, 255, 255;--blue-500-rgb: 59, 130, 246;--blue-600-rgb: 37, 99, 235;--blue-700-rgb: 29, 78, 216;--blue-100-rgb: 219, 234, 254;--blue-50-rgb: 239, 246, 255;--slate-200-rgb: 226, 232, 240;--green-800-rgb: 22, 101, 52;--red-300-rgb: 252, 165, 165;--red-400-rgb: 248, 113, 113;--red-500-rgb: 239, 68, 68;--orange-300-rgb: 253, 186, 116;--radius-xs: 4px;--radius-sm: 6px;--radius-inner: 7px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-pill: 999px;--bg-page: var(--stone-page);--bg-surface: var(--white);--bg-muted: var(--slate-50);--bg-soft: var(--slate-100);--bg-disabled: var(--slate-200);--bg-disabled-strong: var(--slate-300);--bg-tinted: var(--stone-tinted);--surface-inverse: var(--slate-900);--surface-inverse-deep: var(--gray-900);--surface-inverse-muted: var(--gray-800);--surface-tooltip: var(--charcoal-900);--surface-warm: var(--stone-50);--surface-warm-muted: var(--stone-100);--text-body: var(--slate-950);--text-strong: var(--slate-900);--text-heading: var(--slate-800);--text-cool: var(--slate-700);--text-default: var(--gray-700);--text-secondary: var(--slate-600);--text-secondary-warm: var(--gray-600);--text-muted: var(--slate-500);--text-subtle: var(--slate-400);--text-placeholder: var(--gray-400);--text-disabled: var(--slate-300);--text-inverse: var(--white);--text-on-tint: var(--gray-800);--text-on-inverse: var(--white);--text-on-inverse-bright: var(--slate-50);--text-on-inverse-soft: var(--slate-200);--text-on-inverse-warm: var(--stone-page);--text-warm-muted: var(--stone-500);--text-warm-secondary: var(--stone-550);--text-warm-subtle: var(--stone-450);--text-warm-strong: var(--stone-900);--border-faint: var(--slate-50);--border-soft: var(--slate-100);--border-default: var(--slate-200);--border-subtle: var(--slate-400);--border-strong: var(--slate-300);--border-focus: var(--slate-900);--border-control: var(--gray-300);--border-control-hover: var(--gray-400);--border-surface: var(--white);--border-warm-soft: var(--stone-100);--border-warm: var(--stone-200);--border-warm-muted: var(--stone-300);--border-warm-strong: var(--stone-350);--border-warm-control: var(--stone-400);--border-warm-accent: var(--stone-500);--border-on-inverse: rgba(var(--white-rgb), .12);--primary: var(--slate-900);--primary-hover: var(--slate-800);--primary-link: var(--blue-700);--primary-link-hover: var(--blue-800);--primary-accent: var(--blue-600);--info-accent: var(--blue-500);--info-accent-soft: var(--blue-400);--info-bg-subtle: var(--blue-25);--primary-tint: var(--blue-50);--primary-tint-strong: var(--blue-100);--primary-tint-border: var(--blue-200);--primary-tint-border-strong: var(--blue-300);--primary-tint-emphasis: var(--blue-200);--accent: var(--terracotta-500);--accent-soft: var(--terracotta-50);--success: var(--green-600);--success-bg: var(--green-50);--success-bg-strong: var(--green-100);--success-border: var(--green-200);--success-border-strong: var(--green-300);--success-text: var(--green-800);--success-deep: var(--green-700);--warning: var(--amber-600);--warning-bg: var(--amber-50);--warning-bg-strong: var(--amber-100);--warning-border: var(--amber-200);--warning-border-strong: var(--amber-300);--warning-accent: var(--amber-500);--warning-text-soft: var(--amber-700);--warning-text: var(--amber-800);--warning-deep: var(--amber-900);--caution: var(--yellow-400);--caution-bg: var(--yellow-50);--caution-text: var(--yellow-700);--reluctant: var(--orange-500);--reluctant-bg: var(--orange-50);--reluctant-bg-strong: var(--orange-100);--reluctant-bg-emphasis: var(--orange-200);--reluctant-border: var(--orange-200);--reluctant-border-strong: var(--orange-300);--reluctant-accent-soft: var(--orange-400);--reluctant-text: var(--orange-800);--reluctant-text-strong: var(--orange-700);--danger: var(--red-600);--danger-bg-subtle: var(--red-25);--danger-bg: var(--red-50);--danger-bg-soft: var(--red-soft);--danger-bg-hover: var(--red-100);--danger-border: var(--red-200);--danger-deep: var(--red-700);--danger-deepest: var(--red-800);--danger-darkest: var(--red-900);--danger-strong: var(--red-brand);--status-neutral: var(--slate-500);--status-neutral-soft: var(--slate-400);--role-owner: var(--violet-600);--role-admin: var(--blue-600);--role-planner: var(--emerald-600);--role-employee: var(--gray-500);--shadow-xs: 0 1px 0 rgba(var(--gray-900-rgb), .02);--shadow-xs-soft: 0 1px 2px rgba(var(--slate-900-rgb), .08);--shadow-control: 0 1px 2px rgba(var(--gray-900-rgb), .12);--shadow-control-active: 0 1px 2px rgba(var(--slate-900-rgb), .12);--shadow-control-strong: 0 1px 2px rgba(var(--slate-900-rgb), .18);--shadow-control-dark: 0 1px 2px rgba(var(--black-rgb), .18);--shadow-sm: 0 1px 3px rgba(var(--black-rgb), .08), 0 1px 2px rgba(var(--black-rgb), .04);--shadow-card: 0 1px 3px rgba(var(--black-rgb), .08);--shadow-section: 0 1px 3px rgba(var(--black-rgb), .06);--shadow-panel: 0 1px 3px rgba(var(--slate-900-rgb), .12);--shadow-hover-soft: 0 2px 8px rgba(var(--slate-900-rgb), .07);--shadow-tooltip: 0 2px 8px rgba(var(--black-rgb), .28);--shadow-portal-header: 0 2px 8px rgba(var(--black-rgb), .25);--shadow-version-card: 0 3px 10px rgba(var(--slate-900-rgb), .08);--shadow-raised: 0 10px 20px rgba(var(--slate-900-rgb), .12);--shadow-raised-selected: 0 0 0 2px rgba(var(--blue-600-rgb), .18), 0 10px 20px rgba(var(--slate-900-rgb), .12);--shadow-card-hover: 0 10px 22px rgba(var(--slate-900-rgb), .07);--shadow-card-selected: 0 0 0 1px rgba(var(--blue-500-rgb), .16), 0 14px 28px rgba(var(--slate-900-rgb), .08);--shadow-drawer: 0 12px 32px rgba(var(--slate-900-rgb), .22);--shadow-popover-mobile: 0 18px 48px rgba(var(--slate-900-rgb), .22);--shadow-popover: 0 16px 42px rgba(var(--slate-900-rgb), .14);--shadow-modal: 0 20px 60px rgba(var(--black-rgb), .25);--shadow-menu: 0 8px 24px rgba(var(--slate-900-rgb), .12), 0 2px 4px rgba(var(--slate-900-rgb), .06);--shadow-primary-outline: 0 0 0 1px rgba(var(--blue-600-rgb), .12);--shadow-blue-outline: 0 0 0 1px rgba(var(--blue-700-rgb), .12);--shadow-swatch-outline: 0 0 0 1px rgba(var(--slate-900-rgb), .12);--shadow-selection-inset: inset 1px 0 0 rgba(var(--blue-600-rgb), .12), inset -1px 0 0 rgba(var(--blue-600-rgb), .12);--shadow-tab-selected: inset 0 -2px 0 rgba(var(--blue-700-rgb), .58);--shadow-inset-strong: inset 0 0 0 1px var(--slate-900);--shadow-swatch-inset: inset 0 0 0 4px var(--white);--shadow-primary-stroke: 0 0 0 1px var(--primary-link);--shadow-danger-stroke: 0 0 0 1px var(--danger);--shadow-surface-stroke: 0 0 0 1px var(--bg-surface);--focus-ring: 0 0 0 3px rgba(var(--slate-900-rgb), .08);--focus-ring-muted: 0 0 0 3px rgba(var(--slate-400-rgb), .18);--focus-ring-compact: 0 0 0 2px var(--slate-900);--z-modal: 1000;--z-modal-nested: 1100;--z-modal-top: 1200;--z-popover: 1500;--z-tooltip: 2000;--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--control-height-xs: 28px;--control-height: 36px;--control-height-sm: 30px;--control-height-lg: 42px;--control-radius: var(--radius-md);--control-font: 13.5px;--control-border: var(--border-control);--control-border-hover: var(--border-control-hover);--control-border-focus: var(--border-focus);--control-placeholder: var(--text-placeholder);--gap-xs: 4px;--gap-sm: 6px;--gap-md: 10px;--gap-lg: 16px}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1,"ss01" 1}.app-shell{min-height:100vh;display:grid;grid-template-columns:212px minmax(0,1fr);background:var(--bg-page)}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:14px 10px;background:var(--bg-surface);border-right:1px solid var(--border-warm);z-index:90}.sidebar-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;flex-shrink:0;border:1px solid var(--border-warm);border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-subtle);transition:background .1s,color .1s}.sidebar-toggle-btn:hover{background:var(--surface-warm-muted);color:var(--text-body)}.app-shell--sidebar-collapsed{grid-template-columns:48px minmax(0,1fr)}.app-sidebar--collapsed{padding:14px 6px;overflow:hidden;gap:8px}.app-sidebar--collapsed .app-brand-mark,.app-sidebar--collapsed .app-brand-copy,.app-sidebar--collapsed .org-switcher,.app-sidebar--collapsed .app-nav-label,.app-sidebar--collapsed .app-nav-item>span,.app-sidebar--collapsed .app-sidebar-footer{display:none}.app-sidebar--collapsed .app-brand{justify-content:center;padding-bottom:10px}.app-sidebar--collapsed .sidebar-toggle-btn{margin-left:0}.app-sidebar--collapsed .app-nav-item{justify-content:center;padding:7px 0;gap:0}.app-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid var(--border-warm-soft)}.app-brand-mark{position:relative;width:30px;height:30px;border-radius:var(--radius-md);background:var(--text-body);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-control);flex-shrink:0}.app-brand-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:999px;background:var(--accent);border:2px solid var(--bg-surface)}.app-brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}.app-brand-copy strong{font-size:14.5px;font-weight:700;letter-spacing:-.2px;color:var(--text-body)}.app-brand-copy span{font-size:10.5px;color:var(--text-subtle);font-weight:500;letter-spacing:.3px}.org-switcher{position:relative}.org-switcher-trigger,.account-card,.sidebar-logout{width:100%;border:none;background:transparent;font:inherit;text-align:left;cursor:pointer}.org-switcher-trigger{min-height:44px;display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--border-warm);border-radius:9px;color:var(--text-body);background:var(--bg-surface);transition:border-color .12s,background .12s}.org-switcher-trigger:hover,.org-switcher-trigger[aria-expanded=true]{border-color:#d6d6d0;background:var(--bg-tinted)}.org-avatar,.user-avatar{width:26px;height:26px;border-radius:7px;background:var(--primary);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;letter-spacing:.2px;flex-shrink:0}.org-avatar-sm{width:22px;height:22px;border-radius:6px;font-size:9.5px}.org-copy,.user-copy{display:flex;flex-direction:column;min-width:0;flex:1}.org-copy strong,.user-copy strong{color:var(--text-body);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-copy span,.user-copy span{color:var(--text-subtle);font-size:10.5px}.org-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;padding:5px;background:var(--bg-surface);border:1px solid var(--border-warm-muted);border-radius:10px;box-shadow:var(--shadow-popover)}.org-menu-item{width:100%;min-height:34px;display:flex;align-items:center;gap:8px;border:none;border-radius:7px;background:transparent;color:var(--text-default);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;text-align:left;padding:6px 8px}.org-menu-item:hover,.org-menu-item.active{background:var(--surface-warm-muted);color:var(--text-body)}.app-nav{display:flex;flex-direction:column;gap:12px}.app-nav-section{display:flex;flex-direction:column;gap:1px}.app-nav-label{padding:0 10px 6px;color:var(--text-subtle);font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.app-nav-item{min-height:34px;width:100%;display:flex;align-items:center;gap:10px;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text-secondary-warm);text-align:left;font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .1s,color .1s}.app-nav-item svg{color:var(--text-subtle);flex-shrink:0}.app-nav-item:hover{background:var(--surface-warm-muted);color:var(--text-body)}.app-nav-item:hover svg{color:var(--text-secondary-warm)}.app-nav-item.active{background:var(--text-body);color:var(--text-inverse)}.app-nav-item.active svg{color:var(--text-inverse)}.app-sidebar-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-warm-soft);display:flex;flex-direction:column;gap:5px}.account-card{display:flex;align-items:center;gap:9px;min-height:44px;padding:7px 8px;border-radius:8px;color:var(--text-secondary-warm);transition:background .1s,color .1s}.account-card:hover,.sidebar-logout:hover{background:var(--surface-warm-muted);color:var(--text-body)}.sidebar-logout{display:flex;align-items:center;gap:9px;min-height:32px;padding:7px 9px;border-radius:8px;color:var(--text-secondary-warm);font-size:12.5px;font-weight:600;transition:background .1s,color .1s}.app-main{width:100%;max-width:1280px;margin:0 auto;padding:24px 20px 32px;min-width:0}.app-main--calendar{max-width:none}@media(max-width:920px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border-warm)}.app-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.app-main{padding:18px 14px 24px}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h2{font-size:20px;font-weight:700;color:var(--text-strong)}.card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.card h3{font-size:15px;font-weight:600;margin-bottom:1.2rem;color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 16px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;font-size:13.5px;font-weight:600;font-family:inherit;white-space:nowrap;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.btn:disabled,.btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn>svg{width:15px;height:15px;flex-shrink:0}.btn-primary{background:var(--primary);color:var(--text-inverse);border-color:transparent}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-surface);color:var(--primary);border-color:var(--control-border)}.btn-secondary:hover{background:var(--bg-muted);border-color:var(--text-subtle)}.btn-secondary.is-active{background:var(--primary);color:var(--text-inverse);border-color:transparent}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--border-soft);color:var(--primary)}.btn-ghost.is-active{background:var(--primary);color:var(--text-inverse)}.btn-ghost.is-danger{color:var(--text-secondary)}.btn-ghost.is-danger:hover{background:var(--danger-bg-hover);color:var(--danger)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover{background:var(--danger-bg-hover)}.btn-week{height:var(--control-height-sm);padding:0 12px;background:var(--bg-surface);border-color:var(--border-default);color:var(--text-secondary);font-size:12.5px;font-weight:500}.btn-week:hover{background:var(--bg-muted);border-color:var(--border-strong);color:var(--primary)}.btn-week.active,.btn-week.is-active{background:var(--primary);color:var(--text-inverse);border-color:transparent}.btn.is-icon{width:34px;padding:0}.btn.is-xs{height:26px;padding:0 10px;font-size:12px}.btn.is-xs.is-icon{width:26px;padding:0;border-radius:var(--radius-sm);background:var(--border-soft)}.btn.is-xs.is-icon:hover{background:var(--border-default)}.btn.is-sm{height:28px;padding:0 12px;font-size:12.5px}.btn.is-sm.is-icon{width:28px;padding:0}.btn.is-lg{height:40px;padding:0 18px;font-size:13.5px}.btn.is-lg.is-icon{width:40px;padding:0}.btn-week.is-icon{width:var(--control-height-sm);padding:0}.btn.is-compact{padding-inline:12px}.btn.is-block{width:100%}.btn.is-touch{min-height:44px}.btn.is-inverse{min-height:36px;padding-inline:10px;border-color:rgba(var(--white-rgb),.18);border-radius:7px;color:var(--text-on-inverse-soft)}.btn.is-inverse:hover{background:rgba(var(--white-rgb),.08);color:var(--text-inverse)}.btn.is-disclosure{width:100%;height:auto;justify-content:space-between;padding:12px 16px;border:none;border-radius:0;background:var(--warning-bg);color:var(--warning-deep);font-size:13.5px}.btn.is-disclosure:hover{background:var(--warning-bg-strong)}.btn.is-loading{position:relative;color:transparent!important;pointer-events:none}.btn.is-loading:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite;color:inherit}.btn-primary.is-loading:after{border-color:rgba(var(--white-rgb),.6);border-right-color:transparent}@keyframes btn-spin{to{transform:rotate(360deg)}}.calendar-surface{padding:0;overflow:hidden}.calendar-workspace{display:flex;align-items:flex-start;gap:12px}.calendar-workspace>.calendar-surface{min-width:0;flex:1;margin-bottom:0}@media(max-width:1240px){.calendar-workspace{flex-direction:column;align-items:stretch}.calendar-workspace>.calendar-surface{width:100%}}.calendar-screenshot-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md);margin:0 0 10px;padding:8px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-default);font-size:12.5px;font-weight:600}.calendar-screenshot-banner>span{display:inline-flex;align-items:center;gap:6px}.calendar-view-note{padding:10px 12px;border-bottom:1px solid var(--border-soft);background:var(--bg-muted);color:var(--text-muted);font-size:12.5px}.calendar-gantt{--calendar-gantt-axis-width: 64px;background:var(--bg-surface);color:var(--text-heading);overflow-x:auto}.calendar-gantt-header,.calendar-gantt-body{display:grid;grid-template-columns:var(--calendar-gantt-axis-width) minmax(0,1fr);min-width:calc(var(--calendar-gantt-axis-width) + (var(--calendar-gantt-min-column-width) * var(--calendar-gantt-column-count, 1)))}.calendar-gantt-axis-corner{position:sticky;left:0;z-index:6;background:var(--bg-muted);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.calendar-gantt-axis-wrap{position:sticky;left:0;z-index:5;background:var(--bg-surface);border-right:1px solid var(--border-default)}.calendar-gantt-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(var(--calendar-gantt-min-column-width),1fr);transition:grid-template-columns .3s cubic-bezier(.2,.8,.2,1)}.calendar-gantt-column-header{min-height:42px;border:0;border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--bg-muted);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.calendar-gantt-column-header:disabled{cursor:default}.calendar-gantt-column-header.is-today{background:var(--primary-tint);color:var(--primary-link)}.calendar-gantt-column-header.is-focused{background:#eef6ff;color:var(--primary-link);box-shadow:inset 0 -2px 0 var(--primary)}.calendar-gantt-column{position:relative;min-width:var(--calendar-gantt-min-column-width);border-right:1px solid var(--border-soft);background:var(--bg-surface);cursor:crosshair;transition:background .18s ease,box-shadow .18s ease,border-color .18s ease}.calendar-gantt-column.is-today{background:linear-gradient(90deg,rgba(var(--blue-50-rgb),.75),rgba(var(--white-rgb),.86))}.calendar-gantt-column.is-focused{border-right-color:rgba(var(--blue-600-rgb),.28);background:linear-gradient(90deg,rgba(var(--blue-50-rgb),.62),rgba(var(--white-rgb),.96));box-shadow:var(--shadow-selection-inset)}.calendar-gantt-column.is-today.is-focused{background:linear-gradient(90deg,rgba(var(--blue-100-rgb),.82),rgba(var(--blue-50-rgb),.98))}.calendar-gantt--week .calendar-gantt-axis-corner,.calendar-gantt--week .calendar-gantt-axis-wrap{border-right-width:2px;border-right-color:var(--border-default)}.calendar-gantt--week .calendar-gantt-column-header{border-right-width:2px;border-right-color:var(--border-default);border-bottom-color:var(--border-default)}.calendar-gantt--week .calendar-gantt-column{border-right-width:2px;border-right-color:var(--border-default)}.calendar-gantt--week .calendar-gantt-hour-line{height:1px;border-top:1px solid var(--border-default);background:rgba(var(--slate-200-rgb),.42)}.calendar-gantt-hour-line{position:absolute;left:0;right:0;height:1px;border-top:1px dashed var(--border-soft);pointer-events:none}.calendar-gantt-now-marker{position:absolute;left:0;right:0;height:2px;background:var(--primary-link);box-shadow:var(--shadow-blue-outline);pointer-events:none;z-index:4}.calendar-time-axis{position:relative;height:100%}.calendar-time-axis-tick{position:absolute;right:9px;transform:translateY(-50%);color:var(--text-muted);font-size:11px;font-weight:700;line-height:1}.calendar-gantt-footer{padding:7px 10px 8px var(--calendar-gantt-axis-width);border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:11.5px;background:var(--bg-muted)}.calendar-shift-block{position:absolute;z-index:2;min-height:30px;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap-sm);padding:2px 1px 2px 3px;border:1px solid var(--border-default);border-left-width:2px;border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-heading);text-align:left;font:inherit;cursor:pointer;overflow:hidden;box-shadow:var(--shadow-hover-soft);transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease,opacity .15s ease}.calendar-shift-block:hover,.calendar-shift-block:focus-visible{transform:translateY(-1px);box-shadow:var(--shadow-raised);outline:none}.calendar-shift-block.is-selected{box-shadow:var(--shadow-raised-selected)}.calendar-shift-block.is-dim{opacity:.25}.calendar-shift-block.is-focus{box-shadow:0 0 0 2px var(--primary-link),var(--shadow-popover);z-index:3}.calendar-shift-block.is-focus-bad{box-shadow:0 0 0 2px var(--danger),var(--shadow-popover);z-index:3}.calendar-shift-block--staffed{border-color:var(--success-border);border-left-color:var(--success);background:var(--success-bg)}.calendar-shift-block--partial{border-color:var(--warning-border);border-left-color:var(--warning-accent);background:var(--warning-bg)}.calendar-shift-block--under{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--danger-bg)}@media(prefers-reduced-motion:reduce){.calendar-gantt-columns,.calendar-gantt-column{transition:none}}.calendar-shift-block-main{min-width:0;display:grid;gap:3px;flex:1 1 auto}.calendar-shift-block-main strong{color:var(--text-strong);font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.calendar-shift-block-main em{color:var(--text-secondary);font-size:11px;font-style:normal;font-weight:600}.calendar-shift-block-main em.is-ok{color:var(--success-text)}.calendar-shift-block-main em.is-under{color:var(--danger-deep)}.calendar-shift-block-names{display:flex;flex-direction:column;gap:1px;margin-top:1px;min-width:0;overflow:hidden}.calendar-shift-block-name{color:var(--text-heading);font-size:10.5px;font-weight:400;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-shift-block-name.is-clickable{cursor:pointer;border-radius:4px}.calendar-shift-block-name.is-clickable:hover,.calendar-shift-block-name.is-clickable:focus-visible{color:var(--primary);text-decoration:underline;outline:none}.calendar-shift-block.is-compact{padding:1px 3px}.calendar-shift-block.has-meta:not(.is-compact){padding-bottom:28px}.calendar-shift-block.is-compact .calendar-shift-block-main strong{font-size:11.5px;white-space:nowrap;text-overflow:ellipsis}.calendar-shift-block-meta{position:absolute;left:4px;right:1px;bottom:5px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;max-height:40px;overflow:hidden}.calendar-shift-block-tags{min-width:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.calendar-shift-block-tag-more{color:var(--text-muted);font-size:9.5px;font-weight:800;line-height:1}.calendar-shift-block.is-compact .calendar-shift-block-meta{left:3px;right:1px;bottom:4px;max-height:18px}.calendar-shift-block.is-selectable.has-meta .calendar-shift-block-meta{left:4px;bottom:26px}.calendar-shift-block.is-compact.is-selectable.has-meta .calendar-shift-block-meta{left:3px;bottom:22px}.calendar-shift-block-select{position:absolute;left:4px;bottom:4px;z-index:4;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(var(--slate-400-rgb),.82);border-radius:5px;background:rgba(var(--white-rgb),.86);color:var(--text-inverse);box-shadow:var(--shadow-panel);transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.calendar-shift-block-select:hover{transform:scale(1.04);border-color:var(--primary-accent)}.calendar-shift-block.is-selected .calendar-shift-block-select{border-color:var(--primary-accent);background:var(--primary-accent);color:var(--text-inverse)}.calendar-shift-block.is-compact .calendar-shift-block-select{left:3px;bottom:3px;width:14px;height:14px;border-radius:4px}.calendar-shift-block-warning{position:absolute;top:3px;right:3px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--warning-bg-strong);color:var(--warning-text)}.calendar-day-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:12px;border-bottom:1px solid var(--border-soft);background:var(--bg-muted)}.calendar-day-kpi{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-soft)}.calendar-day-kpi-label{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.calendar-day-kpi-value{color:var(--text-strong);font-size:20px;font-weight:700;line-height:1.15}.calendar-day-kpi-hint{color:var(--text-muted);font-size:11.5px}.calendar-day-kpi.is-staffed{border-color:var(--success-border-strong);background:var(--success-bg)}.calendar-day-kpi.is-staffed .calendar-day-kpi-value{color:var(--success-text)}.calendar-day-kpi.is-partial{border-color:var(--warning-border-strong);background:var(--warning-bg)}.calendar-day-kpi.is-partial .calendar-day-kpi-value{color:var(--warning-text)}.calendar-day-kpi.is-under{border-color:var(--danger-border);background:var(--danger-bg)}.calendar-day-kpi.is-under .calendar-day-kpi-value{color:var(--danger-deepest)}.calendar-day-absences,.calendar-day-violations{border-bottom:1px solid var(--border-soft);background:var(--bg-surface)}.calendar-day-section-toggle{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:0;background:transparent;color:var(--text-strong);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.calendar-day-section-toggle>span{display:inline-flex;align-items:center;gap:6px}.calendar-day-section-body{display:grid;gap:4px;padding:0 12px 12px}.calendar-day-status-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--bg-muted);font-size:12.5px;color:var(--text-heading);border-left:3px solid transparent}.calendar-day-status-row strong{color:var(--text-strong);font-weight:700}.calendar-day-status-row.is-unavailable{border-left-color:#ef4444}.calendar-day-status-row.is-reluctant{border-left-color:var(--warning-accent)}.calendar-day-status-tag{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;background:rgba(var(--black-rgb),.05);color:var(--text-secondary)}.calendar-day-status-row.is-unavailable .calendar-day-status-tag{background:var(--danger-bg-hover);color:var(--danger-deepest)}.calendar-day-status-row.is-reluctant .calendar-day-status-tag{background:var(--reluctant-bg-emphasis);color:var(--reluctant-text)}.calendar-day-violation-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--bg-muted);font-size:12.5px;color:var(--text-heading);border-left:3px solid transparent}.calendar-day-violation-row strong{color:var(--text-strong);font-weight:700}.calendar-day-violation-row.is-critical{background:var(--danger-bg-soft);color:var(--danger-deepest);border-left-color:var(--danger)}.calendar-day-violation-row.is-critical strong{color:var(--danger-deepest)}.calendar-day-violation-row.is-warning{background:var(--warning-bg);color:var(--warning-text);border-left-color:var(--warning-accent)}.calendar-day-violation-row.is-warning strong{color:var(--warning-text)}.calendar-day-violation-row.is-info{background:var(--primary-tint);color:var(--primary-link);border-left-color:var(--info-accent)}.calendar-day-violation-label{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;background:rgba(var(--black-rgb),.06);color:var(--text-default)}.calendar-day-violation-meta{color:var(--text-secondary);font-size:12px}.calendar-plan-banner{margin:0;padding:10px 12px;border-bottom:1px solid var(--border-default);background:var(--primary-tint);display:flex;justify-content:space-between;align-items:center;gap:var(--gap-md);cursor:pointer}.calendar-plan-banner strong{display:block;color:var(--primary-link);font-size:12.5px}.calendar-plan-banner span{display:block;color:var(--text-muted);font-size:11.5px;margin-top:1px}.calendar-month{-webkit-user-select:none;user-select:none}.calendar-month-head,.calendar-month-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-head{border-bottom:1px solid var(--border-default);background:var(--bg-muted)}.calendar-month-head span{padding:8px 12px;text-align:center;color:var(--text-muted);font-size:11.5px;font-weight:800;text-transform:uppercase}.calendar-month-week{border-bottom:1px solid var(--border-soft)}.calendar-month-week:last-child{border-bottom:0}.calendar-month-day{position:relative;min-height:104px;padding:7px;border:0;border-right:1px solid var(--border-soft);background:var(--bg-surface);text-align:left;cursor:pointer;transition:background .1s ease,opacity .1s ease}.calendar-month-day.is-week-last-day{border-right:0}.calendar-month-day.is-outside{background:#fafafa}.calendar-month-day.is-selected,.calendar-month-day.is-in-range{background:var(--primary-tint)}.calendar-month-day.is-today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-month-day.is-inspector-dim{opacity:.35}.calendar-month-day.is-inspector-focus{box-shadow:inset 0 0 0 2px var(--primary-link);opacity:1}.calendar-month-day.is-inspector-focus-bad{box-shadow:inset 0 0 0 2px var(--danger);opacity:1}.calendar-month-timechip{position:absolute;left:6px;bottom:6px;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--primary-link);color:var(--text-inverse);border-radius:5px;padding:2px 6px}.calendar-month-timechip.is-bad{background:var(--danger)}.calendar-month-day-top{display:flex;justify-content:space-between;gap:var(--gap-sm);align-items:flex-start;margin-bottom:7px}.calendar-month-day-number{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);color:var(--text-default);font-size:12.5px;font-weight:700}.calendar-month-day.is-outside .calendar-month-day-number{color:var(--text-subtle)}.calendar-month-day.is-today .calendar-month-day-number{background:var(--primary);color:var(--text-inverse)}.calendar-month-aggregates{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:22px}.calendar-month-pill{display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:2px 7px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-muted);color:var(--text-secondary);font-size:10.5px;font-weight:800;line-height:1}.calendar-month-pill--staffed{border-color:var(--success-border);background:var(--success-bg-strong);color:var(--success-text)}.calendar-month-pill--partial,.calendar-month-pill--under,.calendar-month-pill--warning{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-deep)}.calendar-month-pill--availability{border-color:var(--primary-tint-border);background:var(--primary-tint);color:var(--primary-link)}.calendar-month-warning{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:var(--warning-text);font-size:10.5px;font-weight:800}.shift-edit-tab{position:relative;min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid transparent;border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}.shift-edit-tab.is-active{background:var(--bg-surface);border-color:var(--border-soft);color:var(--text-strong)}.shift-edit-tab-panel{display:grid;gap:14px}.shift-edit-core-meta{color:var(--text-muted);font-size:12px}.shift-edit-pill-list{display:flex;flex-wrap:wrap;gap:6px}.shift-edit-roles-table{display:grid;gap:5px;overflow-x:auto}.shift-edit-roles-head,.shift-edit-roles-row{display:grid;grid-template-columns:minmax(150px,1fr) 72px 72px 105px 90px 34px;align-items:center;gap:8px;min-width:650px}.shift-edit-roles-head{color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.shift-edit-roles-row{padding:7px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface)}.shift-edit-roles-row input{width:100%;height:32px;padding:0 8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font:inherit;font-size:12px}.shift-edit-role-add{width:240px;display:flex;align-items:center;gap:8px;color:var(--text-muted)}.table{width:100%;border-collapse:collapse;background:var(--bg-surface);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-card)}.table th{background:var(--bg-muted);text-align:left;padding:10px 14px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.table td{padding:11px 14px;border-bottom:1px solid var(--border-soft);color:var(--text-default)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-muted)}.table td.empty{text-align:center;color:var(--text-subtle);font-style:italic;padding:2.5rem}.clickable-row{cursor:pointer}.clickable-row:hover td{background:var(--primary-tint)!important}.clickable-row:hover td strong{color:var(--primary-link)}.row-selected td{background:var(--primary-tint-strong)!important}.row-selected td strong{color:var(--primary-link)}.rules-page{display:flex;flex-direction:column;gap:14px}.rules-page-header{align-items:flex-start;gap:16px;margin-bottom:0}.rules-page-subtitle{margin-top:4px;color:var(--text-muted);font-size:13px}.rules-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.rules-search{flex:1 1 260px;min-width:220px;height:36px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border-warm-muted);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-subtle)}.rules-search input{width:100%;border:none;outline:none;background:transparent;color:var(--text-body);font:inherit;font-size:13.5px}.rules-search input::placeholder{color:var(--text-placeholder)}.rules-toolbar-select{width:210px}.rules-toolbar-select--small{width:150px}.rules-confirm-modal{max-width:420px}.rules-confirm-copy{color:var(--text-default);font-size:13.5px;line-height:1.55}.rules-edit-modal{max-width:680px}.rules-edit-body{display:flex;flex-direction:column;gap:2px}.rules-toggle{min-height:38px;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;width:fit-content;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-default);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.rules-toggle.is-on{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.rules-toggle-indicator{width:9px;height:9px;border-radius:999px;background:var(--text-subtle)}.rules-toggle.is-on .rules-toggle-indicator{background:var(--success)}@media(max-width:760px){.rules-page-header{align-items:stretch;flex-direction:column}.rules-toolbar{align-items:stretch}.rules-toolbar-select,.rules-toolbar-select--small{width:100%}}.emp-panel-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group>label,.form-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.form-group .tp{width:100%}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-input,.form-select{width:100%;height:var(--control-height);padding:0 12px;border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:var(--control-font);font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;background:var(--bg-surface);color:var(--text-body)}.form-group input::placeholder,.form-input::placeholder{color:var(--control-placeholder)}.form-group input:not([type=checkbox]):not([type=radio]):hover,.form-group select:hover,.form-input:hover,.form-select:hover{border-color:var(--control-border-hover)}.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-group select:focus,.form-input:focus,.form-select:focus{border-color:var(--control-border-focus);box-shadow:var(--focus-ring)}.form-group textarea,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:var(--control-font);font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;background:var(--bg-surface);color:var(--text-body);resize:vertical}.form-group textarea:focus,.form-textarea:focus{border-color:var(--control-border-focus);box-shadow:var(--focus-ring)}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:13px;min-height:32px;padding:0 12px 0 10px;border:1px solid var(--border-control);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);transition:border-color .12s,color .12s,background .12s;-webkit-user-select:none;user-select:none}.checkbox-label:hover{border-color:var(--border-control-hover);color:var(--text-body)}.checkbox-label:has(input:checked){border-color:var(--text-body);color:var(--text-body);font-weight:600}.checkbox-label input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 16px;width:16px;height:16px;min-width:16px;padding:0;margin:0;border:1.5px solid var(--border-control);border-radius:4px;background:var(--bg-surface);cursor:pointer;position:relative;transition:background .12s,border-color .12s,box-shadow .12s}.checkbox-label input:checked{background:var(--text-body);border-color:var(--text-body)}.checkbox-label input:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--border-surface);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.avail-controls{display:flex;align-items:flex-end;gap:12px;margin-bottom:1.5rem;flex-wrap:wrap}.avail-controls .form-group{margin-bottom:0;flex:1;max-width:280px}.availability-editor{display:flex;flex-direction:column;gap:.75rem}.availability-editor-embedded{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-default)}.availability-editor-head h4{font-size:15px;font-weight:700;color:var(--text-strong);margin:0}.availability-week-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.availability-week-label{font-size:13px;font-weight:500;color:var(--text-default);margin-left:6px}.availability-presets{display:inline-flex;flex-direction:column;gap:6px;position:relative;align-self:flex-start;width:max-content;max-width:100%}.availability-presets .preset-dropdown-trigger{width:220px}.availability-presets-label{font-size:12px;color:var(--text-warm-muted);font-weight:600;letter-spacing:.02em}.preset-dropdown{position:relative;flex:1 1 250px;max-width:320px}.preset-dropdown-trigger{width:100%;height:36px;padding:0 12px;border:1px solid var(--border-warm-strong);border-radius:12px;background:var(--bg-surface);color:var(--text-warm-strong);display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.preset-dropdown-trigger:hover:not(:disabled),.preset-dropdown.open .preset-dropdown-trigger{background:var(--bg-page);border-color:var(--border-warm-control)}.preset-dropdown-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring-muted)}.preset-dropdown-trigger:disabled{opacity:.45;cursor:not-allowed}.preset-dropdown-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.preset-dropdown-chevron{width:8px;height:8px;flex-shrink:0;border-right:1.5px solid var(--border-warm-accent);border-bottom:1.5px solid var(--border-warm-accent);transform:rotate(45deg) translateY(-1px);transition:transform .15s ease}.preset-dropdown.open .preset-dropdown-chevron{transform:rotate(225deg) translateY(-1px)}@media(max-width:640px){.preset-dropdown{max-width:none;flex-basis:100%}}.shift-time{font-weight:600;font-size:12.5px;color:var(--text-body);white-space:nowrap;font-variant-numeric:tabular-nums}.shift-location{font-size:10.5px;color:var(--text-placeholder);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-bar{display:flex;align-items:center;gap:1rem;justify-content:flex-end}.availability-status-bar{justify-content:flex-start}.availability-time-grid{display:grid;grid-template-columns:54px repeat(7,minmax(132px,1fr));gap:8px;overflow-x:auto;padding-bottom:8px}.availability-time-axis{position:relative;margin-top:40px;color:var(--text-subtle);font-size:10.5px;font-variant-numeric:tabular-nums}@media(max-width:900px){.availability-time-grid{grid-template-columns:46px repeat(7,minmax(120px,1fr))}}.msg-success{color:var(--success);font-size:13.5px;font-weight:500}.msg-error{color:var(--danger);font-size:13.5px}.msg-muted{color:var(--text-muted);font-size:13px}.export-panel{background:var(--bg-muted);border:1px solid var(--border-default);border-radius:8px;padding:14px 18px;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:12px;max-width:520px}.export-panel-row{display:flex;align-items:center;gap:14px}.export-label{font-size:12px;font-weight:600;color:var(--text-secondary);width:58px;flex-shrink:0}.export-format-btns{display:flex;gap:6px}.export-checkboxes{display:flex;gap:16px;flex-wrap:wrap}.export-check-label{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-cool);cursor:pointer}.export-check-label input{cursor:pointer}.schedule-days{display:flex;flex-direction:column;gap:14px}.schedule-day{background:var(--bg-surface);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-card)}.schedule-day-header{background:var(--primary);color:var(--text-inverse);padding:10px 16px;font-weight:600;font-size:14px}.schedule-entry{display:flex;align-items:center;gap:0;padding:10px 16px;border-bottom:1px solid var(--border-soft)}.schedule-entry:last-child{border-bottom:none}.schedule-entry:hover{background:var(--bg-muted)}.entry-time{font-weight:600;color:var(--text-strong);min-width:110px;font-size:13.5px}.entry-location{color:var(--text-muted);min-width:160px;font-size:13px}.entry-employees{font-weight:500;color:var(--text-heading);flex:1}.schedule-entry.understaffed{background:var(--danger-bg-subtle)}.schedule-entry.understaffed:hover{background:var(--danger-bg)}.violation-name{display:inline-flex;align-items:center;gap:3px;background:var(--warning-bg);border-radius:4px;padding:0 4px;color:var(--warning-text);font-weight:600}.violation-dot{font-size:11px;color:var(--warning);cursor:help}.violation-summary{margin-top:1.5rem;background:var(--bg-surface);border-radius:10px;box-shadow:var(--shadow-card);overflow:hidden;border:1.5px solid var(--warning-border)}.violation-summary-title{display:flex;align-items:center;gap:8px}.violation-count-badge{background:var(--warning-accent);color:var(--text-inverse);border-radius:10px;padding:1px 8px;font-size:11.5px;font-weight:700}.violation-summary-body{padding:12px 16px;display:flex;flex-direction:column;gap:14px}.violation-emp-name{font-weight:700;font-size:13px;color:var(--text-strong);margin-bottom:5px}.violation-list{list-style:none;display:flex;flex-direction:column;gap:4px}.violation-item{display:flex;align-items:baseline;gap:8px;font-size:13px;padding:4px 8px;border-radius:6px;background:var(--warning-bg)}.violation-type-label{font-size:11.5px;font-weight:600;color:var(--warning-text);background:var(--warning-border);border-radius:4px;padding:1px 6px;white-space:nowrap;flex-shrink:0}.violation-desc{color:var(--text-default);flex:1}.violation-meta{color:var(--text-subtle);font-size:12px;white-space:nowrap;flex-shrink:0}.violation-weight{color:var(--warning);font-size:11.5px;font-weight:600;white-space:nowrap;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;border:1px solid transparent;white-space:nowrap}.badge-blue{background:var(--primary-tint);color:var(--primary-link);border-color:var(--primary-tint-border)}.badge-green{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge-red{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.badge-amber{background:var(--warning-bg);color:var(--warning-text-soft);border-color:var(--warning-border)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary);border-color:var(--border-default)}.badge-orange{background:var(--reluctant-bg);color:var(--reluctant-text);border-color:var(--reluctant-border)}.badge.is-sm{height:18px;padding-inline:6px;font-size:11px}.badge.is-pill{border-radius:var(--radius-pill)}.badge.is-solid{color:var(--text-inverse)}.badge-blue.is-solid{background:var(--primary-link);border-color:var(--primary-link)}.badge-green.is-solid{background:var(--success);border-color:var(--success)}.badge-red.is-solid{background:var(--danger);border-color:var(--danger)}.badge-amber.is-solid{background:var(--warning);border-color:var(--warning)}.badge-gray.is-solid{background:var(--text-secondary);border-color:var(--text-secondary)}.badge-orange.is-solid{background:var(--reluctant);border-color:var(--reluctant)}.ls-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.ls-sidebar{background:var(--bg-surface);border-radius:10px;box-shadow:var(--shadow-card);overflow:hidden}.ls-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-soft)}.ls-sidebar-title{font-weight:700;font-size:13.5px;color:var(--text-strong)}.ls-new-form{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid var(--border-soft);background:var(--bg-muted)}.ls-location-list{display:flex;flex-direction:column}.ls-location-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-soft);transition:background .1s;gap:8px}.ls-location-item:last-child{border-bottom:none}.ls-location-item:hover{background:var(--bg-muted)}.ls-location-item.active{background:var(--primary-tint)}.ls-location-item.active .ls-location-name{color:var(--primary-link)}.ls-location-item.is-reordering{opacity:.72}.ls-location-info{display:flex;flex-direction:column;min-width:0;flex:1}.ls-location-name{font-weight:600;font-size:13.5px;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ls-location-color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;flex-shrink:0;box-shadow:var(--shadow-swatch-outline)}.ls-location-addr{font-size:11.5px;color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ls-location-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.ls-location-item:hover .ls-location-actions,.ls-location-item.active .ls-location-actions{opacity:1}.ls-location-edit{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-soft);background:var(--warning-bg)}.btn.is-xs.is-icon svg,.emp-detail-close svg{width:15px;height:15px}.ls-main{min-width:0}.ls-empty{background:var(--bg-surface);border-radius:10px;padding:3rem;text-align:center;color:var(--text-subtle);box-shadow:var(--shadow-card)}.ls-template-form{display:grid;gap:16px}.ls-template-weekdays,.ls-template-field,.ls-template-priority,.ls-template-tags,.ls-template-roles{min-width:0;margin-bottom:0}.ls-weekday-toggle-group{gap:8px;margin-top:8px}.ls-weekday-toggle-group .checkbox-label{min-height:32px;background:var(--bg-tinted)}.ls-template-core-grid{display:grid;grid-template-columns:minmax(132px,1fr) minmax(132px,1fr) minmax(104px,.7fr) minmax(150px,.85fr);gap:12px;align-items:start}.ls-template-field .tp{width:100%}.ls-template-field .tp-input{height:36px;padding:0 12px;border-width:1px;border-radius:var(--radius-md);font-size:13.5px}.ls-template-field .ls-label-with-tooltip{display:inline-flex;align-items:center;gap:4px}.ls-template-duration{width:100%}.ls-net-hours-hint{display:block;margin-top:5px;line-height:1.2;white-space:nowrap}.ls-template-options-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(210px,1fr) minmax(180px,1fr);gap:14px 18px;align-items:start}.ls-priority-row{min-height:32px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ls-priority-hint{color:var(--text-subtle);font-size:12px;line-height:1.3}.ls-template-tag-list,.ls-template-tags-active,.ls-template-tags-available{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.ls-template-tag-list{min-height:32px}.ls-template-tags-active{padding-right:2px}.ls-template-form-actions{display:flex;justify-content:flex-end;padding-top:2px}.shifts-by-day{display:flex;flex-direction:column;gap:16px}@media(max-width:1040px){.ls-layout{grid-template-columns:1fr}.ls-template-core-grid,.ls-template-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ls-template-core-grid,.ls-template-options-grid{grid-template-columns:1fr}.ls-template-form-actions .btn{width:100%}}.shifts-day-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;padding-left:2px}.calendar-shift-block-roles{min-width:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;overflow:hidden}.calendar-shift-block-role-more{min-width:0;display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 5px;border:1px solid rgba(var(--slate-900-rgb),.08);border-radius:var(--radius-pill);background:rgba(var(--white-rgb),.72);color:var(--text-secondary);font-size:9.5px;font-weight:700;line-height:1;white-space:nowrap}.calendar-shift-block-role-pill .ui-chip__label{display:inline-flex;align-items:center;gap:4px}.calendar-shift-block-role-count{flex:0 0 auto;font-weight:800}.calendar-shift-block-role-name{min-width:0}.calendar-shift-block.is-compact .calendar-shift-block-role-pill{padding:0 4px}.shift-select-col{width:38px;min-width:38px;padding-left:10px!important;padding-right:6px!important}.shift-select-checkbox{min-height:24px;width:24px;padding:0;justify-content:center;border:0;border-radius:6px;background:transparent;gap:0}.shift-select-checkbox:hover,.shift-select-checkbox:has(input:checked){border-color:transparent;background:transparent}.cell-edit-target{display:inline-flex;align-items:center;max-width:100%;border:0;border-radius:4px;padding:2px 6px;margin:-2px -6px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .12s,color .12s}.cell-edit-target:hover,.cell-edit-target[aria-expanded=true]{background:var(--bg-soft)}.cell-edit-target:disabled{cursor:wait;opacity:.62}.cell-edit-popover{padding:10px 12px;min-width:180px;gap:8px}.cell-edit-popover .form-input,.cell-edit-popover .tp{width:100%}.cell-edit-popover .tp-pop{position:static;margin-top:4px}.cell-edit-popover .tp-list{max-height:180px}.cell-edit-popover .dp-list{max-height:160px}.cell-edit-popover-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.cell-edit-popover:has(.tag-edit-panel){width:330px;padding:0;gap:0;overflow:hidden}.tag-edit-panel{display:flex;flex-direction:column;width:100%;background:var(--bg-surface)}.tag-edit-selected{min-height:42px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-default);background:var(--info-bg-subtle)}.tag-edit-placeholder{color:var(--text-subtle);font-size:12px;font-style:italic}.tag-edit-label,.role-req-section-label{padding:9px 12px 5px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.2px}.tag-edit-options{display:flex;flex-direction:column;gap:2px;padding:0 6px 8px}.tag-edit-option{width:100%;min-height:30px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;padding:4px 8px;background:transparent;color:var(--text-cool);font:inherit;text-align:left;cursor:pointer}.tag-edit-option:hover,.tag-edit-option.active{background:var(--bg-soft)}.tag-edit-grip{color:var(--text-subtle);flex-shrink:0}.tag-edit-check{margin-left:auto;color:var(--primary-accent);flex-shrink:0}.ui-popover.shift-instance-popover-shell{width:fit-content;min-width:0;max-width:calc(100vw - 24px);padding:0;overflow:hidden;max-height:calc(100vh - 20px)}.shift-instance-popover{width:max-content;min-width:310px;max-width:min(390px,calc(100vw - 24px));max-height:none;display:flex;flex-direction:column;background:var(--bg-surface);color:var(--text-strong)}.shift-instance-popover.is-combined{width:max-content;min-width:390px;max-width:min(560px,calc(100vw - 24px))}.shift-instance-popover.is-combined{max-width:min(680px,calc(100vw - 24px))}.shift-instance-popover.is-combined{min-width:520px;height:calc(100vh - 22px);max-height:calc(100vh - 22px)}.shift-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid var(--border-default);background:var(--bg-surface)}.shift-popover-header>div:first-child{min-width:0}.shift-popover-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.shift-popover-header-actions .btn.is-danger{color:var(--danger)}.shift-popover-header-actions .btn.is-danger:hover{background:var(--danger-bg)}.shift-popover-title{color:var(--text-strong);font-size:16px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.shift-popover-title-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.shift-popover-subtitle{margin-top:3px;color:var(--text-muted);font-size:12px;font-weight:600}.shift-popover-body{min-height:0;overflow:visible;display:grid;gap:12px;padding:12px 14px 14px}.shift-popover-staffing{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:800}.shift-popover-staffing.ok{background:var(--success-bg-strong);color:var(--success-text)}.shift-popover-staffing.under{background:var(--danger-bg-hover);color:var(--danger-deepest)}.shift-popover-properties{display:grid;gap:3px}.shift-popover-property{display:grid;grid-template-columns:84px minmax(160px,1fr);gap:8px;align-items:flex-start;width:100%;padding:7px 6px;border:0;border-bottom:1px solid var(--border-soft);border-radius:7px;background:transparent;color:inherit;font:inherit;text-align:left}.shift-popover-property:last-child{border-bottom:0}.shift-popover-property>span{color:var(--text-subtle);font-size:11.5px;font-weight:700;line-height:1.35}.shift-popover-property>strong{min-width:0;color:var(--text-strong);font-size:12.5px;font-weight:650;line-height:1.35}.shift-popover-property>em{display:none;align-self:center;color:var(--text-subtle);font-size:10.5px;font-style:normal;font-weight:700;opacity:0;white-space:nowrap}.shift-popover-property.is-editable{cursor:pointer;transition:background-color 90ms ease,border-color 90ms ease}.shift-popover-property.is-editable:hover,.shift-popover-property.is-editable:focus-visible,.shift-popover-property.is-editable.is-active{background:var(--bg-muted);outline:none}.shift-popover-property.is-editable:hover>em,.shift-popover-property.is-editable:focus-visible>em,.shift-popover-property.is-editable.is-active>em{opacity:1}.shift-popover-pill-list,.shift-popover-assignees{display:flex;flex-wrap:wrap;gap:5px}.shift-popover-assignee{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid var(--border-default);border-radius:7px;background:var(--bg-muted);color:var(--text-cool);font-size:11.5px;font-weight:700}.shift-popover-assignee.is-clickable{cursor:pointer}.shift-popover-assignee.is-clickable:hover,.shift-popover-assignee.is-clickable:focus-visible{border-color:var(--primary-tint-border);background:var(--primary-tint);color:var(--primary-link);outline:none}.shift-popover-muted,.shift-role-empty{color:var(--text-subtle);font-size:12px;font-style:italic;font-weight:650}.shift-popover-warning-list{display:grid;gap:6px}.shift-popover-warning-row{display:flex;gap:7px;align-items:flex-start;padding:8px 9px;border:1px solid var(--reluctant-border);border-radius:8px;background:var(--reluctant-bg);color:var(--reluctant-text);font-size:12px;line-height:1.35}.shift-popover-warning-row svg{flex:0 0 auto;margin-top:1px}.shift-popover-delete-confirm{display:grid;gap:7px;padding:10px;border:1px solid var(--danger-border);border-radius:8px;background:var(--danger-bg);color:var(--danger-darkest);font-size:12px}.shift-popover-delete-confirm-title{display:flex;align-items:center;gap:7px}.shift-popover-delete-confirm-title svg{flex:0 0 auto}.shift-popover-delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.shift-popover-assignments{min-height:0;max-height:clamp(240px,48vh,430px);overflow-y:auto;padding-top:10px;padding-right:3px;border-top:1px solid var(--border-default)}.shift-instance-popover.is-combined .shift-popover-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.shift-instance-popover.is-combined .shift-popover-assignments{flex:1;min-height:0;max-height:none;overflow-y:hidden;display:flex;flex-direction:column}.shift-role-editor{display:grid;gap:8px}.shift-role-editor-row{display:grid;gap:8px;padding:10px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-surface)}.shift-role-editor-row-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.shift-role-editor-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--text-subtle);cursor:pointer}.shift-role-editor-remove:hover{background:var(--danger-bg);color:var(--danger)}.shift-role-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shift-role-editor-grid label{display:grid;gap:4px}.shift-role-editor-grid label span{color:var(--text-muted);font-size:10.5px;font-weight:800}.shift-role-editor-grid input{min-height:32px;border:1px solid var(--border-default);border-radius:7px;padding:5px 8px;color:var(--text-strong);font:inherit;font-size:12px}.shift-role-editor-strength{display:flex;flex-wrap:wrap;gap:5px}.shift-role-editor-strength button{min-height:26px;border:1px solid var(--border-default);border-radius:7px;padding:4px 8px;background:var(--bg-muted);color:var(--text-muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.shift-role-editor-strength button.active{border-color:var(--primary-tint-border);background:var(--primary-tint);color:var(--primary-link)}.shift-role-editor-error{color:var(--danger-deep);font-size:11.5px;font-weight:700}.shift-role-editor-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.bulk-role-popover{width:min(430px,calc(100vw - 24px));padding:0;overflow:hidden}.bulk-role-panel{display:grid;gap:10px;padding:12px}.bulk-role-current{display:grid;gap:5px;padding:8px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-muted)}.bulk-role-current>span:first-child{color:var(--text-muted);font-size:11px;font-weight:800}@media(max-width:640px){.shift-instance-popover,.shift-instance-popover.is-combined{width:100%;min-width:0}.shift-instance-popover.is-combined{height:auto;max-height:none}.shift-popover-property{grid-template-columns:82px minmax(0,1fr)}.shift-popover-property>em{display:none}}.shift-staff-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-strong)}.shift-priority-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.shift-priority-pill.low{background:var(--reluctant-bg);color:var(--reluctant-text-strong)}.shift-priority-pill.normal{background:var(--bg-soft);color:var(--text-muted)}.shift-tag-list{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.ls-template-tag-empty{color:var(--border-strong);font-size:12px}.shift-role-trigger{max-width:100%}.shift-role-summary{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.shift-role-empty{color:var(--text-subtle);font-size:12px;font-style:italic;font-weight:650}.shift-popover-property--input{cursor:default;align-items:center}.shift-popover-property--input.is-editing{background:var(--bg-muted)}.shift-popover-property--input>span{padding-top:0;align-self:center}.shift-popover-time-row{display:flex;align-items:center;gap:4px}.shift-popover-time-sep{color:var(--text-subtle);font-size:12px;font-weight:700;flex-shrink:0}.shift-popover-number-input{width:72px;height:28px;padding:0 6px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-muted);color:var(--text-strong);font:inherit;font-size:12px;font-variant-numeric:tabular-nums}.shift-popover-number-input:focus{outline:2px solid var(--info-accent);outline-offset:0;border-color:var(--info-accent);background:var(--bg-surface)}.shift-popover-duration-inputs{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.shift-popover-duration-field{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:11.5px;font-weight:700}.shift-popover-duration-field .shift-popover-number-input{width:54px}.shift-popover-property.is-editable[aria-expanded=true]{background:var(--bg-muted)}.ui-popover.shift-sub-popover{padding:0;overflow:hidden;min-width:120px}.priority-pills-v{display:flex;flex-direction:column}.priority-pill-v{padding:9px 18px;border:none;background:transparent;font:inherit;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer;color:var(--text-strong);transition:background .1s;white-space:nowrap}.priority-pill-v+.priority-pill-v{border-top:1px solid var(--border-soft)}.priority-pill-v:hover{background:var(--bg-soft)}.priority-pill-v.active{background:#f0f9ff;color:#0369a1;font-weight:700}.ui-popover.shift-tags-popover{width:220px;padding:0;overflow:hidden}.ui-popover.shift-roles-popover{width:320px;padding:0;overflow:hidden}.shift-roles-popover-inner{display:grid;gap:10px;padding:12px;max-height:420px;overflow-y:auto}.shift-roles-popover-error{font-size:11px}.role-req-popover{width:360px;padding:0;gap:0;overflow:hidden}.bulk-role-req-popover{width:380px}.role-req-panel{display:flex;flex-direction:column;background:var(--bg-surface)}.role-req-selected{display:flex;flex-direction:column;gap:4px;padding:8px;border-bottom:1px solid var(--border-default);background:var(--info-bg-subtle)}.role-req-current{width:100%;min-height:34px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;padding:5px 6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.role-req-current:hover,.role-req-current:focus-visible{background:var(--bg-soft);outline:none}.role-req-meta{margin-left:auto;color:var(--text-muted);font-size:11px;white-space:nowrap}.role-req-remove,.role-req-back,.role-req-delete{border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.role-req-remove{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px}.role-req-remove:hover{background:var(--danger-bg-hover);color:var(--danger)}.role-req-placeholder{color:var(--text-subtle);font-size:12px;font-style:italic;padding:8px}.bulk-role-req-note{display:grid;gap:7px;margin:2px 2px 6px;padding:8px 9px;border:1px solid var(--primary-tint-strong);border-radius:6px;background:var(--primary-tint);color:var(--primary-link);font-size:12px;line-height:1.35}.bulk-role-req-clear{justify-self:start;border:0;border-radius:5px;padding:4px 8px;background:var(--primary-tint-strong);color:var(--primary-link);font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}.bulk-role-req-clear:hover{background:var(--primary-tint-emphasis)}.role-req-options{display:flex;flex-direction:column;gap:2px;padding:0 6px 8px}.role-req-option{width:100%;min-height:32px;display:flex;align-items:center;border:0;border-radius:6px;padding:5px 8px;background:transparent;font:inherit;text-align:left;cursor:pointer}.role-req-option:hover{background:var(--bg-soft)}.role-req-form-header{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-default);background:var(--info-bg-subtle)}.role-req-back{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;margin-top:1px}.role-req-back:hover{background:var(--bg-soft);color:var(--text-strong)}.role-req-title{color:var(--text-strong);font-size:13px;font-weight:700;margin-bottom:5px}.role-req-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.role-req-field{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:11.5px;font-weight:700}.role-req-field input{width:100%;height:32px;border:1px solid var(--border-control);border-radius:6px;padding:0 8px;color:var(--text-strong);font:inherit;font-size:13px;font-weight:500}.role-req-strength{padding:0 12px 12px}.role-req-strength .role-req-section-label{padding:0 0 6px}.role-strength-options{display:flex;flex-wrap:wrap;gap:6px}.role-strength-option{min-height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-default);border-radius:6px;padding:4px 9px;background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.role-strength-option:hover{border-color:var(--border-strong);background:var(--bg-muted)}.role-strength-option.active{border-color:var(--border-focus);background:var(--primary);color:var(--text-inverse)}.role-req-error{margin:-4px 12px 10px;color:var(--danger-deep);font-size:12px}.role-req-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border-default)}.role-req-delete{margin-right:auto;display:inline-flex;align-items:center;gap:5px;color:var(--danger);font-size:12px;font-weight:600}.role-req-delete:hover{color:var(--danger-deep)}.bulk-bar{position:fixed;top:18px;left:16px;right:16px;width:fit-content;max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-inverse);color:var(--text-on-inverse-bright);border:1px solid rgba(var(--white-rgb),.1);border-radius:12px;box-shadow:var(--shadow-drawer);z-index:900}.bulk-bar-count{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;border-radius:999px;background:rgba(var(--white-rgb),.1);font-size:12.5px;font-weight:600;white-space:nowrap}@media(max-width:760px){.bulk-bar{width:calc(100vw - 32px);flex-wrap:wrap}}.bulk-bar-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:999px;background:transparent;color:var(--text-disabled);cursor:pointer}.bulk-bar-clear:hover{background:rgba(var(--white-rgb),.12);color:var(--text-inverse)}.bulk-bar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.bulk-bar-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid transparent;border-radius:8px;padding:5px 9px;background:transparent;color:var(--text-on-inverse-bright);font:inherit;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.bulk-bar-button:hover,.bulk-bar-button[aria-expanded=true]{background:rgba(var(--white-rgb),.1);border-color:rgba(var(--white-rgb),.16)}.bulk-bar-button-content{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.bulk-bar-button-content strong{font-weight:700;color:var(--text-inverse)}.bulk-bar-danger{color:var(--danger-border)}.bulk-bar-danger:hover{background:rgba(var(--red-500-rgb),.18);border-color:rgba(var(--red-400-rgb),.35);color:var(--danger-bg-hover)}.bulk-bar-hint{color:var(--text-muted);font-size:12px;font-style:italic;line-height:1.4}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-soft)}.modal-header h3{font-size:16px;font-weight:700;color:var(--text-strong)}.modal-body{min-height:0;padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:1rem 1.5rem;border-top:1px solid var(--border-soft)}.modal-subtitle{margin-top:2px;color:var(--text-muted);font-size:12.5px}.calendar-modal-body{display:grid;gap:14px;background:var(--bg-muted)}.calendar-modal-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface)}.calendar-modal-section-title{color:var(--text-muted);font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.calendar-modal-grid{display:grid;gap:10px}.calendar-modal-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-modal-grid.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 120px}.calendar-modal-grid.compact{align-items:end}.calendar-check-row{min-height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.calendar-check-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--bg-surface);position:relative}.calendar-check-row input:checked{background:var(--primary);border-color:var(--primary)}.calendar-check-row input:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg)}.calendar-check-row span{display:inline-flex;align-items:center;gap:6px}.calendar-tag-picker{display:flex;flex-wrap:wrap;gap:8px}.calendar-tag-picker-item{min-height:32px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-muted);padding:2px 8px 2px 7px;cursor:pointer}.calendar-tag-picker-item.is-active{border-color:var(--primary);color:var(--primary);background:var(--primary-tint)}@media(max-width:720px){.calendar-modal-grid.two,.calendar-modal-grid.three{grid-template-columns:1fr}}.month-export-header{align-items:flex-start;gap:16px}.month-export-header h3{margin:0;font-size:18px}.month-export-header p{margin:4px 0 0;color:var(--text-muted);font-size:12.5px}.month-export-body{display:grid;gap:14px;background:var(--bg-muted)}.month-export-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;padding:14px}.month-export-section-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px}.month-export-section-head span{color:var(--text-strong);font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.month-export-section-head small{color:var(--text-muted);font-size:12px;text-align:right}.month-export-planning-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:14px;align-items:start}.month-export-calendar-column,.month-export-plan-column{min-width:0}.month-export-plan-column{display:grid;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-muted)}.month-export-plan-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.month-export-plan-head strong,.month-export-plan-head span{display:block}.month-export-plan-head strong{color:var(--text-strong);font-size:13px;font-weight:800}.month-export-plan-head span,.month-export-plan-head small{color:var(--text-muted);font-size:12px}.month-export-plan-head span{margin-top:3px}.month-export-plan-head small{flex:0 0 auto;font-weight:700}.month-export-muted{padding:12px;border-radius:8px;background:var(--bg-muted);color:var(--text-muted);font-size:13px}.month-export-version-list{display:grid;gap:8px}.month-export-version-row{display:grid;grid-template-columns:minmax(150px,.95fr) minmax(190px,1.1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-surface)}.month-export-version-row strong,.month-export-version-row span{display:block}.month-export-version-row strong{color:var(--text-strong);font-size:13px}.month-export-version-row span{margin-top:3px;color:var(--text-muted);font-size:12px}.month-export-version-display{min-width:0;overflow:hidden;color:var(--text-cool);font-size:12.5px;font-weight:700;text-align:right;text-overflow:ellipsis;white-space:nowrap}.month-export-warning,.month-export-inline-error,.month-export-warning-list>div{display:flex;gap:8px;align-items:flex-start;border-radius:8px;font-size:12.5px;line-height:1.35}.month-export-warning,.month-export-warning-list>div{border:1px solid var(--warning-border-strong);background:var(--warning-bg);color:var(--warning-text);padding:9px 10px}.month-export-inline-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-deep);padding:9px 10px;margin-top:10px}.month-export-warning svg,.month-export-inline-error svg,.month-export-warning-list svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px}.month-export-warning-list{display:grid;gap:6px;margin-top:10px}.month-export-output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.month-export-output{display:grid;grid-template-columns:34px 1fr;gap:10px;min-height:92px;padding:11px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-surface);color:var(--text-cool);text-align:left;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.month-export-output:hover{border-color:var(--border-subtle)}.month-export-output.is-selected{border-color:var(--border-focus);background:var(--bg-muted);box-shadow:var(--shadow-inset-strong)}.month-export-output-icon{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--text-body)}.month-export-output-icon svg{width:17px;height:17px}.month-export-output strong,.month-export-output small{display:block}.month-export-output strong{color:var(--text-strong);font-size:13px}.month-export-output small{margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.35}.month-export-format-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.month-export-format-row>span{color:var(--text-secondary);font-size:12px;font-weight:800;text-transform:uppercase}.month-export-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(190px,240px));justify-content:start;gap:8px;margin-top:12px;max-width:500px}.month-export-toggle{display:grid;grid-template-columns:18px 1fr;gap:8px;min-height:66px;padding:10px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-surface);color:var(--text-cool);text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.month-export-toggle:hover{border-color:var(--border-subtle)}.month-export-toggle.is-checked{border-color:var(--border-focus);background:var(--bg-muted)}.month-export-toggle-box{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-inverse);background:var(--bg-surface)}.month-export-toggle.is-checked .month-export-toggle-box{border-color:var(--border-focus);background:var(--primary)}.month-export-toggle-box svg{width:13px;height:13px}.month-export-toggle strong,.month-export-toggle small{display:block}.month-export-toggle strong{color:var(--text-strong);font-size:12.5px}.month-export-toggle small{margin-top:3px;color:var(--text-muted);font-size:11.5px;line-height:1.3}.month-export-footer{justify-content:space-between;align-items:center}.month-export-footer>div{color:var(--text-muted);font-size:12.5px}@media(max-width:820px){.month-export-section-head,.month-export-format-row,.month-export-footer{align-items:stretch;flex-direction:column}.month-export-section-head small{text-align:left}.month-export-planning-layout,.month-export-output-grid,.month-export-toggle-grid,.month-export-version-row{grid-template-columns:1fr}.month-export-version-display{text-align:left}}.import-textarea{width:100%;height:140px;padding:10px 12px;border:1.5px solid var(--border-default);border-radius:7px;font-family:monospace;font-size:14px;resize:vertical;outline:none;line-height:1.6}.import-textarea:focus{border-color:var(--border-focus)}.import-hint{font-size:11.5px;color:var(--text-subtle);margin-top:5px;display:block}.constraint-warning{display:flex;align-items:flex-start;gap:6px;margin-top:7px;max-width:360px;padding:7px 9px;border:1px solid var(--warning-border);border-radius:6px;background:var(--warning-bg);color:var(--warning);font-size:12px;line-height:1.35}.constraint-warning svg{flex:0 0 auto;margin-top:1px}.import-preview{margin-top:1.2rem}.import-preview-header{font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.import-invalid-row td{background:var(--danger-bg-subtle);color:var(--danger)}.result-box p{font-weight:500;margin-bottom:.5rem}.result-box p:last-child{margin-bottom:0}.emp-detail-modal{max-width:540px}.emp-detail-close{background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-muted);padding:2px 6px;border-radius:5px;transition:background .1s}.emp-detail-close:hover{background:var(--primary-tint-strong);color:var(--primary-link-hover)}.emp-detail-hours{padding:14px 16px;border-bottom:1px solid var(--border-soft)}.emp-detail-hours-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;font-weight:500;color:var(--text-default);margin-bottom:8px}.hours-ok{font-size:17px;font-weight:700;color:var(--success)}.hours-over{font-size:17px;font-weight:700;color:var(--danger)}.emp-hours-bar-track{height:8px;background:var(--bg-soft);border-radius:4px;overflow:hidden;margin-bottom:8px}.emp-hours-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.emp-detail-hours-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.hours-meta-note{color:var(--text-subtle)}.emp-detail-section{padding:14px 16px;border-bottom:1px solid var(--border-soft)}.emp-detail-section:last-child{border-bottom:none}.emp-detail-section-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.emp-detail-shift-row{display:flex;align-items:center;gap:12px;padding:5px 0;border-bottom:1px solid var(--border-faint);font-size:13px}.emp-detail-shift-row:last-child{border-bottom:none}.emp-detail-shift-date{color:var(--text-default);min-width:160px}.emp-detail-shift-time{font-weight:600;color:var(--text-strong);min-width:110px}.emp-detail-shift-loc{color:var(--text-muted)}.emp-detail-viol-row{display:flex;align-items:baseline;gap:8px;padding:5px 0;font-size:13px;border-bottom:1px solid var(--border-faint)}.emp-detail-viol-row:last-child{border-bottom:none}.badge-manual{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;background:var(--warning-bg-strong);color:var(--warning-text);border-radius:4px;padding:1px 6px;margin-left:5px;vertical-align:middle;white-space:nowrap}.entry-manual-dot{font-size:11px;color:var(--warning);margin-left:6px;flex-shrink:0;opacity:.8}.employee-dashboard{padding:16px;background:var(--bg-surface)}.employee-dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border-default);background:var(--bg-muted)}.employee-dashboard-person{display:flex;align-items:flex-start;gap:12px;min-width:0}.employee-avatar{width:38px;height:38px;border-radius:8px;background:var(--primary);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.employee-dashboard-kicker{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted)}.employee-dashboard-hero h2{margin:1px 0 5px;font-size:19px;line-height:1.2;color:var(--text-strong)}.employee-dashboard-meta{display:flex;gap:7px;flex-wrap:wrap}.employee-dashboard-meta span{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-size:12px;font-weight:500}.employee-dashboard-meta .employee-dashboard-hours{gap:5px;border-color:var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-weight:500}.employee-dashboard-hours strong{color:var(--text-strong);font-size:12.5px;font-weight:500}.employee-filter-hint{margin-top:7px;color:var(--text-muted);font-size:12px;line-height:1.4}.employee-dashboard-alerts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.employee-dashboard-alert{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 8px;border:1px solid var(--warning-border);border-radius:6px;background:var(--warning-bg);color:var(--warning-text);font-size:12px;font-weight:600}.employee-dashboard-alert.hard{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-deep)}.employee-dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.employee-week-load-section{padding:14px 0}.employee-section-title{margin-bottom:8px;color:var(--text-secondary);font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.employee-week-load{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.employee-week-load-row{display:grid;grid-template-columns:max-content minmax(70px,1fr) max-content;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-surface);font-size:12px;color:var(--text-secondary)}.employee-week-load-row.over{border-color:var(--danger-border);background:#fff7f7}.employee-week-load-row strong{text-align:right;color:var(--text-strong);font-size:12px;font-weight:500}.employee-week-load-track{height:7px;border-radius:999px;background:var(--bg-disabled);position:relative}.employee-week-load-fill{height:100%;border-radius:999px;background:var(--success)}.employee-week-load-fill.under{background:var(--warning-accent)}.employee-week-load-fill.over{background:var(--danger)}.employee-week-target-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;min-width:0;width:100%}.employee-week-target-row .employee-overview-target-badge{max-width:100%;white-space:normal;text-align:center}.employee-calendar-shell{overflow-x:auto;border:1px solid var(--border-default);border-radius:8px}.employee-calendar-head,.employee-calendar-week{min-width:980px;display:grid;grid-template-columns:repeat(7,minmax(130px,1fr))}.employee-calendar-grid{display:grid}.employee-calendar-head{background:var(--bg-muted);border-bottom:1px solid var(--border-default)}.employee-calendar-head span{padding:8px 10px;text-align:center;color:var(--text-muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.employee-calendar-week{border-bottom:1px solid var(--border-soft)}.employee-calendar-week:last-child{border-bottom:0}.employee-day{min-height:156px;padding:8px;border-right:1px solid var(--border-soft);background:var(--bg-surface)}.employee-day.is-week-last-day{border-right:none}.employee-day.muted{background:var(--bg-muted);color:var(--text-subtle)}.employee-day-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px;color:var(--text-strong);font-size:12px;font-weight:700}.employee-day-date{display:inline-flex;align-items:baseline;gap:5px}.employee-day-weekday{display:none;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.employee-day-body{display:flex;flex-direction:column;gap:6px}.employee-day-overrides{display:flex;flex-direction:column;gap:4px;margin:-2px 0 7px}.employee-day-override{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:100%;min-height:20px;padding:2px 6px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-muted);color:var(--text-secondary);font-size:10.5px;font-weight:500;line-height:1.25}.employee-day-override.soft{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.employee-day-override.hard{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-deep)}.employee-shift-pill{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:7px;border:1px solid var(--border-default);border-radius:7px;background:var(--bg-surface);color:var(--text-strong);text-align:left;cursor:pointer}.employee-shift-pill.soft{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-deep)}.employee-shift-pill.hard{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-darkest)}.employee-shift-pill:disabled{cursor:default}.employee-shift-pill[role=group]{cursor:default}.employee-shift-pill:focus-visible,.employee-back-link:focus-visible{outline:2px solid var(--primary-accent);outline-offset:2px}.employee-shift-time{font-size:12px;font-weight:600}.employee-shift-location{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600}.employee-status-chip,.employee-source-chip{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:18px;padding:1px 6px;border-radius:5px;font-size:10.5px;font-weight:700;font-style:normal;line-height:1.35}.employee-status-chip.available{background:var(--success-bg-strong);color:var(--success-text)}.employee-status-chip.reluctant{background:var(--warning-bg-strong);color:var(--warning-text)}.employee-status-chip.unavailable{background:var(--danger-bg-hover);color:var(--danger-deep)}.employee-source-chip{background:var(--bg-soft);color:var(--text-secondary)}.employee-source-chip.date{background:var(--primary-tint);color:var(--primary-link)}.employee-source-chip.override{background:var(--reluctant-bg);color:var(--reluctant-text-strong)}.employee-source-chip.template{background:var(--bg-muted);color:var(--text-muted)}.employee-dashboard-lists{display:block;padding-top:14px}.employee-list-panel{border:1px solid var(--border-default);border-radius:8px;overflow:hidden;background:var(--bg-surface)}.employee-list-title{padding:10px 12px;border-bottom:1px solid var(--border-default);background:var(--bg-muted);color:var(--text-secondary);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.employee-show-more{width:100%;border:none;border-top:1px solid var(--border-soft);background:var(--bg-surface);color:var(--primary-link);padding:10px 12px;text-align:left;font-size:12.5px;font-weight:700;cursor:pointer}.employee-show-more:hover{background:var(--primary-tint)}.employee-notice{padding:10px 12px;border-bottom:1px solid var(--border-soft);display:flex;flex-direction:column;gap:2px}.employee-notice:last-child{border-bottom:none}.employee-notice strong{color:var(--text-strong);font-size:12.5px}.employee-notice span{color:var(--text-muted);font-size:12px}.employee-notice.hard{background:var(--danger-bg)}.employee-notice.soft{background:var(--warning-bg)}.employee-notice.info{background:var(--bg-muted)}.employee-back-link{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:700;padding:0;margin-bottom:6px;cursor:pointer}.employee-back-link:hover{color:var(--text-strong)}.employee-overview-shell{padding:12px;background:var(--bg-surface);display:flex;flex-direction:column;gap:10px}.employee-overview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-muted)}.employee-overview-head h3{margin:1px 0 0;font-size:16px;color:var(--text-strong)}.employee-overview-head p{max-width:760px;color:var(--text-muted);font-size:13px}.employee-overview-head-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.employee-overview-head-meta span{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;border:1px solid #dbe3ee;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:600}.employee-overview-list{display:flex;flex-direction:column;gap:8px}.employee-overview-card{width:100%;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-surface);padding:10px 12px;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.employee-overview-card:hover,.employee-overview-card:focus-visible{transform:translateY(-1px);border-color:var(--border-strong);background:#fcfdff;box-shadow:var(--shadow-card-hover)}.employee-overview-card:focus-visible{outline:none}.employee-overview-card.selected{border-color:var(--primary-tint-border-strong);box-shadow:var(--shadow-card-selected)}.employee-overview-card.inactive{opacity:.72}.employee-overview-main{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.75fr) minmax(300px,.9fr);gap:12px;align-items:center}.employee-overview-person{display:flex;align-items:center;gap:10px;min-width:0}.employee-overview-avatar{width:34px;height:34px;border-radius:999px;background:var(--bg-disabled);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.employee-overview-person-copy{min-width:0;overflow:hidden}.employee-overview-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}.employee-overview-name-row strong{color:var(--text-strong);font-size:14.5px;line-height:1.2}.employee-overview-badge{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:700}.employee-overview-badge.muted{background:var(--bg-soft);color:var(--text-muted)}.employee-overview-badge.warning{background:var(--warning-bg-strong);color:var(--warning-text)}.employee-overview-badge.danger{background:var(--danger-bg-hover);color:var(--danger-deep)}.employee-overview-meta{color:var(--text-secondary);font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-overview-meta.secondary{color:var(--text-muted);font-size:11.5px;margin-top:1px}.employee-overview-roles{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px;max-height:45px;overflow:hidden}.employee-overview-load-panel{display:flex;flex-direction:column;gap:6px;min-width:0}.employee-overview-loadline{display:grid;grid-template-columns:minmax(92px,1fr) auto;align-items:center;gap:8px}.employee-overview-loadline-track{height:7px;border-radius:999px;background:var(--bg-disabled);overflow:hidden}.employee-overview-loadline-fill{height:100%;border-radius:999px;background:var(--status-neutral-soft)}.employee-overview-loadline-fill.good{background:var(--success)}.employee-overview-loadline-fill.warning{background:var(--warning-accent)}.employee-overview-loadline-fill.danger{background:var(--danger)}.employee-overview-loadline-text{color:var(--text-muted);font-size:11.5px;font-weight:600;white-space:nowrap}.employee-overview-target-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11.5px;line-height:1.25}.employee-overview-target-badge{display:inline-flex;align-items:center;gap:5px;min-height:19px;padding:2px 7px;border-radius:999px;font-weight:700;white-space:nowrap}.employee-overview-target-badge.good{background:var(--success-bg);color:var(--success-deep);border:1px solid var(--success-border)}.employee-overview-target-badge.danger{background:var(--danger-bg);color:var(--danger-deep);border:1px solid var(--danger-border)}.employee-overview-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.employee-overview-strip-day{min-height:42px;padding:5px 6px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:inherit;cursor:pointer}.employee-overview-strip-day:hover,.employee-overview-strip-day:focus-visible{border-color:var(--border-strong);outline:none;box-shadow:var(--focus-ring)}.employee-overview-strip-day span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.employee-overview-strip-day strong{color:var(--text-strong);font-size:13px;line-height:1;white-space:nowrap}.employee-overview-strip-day small{color:var(--text-muted);font-size:11px}.employee-overview-strip-day.filled{background:var(--success-bg);border-color:var(--success-border)}.employee-overview-strip-day.soft{background:var(--warning-bg);border-color:var(--warning-border)}.employee-overview-strip-day.hard{background:var(--danger-bg);border-color:var(--danger-border)}@media(max-width:1180px){.employee-overview-main{grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr)}.employee-overview-strip{grid-column:1 / -1}}@media(max-width:920px){.employee-dashboard-lists{grid-template-columns:1fr}.employee-overview-loadline{grid-template-columns:minmax(92px,1fr) auto}}@media(max-width:768px){.employee-dashboard-hero,.employee-overview-head{flex-direction:column}.employee-dashboard-actions,.employee-overview-head-meta{justify-content:flex-start}.employee-overview-shell,.employee-dashboard{padding:12px}.employee-overview-card{padding:10px}.employee-overview-main,.employee-week-load{grid-template-columns:1fr}.employee-week-load-row{grid-template-columns:max-content minmax(80px,1fr) max-content;padding:7px 8px;font-size:11.5px}.employee-week-load-row strong{font-size:11.5px}.employee-calendar-shell{overflow-x:visible}.employee-calendar-head{display:none}.employee-calendar-grid,.employee-calendar-week{min-width:0;grid-template-columns:1fr}.employee-day{min-height:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:8px;padding:10px;border-right:none}.employee-day-header{grid-row:1 / span 2;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:0}.employee-day-date{flex-direction:column;align-items:flex-start;gap:0}.employee-day-weekday{display:block}.employee-day-overrides,.employee-day-body{grid-column:2}.employee-day-overrides{margin:0}}@media(max-width:560px){.employee-overview-strip{grid-template-columns:repeat(7,minmax(32px,1fr));overflow-x:auto}}.cand-hours{font-size:11px;color:var(--text-muted);white-space:nowrap}.cand-detail-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.sep-modal{max-width:540px;width:95vw;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.sep-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 12px;flex-shrink:0}.sep-header-left{flex:1;min-width:0}.sep-title{font-size:17px;font-weight:700;color:var(--text-strong);letter-spacing:-.2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sep-sub{font-size:12.5px;color:var(--text-muted);margin-top:3px;display:flex;align-items:center;gap:6px}.sep-sub-tag{font-size:11px;font-weight:600;padding:1px 6px;background:var(--bg-soft);color:var(--text-muted);border-radius:4px}.sep-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.sep-badge--ok{background:var(--success-bg);color:var(--success-text)}.sep-badge--bad{background:var(--danger-bg);color:var(--danger-deep)}.sep-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sep-props{padding:4px 16px 12px;flex-shrink:0}.sep-prop-row{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:center;padding:5px 0}.sep-prop-row--top{align-items:flex-start}.sep-prop-label{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.sep-prop-label--top{padding-top:4px}.sep-prop-placeholder{font-size:13px;color:var(--text-subtle);font-style:italic}.sep-prop-time{display:flex;align-items:center;gap:6px}.sep-prop-dash{color:var(--text-subtle);font-weight:600;font-size:13px}.sep-num-input{width:80px;height:30px;padding:0 8px;font-size:13px}.sep-check-label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-strong);cursor:pointer}.sep-inline-pills{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding-top:1px}.sep-role-chip{cursor:default}.sep-role-chip .ui-chip__label{display:inline-flex;align-items:center;gap:6px;overflow:visible}.sep-role-count{font-size:11px;font-weight:500;color:inherit;opacity:.75}.sep-role-remove{background:none;border:none;padding:0;cursor:pointer;color:inherit;opacity:.6;display:inline-flex;align-items:center;line-height:1;margin-left:1px}.sep-role-remove:hover{opacity:1}.sep-role-add{height:26px;font-size:12px;min-width:90px}.sep-divider{height:1px;background:var(--bg-disabled);flex-shrink:0}.sep-assignments{flex:1;overflow-y:auto;padding:12px 6px 14px;display:flex;flex-direction:column;gap:0}.sep-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.sep-section-title--sub{margin-top:10px}.sep-assigned-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.sep-assigned-row:last-of-type{border-bottom:none}.sep-assigned-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0;flex-wrap:wrap}.sep-assigned-name{font-weight:600;font-size:13px;color:var(--text-strong)}.sep-assigned-name.is-clickable{cursor:pointer;border-radius:4px}.sep-assigned-name.is-clickable:hover,.sep-assigned-name.is-clickable:focus-visible{color:var(--primary-link);text-decoration:underline;outline:none}.sep-manual-tag{font-size:11px;font-weight:600;padding:1px 6px;background:var(--bg-soft);color:var(--text-muted);border-radius:4px;display:inline-flex;align-items:center;gap:3px}.sep-assigned-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sep-note-form{display:flex;align-items:center;gap:5px;flex:1;min-width:180px}.sep-note-form input{flex:1;padding:5px 8px;border:1.5px solid var(--border-default);border-radius:7px;font:inherit;font-size:12.5px;outline:none}.sep-note-form input:focus{border-color:var(--border-focus)}.sep-note-display{width:100%;font-size:12px;color:var(--text-muted);font-style:italic;padding:2px 0 0;display:flex;align-items:center;gap:5px}.sep-add-bar{display:flex;align-items:center;gap:8px;margin:10px 0 4px}.sep-search-wrap{position:relative;flex:1}.sep-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none}.sep-search{width:100%;box-sizing:border-box;height:var(--control-height-sm);padding:0 10px 0 28px;border:1px solid var(--control-border);border-radius:var(--control-radius);font:inherit;font-size:13px;color:var(--text-body);outline:none;background:var(--bg-surface);transition:border-color .12s,box-shadow .12s}.sep-search:hover{border-color:var(--control-border-hover)}.sep-search:focus{border-color:var(--control-border-focus);box-shadow:var(--focus-ring)}.sep-sort-select{width:118px;flex-shrink:0}.sep-cand-list{display:flex;flex-direction:column}.sep-cand-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-soft);flex-wrap:wrap;transition:background .1s}.sep-cand-row:last-child{border-bottom:none}.sep-cand-row:hover{background:var(--bg-muted);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:6px}.sep-cand-row--inactive{opacity:.7}.sep-cand-left{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.sep-cand-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sep-cand-dot--ok{background:var(--success)}.sep-cand-dot--warn{background:var(--warning)}.sep-cand-dot--hard{background:var(--danger)}.sep-cand-name{font-weight:600;font-size:13px;color:var(--text-strong);white-space:nowrap}.sep-cand-hours{font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sep-cand-status{font-size:11.5px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.sep-cand-status--ok{color:var(--success-text)}.sep-cand-status--warn{color:var(--warning-text)}.sep-cand-status--hard{color:var(--danger-deep)}.sep-cand-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sep-cand-details{width:100%;margin-top:5px;padding:7px 10px;background:rgba(var(--black-rgb),.04);border-radius:6px;display:flex;flex-direction:column;gap:5px}.sep-cand-detail-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--text-default)}.sep-cand-tag{font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;white-space:nowrap}.sep-cand-tag--hard{background:var(--danger-bg);color:var(--danger-deep)}.sep-cand-tag--warn{background:var(--warning-bg-strong);color:var(--warning-text)}.sep-cand-info-btn{background:transparent;border:none;padding:2px;margin:0;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:4px;line-height:0}.sep-cand-info-btn:hover,.sep-cand-info-btn:focus-visible{color:var(--text-strong);background:var(--bg-soft);outline:none}.ui-popover.sep-cand-pop{min-width:260px;max-width:min(360px,calc(100vw - 20px));width:auto;padding:8px 10px;z-index:1200}.sep-cand-pop .sep-cand-details{width:auto;margin:0;padding:0;background:transparent;border-radius:0}.roles-intro{color:var(--text-muted);font-size:13.5px;margin:-.5rem 0 1rem;max-width:880px}.roles-page .form-label{text-transform:none;letter-spacing:0}.roles-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:14px;align-items:start}.roles-editor{position:sticky;top:70px}.roles-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:1rem}.roles-editor-head h3{margin:0}.roles-color-row{display:flex;align-items:center;gap:8px}.roles-color-picker{width:42px;height:36px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-surface);padding:3px;cursor:pointer}.roles-color-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.3px}.roles-color-presets{margin-top:8px;display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.roles-color-swatch{width:100%;aspect-ratio:1;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .12s,box-shadow .12s}.roles-color-swatch:hover{transform:scale(1.08)}.roles-color-swatch.active{box-shadow:var(--focus-ring-compact)}.roles-preview{margin:.8rem 0 1rem;padding:10px 12px;background:var(--bg-muted);border:1px solid var(--border-default);border-radius:8px}.roles-editor-actions{display:flex;gap:8px}.roles-database{padding:1rem 0}.roles-db-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 1rem .9rem;border-bottom:1px solid var(--border-soft)}.roles-db-summary{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:12.5px;font-weight:500}.roles-search{max-width:300px}.roles-db-table{overflow-x:auto}.roles-db-head,.roles-db-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(180px,2fr) minmax(92px,108px) minmax(100px,120px) minmax(40px,48px);align-items:center;gap:10px;min-width:650px}.roles-db-head{padding:9px 1rem;color:var(--text-muted);font-size:11.5px;font-weight:700;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--border-soft)}.roles-db-row{padding:8px 1rem;border-bottom:1px solid var(--border-faint);cursor:pointer;transition:background .12s}.roles-db-row:hover,.roles-db-row.selected{background:var(--bg-muted)}.roles-db-row.editing{background:var(--primary-tint)}.roles-db-cell{min-width:0;color:var(--text-heading);font-size:13px}.roles-desc{color:var(--text-cool);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roles-desc.empty{color:var(--text-subtle)}.roles-metric{font-weight:600;color:var(--text-secondary);font-size:12.5px}.roles-actions{display:flex;justify-content:flex-end}.admin-workspace{display:flex;flex-direction:column;gap:1rem}.admin-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,420px);gap:16px;align-items:start}.admin-sidebar-stack{display:flex;flex-direction:column;gap:16px}.admin-selection-panel{margin-bottom:0}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1rem;flex-wrap:wrap}.admin-panel-head h3{margin:0}.admin-meta{color:var(--text-muted);font-size:13px}.admin-form-stack{display:flex;flex-direction:column;gap:.9rem}.admin-detail-actions,.admin-chip-row{display:flex;gap:8px;flex-wrap:wrap}.admin-divider{border-top:1px solid var(--border-default)}.admin-inline-note{font-size:12.5px;color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:10px 12px}.admin-list-stack{display:flex;flex-direction:column;gap:8px}.admin-assignment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-muted);flex-wrap:wrap}.admin-checkbox-row{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-cool);cursor:pointer}.admin-checkbox-row input{width:15px;height:15px;cursor:pointer}@media(max-width:1080px){.admin-layout{grid-template-columns:1fr}}@media(max-width:1180px){.roles-layout{grid-template-columns:1fr}.roles-editor{position:static}}@media(max-width:960px){.roles-db-head,.roles-db-row{grid-template-columns:minmax(150px,1fr) minmax(170px,1.4fr) 82px 94px minmax(40px,48px);min-width:600px}.roles-db-toolbar{flex-direction:column;align-items:stretch}.roles-search{max-width:none}}@media(max-width:700px){.roles-color-presets{grid-template-columns:repeat(5,1fr)}.roles-db-head{display:none}.roles-db-row{grid-template-columns:1fr;gap:4px;padding:10px 1rem;min-width:0}.roles-db-row .roles-desc{white-space:normal}.roles-db-row .roles-metric{font-size:12px}.roles-db-row .roles-actions{justify-content:flex-start;margin-top:4px}}.tp{position:relative;display:inline-flex;flex-direction:column;min-width:84px}.tp-input{width:100%;height:30px;padding:0 9px;border:1.5px solid var(--border-default);border-radius:7px;background:var(--bg-surface);color:var(--text-body);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;outline:none;transition:border-color .12s,box-shadow .12s}.tp-input::placeholder{color:var(--text-subtle)}.tp-input:hover{border-color:var(--border-strong)}.tp-input.is-open{border-color:var(--primary);box-shadow:var(--focus-ring)}.tp-input.is-error{border-color:var(--danger);background:var(--danger-bg)}.tp-pop{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);z-index:200;overflow:hidden;animation:tp-in .12s ease}@keyframes tp-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tp-list{max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:4px 0;scroll-behavior:smooth}.tp-list::-webkit-scrollbar{width:8px}.tp-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--border-surface)}.tp-list::-webkit-scrollbar-track{background:transparent}.tp-opt{display:block;width:100%;padding:6px 14px;background:transparent;border:0;text-align:left;font:inherit;font-size:13px;color:var(--text-body);font-variant-numeric:tabular-nums;cursor:pointer;line-height:1.5}.tp-opt:hover{background:var(--border-soft)}.tp-opt.is-selected{background:var(--primary);color:var(--text-inverse);font-weight:600}.tp-pop.dp-pop{min-width:0;width:132px}.dp-cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-soft)}.dp-col{background:var(--bg-surface)}.dp-list{max-height:200px;overflow-y:auto;overscroll-behavior:contain;padding:4px 0;scroll-behavior:smooth}.dp-list::-webkit-scrollbar{width:6px}.dp-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.dp-opt{display:block;width:100%;padding:5px 10px;background:transparent;border:0;text-align:center;font:inherit;font-size:13px;color:var(--text-body);font-variant-numeric:tabular-nums;cursor:pointer}.dp-opt:hover{background:var(--border-soft)}.dp-opt.is-selected{background:var(--primary);color:var(--text-inverse);font-weight:600}.availability-status-picker{min-width:340px;max-width:none}.availability-time-board{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;min-height:560px}.availability-time-axis{position:relative;margin-top:28px;min-height:520px;color:var(--text-warm-secondary);font-size:11px;font-weight:600}.availability-time-axis span{position:absolute;right:6px;transform:translateY(-50%)}.availability-time-days{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.availability-time-day{min-width:112px}.availability-time-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:28px;border:1px solid var(--border-warm-strong);border-radius:6px;background:#fafaf9;padding:0 8px;color:#292524;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease,color .12s ease}.availability-time-day-head-label{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1}.availability-time-day-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.availability-time-day-head-label>span{color:var(--text-warm-secondary);font-size:11px}.availability-time-day-head-icon{width:13px;height:13px;opacity:.5;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.availability-time-day-head:hover{border-color:var(--text-warm-subtle)}.availability-time-day-head:hover .availability-time-day-head-icon{opacity:1;transform:scale(1.08)}.availability-time-day-head:hover.is-paint-available{background:var(--success-bg-strong);border-color:var(--success-border-strong);color:var(--success-text)}.availability-time-day-head:hover.is-paint-reluctant{background:var(--reluctant-bg-strong);border-color:var(--reluctant-border-strong);color:var(--reluctant-text)}.availability-time-day-head:hover.is-paint-unavailable{background:var(--danger-bg-hover);border-color:#fca5a5;color:var(--danger-deepest)}.availability-time-day-head:hover .availability-time-day-head-label>span{color:inherit;opacity:.75}.availability-time-grid{position:relative;min-height:520px;border:1px solid var(--border-warm-strong);border-radius:8px;background-color:var(--success-bg-strong);background-image:linear-gradient(to bottom,rgba(var(--green-800-rgb),.22) 0,rgba(var(--green-800-rgb),.22) 1px,transparent 1px,transparent 100%);background-size:100% calc(100% / 24);background-repeat:repeat-y;overflow:hidden;cursor:crosshair}.avail-time-fill{position:absolute;left:0;right:0;pointer-events:none;overflow:hidden}.avail-time-fill.is-available{background:transparent}.avail-time-fill.is-reluctant{background:rgba(var(--orange-300-rgb),.55)}.avail-time-fill.is-unavailable{background:rgba(var(--red-300-rgb),.65)}.avail-time-fill.is-standard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg,rgba(var(--white-rgb),.38) 0,rgba(var(--white-rgb),.38) 4px,transparent 4px,transparent 8px);pointer-events:none}.avail-time-fill-label{position:absolute;top:2px;left:6px;right:6px;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;color:rgba(var(--slate-900-rgb),.78);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.availability-time-hover{position:absolute;left:0;right:0;pointer-events:none;z-index:4;transform:translateY(-.5px);display:flex;align-items:center}.availability-time-hover-line{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(var(--slate-900-rgb),.55)}.availability-time-hover-label{position:relative;margin-left:6px;transform:translateY(-50%);background:rgba(var(--slate-900-rgb),.88);color:var(--text-inverse);font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:4px;white-space:nowrap;box-shadow:var(--shadow-control-dark)}@media(max-width:920px){.availability-time-board{grid-template-columns:42px minmax(0,1fr)}.availability-time-days{grid-template-columns:repeat(7,minmax(128px,1fr))}}.preset-menu{display:flex;flex-direction:column;gap:6px;min-width:260px}.preset-menu-head{display:flex;align-items:center;gap:6px;padding:2px 4px 4px;border-bottom:1px solid var(--border-soft);margin-bottom:2px}.preset-menu-title{flex:1;font-size:12.5px;font-weight:600;color:var(--text-strong)}.preset-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;max-height:280px;overflow-y:auto}.preset-menu-row{display:flex;align-items:center;gap:2px;border-radius:6px;transition:background-color .12s ease}.preset-menu-row:hover{background:var(--bg-muted)}.preset-menu-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text-strong);font:inherit;font-size:12.5px;border-radius:6px}.preset-menu-row-main:hover{color:var(--text-strong)}.preset-menu-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.preset-menu-row-badge{flex-shrink:0;padding:1px 7px;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-muted);color:var(--text-muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.preset-menu-row-menu-btn{flex-shrink:0;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .12s ease,color .12s ease}.preset-menu-row-menu-btn:hover{background:var(--bg-disabled);color:var(--text-strong)}.preset-menu-row-menu-btn>svg{width:14px;height:14px}.preset-menu-form{display:flex;flex-direction:column;gap:8px;padding:4px 4px 2px}.preset-menu-field{display:flex;flex-direction:column;gap:4px}.preset-menu-field-label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.preset-menu-input{height:32px;padding:0 10px;border:1px solid var(--border-warm-strong);border-radius:8px;background:var(--bg-surface);color:var(--text-strong);font-size:12.5px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.preset-menu-input:focus{border-color:var(--border-subtle);box-shadow:var(--focus-ring-muted)}.preset-menu-error{padding:6px 8px;border-radius:6px;background:var(--danger-bg);color:var(--danger-deepest);font-size:11.5px}.preset-menu-actions{display:flex;align-items:center;gap:6px;padding:6px 4px 2px;border-top:1px solid var(--border-soft);margin-top:4px}.preset-menu-actions>.btn:last-child{margin-left:auto}
