:root{--bg: #0b0a0d;--panel: #16141a;--line: rgba(244, 242, 236, .16);--text: #f4f2ec;--dim: #b9b4a8;--rojo: #e23a2e;--ok: #1f7a48;--amber: #b98a0a;--mono: "Consolas", "Menlo", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;cursor:pointer}input{font:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.app{height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.brand{font-weight:900;letter-spacing:.22em;font-size:13px}.brand i{color:var(--rojo);font-style:normal}.screen{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px;max-width:460px;width:100%;margin:0 auto}.screen h1{font-size:26px;font-weight:900;margin:0;line-height:1.15}.screen .sub{color:var(--dim);font-size:15px;margin:0;line-height:1.5}.field label{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}.field input{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);padding:14px;font-size:17px;border-radius:0}.btn{background:var(--rojo);color:#fff;border:none;padding:16px;font-size:15px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;width:100%}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.form-error{color:var(--rojo);font-weight:700;font-size:14px;margin:0}.event-list{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow-y:auto}.event-item{text-align:left;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:14px}.event-item b{display:block;font-size:17px}.event-item span{color:var(--dim);font-size:13px}.scanwrap{flex:1;display:flex;flex-direction:column;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}.topbar .who{min-width:0}.topbar .who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .who span{color:var(--dim);font-size:11.5px}.topbar .stats{font-family:var(--mono);font-weight:700;white-space:nowrap}.topbar .change{background:none;border:1px solid var(--line);color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:6px 9px}.banner{background:var(--amber);color:#0b0a0d;font-weight:900;font-size:12.5px;letter-spacing:.06em;text-align:center;padding:8px 12px}.banner.info{background:var(--panel);color:var(--dim);font-weight:700}.viewport{position:relative;flex:1;min-height:0;background:#000;overflow:hidden}.viewport video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.reticle{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.reticle .box{width:min(62vw,300px);aspect-ratio:1;border:3px solid rgba(244,242,236,.85);border-radius:6px;box-shadow:0 0 0 2000px #00000059}.reticle p{position:absolute;bottom:14%;width:100%;text-align:center;font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.8);margin:0}.cam-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;padding:28px;text-align:center;color:var(--dim)}.bottombar{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.bottombar .btn{flex:1;padding:14px}.verdict{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center}.verdict.ok{background:var(--ok)}.verdict.rejected{background:var(--rojo)}.verdict.pending{background:var(--amber);color:#0b0a0d}.verdict h2{font-size:clamp(34px,9vw,52px);font-weight:900;line-height:1.05;margin:0;letter-spacing:.02em;text-wrap:balance}.verdict .serial{font-family:var(--mono);font-size:20px;font-weight:700}.verdict .detail{font-size:17px;font-weight:700;margin:0}.verdict .hint{font-size:14.5px;opacity:.9;margin:0;max-width:34ch}.verdict .tap{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.verdict .mark{font-size:64px;line-height:1}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000000b3;display:flex;align-items:flex-end}.sheet{background:var(--panel);width:100%;padding:22px 22px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--line)}.sheet h2{margin:0;font-size:20px}.sheet .sub{margin:0;color:var(--dim);font-size:14px}.sheet input{text-transform:uppercase;font-family:var(--mono);letter-spacing:.08em}
