@font-face{font-family:Bebas Neue;src:url(/fonts/BebasNeue-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--font-heading:"Bebas Neue",sans-serif;--font-body:"Montserrat",sans-serif;--bg:#15191c;--surface:rgba(32,38,42,0.82);--surface-strong:#23292d;--ink:#ffffff;--muted:#c8d0d3;--line:rgba(255,255,255,0.12);--brand:#00b7b5;--brand-deep:#00918f;--accent:#2a2f33;--accent-soft:rgba(42,47,51,0.7);--success:#00b7b5;--warn:#f0a84b;--danger:#ff7f73;--danger-soft:rgba(255,127,115,0.12);--shadow:0 20px 60px rgba(0,0,0,0.35);--shadow-soft:0 1px 0 rgba(255,255,255,0.04) inset,0 18px 40px rgba(0,0,0,0.28);--shadow-lift:0 1px 0 rgba(255,255,255,0.06) inset,0 28px 60px rgba(0,0,0,0.4);--card:linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.022));--card-hairline:rgba(255,255,255,0.1);--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--max:1200px;--ease:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);overflow-x:clip;background:radial-gradient(900px 600px at 78% -8%,rgba(0,183,181,.16),transparent 60%),radial-gradient(760px 520px at 8% 4%,rgba(0,145,143,.1),transparent 58%),linear-gradient(180deg,#10141600,rgba(0,0,0,.18)),linear-gradient(180deg,#11161a,#141a1e 46%,#1b2226);background-attachment:fixed}::selection{background:rgba(0,183,181,.32);color:#ffffff}*{scrollbar-width:thin;scrollbar-color:rgba(0,183,181,.4) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(0,183,181,.32);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(0,183,181,.5);background-clip:padding-box}button,input,select{font:inherit}button{border:0;cursor:pointer}:focus-visible{outline:2px solid rgba(0,183,181,.6);outline-offset:2px;border-radius:8px}.page-shell{position:relative;min-height:100vh;padding:32px 20px 64px}.page-shell:before{top:-260px;left:50%;width:1100px;height:620px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,183,181,.22),transparent 72%);filter:blur(20px)}.page-shell:after,.page-shell:before{content:"";position:fixed;pointer-events:none;z-index:-1}.page-shell:after{inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 0);background-size:46px 46px;mask-image:radial-gradient(circle at 50% 0,rgba(0,0,0,.5),transparent 70%);-webkit-mask-image:radial-gradient(circle at 50% 0,rgba(0,0,0,.5),transparent 70%)}.layout{z-index:1;width:min(var(--max),100%);margin:0 auto;gap:28px}.hero,.layout{position:relative;display:grid}.hero{padding:8px 4px 12px;gap:22px}.hero-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.archive-item,.hero-top,.panel-head,.slot-header,.staff-line,.stat-grid,.summary-grid,.tab-nav,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.panel-head{align-items:flex-end;padding-bottom:.5rem;margin-bottom:1.5rem;gap:1rem 1.25rem}.panel-head>div:first-child{display:grid;gap:.45rem;min-width:min(100%,280px)}.panel-head h2{margin:0;line-height:1.1}.panel>.tab-pane{padding-top:1rem}.eyebrow,.mini-label{letter-spacing:.16em;font-size:.78rem}.eyebrow,.mini-label,.pill{text-transform:uppercase;font-weight:700}.pill{letter-spacing:.14em;font-size:.74rem}.eyebrow{color:var(--brand)}.demand-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1;border:1px solid transparent}.demand-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85}.demand-peak{background:rgba(255,127,115,.14);color:#ffd2cd;border-color:rgba(255,127,115,.32)}.demand-high{background:rgba(240,168,75,.14);color:#ffd49b;border-color:rgba(240,168,75,.32)}.demand-moderate{background:rgba(0,183,181,.14);color:#b9fffe;border-color:rgba(0,183,181,.32)}.demand-quiet{background:rgba(255,255,255,.06);color:#c8d0d3;border-color:rgba(255,255,255,.14)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400}h1,h2{letter-spacing:.04em}h3,h4{letter-spacing:.03em}h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.95;max-width:14ch}.hero-copy{position:relative;z-index:1;display:grid;gap:12px;max-width:820px}.hero-copy p{color:var(--muted);font-size:1.02rem;line-height:1.75;max-width:65ch}.badge-row,.cover-meta,.date-group,.legend,.quick-actions,.tab-nav{display:flex;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--ink);border:1px solid rgba(255,255,255,.1)}.pill.warn{background:rgba(240,168,75,.12);color:#ffd49b}.panel{padding:8px 4px 20px;border:none;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}.toolbar{padding:22px 24px;border:1px solid rgba(255,255,255,.08);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:var(--radius-lg);display:grid;gap:20px}.toolbar-cluster{display:flex;gap:16px;flex-wrap:wrap;align-items:end}.field{display:grid;gap:8px;min-width:180px}.field label{font-size:.88rem;color:var(--muted);font-weight:600}.field input{min-height:48px;border-radius:14px;border:1px solid var(--line);padding:0 14px;background:rgba(255,255,255,.06);color:var(--ink)}.field:has(>input[type=file]){min-width:min(100%,280px)}.field input[type=file]{padding:8px 12px;cursor:pointer;font-size:.88rem;line-height:1.45;color:var(--muted)}.field input[type=file]::file-selector-button{margin-right:12px;min-height:32px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.1);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.field input[type=file]::file-selector-button:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2)}.field input[type=file]::file-selector-button:active{transform:translateY(1px)}.field input[type=file]::-webkit-file-upload-button:active{transform:translateY(1px)}.button,.tab-button,.toggle{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.button:hover,.tab-button:hover,.toggle:hover{transform:translateY(-1px)}.button{min-height:48px;padding:0 18px;border-radius:14px;border:1px solid transparent;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px}.button.primary{background:var(--brand);color:#041313;box-shadow:0 14px 30px rgba(0,183,181,.22)}.button.secondary{background:rgba(255,255,255,.08);color:var(--ink);border-color:rgba(255,255,255,.1)}.button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.button.danger{background:rgba(255,127,115,.12);color:#ffd2cd;border-color:rgba(255,127,115,.2)}.stat-grid,.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.archive-item,.reference-card,.slot-card,.stat-card,.summary-card,.tracker-row{border:1px solid var(--card-hairline);background:var(--card);border-radius:18px;box-shadow:var(--shadow-soft)}.archive-item,.reference-card,.stat-card,.summary-card{padding:18px}.stat-card{position:relative;display:grid;gap:6px;overflow:hidden;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}.stat-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,183,181,.9),transparent);opacity:.5;transition:opacity .22s var(--ease)}.stat-card:hover{transform:translateY(-3px);border-color:rgba(0,183,181,.28);box-shadow:var(--shadow-lift)}.stat-card:hover:before{opacity:1}.stat-card strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:clamp(2rem,3.4vw,2.6rem);font-family:var(--font-heading);font-weight:400;margin-top:8px}.stat-card .mini-label{color:var(--brand)}.summary-card{min-height:176px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.summary-card .member-line{display:flex;flex-direction:column;gap:4px;font-size:inherit;line-height:1.3;color:inherit}.summary-card .member-name{font-family:var(--font-heading);font-size:1.18rem;font-weight:400;letter-spacing:.03em;color:var(--ink);line-height:1}.summary-card .member-role{font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--muted)}.summary-card .hours-value{font-family:var(--font-heading);font-weight:400;font-size:2rem;line-height:1;margin-top:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;display:flex;align-items:baseline;gap:2px}.summary-card .hours-cap{font-family:var(--font-body);font-size:.92rem;font-weight:600;letter-spacing:0;color:var(--muted)}.summary-card .hours-note{font-size:.9rem;color:var(--muted)}.reference-card{gap:12px;align-content:start}.reference-card h3{font-size:1.25rem;margin:0}.reference-list{margin:0;padding:0;display:grid;gap:10px}.reference-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline;margin:0}.reference-row dt{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.reference-row dd{margin:0;font-size:.95rem;line-height:1.45;color:var(--ink)}@media (max-width:560px){.reference-row{grid-template-columns:1fr;gap:2px}}.summary-card strong{font-size:1.9rem;margin-top:12px}.stat-card strong,.summary-card strong{display:block;line-height:1;color:var(--ink)}.helper,.small,.stat-card span,.summary-card span{color:var(--muted);font-size:.92rem;line-height:1.5}.tab-bar{position:sticky;top:12px;z-index:20;margin-top:.35rem;margin-bottom:12px}.tab-nav{width:fit-content;max-width:100%;align-items:stretch;gap:4px;padding:5px;border-radius:16px;background:rgba(13,17,20,.66);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--card-hairline);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 30px rgba(0,0,0,.32)}.tab-button{padding:10px 16px;border-radius:12px;background:transparent;border:1px solid transparent;color:var(--muted);font-weight:700;letter-spacing:.01em}.tab-button:hover{color:var(--ink);background:rgba(255,255,255,.05);transform:none}.tab-button.active{box-shadow:0 8px 20px rgba(0,183,181,.28),inset 0 1px 0 rgba(255,255,255,.25)}.tab-button.active,.tab-button.active:hover{background:linear-gradient(180deg,var(--brand),var(--brand-deep));color:#041313}.tab-pane[hidden]{display:none}.archive-list,.reference-grid,.week-stack{display:grid;gap:18px}.tracker-stack{display:grid;gap:24px}.week-card{padding:22px 24px;display:grid;gap:28px;border:1px solid rgba(255,255,255,.08);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:var(--radius-lg)}.week-card>.panel-head{margin-bottom:0;padding-bottom:.35rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.staff-summary{display:grid;gap:10px}.week-slots{display:grid;gap:16px}.slot-card{padding:18px;display:grid;gap:14px}.slot-card.collapsible{gap:0}.collapsible__trigger{width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-radius:12px;transition:background .18s ease}.slot-card__trigger{margin:-2px -2px 0;padding:2px 2px 0}.slot-card__trigger:hover{background:rgba(255,255,255,.04)}.collapsible__trigger:focus-visible{outline:2px solid rgba(0,183,181,.55);outline-offset:2px}.slot-card__trigger .slot-title{flex:1 1;min-width:0}.collapse-toggle{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;margin-top:2px}.collapse-toggle__label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .18s ease}.collapsible__trigger:hover .collapse-toggle__label{color:var(--brand)}.collapse-chevron{flex-shrink:0;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,background .18s ease,border-color .18s ease}.collapsible__trigger:hover .collapse-chevron{background:rgba(255,255,255,.1);border-color:rgba(0,183,181,.25)}.collapse-chevron:before{content:"";width:7px;height:7px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);margin-top:-3px;transition:transform .18s ease}.collapse-chevron--collapsed:before{transform:rotate(-45deg);margin-top:0;margin-left:2px}.slot-card__body{padding-top:14px}.slot-card.collapsible--collapsed .slot-card__trigger{padding-bottom:2px}.slot-title{display:grid;gap:8px;max-width:720px}.slot-title .slot-header>div:first-child{display:grid;gap:.65rem}.slot-title h3{font-size:clamp(1.42rem,2.8vw,1.75rem);line-height:1.12;letter-spacing:.03em}.time-pill{gap:6px;font-size:.92rem}.coverage-note,.slot-title p,.table-note{color:var(--muted);line-height:1.55;font-size:.95rem}.slot-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.day-column{padding:16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:14px;align-content:start}.day-column.warn{background:rgba(240,168,75,.08);border-color:rgba(240,168,75,.18)}.day-column.danger{background:rgba(255,127,115,.1);border-color:rgba(255,127,115,.32)}.slot-header strong{font-size:1.05rem}.day-name{font-size:1.08rem;font-weight:700;color:var(--ink)}.day-date,.day-name{letter-spacing:.01em}.day-date{margin-top:2px;font-size:.86rem;color:var(--muted)}.cover-line{margin:0;font-size:.9rem;line-height:1.45;color:var(--ink)}.cover-line.muted{color:var(--muted)}.cover-meta{display:grid;gap:4px}.time-pill .time-sep{opacity:.55}.cover-count{min-width:88px;padding:8px 12px;border-radius:999px;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.04em;background:rgba(0,183,181,.14);color:#b9fffe;white-space:nowrap}.cover-count.warn{background:rgba(240,168,75,.14);color:#ffd49b}.cover-count.danger{background:rgba(255,127,115,.14);color:#ffd2cd}.cover-count--gap{background:rgba(255,127,115,.22);color:#ffe4e0;border:1px solid rgba(255,127,115,.5);text-transform:uppercase;letter-spacing:.06em}.cover-count--warning{background:rgba(240,168,75,.16);color:#ffd49b;border:1px solid rgba(240,168,75,.34)}.staff-list{display:grid;gap:10px}.toggle{width:100%;padding:12px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;text-align:left}.toggle.active{border-color:rgba(0,183,181,.3);background:linear-gradient(135deg,rgba(0,183,181,.22),rgba(42,47,51,.65));color:var(--ink);box-shadow:0 12px 24px rgba(0,183,181,.12)}.toggle small{color:var(--muted);font-weight:700}.toggle.active small{color:var(--ink)}.tracker-stack{gap:16px}.tracker-row{padding:18px;display:grid;gap:18px}.tracker-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tracker-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.tracker-meta-card{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.tracker-meta-card strong{display:block;margin-top:6px;font-size:1.12rem;color:var(--ink)}.tracker-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tracker-week-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:12px}.tracker-week-card h4{font-family:var(--font-heading);font-size:1rem;letter-spacing:.03em;margin:0}.tracker-week-card>.panel-head{margin-bottom:0}.tracker-week-list{display:grid;gap:8px}.tracker-shift-item{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.tracker-empty{padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12);color:var(--muted)}.status-tag{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-ok{background:rgba(0,183,181,.14);color:#b9fffe}.status-near{background:rgba(240,168,75,.14);color:#ffd49b}.status-over,.status-weekend{background:rgba(255,127,115,.14);color:#ffd2cd}.reference-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.reference-card{display:grid;gap:8px}.archive-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.archive-button,.archive-item{display:grid;gap:6px}.archive-button{width:100%;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--ink);text-align:left}.archive-button.active{border-color:rgba(0,183,181,.28);background:linear-gradient(135deg,rgba(0,183,181,.16),rgba(255,255,255,.05));box-shadow:0 10px 24px rgba(0,183,181,.12)}.archive-detail{padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);display:grid;gap:14px}.archive-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeoff{display:grid;gap:18px}.timeoff__form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:18px;border:1px solid var(--card-hairline);border-radius:14px;background:var(--card)}.timeoff__range{display:grid;gap:12px}.timeoff__range-head{display:grid;gap:4px}.timeoff__range-head .small{margin:0;color:var(--muted)}.timeoff__field{display:grid;gap:6px}.timeoff__field>span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.timeoff__field input[type=date],.timeoff__field select{min-width:200px;padding:9px 12px;border-radius:10px;border:1px solid var(--card-hairline);background:rgba(0,0,0,.28);color:var(--ink);font-size:.9rem}.timeoff__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.timeoff__item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid var(--card-hairline);border-radius:12px;background:var(--card)}.timeoff__who{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.timeoff__date{color:var(--muted);font-size:.9rem}.toggle--off{border-color:rgba(245,158,11,.45)}.toggle--off:not(.active){background:rgba(245,158,11,.08)}.toggle__off-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:#f59e0b;vertical-align:middle}.requests{display:grid;gap:16px}.request__form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:16px;border:1px solid var(--card-hairline);border-radius:16px;background:var(--card)}.request__field{display:flex;flex-direction:column;gap:6px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.request__field--note{flex:1 1 220px;text-transform:none;letter-spacing:normal}.request__field input[type=text],.request__field select{min-width:200px;padding:9px 12px;border-radius:10px;border:1px solid var(--card-hairline);background:rgba(0,0,0,.28);color:var(--ink);font-size:.9rem}.request__field--note input[type=text]{width:100%}.request__empty-hint{flex-basis:100%;margin:0;color:var(--muted);font-size:.85rem}.requests__heading{margin:4px 0 0;font-size:.95rem;color:var(--ink)}.request__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.request__list--muted{opacity:.78}.request__item{justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--card-hairline);border-radius:12px;background:var(--card)}.request__item,.request__main{display:flex;align-items:center}.request__main{gap:12px;min-width:0}.request__type{flex-shrink:0;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.request__type--drop{background:rgba(239,68,68,.16);color:#fca5a5}.request__type--swap{background:rgba(59,130,246,.18);color:#93c5fd}.request__detail{display:flex;flex-direction:column;gap:2px;min-width:0}.request__who{color:var(--muted);font-size:.88rem}.request__note{color:var(--muted);font-size:.82rem;font-style:italic}.request__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.request__status{padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:600;text-transform:capitalize}.request__status--pending{background:rgba(245,158,11,.16);color:#fbbf24}.request__status--approved{background:rgba(34,197,94,.16);color:#86efac}.request__status--cancelled,.request__status--denied{background:rgba(148,163,184,.16);color:var(--muted)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:7px;padding:0 5px;border-radius:999px;background:#f59e0b;color:#1a1205;font-size:.7rem;font-weight:800;line-height:1}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.clear-actions.panel{position:relative;overflow:hidden;padding:22px 24px;border-radius:var(--radius-lg);border:1px solid rgba(255,127,115,.2);background:linear-gradient(180deg,rgba(255,127,115,.05),rgba(255,127,115,.015)),var(--surface)}.clear-actions:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:rgba(255,127,115,.5)}.clear-actions__row{flex-wrap:wrap}.clear-actions__row,.undo-pill{display:flex;gap:12px;margin-top:16px}.undo-pill{align-items:center;padding:10px 12px 10px 14px;border-radius:14px;border:1px solid rgba(0,183,181,.28);background:rgba(0,183,181,.08)}.undo-pill__dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--brand)}.undo-pill__text{display:flex;flex-direction:column;gap:1px;margin-right:auto;min-width:0}.undo-pill__text strong{font-size:.92rem;color:var(--ink)}.undo-pill__time{font-size:.78rem;color:var(--muted)}.undo-pill__action{min-height:40px}.undo-pill__dismiss{flex:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.undo-pill__dismiss:hover{color:var(--ink);border-color:var(--card-hairline);background:rgba(255,255,255,.06)}.view-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--card-hairline);background:rgba(255,255,255,.05)}.view-toggle__option{border:none;background:transparent;color:var(--muted);font-weight:700;font-size:.82rem;padding:7px 14px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease}.view-toggle__option--active{background:var(--brand);color:#041313}.staff-preview-banner{position:sticky;top:0;z-index:50;width:100%;display:flex;align-items:center;gap:12px;padding:11px 18px;border:none;border-bottom:1px solid rgba(240,168,75,.4);background:linear-gradient(180deg,rgba(240,168,75,.24),rgba(240,168,75,.12));color:#ffe9c9;font-size:.88rem;text-align:left;cursor:pointer;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%)}.staff-preview-banner__dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--warn)}.staff-preview-banner__text{margin-right:auto}.staff-preview-banner__text strong{color:#ffffff;letter-spacing:.02em}.staff-preview-banner__action{font-weight:700;color:#ffffff;text-decoration:underline}.staff-preview-banner__close{font-size:1.2rem;line-height:1;opacity:.85}.staff-filter{position:relative}.staff-filter__trigger{min-height:40px}.staff-filter__chev{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid;margin-left:8px;transition:transform .18s ease}.staff-filter__chev--open{transform:rotate(180deg)}.staff-filter__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(260px,80vw);padding:12px;border-radius:14px;border:1px solid var(--card-hairline);background:var(--surface-strong);box-shadow:var(--shadow-lift);animation:vi-dialog-in .16s var(--ease) both}.staff-filter__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.staff-filter__title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.staff-filter__quick{display:flex;gap:6px}.staff-filter__quick button{border:1px solid var(--line);background:transparent;color:var(--ink);font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.staff-filter__quick button:hover{background:rgba(0,183,181,.12);border-color:rgba(0,183,181,.4)}.staff-filter__list{display:grid;gap:2px;max-height:280px;overflow-y:auto}.staff-filter__item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;cursor:pointer;font-size:.9rem;color:var(--ink)}.staff-filter__item:hover{background:rgba(255,255,255,.05)}.staff-filter__item input{width:16px;height:16px;accent-color:var(--brand);flex:none}.staff-filter__item>span:first-of-type{margin-right:auto}.staff-filter__role{font-size:.72rem;color:var(--muted)}.cell-picker{position:relative;margin-top:10px}.cell-picker__trigger{width:100%;min-height:38px;padding:0 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03);color:var(--muted);font-weight:700;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.cell-picker__trigger:hover:not(:disabled){border-color:rgba(0,183,181,.5);color:var(--ink);background:rgba(0,183,181,.08)}.cell-picker__trigger:disabled{opacity:.5;cursor:default}.cell-picker__chev{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid;transition:transform .16s ease}.cell-picker__chev--open{transform:rotate(180deg)}.cell-picker__panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:100;max-height:240px;overflow-y:auto;padding:6px;display:grid;gap:2px;border-radius:12px;border:1px solid var(--card-hairline);background:var(--surface-strong);box-shadow:var(--shadow-lift);animation:vi-dialog-in .15s var(--ease) both}.cell-picker__panel--fixed{position:fixed;right:auto;z-index:200}.cell-picker__option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:none;border-radius:9px;background:transparent;color:var(--ink);font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;transition:background .14s ease}.cell-picker__option:hover:not(:disabled){background:rgba(0,183,181,.12)}.cell-picker__option:disabled{opacity:.5;cursor:default}.cell-picker__option small{color:var(--muted);font-weight:500}.cell-picker__empty{margin:0;padding:8px 10px;font-size:.8rem;color:var(--muted)}.staff-empty{margin:0;padding:6px 2px;font-size:.82rem;color:var(--muted);font-style:italic}.shift-editor__open{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px;border-radius:999px;border:1px dashed rgba(0,183,181,.4);background:rgba(0,183,181,.06);color:var(--brand);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.shift-editor__open:hover{background:rgba(0,183,181,.12);border-color:rgba(0,183,181,.6)}.shift-editor{margin-bottom:14px;padding:14px;border-radius:14px;border:1px solid rgba(0,183,181,.28);background:rgba(0,183,181,.06);display:grid;gap:12px}.shift-editor__fields{display:flex;flex-wrap:wrap;gap:12px}.shift-editor__field{display:grid;gap:4px}.shift-editor__field>span{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.shift-editor__field input{padding:8px 10px;border-radius:9px;border:1px solid var(--card-hairline);background:rgba(0,0,0,.28);color:var(--ink);font-size:.9rem;min-width:110px}.shift-editor__field input[type=number]{min-width:80px}.shift-editor__error{margin:0;font-size:.82rem;color:#ffd2cd}.shift-editor__actions{display:flex;justify-content:flex-end;gap:10px}.planner-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.week-grid{display:grid;gap:14px}.week-grid__scroll{overflow-x:auto}.wgrid{border-collapse:separate;border-spacing:6px;width:100%;min-width:760px}.wgrid__corner,.wgrid__dayhead{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:0 6px 6px;text-align:center;white-space:nowrap}.wgrid__corner{text-align:left}.wgrid__dayname{display:block;color:var(--ink)}.wgrid__daydate{display:block;font-size:.68rem;color:var(--muted);font-weight:500}.wgrid__shifthead{text-align:left;vertical-align:top;padding:8px 12px 8px 0;white-space:nowrap}.wgrid__shifttitle{display:block;font-size:.88rem;font-weight:600;color:var(--ink)}.wgrid__shifttime{display:block;font-size:.72rem;color:var(--muted)}.wgrid__cell{vertical-align:top;min-width:96px;padding:8px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.wgrid__cell.warn{background:rgba(240,168,75,.08);border-color:rgba(240,168,75,.18)}.wgrid__cell.danger{background:rgba(255,127,115,.1);border-color:rgba(255,127,115,.3)}.wgrid__cell--off{background:transparent;border:1px dashed rgba(255,255,255,.06);min-width:96px}.wgrid__count{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;margin-bottom:6px;border-radius:999px;background:rgba(0,183,181,.14);color:#b9fffe}.wgrid__cell.warn .wgrid__count{background:rgba(240,168,75,.16);color:#ffd49b}.wgrid__cell.danger .wgrid__count{background:rgba(255,127,115,.2);color:#ffd2cd}.wgrid__chips{display:flex;flex-direction:column;gap:4px}.wgrid__chip{display:inline-flex;align-items:center;gap:6px;text-align:left;font-size:.8rem;padding:4px 8px;border-radius:8px;border:1px solid rgba(0,183,181,.28);background:rgba(0,183,181,.1);color:#b9fffe;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.wgrid__chip--off{border-color:rgba(240,168,75,.45)}.wgrid__chip:hover:not(:disabled){background:rgba(255,127,115,.16);border-color:rgba(255,127,115,.4);color:#ffd2cd}.wgrid__chip:disabled{opacity:.7;cursor:default}.modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,11,13,.6);backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);animation:vi-overlay-in .16s var(--ease) both}.modal-dialog{width:min(440px,100%);padding:24px;border-radius:var(--radius-lg);border:1px solid var(--card-hairline);background:var(--surface-strong);box-shadow:var(--shadow-lift);animation:vi-dialog-in .2s var(--ease) both}.modal-dialog__title{margin:0 0 8px;font-size:1.3rem;color:var(--ink)}.modal-dialog__message{margin:0 0 22px;color:var(--muted);line-height:1.5}.modal-dialog__actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}@keyframes vi-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes vi-dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.modal-dialog,.modal-overlay{animation:none}}.archive-shift-list{display:grid;gap:10px}.archive-shift-row{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08)}.archive-shift-row,.empty-state{background:rgba(255,255,255,.04)}.empty-state{padding:22px;border-radius:18px;border:1px dashed rgba(255,255,255,.16);color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.capacity-meter{position:relative;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:2px}.capacity-meter__fill{position:absolute;inset:0 auto 0 0;width:var(--fill,0);border-radius:inherit;background:linear-gradient(90deg,var(--brand-deep),var(--brand));transition:width .6s var(--ease)}.capacity-meter--near .capacity-meter__fill{background:linear-gradient(90deg,#c98322,var(--warn))}.capacity-meter--over .capacity-meter__fill,.capacity-meter--weekend .capacity-meter__fill{background:linear-gradient(90deg,#d4564a,var(--danger))}.day-meter{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.day-meter__fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--brand-deep),var(--brand));transition:width .6s var(--ease)}.day-meter--warn .day-meter__fill{background:linear-gradient(90deg,#c98322,var(--warn))}.day-meter--danger .day-meter__fill{background:linear-gradient(90deg,#d4564a,var(--danger))}.summary-card{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}.reference-card:hover,.summary-card:hover{transform:translateY(-3px);border-color:rgba(0,183,181,.22);box-shadow:var(--shadow-lift)}.archive-button{transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.archive-button:hover{transform:translateY(-2px);border-color:rgba(0,183,181,.22)}.fortnight-rail{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;width:100%}.fortnight-seg{display:grid;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid var(--card-hairline);background:var(--card);box-shadow:var(--shadow-soft)}.fortnight-seg__label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand)}.fortnight-seg__range{font-family:var(--font-heading);font-size:1.35rem;letter-spacing:.03em;color:var(--ink);line-height:1.05}.fortnight-seg__sub{font-size:.78rem;color:var(--muted)}.fortnight-arrow{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--card-hairline);background:rgba(0,183,181,.1);color:var(--brand);font-size:1.05rem}.toolbar-intro{display:grid;gap:8px;max-width:70ch}.toolbar-intro__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hints-toggle{flex:none;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;font-size:.78rem}.hints-toggle__icon{flex:none;opacity:.85}.toolbar-title{margin:0;font-family:var(--font-heading);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.1;letter-spacing:.01em}.toolbar-group{display:grid;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.toolbar-group__label{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.toolbar-group__hint{margin:0;max-width:72ch;font-size:.9rem;line-height:1.55;color:var(--muted)}.subscribe-card{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px 24px;border:1px solid var(--card-hairline);border-radius:18px;background:var(--card);box-shadow:var(--shadow-soft)}.subscribe-card__text{display:grid;gap:6px;max-width:46ch}.subscribe-card__text h2{margin:0;font-family:var(--font-heading);font-size:1.35rem;letter-spacing:.01em}.subscribe-card__controls{display:grid;gap:10px;flex:1 1 320px;min-width:min(320px,100%)}.subscribe-card__url{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--card-hairline);background:rgba(0,0,0,.28);color:var(--ink);font-size:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.subscribe-card__actions,.week-jump{display:flex;gap:10px;flex-wrap:wrap}.fortnight-nav,.week-jump{align-items:center}.fortnight-nav{display:inline-flex;gap:4px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--card-hairline);background:rgba(255,255,255,.05);color:var(--ink);font-weight:700;transition:background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}.fortnight-nav:hover:not(:disabled){background:rgba(0,183,181,.14);border-color:rgba(0,183,181,.35);transform:translateY(-1px)}.fortnight-nav:disabled{opacity:.5;cursor:not-allowed}.week-jump__field{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--card-hairline);background:var(--card)}.week-jump__label{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.week-jump__field input[type=date]{border:none;background:transparent;color:var(--ink);font:inherit;font-weight:600;color-scheme:dark}.week-jump__field input[type=date]:disabled{opacity:.5}.week-jump__note{font-size:.8rem;color:var(--warn);font-weight:600}@media (max-width:560px){.fortnight-rail{grid-template-columns:1fr}.fortnight-arrow{transform:rotate(90deg);justify-self:center}.week-jump{gap:8px}.fortnight-nav{flex:1 1;justify-content:center}.week-jump__field{flex:1 1 100%;justify-content:space-between}}.toast-viewport{position:fixed;bottom:22px;right:22px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:11px;width:100%;padding:13px 15px;border-radius:14px;border:1px solid var(--card-hairline);background:rgba(18,23,27,.86);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 18px 44px rgba(0,0,0,.45);color:var(--ink);font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;animation:vi-toast-in .28s var(--ease) both}.toast__dot{flex:none;width:9px;height:9px;border-radius:50%}.toast--success .toast__dot,.toast__dot{background:var(--brand)}.toast--error{border-color:rgba(255,127,115,.4)}.toast--error .toast__dot{background:var(--danger)}.toast__message{line-height:1.4}@keyframes vi-toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.brand-logo{height:28px;width:auto;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}.brand-footer{margin-top:8px;padding:30px 0 4px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.brand-footer__logo{height:26px;width:auto;opacity:.6}.brand-footer__note{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.status-chip{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;border:1px solid var(--card-hairline);background:rgba(255,255,255,.05);font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--ink)}.status-chip__dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 rgba(0,183,181,.55);animation:vi-pulse 2.4s var(--ease) infinite}.status-chip--saving .status-chip__dot{background:var(--warn);box-shadow:0 0 0 0 rgba(240,168,75,.55)}@keyframes vi-pulse{0%{box-shadow:0 0 0 0 rgba(0,183,181,.5)}70%{box-shadow:0 0 0 8px rgba(0,183,181,0)}to{box-shadow:0 0 0 0 rgba(0,183,181,0)}}@keyframes vi-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.layout>section{animation:vi-rise .62s var(--ease) both}.layout>section:first-child{animation-delay:40ms}.layout>section:nth-child(2){animation-delay:.11s}.layout>section:nth-child(3){animation-delay:.18s}.layout>section:nth-child(4){animation-delay:.25s}@media (prefers-reduced-motion:reduce){.layout>section,.status-chip__dot{animation:none}.backdrop,.capacity-meter__fill,.day-meter__fill{transition:none}html{scroll-behavior:auto}}@media (max-width:1024px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head{align-items:flex-start}}@media (max-width:760px){.page-shell{padding:20px 14px 48px}.page-shell:after,.page-shell:before{opacity:.65}.layout{gap:22px}.hero,.panel{padding:12px 2px 20px}.toolbar,.week-card{padding:18px 16px}.week-card{gap:22px}.hero-top{flex-direction:column;align-items:flex-start;gap:12px}.hero-top-actions{width:100%;justify-content:flex-start}.hero-top-actions .button{width:100%}.stat-grid,.summary-grid{grid-template-columns:1fr}.summary-card{min-height:auto}.toolbar-cluster{flex-direction:column;align-items:stretch;width:100%}.field{min-width:0;width:100%}.field:has(>input[type=file]){min-width:0}.quick-actions{display:grid;grid-template-columns:1fr;width:100%}.quick-actions .button{width:100%}.panel-head{flex-direction:column;align-items:stretch;margin-bottom:1.25rem}.panel-head>div:first-child{min-width:0}.tab-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;margin-top:0}.tab-button{width:100%;padding:12px 10px;font-size:.88rem;text-align:center;justify-content:center}.week-card>.panel-head{flex-direction:column;align-items:stretch}.week-card>.panel-head .legend{width:100%}.slot-columns{grid-template-columns:1fr}.slot-header{align-items:flex-start}.slot-title .slot-header{flex-direction:column;align-items:flex-start}.toggle{flex-wrap:wrap;align-items:flex-start}.toggle small,.toggle span{min-width:0;word-break:break-word}.tracker-weeks{grid-template-columns:1fr}.tracker-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.tracker-head,.tracker-head .legend{flex-direction:column;align-items:stretch}.tracker-head .legend,.tracker-head .legend .button{width:100%}.danger-zone{flex-direction:column;align-items:stretch}.danger-zone .button{width:100%}.archive-detail .panel-head{flex-direction:column;align-items:flex-start}.archive-actions{width:100%}.archive-actions .button{flex:1 1 auto}}@media (max-width:480px){.page-shell{padding:16px 12px 40px}h1{font-size:clamp(2.2rem,11vw,3rem);max-width:none}.brand-logo{height:24px}.brand-footer__logo{height:22px}.pill{padding:8px 12px;font-size:10px}.tab-nav{grid-template-columns:1fr}.tab-bar{position:static}.tracker-meta{grid-template-columns:1fr}.stat-card strong,.summary-card strong{font-size:1.65rem}.field input[type=file]{font-size:.82rem}.field input[type=file]::-webkit-file-upload-button,.field input[type=file]::file-selector-button{display:block;width:100%;margin:0 0 8px}}