:root,:root[data-theme=light]{color-scheme:light;--bg:#f6f8fa;--tile:#fff;--tile-2:#f6f8fa;--tile-3:#eef1f5;--line:#d1d9e0;--line-2:#afb8c1;--ink:#1f2328;--ink-2:#59636e;--ink-3:#818b98;--accent:#0284c7;--accent-soft:#e0f2fe;--accent-ink:#075985;--accent-2:#22d3ee;--on-accent:#fff;--grad:linear-gradient(120deg,#0284c7,#22d3ee);--page-glow:radial-gradient(60% 55% at 100% 0%,rgba(2,132,199,.06),transparent 60%);--brand-bell:#0284c7;--skeleton-base:#e7ebf1;--skeleton-sheen:hsla(0,0%,100%,.65);--green:#1a7f37;--green-soft:#dafbe1;--green-ink:#1a7f37;--amber:#9a6700;--amber-soft:#fff8c5;--amber-ink:#7d4e00;--red:#cf222e;--red-soft:#ffebe9;--red-ink:#cf222e;--leave:#7c3aed;--leave-soft:#f1ebfd;--leave-ink:#6024c0;--green-border:rgba(26,127,55,.25);--amber-border:rgba(154,103,0,.25);--red-border:rgba(207,34,46,.25);--accent-border:rgba(2,132,199,.25);--knob:#fff;--avatar-bg:#eaeef2;--avatar-ink:#59636e;--avatar-teal-bg:rgba(34,211,238,.15);--avatar-teal-ink:#0e7490;--avatar-purple-bg:rgba(124,58,237,.12);--avatar-purple-ink:#6d28d9;--avatar-amber-bg:rgba(154,103,0,.12);--avatar-amber-ink:#92400e;--avatar-green-bg:rgba(26,127,55,.12);--avatar-green-ink:#166534;--avatar-pink-bg:rgba(236,72,153,.12);--avatar-pink-ink:#9d174d;--track:#eef1f4;--scrim:rgba(31,35,40,.5);--shadow:0 1px 3px rgba(31,35,40,.06);--shadow-sm:0 1px 0 rgba(31,35,40,.04);--shadow-lg:0 24px 60px rgba(31,35,40,.24);--shadow-toast:0 4px 16px rgba(0,0,0,.14),0 1px 4px rgba(0,0,0,.08);--radius:8px;--radius-pill:20px;--font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-num:"Fira Code",ui-monospace,SFMono-Regular,monospace;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:50%;--font-xs:0.75rem;--font-sm:0.875rem;--font-md:1rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:2rem;--font-4xl:2.5rem;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-xl:0 12px 28px rgba(0,0,0,.15);--shadow-button:0 4px 12px rgba(2,132,199,.3);--shadow-card:0 4px 16px rgba(31,35,40,.1),0 2px 8px rgba(31,35,40,.06);--component-width-narrow:500px;--component-width-standard:640px;--component-width-wide:768px;--component-width-modal:640px}:root[data-theme=dark]{color-scheme:dark;--bg:#010409;--tile:#0d1117;--tile-2:#161b22;--tile-3:#1c222b;--line:#30363d;--line-2:#444c56;--ink:#e6edf3;--ink-2:#9198a1;--ink-3:#6e7681;--accent:#38bdf8;--accent-soft:rgba(56,189,248,.16);--accent-ink:#bae6fd;--accent-2:#22d3ee;--on-accent:#06283d;--grad:linear-gradient(120deg,#38bdf8,#22d3ee);--page-glow:radial-gradient(60% 55% at 100% 0%,rgba(56,189,248,.1),transparent 60%);--brand-bell:#38bdf8;--skeleton-base:#232b36;--skeleton-sheen:hsla(0,0%,100%,.06);--green:#3fb950;--green-soft:rgba(46,160,67,.15);--green-ink:#3fb950;--amber:#d29922;--amber-soft:rgba(187,128,9,.15);--amber-ink:#d29922;--red:#f85149;--red-soft:rgba(248,81,73,.15);--red-ink:#ff7b72;--leave:#a78bfa;--leave-soft:rgba(167,139,250,.15);--leave-ink:#c4b5fd;--green-border:rgba(63,185,80,.25);--amber-border:rgba(210,153,34,.25);--red-border:rgba(248,81,73,.25);--accent-border:rgba(56,189,248,.25);--knob:#e6edf3;--avatar-bg:#21262d;--avatar-ink:#9198a1;--avatar-teal-bg:rgba(34,211,238,.12);--avatar-teal-ink:#22d3ee;--avatar-purple-bg:rgba(167,139,250,.12);--avatar-purple-ink:#a78bfa;--avatar-amber-bg:rgba(210,153,34,.12);--avatar-amber-ink:#d29922;--avatar-green-bg:rgba(63,185,80,.12);--avatar-green-ink:#3fb950;--avatar-pink-bg:rgba(236,72,153,.12);--avatar-pink-ink:#f472b6;--track:#161b22;--scrim:rgba(1,4,9,.72);--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-sm:none;--shadow-lg:0 24px 60px rgba(0,0,0,.6);--shadow-toast:0 4px 16px rgba(0,0,0,.14),0 1px 4px rgba(0,0,0,.08);--shadow-md:0 4px 12px rgba(0,0,0,.45);--shadow-xl:0 12px 28px rgba(0,0,0,.55);--shadow-button:0 4px 12px rgba(56,189,248,.3);--shadow-card:0 4px 16px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.4)}*{box-sizing:border-box;margin:0;padding:0}a,button{cursor:pointer}:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.01ms}}body,html{height:100%}body{background:var(--bg);background-attachment:fixed;background-image:var(--page-glow);color:var(--ink);font-family:var(--font-ui);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background .15s,color .15s}.font-num{font-family:var(--font-num);font-variant-numeric:tabular-nums}svg:not([width]){flex-shrink:0;height:1em;width:1em}:root:not([data-theme=dark]) .mbico--dark,:root[data-theme=dark] .mbico--light{display:none}.element-visible.element-visible{display:block}.auth-hidden.auth-hidden,.clock-hidden.clock-hidden,.element-hidden.element-hidden,.enrollment-hidden.enrollment-hidden{display:none}.show.show{display:block}.d-none.d-none,.hidden.hidden{display:none}@keyframes icon-spin{to{transform:rotate(1turn)}}.icon-spin.icon-spin{animation:icon-spin .7s linear infinite;transform-origin:center}.btn{border:none;font-weight:500;transition:all .3s ease}.btn,.btn-primary{border-radius:var(--radius-md);cursor:pointer}.btn-primary{background:var(--grad);border:none;box-shadow:var(--shadow-button);color:var(--on-accent);font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{box-shadow:var(--shadow-xl);filter:brightness(.96);transform:translateY(-2px)}.font-xs{font-size:.75rem}.font-sm{font-size:var(--font-sm)}.me-1{margin-right:.25rem}button:disabled{cursor:not-allowed;opacity:.6}.photo-preview-card.photo-preview-visible{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.photo-preview-card.photo-preview-hidden{opacity:.6;transform:translateY(5px);transition:opacity .3s ease,transform .3s ease}.theme-toggle{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;display:grid;height:44px;place-items:center;touch-action:manipulation;transition:border-color .1s ease,background .1s ease,color .1s ease;width:44px;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{background:var(--tile-2);border-color:var(--line-2);color:var(--ink)}.theme-toggle svg{height:18px;width:18px}.app-container{background:var(--tile);box-shadow:0 0 20px rgba(0,0,0,.1);margin:0 auto;max-width:var(--component-width-wide);min-height:100vh}.dashboard-app{background:transparent;box-shadow:none;margin:0;max-width:none}.dashboard-container{background:var(--bg);background-image:var(--page-glow);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative;width:100%}.dashboard-container:before{background:var(--grad);content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:10}.dash-topbar{background:var(--tile);border-bottom:1px solid var(--line);flex-shrink:0;gap:var(--space-md);height:64px;padding:0 var(--space-lg);position:relative;z-index:5}.dash-brand,.dash-topbar{align-items:center;display:flex}.dash-brand{flex:1;gap:var(--space-sm);min-width:0}.dash-logo{border-radius:9px;display:block;flex-shrink:0;height:44px;width:44px}.dash-brand-text{min-width:0}.dash-brand-text b{color:var(--ink);display:block;font-size:15px;font-weight:700;letter-spacing:-.2px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-brand-text .facility-subtitle{color:var(--ink-3);display:block;font-size:11px;font-weight:500;letter-spacing:.01em;margin-top:1px}.dash-topbar-right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-sm)}.conn-pill{align-items:center;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius-pill);display:inline-flex;gap:7px;padding:6px 14px;user-select:none}.conn-pill,.conn-pill .connection-text{color:var(--ink-2);font-size:12px;font-weight:600}.conn-dot{background:var(--green);border-radius:50%;box-shadow:0 0 0 2px var(--green-soft);flex-shrink:0;height:8px;width:8px}.conn-pill.offline .conn-dot{background:var(--amber);box-shadow:0 0 0 2px var(--amber-soft)}.conn-pill.offline .connection-text{color:var(--amber-ink)}.logout-button{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;display:grid;height:44px;place-items:center;touch-action:manipulation;transition:border-color .1s ease,background .1s ease,color .1s ease;width:44px;-webkit-tap-highlight-color:transparent}.logout-button:hover{background:var(--tile-2);border-color:var(--line-2);color:var(--ink)}.logout-button svg{height:18px;width:18px}.dash-stage{display:grid;flex:1;grid-template-columns:1fr auto;min-height:0;overflow:hidden}.dash-hero{align-items:center;display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;min-width:0;padding:var(--space-lg) var(--space-xl);position:relative}.dash-hero:before{background:radial-gradient(ellipse 70% 80% at 50% 50%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.35;pointer-events:none;position:absolute}:root[data-theme=dark] .dash-hero:before{opacity:.18}.clock-block{position:relative;text-align:center;z-index:1}.clock-time{color:var(--ink);font-size:80px;font-weight:600;letter-spacing:-.04em;line-height:1}.clock-date{color:var(--ink-3);font-size:14px;font-weight:500;letter-spacing:.04em;margin-top:6px;text-transform:uppercase}.scan-wrap{flex-direction:column;gap:var(--space-md);z-index:1}.scan-ring,.scan-wrap{align-items:center;display:flex;position:relative}.scan-ring{height:220px;justify-content:center;width:220px}.scan-ring .scan-ring-svg{height:100%;inset:0;overflow:visible;position:absolute;width:100%}.scan-grad-start{stop-color:var(--accent)}.scan-grad-end{stop-color:var(--accent-2)}.scan-track{stroke:var(--line)}.scan-arc-spin{animation:scanRotateArc 5s linear infinite;transform-origin:center}@keyframes scanRotateArc{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.scan-arc-spin{animation:none}}.scan-btn{align-items:center;background:var(--tile);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;flex-direction:column;gap:10px;height:183px;justify-content:center;position:relative;touch-action:manipulation;width:183px;z-index:1;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-lg);transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.scan-btn:hover{transform:scale(1.04)}.scan-btn:active{transform:scale(.96)}.scan-btn .scan-icon{color:var(--accent);flex-shrink:0;height:60px;width:60px}.scan-label{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.01em;line-height:1.2;padding:0 var(--space-md);text-align:center}.scan-sub{color:var(--ink-3);font-size:11.5px;line-height:1.5;max-width:300px;text-align:center}.dash-rail{background:var(--tile);border-left:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-lg);overflow-y:auto;padding:22px 20px;width:260px}.status-label{font-size:.875rem;font-weight:600;letter-spacing:.5px;line-height:1.2;margin-top:var(--space-xs);text-transform:uppercase}.security-notice{margin-top:var(--space-lg);text-align:center}.security-notice small{align-items:center;color:var(--ink-2);display:inline-flex;font-size:var(--font-sm);gap:var(--space-xs)}.rail-label{color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;margin-bottom:10px;text-transform:uppercase}.rail-divider{background:var(--line);height:1px;margin:0 -20px}.status-tiles{display:flex;flex-direction:column;gap:var(--space-xs)}.status-tiles .status-item,.status-tiles .status-item.status-degraded,.status-tiles .status-item.status-error,.status-tiles .status-item.status-good,.status-tiles .status-item.status-warning{align-items:center;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;color:var(--ink);cursor:default;display:flex;flex-direction:row;gap:var(--space-sm);min-height:52px;padding:12px 14px;text-align:left}.status-tiles .status-tile--stacked{align-items:flex-start}.status-tiles .status-item:after{content:none}.status-tiles .status-tile-icon{background:var(--tile-3);border-radius:var(--radius);color:var(--ink-3);display:grid;flex-shrink:0;height:32px;place-items:center;width:32px}.status-tiles .status-tile--stacked .status-tile-icon{margin-top:2px}.status-tiles .status-tile-icon svg{fill:none;height:16px;margin:0;stroke:currentColor;width:16px}.status-tiles .status-tile-text{flex:1;min-width:0}.status-tiles .status-tile-text .status-label,.status-tiles .status-tile-text b{color:var(--ink);display:block;font-size:13px;font-weight:600;letter-spacing:0;line-height:1.2;margin:0;text-transform:none}.status-tiles .status-tile-sub{color:var(--ink-3);display:block;font-size:11px;margin-top:1px}.status-tiles .status-item.status-good .status-tile-icon{background:var(--green-soft);color:var(--green-ink)}.status-tiles .status-item.status-degraded .status-tile-icon,.status-tiles .status-item.status-warning .status-tile-icon{background:var(--amber-soft);color:var(--amber-ink)}.status-tiles .status-item.status-error .status-tile-icon{background:var(--red-soft);color:var(--red-ink)}.security-tags{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sec-tag{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:4px;color:var(--accent-ink);font-size:10px;font-weight:700;letter-spacing:.03em;padding:1px 6px}.enrol-btn{align-items:center;background:transparent;border:1.5px dashed var(--line-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:center;letter-spacing:.01em;min-height:64px;touch-action:manipulation;width:100%;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background .15s ease,color .15s ease}.enrol-btn:active,.enrol-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.enrol-btn svg{fill:none;flex-shrink:0;height:20px;stroke:currentColor;width:20px}.enrol-note{color:var(--ink-3);font-size:10.5px;line-height:1.4;margin-top:4px;text-align:center}.rail-spacer{flex:1}.last-shift-note{color:var(--ink-3);font-size:11px;line-height:1.4;text-align:center}.last-shift-note b{color:var(--ink-2);font-weight:600}.facility-subtitle{color:var(--ink-2);font-size:var(--font-sm)}.connection-icon{color:var(--green);font-size:var(--font-base)}.connection-text{color:var(--green);font-size:var(--font-sm);font-weight:500}.security-notice-text{color:var(--ink-2);font-size:var(--font-sm)}.empty-state{color:var(--ink-2);padding:var(--space-xl) var(--space-md);text-align:center}.employee-number{color:var(--ink-2);font-size:var(--font-sm);margin-left:var(--space-xs)}.instruction-icon{margin-right:var(--space-xs)}.photo-counter{color:var(--ink-2);font-size:var(--font-sm)}.success-icon{color:var(--green);margin-right:var(--space-xs)}.instruction-text{color:var(--ink-2);font-size:var(--font-sm)}.session-icon{margin-right:var(--space-xs)}.session-icon,.session-title{color:var(--green);font-size:var(--font-xl)}.session-title{margin-bottom:0}.session-subtitle,.success-message{color:var(--ink-2);font-size:var(--font-sm);margin-bottom:0}.success-title{font-size:var(--font-xl);margin-bottom:0}.status-ready,.success-title{color:var(--green)}.status-continue{color:var(--accent)}.status-icon-muted{color:var(--ink-2)}.status-icon-success{color:var(--green)}.text-muted{color:var(--ink-2)}.text-success{color:var(--green)}.text-warning{color:var(--amber)}.text-danger{color:var(--red)}@media (max-width:820px){.dash-stage{display:flex;flex-direction:column;overflow:visible}.dash-hero{padding:var(--space-xl) var(--space-lg)}.dash-rail{border-left:none;border-top:1px solid var(--line);width:100%}.clock-time{font-size:60px}}@media (max-width:480px){.dash-topbar{gap:var(--space-sm);padding:0 var(--space-md)}.clock-time{font-size:44px}.scan-ring{height:188px;width:188px}.scan-btn{height:156px;width:156px}.scan-icon{height:52px;width:52px}}.app-container.enrollment-app{background:var(--bg);background-image:var(--page-glow);color:var(--ink);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.enroll-header{align-items:center;background:var(--tile);border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:var(--space-md);height:60px;padding:0 var(--space-lg);position:relative;z-index:5}.enroll-header:before{background:var(--grad);content:"";height:3px;left:0;position:absolute;right:0;top:0}.enroll-header .brand{align-items:center;display:flex;flex:1;gap:var(--space-sm);min-width:0}.enroll-header .logo{border-radius:var(--radius);display:block;flex-shrink:0;height:40px;width:40px}.enroll-header .brand-text{min-width:0}.enroll-header .brand-text b{color:var(--ink);display:block;font-size:14px;font-weight:700;letter-spacing:-.2px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enroll-header .brand-text .facility-subtitle{color:var(--ink-3);display:block;font-size:11px;font-weight:500;margin-top:1px}.enroll-header-steps{flex:0 0 auto;justify-content:center}.enroll-header-steps,.enroll-step-indicator,.enroll-step-node{align-items:center;display:flex}.enroll-step-node{flex-direction:column;gap:3px}.enroll-step-dot{background:var(--tile-2);border:2px solid var(--line-2);border-radius:50%;color:var(--ink-3);display:grid;font-size:11px;font-weight:700;height:28px;place-items:center;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);width:28px}.enroll-step-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--on-accent)}.enroll-step-dot.done{background:var(--green-soft);border-color:var(--green);color:var(--green-ink)}.enroll-step-label{color:var(--ink-3);font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:color var(--transition-fast);white-space:nowrap}.enroll-step-label.active{color:var(--accent-ink)}.enroll-step-label.done{color:var(--green-ink)}.enroll-step-connector{background:var(--line);flex-shrink:0;height:2px;margin:0 2px 14px;transition:background var(--transition-fast);width:40px}.enroll-step-connector.done{background:var(--green)}.enroll-header-right{align-items:center;display:flex;flex:1;gap:var(--space-sm);justify-content:flex-end}.enroll-header .mgr-pill{align-items:center;background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:var(--radius-pill);color:var(--amber-ink);display:inline-flex;font-size:11px;font-weight:700;gap:7px;padding:5px 12px;white-space:nowrap}.enroll-header .mgr-pill svg{flex-shrink:0;height:13px;width:13px}.enroll-header .logout-button,.enroll-header .theme-toggle{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;display:grid;height:40px;place-items:center;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);width:40px}.enroll-header .logout-button:hover,.enroll-header .theme-toggle:hover{background:var(--tile-2);border-color:var(--line-2);color:var(--ink)}.enroll-header .logout-button svg,.enroll-header .theme-toggle svg{fill:none;height:17px;stroke:currentColor;stroke-width:2;width:17px}.enrollment-steps-host{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;position:relative}@media (max-width:820px){.enroll-header .brand-text .facility-subtitle,.enroll-header .mgr-pill,.enroll-header-steps{display:none}}.enrollment-steps-host .enrollment-step{background:transparent;display:flex;flex-direction:column;inset:0;margin:0;max-width:none;min-height:0;overflow:hidden;padding:0;position:absolute}.enrollment-steps-host .enrollment-step.enrollment-hidden.enrollment-hidden{display:none}.enrollment-steps-host .enrollment-step.active,.enrollment-steps-host .enrollment-step.enrollment-active{margin:0;max-width:none;padding:0}.enrollment-steps-host .step-indicator{align-items:center;display:flex;flex-shrink:0;gap:0;height:0;justify-content:flex-end;margin:0;padding:0 var(--space-lg);position:relative;width:100%}.enrollment-steps-host .step-indicator .step-item{display:none}.enrollment-step .step-title{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0}.p1-layout{display:grid;flex:1;grid-template-columns:340px 1fr;min-height:0;overflow:hidden}.p1-left{background:var(--tile);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-md);overflow:hidden;padding:var(--space-lg) var(--space-lg) 0}.p1-left-head{flex-shrink:0}.p1-title{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.2px}.p1-subtitle{color:var(--ink-3);font-size:12px;line-height:1.4;margin-top:3px}.p1-right{align-items:center;background:var(--tile-2);display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;overflow:hidden;padding:var(--space-xl);position:relative}.p1-right:before{background:radial-gradient(ellipse 70% 70% at 50% 50%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.25;pointer-events:none;position:absolute}.p1-empty-icon{background:var(--tile);border:2px solid var(--line);border-radius:50%;color:var(--ink-3);display:grid;height:80px;place-items:center;position:relative;width:80px;z-index:1}.p1-empty-icon svg{fill:none;height:36px;stroke:currentColor;stroke-width:1.5;width:36px}.p1-empty-text{color:var(--ink-3);font-size:13px;line-height:1.5;max-width:220px;position:relative;text-align:center;z-index:1}.p1-empty-text b{color:var(--ink-2);display:block;font-size:14px;font-weight:600;margin-bottom:4px}@media (max-width:640px){.p1-layout{grid-template-columns:1fr;overflow-y:auto}.p1-left{border-right:none;overflow:visible}.p1-right{display:none}}.enroll-bottom-nav{align-items:center;background:var(--tile);border-top:1px solid var(--line);display:flex;flex-shrink:0;gap:var(--space-sm);padding:10px var(--space-lg)}.enroll-nav-spacer{flex:1}.enroll-nav-hint{color:var(--ink-3);font-size:11.5px}.btn-back{align-items:center;background:transparent;border:1.5px solid var(--line-2);border-radius:var(--radius);color:var(--ink-2);display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:44px;padding:0 18px;text-decoration:none;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.btn-back:hover{background:var(--tile-2);border-color:var(--line-2);color:var(--ink)}.btn-back:disabled{cursor:default;opacity:.3}.btn-back svg{fill:none;height:16px;stroke:currentColor;stroke-width:2.5;width:16px}.btn-continue{align-items:center;background:var(--accent);border:none;border-radius:var(--radius);box-shadow:var(--shadow-button);color:var(--on-accent);display:inline-flex;font-size:13px;font-weight:700;gap:8px;height:44px;padding:0 22px;touch-action:manipulation;transition:filter var(--transition-fast),transform var(--transition-fast)}.btn-continue:hover{filter:brightness(1.08)}.btn-continue:active{transform:scale(.97)}.btn-continue:disabled{cursor:default;filter:none;opacity:.35;transform:none}.btn-continue svg{fill:none;height:16px;stroke:currentColor;stroke-width:2.5;width:16px}.nav-back-link{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;line-height:1;padding:.5rem .75rem;transition:background var(--transition-fast),color var(--transition-fast)}.nav-back-link,.nav-back-link:hover{color:var(--accent-ink);text-decoration:none}.nav-back-link:hover{background:var(--accent-soft)}.nav-back-link:active{transform:translateY(1px)}.nav-back-link svg{fill:none;height:16px;stroke:currentColor;stroke-width:2;width:16px}.confirmation-nav-context{align-items:center;display:flex;margin-bottom:var(--space-md)}.search-wrap{flex-shrink:0;position:relative}.search-wrap .search-icon{fill:none;height:15px;left:11px;pointer-events:none;position:absolute;stroke:var(--ink-3);stroke-width:2;top:50%;transform:translateY(-50%);width:15px}.search-input{background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:13px;height:40px;padding:0 34px;transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.search-input::placeholder{color:var(--ink-3)}.search-input:focus{background:var(--tile);border-color:var(--accent);outline:none}.search-clear-btn{background:transparent;border:none;border-radius:50%;color:var(--ink-2);cursor:pointer;display:grid;height:24px;place-items:center;position:absolute;right:9px;top:50%;touch-action:manipulation;transform:translateY(-50%);transition:background var(--transition-fast),color var(--transition-fast);width:24px}.search-clear-btn:hover{color:var(--ink)}.search-clear-btn svg{fill:none;height:13px;stroke:currentColor;stroke-width:2.5;width:13px}.search-results{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius);color:var(--accent-ink);flex-shrink:0;font-size:var(--font-sm);font-weight:500;padding:var(--space-sm) var(--space-md);text-align:center}.employee-count-display{color:var(--ink-3);flex-shrink:0;font-size:11px}.employee-count-display small{color:var(--ink-3)}.employee-list{display:flex;flex:1;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;padding-bottom:var(--space-md);scrollbar-color:var(--line) transparent;scrollbar-width:thin}.employee-list::-webkit-scrollbar{width:4px}.employee-list::-webkit-scrollbar-track{background:transparent}.employee-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.employee-card{background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-shrink:0;overflow:hidden;position:relative;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast);user-select:none}.employee-card.selected,.employee-card.selecting,.employee-card:hover{background:var(--accent-soft);border-color:var(--accent)}.employee-card.just-added{animation:empJustAdded 1.4s ease forwards}@keyframes empJustAdded{0%{background:var(--accent-soft);border-color:var(--accent)}to{background:var(--tile-2);border-color:var(--line)}}.employee-card-header{align-items:center;display:flex;gap:var(--space-sm);padding:10px 12px;position:relative}.employee-avatar{border-radius:50%;flex-shrink:0;height:38px;overflow:hidden;position:relative;width:38px}.employee-card .employee-photo{border-radius:50%;height:100%;object-fit:cover;width:100%}.employee-initials{align-items:center;background:var(--grad);border-radius:50%;color:var(--on-accent);display:flex;font-size:13px;font-weight:700;height:100%;justify-content:center;letter-spacing:.02em;text-transform:uppercase;width:100%}.employee-initials.avatar-teal{background:var(--avatar-teal-bg);color:var(--avatar-teal-ink)}.employee-initials.avatar-purple{background:var(--avatar-purple-bg);color:var(--avatar-purple-ink)}.employee-initials.avatar-amber{background:var(--avatar-amber-bg);color:var(--avatar-amber-ink)}.employee-initials.avatar-green{background:var(--avatar-green-bg);color:var(--avatar-green-ink)}.employee-initials.avatar-pink{background:var(--avatar-pink-bg);color:var(--avatar-pink-ink)}.employee-info{flex:1;min-width:0}.employee-card .employee-name{color:var(--ink);font-size:13px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-meta-line{align-items:center;color:var(--ink-3);display:flex;font-size:11px;gap:.5rem;line-height:1.4}.employee-position{color:var(--ink-3);font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-position.text-muted{color:var(--ink-3);font-style:italic}.employee-status-text.status-pill{align-items:center;border-radius:var(--radius-xs);display:inline-flex;flex-shrink:0;font-size:9.5px;font-weight:700;letter-spacing:.02em;padding:2px 8px;white-space:nowrap}.employee-status-text.status-pill.status-warning{background:var(--amber-soft);border:1px solid var(--amber-border);color:var(--amber-ink)}.employee-status-text.status-pill.status-success{background:var(--green-soft);border:1px solid var(--green-border);color:var(--green-ink)}.employee-status-text.status-pill.status-danger{background:var(--red-soft);border:1px solid var(--red-border);color:var(--red-ink)}.employee-check{background:var(--accent);border-radius:50%;display:grid;flex-shrink:0;height:20px;opacity:0;place-items:center;transition:opacity .15s;width:20px}.employee-card.selected .employee-check{opacity:1}.employee-check svg{fill:none;height:11px;stroke:var(--on-accent);stroke-width:3;width:11px}.p1-selected-preview{align-items:center;display:flex;flex-direction:column;gap:16px;min-height:350px;position:relative;text-align:center;z-index:1}.p1-preview-avatar{background:var(--grad);border-radius:50%;box-shadow:0 0 0 4px var(--accent-soft),0 4px 16px rgba(2,132,199,.3);color:var(--on-accent);display:grid;flex-shrink:0;font-size:24px;font-weight:700;height:72px;letter-spacing:.02em;overflow:hidden;place-items:center;position:relative;text-transform:uppercase;width:72px}:root[data-theme=dark] .p1-preview-avatar{box-shadow:0 0 0 4px rgba(56,189,248,.18),0 4px 20px rgba(56,189,248,.25)}.p1-preview-avatar .employee-photo{border-radius:50%;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.p1-preview-initials{color:var(--on-accent);font-size:24px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.p1-preview-name{color:var(--ink);font-size:18px;font-weight:700;letter-spacing:-.2px;text-align:center}.p1-preview-position{color:var(--ink-3);font-size:13px;text-align:center}.p1-preview-profile{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding-bottom:16px;width:100%}.p1-preview-pill{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.02em;padding:3px 10px}.p1-preview-pill-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.p1-preview-pill.status-success{background:var(--green-soft);border:1px solid var(--green-border);color:var(--green-ink)}.p1-preview-pill.status-success .p1-preview-pill-dot{background:var(--green)}.p1-preview-pill.status-danger{background:var(--red-soft);border:1px solid var(--red-border);color:var(--red-ink)}.p1-preview-pill.status-danger .p1-preview-pill-dot{background:var(--red)}.p1-preview-pill.status-warning{background:var(--amber-soft);border:1px solid var(--amber-border);color:var(--amber-ink)}.p1-preview-pill.status-warning .p1-preview-pill-dot{background:var(--amber)}.p1-preview-note{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-3);font-size:12px;line-height:1.5;max-width:240px;padding:10px 16px;text-align:center}.p1-preview-note b{color:var(--accent-ink);font-weight:600}.p1-preview-photos{align-items:center;display:flex;flex-direction:column;gap:8px;width:100%}.p1-preview-strip-label{color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.p1-preview-filmstrip{display:flex;gap:10px;justify-content:center;max-width:320px;width:100%}.p1-preview-shot{align-items:center;display:flex;flex:1;flex-direction:column;gap:7px;min-width:0}.p1-preview-shot-frame{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 3px rgba(31,35,40,.08);overflow:hidden;width:100%}.p1-preview-shot-img{aspect-ratio:1;display:block;object-fit:cover;width:100%}.p1-preview-shot-label{color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.selected-employee-card{align-items:center;display:flex;flex-direction:column;gap:var(--space-sm);position:relative;text-align:center;z-index:1}.selected-employee-card .employee-avatar{border-radius:50%;height:72px;width:72px}.selected-employee-card .employee-initials{box-shadow:0 0 0 4px var(--accent-soft);font-size:24px}.selected-employee-card .employee-details{align-items:center;display:flex;flex-direction:column;gap:2px}.selected-employee-card .employee-name{font-size:18px;font-weight:700;white-space:normal}.selected-employee-card .employee-meta{align-items:center;display:flex;flex-direction:column;gap:2px}.selected-employee-card .employee-id,.selected-employee-card .employee-position{color:var(--ink-3);font-size:13px}.skeleton{background:var(--skeleton-base);border-radius:var(--radius-xs);overflow:hidden;position:relative}.skeleton:after{animation:skeleton-sweep 1.4s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--skeleton-sheen),transparent);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes skeleton-sweep{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.skel-bar{height:10px}.skel-circle{border-radius:50%}.employee-skeleton-group{display:flex;flex-direction:column;gap:6px}.employee-skeleton{background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);flex-shrink:0}.employee-skeleton-row{align-items:center;display:flex;gap:var(--space-sm);padding:10px 12px}.employee-skeleton .skel-avatar{flex-shrink:0;height:38px;width:38px}.employee-skeleton .skel-lines{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.employee-skeleton .skel-name{width:55%}.employee-skeleton .skel-sub{width:35%}.employee-skeleton .skel-pill{flex-shrink:0;height:18px;width:64px}.status-badge{align-items:center;border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.015em;line-height:1;padding:.4rem .75rem}.status-badge-success{background:var(--green-soft);border-color:var(--green-border);color:var(--green-ink)}.status-badge-warning{background:var(--amber-soft);border-color:var(--amber-border);color:var(--amber-ink)}.status-badge-danger{background:var(--red-soft);border-color:var(--red-border);color:var(--red-ink)}.status-badge-info{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-ink)}.status-badge-secondary{background:var(--tile-3);border-color:var(--line);color:var(--ink-2)}.not-enrolled-pill{align-items:center;background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:4px;color:var(--amber-ink);display:inline-flex;flex-shrink:0;font-size:9.5px;font-weight:700;gap:5px;letter-spacing:.02em;padding:2px 8px;white-space:nowrap}.add-employee-button{align-items:center;background:var(--tile);border:1.5px solid var(--line);border-radius:var(--radius-lg);border-top:3px solid var(--accent);box-shadow:var(--shadow-card);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;margin-bottom:var(--space-lg);padding:var(--space-lg);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);width:100%}.add-employee-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.add-employee-button svg{color:var(--accent);height:26px;margin-bottom:var(--space-sm);width:26px}.button-title{font-size:1rem;font-weight:600;margin-bottom:.25rem}.button-subtitle{color:var(--ink-3);font-size:.8rem}.add-employee-btn{align-items:center;background:var(--grad);border:none;border-radius:var(--radius);box-shadow:var(--shadow-button);color:var(--on-accent);cursor:pointer;display:inline-flex;font-size:var(--font-base);font-weight:600;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);transition:filter var(--transition-fast)}.add-employee-btn:hover{filter:brightness(1.08)}.add-new-btn{align-items:center;background:transparent;border:1.5px dashed var(--line-2);border-radius:var(--radius);color:var(--ink-3);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;gap:8px;justify-content:center;margin-bottom:var(--space-md);padding:9px 14px;touch-action:manipulation;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.add-new-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.add-new-btn svg{fill:none;height:14px;stroke:currentColor;stroke-width:2.5;width:14px}.enrollment-actions{margin-top:var(--space-lg)}.step-actions{padding:var(--space-lg) 0 var(--space-md)}.enrollment-nav-buttons,.step-actions{display:flex;gap:var(--space-lg);justify-content:center;margin-top:var(--space-xl)}.enrollment-nav-button{align-items:center;background:var(--tile);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);min-width:80px;padding:var(--space-lg);transition:border-color var(--transition-fast),background var(--transition-fast)}.enrollment-nav-button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.enrollment-nav-button:disabled{cursor:not-allowed;opacity:.5}.enrollment-nav-button svg{height:20px;width:20px}.enrollment-nav-button small{font-size:var(--font-sm);font-weight:500}.login-screen{background:var(--bg);background-image:var(--page-glow);color:var(--ink);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative}.login-screen:before{background:var(--grad);content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:10}.login-topbar{background:var(--tile);border-bottom:1px solid var(--line);flex-shrink:0;gap:var(--space-md);height:64px;padding:0 28px;position:relative;z-index:5}.login-brand,.login-topbar{align-items:center;display:flex}.login-brand{flex:1;gap:12px;min-width:0}.login-logo{border-radius:9px;display:block;flex-shrink:0;height:44px;width:44px}.login-brand-text b{color:var(--ink);display:block;font-size:15px;font-weight:700;letter-spacing:-.2px;line-height:1.1}.login-brand-text>span{color:var(--ink-3);display:block;font-size:11px;font-weight:500;letter-spacing:.01em;margin-top:1px}.login-topbar-right{align-items:center;display:flex;flex-shrink:0;gap:14px}.login-stage{align-items:center;display:flex;flex:1;justify-content:center;overflow:hidden;padding:var(--space-lg);position:relative}.login-stage:before{background:radial-gradient(ellipse 70% 80% at 50% 55%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.4;pointer-events:none;position:absolute}:root[data-theme=dark] .login-stage:before{opacity:.18}.login-card{align-items:center;background:var(--tile);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:100%;padding:44px 48px 36px;position:relative;text-align:center;width:400px;z-index:1}.brand-lockup{display:block;height:auto;margin:0 auto 8px;max-width:100%;width:230px}:root:not([data-theme=dark]) .brand-lockup--dark,:root[data-theme=dark] .brand-lockup--light{display:none}.login-button{align-items:center;background:var(--grad);border:none;border-radius:var(--radius);box-shadow:var(--shadow-button);cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:10px;justify-content:center;letter-spacing:.01em;min-height:56px;padding:0 var(--space-lg);touch-action:manipulation;transition:opacity .15s ease,transform .18s cubic-bezier(.34,1.56,.64,1);width:100%}.login-button,.login-button:hover{color:var(--on-accent);text-decoration:none}.login-button:hover{opacity:.92}.login-button:active{transform:scale(.98)}.login-button .login-button-icon{flex-shrink:0;height:20px;width:20px}.login-card-divider{background:var(--line);height:1px;margin:28px 0 20px;width:100%}.login-secure-footer{align-items:center;color:var(--ink-3);display:flex;font-size:11px;font-weight:500;gap:7px;justify-content:center;line-height:1.5;text-align:center}.login-secure-footer .login-secure-icon{flex-shrink:0;height:14px;opacity:.7;width:14px}.login-secure-dot{background:var(--line-2);border-radius:var(--radius-full);flex-shrink:0;height:3px;width:3px}.login-button.disabled{opacity:.6;pointer-events:none}@media (prefers-reduced-motion:reduce){.login-button{transition:none}}@media (max-width:480px){.login-topbar{padding:0 var(--space-md)}.login-card{padding:var(--space-xl) var(--space-lg) var(--space-lg)}}.logout-screen{background:var(--bg);background-image:var(--page-glow);color:var(--ink);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative}.logout-screen:before{background:var(--grad);content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:10}.logout-topbar{background:var(--tile);border-bottom:1px solid var(--line);flex-shrink:0;gap:var(--space-md);height:64px;padding:0 28px;position:relative;z-index:5}.logout-brand,.logout-topbar{align-items:center;display:flex}.logout-brand{flex:1;gap:12px;min-width:0}.logout-logo{border-radius:9px;display:block;flex-shrink:0;height:44px;width:44px}.logout-brand-text b{color:var(--ink);display:block;font-size:15px;font-weight:700;letter-spacing:-.2px;line-height:1.1}.mb-bell{color:var(--brand-bell)}.logout-brand-text>span{color:var(--ink-3);display:block;font-size:11px;font-weight:500;letter-spacing:.01em;margin-top:1px}.logout-topbar-right{align-items:center;display:flex;flex-shrink:0;gap:14px}.logout-stage{align-items:center;display:flex;flex:1;justify-content:center;overflow:hidden;padding:var(--space-lg);position:relative}.logout-stage:before{background:radial-gradient(ellipse 60% 70% at 50% 55%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.35;pointer-events:none;position:absolute}:root[data-theme=dark] .logout-stage:before{opacity:.15}.logout-state{flex-direction:column;text-align:center;z-index:1}.logout-ring,.logout-state{align-items:center;display:flex;position:relative}.logout-ring{height:180px;justify-content:center;margin-bottom:32px;width:180px}.logout-ring .logout-ring-svg{animation:logoutRingSpin 1.4s linear infinite;height:100%;inset:0;overflow:visible;position:absolute;transform-origin:center;width:100%}.logout-ring-track{fill:none;stroke:var(--line);stroke-width:6}.logout-ring-arc{fill:none;stroke-linecap:round;stroke-width:6}.logout-ring-grad-from{stop-color:var(--accent)}.logout-ring-grad-to{stop-color:var(--accent-2)}.logout-ring-inner{align-items:center;background:var(--tile);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);color:var(--accent);display:flex;height:132px;justify-content:center;position:relative;width:132px;z-index:1}.logout-ring-inner .logout-ring-icon{height:48px;width:48px}.logout-title{color:var(--ink);font-size:26px;font-weight:700;letter-spacing:-.4px;margin-bottom:10px}.logout-sub{color:var(--ink-3);font-size:14px;font-weight:500;line-height:1.55;max-width:320px}@keyframes logoutRingSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.logout-ring .logout-ring-svg{animation:none}}@media (max-width:480px){.logout-topbar{padding:0 var(--space-md)}}.logout-modal-overlay{align-items:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:var(--scrim);display:flex;inset:0;justify-content:center;opacity:0;padding:var(--space-lg);position:fixed;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;z-index:1050}.logout-modal-overlay.visible{opacity:1;visibility:visible}.logout-modal{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:460px;overflow:hidden;transform:translateY(8px) scale(.98);transition:transform .22s cubic-bezier(.34,1.3,.64,1);width:100%}.logout-modal-overlay.visible .logout-modal{transform:translateY(0) scale(1)}.logout-modal .modal-header{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:14px;padding:20px 20px 16px}.logout-modal-icon{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius);color:var(--accent-ink);display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.logout-modal-icon svg{height:22px;width:22px}.logout-modal-heading{flex:1;min-width:0}.logout-modal-eyebrow{color:var(--ink-3);display:block;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.logout-modal .modal-header h3{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.2px;line-height:1.25;margin:0}.logout-modal .modal-body{padding:18px 20px}.logout-modal .modal-body p{color:var(--ink-2);font-size:13.5px;line-height:1.55;margin:0}.logout-modal .modal-actions{align-items:center;background:var(--tile-2);border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.logout-modal .btn-cancel,.logout-modal .btn-logout{align-items:center;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:8px;justify-content:center;min-height:44px;padding:0 20px;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),filter var(--transition-fast),transform var(--transition-fast)}.logout-modal .btn-cancel svg,.logout-modal .btn-logout svg{height:16px;width:16px}.logout-modal .btn-cancel{background:transparent;border:1.5px solid var(--line-2);color:var(--ink-2);font-weight:500}.logout-modal .btn-cancel:hover{background:var(--tile-3);color:var(--ink)}.logout-modal .btn-cancel:active{transform:scale(.97)}.logout-modal .btn-logout{background:var(--accent);border:none;box-shadow:var(--shadow-button);color:var(--on-accent)}.logout-modal .btn-logout:hover{filter:brightness(1.08)}.logout-modal .btn-logout:active{transform:scale(.97)}.logout-modal .btn-cancel:focus-visible,.logout-modal .btn-logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:640px){.logout-modal .modal-actions{align-items:stretch;flex-direction:column-reverse}.logout-modal .btn-cancel,.logout-modal .btn-logout{width:100%}}@media (prefers-reduced-motion:reduce){.logout-modal,.logout-modal-overlay{transition:none}.logout-modal .btn-cancel:active,.logout-modal .btn-logout:active{transform:none}}.modal-overlay{align-items:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:var(--scrim);display:flex;inset:0;justify-content:center;opacity:0;padding:2rem;position:fixed;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;z-index:1000}.modal-overlay.visible{display:flex;opacity:1;visibility:visible}.modal-container{background:var(--tile);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:88vh;max-width:560px;opacity:0;overflow:hidden;transform:translateY(8px) scale(.98);transition:transform .22s cubic-bezier(.34,1.3,.64,1),opacity .2s ease;width:100%}.modal-overlay.visible .modal-container{opacity:1;transform:translateY(0) scale(1)}.modal-header{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:14px;padding:20px 20px 16px}.modal-icon-tile{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius);color:var(--accent-ink);display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.modal-icon-tile svg{fill:none;height:22px;stroke:currentColor;stroke-width:1.8;width:22px}.modal-header-text{flex:1;min-width:0}.modal-eyebrow{color:var(--accent-ink);font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.modal-title{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.2px;line-height:1.2;margin:0}.modal-close-btn{align-self:flex-start;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-3);cursor:pointer;display:grid;flex-shrink:0;height:36px;place-items:center;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);width:36px}.modal-close-btn:hover{background:var(--tile-3);border-color:var(--line-2);color:var(--ink)}.modal-close-btn svg{fill:none;height:16px;stroke:currentColor;stroke-width:2.5;width:16px}.modal-body{overflow-y:auto;padding:20px}.add-employee-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{color:var(--ink-2);font-size:11.5px;font-weight:600;letter-spacing:.01em;margin:0}.form-label .req{color:var(--accent);margin-left:2px}.form-input{-webkit-appearance:none;appearance:none;background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);font-family:inherit;font-size:14px;height:48px;padding:0 14px;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.form-input.mono{font-family:var(--font-num);font-size:13.5px;letter-spacing:.02em}.form-input::placeholder{color:var(--ink-3)}.form-input:focus{background:var(--tile);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-input.is-invalid{background:var(--red-soft);border-color:var(--red)}.form-help-text,.form-helper{color:var(--ink-3);font-size:10.5px;line-height:1.4;margin:0}.form-error{align-items:flex-start;color:var(--red-ink);display:flex;font-size:.75rem;font-weight:500;gap:.25rem;min-height:0}.form-error:empty{display:none}.modal-footer{align-items:center;background:var(--tile-2);border-top:1px solid var(--line);display:flex;flex-shrink:0;gap:10px;padding:14px 20px}.modal-spacer{flex:1}.btn-modal-cancel{align-items:center;background:transparent;border:1.5px solid var(--line-2);border-radius:var(--radius);color:var(--ink-2);display:inline-flex;font-size:13px;font-weight:600;gap:7px;height:44px;padding:0 18px;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.btn-modal-cancel:hover{background:var(--tile-3);border-color:var(--line-2);color:var(--ink)}.btn-modal-add{align-items:center;background:var(--accent);border:none;border-radius:var(--radius);box-shadow:var(--shadow-button);color:var(--on-accent);display:inline-flex;font-size:13px;font-weight:700;gap:8px;height:44px;padding:0 22px;touch-action:manipulation;transition:filter var(--transition-fast),transform var(--transition-fast)}.btn-modal-add:hover{filter:brightness(1.08)}.btn-modal-add:active{transform:scale(.97)}.btn-modal-add:disabled{cursor:not-allowed;filter:none;opacity:.45;transform:none}.btn-modal-add svg{fill:none;height:16px;stroke:currentColor;stroke-width:2.5;width:16px}.seg-label-row{display:flex;flex-direction:column;gap:5px}.seg-control{background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;height:48px;overflow:hidden;position:relative}.seg-control:before{background:var(--accent);border-radius:4px;bottom:3px;box-shadow:var(--shadow-button);content:"";left:3px;position:absolute;top:3px;transition:transform .18s cubic-bezier(.4,0,.2,1);width:calc(50% - 6px);z-index:0}.seg-control.fixed:before{transform:translateX(calc(100% + 6px))}.seg-option{align-items:center;background:none;border:none;color:var(--ink-2);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:7px;justify-content:center;padding:0;position:relative;touch-action:manipulation;transition:color var(--transition-fast);user-select:none;-webkit-user-select:none;z-index:1}.seg-option.active{color:var(--on-accent)}.seg-option svg{fill:none;flex-shrink:0;height:15px;stroke:currentColor;stroke-width:2;transition:stroke var(--transition-fast);width:15px}.cond-field{display:flex;flex-direction:column;gap:5px}@media (prefers-reduced-motion:reduce){.seg-control:before{transition:none}}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-container{max-height:92vh;max-width:100%}.form-row{gap:12px;grid-template-columns:1fr}.modal-footer{align-items:stretch;flex-direction:column-reverse}.modal-spacer{display:none}.btn-modal-add,.btn-modal-cancel{justify-content:center;width:100%}}@media (max-width:480px){.modal-container{margin:.5rem}.modal-title{font-size:15px}.form-input{font-size:16px}}.p2-layout{display:grid;flex:1;grid-template-columns:1fr 300px;min-height:0;overflow:hidden}.camera-panel{align-items:center;background:radial-gradient(ellipse 60% 70% at 48% 42%,var(--tile-2),var(--tile) 70%);display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;transition:background .2s}.camera-panel:before{background:radial-gradient(ellipse 70% 80% at 50% 50%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.25;pointer-events:none;position:absolute;z-index:0}.camera-stage{flex:1;min-height:0;overflow:hidden;position:relative;width:100%}.camera-stage .camera-canvas,.camera-stage .camera-video{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.camera-stage .camera-canvas{display:none}.camera-panel .camera-overlay{inset:0;pointer-events:none;position:absolute;z-index:2}.camera-panel .face-silhouette{color:var(--ink-3);height:150px;width:120px}.camera-panel .face-oval-svg,.camera-panel .face-silhouette{left:50%;position:absolute;top:50%;transform:translate(-50%,-56%);z-index:1}.camera-panel .face-oval-svg{color:var(--accent);height:240px;width:200px}.camera-panel .face-guide{height:240px;left:50%;position:absolute;top:50%;transform:translate(-50%,-56%);width:200px;z-index:2}.camera-panel .face-guide .fg-br:after,.camera-panel .face-guide .fg-br:before,.camera-panel .face-guide:after,.camera-panel .face-guide:before{border-color:var(--accent);border-style:solid;border-width:0;content:"";height:28px;position:absolute;transition:border-color .25s;width:28px}.camera-panel .face-guide:before{border-left-width:3px;border-top-left-radius:4px;border-top-width:3px;left:0;top:0}.camera-panel .face-guide:after{border-right-width:3px;border-top-right-radius:4px;border-top-width:3px;right:0;top:0}.camera-panel .face-guide .fg-br:before{border-bottom-left-radius:4px;border-bottom-width:3px;border-left-width:3px;bottom:0;left:0}.camera-panel .face-guide .fg-br:after{border-bottom-right-radius:4px;border-bottom-width:3px;border-right-width:3px;bottom:0;right:0}.camera-panel.good .face-guide .fg-br:after,.camera-panel.good .face-guide .fg-br:before,.camera-panel.good .face-guide:after,.camera-panel.good .face-guide:before{border-color:var(--green)}.p2-right{background:var(--tile);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding:20px 18px}.p2-header{flex-shrink:0}.p2-title{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:-.1px}.p2-sub{color:var(--ink-3);font-size:11px;line-height:1.4;margin-top:3px}.shots-section-label{color:var(--ink-3);font-size:9.5px;font-weight:700;letter-spacing:.07em;margin-bottom:8px;text-transform:uppercase}@media (max-width:640px){.p2-layout{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto}.p2-layout .camera-panel{min-height:60vh}.p2-layout .p2-right{border-left:none;border-top:1px solid var(--line)}}.camera-panel .quality-bar{align-items:center;display:flex;gap:8px;left:50%;position:absolute;top:12px;transform:translateX(-50%);z-index:3}.camera-panel .quality-chip{align-items:center;background:var(--tile);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow);color:var(--ink-2);display:inline-flex;font-size:10.5px;font-weight:600;gap:5px;padding:4px 10px}.camera-panel .quality-chip.ok{background:var(--green-soft);border-color:var(--green-border);color:var(--green-ink)}.camera-panel .quality-chip.checking{background:var(--amber-soft);border-color:var(--amber-border);color:var(--amber-ink)}.camera-panel .quality-chip svg{fill:none;flex-shrink:0;height:11px;stroke:currentColor;stroke-width:2.5;width:11px}.capture-bottom-stack{align-items:center;background:linear-gradient(180deg,transparent,var(--tile) 55%);display:flex;flex-direction:column;gap:10px;padding:14px 16px 18px;position:relative;width:100%;z-index:4}.capture-bottom-stack .angle-label{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.01em;line-height:1.35;margin:0;max-width:90%;text-align:center}.capture-bottom-stack .guidance-hint{color:var(--ink-2);font-size:11.5px;line-height:1.4;margin-top:-4px;text-align:center}.capture-btn{background:var(--tile);border:2px solid var(--line-2);border-radius:50%;box-shadow:var(--shadow-button),0 0 0 4px var(--accent-soft);cursor:pointer;display:grid;flex-shrink:0;height:66px;place-items:center;position:relative;touch-action:manipulation;transition:transform .18s cubic-bezier(.34,1.56,.64,1),opacity .15s,box-shadow .15s;width:66px}.capture-btn:before{background:var(--grad);border-radius:50%;content:"";inset:4px;position:absolute}.capture-btn:hover{transform:scale(1.06)}.capture-btn:active{transform:scale(.93)}.capture-btn:disabled{cursor:default;opacity:.35;transform:none}.capture-label-text{color:var(--ink-3);font-size:10.5px;font-weight:600}.camera-flash{background:var(--tile);inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .05s;z-index:10}.camera-flash.flash{opacity:.85}@media (prefers-reduced-motion:reduce){.capture-btn{transition:none}}.shots-list{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.shot-row{align-items:center;background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);display:flex;gap:10px;padding:9px 11px;position:relative;transition:border-color .2s,background .2s}.shot-row.active{background:var(--accent-soft);border-color:var(--accent)}.shot-row.done{background:var(--green-soft);border-color:var(--green)}.shot-thumb{background:var(--track);border:1px solid var(--line);border-radius:5px;display:grid;flex-shrink:0;height:40px;overflow:hidden;place-items:center;position:relative;width:40px}.shot-thumb.filled{background:var(--tile-2);border-color:var(--green)}.shot-thumb svg{fill:none;height:18px;position:relative;stroke:var(--ink-3);stroke-width:1.5;width:18px;z-index:1}.shot-thumb-img{border-radius:inherit;height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:2}.shot-thumb.filled svg{display:none}.shot-check{background:var(--green);border:2px solid var(--tile);border-radius:50%;display:grid;height:18px;opacity:0;place-items:center;position:absolute;right:-7px;top:-7px;transform:scale(0);transition:opacity .2s,transform .2s;width:18px}.shot-row.done .shot-check{opacity:1;transform:scale(1)}.shot-check svg{fill:none;height:9px;stroke:var(--on-accent);stroke-width:3;width:9px}.shot-active-dot{animation:pulseDot 1.4s ease-in-out infinite;background:var(--accent);border-radius:50%;display:none;flex-shrink:0;height:8px;width:8px}.shot-row.active .shot-active-dot{display:block}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.shot-info{flex:1;min-width:0}.shot-name{color:var(--ink);font-size:12px;font-weight:600}.shot-status{color:var(--ink-3);font-size:10.5px;margin-top:1px}.shot-row.active .shot-status{color:var(--accent-ink)}.shot-row.done .shot-status{color:var(--green-ink)}.progress-ring-wrap{align-items:center;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px}.progress-ring-wrap .progress-ring-svg{height:72px;overflow:visible;width:72px}.progress-ring-track{fill:none;stroke:var(--track);stroke-width:6}.progress-ring-fill{fill:none;stroke:url(#ringGrad);stroke-linecap:round;stroke-width:6;transform:rotate(-90deg);transform-origin:36px 36px;transition:stroke-dasharray .4s ease}.progress-ring-label{fill:var(--ink);font-size:14px;font-weight:600}.progress-ring-sublabel{color:var(--ink-3);font-size:10.5px;text-align:center}.p2-right .photo-progress-card{background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);flex-shrink:0;padding:12px}.p2-right .photo-progress-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:10px}.p2-right .counter-number{color:var(--ink);font-family:var(--font-num);font-size:18px;font-weight:600}.p2-right .progress-percentage{color:var(--accent-ink);font-family:var(--font-num);font-size:12px;font-weight:600}.p2-right .capture-progress{background:var(--track);border-radius:var(--radius-pill);height:8px;overflow:hidden;position:relative}.p2-right .capture-progress .progress-fill{background:var(--grad);border-radius:var(--radius-pill);height:100%;transition:width var(--transition-base);width:0}.p2-right .capture-progress[data-progress="33"] .progress-fill{width:33%}.p2-right .capture-progress[data-progress="66"] .progress-fill{width:66%}.p2-right .capture-progress[data-progress="67"] .progress-fill{width:67%}.p2-right .capture-progress[data-progress="100"] .progress-fill{width:100%}.p2-right .capture-progress.progress-complete .progress-fill{background:var(--green)}.p2-right .progress-labels{align-items:center;display:flex;inset:0;justify-content:space-between;padding:0 6px;pointer-events:none;position:absolute}.p2-right .progress-label{color:var(--on-accent);font-size:8px;font-weight:700;letter-spacing:.04em;opacity:.85;text-transform:uppercase}.p2-right .photo-preview-card{background:var(--tile-2);border:1.5px solid var(--line);border-radius:var(--radius);flex-shrink:0;padding:12px}.p2-right .photo-preview-card.photo-preview-hidden{display:none}.p2-right .preview-card-header{margin-bottom:8px}.p2-right .photos-count{color:var(--ink-2);font-size:11px;font-weight:600}.p2-right .photo-preview-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.p2-right .sequence-complete-card{background:var(--green-soft);border:1.5px solid var(--green-border);border-radius:var(--radius);display:flex;flex-direction:column;flex-shrink:0;gap:12px;margin-top:auto;padding:14px 12px}.p2-right .sequence-complete-card.d-none{display:none}.p2-right .complete-success-message{align-items:center;display:flex;flex-direction:column;gap:6px;text-align:center}.p2-right .complete-icon{background:var(--green);border-radius:50%;display:grid;height:36px;place-items:center;width:36px}.p2-right .complete-icon svg{fill:none;height:20px;stroke:var(--on-accent);stroke-width:2.5;width:20px}.p2-right .complete-success-message h4{color:var(--green-ink);font-size:13px;font-weight:700;margin:0}.p2-right .completion-summary{color:var(--green-ink);display:flex;flex-wrap:wrap;font-size:10.5px;gap:5px;justify-content:center}.p2-right .summary-separator{opacity:.6}.action-summary-card,.photo-preview-card,.photo-progress-card,.sequence-complete-card,.step-actions-card{backdrop-filter:blur(8px) saturate(120%);background:var(--tile);border:1px solid var(--line);border-radius:12px;box-shadow:0 0 0 1px rgba(15,23,42,.04),0 2px 5px rgba(15,23,42,.06),0 5px 10px rgba(15,23,42,.08),0 10px 20px rgba(15,23,42,.1),0 20px 35px rgba(15,23,42,.09);margin-bottom:1.125rem;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-summary-card:before,.photo-preview-card:before,.photo-progress-card:before,.sequence-complete-card:before,.step-actions-card:before{background:var(--grad);border-radius:20px 20px 0 0;content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:all .3s ease}.error-message{color:var(--amber-ink);flex:1;font-size:.875rem;font-weight:500;line-height:1.4}.capture-button-container{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:1.5rem 1.25rem}.completion-actions{display:flex;justify-content:center;margin-top:1.5rem}.photo-progress-card:before{opacity:1}.photo-progress-card.progress-complete-state{background:var(--green-soft);border-color:var(--green-ink)}.photo-progress-card.progress-complete-state:before{background:var(--green)}.photo-progress-card.completion-celebration{animation:completionCelebration 1s ease-out}@keyframes completionCelebration{0%{transform:scale(1)}25%{box-shadow:0 8px 32px rgba(5,150,105,.3);transform:scale(1.02)}50%{transform:scale(1.01)}75%{transform:scale(1.015)}to{transform:scale(1)}}.camera-card-header,.complete-card-header,.photo-progress-card-header,.preview-card-header{align-items:center;display:flex;justify-content:space-between;padding:1.5rem;position:relative}.progress-info{flex:1}.photo-progress-title{align-items:center;color:var(--ink);display:flex;font-size:1rem;font-weight:600;gap:.75rem;margin:0}.progress-icon{color:var(--accent);font-size:1rem;opacity:.9}.photo-counter-display{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem;margin-left:1rem;margin-top:.375rem}.counter-number{color:var(--accent);font-size:1.5rem;font-weight:700;line-height:1}.photo-counter-label{color:var(--ink-2);font-size:.75rem;font-weight:500}.progress-badge{background:var(--grad);border:.5px solid var(--accent-border);border-radius:20px;box-shadow:0 1px 3px rgba(0,102,204,.15),0 2px 6px rgba(0,102,204,.1),inset 0 1px 0 hsla(0,0%,100%,.15);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:-.005em;min-width:40px;padding:.3125rem .75rem;text-align:center}.progress-percentage{font-size:1.125rem;font-weight:700}.capture-progress-container{padding:0 1.5rem 1.5rem}.capture-progress{backdrop-filter:blur(4px) saturate(110%);background:var(--tile-2);border:.5px solid var(--line);border-radius:12px;box-shadow:inset 0 1px 2px rgba(15,23,42,.03),0 1px 2px rgba(15,23,42,.04);height:40px;overflow:hidden;position:relative}.progress-fill{border-radius:10px;box-shadow:0 1px 3px rgba(0,102,204,.15),inset 0 1px 0 hsla(0,0%,100%,.2);overflow:hidden;transition:all .6s cubic-bezier(.4,0,.2,1)}.progress-fill:before{animation:progressShimmer 2.5s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.25),transparent);height:100%;left:-100%;width:100%}@keyframes progressShimmer{0%{left:-100%}to{left:100%}}.capture-progress[data-progress="0"] .progress-fill{width:0}.capture-progress[data-progress="33"] .progress-fill{width:33%}.capture-progress[data-progress="67"] .progress-fill{width:67%}.capture-progress[data-progress="100"] .progress-fill{width:100%}.progress-labels{align-items:center;bottom:0;display:flex;justify-content:space-around;left:0;padding:0 .75rem;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.progress-label{backdrop-filter:blur(4px);background:var(--tile);border:1px solid var(--line-2);border-radius:6px;color:var(--ink-2);font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-shadow:0 1px 2px hsla(0,0%,100%,.8)}.instruction-icon{align-items:center;background:var(--accent-soft);border-radius:12px;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-right:1rem;width:40px}.instruction-icon svg{color:var(--accent);font-size:1.125rem}.instruction-content{flex:1}.capture-instructions{background:transparent;border:none;color:var(--ink-2);font-size:.8125rem;font-weight:500;letter-spacing:-.005em;line-height:1.4;margin:0;padding:0}.primary-action{background:var(--grad);border:.5px solid var(--accent-border);box-shadow:0 1px 3px rgba(0,102,204,.15),0 4px 8px rgba(0,102,204,.1),0 8px 16px rgba(0,102,204,.08),inset 0 1px 0 hsla(0,0%,100%,.15);color:#fff}.primary-action:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.primary-action:hover:before{left:100%}.primary-action:hover{background:var(--grad);box-shadow:0 2px 3px rgba(0,102,204,.15),0 4px 8px rgba(0,102,204,.12),0 8px 16px rgba(0,102,204,.08),inset 0 1px 0 hsla(0,0%,100%,.2);transform:translateY(-.5px)}.button-pulse{animation:buttonPulse 2s infinite;background:var(--tile);border-radius:50%;height:20px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.primary-action:not(:disabled) .button-pulse{opacity:1}@keyframes buttonPulse{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(4)}}.secondary-action{background:var(--tile-2);border:1px solid var(--line);box-shadow:0 4px 6px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.06);color:var(--ink-2)}.secondary-action:hover{background:var(--tile-3);border-color:var(--line-2);box-shadow:0 1px 3px rgba(0,0,0,.04),0 3px 6px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.6);color:var(--ink-2);transform:translateY(-.5px)}.action-display{align-items:center;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1.5rem}.clock-step .clock-action-summary .action-display{margin:0;padding:0}.clock-step .action-type-badge{margin-bottom:0}#clockStep3 .action-display-section{margin:0;padding:0}#clockStep3 .action-display{align-items:center;flex-direction:column;gap:1rem;justify-content:center;margin:0;min-height:180px;padding:2.5rem 2rem;position:relative}.success-action{background:var(--green-soft);border:.5px solid var(--green-border);box-shadow:0 1px 2px rgba(16,185,129,.12),0 2px 4px rgba(16,185,129,.08),0 4px 8px rgba(16,185,129,.06),inset 0 1px 0 hsla(0,0%,100%,.15);color:var(--green-ink)}.success-action:hover{background:var(--green-soft);box-shadow:0 2px 3px rgba(16,185,129,.15),0 4px 8px rgba(16,185,129,.12),0 8px 16px rgba(16,185,129,.08),inset 0 1px 0 hsla(0,0%,100%,.2);transform:translateY(-.5px)}.success-action .action-icon{color:var(--green-ink)}#clockStep3 .action-icon{margin-left:0;margin-right:0}#clockStep3 .action-content{align-items:center;text-align:center}.clock-out-success-action{background:var(--red-soft);border:.5px solid var(--red-border);box-shadow:0 1px 2px rgba(239,68,68,.12),0 2px 4px rgba(239,68,68,.08),0 4px 8px rgba(239,68,68,.06),inset 0 1px 0 hsla(0,0%,100%,.15);color:var(--red-ink)}.clock-out-success-action:hover{background:var(--red-soft);box-shadow:0 2px 3px rgba(239,68,68,.15),0 4px 8px rgba(239,68,68,.12),0 8px 16px rgba(239,68,68,.08),inset 0 1px 0 hsla(0,0%,100%,.2);transform:translateY(-.5px)}.clock-out-success-action .action-icon{color:var(--red-ink)}.success-badge{align-items:center;background:var(--tile);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;height:2rem;justify-content:center;margin-left:auto;width:2rem}.success-badge svg{font-size:1rem}#clockStep3 .success-badge{display:none}.success-badge.clock-in{background:var(--green-ink);color:#fff}.success-badge.clock-out{background:var(--red-ink);color:#fff}.preview-header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.preview-title{align-items:center;color:var(--ink);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;letter-spacing:-.01em;margin:0}.preview-icon{color:var(--accent);font-size:.875rem;opacity:.85}.preview-stats{background:var(--accent-soft);border:.5px solid var(--accent-border);border-radius:8px;color:var(--accent);font-size:.6875rem;font-weight:500;padding:.375rem .625rem}.preview-card-body{padding:0 1.5rem 1.5rem}.photo-preview-card{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.photo-preview-card.has-photos:before{opacity:1}.camera-card-header{align-items:center;align-self:stretch;display:flex;justify-content:center;padding:.75rem 0 .5rem;position:relative;width:100%}.camera-card-title{text-align:center}.camera-card-header .camera-status{position:absolute;right:1.25rem;top:.75rem}.action-summary-card:hover,.step-actions-card:hover{box-shadow:0 4px 8px rgba(15,23,42,.15),0 2px 4px rgba(15,23,42,.1);transform:translateY(-1px)}.action-summary-card:hover:before,.step-actions-card:hover:before{opacity:.6}.recognition-status{background:var(--tile-2);border-radius:8px;margin-bottom:var(--space-md);padding:var(--space-lg);text-align:center}.status-message{align-items:center;display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md)}.status-message .status-icon{color:var(--accent);font-size:var(--font-lg)}.status-message .status-text{color:var(--ink);font-size:var(--font-base);font-weight:500}.scanning-animation{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.scanning-progress{margin-top:var(--space-sm)}.progress-bar{background:var(--line);height:6px;overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:3px;position:relative}.progress-fill{background:var(--grad);height:100%;transition:width .3s ease;width:0}.progress-fill:before{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 50%,transparent);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}#scanningProgress[data-progress="0"]{width:0}#scanningProgress[data-progress="10"]{width:10%}#scanningProgress[data-progress="20"]{width:20%}#scanningProgress[data-progress="30"]{width:30%}#scanningProgress[data-progress="40"]{width:40%}#scanningProgress[data-progress="50"]{width:50%}#scanningProgress[data-progress="60"]{width:60%}#scanningProgress[data-progress="70"]{width:70%}#scanningProgress[data-progress="80"]{width:80%}#scanningProgress[data-progress="90"]{width:90%}#scanningProgress[data-progress="100"]{width:100%}#verificationAvatar .is-hidden{display:none}.photo-preview-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:600px}.photo-preview-placeholder{align-items:center;background:var(--bg);border:2px dashed var(--line);border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:140px;padding:1rem;transition:all .3s ease}.photo-preview-placeholder .placeholder-icon{color:var(--ink-3);font-size:1.5rem;margin-bottom:.5rem}.photo-preview-placeholder .placeholder-text{color:var(--ink-3);font-size:.75rem;line-height:1.3;text-align:center}.photo-preview-item{backdrop-filter:saturate(180%) blur(20px);background:var(--tile);border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 3px rgba(15,23,42,.12),0 1px 2px rgba(15,23,42,.24);cursor:pointer;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1);user-select:none}.photo-preview-item:before{background:var(--grad);border-radius:20px 20px 0 0;content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:all .3s ease}.photo-preview-item:hover{border-color:var(--accent);box-shadow:0 16px 32px rgba(0,86,179,.12),0 8px 16px rgba(15,23,42,.08);transform:translateY(-3px)}.photo-preview-item:hover:before{opacity:1}.photo-preview-item.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 12px 30px rgba(0,86,179,.2),0 6px 12px rgba(15,23,42,.1);transform:translateY(-2px)}.photo-preview-item.selected:before{opacity:1}.photo-preview-item.just-captured{animation:photoCaptureSuccess .8s ease-out}@keyframes photoCaptureSuccess{0%{opacity:0;transform:scale(.8) rotate(-5deg)}50%{opacity:1;transform:scale(1.05) rotate(0deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.preview-image-container{aspect-ratio:1;overflow:hidden;position:relative}.preview-image{height:100%;object-fit:cover;width:100%}.photo-overlay{align-items:center;background:var(--grad);border:2px solid var(--line);border-radius:50%;box-shadow:0 4px 12px rgba(0,86,179,.4),0 2px 6px rgba(0,0,0,.1);color:#fff;display:flex;font-size:.8rem;font-weight:700;height:28px;justify-content:center;position:absolute;right:.75rem;top:.75rem;transition:all .3s ease;width:28px}.photo-preview-item:hover .photo-overlay{box-shadow:0 6px 16px rgba(0,86,179,.5),0 3px 8px rgba(0,0,0,.15);transform:scale(1.1)}.photo-info{padding:1rem .75rem .75rem;text-align:center}.photo-actions,.photo-info{background:var(--tile-2);border-top:1px solid var(--line)}.photo-actions{padding:.5rem .75rem .75rem}.individual-retake-button{align-items:center;background:var(--red);border:none;border-radius:8px;box-shadow:0 1px 2px rgba(239,68,68,.2),0 1px 3px rgba(239,68,68,.15);color:#fff;cursor:pointer;display:flex;font-size:.6875rem;font-weight:600;gap:.25rem;justify-content:center;padding:.375rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.individual-retake-button:hover{background:var(--red);box-shadow:0 2px 4px rgba(239,68,68,.3),0 4px 8px rgba(239,68,68,.2);transform:translateY(-1px)}.individual-retake-button:active{box-shadow:0 1px 2px rgba(239,68,68,.2),inset 0 1px 2px rgba(0,0,0,.1);transform:translateY(0)}.individual-retake-button svg{font-size:.625rem}.individual-retake-button span{font-size:.6875rem}.photo-angle,.photo-quality{display:block;font-size:.75rem;font-weight:500;line-height:1.4}.photo-quality{align-items:center;color:var(--accent);display:flex;font-weight:700;gap:.25rem;justify-content:center;margin-bottom:.25rem}.photo-quality:before{color:var(--green-ink);content:"●";font-size:.5rem}.photo-angle{color:var(--ink-2);font-size:.7rem;text-transform:capitalize}.photo-preview-item[data-quality=high] .photo-quality:before{color:var(--green-ink)}.photo-preview-item[data-quality=medium] .photo-quality:before{color:var(--amber-ink)}.photo-preview-item[data-quality=low] .photo-quality:before{color:var(--red-ink)}.photo-preview-item.loading{animation:photoLoading 1.5s infinite}@keyframes photoLoading{0%,to{opacity:.6}50%{opacity:1}}.photo-preview-item.loading .preview-image{filter:blur(2px)}.photo-preview-item.retake-pending{animation:retakePulsePending 2s ease-in-out infinite;background:var(--accent-soft);border:2px dashed var(--accent);opacity:.7;transform:scale(.96)}@keyframes retakePulsePending{0%,to{border-color:var(--accent);opacity:.7}50%{border-color:var(--accent-border);opacity:.85}}.photo-preview-item.retake-pending:hover{animation:none;opacity:.8;transform:scale(.96)}.retake-pending-overlay{align-items:center;backdrop-filter:blur(1px);background:var(--accent);border-radius:20px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.retake-pending-overlay .pending-content{animation:pendingContentPulse 1.5s ease-in-out infinite;color:#fff;text-align:center}@keyframes pendingContentPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.retake-pending-overlay .pending-icon{animation:pendingIconRotate 2s ease-in-out infinite;font-size:1.5rem;margin-bottom:.5rem}@keyframes pendingIconRotate{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-5deg) scale(1.1)}75%{transform:rotate(5deg) scale(1.1)}}.retake-pending-overlay .pending-text{font-size:.75rem;line-height:1.2}.retake-pending-overlay .pending-text small{display:block;margin-bottom:.25rem;opacity:.9}.retake-pending-overlay .pending-text strong{font-weight:600;text-transform:capitalize}.photo-preview-item.replacing{animation:photoReplacing .6s ease-out}@keyframes photoReplacing{0%{opacity:1;transform:scale(1) rotate(0deg)}50%{filter:blur(2px);opacity:.3;transform:scale(.8) rotate(-3deg)}to{filter:blur(4px);opacity:.1;transform:scale(.7) rotate(-5deg)}}.photo-preview-item.just-replaced{animation:photoReplaceSuccess 1.2s ease-out}@keyframes photoReplaceSuccess{0%{filter:blur(4px);opacity:0;transform:scale(.7) rotate(5deg)}30%{filter:blur(1px);opacity:.8;transform:scale(1.1) rotate(-2deg)}60%{filter:blur(0);opacity:1;transform:scale(.95) rotate(1deg)}80%{box-shadow:0 16px 32px rgba(34,197,94,.25),0 8px 16px rgba(34,197,94,.15);transform:scale(1.05) rotate(0deg)}to{box-shadow:0 8px 20px rgba(15,23,42,.08),0 4px 8px rgba(15,23,42,.04);transform:scale(1) rotate(0deg)}}.photo-preview-item.just-replaced:after{animation:successGlow 1.2s ease-out;background:linear-gradient(45deg,rgba(34,197,94,.3),rgba(34,197,94,.1) 50%,rgba(34,197,94,.3));border-radius:22px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:-1}@keyframes successGlow{0%,to{opacity:0}30%{opacity:1}60%{opacity:.7}}.sequence-complete-card{align-items:center;display:flex;flex-direction:column}.complete-card-header{display:flex;justify-content:center;padding:2rem 1.5rem 1.5rem;text-align:center;width:100%}.complete-success-message{align-items:center;display:flex;flex-direction:column;gap:1rem;width:100%}.complete-success-message h4{color:var(--success-color,var(--green-ink));font-size:1.25rem;font-weight:600;margin:0;text-align:center;width:100%}.complete-success-message p{color:var(--ink-2);font-size:.9rem;margin:0;text-align:center;width:100%}.completion-summary{align-items:center;color:var(--ink-2);display:flex;font-size:.85rem;gap:.75rem;justify-content:center;margin-top:.25rem;width:100%}.summary-separator{color:var(--line);font-weight:700}.summary-text{font-weight:500}.complete-icon{align-items:center;animation:successBounce .6s ease-out;background:var(--green);border-radius:50%;box-shadow:0 8px 25px rgba(5,150,105,.3),0 3px 10px rgba(0,0,0,.15);display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}@keyframes successBounce{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.complete-icon svg{color:#fff;font-size:1.75rem}.complete-content{align-items:flex-start;display:flex;flex:1;flex-direction:column}.complete-content h4{color:var(--green-ink);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .375rem}.complete-content p{color:var(--green-ink);font-size:.8125rem;letter-spacing:-.005em;margin:0}.complete-card-footer{padding:0 1.5rem 1.5rem;text-align:center}@media (max-width:768px){.action-summary-card,.photo-preview-card,.photo-progress-card,.sequence-complete-card,.step-actions-card{border-radius:16px;margin-bottom:1.5rem}.camera-card-header,.complete-card-header,.photo-progress-card-header,.preview-card-header{padding:1.25rem}.photo-preview-grid{gap:.75rem;grid-template-columns:repeat(3,1fr)}.capture-progress-container{padding:0 1.25rem 1.25rem}.camera-container{margin:0 auto 1.25rem;max-width:calc(100% - 2.5rem)}.preview-card-body{padding:0 1.25rem 1.25rem}}@media (max-width:480px){.photo-progress-card-header{align-items:flex-start;flex-direction:column;gap:1rem}.progress-badge{align-self:flex-end}.preview-header-content{align-items:flex-start;flex-direction:column;gap:.75rem}}.enrollment-step#step3 .step3-phase.active{display:flex;flex:1;flex-direction:column;min-height:0}.enrollment-step#step3 .p3-layout{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.enrollment-step#step3 .p3-inner{display:grid;flex:1;grid-template-columns:1fr 300px;min-height:0;overflow:hidden}.enrollment-step#step3 .p3-main{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:20px 24px}.enrollment-step#step3 .p3-header{flex-shrink:0}.enrollment-step#step3 .p3-title{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0}.enrollment-step#step3 .p3-sub{color:var(--ink-3);font-size:12px;line-height:1.4;margin-top:3px}.enrollment-step#step3 .confirmation-photo-grid.thumbs-row{display:grid;flex-shrink:0;gap:14px;grid-template-columns:repeat(3,1fr)}.enrollment-step#step3 .confirmation-photo-item{aspect-ratio:3/4;background:var(--tile-2);border:1.5px solid var(--green);border-radius:8px;overflow:hidden;position:relative}.enrollment-step#step3 .confirmation-photo-item .confirmation-photo,.enrollment-step#step3 .confirmation-photo-item img{display:block;height:100%;object-fit:cover;width:100%}.enrollment-step#step3 .confirmation-photo-item .photo-info{align-items:baseline;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.55);bottom:0;color:hsla(0,0%,100%,.88);display:flex;font-size:10.5px;font-weight:600;gap:6px;justify-content:center;left:0;padding:5px 8px;position:absolute;right:0;text-align:center}.enrollment-step#step3 .confirmation-photo-item .photo-info .photo-number{color:hsla(0,0%,100%,.88)}.enrollment-step#step3 .confirmation-photo-item .photo-info .photo-quality{color:hsla(0,0%,100%,.62);font-family:var(--font-num)}.enrollment-step#step3 .confirmation-photo-item:after{background-color:var(--green);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;content:"";height:22px;position:absolute;right:7px;top:7px;width:22px}.enrollment-step#step3 .confirmation-photo-item .thumb-retake{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.55);border:1px solid hsla(0,0%,100%,.25);border-radius:4px;color:hsla(0,0%,100%,.85);cursor:pointer;font-size:9px;font-weight:700;left:7px;letter-spacing:.02em;padding:3px 8px;position:absolute;top:7px;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast);z-index:1}.enrollment-step#step3 .confirmation-photo-item .thumb-retake:hover{background:rgba(0,0,0,.75);border-color:hsla(0,0%,100%,.4)}.enrollment-step#step3 .confirmation-photo-grid.thumbs-row:empty:before{align-items:center;border:1.5px dashed var(--line-2);border-radius:8px;color:var(--ink-3);content:"Photos appear here once captured";display:flex;font-size:12px;grid-column:1/-1;justify-content:center;min-height:160px;padding:16px;text-align:center}@media (max-width:640px){.enrollment-step#step3 .p3-inner{grid-template-columns:1fr;overflow-y:auto}.enrollment-step#step3 .p3-main{overflow:visible}}.enrollment-step#step3 .p3-right{background:var(--tile);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;padding:20px 18px}.enrollment-step#step3 .p3-emp-block{align-items:center;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-shrink:0;gap:12px;padding:14px}.enrollment-step#step3 .p3-emp-block .confirmation-employee-card{align-items:center;display:flex;gap:12px;width:100%}.enrollment-step#step3 .p3-emp-block .employee-avatar{align-items:center;background:var(--grad);border-radius:50%;color:var(--on-accent);display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:44px;justify-content:center;overflow:hidden;width:44px}.enrollment-step#step3 .p3-emp-block .employee-initials{align-items:center;background:var(--grad);color:var(--on-accent);display:flex;height:100%;justify-content:center;width:100%}.enrollment-step#step3 .p3-emp-block .employee-details h3{color:var(--ink);font-size:13px;font-weight:700;margin:0 0 2px}.enrollment-step#step3 .p3-emp-block .employee-meta{display:flex;flex-direction:column;gap:1px}.enrollment-step#step3 .p3-emp-block .meta-item{display:flex;font-size:11px;gap:4px}.enrollment-step#step3 .p3-emp-block .meta-label{color:var(--ink-3);font-weight:500}.enrollment-step#step3 .p3-emp-block .meta-value{color:var(--ink-2);font-weight:600}.enrollment-step#step3 .quality-summary-wrap{align-items:center;background:var(--green-soft);border:1.5px solid var(--green-border);border-radius:var(--radius);display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:16px 12px}.enrollment-step#step3 .quality-ring-svg-wrap{height:80px;position:relative;width:80px}.enrollment-step#step3 .quality-ring-svg{height:80px;overflow:visible;width:80px}.enrollment-step#step3 .quality-ring-track{fill:none;stroke:var(--track);stroke-width:7}.enrollment-step#step3 .quality-ring-fill{fill:none;stroke:var(--green);stroke-linecap:round;stroke-width:7;transform:rotate(-90deg);transform-origin:40px 40px;transition:stroke-dasharray .5s ease}.enrollment-step#step3 .quality-ring-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.enrollment-step#step3 .quality-score{color:var(--green-ink);font-family:var(--font-num);font-size:18px;font-weight:600;line-height:1}.enrollment-step#step3 .quality-grade{color:var(--green-ink);font-size:9px;font-weight:700;letter-spacing:.04em;opacity:.8;text-transform:uppercase}.enrollment-step#step3 .quality-ring-icon{fill:none;height:30px;stroke:var(--green);width:30px}.enrollment-step#step3 .quality-label{color:var(--green-ink);font-size:13px;font-weight:700;text-align:center}.enrollment-step#step3 .quality-checks{display:flex;flex-direction:column;gap:4px;width:100%}.enrollment-step#step3 .quality-check-item{align-items:center;color:var(--green-ink);display:flex;font-size:10.5px;font-weight:500;gap:7px}.enrollment-step#step3 .quality-check-item svg{fill:none;flex-shrink:0;height:12px;stroke:currentColor;width:12px}@media (max-width:640px){.enrollment-step#step3 .p3-right{border-left:none;border-top:1px solid var(--line);overflow:visible}}.enrollment-step#step3 .p3-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.enrollment-step#step3 .btn-retake{align-items:center;background:transparent;border:1.5px solid var(--line-2);border-radius:var(--radius);color:var(--ink-2);display:flex;font-size:13px;font-weight:600;gap:8px;height:44px;justify-content:center;text-decoration:none;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);width:100%}.enrollment-step#step3 .btn-retake:hover{background:var(--tile-2);border-color:var(--line-2);color:var(--ink)}.enrollment-step#step3 .btn-retake svg{fill:none;height:15px;stroke:currentColor;width:15px}.enrollment-step#step3 .btn-confirm{align-items:center;background:var(--green);border:none;border-radius:var(--radius);box-shadow:0 2px 12px rgba(26,127,55,.25);color:var(--on-accent);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;height:52px;justify-content:center;touch-action:manipulation;transition:filter var(--transition-fast),transform var(--transition-fast);width:100%}.enrollment-step#step3 .btn-confirm:hover{filter:brightness(1.1)}.enrollment-step#step3 .btn-confirm:active{transform:scale(.98)}.enrollment-step#step3 .btn-confirm svg{fill:none;height:17px;stroke:currentColor;width:17px}.enrollment-step#step3 .btn-confirm.submitting,.enrollment-step#step3 .btn-confirm:disabled{background:var(--ink-3);box-shadow:none;color:var(--tile);cursor:not-allowed;pointer-events:none;transform:none}.enrollment-step#step3 .btn-confirm.submitting{gap:8px;position:relative}.enrollment-step#step3 .btn-confirm.submitting svg{display:none}.enrollment-step#step3 .btn-confirm.submitting:before{animation:step3spin 1s linear infinite;border:2px solid transparent;border-radius:50%;border-top:2px solid var(--on-accent);content:"";flex-shrink:0;height:16px;width:16px}@keyframes step3spin{to{transform:rotate(1turn)}}.enrollment-step#step3 .p3-warning{align-items:center;background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:var(--radius);display:flex;flex-shrink:0;gap:10px;padding:10px 12px}.enrollment-step#step3 .p3-warning.d-none{display:none}.enrollment-step#step3 .p3-warning-icon{color:var(--amber-ink);display:grid;flex-shrink:0;place-items:center}.enrollment-step#step3 .p3-warning-icon svg{fill:none;height:18px;stroke:currentColor;width:18px}.enrollment-step#step3 .p3-warning .reenrollment-message{color:var(--amber-ink);flex:1;font-size:12px;font-weight:600;line-height:1.4}.enrollment-step#step3 .p3-warning-dismiss{background:transparent;border:none;border-radius:var(--radius);color:var(--amber-ink);cursor:pointer;display:grid;flex-shrink:0;height:28px;place-items:center;touch-action:manipulation;width:28px}.enrollment-step#step3 .p3-warning-dismiss svg{fill:none;height:14px;stroke:currentColor;width:14px}.step3-phase-indicator{background:var(--tile);border-bottom:1px solid var(--line);flex-shrink:0;padding:10px var(--space-lg)}#step3:has(#step3Phase1-existing.active) .step3-phase-indicator,#step3:has(#step3Phase1-new.active) .step3-phase-indicator,#step3:has(#step3Phase1-reenroll.active) .step3-phase-indicator,#step3:has(#step3Phase5Success.active) .step3-phase-indicator{display:none}.phase-progress{display:flex;flex-direction:column;gap:var(--space-sm)}.phase-progress-bar{background:var(--line);border-radius:999px;height:8px;overflow:hidden;position:relative}.phase-progress-fill{background:var(--grad);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.phase-progress-fill[data-phase="1"]{width:33.33%}.phase-progress-fill[data-phase="2"]{width:66.66%}.phase-progress-fill[data-phase="3"]{width:100%}.phase-labels{align-items:center;display:flex;justify-content:space-between}.phase-label{color:var(--ink-2);font-size:var(--font-sm);font-weight:500;transition:all .3s ease}.phase-label.phase-active,.phase-label.phase-completed{color:var(--accent);font-weight:600}.phase-label.phase-pending{color:var(--ink-2);font-weight:500;opacity:.7}#step3 .step3-phase{display:none}#step3 .step3-phase.active{animation:phaseFadeIn .25s ease;display:block}@keyframes phaseFadeIn{0%{opacity:0}to{opacity:1}}.verification-title{color:var(--ink);font-size:var(--font-2xl);font-weight:600;margin-bottom:var(--space-md)}.verification-message{color:var(--ink-2);font-size:var(--font-base);line-height:1.8;margin-bottom:var(--space-lg);margin-left:auto;margin-right:auto;max-width:400px;text-align:center;white-space:pre-line}#verificationErrorMessage{max-width:none}.error-heading{color:var(--ink);font-weight:500;margin-bottom:var(--space-md);text-align:center}.error-tips-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 auto;max-width:100%;padding:0;text-align:left;width:fit-content}.error-tips-list li{align-items:center;color:var(--ink-2);display:flex;font-size:13px;gap:8px;line-height:1.5;margin:0}.error-tips-list li svg{color:var(--accent);fill:none;flex-shrink:0;height:14px;stroke:currentColor;width:14px}.enrollment-step#step3 .enroll-terminal{align-items:center;display:flex;flex:1;flex-direction:column;gap:20px;justify-content:center;padding:24px;text-align:center}.enroll-terminal-icon{border-radius:50%;display:grid;flex-shrink:0;height:88px;place-items:center;width:88px}.enroll-terminal-icon.error{background:var(--red-soft);border:1.5px solid var(--red-border);color:var(--red-ink)}.enroll-terminal-icon svg{fill:none;height:40px;stroke:currentColor;width:40px}.enroll-terminal-text{align-items:center;display:flex;flex-direction:column;gap:6px;max-width:360px}.enroll-terminal-title{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.2px;margin:0}.enroll-terminal-title.error{color:var(--red-ink)}.enroll-terminal-sub{color:var(--ink-3);font-size:12.5px;line-height:1.5;margin:0}.enroll-terminal-actions{display:flex;flex-direction:column;gap:8px;max-width:280px;width:100%}.enrollment-step#step3 .enroll-terminal .btn-confirm{background:var(--accent);box-shadow:var(--shadow-button)}.enroll-terminal-spinner{height:88px;width:88px}.enroll-terminal-spinner .enroll-terminal-spinner-svg{animation:enrollTerminalSpin 1.1s linear infinite;height:88px;width:88px}.enroll-terminal-spinner-track{fill:none;stroke:var(--track);stroke-width:6}.enroll-terminal-spinner-fill{fill:none;stroke:var(--accent);stroke-dasharray:60 163;stroke-linecap:round;stroke-width:6}@keyframes enrollTerminalSpin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.enroll-terminal-spinner .enroll-terminal-spinner-svg{animation-duration:2.4s}}.employee-count-display{background-color:var(--accent-soft);border:1px solid var(--accent-border);border-radius:8px;color:var(--ink-2);font-size:14px;margin-bottom:12px;padding:8px 16px;text-align:center}.employee-count-display.d-none{display:none}.clock-header{align-items:center;background:var(--tile);border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:var(--space-md);height:60px;padding:0 var(--space-lg);position:relative;z-index:5}.clock-header:before{background:var(--grad);content:"";height:3px;left:0;position:absolute;right:0;top:0}.clock-header .brand{align-items:center;display:flex;flex:1;gap:var(--space-sm);min-width:0}.clock-header .logo{border-radius:var(--radius);display:block;flex-shrink:0;height:42px;width:42px}.clock-header .brand-text{min-width:0}.clock-header .brand-text b{color:var(--ink);display:block;font-size:14px;font-weight:700;letter-spacing:-.2px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clock-header .brand-text span{color:var(--ink-3);display:block;font-size:11px;font-weight:500;margin-top:1px}.clock-header-steps{align-items:center;display:flex;flex:0 1 auto;gap:var(--space-sm);justify-content:center}.clock-header .step-indicator{align-items:center;display:flex;gap:6px;margin:0}.clock-header .step-pip{background:var(--line);border-radius:2px;height:4px;transition:background var(--transition-fast);width:28px}.clock-header .step-pip.active{background:var(--accent)}.clock-header .step-pip.done{background:var(--green)}.clock-header .step-label{color:var(--ink-3);font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.clock-header-right{align-items:center;display:flex;flex:1;gap:var(--space-sm);justify-content:flex-end}.clock-header .logout-button,.clock-header .theme-toggle{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;display:grid;height:40px;place-items:center;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);width:40px}.clock-header .logout-button:hover,.clock-header .theme-toggle:hover{background:var(--tile-2);border-color:var(--line-2);color:var(--ink)}.clock-header .logout-button svg,.clock-header .theme-toggle svg{fill:none;height:17px;stroke:currentColor;stroke-width:2;width:17px}@media (max-width:720px){.clock-header .brand-text span,.clock-header-steps{display:none}}.clock-app{background:var(--bg);background-image:var(--page-glow);box-shadow:none;display:flex;flex-direction:column;margin:0;max-width:none;min-height:100vh;min-height:100dvh}.clock-steps-host{flex:1;min-height:0;overflow:hidden;position:relative}.clock-step{background:transparent;display:flex;flex-direction:column;inset:0;min-height:0;overflow-y:auto;position:absolute;-webkit-overflow-scrolling:touch}.clock-step,.clock-step.active{margin:0;max-width:none;padding:0}.clock-step .confirm-step,.clock-step .manual-step,.clock-step .scan-step,.clock-step .success-step,.clock-step .verify-step{flex:1;min-height:0}.clock-step .btn-primary,.clock-step .btn-secondary{align-items:center;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:14px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.01em;min-height:50px;padding:0 22px;touch-action:manipulation;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.clock-step .btn-primary{background:var(--grad);border:none;box-shadow:var(--shadow-button);color:var(--on-accent)}.clock-step .btn-primary:hover{box-shadow:var(--shadow-xl);transform:translateY(-1px)}.clock-step .btn-secondary{background:transparent;border:1.5px solid var(--line-2);color:var(--ink-2)}.clock-step .btn-secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.clock-step .btn-primary:active,.clock-step .btn-secondary:active{transform:scale(.97)}.clock-step .btn-primary svg,.clock-step .btn-secondary svg{fill:none;flex-shrink:0;height:18px;stroke:currentColor;stroke-width:2;width:18px}.clock-step .btn-lg{font-size:15px;min-height:56px;padding:0 28px}.scan-step{align-items:stretch;display:flex;height:100%}.camera-hero{align-items:center;display:flex;flex:1;flex-direction:column;gap:var(--space-lg);justify-content:center;padding:var(--space-lg) var(--space-xl);position:relative}.camera-hero:before{background:radial-gradient(ellipse 70% 80% at 50% 50%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.3;pointer-events:none;position:absolute}:root[data-theme=dark] .camera-hero:before{opacity:.14}.scan-hero-heading{position:relative;text-align:center;z-index:1}.scan-hero-heading h2{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.25px;line-height:1.15;margin-bottom:4px}.scan-hero-heading p{color:var(--ink-3);font-size:13px;font-weight:500}.portal-vf-wrap{z-index:1}.portal-outer,.portal-vf-wrap{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative}.portal-outer{height:340px;width:340px}.portal-outer .portal-ring-svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.portal-track{opacity:.4;stroke:var(--line)}.portal-grad-start{stop-color:var(--accent)}.portal-grad-end{stop-color:var(--accent-2)}.portal-arc-static{opacity:.55}.portal-arc-spin{opacity:.9}.portal-arc-rotate{animation:portalArcSpin 4s linear infinite;transform-origin:center}@keyframes portalArcSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.portal-lens{align-items:center;background:radial-gradient(ellipse 60% 70% at 48% 42%,var(--tile-2),var(--tile) 70%);border-radius:50%;box-shadow:inset 0 0 32px rgba(31,35,40,.06),0 0 0 1px var(--line);display:flex;height:272px;justify-content:center;overflow:hidden;position:relative;width:272px;z-index:1}:root[data-theme=dark] .portal-lens{background:radial-gradient(ellipse 60% 70% at 48% 42%,var(--accent-soft),var(--bg) 70%);box-shadow:inset 0 0 40px rgba(0,0,0,.6),0 0 0 1px var(--line)}.portal-lens .camera-video{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity var(--transition-base);width:100%;z-index:1}.portal-lens .camera-video.camera-streaming{opacity:1}.portal-lens .camera-canvas{height:100%;inset:0;pointer-events:none;position:absolute;width:100%;z-index:1}.portal-lens .portal-face-svg{bottom:36px;color:var(--ink-3);height:126px;pointer-events:none;position:absolute;width:108px;z-index:0}.portal-lens-glow{animation:portalGlowPulse 3s ease-in-out infinite;background:radial-gradient(ellipse 60% 60% at 50% 38%,var(--accent-soft),transparent 72%);border-radius:50%;inset:0;opacity:.35;pointer-events:none;position:absolute;z-index:2}:root[data-theme=dark] .portal-lens-glow{opacity:.5}@keyframes portalGlowPulse{0%,to{opacity:.25}50%{opacity:.5}}.portal-lens .portal-oval-svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%;z-index:3}.portal-oval{opacity:.35;stroke:var(--accent)}@media (prefers-reduced-motion:reduce){.portal-arc-rotate{animation:none}.portal-lens-glow{animation:none;opacity:.4}}.scan-status{position:relative;text-align:center;z-index:1}.scan-status-line{align-items:center;color:var(--ink-2);display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin-bottom:8px}.scan-status-line .pulse-dot{animation:scanPulseDot 1.4s ease-in-out infinite;background:var(--accent);border-radius:50%;height:8px;width:8px}@keyframes scanPulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.scan-progress-track{background:var(--track);border-radius:2px;height:3px;max-width:100%;overflow:hidden;width:340px}.scan-progress-fill{animation:scanProgress 3.5s ease-in-out infinite;background:var(--grad);border-radius:2px;height:100%;width:0}@keyframes scanProgress{0%{opacity:1;width:0}70%{opacity:1;width:80%}to{opacity:.6;width:80%}}@media (prefers-reduced-motion:reduce){.scan-status-line .pulse-dot{animation:none;opacity:1}.scan-progress-fill{animation:none;width:60%}}.manual-link-row{align-items:center;display:flex;justify-content:center;position:relative;z-index:1}.manual-link-btn{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--ink-3);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;min-height:44px;padding:4px 10px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;touch-action:manipulation;transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}.manual-link-btn:hover{color:var(--accent-ink);text-decoration-color:var(--accent)}.manual-link-btn svg{fill:none;flex-shrink:0;height:14px;stroke:currentColor;stroke-width:2;width:14px}@media (max-width:768px){.portal-outer{height:280px;width:280px}.portal-lens{height:224px;width:224px}.scan-progress-track{width:280px}}.verify-step{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2xl);justify-content:center;padding:var(--space-lg) var(--space-xl);position:relative}.verify-step:before{background:radial-gradient(ellipse 65% 70% at 50% 45%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.2;pointer-events:none;position:absolute}:root[data-theme=dark] .verify-step:before{opacity:.1}.conf-ring-wrap{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-sm);position:relative;z-index:1}.conf-face-thumb{background:var(--grad);border:3px solid var(--tile);border-radius:50%;box-shadow:0 0 0 2px var(--accent),var(--shadow);color:var(--on-accent);display:grid;flex-shrink:0;font-size:18px;font-weight:700;height:56px;letter-spacing:-.5px;place-items:center;width:56px}.conf-ring-inner{flex-shrink:0;height:148px;position:relative;width:148px}.conf-ring-inner .conf-ring-svg{display:block;height:148px;width:148px}.conf-ring-track{stroke:var(--track)}.conf-grad-start{stop-color:var(--accent)}.conf-grad-end{stop-color:var(--accent-2)}.conf-arc{transition:stroke-dashoffset .85s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion:reduce){.conf-arc{transition:none}}.conf-arc.progress-width-5{stroke-dashoffset:358}.conf-arc.progress-width-10{stroke-dashoffset:339}.conf-arc.progress-width-15{stroke-dashoffset:320}.conf-arc.progress-width-20{stroke-dashoffset:302}.conf-arc.progress-width-25{stroke-dashoffset:283}.conf-arc.progress-width-30{stroke-dashoffset:264}.conf-arc.progress-width-35{stroke-dashoffset:245}.conf-arc.progress-width-40{stroke-dashoffset:226}.conf-arc.progress-width-45{stroke-dashoffset:207}.conf-arc.progress-width-50{stroke-dashoffset:189}.conf-arc.progress-width-55{stroke-dashoffset:170}.conf-arc.progress-width-60{stroke-dashoffset:151}.conf-arc.progress-width-65{stroke-dashoffset:132}.conf-arc.progress-width-70{stroke-dashoffset:113}.conf-arc.progress-width-75{stroke-dashoffset:94}.conf-arc.progress-width-80{stroke-dashoffset:75}.conf-arc.progress-width-85{stroke-dashoffset:57}.conf-arc.progress-width-90{stroke-dashoffset:38}.conf-arc.progress-width-95{stroke-dashoffset:19}.conf-arc.progress-width-100{stroke-dashoffset:0}.conf-ring-center{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.conf-ring-pct{color:var(--ink);display:block;font-size:22px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.conf-ring-sub{color:var(--ink-3);display:block;font-size:9px;font-weight:700;letter-spacing:.06em;margin-top:4px;text-transform:uppercase}.conf-label{color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.02em;text-align:center}.verify-card-wrap{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-lg);max-width:400px;position:relative;z-index:1}.verify-heading{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.3px;line-height:1.15}.verify-sub{color:var(--ink-2);font-size:13px;line-height:1.4;margin-top:4px}.emp-card{align-items:center;background:var(--tile);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);display:flex;gap:var(--space-md);padding:16px 18px;width:100%}.emp-card-info{min-width:0}.emp-name{color:var(--ink);display:block;font-size:16px;font-weight:700;line-height:1.2}.emp-role{color:var(--ink-2);display:block;font-size:12px;font-weight:500;margin-top:3px}.emp-status-badge{align-items:center;background:var(--amber-soft);border-radius:var(--radius-pill);color:var(--amber-ink);display:inline-flex;flex-shrink:0;font-size:10px;font-weight:700;gap:5px;letter-spacing:.03em;margin-left:auto;padding:4px 10px;text-transform:uppercase}.emp-status-badge svg{fill:none;flex-shrink:0;height:12px;stroke:currentColor;stroke-width:2;width:12px}.emp-status-badge.clocked-in{background:var(--green-soft);color:var(--green-ink)}.emp-status-badge.clocked-out{background:var(--amber-soft);color:var(--amber-ink)}.verify-actions{display:flex;gap:var(--space-sm);width:100%}.verify-actions .btn-primary,.verify-actions .btn-secondary{flex:1}.progress-width-5{width:5%}.progress-width-10{width:10%}.progress-width-15{width:15%}.progress-width-20{width:20%}.progress-width-25{width:25%}.progress-width-30{width:30%}.progress-width-35{width:35%}.progress-width-40{width:40%}.progress-width-45{width:45%}.progress-width-50{width:50%}.progress-width-55{width:55%}.progress-width-60{width:60%}.progress-width-65{width:65%}.progress-width-70{width:70%}.progress-width-75{width:75%}.progress-width-80{width:80%}.progress-width-85{width:85%}.progress-width-90{width:90%}.progress-width-95{width:95%}.progress-width-100{width:100%}.confidence-width-0{width:0}.confidence-width-100{width:100%}.confirm-emp-avatar,.emp-avatar{background:var(--grad);border-radius:50%;color:var(--on-accent);display:grid;flex-shrink:0;font-weight:700;letter-spacing:-.5px;overflow:hidden;place-items:center;position:relative}.emp-avatar{font-size:18px;height:52px;width:52px}.confirm-emp-avatar{font-size:15px;height:44px;width:44px}.confirm-emp-avatar .employee-image,.emp-avatar .employee-image{border-radius:50%;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.confirm-step{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-xl);justify-content:center;padding:var(--space-lg) var(--space-xl);position:relative}.confirm-step:before{background:radial-gradient(ellipse 55% 65% at 40% 50%,var(--accent-soft),transparent 70%);content:"";inset:0;opacity:.2;pointer-events:none;position:absolute}:root[data-theme=dark] .confirm-step:before{opacity:.1}.action-badge-wrap{flex-shrink:0;gap:var(--space-md);position:relative;z-index:1}.action-badge-wrap,.action-type-badge{align-items:center;display:flex;flex-direction:column}.action-type-badge{background:var(--tile);border:3px solid var(--accent);border-radius:50%;box-shadow:0 0 0 8px var(--accent-soft),var(--shadow-lg);gap:6px;height:150px;justify-content:center;width:150px}.action-type-badge.clock-out{border-color:var(--red);box-shadow:0 0 0 8px var(--red-soft),var(--shadow-lg)}.action-type-badge .action-icon{align-items:center;display:flex;justify-content:center}.action-type-badge .action-icon svg{color:var(--accent);fill:none;height:44px;stroke:currentColor;stroke-width:2;width:44px}.action-type-badge.clock-out .action-icon svg{color:var(--red)}.action-type-badge .action-label{display:none}.action-type-badge .action-type{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.01em}.action-time-live{color:var(--accent);font-size:20px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em}.confirm-panel{display:flex;flex:1;flex-direction:column;gap:var(--space-md);max-width:340px;position:relative;z-index:1}.confirm-heading{color:var(--ink);font-size:19px;font-weight:700;letter-spacing:-.2px}.confirm-emp-mini{align-items:center;background:var(--tile);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);display:flex;gap:var(--space-sm);padding:14px 16px}.confirm-emp-info{min-width:0}.confirm-emp-name{color:var(--ink);display:block;font-size:15px;font-weight:700}.confirm-emp-role{color:var(--ink-2);display:block;font-size:11px;font-weight:500;margin-top:2px}.confirm-tiles{display:grid;gap:var(--space-xs);grid-template-columns:1fr 1fr}.confirm-tile{background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px}.confirm-tile-label{color:var(--ink-3);font-size:9.5px;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.confirm-tile-val{color:var(--ink);display:flex;flex-direction:column;font-size:15px;font-variant-numeric:tabular-nums;font-weight:600;gap:1px;line-height:1.25}.confirm-tile-val .context-action{color:var(--ink-3);font-size:10px;font-weight:600;letter-spacing:0;text-transform:none}.confirm-tile-val .context-time{font-size:14px;font-weight:600}.confirm-tile-val .context-relative{color:var(--ink-3);font-size:10px;font-weight:500}.context-time.active-session-color,.context-time.clock-in-color{color:var(--accent)}.context-time.clock-out-color{color:var(--red)}.confirm-note{color:var(--ink-2);font-size:13px;line-height:1.4}.confirm-actions{display:flex;gap:var(--space-sm);margin-top:2px}.confirm-actions .btn-primary{flex:1}.manual-step{display:flex;height:100%}.manual-search-panel{display:flex;flex:1;flex-direction:column;gap:var(--space-sm);min-width:0;padding:var(--space-lg) var(--space-lg)}.manual-heading{color:var(--ink);font-size:17px;font-weight:700;letter-spacing:-.2px}#manual-selection .search-input-container{position:relative}#manual-selection .search-icon{color:var(--ink-3);fill:none;height:16px;left:13px;pointer-events:none;position:absolute;stroke:currentColor;stroke-width:2;top:50%;transform:translateY(-50%);width:16px}#manual-selection .search-input{background:var(--tile);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);font-family:var(--font-ui);font-size:14px;font-weight:500;min-height:48px;outline:none;padding:0 40px;touch-action:manipulation;transition:border-color var(--transition-fast);width:100%}#manual-selection .search-input:focus{border-color:var(--accent)}#manual-selection .search-input::placeholder{color:var(--ink-3)}#manual-selection .search-clear-btn{background:none;border:none;border-radius:var(--radius);color:var(--ink-3);cursor:pointer;display:grid;height:32px;place-items:center;position:absolute;right:8px;top:50%;touch-action:manipulation;transform:translateY(-50%);width:32px}#manual-selection .search-clear-btn:hover{color:var(--ink)}#manual-selection .search-clear-btn svg{fill:none;height:15px;stroke:currentColor;stroke-width:2;width:15px}#manual-selection .search-clear-btn.d-none{display:none}#manual-selection .search-results{color:var(--accent-ink);font-size:12px;font-weight:600}.manual-search-panel .employee-count-display{display:none}.employee-list-container{flex:1;min-height:0;overflow:hidden}#manual-selection .employee-list{display:flex;flex-direction:column;gap:6px;height:100%;margin:0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:2px}#manual-selection .employee-card{backdrop-filter:none;background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;cursor:pointer;margin:0;overflow:visible;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}#manual-selection .employee-card:before{display:none}#manual-selection .employee-card:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}#manual-selection .employee-card:active{box-shadow:none;transform:translateY(0)}#manual-selection .employee-card.selected,#manual-selection .employee-card.selecting{animation:none;background:var(--accent-soft);border-color:var(--accent);transform:none}#manual-selection .employee-card-header{align-items:center;display:flex;gap:13px;padding:12px 14px}#manual-selection .employee-card-date{display:none}#manual-selection .employee-avatar{border:none;border-radius:50%;box-shadow:none;height:38px;width:38px}#manual-selection .employee-initials{border-radius:50%;font-size:13px}#manual-selection .employee-initials.avatar-variant-1{background:var(--grad)}#manual-selection .employee-initials.avatar-variant-2{background:linear-gradient(135deg,#7c3aed,#a78bfa)}#manual-selection .employee-initials.avatar-variant-3{background:linear-gradient(135deg,#059669,#34d399)}#manual-selection .employee-initials.avatar-variant-4{background:linear-gradient(135deg,#d97706,#fbbf24)}#manual-selection .employee-initials.avatar-variant-5{background:linear-gradient(135deg,#be185d,#f472b6)}#manual-selection .employee-initials.avatar-variant-6{background:linear-gradient(135deg,#0e7490,#38bdf8)}#manual-selection .employee-card .employee-photo{border-radius:50%}#manual-selection .employee-info{flex:1;min-width:0}#manual-selection .employee-name{color:var(--ink);font-size:13px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#manual-selection .employee-meta-line{gap:0;margin:2px 0 0}#manual-selection .employee-position{color:var(--ink-2);font-size:11px;font-weight:500}#manual-selection .employee-status-line{flex-shrink:0;margin:0 0 0 auto}#manual-selection .employee-status-text{align-items:center;border-radius:var(--radius-pill);color:var(--ink-3);display:inline-flex;font-size:10px;font-weight:700;padding:3px 8px}#manual-selection .employee-status-text.status-clocked-in{background:var(--green-soft);color:var(--green-ink)}#manual-selection .employee-status-text.status-clocked-out{background:var(--tile-2);border:1px solid var(--line);color:var(--ink-3)}.manual-side{background:var(--tile);border-left:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-md);padding:var(--space-lg) var(--space-md);width:200px}.side-section-label{color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.manual-side-tip{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius);color:var(--accent-ink);font-size:11.5px;line-height:1.45;padding:12px 13px}.manual-side-spacer{flex:1}.try-face-btn{align-items:center;background:transparent;border:1.5px dashed var(--line-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;display:flex;font-family:var(--font-ui);font-size:12px;font-weight:600;gap:8px;justify-content:center;line-height:1.3;min-height:50px;padding:10px 8px;text-align:center;touch-action:manipulation;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);width:100%}.try-face-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.try-face-btn svg{fill:none;flex-shrink:0;height:16px;stroke:currentColor;stroke-width:2;width:16px}@media (max-width:860px){.confirm-step,.success-step,.verify-step{gap:var(--space-lg);padding:var(--space-lg)}.confirm-panel,.success-panel,.verify-card-wrap{max-width:420px;width:100%}}@media (max-width:720px){.manual-step{flex-direction:column}.manual-side{align-items:center;border-left:none;border-top:1px solid var(--line);flex-direction:row;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);width:auto}.manual-side .side-section-label{display:none}.manual-side-tip{flex:1}.manual-side .try-face-btn{flex-shrink:0;padding:10px 14px;width:auto}}.scan-status .status-icon{color:var(--accent)}.success-step{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2xl);justify-content:center;padding:var(--space-xl) var(--space-2xl);position:relative}.success-step:before{background:radial-gradient(ellipse 55% 65% at 45% 50%,var(--green-soft),transparent 70%);content:"";inset:0;opacity:.6;pointer-events:none;position:absolute}.success-badge-wrap{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-sm);position:relative;z-index:1}.success-circle{align-items:center;background:var(--green-soft);border:3px solid var(--green);border-radius:50%;box-shadow:0 0 0 10px rgba(26,127,55,.08),var(--shadow-lg);display:flex;height:140px;justify-content:center;width:140px}:root[data-theme=dark] .success-circle{box-shadow:0 0 0 10px rgba(63,185,80,.1),var(--shadow-lg)}.success-circle svg{fill:none;height:52px;stroke:var(--green);width:52px}.success-badge-label{color:var(--green);font-size:22px;font-weight:700;letter-spacing:-.2px}.success-panel{display:flex;flex-direction:column;gap:var(--space-md);max-width:360px;position:relative;z-index:1}.success-heading{color:var(--ink);font-size:19px;font-weight:700;letter-spacing:-.2px}.success-sub{color:var(--ink-2);font-size:13px;line-height:1.5;margin-top:4px}.success-recap{background:var(--tile);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-sm);padding:14px 16px}.success-recap-row{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.success-recap-label{color:var(--ink-3);font-size:11px;font-weight:500}.success-recap-val{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.success-recap-divider{background:var(--line);height:1px}.sec-chips{display:flex;gap:4px}.sec-chip{background:var(--green-soft);border-radius:4px;color:var(--green-ink);font-size:10px;font-weight:700;padding:2px 7px}.countdown-strip{align-items:center;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:var(--space-sm);padding:10px 14px}.success-step .countdown-text{color:var(--ink-2);flex-shrink:0;font-size:11.5px;font-weight:600;margin:0;white-space:nowrap}.success-step .countdown-text b{color:var(--green);font-variant-numeric:tabular-nums}.countdown-bar-track{background:var(--track);border-radius:2px;flex:1;height:3px;overflow:hidden}.countdown-bar-fill{animation:countdownBar 5s linear forwards;background:var(--green);border-radius:2px;height:100%}@keyframes countdownBar{0%{width:100%}to{width:0}}@media (prefers-reduced-motion:reduce){.countdown-bar-fill{animation:none;width:50%}}.success-actions{display:flex;gap:var(--space-sm)}.success-step .success-actions .btn-primary{background:var(--green);box-shadow:0 2px 12px rgba(26,127,55,.3);flex:1}.success-details-enhanced{background:var(--tile-2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:12px;margin:24px 0;padding:20px}.success-details-enhanced .success-detail-item{align-items:center;display:flex;font-size:1.1rem;gap:12px}.success-details-enhanced .success-detail-item svg{color:var(--green-ink);font-size:1.2rem;width:20px}.success-details-enhanced .success-detail-item span{color:var(--ink);font-weight:600}.success-stats-section{background:var(--tile-2);border:1px solid var(--line);border-radius:12px;margin:24px 0;padding:20px}.stats-title{align-items:center;color:var(--ink-2);display:flex;font-size:1.1rem;font-weight:600;gap:10px;margin:0 0 16px}.stats-title svg{color:var(--accent);font-size:1.2rem}.stats-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.stat-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.stat-label{color:var(--ink-2);font-size:.95rem;font-weight:500}.stat-value{color:var(--ink);font-size:1rem;font-weight:600}.auto-redirect-section{margin:32px 0 24px;text-align:center}.countdown-container{align-items:center;display:flex;flex-direction:column;gap:16px}.countdown-circle{align-items:center;animation:countdownSpin 3s linear;background:var(--tile);border-top:4px solid var(--line);border:4px solid var(--line);border-radius:50%;border-top-color:var(--accent);box-shadow:0 4px 12px rgba(0,102,204,.15);display:flex;height:80px;justify-content:center;position:relative;width:80px}.countdown-number{color:var(--accent);font-size:2rem;font-weight:800;line-height:1}.countdown-message{text-align:center}.countdown-text{color:var(--ink-2);font-size:1.1rem;font-weight:600;margin:0 0 4px}.countdown-subtext{color:var(--ink-2);font-size:.9rem;margin:0}@keyframes countdownSpin{0%{border-top-color:var(--accent);transform:rotate(0deg)}33%{border-top-color:var(--amber);transform:rotate(120deg)}66%{border-top-color:var(--red);transform:rotate(240deg)}to{border-top-color:var(--green-ink);transform:rotate(1turn)}}.enroll-success{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:60vh;padding:24px;position:relative;text-align:center}.enroll-success-ring{height:140px;position:relative;width:140px}.enroll-success-ring .enroll-success-ring-svg{height:140px;overflow:visible;width:140px}.enroll-success-ring-track{fill:none;stroke:var(--track);stroke-width:8}.enroll-success-ring-fill{animation:enrollSuccessRing .7s ease forwards;fill:none;stroke:var(--green);stroke-dasharray:0 420;stroke-linecap:round;stroke-width:8;transform:rotate(-90deg);transform-origin:70px 70px}@keyframes enrollSuccessRing{to{stroke-dasharray:420 0}}.enroll-success-check{display:grid;inset:0;place-items:center;position:absolute}.enroll-success-check:before{background:var(--green);border-radius:50%;box-shadow:0 4px 16px rgba(26,127,55,.3);content:"";height:52px;position:absolute;width:52px}.enroll-success-check svg{fill:none;height:26px;position:relative;stroke:var(--on-accent);stroke-width:3;width:26px}.enroll-success-text{align-items:center;display:flex;flex-direction:column;gap:6px}.enroll-success-heading{color:var(--green-ink);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.enroll-success-name{color:var(--ink);font-size:16px;font-weight:700;margin:0}.enroll-success-name:empty{display:none}.enroll-success-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.enroll-success-chip{align-items:center;background:var(--green-soft);border:1px solid var(--green-border);border-radius:var(--radius-pill);color:var(--green-ink);display:inline-flex;font-size:11px;font-weight:600;gap:6px;padding:6px 13px}.enroll-success-chip svg{fill:none;height:13px;stroke:currentColor;stroke-width:2.5;width:13px}.confidence-value{color:var(--green);font-size:1.3rem;font-weight:700}.btn-return{align-items:center;background:var(--accent);border:none;border-radius:var(--radius);box-shadow:var(--shadow-button);color:var(--on-accent);display:inline-flex;font-size:13px;font-weight:700;gap:8px;height:48px;padding:0 22px;text-decoration:none;touch-action:manipulation;transition:filter var(--transition-fast)}.btn-return:hover{filter:brightness(1.08)}.btn-return svg{fill:none;height:16px;stroke:currentColor;stroke-width:2.5;width:16px}@media (prefers-reduced-motion:reduce){.enroll-success-ring-fill{animation:none;stroke-dasharray:420 0}}.enroll-error{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:60vh;padding:24px;position:relative;text-align:center}.enroll-error-ring{height:140px;position:relative;width:140px}.enroll-error-ring .enroll-error-ring-svg{height:140px;overflow:visible;width:140px}.enroll-error-ring-track{fill:none;stroke:var(--track);stroke-width:8}.enroll-error-ring-fill{animation:enrollErrorRing .7s ease forwards;fill:none;stroke:var(--red);stroke-dasharray:0 420;stroke-linecap:round;stroke-width:8;transform:rotate(-90deg);transform-origin:70px 70px}@keyframes enrollErrorRing{to{stroke-dasharray:420 0}}.enroll-error-mark{display:grid;inset:0;place-items:center;position:absolute}.enroll-error-mark:before{background:var(--red);border-radius:50%;box-shadow:0 4px 16px rgba(207,34,46,.3);content:"";height:52px;position:absolute;width:52px}.enroll-error-mark svg{fill:none;height:26px;position:relative;stroke:var(--on-accent);stroke-width:2.5;width:26px}.enroll-error-text{align-items:center;display:flex;flex-direction:column;gap:6px}.enroll-error-heading{color:var(--red-ink);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.enroll-error-sub{color:var(--ink-2);font-size:14px;line-height:1.5;margin:0;max-width:360px}.enroll-error-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.enroll-error-chip{align-items:center;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-2);display:inline-flex;font-size:11px;font-weight:600;gap:6px;padding:6px 13px}.enroll-error-chip svg{fill:none;height:13px;stroke:var(--accent);stroke-width:2.5;width:13px}.enroll-error-actions{display:flex;flex-direction:column;gap:8px;max-width:280px;width:100%}.enrollment-step#step3 .enroll-error .btn-confirm{background:var(--accent);box-shadow:var(--shadow-button)}@media (prefers-reduced-motion:reduce){.enroll-error-ring-fill{animation:none;stroke-dasharray:420 0}}#clockStep3 .success-container{margin:0 auto;max-width:100%;padding:0 0 32px;text-align:center}#clockStep3 .success-title{color:var(--green-ink);font-size:2.2rem;font-weight:700;margin:0 0 8px}#clockStep3 .success-message{color:var(--ink-2);font-size:1.2rem;margin:0 0 32px}#clockStep3 .success-icon-large{color:var(--green-ink);font-size:5.5rem;margin-bottom:24px}#clockStep3 .success-details-enhanced{margin:24px 0;transform:translateX(-10px)}#clockStep3 .success-detail-item{align-items:center;background:var(--tile-2);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-2);display:flex;font-size:1.1rem;gap:var(--space-md);margin:8px 0;padding:var(--space-sm) var(--space-md);transition:all .2s ease}#clockStep3 .success-detail-item:hover{background:var(--tile-2);border-color:var(--line-2)}#clockStep3 .success-detail-item .context-icon svg{color:var(--green-ink);font-size:1.2rem}#clockStep3 .success-detail-item .context-content{display:flex;flex-direction:column;gap:var(--space-xs)}@media (max-width:640px){#clockStep3 .success-container{padding:24px 16px}.countdown-circle{height:70px;width:70px}.countdown-number{font-size:1.8rem}.stats-grid{gap:8px;grid-template-columns:1fr}#clockStep3 .success-title{font-size:1.8rem}#clockStep3 .success-message{font-size:1.1rem}#clockStep3 .success-icon-large{font-size:4.5rem}}body.modal-scroll-locked{overflow:hidden;position:fixed;width:100%}.modal-service-overlay{align-items:center;animation:modalServiceOverlayIn .2s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:var(--scrim);display:flex;inset:0;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:fixed;z-index:10000}.modal-service-dialog{animation:modalServiceDialogIn .22s cubic-bezier(.34,1.3,.64,1);background:var(--tile);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:88vh;max-width:460px;overflow:hidden;width:100%}.modal-service-header{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:14px;padding:20px 20px 16px}.modal-service-icon-tile{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius);color:var(--accent-ink);display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.modal-service-icon-tile svg{fill:none;height:22px;stroke:currentColor;stroke-width:1.8;width:22px}.modal-service-icon-tile.tone-accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-ink)}.modal-service-icon-tile.tone-danger{background:var(--red-soft);border-color:var(--red-border);color:var(--red-ink)}.modal-service-icon-tile.tone-warning{background:var(--amber-soft);border-color:var(--amber-border);color:var(--amber-ink)}.modal-service-icon-tile.tone-success{background:var(--green-soft);border-color:var(--green-border);color:var(--green-ink)}.modal-service-header-text{flex:1;min-width:0}.modal-service-eyebrow{color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.modal-service-title{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.2px;line-height:1.25;margin:0}.modal-service-body{overflow-y:auto;padding:18px 20px}.modal-service-message{color:var(--ink-2);font-size:13.5px;line-height:1.55;margin:0}.modal-service-details{background:var(--tile-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--ink);font-size:12.5px;line-height:1.5;margin:14px 0 0;padding:12px 14px}.modal-variant-danger .modal-service-details,.modal-variant-error .modal-service-details{border-left-color:var(--red)}.modal-variant-warning .modal-service-details{border-left-color:var(--amber)}.modal-variant-success .modal-service-details{border-left-color:var(--green)}.modal-service-footer{align-items:center;background:var(--tile-2);border-top:1px solid var(--line);display:flex;flex-shrink:0;gap:10px;padding:14px 20px max(14px,env(safe-area-inset-bottom))}.modal-service-spacer{flex:1}.modal-service-btn{align-items:center;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:7px;justify-content:center;min-height:44px;padding:0 20px;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),filter var(--transition-fast),transform var(--transition-fast)}.modal-service-btn.btn-ghost{background:transparent;border:1.5px solid var(--line-2);color:var(--ink-2);font-weight:600}.modal-service-btn.btn-ghost:hover{background:var(--tile-3);color:var(--ink)}.modal-service-btn.btn-ghost:active{background:var(--tile-3);transform:scale(.97)}.modal-service-btn.btn-primary{background:var(--accent);border:none;color:var(--on-accent)}.modal-service-btn.btn-primary:hover{filter:brightness(1.08)}.modal-service-btn.btn-primary:active{transform:scale(.97)}.modal-service-btn.btn-primary.tone-accent{background:var(--accent);box-shadow:var(--shadow-button)}.modal-service-btn.btn-primary.tone-danger{background:var(--red)}.modal-service-btn.btn-primary.tone-warning{background:var(--amber)}.modal-service-btn.btn-primary.tone-success{background:var(--green)}@keyframes modalServiceOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalServiceDialogIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.modal-service-dialog{max-width:100%}.modal-service-footer{align-items:stretch;flex-direction:column-reverse}.modal-service-spacer{display:none}.modal-service-btn{width:100%}}@media (prefers-reduced-motion:reduce){.modal-service-overlay{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none}.modal-service-dialog{animation:none}.modal-service-btn.btn-ghost:active,.modal-service-btn.btn-primary:active{transform:none}}.employee-card-clickable{cursor:pointer}.employee-status-text.status-info{color:var(--accent)}.status-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.status-dot.dot-solid{background-color:currentColor}.status-dot.dot-outline{background-color:transparent;border:1.5px solid}.status-dot.dot-pulse{animation:statusPulse 1.5s ease-in-out infinite;background-color:currentColor}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.status-indicator{background:var(--ink-3);border-radius:50%;box-shadow:0 0 4px rgba(156,163,175,.4);height:6px;transition:all .3s cubic-bezier(.4,0,.2,1);width:6px}.status-indicator.active{animation:statusPulse 2s infinite;background:var(--green);box-shadow:0 0 8px rgba(34,197,94,.4)}#notification-container{display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 40px);pointer-events:none;position:fixed;right:20px;top:20px;width:360px;z-index:10000}.toast{align-items:stretch;animation:toastSlideIn .28s cubic-bezier(.22,.68,0,1.2) both;background:var(--tile);border-radius:10px;box-shadow:0 0 0 1px var(--line),var(--shadow-toast);display:flex;overflow:hidden;pointer-events:auto;position:relative;will-change:transform,opacity}.toast.toast-exit{animation:toastSlideOut .22s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.toast-stripe{flex-shrink:0;width:5px}.toast-success .toast-stripe{background:var(--green)}.toast-error .toast-stripe{background:var(--red)}.toast-warning .toast-stripe{background:var(--amber)}.toast-info .toast-stripe{background:var(--accent)}.toast-icon{display:grid;flex-shrink:0;padding:16px 0;place-items:center;width:52px}.toast-icon-tile{border-radius:var(--radius-sm);display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.toast-icon-tile svg{height:18px;width:18px}.toast-success .toast-icon-tile{background:var(--green-soft);color:var(--green-ink)}.toast-error .toast-icon-tile{background:var(--red-soft);color:var(--red-ink)}.toast-warning .toast-icon-tile{background:var(--amber-soft);color:var(--amber-ink)}.toast-info .toast-icon-tile{background:var(--accent-soft);color:var(--accent-ink)}.toast-body{flex:1;min-width:0;padding:14px 0 12px}.toast-title{color:var(--ink);font-size:var(--font-sm);font-weight:700;letter-spacing:-.01em;line-height:1.25}.toast-msg{color:var(--ink-2);font-size:12.5px;line-height:1.5;margin-top:3px;word-break:break-word}.toast-action{align-items:center;border:1.5px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-size:var(--font-xs);font-weight:700;gap:5px;height:32px;letter-spacing:.01em;margin-top:8px;padding:0 12px;touch-action:manipulation;transition:opacity .12s ease}.toast-action:hover{opacity:.8}.toast-success .toast-action{background:var(--green-soft);border-color:var(--green);color:var(--green-ink)}.toast-error .toast-action{background:var(--red-soft);border-color:var(--red);color:var(--red-ink)}.toast-warning .toast-action{background:var(--amber-soft);border-color:var(--amber);color:var(--amber-ink)}.toast-info .toast-action{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.toast-close{align-self:flex-start;background:none;border:0;color:var(--ink-3);cursor:pointer;display:grid;flex-shrink:0;min-height:44px;padding-top:10px;place-items:start center;touch-action:manipulation;transition:color .12s ease;width:44px}.toast-close:hover{color:var(--ink)}.toast-close svg{height:16px;width:16px}.toast-progress{border-radius:0 0 10px 0;bottom:0;height:3px;left:5px;overflow:hidden;position:absolute;right:0}.toast-progress-bar{border-radius:inherit;height:100%;transform-origin:left}.toast-success .toast-progress-bar{background:var(--green)}.toast-error .toast-progress-bar{background:var(--red)}.toast-warning .toast-progress-bar{background:var(--amber)}.toast-info .toast-progress-bar{background:var(--accent)}.toast--dur-5000 .toast-progress-bar{animation:progressShrink 5s linear forwards}.toast--dur-7000 .toast-progress-bar{animation:progressShrink 7s linear forwards}.toast--dur-8000 .toast-progress-bar{animation:progressShrink 8s linear forwards}.toast--dur-10000 .toast-progress-bar{animation:progressShrink 10s linear forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(calc(100% + 24px))}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(calc(100% + 24px))}}@keyframes toastFadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}@keyframes progressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:768px){#notification-container{left:10px;max-width:none;right:10px;top:10px;width:auto}}@media (prefers-reduced-motion:reduce){.toast{animation:toastFadeIn .22s ease both}.toast.toast-exit{animation:toastFadeOut .18s ease forwards}.toast--dur-10000 .toast-progress-bar,.toast--dur-5000 .toast-progress-bar,.toast--dur-7000 .toast-progress-bar,.toast--dur-8000 .toast-progress-bar{animation:none;transform:scaleX(0)}}.offline-overlay{background:var(--bg);background-image:var(--page-glow);display:none;inset:0;overflow-y:auto;position:fixed;z-index:10050}.offline-overlay--visible{display:block}.offline-overlay__frame{background:var(--bg);background-image:radial-gradient(ellipse 65% 70% at 50% 55%,var(--amber-soft),transparent 70%),var(--page-glow);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative}.offline-overlay__frame:before{background:var(--amber);content:"";height:3px;left:0;position:absolute;right:0;top:0;z-index:2}.offline-overlay__topbar{align-items:center;background:var(--tile);border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:var(--space-md);height:64px;justify-content:flex-start;padding:0 28px;position:relative;z-index:1}.offline-overlay__brand{align-items:center;display:flex;gap:12px;min-width:0}.offline-overlay__logo{display:block;filter:saturate(.6);flex-shrink:0;height:38px;width:38px}.offline-overlay__brand-text b{color:var(--ink);display:block;font-size:15px;font-weight:700;letter-spacing:-.2px;line-height:1.1}.offline-overlay__brand-text span{color:var(--ink-3);display:block;font-size:11px;font-weight:500;margin-top:1px}.offline-overlay__pill{align-items:center;background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:var(--radius-pill);color:var(--amber-ink);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;gap:7px;left:50%;letter-spacing:.02em;padding:6px 14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.offline-overlay__pill-dot{animation:offlineReconnectPulse 2s ease-in-out infinite;background:var(--amber);border-radius:var(--radius-full);height:8px;width:8px}.offline-overlay__stage{align-items:center;display:flex;flex:1;justify-content:center;padding:var(--space-xl)}.offline-overlay__wrap{align-items:center;display:flex;flex-direction:column;max-width:480px;padding:0 var(--space-md);position:relative;text-align:center;z-index:1}.offline-overlay__disc{background:var(--amber-soft);border:2px solid var(--amber-border);border-radius:var(--radius-full);color:var(--amber);display:grid;height:96px;margin-bottom:var(--space-lg);place-items:center;width:96px}.offline-overlay__disc .offline-overlay__disc-icon{color:var(--amber)}.offline-overlay__badge{align-items:center;background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:var(--radius-pill);color:var(--amber-ink);display:inline-flex;font-size:var(--font-xs);font-weight:700;gap:var(--space-xs);letter-spacing:.06em;margin-bottom:var(--space-md);padding:5px 14px;text-transform:uppercase}.offline-overlay__badge-dot{background:var(--amber);border-radius:var(--radius-full);height:7px;width:7px}.offline-overlay__title{color:var(--ink);font-size:var(--font-2xl);font-weight:700;letter-spacing:-.35px;line-height:1.2;margin-bottom:var(--space-sm)}.offline-overlay__message{color:var(--ink-2);font-size:var(--font-md);font-weight:500;line-height:1.6;margin-bottom:var(--space-lg)}.offline-overlay__reconnect{align-items:center;color:var(--ink-3);display:inline-flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-xs)}.offline-overlay__reconnect-dot{animation:offlineReconnectPulse 1.6s ease-in-out infinite;background:var(--amber);border-radius:var(--radius-full);height:8px;width:8px}@keyframes offlineReconnectPulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.offline-overlay__pill-dot,.offline-overlay__reconnect-dot{animation:none}}@media (min-width:1200px){.ledger-stage{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:var(--space-xl) auto;max-width:1120px;min-height:calc(100vh - var(--space-xl)*2);min-height:calc(100dvh - var(--space-xl)*2);overflow:hidden}}.pin-overlay{align-items:center;background:var(--bg);background-image:var(--page-glow);display:flex;justify-content:center;opacity:0;overflow:hidden;padding:20px;transition:opacity .22s ease;z-index:50}.pin-overlay,.pin-overlay:before{inset:0;pointer-events:none;position:absolute}.pin-overlay:before{background:radial-gradient(ellipse 70% 80% at 50% 52%,var(--accent-soft),transparent 70%);content:"";opacity:.4}.pin-overlay.open{opacity:1;pointer-events:all}.pin-card{align-items:center;background:var(--tile);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:calc(100% - 40px);opacity:0;padding:34px 34px 22px;position:relative;transform:translateY(10px) scale(.97);transition:transform .24s cubic-bezier(.34,1.3,.64,1),opacity .2s ease;width:380px;z-index:1}.pin-overlay.open .pin-card{opacity:1;transform:translateY(0) scale(1)}.pin-card.shake{animation:pinShake .42s cubic-bezier(.36,.07,.19,.97)}.pin-logo{background:var(--grad);border-radius:18px;box-shadow:0 4px 20px rgba(2,132,199,.35);color:var(--on-accent);display:grid;height:72px;margin-bottom:22px;place-items:center;width:72px}.pin-logo svg{height:34px;width:34px}.pin-eyebrow{color:var(--accent-ink);font-size:10px;font-weight:700;letter-spacing:.09em;margin-bottom:4px;text-transform:uppercase}.pin-title{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.3px;line-height:1.2;text-align:center}.pin-sub{color:var(--ink-3);font-size:12.5px;font-weight:500;line-height:1.4;margin-top:4px;text-align:center}.pin-dots{align-items:center;display:flex;gap:14px;height:18px;margin:22px 0 6px}.pin-dot{background:transparent;border:2px solid var(--line-2);border-radius:50%;height:14px;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .12s,border-color .12s;width:14px}.pin-dot.filled{background:var(--accent);border-color:var(--accent);transform:scale(1.12)}.pin-card.err .pin-dot{border-color:var(--red)}.pin-card.err .pin-dot.filled{background:var(--red)}.pin-msg{color:var(--ink-3);font-size:12px;font-weight:600;margin-bottom:14px;min-height:18px;text-align:center}.pin-msg.error{color:var(--red-ink)}.pin-msg.locked{color:var(--amber-ink)}.pin-spin{display:none;height:54px;margin:8px 0 14px;width:54px}.pin-spin svg{animation:pinSpin 1s linear infinite;height:54px;width:54px}.pin-spin .pin-spin-arc{stroke:var(--accent);stroke-linecap:round}.pin-pad{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);width:100%}.pin-key{background:var(--tile-2);border:1px solid var(--line);border-radius:12px;color:var(--ink);display:grid;font-family:var(--font-ui);font-size:24px;font-weight:600;height:62px;place-items:center;touch-action:manipulation;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .12s,border-color .12s;user-select:none}.pin-key:hover{background:var(--accent-soft);border-color:var(--accent)}.pin-key:active{background:var(--accent-soft);transform:scale(.94)}.pin-key.ghost{background:transparent;border-color:transparent;pointer-events:none}.pin-key.action svg{height:24px;stroke:var(--ink-2);width:24px}.pin-key.action:hover svg{stroke:var(--accent-ink)}.pin-cancel{background:none;border:none;border-radius:var(--radius);color:var(--ink-2);font-size:13px;font-weight:600;margin-top:16px;padding:8px 18px;transition:.12s}.pin-cancel:hover{background:var(--tile-3);color:var(--ink)}.pin-foot{align-items:center;color:var(--ink-3);display:flex;font-size:10.5px;font-weight:500;gap:7px;margin-top:10px}.pin-foot svg{height:13px;opacity:.7;stroke:var(--ink-3);width:13px}.pin-divider{background:var(--line);height:1px;margin:18px 0 14px;width:100%}.pin-ok{align-items:center;display:none;flex-direction:column;gap:12px;padding:8px 0 6px}.pin-ok-ring{background:var(--green-soft);border-radius:50%;color:var(--green-ink);display:grid;height:64px;place-items:center;width:64px}.pin-ok-ring svg{height:32px;width:32px}.pin-ok-title{color:var(--ink);font-size:16px;font-weight:700}.pin-ok-sub{color:var(--ink-3);font-size:12px}.pin-card.verifying .pin-cancel,.pin-card.verifying .pin-dots,.pin-card.verifying .pin-msg,.pin-card.verifying .pin-pad{display:none}.pin-card.verifying .pin-spin{display:block}.pin-card.done .pin-cancel,.pin-card.done .pin-divider,.pin-card.done .pin-dots,.pin-card.done .pin-eyebrow,.pin-card.done .pin-foot,.pin-card.done .pin-logo,.pin-card.done .pin-msg,.pin-card.done .pin-pad,.pin-card.done .pin-spin,.pin-card.done .pin-sub,.pin-card.done .pin-title{display:none}.pin-card.done .pin-ok{display:flex}.pin-card.locked .pin-pad{opacity:.4;pointer-events:none}.enroll-header .mgr-pill{display:none}.enroll-header .mgr-pill.show{display:inline-flex}.mgr-count{font-family:var(--font-num);font-variant-numeric:tabular-nums;opacity:.85}.enrollment-app.pin-gating .enroll-header-steps{display:none}@keyframes pinShake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}@keyframes pinSpin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.pin-card,.pin-dot,.pin-key,.pin-scrim{transition:none}.pin-card.shake,.pin-spin svg{animation:none}}