@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");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:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_3a41d0{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_3a41d0{--font-body:"Public Sans","Public Sans Fallback"}:root{--bg:#dfe8dc;--bg-soft:#d6e0d3;--panel:rgba(248,251,247,0.85);--panel-strong:#eef2ed;--panel-muted:rgba(225,234,222,0.72);--line:rgba(85,115,90,0.2);--text:#232e24;--muted:#506553;--accent:#e07840;--accent-strong:#d4612e;--teal:#2f8a6e;--success:#3d7f3f;--warning:#b58724;--danger:#c44338;--radius-xl:24px;--radius-lg:18px;--shadow:0 20px 60px rgba(35,55,38,0.12);color-scheme:light}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,rgba(224,120,64,.07),transparent 28%),radial-gradient(circle at bottom right,rgba(47,138,110,.07),transparent 22%),linear-gradient(160deg,#d5e0d2,#dfe8dc 58%,#d2dccf)}body{min-height:100vh;margin:0;color:var(--text);font-family:var(--font-body),"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}p{line-height:1.6}.auth-page,.site-grid{min-height:100vh}.auth-page{display:grid;align-items:center;padding:24px}.auth-layout{display:grid;grid-gap:24px;gap:24px;width:min(1180px,100%);margin:0 auto;grid-template-columns:minmax(0,1.15fr) minmax(340px,420px)}.auth-stage{display:grid;grid-gap:20px;gap:20px;align-content:center}.auth-hero{display:grid;grid-gap:18px;gap:18px;padding:34px}.auth-card h1,.auth-hero h1,.metric-card__value,.page-title,.rota-matrix__title,.section-card__title{font-family:var(--font-display),Georgia,serif}.auth-hero h1{margin:0;font-size:clamp(2.9rem,6vw,5.8rem);line-height:.95}.auth-card p,.auth-hero p,.field-help,.field-label,.metric-card__label,.metric-card__meta,.page-subtitle,.section-card__body,.section-list,.table-caption{color:var(--muted)}.hero-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.hero-kicker{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:8px 14px;border-radius:999px;border:1px solid rgba(196,149,46,.25);background:rgba(196,149,46,.08);color:var(--warning);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-card,.detail-table,.form-field,.hero-card,.info-card,.metric-card,.rota-matrix,.section-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card{width:min(100%,480px);padding:32px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.button--google{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 20px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.7);color:var(--text);font-size:.92rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s}.button--google:hover{background:rgba(255,255,255,.9)}.auth-card form,.form-stack{display:grid;grid-gap:14px;gap:14px}.flash-stack{display:grid;grid-gap:12px;gap:12px}.field-label{display:grid;grid-gap:8px;gap:8px;font-size:.94rem;font-weight:600}.field-input,.field-select,.field-textarea{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(100,130,105,.22);border-radius:16px;background:rgba(255,255,255,.85);color:var(--text);font:inherit}.field-textarea{min-height:120px;padding:14px;resize:vertical}.field-help{font-size:.88rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 18px;border-radius:999px;border:0;font-weight:700;font:inherit;text-decoration:none;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.button:hover{transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff9f4}.button--secondary{background:rgba(58,153,128,.1);color:var(--teal)}.button--secondary:hover{background:rgba(58,153,128,.16)}.button--pending{opacity:.7;cursor:wait}.button__pending-content{display:inline-flex;align-items:center;gap:8px}.button:disabled{pointer-events:none;opacity:.5}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:currentcolor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.progress-bar{width:100%;height:4px;border-radius:2px;background:rgba(100,130,105,.16);overflow:hidden}.progress-bar__track{width:40%;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--teal));animation:progress-slide 1.4s ease-in-out infinite}@keyframes progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.operation-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(40,60,42,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.operation-overlay__card{display:grid;grid-gap:14px;gap:14px;padding:32px 40px;border-radius:20px;background:var(--panel);border:1px solid var(--line);min-width:280px;text-align:center}.operation-overlay__label{margin:0;font-weight:700;font-size:1rem}.operation-overlay__elapsed{margin:0;font-size:.85rem;color:var(--text-muted)}.confirm-dialog{padding:24px;margin:auto;max-width:440px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-strong);color:var(--text);box-shadow:var(--shadow)}.confirm-dialog[open]{display:flex;align-items:center;justify-content:center}.confirm-dialog::-webkit-backdrop{background:rgba(40,60,42,.4)}.confirm-dialog::backdrop{background:rgba(40,60,42,.4)}.confirm-dialog__content{display:flex;flex-direction:column;gap:16px}.confirm-dialog__title{margin:0;font-size:1.1rem}.confirm-dialog__message{margin:0;color:var(--muted);line-height:1.5}.confirm-dialog__actions{display:flex;gap:10px;justify-content:flex-end}.button-row,.stack-row{display:flex;flex-wrap:wrap;gap:12px}.button-row .status-chip,.detail-table .status-chip,.stack-row .status-chip{margin-bottom:0}.helper-copy{margin:0;font-size:.92rem;color:var(--muted)}.shell{display:grid;min-height:100vh;grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .2s ease}.shell--collapsed{grid-template-columns:64px minmax(0,1fr)}.shell__sidebar{display:flex;flex-direction:column;gap:16px;padding:20px 16px;border-right:1px solid var(--line);background:rgba(248,251,247,.65);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;transition:padding .2s ease}.shell--collapsed .shell__sidebar{padding:20px 10px;align-items:center}.shell__brand{padding-bottom:8px}.shell__brand h1{margin:0;font-family:var(--font-display),Georgia,serif;line-height:1.1;font-size:1.5rem}.shell__brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.shell__brand-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:rgba(224,120,64,.12);color:var(--accent);font-weight:800;font-size:1.1rem;font-family:var(--font-display),Georgia,serif;cursor:pointer;transition:border-color .12s ease}.shell__brand-icon:hover{border-color:var(--line)}.shell__toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:2px;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s ease,border-color .12s ease}.shell__toggle-btn:hover{border-color:var(--line);background:rgba(100,130,105,.08);color:var(--text)}.auth-card h1,.hero-card h3,.info-card h3,.shell__header h2{margin:0;font-family:var(--font-display),Georgia,serif;line-height:1.1}.auth-card p,.hero-card p,.info-card p,.shell__brand p,.shell__header p{margin:0;color:var(--muted)}.shell__eyebrow{display:inline-flex;margin-bottom:6px;color:var(--warning);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.shell__nav{display:flex;flex-direction:column;gap:4px;flex:1 1}.shell__nav a{padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;text-decoration:none;transition:background .12s ease,border-color .12s ease}.shell--collapsed .shell__nav a{padding:10px;justify-content:center}.shell__nav .is-active,.shell__nav a:hover{border-color:var(--line);background:rgba(224,120,64,.08);color:var(--text)}.nav-item{display:flex;align-items:center;gap:10px}.shell--collapsed .nav-item{justify-content:center}.nav-icon{flex-shrink:0;display:flex;align-items:center}.nav-icon,.nav-icon svg{width:20px;height:20px}.nav-label{white-space:nowrap;overflow:hidden}.shell__content{padding:32px}.shell__header{display:grid;grid-gap:14px;gap:14px;margin-bottom:28px}.shell__header-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.page-title{margin:0;font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.02}.page-subtitle{margin:0;max-width:58rem}.page-eyebrow{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-bottom:10px;color:var(--warning);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.panel-stack{display:grid;grid-gap:20px;gap:20px}.hero-card,.info-card,.section-card{padding:24px}.hero-card{display:grid;grid-gap:12px;gap:12px}.form-field,.section-card{display:grid;grid-gap:16px;gap:16px}.form-field{padding:20px}.section-card__title{margin:0;font-size:1.6rem}.section-card__body{margin:0}.grid-cards{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{display:grid;grid-gap:8px;gap:8px;padding:22px}.metric-card__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.14em}.metric-card__value{font-size:clamp(2rem,3vw,2.8rem)}.metric-card__meta{font-size:.95rem}.status-chip{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;margin-bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(74,143,76,.12);color:var(--success);font-size:.88rem;font-weight:700}.status-chip--warning{background:rgba(196,149,46,.12);color:var(--warning)}.status-chip--danger{background:rgba(208,79,68,.1);color:var(--danger)}.status-chip--neutral{background:rgba(58,153,128,.1);color:var(--teal)}.section-list{display:grid;grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.section-list li{display:grid;grid-gap:6px;gap:6px;padding-bottom:14px;border-bottom:1px solid rgba(100,130,105,.16)}.section-list li:last-child{border-bottom:0;padding-bottom:0}.list-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.list-title{font-weight:700}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip-row .status-chip{margin-bottom:0}.editor-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.config-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.config-field-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.checkbox-option,.toggle-field{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid rgba(100,130,105,.18);border-radius:16px;background:rgba(255,255,255,.6);color:var(--text)}.checkbox-option input,.toggle-field input{width:18px;height:18px;margin-top:2px}.toggle-field--compact{padding:8px 12px;border-radius:10px;font-size:.88rem;cursor:pointer}.toggle-field--compact:has(input:checked){background:rgba(58,153,128,.12);border-color:var(--teal)}.checkbox-panel{display:grid;grid-gap:12px;gap:12px;margin:0;padding:16px;border:1px solid rgba(100,130,105,.18);border-radius:18px;background:rgba(255,255,255,.5)}.checkbox-panel legend{padding:0 8px;color:var(--muted);font-size:.94rem;font-weight:600}.checkbox-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.checkbox-copy{display:grid;grid-gap:4px;gap:4px}.section-list form{margin-top:6px}.mini-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(100,130,105,.08);color:var(--muted);font-size:.82rem}.mini-chip--link{text-decoration:none;cursor:pointer;transition:background .15s ease}.mini-chip--link:hover{background:rgba(100,130,105,.14);color:var(--text)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;line-height:1}.detail-table,.rota-matrix{overflow:hidden}.detail-table table,.rota-matrix table{width:100%;border-collapse:collapse}.detail-table td,.detail-table th,.rota-matrix td,.rota-matrix th{padding:14px 16px;border-bottom:1px solid rgba(100,130,105,.16);text-align:left;vertical-align:top}.detail-table tr:last-child td,.rota-matrix tr:last-child td{border-bottom:0}.detail-table th,.rota-matrix th{font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warning)}.rota-matrix{display:grid}.rota-matrix__header{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;padding:22px 22px 0}.rota-matrix__title{margin:0;font-size:1.5rem}.table-caption{margin:0;padding:0 22px 18px}.emphasis{color:var(--text);font-weight:700}.split-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:1.2fr .8fr;align-items:start}.callout{padding:18px;border-radius:18px;background:var(--panel-muted);border:1px solid rgba(100,130,105,.16)}.callout p{margin:0}.validation-error-list{margin:6px 0 0;padding-left:20px;color:var(--danger);font-size:.9rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.cal-header{padding:8px 4px;text-align:center;font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cal-cell{min-height:80px;padding:6px;border-radius:8px;background:var(--panel-muted);display:flex;flex-direction:column;gap:3px}.cal-cell--empty{background:transparent;min-height:0}.cal-cell--today{outline:2px solid var(--accent);outline-offset:-2px}.cal-cell--leave{background:rgba(74,143,76,.08)}.cal-cell--weekend{background:rgba(196,149,46,.06)}.cal-date{font-size:.88rem;font-weight:700;line-height:1}.cal-month{font-size:.68rem;color:var(--muted);line-height:1;margin-bottom:2px}.cal-shift{padding:3px 5px;border-radius:4px;font-size:.72rem;line-height:1.3;display:flex;gap:4px;align-items:baseline}.cal-shift--normal{background:rgba(13,107,94,.12)}.cal-shift--long{background:rgba(138,93,0,.1)}.cal-shift--late{background:rgba(148,74,0,.1)}.cal-shift--night{background:rgba(91,45,158,.12);color:var(--danger)}.cal-shift--on_call_day,.cal-shift--on_call_night{background:rgba(26,91,181,.1)}.cal-shift--spa{background:rgba(42,110,42,.1)}.cal-shift--leave{background:rgba(74,143,76,.1);color:var(--success);font-style:italic}.cal-shift-time{font-weight:600;white-space:nowrap}.cal-shift-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:640px){.cal-grid{grid-template-columns:repeat(7,1fr);gap:1px}.cal-cell{min-height:60px;padding:4px}.cal-shift-time{display:none}}.timeline{display:grid;grid-gap:16px;gap:16px}.timeline-item{display:grid;grid-gap:4px;gap:4px;padding-left:16px;border-left:2px solid rgba(224,120,64,.24)}@media (max-width:900px){.shell,.shell--collapsed{grid-template-columns:1fr}.shell__sidebar{border-right:none;border-bottom:1px solid var(--line)}.shell--collapsed .shell__sidebar{flex-direction:row;flex-wrap:wrap;padding:12px}.shell__nav{flex-direction:row;flex-wrap:wrap;gap:4px}.shell__toggle-btn{display:none}.shell__content{padding:20px}.auth-layout,.split-grid{grid-template-columns:1fr}}.rota-table-wrap{background:#fafbfc;border-radius:18px;padding:16px;color:#1a2332}.rota-table-wrap .chip-row .rota-tag{font-size:.78rem}.rota-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem;color:#1a2332}.rota-table td,.rota-table th{padding:5px 6px;border-bottom:1px solid #e2e6ec;white-space:nowrap}.rota-table thead th{position:-webkit-sticky;position:sticky;top:0;background:#f0f2f5;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#5a6a7e;z-index:1;border-bottom:2px solid #d0d6e0}.rota-table__date-header{min-width:100px}.rota-table__worker-header{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;transform:rotate(180deg);min-width:32px;max-width:40px;height:120px;vertical-align:bottom;text-align:left;color:#2d3a4a}.rota-table__date-cell{font-weight:600;color:#5a6a7e;background:#f7f8fa}.rota-table__day{display:inline-block;width:30px;font-weight:700;color:#2d3a4a}.rota-table__row--weekend{background:#f0f7f6}.rota-table__row--weekend .rota-table__date-cell{background:#e8f3f1}.rota-table__row--bank-holiday{background:#fef9ee}.rota-table__row--bank-holiday .rota-table__date-cell{background:#fdf3dc}.rota-table__cell{text-align:center}.rota-table__cell--empty{background:#f9fafb}.rota-table__cell--conflict{background:#fff0ee}.rota-tag{display:inline-block;min-width:32px;padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:700;line-height:1.3;margin:1px;text-align:center}.rota-tag--normal{background:var(--rota-normal-bg,#d4f5ef);color:var(--rota-normal-text,#0d6b5e)}.rota-tag--long{background:var(--rota-long-bg,#fde8b8);color:var(--rota-long-text,#8a5d00)}.rota-tag--late{background:var(--rota-late-bg,#fddcb5);color:var(--rota-late-text,#944a00)}.rota-tag--night{background:var(--rota-night-bg,#e4d6f8);color:var(--rota-night-text,#5b2d9e)}.rota-tag--on_call_day{background:var(--rota-on_call_day-bg,#c8dff9);color:var(--rota-on_call_day-text,#1a5bb5)}.rota-tag--on_call_night{background:var(--rota-on_call_night-bg,#d8cef0);color:var(--rota-on_call_night-text,#4a2d8e)}.rota-tag--spa{background:var(--rota-spa-bg,#d2edcf);color:var(--rota-spa-text,#2a6e2a)}.rota-tag--conflict{outline:2px solid #e53935;outline-offset:-1px}.rota-table__cell--editable{cursor:pointer;transition:background .12s ease}.rota-table__cell--editable:hover{background:rgba(58,153,128,.08)}.rota-table__cell--active{background:rgba(58,153,128,.14)!important;outline:2px solid #3a9980;outline-offset:-2px}.rota-table__cell--dirty{background:#fef9ee!important;border-left:3px solid #e8a317}.rota-table__stats-row{background:#d8dce4;border-bottom:1px solid #c0c8d4}.rota-table__stats-row:last-child{border-bottom:3px solid #b0b8c4}.rota-table__stats-row--expanded .stat-pip{background:none;color:#2d3a4a;padding:0}.rota-table__stats-cell{white-space:nowrap;padding:4px 3px!important}.stat-pip{display:inline-block;min-width:32px;padding:2px 8px;border-radius:6px;font-size:.65rem;font-weight:700;line-height:1.4;margin:0 1px;text-align:center}.stat-pip--hours{background:var(--stat-hours-bg,#d4f5ef);color:var(--stat-hours-text,#0d6b5e)}.stat-pip--avg{background:var(--stat-avg-bg,#c8dff9);color:var(--stat-avg-text,#1a5bb5)}.stat-pip--oncall{background:var(--stat-oncall-bg,#e4d6f8);color:var(--stat-oncall-text,#5b2d9e)}.stat-pip--leave{background:var(--stat-leave-bg,#fde8b8);color:var(--stat-leave-text,#8a5d00)}.stat-pip--weekend{background:var(--stat-weekend-bg,#fddcb5);color:var(--stat-weekend-text,#944a00)}.stat-pip--study{background:var(--stat-study-bg,#d2edcf);color:var(--stat-study-text,#2a6e2a)}.stat-pip--ltft{background:var(--stat-ltft-bg,#f0e6f6);color:var(--stat-ltft-text,#7b3fa0)}.constraint-tag{display:inline-block;min-width:32px;padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:700;line-height:1.3;margin:1px;text-align:center}.constraint-tag--ltft{background:var(--ct-ltft-bg,#f0e6f6);color:var(--ct-ltft-text,#7b3fa0)}.constraint-tag--unavail{background:var(--ct-unavail-bg,#fce4e4);color:var(--ct-unavail-text,#c62828)}.constraint-tag--override{background:var(--ct-override-bg,#d4f5ef);color:var(--ct-override-text,#0d6b5e)}.constraint-tag--leave{background:var(--ct-leave-bg,#fde8b8);color:var(--ct-leave-text,#8a5d00)}.constraint-tag--study{background:var(--ct-study-bg,#d2edcf);color:var(--ct-study-text,#2a6e2a)}.constraint-tag--spa{background:var(--ct-spa-bg,#c8dff9);color:var(--ct-spa-text,#1a5bb5)}.constraint-tag--sick{background:var(--ct-sick-bg,#fddcb5);color:var(--ct-sick-text,#944a00)}.constraint-tag--life{background:var(--ct-life-bg,#e4d6f8);color:var(--ct-life-text,#5b2d9e)}.rota-table-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:10px;border-radius:12px;background:#eef6f5;border:1px solid #c2e0dc}.rota-table-toolbar__count{font-size:.85rem;font-weight:700;color:#0d6b5e;margin-right:auto}.cell-menu-backdrop{position:fixed;inset:0;z-index:50}.cell-menu{position:absolute;z-index:51;min-width:200px;max-width:260px;background:#fff;border:1px solid #d0d6e0;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);overflow:hidden}.cell-menu__header{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:#f0f2f5;border-bottom:1px solid #e2e6ec;font-size:.8rem;color:#2d3a4a}.cell-menu__header strong{font-size:.85rem}.cell-menu__section{padding:6px 0;border-bottom:1px solid #f0f2f5}.cell-menu__section:last-child{border-bottom:0}.cell-menu__section-label{padding:4px 14px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8899aa}.cell-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 14px;border:0;background:none;font:inherit;font-size:.8rem;color:#2d3a4a;cursor:pointer;text-align:left}.cell-menu__item:hover{background:#f0f7f6}.cell-menu__item--remove:hover{background:#fff0ee}.cell-menu__remove-label{margin-left:auto;font-size:.7rem;color:#e53935;font-weight:600}.legend-chip{cursor:pointer;transition:outline .12s ease,transform 80ms ease;outline:2px solid transparent;outline-offset:1px}.legend-chip:hover{outline-color:rgba(0,0,0,.18);transform:translateY(-1px)}.color-picker{position:absolute;z-index:60;padding:12px;background:#fff;border:1px solid #d0d6e0;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.16);min-width:240px}.color-picker__label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8899aa;margin-bottom:4px}.color-picker__grid{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:4px;gap:4px}.color-picker__grid+.color-picker__label{margin-top:8px}.color-picker__swatch{width:24px;height:24px;border:2px solid transparent;border-radius:5px;cursor:pointer;font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center;transition:transform 80ms ease,border-color 80ms ease}.color-picker__swatch:hover{transform:scale(1.15);border-color:rgba(0,0,0,.2)}.color-picker__swatch--active{border-color:rgba(0,0,0,.4);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.color-picker__reset{display:block;width:100%;margin-top:8px;padding:5px;border:1px solid #e2e6ec;border-radius:6px;background:#f7f8fa;font:inherit;font-size:.72rem;font-weight:600;color:#5a6a7e;cursor:pointer;transition:background .12s ease}.color-picker__reset:hover{background:#eef0f4}.rota-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 20px;background:#2a3a2c;color:#fff;border-radius:10px;font-size:.85rem;font-weight:600;box-shadow:0 4px 16px rgba(40,60,42,.25);z-index:200;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.compact-mode .field-help,.compact-mode .helper-copy,.compact-mode .page-subtitle,.compact-mode .section-card__body,.compact-mode .shell__sidebar p,.compact-mode .table-caption{display:none}.compact-mode .form-stack,.compact-mode .panel-stack,.compact-mode .section-card{gap:10px}.compact-mode .shell__brand{padding-bottom:8px}.compact-mode .shell__header{gap:0}.compact-mode .hero-card,.compact-mode .info-card,.compact-mode .section-card{padding:16px}