:root{--bg: #0b1220;--panel: #131c2e;--panel-2: #1a2540;--line: #26324d;--ink: #eef2f9;--muted: #93a1bd;--accent: #3b82f6;--accent-ink: #ffffff;--good: #22c55e;--warn: #f59e0b;--bad: #ef4444;--radius: 14px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.shell{max-width:560px;margin:0 auto;padding:24px 20px 64px}.shell.wide{max-width:1080px}.kiosk{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px}header.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{font-weight:650;letter-spacing:-.01em}.brand small{display:block;font-weight:400;color:var(--muted);font-size:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:18px;letter-spacing:-.01em}.card p.sub{margin:0 0 16px;color:var(--muted);font-size:14px}h1{font-size:24px;letter-spacing:-.02em;margin:0 0 6px}.lede{color:var(--muted);margin:0 0 24px}label{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}input[type=text],input[type=password],input[type=email],input[type=tel],select{width:100%;padding:13px 14px;font-size:16px;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;margin-bottom:14px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;font-weight:600;padding:14px 18px;min-height:48px;width:100%;color:var(--accent-ink);background:var(--accent);border:0;border-radius:10px;cursor:pointer}button.secondary{background:var(--panel-2);color:var(--ink);border:1px solid var(--line)}button.ghost{background:transparent;color:var(--muted);border:0;min-height:40px}button.danger{background:var(--bad)}button.inline{width:auto;padding:9px 14px;min-height:40px;font-size:14px}button:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}.msg{padding:12px 14px;border-radius:10px;font-size:14px;margin-bottom:16px}.msg.error{background:#ef44441f;border:1px solid rgba(239,68,68,.4)}.msg.ok{background:#22c55e1f;border:1px solid rgba(34,197,94,.4)}.msg.info{background:#3b82f61f;border:1px solid rgba(59,130,246,.4)}.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.pill.good{color:var(--good);border-color:#22c55e66}.pill.warn{color:var(--warn);border-color:#f59e0b66}.pill.bad{color:var(--bad);border-color:#ef444466}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(48px,11vw,96px);font-weight:700;letter-spacing:.08em;text-align:center;margin:8px 0 4px}.qr{display:block;width:min(280px,60vw);margin:20px auto 8px;border-radius:12px;background:#fff;padding:10px}.countdown{text-align:center;color:var(--muted);font-size:14px}.list{list-style:none;margin:0;padding:0}.list li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.list li:last-child{border-bottom:0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.scroll-x{overflow-x:auto}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tabs button{width:auto;min-height:38px;padding:8px 14px;font-size:14px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.center{text-align:center}.stack>*+*{margin-top:10px}.spinner{width:22px;height:22px;margin:0 auto;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040810b8;display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:50}@media(min-width:640px){.overlay{align-items:center}}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;width:min(480px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 24px 60px #00000080}.dialog h2{margin:0 0 6px;font-size:19px;letter-spacing:-.01em}.dialog p.sub{margin:0 0 18px;color:var(--muted);font-size:14px}.dialog textarea{width:100%;min-height:92px;padding:13px 14px;font:inherit;font-size:16px;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;resize:vertical;margin-bottom:12px}.dialog textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chips button{width:auto;min-height:36px;padding:7px 12px;font-size:13px;font-weight:500;background:var(--panel-2);color:var(--muted);border:1px solid var(--line);border-radius:999px}.chips button:hover{color:var(--ink);border-color:var(--accent)}.counter{font-size:12px;color:var(--muted);text-align:right;margin:-6px 0 14px}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:600;letter-spacing:.04em;word-break:break-all;background:var(--panel-2);border:1px solid var(--accent);border-radius:10px;padding:16px;margin-bottom:12px;-webkit-user-select:all;user-select:all}.secret.small{font-size:14px;letter-spacing:0;font-weight:500}
