main.scanner{--verdict-admit:#22c55e;--verdict-admit-fg:#052e16;--verdict-warn:#f5a524;--verdict-warn-fg:#2a1700;--verdict-deny:#f05252;--verdict-deny-fg:#1f0505;--verdict-error:#5f646b;--verdict-error-fg:#fff;--scanner-pad:var(--space-4);--viewfinder-bg:#111316;background:var(--bg);width:100%;max-width:none;height:100dvh;min-height:0;color:var(--fg);flex-direction:column;gap:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}main.scanner.scanner-center{justify-content:center;align-items:center;gap:var(--space-4);padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom))}main.scanner .login-card{border-radius:12px;width:100%;max-width:360px}main.scanner .login-card h1{font-size:var(--text-lg);letter-spacing:-.01em}main.scanner .scanner-bar{align-items:center;gap:6px var(--space-2);padding:calc(var(--space-3) + env(safe-area-inset-top)) calc(var(--scanner-pad) + env(safe-area-inset-right)) var(--space-3) calc(var(--scanner-pad) + env(safe-area-inset-left));border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title""meta tools";display:grid}main.scanner .scanner-event{min-width:0;font-size:var(--text-md);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;grid-area:title;margin:0;font-weight:650;line-height:1.3;overflow:hidden}main.scanner .scanner-tools{flex-shrink:0;grid-area:tools;justify-self:end;gap:0;margin:-10px -12px -10px 0;display:flex}main.scanner .scanner-tools .icon-btn{color:var(--fg);border-radius:10px;transition:color .12s,background-color .12s}main.scanner .scanner-tools .icon-btn[aria-pressed=false]{color:var(--muted)}main.scanner .scanner-tools .icon-btn:hover{background:var(--surface-2)}main.scanner .scanner-meta{font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;grid-area:meta;align-items:center;gap:6px 10px;min-width:0;display:flex}main.scanner .scanner-device,main.scanner .scanner-clock{min-width:0;color:var(--muted);align-items:center;gap:6px;display:inline-flex}main.scanner .scanner-device>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}main.scanner .scanner-clock{font-variant-numeric:tabular-nums}main.scanner .scanner-device svg,main.scanner .scanner-gate svg,main.scanner .scanner-clock svg{flex-shrink:0}main.scanner .scanner-gate{padding:1px var(--space-2);border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:999px;align-items:center;gap:5px;font-weight:500;line-height:1.5;display:inline-flex}main.scanner .scanner-net{align-items:center;gap:6px;display:inline-flex}main.scanner .scanner-net-dot{background:var(--ok);border-radius:50%;width:7px;height:7px;transition:background-color .12s}main.scanner .scanner-net.is-slow{color:var(--fg);font-weight:600}main.scanner .scanner-net.is-slow .scanner-net-dot{background:var(--warn)}main.scanner .scanner-net.is-offline{color:var(--fg);font-weight:600}main.scanner .scanner-net.is-offline .scanner-net-dot{background:var(--bad)}main.scanner .scanner-offline{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) calc(var(--scanner-pad) + env(safe-area-inset-right)) var(--space-3) calc(var(--scanner-pad) + env(safe-area-inset-left));background:var(--bad-bg);color:var(--bad);border-bottom:1px solid color-mix(in srgb, var(--bad) 35%, transparent);font-size:var(--text-sm);flex-shrink:0;margin:0;font-weight:600;line-height:1.4;display:flex}main.scanner .scanner-offline svg{flex-shrink:0;margin-top:1px}main.scanner .scanner-body{overscroll-behavior:contain;gap:var(--space-4);min-height:0;padding:var(--scanner-pad) calc(var(--scanner-pad) + env(safe-area-inset-right)) calc(var(--scanner-pad) + env(safe-area-inset-bottom)) calc(var(--scanner-pad) + env(safe-area-inset-left));flex-direction:column;flex:1;display:flex;overflow-y:auto}main.scanner .scanner-scan,main.scanner .scanner-side{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}main.scanner .viewfinder{aspect-ratio:1;background:var(--viewfinder-bg);border:1px solid var(--border);border-radius:14px;flex-shrink:0;width:100%;position:relative;overflow:hidden}main.scanner .viewfinder video{object-fit:cover;width:100%;height:100%;display:block}main.scanner .viewfinder-off{height:100%;padding:var(--space-5);text-align:center;color:#8b8f98;font-size:var(--text-sm);place-items:center;display:grid}main.scanner .reticle{pointer-events:none;border:0;border-radius:0;position:absolute;inset:19%}main.scanner .reticle-corner{border:2px solid #ffffffeb;width:44px;height:44px;position:absolute}main.scanner .reticle-tl{border-bottom:0;border-right:0;border-top-left-radius:12px;top:0;left:0}main.scanner .reticle-tr{border-bottom:0;border-left:0;border-top-right-radius:12px;top:0;right:0}main.scanner .reticle-bl{border-top:0;border-right:0;border-bottom-left-radius:12px;bottom:0;left:0}main.scanner .reticle-br{border-top:0;border-left:0;border-bottom-right-radius:12px;bottom:0;right:0}main.scanner .viewfinder-caption{left:0;right:0;bottom:var(--space-4);padding:0 var(--space-4);text-align:center;font-size:var(--text-sm);color:#ffffffb8;text-shadow:0 1px 2px #0009;pointer-events:none;margin:0;position:absolute}main.scanner .viewfinder-pending{place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-5);text-align:center;color:#fff;font-size:var(--text-md);background:#111316c7;font-weight:600;display:grid;position:absolute;inset:0}main.scanner .viewfinder-pending svg{animation:.9s linear infinite scanner-spin}@keyframes scanner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){main.scanner .viewfinder-pending svg{animation:none}}main.scanner .viewfinder-start{place-content:center;justify-items:center;gap:var(--space-2);width:100%;height:100%;padding:var(--space-5);border-radius:inherit;color:#fff;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;display:grid}main.scanner .viewfinder-start:focus-visible{outline-offset:-6px;outline:3px solid #fff}main.scanner .viewfinder-start-title{font-size:var(--text-lg);font-weight:650}main.scanner .viewfinder-start-hint{font-size:var(--text-sm);color:#ffffffc7;max-width:28ch}main.scanner .viewfinder-paused{place-content:center;justify-items:center;gap:var(--space-2);color:#fff;font-size:var(--text-md);background:#111316d1;font-weight:600;display:grid;position:absolute;inset:0}main.scanner .camera-error{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}main.scanner .camera-retry{min-height:var(--touch);padding:0 var(--space-4);border-radius:10px;font-weight:600}main.scanner .camera-select{align-items:center;gap:var(--space-3);color:var(--muted);grid-template-columns:auto minmax(0,1fr);display:grid}main.scanner .camera-select select{min-height:var(--touch);border-radius:10px}main.scanner .manual-form{flex-direction:column;gap:6px;display:flex}main.scanner .manual-row{gap:var(--space-2);align-items:stretch;display:flex}main.scanner .manual-help{font-size:var(--text-xs);color:var(--muted);margin:0;line-height:1.4}main.scanner .manual-form input{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:48px;padding:0 14px;font-size:1rem;transition:border-color .12s}main.scanner .manual-form input::placeholder{color:var(--muted)}main.scanner .manual-form input:focus-visible{border-color:var(--accent)}main.scanner .manual-form .btn{border-radius:10px;min-height:48px;padding:0 22px;font-weight:600;transition:background-color .12s,opacity .12s}main.scanner .manual-form .btn.is-slow{white-space:normal;max-width:9.5rem;line-height:1.2;font-size:var(--text-sm);padding:4px 14px}main.scanner .recent{margin:0 calc(-1 * var(--scanner-pad));padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}main.scanner .recent-title{margin:0 0 var(--space-1);padding:0 var(--scanner-pad);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}main.scanner .history{margin:0;padding:0;list-style:none;display:block}main.scanner .history-item{align-items:center;gap:0 var(--space-3);padding:10px var(--scanner-pad);border:0;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}main.scanner .history-item:last-child{border-bottom:0}main.scanner .history-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}main.scanner .history-admit .history-dot{background:var(--ok)}main.scanner .history-warn .history-dot{background:var(--warn)}main.scanner .history-deny .history-dot{background:var(--bad)}main.scanner .history-main{min-width:0}main.scanner .history-name,main.scanner .history-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}main.scanner .history-name{font-weight:600}main.scanner .history-detail{font-size:var(--text-xs);color:var(--muted)}main.scanner .history-verdict,main.scanner .history-time{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}main.scanner .history-empty{padding:10px var(--scanner-pad);font-size:var(--text-sm);color:var(--muted)}main.scanner .scanner-footer{padding-top:var(--space-2);font-size:var(--text-xs);color:var(--muted);text-align:center}main.scanner .result{z-index:5;border-radius:inherit;justify-content:center;align-items:center;gap:var(--space-3);width:100%;height:100%;padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));font:inherit;text-align:center;cursor:pointer;background:var(--result-bg);color:var(--result-fg);border:0;flex-direction:column;margin:0;display:flex;position:absolute;inset:0;overflow-y:auto}main.scanner .result:focus-visible{outline-offset:-10px;outline:3px solid}main.scanner .result-admit{--result-bg:var(--verdict-admit);--result-fg:var(--verdict-admit-fg)}main.scanner .result-warn{--result-bg:var(--verdict-warn);--result-fg:var(--verdict-warn-fg)}main.scanner .result-deny{--result-bg:var(--verdict-deny);--result-fg:var(--verdict-deny-fg)}main.scanner .result-error{--result-bg:var(--verdict-error);--result-fg:var(--verdict-error-fg)}main.scanner .result-ring{width:128px;height:128px;margin-bottom:var(--space-2);border:3px solid;border-radius:50%;place-items:center;display:grid}main.scanner .result .result-icon{color:currentColor;background:0 0;border-radius:0;width:64px;height:64px;padding:0}main.scanner .result-title{letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:2.5rem;font-weight:800;line-height:1.05}main.scanner .result-desc{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}main.scanner .result-desc p{margin:0}main.scanner .result-name{overflow-wrap:anywhere;font-size:1.375rem;font-weight:600;line-height:1.25}main.scanner .result-reason{font-size:1.0625rem;font-weight:650}main.scanner .result-detail{max-width:30ch;font-size:1.0625rem;font-weight:450;line-height:1.4}main.scanner .result-note{padding:2px var(--space-3);font-size:var(--text-sm);border:1.5px solid;border-radius:999px;font-weight:600}main.scanner .result-actions{align-items:stretch;gap:var(--space-3);width:min(100%,300px);margin-top:var(--space-5);flex-direction:column;display:flex}main.scanner .result-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-5);color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:12px;font-size:1rem;font-weight:600;display:inline-flex}main.scanner .result-btn.result-retry{background:var(--result-fg);color:var(--result-bg);border-color:var(--result-fg)}main.scanner .result-btn:disabled{opacity:.6;cursor:default}main.scanner .result-btn:focus-visible{outline-offset:3px;outline:3px solid}main.scanner .result-btn.result-retry:focus-visible{outline-color:var(--result-fg)}@media (width<=380px){main.scanner{--scanner-pad:var(--space-3)}main.scanner .result-title{font-size:2.125rem}main.scanner .result-ring{width:112px;height:112px}main.scanner .result .result-icon{width:56px;height:56px}main.scanner .result-actions{margin-top:var(--space-4)}}@media (orientation:landscape) and (height<=500px){main.scanner .scanner-bar{padding-top:calc(var(--space-2) + env(safe-area-inset-top));padding-bottom:var(--space-2);grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;grid-template-areas:"title meta tools"}main.scanner .scanner-body{align-items:start;column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}main.scanner .scanner-scan{position:sticky;top:0}main.scanner .viewfinder{aspect-ratio:auto;height:calc(100dvh - 120px);min-height:180px}main.scanner .result{align-content:center;column-gap:var(--space-5);padding:var(--space-4) var(--space-5);flex-flow:wrap}main.scanner .result-ring{width:88px;height:88px;margin:0}main.scanner .result .result-icon{width:44px;height:44px}main.scanner .result-title{font-size:2rem}main.scanner .result-actions{flex-direction:row;flex-basis:100%;justify-content:center;width:auto;margin-top:0}}@media (width>=600px) and (height>=501px){main.scanner{width:390px;height:min(844px, calc(100dvh - 2 * var(--space-5)));margin:max(var(--space-5), calc((100dvh - 844px) / 2)) auto var(--space-5);border:1px solid var(--border);border-radius:28px}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--radius-xs:6px;--radius-sm:8px;--radius:12px;--control-h:36px;--touch:44px;--topbar-h:52px;--card-pad:20px;--ease:.12s ease;--bg:#f7f7f8;--surface:#fff;--surface-2:#f1f1f3;--surface-hover:#f2f2f4;--surface-selected:#e9e9ec;--input-bg:#fff;--track:#e9e9ec;--fg:#111214;--fg-2:#3c4048;--muted:#5d6169;--border:#e4e4e7;--border-strong:#d4d4d8;--accent:#3b4fd8;--accent-hover:#3242c2;--accent-fg:#fff;--accent-text:#3b4fd8;--accent-bg:#eef0fd;--focus:#3b4fd8;--ring:#3b4fd838;--ok:#1a7f37;--ok-bg:#e8f5ec;--warn:#8a5a00;--warn-bg:#fcf3dc;--bad:#c62828;--bad-bg:#fdeceb;--bad-solid:#c62828;--info:#3b4fd8;--info-bg:#eef0fd;--chart-admitted:#3b4fd8;--chart-denied:#d03535;--shadow-pop:0 12px 32px #0f111524, 0 2px 6px #0f11150f;--verdict-admit:#0d7a48;--verdict-warn:#a35f00;--verdict-deny:#b42318;--verdict-error:#3a4250;--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b0c0e;--surface:#111316;--surface-2:#16181c;--surface-hover:#15171a;--surface-selected:#1b1d22;--input-bg:#0d0e11;--track:#24272c;--fg:#ededef;--fg-2:#b4b7be;--muted:#8b8f98;--border:#24272c;--border-strong:#30343a;--accent:#5b6cff;--accent-hover:#6b7aff;--accent-fg:#0b0c0e;--accent-text:#8b97ff;--accent-bg:#181b33;--focus:#8b97ff;--ring:#5b6cff59;--ok:#3fb950;--ok-bg:#0f2316;--warn:#e3a008;--warn-bg:#261d08;--bad:#f05252;--bad-bg:#2a1314;--bad-solid:#cc3636;--info:#8b97ff;--info-bg:#181b33;--chart-admitted:#5b6cff;--chart-denied:#f05252;--shadow-pop:0 16px 40px #00000080, 0 0 0 1px #ffffff05}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:400 var(--text-base)/1.5 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3{letter-spacing:-.011em;margin:0;font-weight:600;line-height:1.25}h1{font-size:var(--text-xl);letter-spacing:-.018em}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}code{font-family:var(--mono);font-size:.85em}a{color:var(--accent-text);text-underline-offset:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}svg{flex-shrink:0}.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}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.num{font-variant-numeric:tabular-nums}.strong{font-weight:500}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.warning-text{color:var(--warn)}.with-icon{align-items:center;gap:var(--space-2);display:inline-flex}.label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.stack-lg{gap:var(--space-5);flex-direction:column;display:flex}.actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.error{color:var(--bad);background:var(--bad-bg);border:1px solid color-mix(in srgb, var(--bad) 25%, transparent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.notice{color:var(--fg-2);background:var(--surface);border:1px solid var(--border);padding:var(--space-4);border-radius:var(--radius);font-size:var(--text-sm)}.empty-state{justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;display:grid}.empty-state>div{justify-items:center;gap:var(--space-3);max-width:46ch;display:grid}.empty-title{font-weight:500}.toasts{right:var(--space-4);bottom:var(--space-4);z-index:20;gap:var(--space-2);max-width:min(380px, calc(100vw - 2 * var(--space-4)));display:grid;position:fixed}.toast{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--surface-2);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);font-size:var(--text-sm);box-shadow:var(--shadow-pop);display:flex}.toast-bad{background:var(--bad-bg);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.toast .icon-btn{color:inherit;width:32px;min-width:32px;height:32px}.demo-banner{align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-1) var(--space-3) var(--space-1) 22px;background:var(--warn-bg);color:var(--fg);border-bottom:1px solid color-mix(in srgb, var(--warn) 30%, transparent);font-size:var(--text-sm);display:flex}.demo-banner p{flex:1;min-width:0}.demo-banner-icon{color:var(--warn)}.demo-banner .icon-btn{color:inherit;width:32px;min-width:32px;height:32px}.demo-banner .icon-btn:hover{background:color-mix(in srgb, var(--warn) 14%, transparent)}label{font-size:var(--text-sm);color:var(--fg);gap:6px;min-width:0;font-weight:500;display:grid}.field-hint{font-size:var(--text-xs);color:var(--muted);font-weight:400}.field-error{font-size:var(--text-xs);color:var(--bad);font-weight:500}input,select,textarea{font:inherit;font-size:var(--text-base);color:var(--fg);background:var(--input-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:var(--control-h);transition:border-color var(--ease), box-shadow var(--ease);padding:7px 11px;font-weight:400}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb, var(--bad) 22%, transparent)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb, var(--border-strong) 60%, var(--muted))}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}input[readonly]{background:var(--surface-2)}input[type=color]{height:var(--control-h);cursor:pointer;padding:3px}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent);box-shadow:none;margin:0}input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}textarea{resize:vertical;line-height:1.5}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font-size:var(--text-sm);margin-bottom:var(--space-2);padding:0;font-weight:500}.checks{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.checks legend,.checks .field-hint{flex-basis:100%}.check{align-items:center;gap:var(--space-2);cursor:pointer;min-height:32px;font-weight:400;display:flex}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;align-content:start;display:grid}.form-grid .span-2,.form-grid .error{grid-column:1/-1}.inline-form{gap:var(--space-2);align-items:end;display:flex}.device-form{gap:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.device-form select{min-width:180px}.btn{font:inherit;font-size:var(--text-base);border-radius:var(--radius-sm);min-height:var(--control-h);cursor:pointer;white-space:nowrap;transition:background-color var(--ease), border-color var(--ease), color var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--border-strong)}.btn-ghost{color:var(--fg-2);background:0 0}.btn-ghost:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--surface-hover);color:var(--fg)}.btn-danger{background:var(--bad-solid);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--bad-solid) 88%, #000)}.btn.danger,.btn.danger:hover:not(:disabled){color:var(--bad)}.btn-small{min-height:30px;font-size:var(--text-sm);padding:0 10px}.btn-icon{width:32px;min-width:32px;min-height:32px;color:var(--muted);padding:0}.btn-block{width:100%}.icon-btn{width:var(--touch);height:var(--touch);min-width:var(--touch);border-radius:var(--radius-sm);color:var(--fg);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.segmented{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;width:fit-content;padding:3px;display:inline-flex}.segmented-block{width:100%;display:flex}.segmented button{font:inherit;font-size:var(--text-sm);border-radius:var(--radius-xs);color:var(--muted);padding:0 var(--space-3);cursor:pointer;min-height:30px;transition:background-color var(--ease), color var(--ease);background:0 0;border:0;flex:1;font-weight:500}.segmented button:hover{color:var(--fg)}.segmented button.active{background:var(--surface-selected);color:var(--fg);box-shadow:inset 0 0 0 1px var(--border-strong)}.badge{height:22px;font-size:var(--text-xs);white-space:nowrap;vertical-align:middle;border:1px solid color-mix(in srgb, currentColor 26%, transparent);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:500;line-height:1;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-ok{color:var(--ok);background:var(--ok-bg)}.badge-warn{color:var(--warn);background:var(--warn-bg)}.badge-bad{color:var(--bad);background:var(--bad-bg)}.badge-info{color:var(--accent-text);background:var(--accent-bg)}.badge-muted{color:var(--muted);background:var(--surface-2)}.bar{background:var(--track);border-radius:999px;flex:1;min-width:48px;height:4px;display:block;overflow:hidden}.bar-fill{border-radius:inherit;height:100%;display:block}.bar-ok{background:var(--ok)}.bar-warn{background:var(--warn)}.bar-bad{background:var(--bad)}.bar-info{background:var(--accent)}.bar-muted{background:var(--muted)}.capacity-line{align-items:center;gap:var(--space-3);display:flex}.capacity-cell{min-width:180px}.capacity-cell .bar{max-width:140px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-pad);gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.section-head{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.section-head h2{font-size:.9375rem}.section-title{min-width:0}.section-title h2+p{max-width:72ch;margin-top:2px}.card>.section-head{margin:-4px calc(-1 * var(--card-pad)) 0;padding:0 var(--card-pad) 14px;border-bottom:1px solid var(--border)}.card-meta{font-size:var(--text-sm);color:var(--muted);align-items:center;gap:6px;display:inline-flex}.dialog{width:min(560px, calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-4));border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--space-5);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-pop)}.dialog::backdrop{background:#0506088c}.dialog h2{font-size:var(--text-md);margin-bottom:var(--space-3)}.dialog-body{color:var(--fg-2);margin-bottom:var(--space-5)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.table-wrap{overflow-x:auto}.card .table-wrap{background:linear-gradient(to right, var(--surface) 40%, transparent) left / 32px 100% no-repeat local, linear-gradient(to left, var(--surface) 40%, transparent) right / 32px 100% no-repeat local, linear-gradient(to right, color-mix(in srgb, var(--fg) 12%, transparent), transparent) left / 12px 100% no-repeat scroll, linear-gradient(to left, color-mix(in srgb, var(--fg) 12%, transparent), transparent) right / 12px 100% no-repeat scroll}table{border-collapse:collapse;width:100%;font-size:var(--text-base);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:11px var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;padding-top:9px;padding-bottom:9px;font-weight:500}th.num,td.num{text-align:right}tbody tr:last-child td{border-bottom:0}.table-message td{color:var(--muted);font-size:var(--text-sm);padding:var(--space-6) var(--space-3);text-align:center}table[aria-busy=true] tbody{opacity:.6}.row-actions{text-align:right;white-space:nowrap}.row-actions .btn+.btn{margin-left:2px}.card .table-wrap{margin-inline:calc(-1 * var(--card-pad))}.card .table-wrap :is(th,td):first-child{padding-left:var(--card-pad)}.card .table-wrap :is(th,td):last-child{padding-right:var(--card-pad)}.card>.table-wrap:last-child,.card>:last-child>.table-wrap:last-child{margin-bottom:calc(-1 * var(--card-pad) + 4px)}.card>.section-head+.table-wrap,.card>.section-head+.stack-sm>.table-wrap:first-child{margin-top:calc(-1 * var(--space-4))}.login{align-content:center;place-items:center;gap:var(--space-4);min-height:100vh;padding:var(--space-4);display:grid}.login .demo-banner{width:min(400px,100%);padding-left:var(--space-3);border:1px solid color-mix(in srgb, var(--warn) 30%, transparent);border-radius:var(--radius-sm)}.login-card{gap:18px;width:min(400px,100%);padding:28px}.login-head{gap:6px;display:grid}.login-head .brand{margin-bottom:var(--space-3)}.login-head h1{font-size:var(--text-lg)}.login-foot{text-align:center}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-5) 0 22px;background:var(--bg);border-bottom:1px solid var(--border);z-index:5;display:flex;position:sticky;top:0}.brand{letter-spacing:-.015em;color:var(--fg);font-size:.9375rem;font-weight:650}.topbar-actions{gap:var(--space-1);display:flex}.layout{flex:1;grid-template-columns:264px minmax(0,1fr);display:grid}.sidebar{gap:var(--space-2);padding:var(--space-4) var(--space-3);border-right:1px solid var(--border);top:var(--topbar-h);height:calc(100vh - var(--topbar-h));flex-direction:column;display:flex;position:sticky;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;padding:0 2px 0 10px;display:flex}.sidebar-note{padding:0 10px}.event-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.event-item{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--ease);background:0 0;border:0;gap:1px;padding:8px 10px;display:grid}.event-item:hover{background:var(--surface-hover)}.event-item.selected{background:var(--surface-selected)}.event-item-name{gap:var(--space-2);align-items:center;min-width:0;font-weight:500;display:flex}.event-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-item-meta{font-size:var(--text-xs);color:var(--muted);line-height:1.45}.event-select,.sidebar-new-text{display:none}.content{width:100%;min-width:0;max-width:1320px;padding:28px 36px 48px}.form-card{max-width:720px}.event-summary{gap:var(--space-5);display:grid}.event-head h1{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.event-meta{gap:var(--space-1) var(--space-5);color:var(--muted);flex-wrap:wrap;margin-top:6px;display:flex}.event-meta>span{align-items:center;gap:6px;display:inline-flex}.stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px var(--space-4);gap:4px;min-width:0;display:grid}.stat-label{font-size:var(--text-sm);color:var(--muted)}.stat-value{font-size:var(--text-xl);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.stats-lg{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stats-lg .stat{padding:18px var(--card-pad);gap:6px}.stats-lg .stat-value{font-size:var(--text-2xl);letter-spacing:-.02em}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;background:linear-gradient(to right, var(--bg) 40%, transparent) left / 32px 100% no-repeat local, linear-gradient(to left, var(--bg) 40%, transparent) right / 32px 100% no-repeat local, linear-gradient(to right, color-mix(in srgb, var(--fg) 12%, transparent), transparent) left / 12px 100% no-repeat scroll, linear-gradient(to left, color-mix(in srgb, var(--fg) 12%, transparent), transparent) right / 12px 100% no-repeat scroll;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font:inherit;font-size:var(--text-base);color:var(--muted);padding:0 var(--space-3);cursor:pointer;white-space:nowrap;min-height:40px;transition:color var(--ease), border-color var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.tab:hover{color:var(--fg)}.tab.active{color:var(--fg);border-bottom-color:var(--accent)}.tab:focus-visible{outline-offset:-2px;border-radius:var(--radius-xs) var(--radius-xs) 0 0}.panel:focus{outline:none}.toolbar{gap:var(--space-2);align-items:center;display:flex}.toolbar select{width:auto}.card>.toolbar{margin:0 calc(-1 * var(--card-pad));padding:0 var(--card-pad) var(--space-4);border-bottom:1px solid var(--border)}.card>.toolbar+.table-wrap{margin-top:calc(-1 * var(--space-4))}.search{display:block;position:relative}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search input{padding-left:34px}.setup-meter{width:96px;display:inline-flex}.setup-meter .bar{min-width:0}.setup-steps{margin:calc(-1 * var(--space-4)) calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad) + 4px);padding:0;list-style:none}.setup-step{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--card-pad);border-bottom:1px solid var(--border);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;display:grid}.setup-step:last-child{border-bottom:0}.setup-step-current{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.setup-marker{border:1px solid var(--border-strong);background:var(--surface);width:24px;height:24px;color:var(--muted);font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:600;display:grid}.setup-step-done .setup-marker{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.setup-step-current .setup-marker{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}.setup-step-skipped .setup-marker{background:var(--surface-2);border-style:dashed}.setup-step-title{align-items:center;gap:2px var(--space-2);font-size:var(--text-base);letter-spacing:0;flex-wrap:wrap;font-weight:500;display:flex}.setup-step-done .setup-step-title,.setup-step-skipped .setup-step-title{color:var(--fg-2)}.setup-optional{font-weight:400}.setup-step-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.setup-step-actions:empty{display:none}.setup-collapsed,.setup-ready{align-items:center;gap:var(--space-3) var(--space-4);flex-flow:wrap;padding-block:14px}.setup-summary{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;flex:280px;min-width:0;display:flex}.setup-summary h2,.setup-ready-text h2{font-size:.9375rem}.setup-ready{border-color:color-mix(in srgb, var(--ok) 35%, var(--border))}.setup-ready-icon{color:var(--ok)}.setup-ready-text{flex:280px;min-width:0}.passes-layout{gap:var(--space-5);grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;display:grid}.issued{border-color:color-mix(in srgb, var(--warn) 40%, var(--border))}.issued-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:0;padding:0;list-style:none;display:grid}.issued-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);gap:var(--space-2);justify-items:center;display:grid}.issued-card img,.qr-placeholder{aspect-ratio:1;border-radius:var(--radius-xs);background:#fff;width:100%}.qr-placeholder{background:var(--surface-2);padding:var(--space-3);text-align:center;color:var(--bad);place-items:center;display:grid}.issued-name{text-align:center;font-weight:500}.devices-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.setup-qr{place-items:center;display:grid}.setup-qr img,.setup-qr .qr-placeholder{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:184px;padding:10px}.setup-qr .qr-placeholder{background:var(--surface-2)}.setup-note{text-align:center}.gate-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:500;display:inline-flex}.chip-count{font-size:var(--text-xs);color:var(--muted);font-weight:400}.gate-form{flex:0 420px}.ops-grid{gap:var(--space-5);grid-template-columns:minmax(0,3fr) minmax(0,2fr);display:grid}.live-dot{background:var(--ok);border-radius:50%;width:6px;height:6px;display:inline-block}.alert-list{margin:calc(-1 * var(--space-4)) calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad) + 4px);padding:0;list-style:none}.alert-item{gap:var(--space-3);padding:14px var(--card-pad);border-bottom:1px solid var(--border);grid-template-columns:16px minmax(0,1fr) auto;align-items:start;display:grid}.alert-item:last-child{border-bottom:0}.alert-icon{color:var(--muted);margin-top:2px}.alert-warning .alert-icon{color:var(--warn)}.alert-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-weight:500;display:flex}.alert-message{color:var(--fg-2);margin-top:2px}.alert-time{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.capacity-list{margin:calc(-1 * var(--space-1)) 0 0;padding:0;list-style:none;display:grid}.capacity-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--border);gap:10px;display:grid}.capacity-list li:last-child{border-bottom:0;padding-bottom:0}.capacity-head{align-items:center;gap:10px;display:flex}.capacity-title{align-items:baseline;gap:2px var(--space-2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.capacity-name{font-weight:500}.capacity-list .bar{flex:none;width:100%}.legend{font-size:var(--text-sm);color:var(--muted);gap:14px;display:inline-flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-admitted{background:var(--chart-admitted)}.legend-denied{background:var(--chart-denied)}.chart-wrap{gap:var(--space-2);display:grid}.chart{border-bottom:1px solid var(--border);align-items:flex-end;height:168px;display:flex}.chart-col{flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex}.chart-bar{border-radius:4px 4px 0 0;flex-direction:column;gap:1px;width:72%;max-width:44px;min-height:2px;display:flex;overflow:hidden}.chart-bar>span{flex-shrink:1;flex-basis:0;min-height:1px}.chart-admitted{background:var(--chart-admitted)}.chart-denied{background:var(--chart-denied)}.chart-axis{justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted);display:flex}.outcomes{margin:auto calc(-1 * var(--card-pad)) 0;padding:var(--space-4) var(--card-pad) 0;border-top:1px solid var(--border);gap:10px;display:grid}.outcome-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.outcome-list li{align-items:center;gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:124px minmax(0,1fr) 4ch 5ch;display:grid}.outcome-share,.outcome-count{text-align:right}.design{gap:var(--space-5);grid-template-columns:240px 1fr;display:grid}.design-preview img,.design-preview .qr-placeholder{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%}.scan-check{margin-top:var(--space-3);font-weight:500;font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.scan-check:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.scan-check-ok{color:var(--ok)}.scan-check-fail{color:var(--bad)}.scan-check-checking{color:var(--muted)}.design fieldset.form-grid:disabled{opacity:.75}a.brand{text-decoration:none}.account{position:relative}.account-button{gap:var(--space-2);max-width:220px}.account-name{text-overflow:ellipsis;overflow:hidden}.account-initial{background:var(--accent-bg);width:22px;height:22px;color:var(--accent-text);font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:600;display:inline-grid}.account-panel{z-index:10;width:min(280px, calc(100vw - 2 * var(--space-3)));padding:var(--space-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);gap:2px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.account-who{padding:var(--space-2) var(--space-2) var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--border);overflow-wrap:anywhere;justify-items:start;gap:2px;display:grid}.account-item{justify-content:flex-start;width:100%}.topbar-actions{align-items:center}.topbar-actions a[aria-current=page]{background:var(--surface-selected);color:var(--fg)}.event-badges{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.event-status-note{margin-top:var(--space-2)}.lifecycle{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.lifecycle li{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);align-content:start;gap:2px;display:grid}.lifecycle li.lifecycle-current{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.pass-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:30px;display:flex}.pass-actions-end{margin-left:auto}.pager{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}th.check-cell,td.check-cell{width:1%;padding-right:0}.check-cell input{display:block}.import-summary{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dialog .import-table{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;overflow-y:auto}.dialog .import-table th{background:var(--surface);position:sticky;top:0}.exports{justify-content:flex-end}.chip-actions{gap:2px;margin-right:-6px;display:inline-flex}.chip-btn{width:28px;min-width:28px;min-height:28px}.health-list{margin:calc(-1 * var(--space-1)) 0 0;padding:0;list-style:none;display:grid}.health-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.health-list li:last-child{border-bottom:0;padding-bottom:0}.health-main{gap:2px;min-width:0;display:grid}.print-status{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.print-sheet{visibility:hidden;width:190mm;position:fixed;top:0;left:-300vw}.print-pass{text-align:center;color:#000;break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px dashed #999;justify-items:center;gap:2mm;padding:5mm;display:grid}.print-pass img{width:42mm;height:42mm}.print-missing{border:1px solid #999;place-items:center;width:42mm;height:42mm;font-size:9pt;display:grid}.print-name{font-size:13pt;font-weight:600}.print-event{font-size:10pt;font-weight:500}.print-when{font-size:9pt}.print-ref{letter-spacing:.04em;font-size:9pt}.print-ref span{font-family:var(--mono);font-size:11pt;font-weight:700}.scanner{max-width:560px;padding:var(--space-3);gap:var(--space-3);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.scanner .btn{min-height:var(--touch)}.scanner input{min-height:var(--touch);font-size:1rem}.scanner-center{justify-content:center;align-items:center}.scanner-bar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.scanner-id{min-width:0}.scanner-event{font-weight:700;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scanner-device{gap:var(--space-1) var(--space-3);color:var(--muted);flex-wrap:wrap;display:flex}.scanner-gate{align-items:center;gap:var(--space-1);color:var(--fg);font-weight:600;display:inline-flex}.scanner-tools{gap:var(--space-1);flex-shrink:0;display:flex}.scanner-tools .icon-btn[aria-pressed=false]{color:var(--muted)}.viewfinder{aspect-ratio:1;background:#000;border-radius:12px;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%;display:block}.viewfinder-off{color:#b5bcc6;height:100%;padding:var(--space-4);text-align:center;place-items:center;display:grid}.reticle{pointer-events:none;border:3px solid #ffffffd9;border-radius:12px;position:absolute;inset:18%}.result{width:100%;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5);text-align:center;color:#fff;border:0;flex-direction:column;display:flex;position:absolute;inset:0}.result-admit{background:var(--verdict-admit)}.result-warn{background:var(--verdict-warn)}.result-deny{background:var(--verdict-deny)}.result-error{background:var(--verdict-error)}.result-icon{background:#fff;border-radius:50%;width:96px;height:96px;padding:12px}.result-admit .result-icon{color:var(--verdict-admit)}.result-warn .result-icon{color:var(--verdict-warn)}.result-deny .result-icon{color:var(--verdict-deny)}.result-error .result-icon{color:var(--verdict-error)}.result-title{text-transform:uppercase;letter-spacing:.02em;font-size:2.4rem;font-weight:800;line-height:1.1}.result-reason{font-size:1.4rem;font-weight:700}.result-name{font-size:1.25rem;font-weight:600}.result-detail{font-size:1.1rem}.manual-form{gap:var(--space-2);align-items:stretch;display:flex}.small-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:var(--space-2)}.history{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.history-item{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface);border-left:4px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.history-admit{border-left-color:var(--verdict-admit)}.history-warn{border-left-color:var(--verdict-warn)}.history-deny{border-left-color:var(--verdict-deny)}.history-error{border-left-color:var(--verdict-error)}.history-admit .history-icon{color:var(--ok)}.history-warn .history-icon{color:var(--warn)}.history-deny .history-icon{color:var(--bad)}.history-error .history-icon{color:var(--muted)}.history-main{min-width:0}.history-outcome{font-weight:600}.history-name{font-weight:400}@media (width<=1180px){.ops-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1439px){.passes-layout,.devices-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1024px){.content{padding:var(--space-5)}}@media (width<=860px){.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.content{padding:var(--space-4)}.topbar{padding:0 var(--space-3)}.card{--card-pad:16px}.design{grid-template-columns:1fr}.design-preview{max-width:280px}.form-grid{grid-template-columns:1fr}.toolbar,.inline-form{flex-direction:column;align-items:stretch}.toolbar select{width:100%}.sidebar{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4);flex-flow:wrap}.sidebar-head{display:contents}.event-list{display:none}.event-select{flex:1 1 0;order:1;min-width:0;display:block}.sidebar-new{width:auto;min-height:var(--control-h);color:var(--fg);background:var(--surface);border-color:var(--border-strong);order:2;margin-left:auto;padding:0 12px}.sidebar-new-text{display:inline}.sidebar>.error,.sidebar-note{flex-basis:100%;order:3;padding:0}.event-summary{gap:var(--space-4)}.stats{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.stat{padding:10px var(--space-3);gap:2px}.stat-label{font-size:var(--text-xs)}.stat-value{font-size:var(--text-lg)}.stats-lg{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stats-lg .stat{padding:var(--space-3) var(--space-4);gap:2px}.stats-lg .stat-value{font-size:var(--text-xl)}.tab{min-height:var(--touch);scroll-snap-align:start}.card .table-wrap>table:has(th:nth-child(5)):has(tbody tr:not(.table-message)){min-width:600px}.device-form{flex-direction:column;align-items:stretch}.device-form select{min-width:0}.gate-form{flex-basis:100%}.dialog{padding:var(--space-4)}.dialog-actions .btn{flex:auto}.setup-step{grid-template-columns:24px minmax(0,1fr)}.setup-step-actions{grid-column:2;justify-content:flex-start}.demo-banner{padding-left:var(--space-3)}.lifecycle{grid-template-columns:1fr 1fr}.topbar-label,.account-name{display:none}.account-button{padding:0 6px}.pass-actions-end{width:100%;margin-left:0}.exports{justify-content:flex-start}}@media (width<=400px){.result-title{font-size:2rem}.result-icon{width:80px;height:80px}}@media print{@page{margin:10mm}body{background:#fff}#root,.toasts{display:none!important}.print-sheet{visibility:visible;grid-template-columns:repeat(3,1fr);gap:4mm;width:auto;display:grid;position:static}}
