:root{--bg:#f3f5f4;--surface:#fff;--surface-2:#eef2f1;--border:#d8e0de;--border-strong:#b9c6c3;--text:#14201d;--text-muted:#56655f;--primary:#0b7a6e;--primary-hover:#086358;--primary-soft:#dff1ee;--on-primary:#fff;--success:#1c7b3c;--success-soft:#e2f3e7;--danger:#b42318;--danger-soft:#fce9e7;--warning:#8f5500;--warning-soft:#fff1d6;--focus:#2563eb;--shadow:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-raised:0 -2px 12px #1018281a;--chart-bar:#008a7c;--series-1:#008a7c;--series-2:#eb6834;--radius:12px;--radius-sm:8px;--tap:44px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", sans-serif;--nav-height:64px;--sidebar-width:232px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1513;--surface:#16201e;--surface-2:#1d2a27;--border:#2a3935;--border-strong:#3b4d49;--text:#e5eeeb;--text-muted:#9bb0aa;--primary:#3cb8a6;--primary-hover:#5ccab9;--primary-soft:#173a35;--on-primary:#03201b;--success:#5ccf84;--success-soft:#16301f;--danger:#f5877d;--danger-soft:#3a1b18;--warning:#f2b654;--warning-soft:#372a12;--focus:#7aa2ff;--shadow:0 1px 2px #0006;--shadow-raised:0 -2px 12px #00000080;--chart-bar:#1fa593;--series-1:#1fa593;--series-2:#d95926;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app-shell body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-shell :is(input,textarea,select,[contenteditable],td,.selectable){-webkit-user-select:text;user-select:text}body{background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.5rem;font-weight:700}h2{font-size:1.125rem;font-weight:650}h3{font-size:1rem;font-weight:650}p{margin:0}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--text-muted)}.small{font-size:.875rem}.num{font-variant-numeric:tabular-nums;text-align:right}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.stack{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacer{flex:1}.shell{min-height:100dvh}.topbar{z-index:20;height:56px;padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.logo{letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;font-size:1.25rem;font-weight:800;display:inline-flex}.logo-mark{flex:none}.logo-word span,.welcome-name{color:var(--primary)}.main{width:100%;max-width:1120px;padding:20px 16px calc(var(--nav-height) + 32px + env(safe-area-inset-bottom));margin:0 auto}.nav{z-index:20;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;inset:auto 0 0}.nav a{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.nav a svg{width:24px;height:24px}.nav a.active{color:var(--primary)}.nav .nav-desktop-only,.sidebar-footer{display:none}@media (width>=900px){.topbar{display:none}.nav{width:var(--sidebar-width);border-top:0;border-right:1px solid var(--border);flex-direction:column;gap:4px;height:auto;padding:20px 12px;inset:0 auto 0 0}.nav .brand{padding:0 12px 20px}.nav a{border-radius:var(--radius-sm);flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:10px 12px;font-size:.9375rem}.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--primary-soft)}.nav .nav-desktop-only{display:flex}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px;display:block}.main{padding:32px 32px 48px calc(var(--sidebar-width) + 32px);max-width:calc(1120px + var(--sidebar-width))}.mobile-only{display:none!important}}.page-header{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:20px;display:flex}.page-header>div:first-child{flex:240px}.page-header p{margin-top:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-body{padding:16px}.card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px;display:grid}.btn{min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:20px;height:20px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{color:var(--danger)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:var(--surface)}dialog.confirm{width:min(440px,100vw - 32px);color:var(--text);margin:auto}dialog.confirm::backdrop{background:#00000073}.confirm-body{white-space:pre-line;color:var(--text-muted)}.confirm-actions{justify-content:flex-end}.btn-ghost{background:0 0;border-color:#0000}.btn-block{width:100%}.btn-icon{width:var(--tap);padding:0}.field{align-content:start;gap:6px;min-width:0;display:grid}.field>label{font-size:.875rem;font-weight:600}.field .hint{color:var(--text-muted);font-size:.8125rem}.field .error{color:var(--danger);font-size:.8125rem;font-weight:600}.input,.select{width:100%;min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:0 12px}.select{padding-right:32px}textarea.input{resize:vertical;min-height:80px;padding:10px 12px}.input[aria-invalid=true]{border-color:var(--danger)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px;display:grid}.form-grid .span-all{grid-column:1/-1}.checkbox{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;font-weight:600;display:inline-flex}.checkbox input{width:20px;height:20px;accent-color:var(--primary)}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:var(--tap);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.segmented.full{display:flex}.segmented.full button{flex:1}.badge{white-space:nowrap;background:var(--surface-2);color:var(--text-muted);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.8125rem;font-weight:650;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-primary{background:var(--primary-soft);color:var(--primary)}.alert{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);align-items:flex-start;gap:12px;padding:12px 16px;font-weight:600;display:flex}.alert .btn{min-height:var(--tap);margin-left:auto}.alert-info{background:var(--primary-soft);color:var(--primary)}.alert-warning{background:var(--warning-soft);color:var(--warning);display:block}.empty{text-align:center;color:var(--text-muted);padding:40px 16px}.empty h3{color:var(--text);margin-bottom:4px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.loading{place-items:center;padding:48px 16px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.toasts{inset:auto 16px calc(var(--nav-height) + 16px + env(safe-area-inset-bottom)) 16px;z-index:70;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed}.toast-stack{gap:8px;justify-items:inherit;display:grid}.toast{border-radius:var(--radius-sm);background:var(--text);max-width:420px;color:var(--bg);box-shadow:var(--shadow-raised);pointer-events:auto;align-items:center;gap:8px;padding:12px 16px;font-weight:600;display:flex}.toast-error{background:var(--danger);color:#fff}.toast-close{width:var(--tap);height:var(--tap);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin:-12px -12px -12px 0;font-size:1.25rem}@media (width>=900px){.toasts{justify-items:end;inset:auto 24px 24px auto}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px}.table th{background:var(--surface-2);color:var(--text-muted);font-size:.8125rem;font-weight:650;position:sticky;top:0}.table td.wrap{white-space:normal;min-width:180px}.table tbody tr:last-child td{border-bottom:0}.table tfoot td{border-top:2px solid var(--border-strong);border-bottom:0;font-weight:700}.table .num{text-align:right}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;display:flex}.list>li:last-child{border-bottom:0}.list a.list-link{color:inherit;flex:1;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.list .title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.avatar{background:var(--primary-soft);height:40px;color:var(--primary);border-radius:50%;flex:0 0 40px;place-items:center;font-size:.875rem;font-weight:700;display:grid}@media (width<=719px){.wide-only{display:none!important}}@media (width>=720px){.narrow-only{display:none!important}}.stat-card{color:inherit;gap:10px;padding:16px;text-decoration:none;display:grid}.stat-card:hover{border-color:var(--border-strong)}.stat-value{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.1}.meter{background:var(--surface-2);border-radius:999px;height:8px;display:flex;overflow:hidden}.meter span{height:100%;display:block}.meter .present{background:var(--success)}.meter .absent{background:var(--danger)}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .axis{fill:var(--text-muted);font-size:11px}.chart .gridline{stroke:var(--border);stroke-width:1px}.chart{position:relative}.chart .bar{fill:var(--chart-bar)}.chart .bar.active{opacity:.75}.chart .baseline{stroke:var(--border-strong);stroke-width:1px}.chart .value-label{fill:var(--text);font-size:12px;font-weight:650}.chart .hit{fill:#0000;cursor:default}.chart .plot:focus-visible{outline:none}.chart .plot:focus-visible .focus-ring{stroke:var(--focus);stroke-width:2px}.chart-tooltip{z-index:5;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-raised);white-space:nowrap;pointer-events:none;padding:6px 10px;font-size:.8125rem;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.chart-tooltip strong{font-variant-numeric:tabular-nums;font-size:.9375rem;display:block}.chart .bar.s1{fill:var(--series-1)}.chart .bar.s2{fill:var(--series-2)}.legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:12px;height:12px}.tooltip-key{vertical-align:middle;width:12px;height:2px;margin-right:6px;display:inline-block}.legend-swatch.s1,.tooltip-key.s1{background:var(--series-1)}.legend-swatch.s2,.tooltip-key.s2{background:var(--series-2)}.chart-tooltip>span{display:block}.chart-tooltip .tooltip-row strong{display:inline}.chart-x-labels{color:var(--text-muted);text-align:center;margin-top:6px;font-size:11px;line-height:1.3;display:grid}.chart details{margin-top:8px;font-size:.875rem}.chart summary{cursor:pointer;color:var(--text-muted);font-weight:600}.sheet-row{border-bottom:1px solid var(--border);gap:12px;padding:14px 16px;display:grid}.sheet-row:last-child{border-bottom:0}.sheet-row[data-status=present]{box-shadow:inset 4px 0 0 var(--success)}.sheet-row[data-status=absent]{box-shadow:inset 4px 0 0 var(--danger)}.sheet-row .who{align-items:center;gap:12px;min-width:0;display:flex}.status-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.status-toggle button{min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;font-weight:650;display:inline-flex}.sheet-row[data-needs-photo] .status-toggle button{opacity:.45;cursor:not-allowed}.status-toggle button[aria-pressed=true].present{background:var(--success);border-color:var(--success);color:var(--surface)}.status-toggle button[aria-pressed=true].absent{background:var(--danger);border-color:var(--danger);color:var(--surface)}.sheet-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sheet-details .field:last-child{grid-column:1/-1}.sheet-details .field>label{color:var(--text-muted);font-size:.75rem}@media (width>=720px){.sheet-row{grid-template-columns:minmax(180px,1.2fr) 200px minmax(0,2fr);align-items:center}.sheet-details{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-details .field:last-child{grid-column:auto}.sheet-details .field>label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}.save-bar{bottom:calc(var(--nav-height) + 12px + env(safe-area-inset-bottom));z-index:10;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-raised);flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;display:flex;position:sticky}@media (width>=900px){.save-bar{bottom:16px}}.login{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login .card{width:100%;max-width:400px;padding:28px 24px}.login header{text-align:center;justify-items:center;gap:8px;margin-bottom:24px;display:grid}.login h1{letter-spacing:-.02em;font-size:1.5rem}.sheet-table td,.sheet-table th{vertical-align:middle}.sheet-table tbody th{color:var(--text);background:0 0;font-size:.9375rem;position:static}.sheet-table .input{min-width:96px;max-width:160px}.sheet-table tr.edited th{box-shadow:inset 4px 0 0 var(--primary)}.input.num{text-align:right}.table .group-row th{background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem}.table .total-row td{border-top:1px solid var(--border-strong);background:var(--surface);font-weight:700}.card-details>summary{cursor:pointer}.card-details[open]>summary{border-bottom:1px solid var(--border)}.export-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.export-grid .btn{white-space:normal}.export-grid .btn svg{flex:none}.email-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px 32px;display:grid}.email-grid h3{font-size:1rem}.email-grid>.stack{align-content:start}.missing-details summary{cursor:pointer;margin-top:6px}.missing-list{margin:6px 0 0;padding-left:20px;font-weight:500}.salary-table th,.salary-table td{padding-left:6px;padding-right:6px}.salary-table .input{min-width:64px;max-width:88px}.salary-table tbody th,.salary-table thead th:first-child,.salary-table tfoot td:first-child{z-index:1;box-shadow:inset -1px 0 0 var(--border);padding-left:16px;position:sticky;left:0}.salary-table tbody th,.salary-table tfoot td:first-child{background:var(--surface)}.salary-table thead th:first-child{z-index:2}.salary-table tr[data-inactive] th{color:var(--text-muted)}.salary-table .cell-note{max-width:88px;color:var(--text-muted);white-space:normal;margin-top:2px;font-size:.75rem;display:block}.register{font-size:.8125rem}.register th,.register td{padding:6px 8px}.register td.num,.register th.num{text-align:right}.register .sticky-col{z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--border);position:sticky;left:0}.register thead .sticky-col{z-index:2;background:var(--surface-2)}.register .day{text-align:center;min-width:34px}.register .day small{font-weight:400;display:block}.register .sunday{background:var(--surface-2)}.register .zero{color:var(--border-strong)}.register tr.total td{border-top:2px solid var(--border-strong);font-weight:700}.register tr.derived td:first-child{color:var(--text-muted)}.register .cell-p,.register .cell-a{font-weight:700}.register .cell-p{color:var(--success)}.register .cell-a{color:var(--danger)}.register .cell-p sup{color:var(--text-muted);font-weight:600}.databar{align-items:center;gap:8px;min-width:120px;display:flex}.databar span{background:var(--chart-bar);border-radius:0 4px 4px 0;height:8px;display:block}@media (width<=719px){.sheet-table th,.sheet-table td{padding:8px 6px}.sheet-table th:first-child,.sheet-table td:first-child{padding-left:16px}.sheet-table .input{min-width:64px;padding:0 8px}}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.camera{gap:12px;display:grid}.camera-frame{border-radius:var(--radius);aspect-ratio:4/3;background:#000;width:100%;max-height:46vh;position:relative;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%;display:block}.camera-overlay{color:#fff;text-align:center;background:#0000008c;place-content:center;gap:12px;padding:16px;display:grid;position:absolute;inset:0}.camera-tools{gap:8px;display:flex;position:absolute;top:8px;right:8px}.camera-tool{color:#fff;background:#00000080;border-color:#0000}.camera-tool:hover{background:#000000b3}.shutter{min-height:52px;font-size:1.0625rem}.camera-start{border-style:dashed;min-height:96px}.checkin-overlay{z-index:60;visibility:hidden;pointer-events:none;background:#000;place-items:center;display:grid;position:fixed;inset:0}.checkin-overlay.open{visibility:visible;pointer-events:auto}.checkin-overlay .camera{grid-template-rows:minmax(0,1fr) auto;gap:0;width:100%;height:100%}.checkin-overlay .camera-frame{aspect-ratio:auto;border-radius:0;height:100%;max-height:none}.overlay-bar{padding:16px 16px calc(16px + env(safe-area-inset-bottom));color:#fff;background:#111;grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.overlay-bar .shutter{grid-column:1}.overlay-who{grid-column:1/-1;align-items:baseline;gap:8px;font-size:1.125rem;display:flex}.overlay-who span{color:#b9c6c3;font-size:.9375rem}.face-guide{aspect-ratio:3/4;pointer-events:none;border:3px dashed #ffffffbf;border-radius:50%;width:min(56%,300px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #00000040}.face-guide-circle{aspect-ratio:1;border-style:solid;width:min(62%,320px);box-shadow:0 0 0 100vmax #00000073}.camera-caption{text-align:center;margin-top:8px}.photo-tips ul{margin:4px 0 6px;padding-left:20px}.scan-card{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.scan-card .shutter{flex:200px}.scan-result{grid-column:1/-1;gap:12px;display:grid}.scan-note{color:#d6dfdd;margin:0}.scan-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scan-details .field:last-child{grid-column:1/-1}.overlay-bar .field>label{color:#d6dfdd;font-size:.75rem}.scan-actions{gap:8px;display:grid}@media (width>=560px){.scan-details{grid-template-columns:repeat(3,minmax(0,1fr))}.scan-details .field:last-child{grid-column:auto}.scan-actions{grid-template-columns:minmax(0,1fr) auto;gap:12px}}p.overlay-who{margin:0;font-size:1rem}@media (width>=900px){.checkin-overlay{background:#000000b3}.checkin-overlay .camera{border-radius:var(--radius);width:min(720px,90vw);height:min(640px,90vh);overflow:hidden}}.photo-capture{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.worker-photo{border-radius:var(--radius);object-fit:cover;background:var(--surface-2);width:160px;height:160px}.photo-preview{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;background:var(--surface-2);width:min(100%,320px);height:auto}.scan-who,.scan-other,.scan-choice{text-align:left;align-items:center;gap:12px;display:flex}.scan-face{border-radius:var(--radius);object-fit:cover;flex:none;width:56px;height:56px}.scan-choices{gap:8px;display:grid}.scan-choice>span{display:grid}.sitting-shots,.lookalike-photos{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.sitting-shot{justify-items:start;gap:4px;display:grid}.photo-thumb{border-radius:var(--radius);object-fit:cover;background:var(--surface-2);width:96px;height:96px}.lookalike-compare{flex-wrap:wrap;gap:24px;display:flex}.lookalike-compare>div{gap:8px;display:grid}.notice-card{color:inherit;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:flex}.sitting-prompt{margin:0}.worker-photo-empty{color:var(--primary);background:var(--primary-soft);place-items:center;font-size:2.5rem;font-weight:700;display:grid}.avatar-photo{object-fit:cover;flex:none;padding:0;display:block}.today-chip{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex}.receipt{justify-items:start;max-width:560px}.receipt-icon{background:var(--success-soft);width:52px;height:52px;color:var(--success);border-radius:50%;place-items:center;display:grid}.welcome{flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.welcome-bar{z-index:1;width:100%;max-width:1120px;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:relative}.welcome-main{flex:1;place-items:center;width:100%;max-width:1120px;margin:0 auto;padding:0 16px 48px;display:grid}.welcome-hero{isolation:isolate;text-align:center;justify-items:center;gap:20px;width:100%;padding:24px 0;display:grid;position:relative}.welcome-hero:before{content:"";z-index:-2;background:radial-gradient(ellipse 50% 60% at 50% 45%, var(--primary-soft), transparent 75%);position:absolute;inset:-160px -50vw -80px}.welcome-pattern{z-index:-1;width:100%;height:calc(100% + 160px);color:var(--border-strong);opacity:.5;position:absolute;inset:-120px 0 -40px;-webkit-mask-image:radial-gradient(55% 60% at 50% 48%,#000 25%,#0000 72%);mask-image:radial-gradient(55% 60% at 50% 48%,#000 25%,#0000 72%)}.welcome-hero .logo-mark{filter:drop-shadow(0 12px 22px #0863584d)}.welcome-hero h1{letter-spacing:-.045em;font-size:clamp(2.75rem,11vw,5rem);font-weight:800;line-height:1}.welcome-lead{max-width:30rem;color:var(--text-muted);font-size:clamp(1.0625rem,2.6vw,1.25rem)}.welcome-hero .btn-lg{margin-top:8px}.btn-lg{min-height:52px;padding:0 28px;font-size:1.0625rem}.welcome-footer{width:100%;max-width:1120px;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin:0 auto;font-size:.875rem;display:flex}@media (prefers-reduced-motion:no-preference){.welcome-hero>:not(.welcome-pattern){animation:.5s ease-out both rise}.welcome-hero>:nth-child(3){animation-delay:50ms}.welcome-hero>:nth-child(4){animation-delay:.1s}.welcome-hero>:nth-child(5){animation-delay:.15s}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;display:grid}.shift-report-head{border-bottom:1px solid var(--border);box-shadow:inset 4px 0 0 var(--primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.shift-report-head h2{font-size:1.25rem}@media (width<=719px){.shift-table th,.shift-table td{white-space:normal;padding:8px 6px;font-size:.875rem}.shift-table th:first-child,.shift-table td:first-child{padding-left:12px}.shift-table .badge{margin-top:2px}}.kpi-grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px}.kpi-grid.compact .kpi-value{font-size:1.5rem}.kpi{align-content:start;gap:6px;padding:16px;display:grid}.kpi-label{color:var(--text-muted);font-size:.875rem;font-weight:600}.kpi-value{font-size:1.75rem;font-weight:700;line-height:1.1}.delta-good{color:var(--success);font-weight:600}.delta-bad{color:var(--danger);font-weight:600}.rank-bars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rank-bars li{grid-template-columns:minmax(96px,30%) 1fr;align-items:center;gap:12px;font-size:.875rem;display:grid}.rank-bars .bar-track{align-items:center;gap:8px;min-width:0;display:flex}.rank-bars .bar-fill{background:var(--series-1);border-radius:0 4px 4px 0;flex:none;height:12px}.rank-bars .bar-value{font-variant-numeric:tabular-nums;white-space:nowrap}.rates-table .dept-row th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem}.report-actions{flex-wrap:wrap;gap:8px;display:flex}.report-email{flex-basis:100%;gap:10px;max-width:560px;display:grid}.report-email .row{gap:8px}.report-subhead{padding-bottom:8px;font-size:1rem}.btn:active:not(:disabled),.segmented button:active,.nav a:active{filter:brightness(.92)}.btn:active:not(:disabled){transform:translateY(1px)}.list>li.photo-needed{padding:0;display:block}.photo-needed>button.list-link{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.photo-needed>button.list-link:active{filter:brightness(.92)}.photo-needed>button.list-link>svg{width:22px;height:22px;color:var(--primary);flex:0 0 22px}.photo-needed>.card-body{border-top:1px solid var(--border)}.import-notes{margin:0;padding-left:18px;font-size:.875rem}.import-notes .error{color:var(--danger)}.import-notes .warning,.missing-note{color:var(--warning)}.missing-form{border-top:1px solid var(--border);padding-top:12px}.missing-form h3{margin:0;font-size:1rem}.alert.alert-block{display:block}.alert.detail-check{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.alert.detail-check>span{flex:280px}.badge-info{background:var(--primary-soft);color:var(--primary)}
