:root{--purple-50:#f5f0ff;--purple-100:#ebe0ff;--purple-200:#d6c2ff;--purple-300:#b794ff;--purple-400:#9a66ff;--purple-500:#7c3aed;--purple-600:#6d28d9;--purple-700:#5b21b6;--purple-900:#2e1065;--font:Inter, ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:8px;--radius:14px;--radius-lg:22px;--ease:cubic-bezier(.2, .7, .2, 1);--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-soft:#f6f5f9;--surface:#fff;--surface-2:#faf9fc;--text:#0a0a0f;--text-2:#50505f;--text-3:#8a8a9c;--border:#e8e6ef;--border-strong:#d6d3e0;--brand:var(--purple-500);--brand-hover:var(--purple-600);--brand-contrast:#fff;--brand-soft:var(--purple-50);--brand-text:var(--purple-600);--ink:#0a0a0f;--ink-contrast:#fff;--success:#0b8a4b;--success-soft:#e6f6ee;--danger:#cf2b3a;--danger-soft:#fdecee;--warn:#a15c00;--warn-soft:#fff4e0;--shadow-sm:0 1px 2px #0a0a0f0f;--shadow:0 8px 30px #0a0a0f14;--shadow-lg:0 24px 60px #2e10652e}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07070a;--bg-soft:#0d0d12;--surface:#111117;--surface-2:#16161e;--text:#f5f5f8;--text-2:#a8a8ba;--text-3:#70708a;--border:#24242f;--border-strong:#34344a;--brand:#8b5cf6;--brand-hover:#9a6dff;--brand-soft:#1b1230;--brand-text:#b794ff;--ink:#f5f5f8;--ink-contrast:#0a0a0f;--success:#3ddc97;--success-soft:#0f2a20;--danger:#ff6b7a;--danger-soft:#2d1117;--warn:#ffb454;--warn-soft:#2b1f0b;--shadow-sm:none;--shadow:0 8px 30px #00000080;--shadow-lg:0 24px 60px #7c3aed40}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07070a;--bg-soft:#0d0d12;--surface:#111117;--surface-2:#16161e;--text:#f5f5f8;--text-2:#a8a8ba;--text-3:#70708a;--border:#24242f;--border-strong:#34344a;--brand:#8b5cf6;--brand-hover:#9a6dff;--brand-soft:#1b1230;--brand-text:#b794ff;--ink:#f5f5f8;--ink-contrast:#0a0a0f;--success:#3ddc97;--success-soft:#0f2a20;--danger:#ff6b7a;--danger-soft:#2d1117;--warn:#ffb454;--warn-soft:#2b1f0b;--shadow-sm:none;--shadow:0 8px 30px #00000080;--shadow-lg:0 24px 60px #7c3aed40}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:650;line-height:1.15}h1{font-size:clamp(28px,4vw,40px)}h2{font-size:clamp(22px,3vw,28px)}h3{font-size:17px}p{margin:0}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}input[type=range]{accent-color:var(--brand);width:100%}::selection{background:var(--purple-400);color:#fff}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.stack-lg{flex-direction:column;gap:28px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:auto;min-width:0}.center{text-align:center}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.btn{appearance:none;cursor:pointer;font:inherit;white-space:nowrap;height:44px;transition:transform .12s var(--ease), background .15s, border-color .15s, box-shadow .15s, opacity .15s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn.btn-wrap{white-space:normal;text-align:center;height:auto;min-height:44px;padding-block:10px;line-height:1.25}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-contrast);box-shadow:0 6px 20px color-mix(in srgb, var(--brand) 35%, transparent)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-ink{background:var(--ink);color:var(--ink-contrast)}.btn-secondary{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bg-soft)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.btn-lg{height:54px;padding:0 28px;font-size:16px}.btn-sm{height:34px;padding:0 14px;font-size:13px}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-flush{padding:0;overflow:hidden}.card-soft{background:var(--bg-soft);box-shadow:none;border-color:#0000}.card-brand{color:#fff;box-shadow:var(--shadow-lg);background:radial-gradient(120% 140% at 0 0,#5b21b6 0%,#2e1065 55%,#0a0a0f 100%);border:none}.card h3+p,.card-title{margin-bottom:4px}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.badge{background:var(--bg-soft);height:24px;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-brand{background:var(--brand-soft);color:var(--brand-text)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}.field{flex-direction:column;gap:6px;display:flex}.field>label,.label{color:var(--text-2);font-size:13px;font-weight:600}.hint{color:var(--text-3);font-size:12.5px}.error-text{color:var(--danger);font-size:13px}.input,.select,.textarea{width:100%;height:46px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:90px;padding:12px 14px}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 20%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand);margin-top:2px}.code-input{letter-spacing:.5em;text-align:center;font-family:var(--mono);font-size:20px}.alert{background:var(--bg-soft);color:var(--text-2);border-radius:12px;gap:12px;padding:12px 14px;font-size:14px;display:flex}.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-warn{background:var(--warn-soft);color:var(--warn)}.alert-brand{background:var(--brand-soft);color:var(--brand-text)}.sim-banner{text-align:center;padding:7px var(--gutter);letter-spacing:.01em;color:#e9ddff;background:repeating-linear-gradient(135deg,#2e1065 0 14px,#35127a 14px 28px);justify-content:center;align-items:center;gap:10px;font-size:12.5px;font-weight:600;display:flex}.sim-banner b{color:#fff}.sim-banner-staging{color:#ffedd5;background:repeating-linear-gradient(135deg,#7c2d12 0 14px,#9a3412 14px 28px);font-weight:700}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 20px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 20px}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table .num,.num{text-align:right;font-variant-numeric:tabular-nums}.amount{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:600}.amount-pos{color:var(--success)}.empty{text-align:center;color:var(--text-3);padding:48px 16px}.empty b{color:var(--text-2);margin-bottom:4px;font-size:15px;display:block}.stat{flex-direction:column;gap:6px;display:flex}.stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;font-weight:600}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.stat-sub{color:var(--text-2);font-size:13px}.tabs{background:var(--bg-soft);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.tab{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:13.5px;font-weight:600}.tab[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:var(--gutter);animation:fade .18s var(--ease);background:#05050a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:var(--radius-lg);width:min(480px,100%);max-height:92dvh;box-shadow:var(--shadow-lg);animation:rise .28s var(--ease);padding:24px;overflow:auto}@media (width<=560px){.overlay{align-items:flex-end;padding:0}.sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:max(24px, env(safe-area-inset-bottom))}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.spinner{border:2.5px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.pulse{animation:1.4s ease-in-out infinite pulse}.toasts{z-index:80;width:min(420px, calc(100% - 2 * var(--gutter)));flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--ink-contrast);box-shadow:var(--shadow);animation:rise .25s var(--ease);border-radius:14px;padding:12px 16px;font-size:14px;font-weight:500}.toast-error{background:var(--danger);color:#fff}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pinpad{outline:none;flex-direction:column;gap:14px;width:100%;max-width:380px;margin:0 auto;display:flex}.pinpad-info,.pinpad-input{flex-direction:column;gap:10px;display:flex}.pinpad .keypad{max-width:360px}.pinpad .key{border-radius:22px;height:76px;font-size:28px}.pinpad .key:disabled{opacity:.45;cursor:not-allowed}.pinpad .key:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.pinpad .pin-dots{gap:18px;margin:4px 0 2px}.pinpad .pin-dot{width:18px;height:18px}.pinpad .hint,.pinpad .faint{color:var(--text-2)}.pinpad .pinpad-time{font-size:13px}.pinpad .btn-primary:not(:disabled){background:#7c3aed}.pinpad .btn-primary:hover:not(:disabled){background:#6d28d9}.pinpad-secondary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pinpad-secondary>:only-child{grid-column:1/-1}.pinpad-notice{text-align:center;color:var(--warn);background:var(--warn-soft);border-radius:12px;padding:8px 12px;font-size:12.5px;line-height:1.4}.shake{animation:shake .42s var(--ease)}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.match-check{background:var(--brand-soft);width:84px;height:84px;color:var(--brand);animation:pop .38s var(--ease);border-radius:50%;place-items:center;margin:0 auto;display:grid}.match-check svg{width:40px;height:40px}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.shake,.match-check,.scanner .sweep,.live-dot:before,.pulse{animation:none}.pin-dot,.key{transition:none}}.pin-takeover{z-index:60;background:var(--bg);color:var(--text);overscroll-behavior:contain;padding:max(10px, env(safe-area-inset-top)) 16px max(10px, env(safe-area-inset-bottom));position:fixed;inset:0;overflow-y:auto}.pin-takeover-inner{flex-direction:column;max-width:440px;min-height:100%;margin:0 auto;display:flex}.pin-takeover .pinpad{flex:1;justify-content:space-between;gap:clamp(6px,1.4dvh,16px);max-width:none}.pin-takeover .pinpad-info,.pin-takeover .pinpad-input{gap:clamp(5px,1.1dvh,12px)}.pin-takeover .pinpad .key{height:clamp(46px,8dvh,72px);font-size:clamp(22px,3.4dvh,28px)}.pin-takeover .pinpad .pin-dots{margin:2px 0}.pin-takeover .pinpad .pin-dot{width:clamp(14px,2.4dvh,18px);height:clamp(14px,2.4dvh,18px)}.pin-takeover .display-amount{font-size:clamp(32px,6.2dvh,56px);line-height:1.05}.pin-takeover h2{font-size:clamp(18px,3dvh,24px)}.pinpad-summary{text-align:center;flex-direction:column;align-items:center;gap:clamp(2px,.8dvh,8px);display:flex}@media (height<=760px){.pin-takeover .pinpad-sub,.pin-takeover .pin-turn{display:none}}@media (height<=520px) and (orientation:landscape){.pin-takeover-inner{max-width:920px}.pin-takeover .pinpad{grid-template-columns:1fr 1fr;justify-content:stretch;align-items:center;gap:16px;display:grid}.pin-takeover .pinpad .key{height:clamp(38px,11dvh,56px)}.pin-takeover .pinpad-notice{padding:5px 10px;font-size:11.5px}}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:340px;margin:0 auto;display:grid}.key{border:1px solid var(--border);background:var(--surface);height:64px;color:var(--text);font:inherit;cursor:pointer;border-radius:18px;font-size:24px;font-weight:600;transition:background .1s,transform 80ms}.key:hover{background:var(--bg-soft)}.key:active{background:var(--brand-soft);transform:scale(.96)}.key-fn{color:var(--text-2);font-size:18px}.pin-dots{justify-content:center;gap:14px;margin:8px 0 20px;display:flex}.pin-dot{border:2px solid var(--border-strong);border-radius:50%;width:14px;height:14px;transition:all .12s}.pin-dot.on{background:var(--brand);border-color:var(--brand);transform:scale(1.1)}.display-amount{letter-spacing:-.04em;text-align:center;font-variant-numeric:tabular-nums;font-size:clamp(44px,9vw,64px);font-weight:700}.logo{color:var(--text);letter-spacing:-.04em;align-items:center;gap:10px;font-size:22px;font-weight:750;display:inline-flex;text-decoration:none!important}.logo svg{flex:none;width:28px;height:28px}.logo-light{color:#fff}.shell{background:var(--bg-soft);grid-template-columns:248px 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:22px;height:100dvh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.nav{flex-direction:column;gap:2px;display:flex}.nav a,.nav button.nav-item{color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;font-size:14.5px;font-weight:550;text-decoration:none;display:flex}.nav a:hover,.nav button.nav-item:hover{background:var(--bg-soft);color:var(--text);text-decoration:none}.nav a.active{background:var(--brand-soft);color:var(--brand-text)}.nav svg{flex:none;width:20px;height:20px}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:4px;padding:0 12px;font-size:11.5px;font-weight:650}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--bg);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:14px 28px;display:flex;position:sticky;top:0}.content{flex-direction:column;gap:24px;width:100%;max-width:1180px;margin:0 auto;padding:28px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head p{color:var(--text-2);margin-top:6px}.tabbar{display:none}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:12px var(--gutter)}.content{padding:20px var(--gutter) 96px}.tabbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:6px 4px max(8px, env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--text-3);border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 10px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--brand-text)}.tabbar svg{width:22px;height:22px}.table th,.table td{padding:12px 14px}}.auth-page{background:var(--bg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-aside{color:#fff;background:radial-gradient(90% 70% at 20% 10%,#6d28d9 0%,#2e1065 45%,#07070a 100%);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-aside:after{content:"";filter:blur(10px);background:radial-gradient(closest-side,#a78bfa73,#0000);border-radius:50%;width:520px;height:520px;position:absolute;inset:auto -20% -30% auto}.auth-aside h2{z-index:1;max-width:14ch;font-size:clamp(28px,3.4vw,40px);position:relative}.auth-aside p{color:#d9ccff;z-index:1;max-width:38ch;margin-top:12px;position:relative}.auth-main{padding:32px var(--gutter);justify-content:center;align-items:center;display:flex}.auth-card{flex-direction:column;gap:22px;width:min(420px,100%);display:flex}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}}.dark-surface{color:#f5f5f8;--text:#f5f5f8;--text-2:#a8a8ba;--text-3:#70708a;--border:#24242f;--surface:#111117;--bg-soft:#16161e;--bg:#07070a;background:#07070a}.hero{padding:clamp(56px, 10vw, 120px) var(--gutter) clamp(64px, 10vw, 120px);text-align:center;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#7c3aed8c,#7c3aed14 60%,#0000);border-radius:50%;width:900px;height:900px;position:absolute;top:-240px;left:50%;transform:translate(-50%)}.hero>*{position:relative}.hero h1{letter-spacing:-.05em;max-width:14ch;margin:0 auto;font-size:clamp(40px,8vw,84px);line-height:1.02}.hero h1 em{background:linear-gradient(120deg,#c4b5fd,#8b5cf6 55%,#a78bfa);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero .lead{color:#b9b9cc;max-width:46ch;margin:22px auto 0;font-size:clamp(17px,2.2vw,21px)}.container{width:min(1120px, 100% - 2 * var(--gutter));margin:0 auto}.section{padding:clamp(56px,8vw,104px) 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand-text);font-size:13px;font-weight:650}.feature{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);padding:24px}.feature svg{width:28px;height:28px;color:var(--brand);margin-bottom:14px}.feature p{color:var(--text-2);margin-top:6px}.steps{counter-reset:s;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.step{counter-increment:s;border-radius:var(--radius-lg);background:var(--bg-soft);padding:24px}.step:before{content:counter(s, decimal-leading-zero);font-family:var(--mono);color:var(--brand-text);margin-bottom:16px;font-size:13px;display:block}.phone{width:min(300px,80vw);box-shadow:var(--shadow-lg);background:#0d0d12;border:1px solid #2a2a38;border-radius:44px;margin:0 auto;padding:14px}.phone-screen{text-align:center;color:#f5f5f8;background:#111117;border-radius:32px;flex-direction:column;gap:14px;padding:28px 20px;display:flex}.nav-public{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.nav-public nav{align-items:center;gap:8px;display:flex}.footer{border-top:1px solid var(--border);color:var(--text-3);padding:36px 0 48px;font-size:13.5px}.scanner{aspect-ratio:4/3;border-radius:var(--radius);color:#8d8da3;background:#0b0b10;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.scanner .frame{--c:var(--purple-400);background:linear-gradient(var(--c), var(--c)) top left / 28px 3px no-repeat, linear-gradient(var(--c), var(--c)) top left / 3px 28px no-repeat, linear-gradient(var(--c), var(--c)) top right / 28px 3px no-repeat, linear-gradient(var(--c), var(--c)) top right / 3px 28px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 28px 3px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 3px 28px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 28px 3px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 3px 28px no-repeat;border-radius:4px;position:absolute;inset:18%}.scanner .sweep{background:linear-gradient(90deg, transparent, var(--purple-300), transparent);height:2px;animation:1.8s ease-in-out infinite sweep;position:absolute;left:18%;right:18%}@keyframes sweep{0%{top:20%}50%{top:78%}to{top:20%}}.result-icon{border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto;display:grid}.result-icon svg{width:38px;height:38px}.result-ok{background:var(--success-soft);color:var(--success)}.result-bad{background:var(--danger-soft);color:var(--danger)}.receipt{border:1px dashed var(--border-strong);border-radius:var(--radius);gap:8px;padding:16px;font-size:14px;display:grid}.receipt div{justify-content:space-between;gap:12px;display:flex}.progress{background:var(--border);border-radius:99px;height:4px;overflow:hidden}.progress>i{background:var(--brand);height:100%;transition:width .3s linear;display:block}.checklist{gap:10px;display:grid}.checklist li{align-items:center;gap:12px;list-style:none;display:flex}.checklist{margin:0;padding:0}.check-circle{border:2px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.check-circle.done{background:var(--brand);border-color:var(--brand);color:#fff}.check-circle svg{width:14px;height:14px}.camera-panel{flex-direction:column;gap:10px;display:flex}.camera-panel .scanner{aspect-ratio:4/3;width:100%;max-height:52dvh}.camera-panel .scanner.mirror video{transform:scaleX(-1)}.camera-panel .scanner.rear video{transform:none}.camera-state{text-align:center;color:#b9b9cc;align-content:center;place-items:center;gap:10px;padding:16px;display:grid;position:absolute;inset:0}.camera-state svg{opacity:.7;width:40px;height:40px}.live-dot{color:#fff;background:#0000008c;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:12px;left:12px}.live-dot:before{content:"";background:#ff4d6d;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.steps-bar{gap:6px;display:flex}.steps-bar i{background:var(--border);border-radius:4px;flex:1;height:4px}.steps-bar i.on{background:var(--brand)}.result-banner{text-align:center;padding:8px 0 4px}.result-banner h2{letter-spacing:.04em;font-size:clamp(26px,6vw,34px)}.result-banner .brandline{letter-spacing:.3em;color:var(--brand-text);margin-top:4px;font-size:13px;font-weight:700}.sticky-actions{z-index:5;gap:8px;padding:12px 0 4px;display:grid}@media (width<=860px){.sticky-actions{bottom:calc(76px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--surface) 78%, transparent);margin:0 -4px;padding:14px 4px 6px;position:sticky}}@media (width>=861px) and (height<=820px){.sticky-actions{background:linear-gradient(to top, var(--surface) 78%, transparent);margin:0 -4px;padding:14px 4px 6px;position:sticky;bottom:0}}@media (height<=760px){.hide-short{display:none}}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{padding:0 0 14px 22px;font-size:13.5px;position:relative}.timeline li:before{content:"";background:var(--border-strong);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:4px}.timeline li.state:before{background:var(--brand)}.timeline li:after{content:"";background:var(--border);width:1px;position:absolute;top:18px;bottom:0;left:8px}.timeline li:last-child:after{display:none}.bar-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(90px,1.2fr) 3fr auto;align-items:center;gap:12px;padding:10px 20px;font-size:14px;display:grid}.bar-row:last-child{border-bottom:none}.bar-track{background:var(--bg-soft);border-radius:99px;height:10px;overflow:hidden}.bar-track>i{background:linear-gradient(90deg, var(--purple-400), var(--purple-600));border-radius:99px;height:100%;display:block}.fab-tab{color:var(--brand-text)!important}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;border-radius:99px;padding:6px 14px;font-size:13px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:var(--ink-contrast);border-color:var(--ink)}@media print{body{color:#000;background:#fff}.sidebar,.topbar,.tabbar,.sim-banner,.no-print,.toasts{display:none!important}.shell{display:block}.card{box-shadow:none;border:none}}.card-brand .stat-label,.card-brand .stat-sub{color:#ffffffb8}.card-brand .stat-value .faint{color:#fff9}.timeline li.audit{color:var(--text-2)}.timeline li.audit b{font-weight:550}@media (width<=560px){.sim-banner{padding:5px 12px;font-size:10.5px;line-height:1.3}.topbar strong{white-space:nowrap;text-overflow:ellipsis;max-width:42vw;overflow:hidden}}.enroll-head{gap:14px;display:grid}.enroll-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.enroll-steps li{color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:99px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.enroll-steps li[data-state=done]{color:var(--brand-text);background:var(--brand-soft);border-color:#0000}.enroll-steps li[data-state=current]{color:var(--brand-contrast);background:var(--brand);border-color:var(--brand);font-weight:600}.enroll-steps li[data-state=skipped]{opacity:.55}.enroll-steps li i{font-size:12px;font-style:normal}.sim-note{align-items:flex-start;gap:10px;font-size:13px;display:flex}.capture{justify-items:center;gap:14px;display:grid}.capture-stage{aspect-ratio:3/4;border-radius:var(--radius-lg);color:#cfcfe0;isolation:isolate;background:#08080c;width:min(100%,420px);max-height:68dvh;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 18px 60px -24px #7c3aed8c}.capture-stage video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.capture-stage .capture-off{text-align:center;place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.face-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.face-frame .mask{fill:#06060a9e}.face-frame .ring-base{fill:none;stroke:#ffffff47;stroke-width:2.5px}.face-frame .ring{fill:none;stroke:var(--purple-400,#a78bfa);stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 6px #a78bfae6);transition:stroke-dashoffset .35s,stroke .25s}.face-frame[data-state=warn] .ring{stroke:#fbbf24;filter:drop-shadow(0 0 6px #fbbf24cc)}.face-frame[data-state=ok] .ring{stroke:#c4b5fd}.face-frame[data-state=done] .ring{stroke:#34d399;filter:drop-shadow(0 0 8px #34d399cc)}.face-frame .arrow{fill:none;stroke:#fff;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;animation:1.1s ease-in-out infinite nudge}.face-frame[data-state=idle] .ring-base{animation:2s ease-in-out infinite pulse}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(var(--nx,0), var(--ny,0))}}.capture-prompt{text-align:center;justify-items:center;gap:4px;max-width:420px;min-height:3.2em;display:grid}.capture-prompt b{letter-spacing:-.01em;font-size:clamp(20px,5vw,26px);line-height:1.2}.capture-prompt span{color:var(--muted);font-size:14px}.capture-prompt[data-tone=warn] b{color:#b45309}:root[data-theme=dark] .capture-prompt[data-tone=warn] b{color:#fbbf24}.capture-progress{gap:8px;width:min(100%,420px);display:grid}.capture-dots{justify-content:center;gap:6px;display:flex}.capture-dots i{background:var(--border-strong);border-radius:99px;width:28px;height:6px;transition:background .3s}.capture-dots i[data-done=true]{background:var(--brand)}.capture-dots i[data-current=true]{background:var(--purple-300,#c4b5fd);animation:1.2s ease-in-out infinite pulse}.capture-tools{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.capture-options{width:min(100%,420px)}.capture-options summary{cursor:pointer;padding:6px 0;font-weight:600}.ready-card{text-align:center;place-items:center;padding-block:28px}.ready-card>.stack-sm,.ready-card>.row-wrap{width:100%}.ready-mark{background:radial-gradient(circle at 30% 25%, var(--purple-400,#a78bfa), var(--brand));color:#fff;border-radius:50%;place-items:center;width:84px;height:84px;font-size:40px;animation:.5s cubic-bezier(.2,1.2,.3,1) pop;display:grid;box-shadow:0 12px 40px -10px #7c3aedb3}.demo-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (width<=560px){.capture-stage{border-radius:var(--radius);max-height:62dvh}.enroll-steps li{padding:5px 10px}}@media (prefers-reduced-motion:reduce){.face-frame .arrow,.face-frame[data-state=idle] .ring-base,.capture-dots i[data-current=true],.ready-mark{animation:none}.face-frame .ring{transition:none}}
