@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{color-scheme:dark;--bg: #08090d;--bg-glow: radial-gradient(circle at 20% -10%, rgba(99, 102, 241, .16), transparent 45%), radial-gradient(circle at 90% 10%, rgba(139, 92, 246, .1), transparent 40%);--surface: #12141b;--surface-raised: #171a23;--surface-hover: #1b1f2a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #f2f3f7;--text-secondary: #9aa2b8;--text-muted: #5f6779;--accent: #6366f1;--accent-2: #8b5cf6;--accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-2));--accent-soft: rgba(99, 102, 241, .14);--success: #22c55e;--success-soft: rgba(34, 197, 94, .14);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .14);--danger: #f43f5e;--danger-soft: rgba(244, 63, 94, .14);--info: #3b82f6;--info-soft: rgba(59, 130, 246, .14);--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -8px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .35), 0 24px 48px -12px rgba(0, 0, 0, .6);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg) var(--bg-glow);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased}nav{position:sticky;top:0;z-index:10;display:flex;gap:.35rem;align-items:center;padding:.85rem 1.75rem;border-bottom:1px solid var(--border);background:#08090dc7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.5rem;margin-right:1.25rem;padding-right:1.25rem;border-right:1px solid var(--border)}.brand-mark{width:22px;height:22px;border-radius:7px;background:var(--accent-gradient);box-shadow:0 0 0 1px #ffffff14,0 4px 12px -2px #6366f199;flex-shrink:0}.brand-name{font-weight:800;font-size:1.05rem;letter-spacing:-.02em}nav a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:color .15s ease,background-color .15s ease}nav a:hover{color:var(--text);background:var(--surface-hover)}nav a.active{color:var(--text);background:var(--accent-soft)}nav button{margin-left:auto}.app-main{max-width:1180px;margin:0 auto;padding:2rem 1.75rem 4rem}h1{margin:0 0 .35rem;font-size:1.7rem;font-weight:800;letter-spacing:-.02em}h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .5rem}h3{font-size:1rem;font-weight:600;margin:0 0 .35rem}p{line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page-header{margin-bottom:1.5rem}.page-header h1,.page-header h2{margin-bottom:.25rem}table{width:100%;border-collapse:collapse;margin-top:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}th{text-align:left;padding:.7rem 1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:#ffffff05;border-bottom:1px solid var(--border)}td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.875rem;color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#ffffff04}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8rem;color:var(--text-secondary);word-break:break-all}.qr-row{display:flex;gap:1rem;align-items:center;padding:.85rem 0;border-top:1px solid var(--border)}.qr-row:first-of-type{border-top:none}.qr-code{border-radius:var(--radius-sm);background:var(--surface-raised);padding:6px;flex-shrink:0}.card-grid{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.4rem;min-width:240px;flex:1 1 260px;box-shadow:var(--shadow)}.big-number{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:.15rem 0;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.error{color:var(--danger);font-size:.85rem}.hint{color:var(--text-secondary);font-size:.85rem}.status{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:600}.status:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.status-pending{background:var(--warning-soft);color:var(--warning)}.status-confirmed{background:var(--info-soft);color:var(--info)}.status-swept{background:var(--success-soft);color:var(--success)}.status-failed{background:var(--danger-soft);color:var(--danger)}.gate-progress{display:flex;gap:.5rem;list-style:none;padding:0;margin:0 0 1.5rem}.gate-progress li{flex:1;text-align:center;padding:.45rem .5rem;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-muted);font-size:.75rem;font-weight:600;border:1px solid var(--border)}.gate-progress li.active{background:var(--accent-soft);color:var(--text);border-color:#6366f166}.gate-progress li.passed{background:var(--success-soft);color:var(--success);border-color:transparent}form{display:flex;flex-direction:column;gap:.9rem;max-width:420px}form.inline-form{flex-direction:row;align-items:flex-end;max-width:none;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--text-secondary)}input,select{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);padding:.6rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}button{background:var(--surface-raised);color:var(--text);border:1px solid var(--border-strong);padding:.6rem 1.1rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.875rem;font-family:inherit;transition:transform .1s ease,filter .15s ease,background-color .15s ease}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent-gradient);border:none;box-shadow:0 4px 14px -4px #6366f199}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}button.danger{background:linear-gradient(135deg,#f43f5e,#e11d48);border:none;box-shadow:0 4px 14px -4px #f43f5e80}button.full-width{width:100%}.login-page,.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg)}.auth-card .brand{border-right:none;padding-right:0;margin-right:0;margin-bottom:1.25rem}.auth-card h1{font-size:1.35rem;margin-bottom:1.25rem}.auth-switch{margin-top:1.25rem;text-align:center}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.confirm-box{max-width:480px;background:var(--surface);border:1px solid rgba(244,63,94,.35);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}.confirm-box table{margin:1rem 0;background:transparent;border:none}.confirm-box td{border-bottom:1px solid var(--border);padding:.6rem 0}.confirm-box td:first-child{color:var(--text-secondary);width:40%}.confirm-actions{display:flex;gap:.75rem;margin-top:.5rem}@media (max-width: 640px){.app-main{padding:1.25rem 1rem 3rem}nav{padding:.75rem 1rem}table{display:block;overflow-x:auto}}
