:root{--bg:#f5f5f4;--surface:#fff;--surface-muted:#fafaf9;--border:#e7e5e4;--border-strong:#d6d3d1;--text:#1c1917;--text-2:#44403c;--text-3:#57534e;--text-4:#78716c;--teal:#0f766e;--teal-dark:#115e59;--teal-tint:#e6f2f1;--teal-soft:#f0f7f6;--teal-line:#99cbc6;--school:#c2410c;--school-text:#9a3412;--school-tint:#ffedd5;--school-soft:#fff7ed;--school-line:#fdba74;--outside:#1d4ed8;--outside-text:#1e40af;--outside-tint:#dbeafe;--carry:#6d28d9;--carry-text:#5b21b6;--carry-tint:#ede9fe;--absence:#57534e;--absence-tint:#e7e5e4;--warn-tint:#fef3c7;--warn-text:#78350f;--danger:#991b1b;--danger-tint:#fee2e2;--admin-bar:#1c1917;--border-soft:#f0efed;--chip-text:#292524;--neutral-line:#a8a29e;--teal-ink:#134e4a;--school-ink:#7c2d12;--school-strong:#431407;--school-border:#fed7aa;--outside-line:#93c5fd;--outside-soft:#eff6ff;--carry-line:#a78bfa;--danger-soft:#fef2f2;--danger-line:#fecaca;--on-fill:#fff;--radius:16px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0a09;--surface:#1c1917;--surface-muted:#292524;--border:#3a3633;--border-strong:#57534e;--text:#fafaf9;--text-2:#e7e5e4;--text-3:#d6d3d1;--text-4:#a8a29e;--teal:#2dd4bf;--teal-dark:#5eead4;--teal-tint:#123a36;--teal-soft:#0f2725;--teal-line:#1f6f66;--school:#fb923c;--school-text:#fdba74;--school-tint:#57301a;--school-soft:#3a2312;--school-line:#9a3412;--outside:#60a5fa;--outside-text:#93c5fd;--outside-tint:#172b4d;--carry:#a78bfa;--carry-text:#c4b5fd;--carry-tint:#2e2152;--absence:#a8a29e;--absence-tint:#3a3633;--warn-tint:#3d2c08;--warn-text:#fcd34d;--danger:#f87171;--danger-tint:#3f1515;--admin-bar:#292524;--border-soft:#2c2826;--chip-text:#f5f5f4;--neutral-line:#78716c;--teal-ink:#99f6e4;--school-ink:#fed7aa;--school-strong:#ffedd5;--school-border:#5c2a10;--outside-line:#2f5ea8;--outside-soft:#111e33;--carry-line:#8b5cf6;--danger-soft:#2b1010;--danger-line:#7f1d1d;--on-fill:#0c0a09}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums;margin:0;line-height:1.4}h1,h2,p{margin:0}h2{font-size:16px;font-weight:600}a{color:var(--teal)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}input[type=email],input[type=date],input[type=text],input:not([type]),textarea{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;min-height:44px;padding:0 12px}textarea{resize:vertical;padding:10px 12px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:var(--surface);border-radius:8px;padding:8px 12px;top:8px;left:16px}.admin-header{background:var(--admin-bar);color:#fff}.admin-header__inner{flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:#fff;align-items:center;gap:10px;min-height:44px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.brand__pill{letter-spacing:.06em;text-transform:uppercase;color:#134e4a;background:#5eead4;border-radius:999px;padding:3px 8px;font-size:11px}.admin-nav{flex-wrap:wrap;flex:auto;gap:4px;display:flex}.admin-nav__link{color:#d6d3d1;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.admin-nav__link.active{color:#fff;background:#ffffff24;font-weight:600}.badge{background:var(--school-line);min-width:20px;height:20px;color:var(--school-strong);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.lang{border:1px solid var(--border);border-radius:999px;gap:2px;padding:2px;display:flex}.lang button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:40px;height:36px;font-size:13px;font-weight:600}.lang--dark{border-color:#ffffff40}.lang--dark button{color:#d6d3d1}.lang--dark button[aria-pressed=true]{color:#1c1917;background:#fff}.lang button[aria-pressed=true]{background:var(--text);color:var(--surface)}.admin-header__end{align-items:center;gap:10px;display:flex}.sign-out{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600}.auth{background:var(--bg);min-height:100vh}.auth__header{justify-content:space-between;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:16px 16px 0;display:flex}.brand--light{color:var(--text)}.auth__main{max-width:560px;margin:0 auto;padding:24px 16px 48px}.auth__card h1{margin:0;font-size:28px}.lead{margin:0;font-size:17px;line-height:1.5}.mock-banner{background:var(--warn-tint);color:var(--warn-text);text-align:center;padding:6px 16px;font-size:13px}.container{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:32px 24px 64px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header h1{letter-spacing:-.02em;font-size:36px}.page-header__subtitle{color:var(--text-3);max-width:680px;margin-top:6px;font-size:15px}.page-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.layout-split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.layout-split__main{flex:3 560px;min-width:0}.layout-split__side{flex:320px;min-width:0}.stack{flex-direction:column;gap:16px;display:flex}.stack--tight{gap:8px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row--between{justify-content:space-between}.row--end{align-items:flex-end}.grow{flex:220px}.cards-row{flex-wrap:wrap;gap:20px;display:flex}.cards-row>.card{flex:320px}.scroll-x{overflow-x:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px}.card>h2+*{margin-top:10px}.card--flush{padding:0;overflow:hidden}.card__head{padding:20px 24px 12px}.empty{text-align:center;color:var(--text-3);padding:40px 20px}.state{color:var(--text-3);padding:16px 24px}.state--error{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.callout{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:14px}.callout--teal{background:var(--teal-soft);border-color:var(--teal-line);color:var(--teal-ink)}.callout--danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.error-text{color:var(--danger);font-size:14px}.muted-text{color:var(--text-3);font-size:14px}.muted-small{color:var(--text-3);font-size:13px}.strong{font-weight:600}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:999px;min-height:44px;padding:0 18px;font-size:15px;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--teal);border-color:var(--teal);color:var(--on-fill)}.btn--danger{background:var(--danger);border-color:var(--danger);color:var(--on-fill)}.btn--quiet{background:0 0;border-color:#0000;min-height:40px;padding:0 8px}.btn--danger-text{color:var(--danger)}.icon-btn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--teal);cursor:pointer;border-radius:22px;font-size:22px}.segmented{scrollbar-width:none;background:var(--border);border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented__option{height:38px;color:var(--text-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:14px;font-weight:500}.segmented__option[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}.switch{background:var(--border-strong);cursor:pointer;border:0;border-radius:16px;flex:none;justify-content:flex-start;width:52px;height:32px;padding:3px;display:flex}.switch[aria-checked=true]{background:var(--teal);justify-content:flex-end}.switch__knob{background:#fff;border-radius:13px;width:26px;height:26px;box-shadow:0 1px 3px #0003}.stepper{align-items:center;gap:14px;display:inline-flex}.stepper__value{text-align:right;min-width:28px;font-size:18px;font-weight:600}.stepper__buttons{border:1px solid var(--border-strong);border-radius:10px;display:inline-flex;overflow:hidden}.stepper__buttons button{background:var(--surface);cursor:pointer;border:0;width:44px;height:40px;font-size:20px}.stepper__buttons button+button{border-left:1px solid var(--border-strong)}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--text-3);font-size:13px;font-weight:600}.avatar{background:var(--border);width:40px;height:40px;color:var(--chip-text);border-radius:20px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.chip{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.chip--school{background:var(--school-tint);color:var(--school-text)}.chip--outside{background:var(--outside-tint);color:var(--outside-text)}.chip--carry{background:var(--carry-tint);color:var(--carry-text)}.chip--absence,.chip--neutral{background:var(--absence-tint);color:var(--chip-text)}.chip--ok{background:var(--teal-tint);color:var(--teal-dark)}.chip--warn{background:var(--warn-tint);color:var(--warn-text)}.chip--danger{background:var(--danger-tint);color:var(--danger)}.chip--outline{border:1px solid var(--text-2);color:var(--chip-text);padding:3px 9px}.chip--dashed{border:1px dashed var(--neutral-line);color:var(--text-3);padding:3px 9px;font-weight:500}.request{flex-direction:column;gap:14px;display:flex}.request__head{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.request__who,.member-list__who,.cell-stack{flex-direction:column;gap:2px;display:flex}.request__who{flex:200px}.request__name{font-size:16px;font-weight:600}.request__waiting{color:var(--text-3);font-size:13px}.request__waiting--overdue{color:var(--school-text);font-weight:600}.request__title{letter-spacing:-.01em;font-size:18px}.request__actions,.request__reject,.request__outcome{border-top:1px solid var(--border);padding-top:14px}.request__reject{flex-direction:column;gap:10px;display:flex}.request__outcome{color:var(--teal-dark);font-size:14px;font-weight:600}.request__outcome--rejected{color:var(--danger)}.day-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.day-chips li{flex-direction:column;gap:4px;min-width:104px;display:flex}.day-chips__day{font-size:13px;font-weight:600}.day-chips .chip{white-space:normal;border-radius:8px}.facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 20px;margin:0;display:grid}.facts dt{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.facts dd{margin:2px 0 0;font-size:14px}.month-nav{align-items:center;gap:4px;display:flex}.month-nav__label{text-align:center;min-width:160px;font-size:17px;font-weight:600}.legend__swatch{width:16px;height:14px;display:inline-block}.team-grid{flex-direction:column;gap:4px;min-width:1100px;display:flex}.team-grid__row{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:2px;display:grid}.team-grid__cells{gap:2px;display:grid}.team-grid__name{z-index:1;background:var(--surface);flex-direction:column;justify-content:center;align-self:stretch;padding-right:8px;font-size:14px;font-weight:600;display:flex;position:sticky;left:0}.team-grid__head{color:var(--text-3);flex-direction:column;align-items:center;padding:4px 0;font-size:11px;display:flex}.team-grid__head--school{background:var(--school-soft);border-top:2px solid var(--school-line)}.team-grid__date{color:var(--text);font-size:13px;font-weight:600}.team-grid__head--holiday .team-grid__date{border:1.5px solid var(--text-2);border-radius:11px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.cell{background:var(--surface-muted);border-radius:4px;height:32px}.legend .cell{height:14px}.cell--off{background:repeating-linear-gradient(135deg, var(--border) 0 3px, var(--surface) 3px 6px)}.cell--half{background:linear-gradient(180deg, var(--surface-muted) 50%, var(--border) 50%)}.cell--schoolApproved{background:var(--school)}.cell--outsideApproved{background:var(--outside)}.cell--schoolRequested{background:var(--school-tint);border:1.5px dashed var(--school)}.cell--outsideRequested{background:var(--outside-tint);border:1.5px dashed var(--outside)}.cell--planned{background:var(--surface);border:1.5px dotted var(--outside)}.cell--absence{background:var(--absence)}.cell--absenceRequested{background:var(--absence-tint);border:1.5px dashed var(--absence)}.cell--schoolHoliday{background:var(--school-soft);border-top:2px solid var(--school-line)}.table{border-collapse:collapse;width:100%;min-width:860px;font-size:15px}.table th,.table td{text-align:left;vertical-align:top;border-top:1px solid var(--border-soft);padding:12px 16px}.table thead th{background:var(--surface-muted);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.table tbody th{white-space:nowrap;font-weight:500}.num{font-weight:600}.num--school{color:var(--school-text)}.num--outside{color:var(--outside-text)}.members-layout{align-items:start;gap:20px;display:grid}@media (width>=960px){.members-layout{grid-template-columns:minmax(0,3fr) minmax(340px,2fr)}.members-layout__detail{grid-area:1/2/span 2}}.members-layout__detail{scroll-margin-top:16px}.member-list{margin:0;padding:0;list-style:none}.member-list li+li{border-top:1px solid var(--border-soft)}.member-list__item{background:var(--surface);text-align:left;cursor:pointer;border:0;border-left:4px solid #0000;grid-template-columns:36px minmax(0,1fr) minmax(0,1.3fr) 64px;align-items:center;gap:8px 16px;width:100%;min-height:64px;padding:12px 20px;display:grid}.member-list__item>:last-child{text-align:right}.member-list__item[aria-pressed=true]{border-left-color:var(--teal);background:var(--teal-soft)}.member-list__who{min-width:0}.member-list__name,.detail-name{font-weight:600}.detail-name{font-size:18px}.member-list__schedule{color:var(--text-2);font-size:14px}.detail-link{border-top:1px solid var(--border);min-height:44px;color:var(--text);justify-content:space-between;align-items:center;padding-top:12px;text-decoration:none;display:flex}.detail-link+.detail-link{border-top:0;padding-top:0}.detail-link__open{color:var(--teal);font-weight:600}.week__days{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.week__day{border:1.5px solid var(--teal-line);background:var(--teal-soft);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;display:flex}.week__day--half{background:var(--surface)}.week__day--off{background:var(--bg);border-color:var(--border-strong)}.week__name{font-size:13px;font-weight:600}.week__value{color:var(--text-2);font-size:12px}.invite-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.invite-form__email{flex:2 240px}.invitations{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin:0;padding:14px 0 0;list-style:none;display:flex}.table.balances{min-width:1040px}.balances td{min-width:96px}.balances__pool{white-space:nowrap}.balances tr>:first-child{z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--border);position:sticky;left:0}.balances thead tr>:first-child{background:var(--surface-muted)}.amount-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;width:88px;min-height:40px;padding:0 10px;font-size:15px;font-weight:600}.amount-input--check{border-color:var(--school-line)}.amount-input--carry{border-style:dashed;border-color:var(--carry-line);color:var(--carry-text)}.hint{color:var(--text-3);font-size:12px}.hint--warn{color:var(--school-text)}.setting{box-sizing:border-box;border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:60px;padding:8px 0;font-size:15px;display:flex}.setting--column{align-items:stretch;padding:14px 0 0}.card>h2+.setting{margin-top:10px}.toggle-chips{flex-wrap:wrap;gap:8px;display:flex}.toggle-chip{border:1px solid var(--border-strong);background:var(--surface);min-height:36px;color:var(--text-2);cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600}.toggle-chip[aria-pressed=true]{border-color:var(--teal);background:var(--teal-tint);color:var(--teal)}.add-type{border-top:1px solid var(--border);margin:4px 0 10px;padding-top:14px}.date-list{margin:0;padding:0;list-style:none}.review{border:2px solid var(--teal)}.change-list,.affected{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.change-list li{background:var(--teal-soft);border-radius:10px;padding:10px 12px;font-weight:600}.affected li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:10px 0;font-size:14px;display:flex}.changed-days{width:100%;color:var(--text-2);margin:0;padding:0;font-size:14px;list-style:none}.scope{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.scope__option{border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.scope__option>span{flex-direction:column;gap:2px;display:flex}.scope__option input{width:20px;height:20px;accent-color:var(--teal);margin:1px 0 0}@media (width<=640px){.container{padding:20px 16px 48px}.page-header h1{font-size:28px}.card{padding:16px}.card--flush{padding:0}.card__head{padding:16px 16px 10px}.team-grid{min-width:960px}.team-grid__row{grid-template-columns:116px minmax(0,1fr)}.team-grid__name{font-size:13px}.balances tbody th{white-space:normal;min-width:104px;max-width:120px}.member-list__item{grid-template-columns:36px minmax(0,1fr) auto;padding:12px 16px}.member-list__schedule{grid-area:2/2/auto/-1}}a.btn,a.sign-out{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border)}.app-header__inner{flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.brand__org{color:var(--text-3);font-size:13px;font-weight:500}.app-nav{flex-wrap:wrap;flex:auto;gap:4px;display:flex}.app-nav__link{min-height:40px;color:var(--text-2);border-radius:999px;align-items:center;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.app-nav__link.active{background:var(--teal-tint);color:var(--teal);font-weight:600}.app-header__end{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kicker{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:13px;font-weight:600}.kicker--school{color:var(--school-text);margin:0}.muted{color:var(--text-3);margin:0}.small{font-size:13px}.notices{background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:14px;padding:4px 16px 4px 18px}.notices__item{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 0;display:flex}.notices__item+.notices__item{border-top:1px solid var(--teal-line)}.notices__item p{color:var(--teal-ink);flex:320px;margin:0;font-size:15px;line-height:1.45}.notices__item .btn{border-color:var(--teal-line);min-height:40px;color:var(--teal);font-size:14px}.attention{background:var(--warn-tint);color:var(--warn-text);border-radius:14px;padding:12px 18px;font-size:15px}.attention ul{margin:0;padding-left:18px}.days-left{flex-direction:column;gap:20px;padding:24px;display:flex;flex:3 560px!important}.days-left h2,.next-break h2,.coming-up h2,.by-type h2,.carry-over h2{margin:0;font-size:16px}.days-left__brackets{flex-wrap:wrap;gap:24px 40px;display:flex}.bracket{flex-direction:column;flex:240px;gap:8px;display:flex}.bracket p{margin:0}.bracket__label{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.swatch{border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.bracket__label .swatch{margin-right:0}.bracket--school .bracket__label{color:var(--school-text)}.bracket--school .swatch,.bracket--school .meter__taken{background:var(--school)}.bracket--school .meter{background:var(--school-tint)}.bracket--school .meter__planned{background:var(--school-line)}.bracket--outside .bracket__label{color:var(--outside-text)}.bracket--outside .swatch,.bracket--outside .meter__taken{background:var(--outside)}.bracket--outside .meter{background:var(--outside-tint)}.bracket--outside .meter__planned{background:var(--outside-line)}.bracket__left{align-items:baseline;gap:8px;display:flex}.bracket__number{letter-spacing:-.03em;font-size:56px;font-weight:700;line-height:1}.meter{background:var(--bg);border-radius:5px;height:10px;display:flex;overflow:hidden}.meter--thin{border-radius:3px;height:6px}.meter__taken{background:var(--text-3)}.meter__planned{background:var(--neutral-line)}.meter--carry .meter__taken{background:var(--carry)}.days-left__total{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:14px;font-size:14px;display:flex}.next-break{background:var(--school-soft);border-color:var(--school-border);flex-direction:column;gap:14px;padding:24px;display:flex;flex:2 320px!important}.next-break h2{color:var(--school-strong);font-size:24px}.next-break__dates{color:var(--school-ink);margin:4px 0 0;font-size:15px}.next-break__numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.next-break__numbers>div{background:var(--surface);border-radius:12px;padding:12px 14px}.next-break__number{margin:0 0 2px;font-size:26px;font-weight:700}.next-break__number--school{color:var(--school-text)}.next-break__note{color:var(--school-ink);margin:0;font-size:14px;line-height:1.45}.legend{color:var(--text-2);flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend__swatch{border-radius:3px;width:12px;height:12px}.bar--school{background:var(--school)}.bar--school-planned{background:var(--school-tint);border:1.5px dashed var(--school)}.bar--outside{background:var(--outside)}.bar--outside-planned{background:var(--outside-tint);border:1.5px dashed var(--outside)}.bar--carry{background:var(--carry)}.months{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;min-width:640px;margin-top:20px;display:grid}.months__month{flex-direction:column;align-items:center;gap:6px;font-size:13px;display:flex}.months__bars{border-bottom:1px solid var(--border-strong);flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;width:100%;height:160px;display:flex}.months__month--now .months__bars{border-bottom:2px solid var(--teal)}.months__month--now .months__name{color:var(--teal);font-weight:700}.bar{box-sizing:border-box;border-radius:4px;width:60%;max-width:36px}.months__name{color:var(--text-3)}.months__total{font-weight:600}.coming-up__list,.by-type__list{margin:12px 0 0;padding:0;list-style:none}.coming-up__item{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 0;display:flex}.coming-up__text{flex-direction:column;gap:3px;display:flex}.coming-up__title{font-size:16px;font-weight:600}.coming-up__chips{gap:6px}.date-badge{border:1px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;flex:none;width:52px;padding:6px 0;display:flex}.date-badge__month{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.date-badge--school .date-badge__month{color:var(--school-text)}.date-badge--outside .date-badge__month{color:var(--outside-text)}.date-badge__day{font-size:20px;font-weight:700}.by-type__list li{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;font-size:15px;display:flex}.by-type__list p{margin:0}.carry-over{flex-direction:column;gap:10px;display:flex}.carry-over h2{color:var(--carry-text);align-items:center;display:flex}.carry-over .swatch{background:var(--carry)}.carry-over__used{margin:0;font-size:17px;font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 18px}.stat p{margin:0}.stat__label{color:var(--text-3);font-size:13px;font-weight:600}.stat__value{font-size:28px;font-weight:700;margin-top:4px!important}.stat__value span{color:var(--text-3);font-size:14px;font-weight:500}.my-leave__filters{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--border-strong);background:var(--surface);min-height:36px;color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.filter-chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.filter-chip__swatch{background:var(--neutral-line);border-radius:3px;width:10px;height:10px}.filter-chip--school .filter-chip__swatch{background:var(--school)}.filter-chip--outside .filter-chip__swatch{background:var(--outside)}.filter-chip--carryOver .filter-chip__swatch{background:var(--carry)}.filter-chip--absence .filter-chip__swatch{background:var(--absence)}.bookings{border-collapse:collapse;width:100%;font-size:14px}.bookings th,.bookings td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.bookings thead th{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.bookings th:first-child,.bookings td:first-child{padding-left:24px}.bookings__group th{background:var(--surface-muted);color:var(--text-2);font-size:13px;font-weight:600}.bookings__dates{white-space:nowrap;font-weight:600}.bookings__context{color:var(--text-3);max-width:280px}.bookings__actions{white-space:nowrap;text-align:right!important}.bookings__actions .btn{min-height:36px;padding:0 14px;font-size:14px}.bookings__certificates td{background:var(--surface-muted)}.certificates__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;display:flex}.certificates__heading{color:var(--text-2);font-size:13px;font-weight:600}.certificates{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.certificates__item{flex-direction:column;gap:8px;display:flex}.certificates__line{flex-wrap:wrap;gap:4px 12px}.certificates__label{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.certificates__actions .btn{min-height:32px;padding:0 10px;font-size:13px}.certificates__image{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:min(100%,480px);height:auto;display:block}@media (width<=760px){.bookings thead{display:none}.bookings,.bookings tbody,.bookings tr,.bookings td,.bookings th{width:auto;display:block}.bookings tr{border-bottom:1px solid var(--border);padding:8px 16px}.bookings td,.bookings th,.bookings th:first-child,.bookings td:first-child{border:0;padding:4px 0}.bookings td[data-label]:not(.bookings__dates):before{content:attr(data-label) ": ";color:var(--text-3);font-size:12px}.bookings__group{background:var(--surface-muted)}.bookings__context{max-width:none}.bookings__actions{text-align:left!important}}.bookings__actions .btn+.btn{margin-left:6px}a.btn--primary{color:var(--on-fill)}.back-link{align-items:center;min-height:32px;margin-bottom:4px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.new-leave h2,.after h2{margin:0;font-size:16px}.new-leave__dates{gap:16px;margin-top:12px}.new-leave__dates input,.day-list__type select,.new-leave .field input{border:1px solid var(--border-strong);background:var(--surface);min-height:44px;font:inherit;color:var(--text);border-radius:10px;padding:0 12px}.new-leave__hint{background:var(--school-soft);color:var(--school-ink);border-radius:10px;margin:12px 0 0;padding:10px 14px;font-size:14px}.new-leave__approvers{color:var(--text-2);margin:0 0 14px;font-size:14px;line-height:1.5}.next-break__plan{border-color:var(--school-line);align-self:flex-start;color:var(--school-text)!important}.day-list{margin:12px 0;padding:0;list-style:none}.day-list__item{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 0;display:flex}.day-list__what{flex-direction:column;flex:200px;align-items:flex-start;gap:6px;display:flex}.day-list__day{margin:0;font-weight:600}.after__brackets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.after__bracket{border-radius:12px;padding:12px 14px}.after__bracket p{margin:0}.after__bracket--school{background:var(--school-soft)}.after__bracket--outside{background:var(--outside-soft)}.after__numbers{font-size:20px;margin-top:2px!important}.after__note{background:var(--warn-tint);color:var(--warn-text);border-radius:10px;margin:8px 0 0;padding:10px 14px;font-size:14px;line-height:1.45}.bridge-picker{border-color:var(--school-line);flex-direction:column;align-items:flex-start;gap:12px;display:flex}.bridge-picker h2,.bridge-picker p{margin:0}.add-tabs{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.add-tabs a{min-height:36px;color:var(--text-2);border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.add-tabs a[aria-current=page]{background:var(--teal-tint);border-color:var(--teal-line);color:var(--teal);font-weight:600}.absence-types{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.absence-type{border:1.5px solid var(--border);background:var(--surface);text-align:left;font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.absence-type[aria-pressed=true]{border-color:var(--teal);background:var(--teal-soft)}.absence-type__name{font-size:16px;font-weight:600}.absence-type__sub{color:var(--text-3);font-size:13px}.reasons{flex-direction:column;margin:12px 0;display:flex}.reason{border-top:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 0;font-size:15px;display:flex}.reason input{width:18px;height:18px;accent-color:var(--teal)}.steps{flex-direction:column;gap:8px;margin:12px 0;padding-left:20px;font-size:14px;line-height:1.45;display:flex}.calendar-legend{margin-bottom:16px}.cal-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.year-grid{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr));gap:12px;display:grid}.mini-month{background:var(--surface);font:inherit;text-align:left;cursor:pointer;border:1.5px solid #0000;border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.mini-month[aria-pressed=true]{border-color:var(--teal);background:var(--teal-soft)}.mini-month__name{text-transform:capitalize;font-size:14px;font-weight:600}.month-cells{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;font-size:11px;display:grid}.month-cells--weekdays{color:var(--text-4);margin-top:8px;font-weight:600}.month-cells--large{gap:4px;margin-top:4px;font-size:14px}.cal-day{color:var(--text);border-radius:5px;line-height:22px}.month-cells--large .cal-day{border-radius:8px;line-height:36px}.cal--weekend{color:var(--text-4)}.cal--school{background:var(--school-soft);color:var(--school-ink)}.cal--bridge{background:repeating-linear-gradient(135deg, var(--school-soft), var(--school-soft) 3px, var(--school-tint) 3px, var(--school-tint) 6px);color:var(--school-ink)}.cal--holiday{box-shadow:inset 0 0 0 1.5px var(--school-text);color:var(--school-text);font-weight:600}.cal--leaveSchool{--cal-fill:var(--school);--cal-tint:var(--school-tint);background:var(--school);color:var(--on-fill)}.cal--leaveOutside{--cal-fill:var(--outside);--cal-tint:var(--outside-tint);background:var(--outside);color:var(--on-fill)}.cal--leaveCarry{--cal-fill:var(--carry);--cal-tint:var(--carry-tint);background:var(--carry);color:var(--on-fill)}.cal--absence{--cal-fill:var(--absence);--cal-tint:var(--absence-tint);background:var(--absence);color:var(--on-fill)}.cal--morning,.cal--afternoon{--cal-half:90deg;color:#0000;background-image:linear-gradient(var(--cal-half), var(--on-fill) 50%, var(--cal-fill) 50%), linear-gradient(var(--cal-half), var(--cal-fill) 50%, var(--cal-tint) 50%);-webkit-background-clip:text,border-box;background-clip:text,border-box}.cal--afternoon{--cal-half:270deg}.cal-swatch.cal--morning{background-image:linear-gradient(90deg, var(--cal-fill) 50%, var(--cal-tint) 50%);-webkit-background-clip:border-box;background-clip:border-box}.cal--pending{opacity:.6;outline:1.5px dashed var(--text-2);outline-offset:-1.5px}.cal--today{box-shadow:inset 0 0 0 2px var(--teal);font-weight:700}.cal-swatch.cal--today{background:var(--surface)}.events{margin:12px 0;padding:0;list-style:none}.events li{border-top:1px solid var(--border);padding:10px 0}.events p{margin:0}.events__title{font-size:15px;font-weight:600}.events__bridge{align-items:flex-start;margin-top:8px}.events__leave{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 0 14px;display:flex}.month-events{flex-direction:column;align-items:stretch;display:flex}.month-events .btn{align-self:flex-start}.read-only{background:var(--surface);border:1px solid var(--border);color:var(--text-2);border-radius:12px;margin:0;padding:10px 14px;font-size:14px}.rule-facts{margin:12px 0 0}.rule-facts>div{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;font-size:15px;display:flex}.rule-facts dt{color:var(--text);text-transform:none;letter-spacing:normal;flex-direction:column;gap:2px;font-size:15px;font-weight:400;display:flex}.rule-facts__sub{text-transform:none}.rule-facts dd{text-align:right;margin:0;font-weight:600}.rule-facts__sub{color:var(--text-3);font-size:13px}.bridge-explainer{margin-top:12px}.mini-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.mini-table th,.mini-table td{text-align:left;border-top:1px solid var(--border);padding:8px 12px 8px 0}.mini-table th{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.mini-table--wide th:first-child,.mini-table--wide td:first-child{padding-left:24px}.notice-list{margin:0;padding:0;list-style:none}.notice-list li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:14px 24px;display:flex}.notice-list li:first-child{border-top:0}.notice-list p{margin:0}.notice-list__item--unread{background:var(--teal-soft)}.rule-facts--plain{margin:0}.rule-facts--plain>div:first-child{border-top:0;padding-top:0}.setting-row{align-items:center;gap:16px;margin-top:12px;display:flex}.setting-row .btn{white-space:nowrap}.setting-row__title{font-size:15px;display:block}.digest-choice{margin-top:12px}.payroll-missing{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 24px 16px;display:flex}.payroll-missing p{margin:0}.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:40px;font:inherit;color:var(--text);border-radius:8px;padding:0 10px}.input--short{max-width:140px}
