:root{--brand:#c1000e;--brand-dark:#9a000b;--brand-darker:#7a0009;--brand-tint:#fdedee;--brand-tint-2:#f8d7d9;--ink:#1f2937;--ink-2:#4b5563;--ink-3:#8a94a3;--ground:#f9f9f9;--surface:#fff;--surface-2:#f6f8fa;--line:#e9e9e9;--line-strong:#d6dae0;--mint:#d6f5e3;--peach:#ffcead;--sky:#d3e9ff;--slate-blue:#556c8e;--good:#11785a;--good-soft:var(--mint);--warn:#8a5a00;--warn-soft:#fff0e4;--body:"Inter","Segoe UI",Arial,sans-serif;--display:var(--body);--mono:"IBM Plex Mono","Consolas",monospace;--radius:4px;--radius-btn:3px;--shadow:0 1px 2px #1f29370d, 0 6px 18px #1f29370d;--shadow-lift:0 2px 4px #1f29370f, 0 12px 32px #1f293717}*{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable}@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.55}h1,h2,h3{font-family:var(--display);letter-spacing:-.021em;margin:0;font-weight:700}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand-tint-2);color:var(--brand-darker)}.app{flex-direction:column;min-height:100%;display:flex}.utility{background:var(--brand);color:#fff;letter-spacing:.02em;align-items:center;gap:16px;min-height:28px;padding:6px 22px;font-size:11.5px;display:flex}.utility .u-sep{opacity:.5}.utility .u-right{font-family:var(--mono);opacity:.92;margin-left:auto;font-size:11px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;flex-wrap:wrap;align-items:center;gap:20px;min-height:62px;padding:0 22px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:10px;display:flex}.brand .mark{font-family:var(--display);letter-spacing:-.035em;color:var(--ink);font-size:20px;font-weight:800}.brand .mark em{color:var(--brand);font-style:normal}.brand .sub{font-family:var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3);font-size:9.5px}.nav{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.nav a{color:var(--ink-2);white-space:nowrap;padding:19px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .12s;position:relative}.nav a:after{content:"";background:var(--brand);height:2px;transition:transform .15s;position:absolute;bottom:0;left:12px;right:12px;transform:scaleX(0)}.nav a:hover{color:var(--ink)}.nav a.on{color:var(--brand);font-weight:600}.nav a.on:after{transform:scaleX(1)}.who{text-align:right;border-left:1px solid var(--line);padding-left:14px;line-height:1.25}.who b{font-size:13.5px;font-weight:600;display:block}.who span{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);font-size:9.5px}.signout{border:1px solid var(--line-strong);color:var(--ink-2);border-radius:var(--radius-btn);cursor:pointer;background:0 0;min-height:44px;padding:8px 14px;font-size:13px;transition:border-color .12s,color .12s}.signout:hover{border-color:var(--brand);color:var(--brand)}main{flex:1;padding:30px 22px 72px}.page{max-width:1140px;margin:0 auto}.page-narrow{max-width:800px;margin:0 auto}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin:0 0 9px;font-size:10px;font-weight:500}h1.title{letter-spacing:-.03em;margin-bottom:6px;font-size:31px;line-height:1.15}.sub{color:var(--ink-2);max-width:68ch;margin:0 0 24px;font-size:15px}h2.sec{margin:30px 0 13px;font-size:19px}.label-head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:26px 0 11px;font-size:10px;font-weight:500}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card+.card{margin-top:16px}.card h3{margin-bottom:12px;font-size:16.5px}.steps{--notch:16px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);scrollbar-width:thin;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow);flex-wrap:nowrap;margin:0 0 22px;display:flex;overflow:auto hidden}.step{min-width:0;color:var(--ink-3);white-space:nowrap;background:var(--surface);margin-left:calc(1px - var(--notch));clip-path:polygon(0 0, calc(100% - var(--notch)) 0, 100% 50%, calc(100% - var(--notch)) 100%, 0 100%, var(--notch) 50%);flex:1 0 auto;justify-content:center;align-items:center;gap:8px;padding:12px 16px 12px 30px;font-size:12.5px;font-weight:500;display:flex}.step:first-child{clip-path:polygon(0 0, calc(100% - var(--notch)) 0, 100% 50%, calc(100% - var(--notch)) 100%, 0 100%);margin-left:0;padding-left:18px}.step:last-child{clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--notch) 50%);padding-right:18px}.step:first-child:last-child{clip-path:none}.step b{background:var(--surface-2);width:20px;height:20px;color:var(--ink-3);font-family:var(--mono);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.step.done{color:var(--good);background:var(--mint)}.step.done b{background:var(--good);color:#fff}.step.now{color:#fff;background:var(--brand);font-weight:600}.step.now b{color:#fff;background:#ffffff4d}.step-body{min-height:340px}.field{flex-direction:column;gap:6px;margin-bottom:17px;display:flex}.field label{color:var(--ink-2);font-size:13px;font-weight:600}.field label .req{color:var(--brand);margin-left:3px}.field .hint,.hint{color:var(--ink-3);font-size:12.5px}input[type=text],input[type=tel],input[type=password],input[type=number],input[type=date],select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-btn);background:var(--surface);width:100%;padding:11px 13px;font-size:15px;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.grid2{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 20px;display:grid}.big-input{font-family:var(--mono);letter-spacing:.09em;text-align:center;padding:19px 14px;font-size:27px;font-weight:500}.check{cursor:pointer;align-items:flex-start;gap:11px;padding:10px 0;font-size:14.5px;display:flex}.check input{width:19px;height:19px;accent-color:var(--brand);flex:none;margin-top:2px}.toggle{gap:8px;display:flex}.toggle button{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-btn);cursor:pointer;flex:1;padding:11px;font-size:14.5px;transition:border-color .12s}.toggle button:hover{border-color:var(--ink-3)}.toggle button.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.btn{border-radius:var(--radius-btn);cursor:pointer;background:var(--brand);color:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:background .12s,box-shadow .12s,transform 60ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 3px 10px #c1000e38}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong);font-weight:500}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3);box-shadow:none}.btn.good{background:var(--good)}.btn.good:hover:not(:disabled){background:#0c5e47;box-shadow:0 3px 10px #11785a38}.btn.danger{color:#fff;background:#b3261e;border-color:#b3261e}.btn.danger:hover:not(:disabled){background:#8c1d18}.btn.ghost.danger{background:var(--surface);color:#b3261e;border-color:#e6b4b0;font-weight:600}.btn.ghost.danger:hover:not(:disabled){background:#fdf2f1;border-color:#b3261e}.btn.lg{padding:15px 30px;font-size:16px}.btn.sm{padding:8px 15px;font-size:13.5px}.btn.block{width:100%}.row{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.row.end{justify-content:flex-end}.spacer{flex:1}.alert,.info,.success{border-radius:var(--radius);border-left:3px solid;margin-bottom:16px;padding:13px 16px;font-size:14px}.alert{border-color:var(--brand);background:var(--brand-tint);color:#5e0006}.info{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink-2);font-size:13.5px}.success{border-color:var(--good);background:var(--mint);color:#0b4d3a}.camera{border-radius:var(--radius);aspect-ratio:4/3;background:#151b24;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.camera video,.camera img{object-fit:cover;width:100%;height:100%;display:block}.camera .guide{pointer-events:none;border:2px dashed #ffffff73;border-radius:50%;position:absolute;inset:11% 25%}.camera .placeholder{color:#93a0ad;text-align:center;padding:26px;font-size:13.5px}.camera-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.compare{grid-template-columns:1fr 1fr;gap:14px;display:grid}.compare figure{margin:0}.compare figcaption{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;font-size:9.5px}.photo-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:4/3;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-box img{object-fit:cover;width:100%;height:100%}.photo-box .none{color:var(--ink-3);text-align:center;padding:12px;font-size:12.5px}.kv{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:1px;display:grid;overflow:hidden}.kv>div{background:var(--surface);padding:12px 15px}.kv dt{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:9px}.kv dd{margin:0;font-size:14.5px;font-weight:500}.stats{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.stat .n{font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:34px;font-weight:800;line-height:1.05}.stat .l{color:var(--ink-3);margin-top:4px;font-size:12.5px}.stat.hero{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 20px #c1000e2e}.stat.hero .l{color:#ffffffd9}.stats .stat:nth-child(3n+2){background:var(--mint);border-color:#bfe9d2}.stats .stat:nth-child(3n+3){background:var(--sky);border-color:#bcddfa}.stats .stat:nth-child(3n+4){background:var(--peach);border-color:#f8be99}.stats .stat:nth-child(n+2) .l{color:var(--ink-2)}.hits{flex-direction:column;gap:10px;min-height:232px;margin-top:6px;display:flex}.hits-wrap{min-height:232px}.hit{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;width:100%;padding:13px 15px;transition:border-color .12s,box-shadow .12s;display:flex}.hit:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.hit .who-n{font-size:15.5px;font-weight:600}.hit .meta{color:var(--ink-2);font-size:13px}.hit .meta .mono{color:var(--ink-3)}.hit .photo-box{aspect-ratio:auto;border-radius:var(--radius);flex:none;width:58px;height:58px}.hit .go{color:var(--brand);white-space:nowrap;margin-left:auto;font-size:14px;font-weight:600}.tablewrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}thead th{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);font-size:9.5px;font-weight:500}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--brand-tint)}td.mono,.mono{font-family:var(--mono);font-size:12.5px}.thumb{border-radius:var(--radius);object-fit:cover;background:var(--surface-2);width:40px;height:40px;display:block}.thumb-none{border-radius:var(--radius);background:var(--surface-2);width:40px;height:40px;color:var(--ink-3);justify-content:center;align-items:center;font-size:9px;display:flex}.pill{font-size:11.5px;font-weight:600;font-family:var(--mono);border-radius:99px;padding:3px 10px;display:inline-block}.pill.inside{background:var(--mint);color:var(--good)}.pill.out{background:var(--surface-2);color:var(--ink-3)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.brand{background:var(--brand-tint);color:var(--brand)}.empty{text-align:center;color:var(--ink-3);padding:46px 20px;font-size:14.5px}.login-wrap{background:radial-gradient(1100px 620px at 78% 8%, #ffffff24, transparent 60%), linear-gradient(155deg, var(--brand-darker) 0%, var(--brand) 58%, #d8241f 100%);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.login{background:var(--surface);border-radius:8px;width:100%;max-width:440px;padding:38px;box-shadow:0 24px 60px #00000042}.login .brand{margin-bottom:24px}.login h1{letter-spacing:-.028em;margin-bottom:6px;font-size:25px}.login .sub{margin-bottom:26px;font-size:14.5px}.creds{border-top:1px solid var(--line);font-family:var(--mono);color:var(--ink-3);margin-top:22px;padding-top:16px;font-size:11.5px;line-height:1.85}.creds b{color:var(--ink-2)}.pass{border:1px solid var(--line);background:var(--surface);max-width:450px;box-shadow:var(--shadow-lift);border-radius:6px;overflow:hidden}.pass .head{background:var(--brand);color:#fff;padding:15px 20px}.pass .head .t{font-family:var(--display);letter-spacing:-.02em;font-size:16.5px;font-weight:700}.pass .head .s{font-family:var(--mono);letter-spacing:.13em;opacity:.85;font-size:9.5px}.pass .body{gap:17px;padding:20px;display:flex}.pass .body .photo-box{flex:none;width:118px}.pass .code{font-family:var(--mono);color:var(--brand);letter-spacing:.03em;font-size:20px;font-weight:500}.pass dl{margin:12px 0 0;font-size:13px}.pass dl div{gap:10px;padding:2px 0;display:flex}.pass dt{color:var(--ink-3);min-width:92px}.pass dd{margin:0;font-weight:500}@media print{.utility,.topbar,.steps,.row,.eyebrow,h1.title,.sub,.success{display:none!important}.pass{box-shadow:none;border:1px solid #000}}.setting{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:16px 0;display:flex}.setting:last-child{border-bottom:none}.setting .txt{flex:1;min-width:0}.setting .txt b{margin-bottom:3px;font-size:14.5px;display:block}.setting .txt span{color:var(--ink-2);font-size:13px;display:block}.setting .locked{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;padding-top:4px;font-size:11px}.switch{border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer;border-radius:99px;flex:none;width:52px;height:28px;transition:background .15s,border-color .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--good);border-color:var(--good)}.switch.on:after{transform:translate(24px)}.switch:disabled{opacity:.4;cursor:not-allowed}@media (width<=1000px){.topbar{grid-template-columns:1fr auto auto;grid-template-areas:"brand who out""nav nav nav";align-items:center;gap:10px;min-height:0;padding:0 16px;display:grid}.brand{grid-area:brand;padding:12px 0 0}.who{grid-area:who;padding:12px 0 0 12px}.signout{grid-area:out;margin-top:12px}.nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-area:nav;margin-left:0;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{padding:13px 11px}main{padding:22px 16px 60px}.btn{padding:14px 24px}.btn.sm{padding:10px 16px}input[type=text],input[type=tel],input[type=password],input[type=number],input[type=date],select,textarea{padding:13px;font-size:16px}.check input{width:22px;height:22px}.step .step-label{display:none}.step.now .step-label{display:inline}.step{gap:6px;padding:12px 10px 12px 24px}.step.now{padding-right:16px}.btn.sm{min-height:44px}}@media (width<=640px){main{padding:18px 14px 56px}.utility{padding:6px 14px;font-size:11px}.utility .u-hide{display:none}.steps{font-size:11.5px}.step{padding:9px 11px}.topbar{gap:12px;padding:10px 14px}.nav a{padding:10px}.compare{grid-template-columns:1fr}.pass .body{flex-direction:column}.pass .body .photo-box{width:100%}h1.title{font-size:24px}}
