:root{--gold: #f0b429;--green: #22c55e;--red: #ef4444;--bg: #0a0e1a;--surface: #0d1220;--surface2: #12192e;--border: #1e2a40;--muted: #6b7a99;--text: #e2e8f0;--link: #7dd3fc}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:"Exo 2",sans-serif;min-height:100vh}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:ui-monospace,monospace;font-size:12px}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 12px}.sidebar h1{font-family:Rajdhani,sans-serif;font-size:18px;color:var(--gold);letter-spacing:2px;margin:0 0 20px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar a{display:block;padding:8px 12px;color:var(--text);border-radius:6px;font-size:13px}.sidebar a:hover{background:var(--surface2);text-decoration:none}.sidebar a.active{background:var(--surface2);color:var(--gold)}.sidebar .logout{margin-top:auto;font-size:11px;color:var(--muted);padding:8px 12px;background:none;border:none;cursor:pointer;text-align:left}.sidebar .logout:hover{color:var(--red)}.main{padding:24px 28px;overflow:auto}.page-title{font-family:Rajdhani,sans-serif;font-size:22px;color:var(--gold);margin:0 0 16px;letter-spacing:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.grid{display:grid;gap:12px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.kpi .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.kpi .value{font-family:Rajdhani,sans-serif;font-size:26px;color:var(--gold);font-weight:700;margin-top:4px}.kpi.green .value{color:var(--green)}.kpi.red .value{color:var(--red)}.kpi .sub{font-size:11px;color:var(--muted);margin-top:2px}table{width:100%;border-collapse:collapse;font-size:12px}table th{text-align:left;padding:8px 10px;background:var(--surface2);color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}table td{padding:8px 10px;border-bottom:1px solid var(--border)}table tr:hover td{background:#1e2a404d}.num{text-align:right;font-family:ui-monospace,monospace}input,select,textarea,button{font-family:inherit;font-size:13px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:7px 10px;outline:none}input:focus,select:focus{border-color:var(--gold)}button{background:var(--border);cursor:pointer}button:hover:not(:disabled){background:#2a3a5a}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--gold);color:#000;font-weight:700}button.primary:hover{background:#facc15}button.danger{background:var(--red);color:#fff}button.small{padding:4px 8px;font-size:11px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters{margin-bottom:12px}.badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge.green{background:#22c55e2e;color:var(--green);border:1px solid var(--green)}.badge.red{background:#ef44442e;color:var(--red);border:1px solid var(--red)}.badge.yellow{background:#f0b4292e;color:var(--gold);border:1px solid var(--gold)}.badge.gray{background:#6b7a992e;color:var(--muted);border:1px solid var(--muted)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--surface);border:1.5px solid var(--gold);border-radius:12px;padding:32px;width:100%;max-width:320px;text-align:center}.login-card h1{font-family:Rajdhani,sans-serif;color:var(--gold);margin:0 0 8px;letter-spacing:3px}.login-card p{color:var(--muted);margin:0 0 20px;font-size:12px}.login-card input{width:100%;margin-bottom:12px;text-align:center}.login-card button{width:100%}.login-card .err{color:var(--red);font-size:11px;margin-top:10px;min-height:14px}.replay-wrap{background:#000;border-radius:8px;padding:12px}.replay-wrap canvas{display:block;width:100%;max-width:480px;margin:0 auto;background:#0b1a3a;image-rendering:crisp-edges}.replay-controls{display:flex;gap:8px;align-items:center;margin-top:12px;justify-content:center;font-size:12px}
