:root{--font-body:"Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif;--font-display:"Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif;--ink:#17231c;--muted:#67736b;--line:#dfe5de;--canvas:#f4f6f1;--surface:#fff;--surface-soft:#f7f9f6;--surface-muted:#fafbfa;--surface-sunken:#f3f6f2;--surface-raised:#fff;--control-bg:#e8ece7;--topbar-bg:#f4f6f1c2;--field-bg:#fff;--field-border:#d7dfd8;--field-label:#455149;--metric-note-bg:#eef2ee;--green:#246b4c;--green-dark:#174c35;--green-soft:#e5f2e9;--green-ink:#26734f;--green-solid:#246b4c;--green-solid-hover:#174c35;--green-selected:#f3faf5;--on-solid:#fff;--mint:#bde8cd;--amber:#a95f16;--amber-soft:#fff0d7;--amber-ink:#79501e;--red:#a63f3f;--red-soft:#fae5e3;--blue:#356792;--blue-soft:#e3edf8;--sidebar-bg:#143c2d;--banner-bg:#173e2f;--on-dark:#fff;--on-dark-muted:#bdd0c7;--avatar-bg:#dce9e0;--avatar-ink:#214f3a;--login-art-bg:#153d2e;--holiday-bg:#fffaf0;--holiday-bg-strong:#fff8e8;--holiday-bg-muted:#fcf6ea;--rostered-tint:#bde8cd6b;--rostered-tint-strong:#bde8cd75;--ph-tint:#fff0d7cc;--ph-tint-strong:#fff0d7d6;--shadow:0 18px 48px #1b372814;--radius:22px;--ring:#246b4c1f;--focus:#246b4c;--canvas-glow:#bde8cd47}[data-theme=dark]{--ink:#e7efe9;--muted:#94a39a;--line:#28332d;--canvas:#0e1613;--surface:#17211c;--surface-soft:#1b2620;--surface-muted:#131c18;--surface-sunken:#1e2a24;--surface-raised:#26332c;--control-bg:#222e28;--topbar-bg:#0e1613b8;--field-bg:#1a241f;--field-border:#313f38;--field-label:#b4c3ba;--metric-note-bg:#1e2a24;--green:#5cc394;--green-dark:#84d8ae;--green-soft:#163026;--green-ink:#84d8ae;--green-solid:#1c7d56;--green-solid-hover:#239268;--green-selected:#15271f;--on-solid:#fff;--mint:#bde8cd;--amber:#e3a948;--amber-soft:#322713;--amber-ink:#f0c977;--red:#ec8a88;--red-soft:#3a1f1e;--blue:#7fb3e4;--blue-soft:#16293a;--sidebar-bg:#102019;--banner-bg:#143226;--on-dark:#f3f8f5;--on-dark-muted:#a9c5b8;--avatar-bg:#24463a;--avatar-ink:#9fe2bf;--login-art-bg:#102b20;--holiday-bg:#221c0f;--holiday-bg-strong:#2a2212;--holiday-bg-muted:#1d180d;--rostered-tint:#5cc39424;--rostered-tint-strong:#5cc3942e;--ph-tint:#e3a94821;--ph-tint-strong:#e3a9482b;--shadow:0 18px 48px #00000080;--ring:#5cc39447;--focus:#5cc394;--canvas-glow:#5cc3941f}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:radial-gradient(circle at 94% 2%, var(--canvas-glow), transparent 28rem), var(--canvas);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none}.app-shell{min-height:100dvh}.sidebar{background:var(--sidebar-bg);color:#fff;z-index:20;flex-direction:column;width:244px;padding:26px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 9px 30px;display:flex}.brand-mark{background:var(--mint);color:#164b34;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.brand-name{font:700 18px/1 var(--font-display), sans-serif;letter-spacing:-.03em;display:block}.brand-caption{color:#afc9bd;margin-top:5px;font-size:12px;display:block}.nav-list{gap:7px;display:grid}.nav-link{color:#bdd0c7;border-radius:14px;align-items:center;gap:13px;min-height:48px;padding:0 14px;font-size:14px;font-weight:600;display:flex}.nav-link:hover{color:#fff;background:#ffffff12}.nav-link.active{color:#fff;background:#bde8cd2b}.sidebar-user{border-top:1px solid #ffffff1f;margin-top:auto;padding:16px 10px 4px}.user-row{align-items:center;gap:10px;display:flex}.user-switch{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.user-switch>span:nth-child(2){flex:1;min-width:0}.user-switch:disabled{cursor:default}.avatar{background:var(--avatar-bg);width:38px;height:38px;color:var(--avatar-ink);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.avatar-button{cursor:pointer;border:0}.avatar-button:disabled{cursor:default}.user-name{font-size:13px;font-weight:700;display:block}.user-role{color:#a9c0b5;margin-top:2px;font-size:12px;display:block}.main{min-height:100dvh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:12;justify-content:space-between;align-items:center;height:78px;padding:0 38px;display:flex;position:sticky;top:0}.topbar-label{color:var(--muted);font-size:13px}.topbar-title{font:750 15px/1.2 var(--font-display), sans-serif;margin-top:3px}.topbar-main{min-width:0}.topbar-mobile-brand{min-width:0;color:var(--ink);align-items:center;gap:9px;font-weight:850;display:none}.topbar-mobile-brand .brand-mark{border-radius:12px;width:36px;height:36px}.topbar-mobile-brand .brand-name{white-space:nowrap;font-size:15px}.topbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.topbar-nav{align-items:center;gap:7px;min-width:0;display:flex}.topbar-nav-link{width:42px;height:42px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:13px;flex:0 42px;place-items:center;display:grid}.topbar-nav-link.active{color:var(--green);background:var(--green-soft);border-color:var(--green)}.topbar-nav-link:hover{color:var(--green)}.icon-button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.icon-button.danger{background:var(--red-soft);border-color:var(--red);color:var(--red)}.content{width:min(1240px,100%);margin:0 auto;padding:34px 38px 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--green);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{font:750 clamp(27px, 4vw, 38px)/1.15 var(--font-display), sans-serif;letter-spacing:-.045em;margin:7px 0}h2{font:750 20px/1.25 var(--font-display), sans-serif;letter-spacing:-.025em;margin-bottom:5px}h3{font:750 15px/1.25 var(--font-display), sans-serif;margin-bottom:4px}.subtle{color:var(--muted);font-size:14px;line-height:1.5}.button{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:14px;font-weight:750;transition:transform .15s,background .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button.primary{background:var(--green-solid);color:var(--on-solid);box-shadow:0 8px 20px #246b4c2e}.button.primary:hover{background:var(--green-solid-hover)}.button.secondary{background:var(--surface);border-color:var(--line)}.button.ghost{color:var(--green);background:0 0}.button.danger{background:var(--red-soft);color:var(--red)}.button:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.button.full{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:24px}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metric{padding:21px;position:relative;overflow:hidden}.metric-icon{background:var(--green-soft);width:39px;height:39px;color:var(--green);border-radius:12px;place-items:center;margin-bottom:20px;display:grid}.metric-value{font:760 29px/1 var(--font-display), sans-serif;letter-spacing:-.04em}.metric-label{color:var(--muted);margin-top:7px;font-size:13px}.metric-note{background:var(--metric-note-bg);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;position:absolute;top:19px;right:17px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr);gap:18px;margin-top:18px;display:grid}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.card-head{margin-bottom:20px}.card-head h2{margin-bottom:0}.card-head-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.card-head-meta .subtle{white-space:nowrap}.list{gap:10px;display:grid}.review-entries{max-height:52dvh;margin:0 -6px;padding:2px 6px;overflow-y:auto}.list-row{background:var(--surface-soft);border-radius:15px;align-items:center;gap:13px;padding:13px;display:flex}.list-row.public-holiday{background:var(--holiday-bg-strong);box-shadow:inset 4px 0 0 var(--amber)}.list-row-main{flex:1;min-width:0}.list-row-title{font-size:14px;font-weight:750}.list-row-meta{color:var(--muted);margin-top:3px;font-size:12px}.entry-flag{vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:8px;padding:2px 9px;font-size:11px;font-weight:800;display:inline-block}.entry-flag.amber{background:var(--amber-soft);color:var(--amber)}.entry-flag.blue{background:var(--blue-soft);color:var(--blue)}.entry-flag.red{background:var(--red-soft);color:var(--red)}.review-totals{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:4px;padding:13px 2px 0;font-size:13px;display:flex}.review-totals strong{color:var(--ink)}.review-head{flex-wrap:nowrap}.review-head>div:first-child{min-width:0}.status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.green{color:var(--green-ink);background:var(--green-soft)}.status.amber{color:var(--amber);background:var(--amber-soft)}.status.blue{color:var(--blue);background:var(--blue-soft)}.status.red{color:var(--red);background:var(--red-soft)}.progress{background:var(--control-bg);border-radius:999px;height:7px;margin-top:18px;overflow:hidden}.progress>span{background:var(--green);border-radius:inherit;height:100%;display:block}.quick-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.quick-action{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:16px;min-height:98px;padding:15px}.quick-action svg{color:var(--green);margin-bottom:12px}.quick-action span{font-size:13px;font-weight:750;display:block}.hours-card{margin-top:18px;overflow:hidden}.hours-head{align-items:flex-start}.chart-range{background:var(--control-bg);border-radius:13px;gap:4px;padding:4px;display:inline-flex}.chart-range button{min-width:38px;min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:12px;font-weight:850}.chart-range button.active{background:var(--surface);color:var(--green);box-shadow:0 3px 10px #142d1f14}.hours-total{align-items:baseline;gap:8px;margin:4px 0 14px;display:flex}.hours-total strong{font:760 28px/1 var(--font-display), sans-serif;letter-spacing:-.04em}.hours-total span{color:var(--muted);font-size:12px;font-weight:750}.hours-chart{grid-template-columns:repeat(var(--bucket-count), minmax(22px, 1fr));align-items:end;gap:clamp(5px,1.6vw,12px);min-height:168px;padding-top:10px;padding-bottom:6px;display:grid;overflow:auto hidden}.hours-bucket{grid-template-rows:132px auto;gap:8px;min-width:0;display:grid}.hours-bar{background:var(--surface-sunken);border-radius:13px;justify-content:center;align-items:end;height:132px;display:flex;overflow:hidden}.hours-bar-stack{border-radius:13px 13px 0 0;flex-direction:column-reverse;width:100%;min-height:4px;display:flex;overflow:hidden}.hours-bar-stack span{min-height:3px;display:block}.hours-label{color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750;overflow:hidden}.hours-legend{flex-wrap:wrap;gap:8px 13px;margin-top:15px;display:flex}.hours-legend span{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:750;display:inline-flex}.hours-legend i{border-radius:99px;width:9px;height:9px}.chart-empty{text-align:center;background:var(--surface-soft);border-radius:16px;place-items:center;min-height:170px;display:grid}.chart-empty.error{color:var(--red);background:var(--red-soft)}.toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.roster-actions{align-items:center;gap:12px;display:flex}.save-indicator{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:750;display:inline-flex}.save-indicator.saved{color:var(--green)}.save-indicator.error{color:var(--red)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.month-nav{align-items:center;gap:6px;display:flex}.month-group{align-items:center;gap:12px;display:flex}.roster-share{flex:none}.view-toggle{display:none}.month-title{text-align:center;min-width:150px;font:750 17px/1 var(--font-display), sans-serif}.calendar-card{overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{border-bottom:1px solid var(--line);background:var(--surface-muted)}.calendar-weekdays span{text-align:center;color:var(--muted);text-transform:uppercase;padding:13px 8px;font-size:11px;font-weight:800}.calendar-day{background:var(--surface);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:126px;padding:11px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.muted{background:var(--surface-muted);color:var(--muted)}.calendar-day.public-holiday{background:var(--holiday-bg);box-shadow:inset 4px 0 0 var(--amber)}.calendar-day.public-holiday.muted{background:var(--holiday-bg-muted)}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-selected)}.calendar-day.public-holiday.selected{box-shadow:inset 0 0 0 2px var(--green), inset 4px 0 0 var(--amber);background:var(--holiday-bg-strong)}.day-number{border-radius:9px;place-items:center;width:27px;height:27px;font-size:12px;font-weight:800;display:grid}.calendar-day.today .day-number{background:var(--green);color:var(--on-solid)}.calendar-day.public-holiday:not(.today) .day-number{background:var(--amber-soft);color:var(--amber)}.holiday-label{background:var(--amber-soft);width:fit-content;max-width:100%;color:var(--amber);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;margin-top:6px;padding:3px 6px;font-size:9px;font-weight:850;display:block;overflow:hidden}.holiday-chip{background:var(--amber-soft);width:fit-content;max-width:100%;color:var(--amber);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;margin-top:8px;padding:4px 8px;font-size:10px;font-weight:850;display:inline-flex;overflow:hidden}.shift-pill{background:var(--green-soft);color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;border-radius:9px;margin-top:7px;padding:7px 8px;font-size:10px;font-weight:750;overflow:hidden}.shift-pill.night{background:var(--blue-soft);color:var(--blue)}.shift-pill-initials,.mobile-agenda{display:none}.sheet-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#0f1f166b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:25px;width:min(520px,100%);max-height:90dvh;padding:25px;overflow-y:auto;box-shadow:0 30px 80px #0a1e1440}.sheet:focus{outline:none}.sheet-handle{display:none}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.time-row{grid-column:1/-1;align-items:flex-end;gap:10px;display:flex}.time-row .field{flex:1;min-width:0}.time-swap{border:1px solid var(--field-border);background:var(--field-bg);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin-bottom:7px;transition:color .15s,border-color .15s,transform .1s;display:grid;position:relative}.time-swap:after{content:"";border-radius:50%;position:absolute;inset:-5px}.time-swap:hover{color:var(--green);border-color:var(--green)}.time-swap:active{transform:scale(.92)}.time-swap:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px var(--ring);outline:none}.field label{color:var(--field-label);font-size:12px;font-weight:800}.input,.select,.textarea{border:1px solid var(--field-border);background:var(--field-bg);width:100%;min-height:48px;color:var(--ink);border-radius:13px;outline:none;padding:0 13px}.input:focus,.select:focus,.textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--ring)}.selected-days{flex-wrap:wrap;gap:7px;display:flex}.date-chip{background:var(--green-soft);color:var(--green-dark);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:750}.shift-dot{background:var(--green);border-radius:50%;flex:none;width:10px;height:10px}.shift-dot.night{background:var(--blue)}.row-actions{flex:none;gap:6px;display:flex}.list-row.editing{box-shadow:inset 0 0 0 2px var(--green)}.sheet-shifts{margin-bottom:20px}.sheet-shifts h3{margin-bottom:10px}.list-row-warn{color:var(--amber);margin-top:4px;font-size:11px;font-weight:800}.shift-summary{background:var(--surface-soft);border-radius:13px;flex-direction:column;gap:6px;margin-top:14px;padding:12px 14px;display:flex}.shift-summary-line{color:var(--ink);align-items:center;gap:8px;font-size:14px;display:flex}.shift-summary-line strong{font-weight:800}.shift-summary-line.muted{color:var(--muted);font-size:13px}.shift-summary-line svg{color:var(--green);flex:none}.shift-summary-line.night svg{color:var(--blue)}.shift-summary-tag{background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800}.shift-summary-note{color:var(--amber-ink);font-size:12px;font-weight:700;line-height:1.4}.shift-summary.warn{background:var(--amber-soft)}.shift-summary.warn .shift-summary-line svg{color:var(--amber)}.sheet-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.toast{z-index:70;color:var(--on-dark);background:var(--banner-bg);border-radius:14px;padding:13px 16px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 15px 40px #0000002e}.segmented{background:var(--control-bg);border-radius:13px;padding:4px;display:inline-flex}.segment{cursor:pointer;min-height:37px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 15px;font-size:13px;font-weight:750}.segment.active{background:var(--surface);color:var(--ink);box-shadow:0 3px 10px #142d1f14}.segment-full{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.segment-full .segment{justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 8px;display:inline-flex}.period-banner{background:var(--banner-bg);color:var(--on-dark);border-radius:var(--radius);align-items:center;gap:15px;margin-bottom:17px;padding:20px 22px;display:flex}.period-banner-icon{width:44px;height:44px;color:var(--mint);background:#bde8cd29;border-radius:14px;flex:none;place-items:center;display:grid}.period-banner-main{flex:1;min-width:0}.period-title{font:750 16px/1.25 var(--font-display), sans-serif}.period-meta{color:var(--on-dark-muted);margin-top:4px;font-size:12px}.period-nav-arrow,.mobile-payroll-actions,.timesheet-top-actions{display:none}.timesheet-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;display:grid}.timesheet-days{overflow:hidden}.timesheet-row{border-bottom:1px solid var(--line);grid-template-columns:155px 120px 1fr auto auto;align-items:center;gap:15px;min-height:74px;padding:12px 17px;display:grid}.timesheet-row:last-child{border-bottom:0}.timesheet-row.weekend{background:var(--surface-muted)}.timesheet-row.rostered{background:linear-gradient(90deg, var(--rostered-tint), var(--surface) 58%);box-shadow:inset 4px 0 0 var(--green)}.timesheet-row.weekend.rostered{background:linear-gradient(90deg, var(--rostered-tint-strong), var(--surface-muted) 58%)}.timesheet-row.public-holiday{background:linear-gradient(90deg, var(--ph-tint), var(--surface) 62%);box-shadow:inset 4px 0 0 var(--amber)}.timesheet-row.public-holiday.weekend{background:linear-gradient(90deg, var(--ph-tint-strong), var(--surface-muted) 62%)}.timesheet-row.public-holiday.rostered{background:linear-gradient(90deg, var(--ph-tint-strong), var(--rostered-tint) 55%, var(--surface) 84%);box-shadow:inset 4px 0 0 var(--amber), inset 8px 0 0 var(--green)}.timesheet-row.public-holiday .date-sub{color:var(--amber);font-weight:800}.date-main{font-size:13px;font-weight:800}.date-sub{color:var(--muted);margin-top:2px;font-size:11px}.planned-shift-note{background:var(--green-soft);max-width:100%;color:var(--green-dark);white-space:nowrap;text-overflow:ellipsis;vertical-align:top;border-radius:999px;margin-top:6px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-block;overflow:hidden}.entry-tag{font-size:12px;font-weight:800}.entry-times{align-items:center;gap:8px;display:flex}.compact-select{border:1px solid var(--field-border);background:var(--field-bg);min-height:39px;color:var(--ink);border-radius:10px;padding:0 8px;font-size:12px}.hours{text-align:right;min-width:54px;font-size:13px;font-weight:800}.clear-entry-button{border-radius:12px;width:38px;height:38px}.timesheet-row.continuation{border-top:0;min-height:60px;padding-top:2px}.timesheet-row.continuation .continuation-label{color:var(--muted);font-style:italic}.add-entry-button{border:1px dashed var(--line-strong,var(--line));color:var(--green);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;margin-top:7px;padding:5px 10px;font-size:12px;font-weight:750;display:inline-flex}.add-entry-button:hover{background:var(--green-soft)}.link-button{color:var(--green);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.summary-card{position:sticky;top:96px}.summary-line{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:10px 0;font-size:13px;display:flex}.summary-line strong{color:var(--ink)}.summary-total{justify-content:space-between;align-items:baseline;padding:18px 0;display:flex}.summary-total strong{font:760 27px/1 var(--font-display), sans-serif}.notice{background:var(--amber-soft);color:var(--amber-ink);border-radius:12px;margin-bottom:13px;padding:12px 13px;font-size:12px;line-height:1.45}.approval-card{grid-template-columns:1fr auto;align-items:center;gap:15px;padding:18px;display:grid}.approval-actions{align-items:center;gap:8px;display:flex}.team-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.tab-list{background:var(--control-bg);border-radius:15px;gap:6px;margin-bottom:14px;padding:5px;display:inline-flex}.tab-button{min-height:39px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:0 14px;font-size:13px;font-weight:800}.tab-button.active{background:var(--surface);color:var(--ink);box-shadow:0 3px 10px #142d1f14}.tab-button span{color:var(--green);margin-left:6px}.empty-state{text-align:center;padding:50px 22px}.empty-icon{background:var(--green-soft);width:52px;height:52px;color:var(--green);border-radius:16px;place-items:center;margin:0 auto 15px;display:grid}.status-page{place-items:center;min-height:100dvh;padding:32px 22px;display:grid}.status-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow);padding:42px 32px}.status-brand{color:var(--ink);align-items:center;gap:11px;margin-bottom:30px;display:inline-flex}.status-icon{background:var(--green-soft);width:60px;height:60px;color:var(--green);border-radius:18px;place-items:center;margin:0 auto 18px;display:grid}.status-icon.warn{background:var(--amber-soft);color:var(--amber)}.status-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:850}.status-card h1{letter-spacing:-.02em;margin:7px 0 11px;font-size:23px;line-height:1.2}.status-card p{color:var(--muted);margin:0 0 26px;font-size:15px;line-height:1.55}.status-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.status-ref{color:var(--muted);word-break:break-all;margin-top:22px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.mobile-tabbar,.roster-fab{display:none}.identity-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1f1652;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.identity-menu{background:var(--surface);border-radius:24px;width:min(440px,100%);padding:22px;box-shadow:0 30px 80px #0a1e1440}.identity-option{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:15px;align-items:center;gap:12px;width:100%;min-height:68px;margin-top:9px;padding:11px;display:flex}.identity-option.active{background:var(--green-soft);border-color:var(--green);color:var(--green-ink)}.identity-option strong,.identity-option small{display:block}.identity-option strong{font-size:14px}.identity-option small{color:var(--muted);margin-top:3px;font-size:12px}.identity-option.active small{color:var(--green-ink)}.account-summary{cursor:default}.account-sign-out{margin-top:14px}.staff-hero{background:var(--banner-bg);color:var(--on-dark);grid-template-columns:1fr auto;align-items:center;gap:20px;padding:24px;display:grid}.staff-hero .subtle{color:var(--on-dark-muted)}.staff-shift-time{font:760 28px/1 var(--font-display), sans-serif;letter-spacing:-.03em}.staff-roster-list{gap:12px;display:grid}.staff-roster-shift{justify-content:space-between;align-items:center;gap:20px;padding:21px 24px;display:flex}.staff-roster-shift.public-holiday{background:var(--holiday-bg);box-shadow:inset 4px 0 0 var(--amber), var(--shadow)}.staff-roster-shift h2{margin:5px 0 0}.login-page{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);min-height:100dvh;display:grid}.login-art{background:var(--login-art-bg);color:#fff;flex-direction:column;padding:52px;display:flex;position:relative;overflow:hidden}.login-art:before{content:"";background:#bde8cd17;border-radius:50%;width:570px;height:570px;position:absolute;bottom:-210px;right:-210px}.login-art-copy{z-index:1;max-width:560px;margin:auto 0;position:relative}.login-art h1{color:#fff;font-size:clamp(40px,6vw,68px)}.login-art p{color:#bed1c8;max-width:460px;font-size:17px;line-height:1.6}.login-feature{color:#d7e6df;align-items:center;gap:12px;margin-top:38px;font-size:13px;display:flex}.login-form-wrap{place-items:center;padding:40px;display:grid}.login-form{width:min(400px,100%)}.login-form h2{margin-top:30px;font-size:29px}.form-stack{gap:16px;margin-top:28px;display:grid}.password-wrap{position:relative}.password-wrap .input{padding-right:48px}.password-toggle{cursor:pointer;width:38px;height:38px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:5px;right:5px}.form-meta{justify-content:flex-end;gap:15px;font-size:12px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:11px;min-height:44px;display:flex}.checkbox-label input[type=checkbox]{appearance:none;border:1.5px solid var(--field-border);background:var(--field-bg);cursor:pointer;border-radius:7px;flex:none;width:22px;height:22px;margin:0;transition:background-color .12s,border-color .12s}.checkbox-label input[type=checkbox]:checked{border-color:var(--green-solid);background:var(--green-solid) center / 15px 15px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.checkbox-label input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.checkbox-label:hover input[type=checkbox]:not(:disabled):not(:checked){border-color:var(--green-solid)}.checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:default}.checkbox-label:has(input:disabled){cursor:default;color:var(--muted)}.text-link{color:var(--green);font-weight:750}.demo-note{background:var(--surface-soft);color:var(--muted);border-radius:12px;margin-top:20px;padding:12px;font-size:12px;line-height:1.5}.settings-grid{grid-template-columns:minmax(0,1fr);gap:16px;max-width:760px;display:grid}.settings-grid .section-head{flex-wrap:wrap}@media (min-width:980px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}}.settings-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:20px;display:flex}.settings-success{color:var(--green);font-size:12px;font-weight:750}.settings-error{color:var(--red);font-size:12px;font-weight:750}@media (max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.calendar-day{min-height:105px;padding:8px}.timesheet-row{grid-template-columns:130px 105px 1fr auto;gap:9px}}@media (max-width:760px){body{padding-bottom:env(safe-area-inset-bottom)}.sidebar{display:none}.main{margin-left:0}.topbar{gap:8px;height:64px;padding:0 clamp(12px,4vw,18px)}.topbar-main{display:none}.topbar-mobile-brand{flex:auto;display:flex}.topbar-actions{flex:0 auto;gap:10px}.topbar-nav,.topbar-actions .icon-button{display:none}.topbar .avatar-button{width:40px;height:40px;font-size:13px}.content{padding:24px 16px calc(80px + env(safe-area-inset-bottom))}.page-heading{flex-direction:column;align-items:flex-start;gap:13px;margin-bottom:21px}.page-heading .button-label-optional{display:none}.page-heading h1{white-space:nowrap;font-size:clamp(21px,6.6vw,28px);line-height:1.08}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2.5vw,12px)}.metric{padding:clamp(13px,4vw,18px)}.metric-icon{width:clamp(30px,9vw,36px);height:clamp(30px,9vw,36px);margin-bottom:clamp(10px,3.5vw,16px)}.metric-value{font-size:clamp(21px,6.8vw,27px)}.metric-note{display:none}.card-pad{padding:18px}.dashboard-grid{gap:11px;margin-top:11px}.hours-card{margin-top:11px}.hours-head{flex-direction:column;align-items:stretch;gap:12px}.chart-range{grid-template-columns:repeat(4,1fr);width:100%;display:grid}.chart-range button{min-width:0}.hours-chart{gap:5px;min-height:150px}.hours-bucket{grid-template-rows:114px auto}.hours-bar{border-radius:10px;height:114px}.hours-label{font-size:9px}.toolbar{flex-direction:column;align-items:stretch}.toolbar>.button{width:100%}.roster-actions{flex-direction:column;align-items:stretch}.roster-actions .button{width:100%}.save-indicator{order:2;justify-content:center}.month-nav{justify-content:space-between}.month-group{gap:8px;width:100%}.month-group .month-nav{flex:1}.month-group .month-title{min-width:0}.roster-clear-btn,.roster-manage-btn{display:none}.roster-share .button-label-optional{display:inline}.calendar-card{display:none}.mobile-agenda{gap:10px;display:grid}.view-toggle{background:var(--control-bg);border-radius:12px;align-self:flex-end;gap:4px;padding:4px;display:inline-flex}.view-toggle button{width:46px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.view-toggle button.active{background:var(--surface);color:var(--green);box-shadow:0 3px 10px #142d1f14}.roster-month.is-grid .calendar-card{display:block}.roster-month.is-grid .mobile-agenda{display:none}.is-grid .calendar-weekdays span{padding:8px 2px;font-size:9px}.is-grid .calendar-day{min-height:58px;padding:5px 4px}.is-grid .day-number{border-radius:7px;width:19px;height:19px;font-size:10px}.is-grid .holiday-label{display:none}.is-grid .shift-pill{text-align:center;border-radius:5px;margin-top:3px;padding:1px 0;font-size:9px;font-weight:800}.is-grid .shift-pill-full{display:none}.is-grid .shift-pill-initials{display:inline}.is-grid .list-row-meta{text-align:center;margin-top:2px;font-size:8px}.agenda-day{background:var(--surface);border:1px solid var(--line);text-align:left;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:17px;padding:15px}.agenda-day.bleed{background:var(--surface-muted);color:var(--muted)}.agenda-day.bleed .subtle{color:var(--muted)}.agenda-day.selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green);background:var(--green-soft)}.agenda-day.public-holiday{background:var(--holiday-bg);border-color:var(--amber);box-shadow:inset 4px 0 0 var(--amber)}.agenda-day.public-holiday.selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green), inset 4px 0 0 var(--amber)}.agenda-date{justify-content:space-between;align-items:center;gap:10px;display:flex}.agenda-day-label{align-items:center;gap:8px;min-width:0;display:flex}.agenda-day-meta{flex:none;align-items:center;gap:9px;display:flex}.today-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--green);background:var(--green-soft);border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:850}.agenda-day.selected .today-badge{background:var(--surface)}.agenda-check{background:var(--green);width:22px;height:22px;color:var(--on-solid);border-radius:50%;flex:none;place-items:center;display:grid}.agenda-date strong{font:750 14px/1 var(--font-display), sans-serif}.agenda-shifts{gap:7px;margin-top:11px;display:grid}.agenda-shift{background:var(--green-soft);color:var(--green-dark);border-radius:10px;justify-content:space-between;gap:10px;padding:9px 10px;font-size:12px;font-weight:700;display:flex}.agenda-shift.night{background:var(--blue-soft);color:var(--blue)}.agenda-shift-name{align-items:center;gap:5px;min-width:0;display:inline-flex}.sheet-backdrop{align-items:end;padding:0}.sheet{width:100%;max-height:92dvh;padding:16px 20px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;overflow-y:auto}.sheet-handle{touch-action:none;cursor:grab;width:100%;height:22px;margin:-2px 0 6px;display:block;position:relative}.sheet-handle:before{content:"";background:var(--line);border-radius:99px;width:40px;height:5px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.sheet-actions{flex-direction:column-reverse}.sheet-actions .button{width:100%}.toast{left:16px;right:16px;bottom:calc(82px + env(safe-area-inset-bottom));text-align:center}.timesheet-layout{grid-template-columns:1fr}.period-banner{align-items:center;gap:10px;padding:14px 15px}.period-banner .status,.period-banner .period-banner-icon{display:none}.period-banner .period-nav-arrow{width:40px;height:40px;color:var(--on-dark);background:#ffffff24;border:0;border-radius:12px;flex:none;place-items:center;display:grid}.payroll-period-label,.approvals-toolbar,.caregiver-toolbar .month-nav{display:none}.payroll-period-banner{align-items:center;gap:10px;margin-bottom:10px;padding:14px 15px}.payroll-period-banner .period-banner-icon{border-radius:13px;width:40px;height:40px}.payroll-period-banner .desktop-payroll-button{display:none}.payroll-period-banner .period-title,.payroll-period-banner .period-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payroll-period-banner .period-title{font-size:clamp(13px,3.6vw,14px)}.payroll-period-banner .period-meta{font-size:clamp(11px,3.5vw,12px)}.mobile-payroll-actions{margin:0 0 14px;display:block}.mobile-payroll-button{width:100%}.timesheet-top-actions{justify-content:flex-end;margin:-7px 0 12px;display:flex}.timesheet-top-prefill{border-color:var(--green);min-height:42px;color:var(--green);padding:0 14px;font-size:13px;box-shadow:0 8px 20px #246b4c14}.summary-prefill{display:none}.timesheet-row{grid-template-columns:1fr auto auto;gap:10px;padding:14px}.timesheet-row>:nth-child(2),.timesheet-row>:nth-child(3){grid-column:1/-1}.entry-times{grid-template-columns:1fr auto 1fr;display:grid}.compact-select{width:100%;min-height:44px}.hours{grid-area:1/2}.clear-entry-button{grid-area:1/3;width:40px;height:40px}.summary-card{position:static}.approval-card{grid-template-columns:1fr}.approval-actions .button{flex:1}.team-actions .status{margin-right:auto}.team-actions .button{flex:none;width:46px;min-width:46px;padding:0}.team-actions .button-label-optional{display:none}.identity-backdrop{align-items:end;padding:0}.identity-menu{padding:20px 20px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.staff-hero{grid-template-columns:1fr}.staff-roster-shift{flex-direction:column;align-items:flex-start;padding:18px}.staff-roster-shift .staff-shift-time{font-size:23px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form-wrap{align-items:start;padding:28px 20px}.settings-grid{grid-template-columns:1fr}.settings-actions{flex-direction:column;align-items:stretch}.settings-actions .button{width:100%}.mobile-tabbar{z-index:30;background:var(--topbar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar-link{min-height:54px;color:var(--muted);letter-spacing:-.01em;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 4px 6px;font-size:10.5px;font-weight:750;display:flex}.tabbar-link.active{color:var(--green)}.tabbar-link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.roster-fab{z-index:40;right:16px;bottom:calc(54px + env(safe-area-inset-bottom) + 16px);background:var(--green-solid);width:56px;height:56px;color:var(--on-solid);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:transform .15s;display:grid;position:fixed;box-shadow:0 12px 28px #142d1f66}.roster-fab:active{transform:translateY(1px)}.roster-fab:disabled{opacity:.52;box-shadow:none}.roster-fab-count{background:var(--on-solid);min-width:22px;height:22px;color:var(--green-solid);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:850;display:grid;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #00000040}.roster-fab-clear{background:var(--surface);color:var(--red);border:1px solid var(--line);left:16px;right:auto}}@media (max-width:390px){.topbar-mobile-brand .brand-name{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-frame-skeleton{background:var(--canvas);min-height:100dvh;padding:32px}.page-skeleton{min-height:50vh}.skeleton-list{gap:12px;display:grid}.roster-month.data-pending,.dashboard-grid.data-pending{display:none}.skeleton-status{border-radius:999px;width:92px;height:28px;display:inline-block}.skeleton-card{min-height:108px;overflow:hidden}.skeleton-heading{width:min(520px,100%)}.skeleton{background:color-mix(in srgb, var(--line) 72%, var(--surface));border-radius:9px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff6b,#0000);animation:1.25s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{width:100%;height:12px;margin-top:13px}.skeleton-line-short{width:32%}.skeleton-line-medium{width:68%}.skeleton-line-eyebrow{width:110px;height:9px;margin-top:0}.skeleton-title{width:min(360px,75%);height:34px;margin-top:12px}@keyframes skeleton-sweep{to{transform:translate(100%)}}.viewer-backdrop{z-index:60;background:#060d09d1;align-items:center;padding:0}.receipt-viewer{border-radius:20px;grid-template-rows:auto 1fr auto;gap:12px;width:min(1040px,96vw);max-width:96vw;height:min(94dvh,1200px);max-height:94dvh;padding:16px 16px 18px;display:grid;overflow:hidden}.viewer-bar{align-items:center;gap:12px;display:flex}.viewer-title-group{flex:1;gap:2px;min-width:0;display:grid}.viewer-title{font:800 16px/1.25 var(--font-display), sans-serif;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.viewer-sub{color:var(--muted);font-size:12.5px}.viewer-stage{background:var(--surface-sunken);border-radius:14px;outline:none;place-items:center;min-height:0;display:grid;overflow:hidden}.viewer-image{object-fit:contain;border-radius:10px;min-width:0;max-width:100%;min-height:0;max-height:100%}.viewer-nav{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.viewer-nav .button{justify-content:center;width:100%;min-height:46px}.confirm-backdrop{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060d0994;align-items:center;padding:20px}.confirm-sheet{background:var(--surface-raised);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);border-radius:22px;width:min(370px,100%);max-height:none;padding:24px 22px 20px;box-shadow:0 28px 70px #0000006b}.confirm-title{font:800 18px/1.3 var(--font-display), sans-serif;margin:0}.confirm-body{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.confirm-actions .button{justify-content:center;width:100%}.claim-sheet{gap:22px;margin-top:6px;display:grid}.claim-block{gap:8px;display:grid}.claim-block-title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 0 4px;font-size:12px;font-weight:800}.claim-hint{color:var(--muted);margin:0 4px;font-size:14px;line-height:1.5}.claim-status-line{text-align:center;color:var(--muted);margin:2px 0 0;font-size:13px}.sheet-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.sheet-nav-title{font:800 17px/1.2 var(--font-display), sans-serif;text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.sheet-nav-button{min-height:44px;color:var(--green);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:15px;font-weight:650}.sheet-nav-button:first-child{text-align:left}.sheet-nav-button:last-child{text-align:right}.sheet-nav-button.strong{font-weight:800}.sheet-nav-button:disabled{color:var(--muted);opacity:.55;cursor:default}.form-group{background:var(--surface-soft);border-radius:14px;display:grid}.form-row{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;min-height:50px;padding:4px 14px;display:grid}.form-row:last-child{border-bottom:0}.form-row-label{color:var(--field-label);font-size:14px;font-weight:650}.form-row-input{width:100%;min-width:0;min-height:44px;color:var(--ink);text-align:right;appearance:none;background:0 0;border:0;outline:none;padding:0}.form-row-input::placeholder,.form-row-input:disabled{color:var(--muted)}.total-row strong{text-align:right;font:760 20px/1 var(--font-display), sans-serif}.date-row{grid-template-columns:88px minmax(0,1fr) auto}.receipt-total-flag{color:var(--red);white-space:nowrap;cursor:help;justify-self:end;padding:4px 0 4px 8px;font-size:15px;font-weight:750;position:relative}.total-popover{z-index:5;background:var(--ink);width:max-content;max-width:min(240px,70vw);color:var(--surface);text-align:left;white-space:normal;opacity:0;visibility:hidden;border-radius:12px;padding:9px 11px;font-size:12px;font-weight:600;line-height:1.45;transition:opacity .14s;position:absolute;top:calc(100% + 7px);right:0}.receipt-total-flag:hover .total-popover,.receipt-total-flag:focus-visible .total-popover{opacity:1;visibility:visible}.receipt-total-flag:focus-visible{outline:none}.form-action{border:0;border-bottom:1px solid var(--line);width:100%;min-height:50px;color:var(--green);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:700;display:flex}.form-action:last-child{border-bottom:0}.form-action:disabled{color:var(--muted);opacity:.6;cursor:default}.form-action.subtle-action{color:var(--field-label);font-weight:600}.item-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:50px;padding:0 8px 0 14px;display:grid}.item-row:last-child{border-bottom:0}.item-name,.item-amount input{min-width:0;min-height:44px;color:var(--ink);font:inherit;appearance:none;background:0 0;border:0;outline:none;font-size:16px}.item-name{resize:none;width:100%;padding:12px 0;font-weight:620;line-height:1.3;overflow:hidden}.item-name::placeholder,.item-amount input::placeholder,.item-name:disabled,.item-amount input:disabled{color:var(--muted)}.item-amount{color:var(--muted);align-items:center;gap:2px;font-size:15px;display:flex}.item-amount input{text-align:right;font-variant-numeric:tabular-nums;width:68px;font-weight:650}@supports (field-sizing:content){.item-amount input{field-sizing:content;width:auto;min-width:3.6ch;max-width:92px}}.item-remove{width:44px;height:44px;color:var(--muted);cursor:pointer;appearance:none;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:grid}.item-remove:hover{color:var(--red);background:var(--red-soft)}.receipt-row{grid-template-columns:minmax(0,1fr) auto}.receipt-open{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;min-width:0;padding:4px 0;display:flex}.receipt-open-main{gap:2px;min-width:0;display:grid}.receipt-open-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;overflow:hidden}.claim-receipt-icon{background:var(--green-soft);width:32px;height:32px;color:var(--green);border-radius:10px;flex:none;place-items:center;display:grid}.receipt-thumb{object-fit:contain;background:var(--surface-sunken);border:1px solid var(--line);border-radius:8px;flex:none;width:48px;height:66px}.claim-working{color:var(--muted);place-items:center;gap:12px;padding:58px 0 50px;display:grid}.claim-working p{margin:0;font-size:15px;font-weight:650}.claim-working svg{color:var(--green)}.claim-footer{background:linear-gradient(to top, var(--surface) 76%, transparent);padding:14px 0 2px;position:sticky;bottom:0}.claim-footer-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.claim-footer-row .button{justify-content:center;width:100%;min-height:48px}.claim-footer-hint{text-align:center;color:var(--muted);margin:8px 0 0;font-size:13px}.visually-hidden-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
