:root{--bg:#0b0e14;--panel:#12161f;--panel2:#171c27;--border:#232938;--text:#e6e9f0;--muted:#8891a7;--accent:#5b8cff;--accent-soft:rgba(91,140,255,.14);--success:#33c17a;--success-soft:rgba(51,193,122,.14);--danger:#ef5a6f;--danger-soft:rgba(239,90,111,.14);--warning:#e8b34c;--radius:5px;--shadow:0 12px 34px rgba(0,0,0,.35)}
*{box-sizing:border-box;scrollbar-color:#30384a var(--bg);scrollbar-width:thin}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:14px}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}
.layout{display:flex;min-height:100vh}.sidebar{width:220px;flex:0 0 220px;background:var(--panel);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.brand{font-weight:700;font-size:17px;letter-spacing:.2px;padding:6px 10px 20px;display:flex;align-items:center;gap:9px}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.nav-link{padding:10px 12px;border-radius:3px;color:var(--muted);font-weight:500}.nav-link:hover{background:var(--panel2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:12px;display:grid;gap:9px}.sidebar-status{margin-top:20px;padding:10px 12px;color:var(--muted);display:flex;align-items:center;gap:8px;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.fresh{background:var(--success)}.status-dot.stale{background:var(--warning)}.status-dot.unknown{background:var(--muted)}
.main{min-width:0;flex:1}.topbar{min-height:68px;padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1{margin:0;font-size:19px}.topbar p{margin:4px 0 0;font-size:12px}.topbar-actions{display:flex;align-items:center;gap:8px}.content{padding:16px 20px 40px;max-width:1500px;margin:0 auto}.content-wide{max-width:none}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:15px 17px;margin-bottom:12px}.panel h2{font-size:15px;margin:0 0 14px}.panel summary{cursor:pointer;font-weight:600;margin:-2px 0 12px}.search-row{display:grid;grid-template-columns:minmax(220px,2fr) auto auto;gap:18px;align-items:end}.search-field{max-width:480px}label{display:block;color:var(--muted);font-size:12px;margin:0 0 6px}input,select{width:100%;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:3px;padding:8px 10px}input:focus,select:focus{outline:none;border-color:var(--accent)}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.venue-chips{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.chip{border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:4px;padding:6px 10px;cursor:pointer}.chip.active{background:var(--accent-soft);border-color:rgba(91,140,255,.45);color:var(--accent)}
.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:8px}.filter-card{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:10px}.filter-card.disabled{opacity:.48}.switch{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.switch input{width:auto}.range-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.filter-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.btn{border:0;border-radius:3px;padding:8px 13px;cursor:pointer;background:var(--accent);color:white;font-weight:600}.btn:hover{opacity:.88}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.btn.primary{background:var(--accent)}.btn.danger{background:var(--danger)}.btn.small{padding:5px 8px;font-size:12px}.btn.full{width:100%}.badge{display:inline-flex;padding:4px 9px;border-radius:4px;font-size:12px;font-weight:600}.badge.mode{background:var(--accent-soft);color:var(--accent)}.badge.fresh{background:var(--success-soft);color:var(--success)}.badge.stale{background:rgba(232,179,76,.14);color:var(--warning)}.badge.unknown{background:rgba(136,145,167,.12);color:var(--muted)}
.table-panel{padding:0;overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--border)}.pager-actions{display:flex;gap:6px}.pager-actions .btn:disabled{opacity:.35;cursor:default}.table-wrap{overflow:auto;max-height:calc(100vh - 410px);min-height:280px}table{width:100%;border-collapse:collapse;min-width:1500px}th,td{text-align:left;padding:8px 9px;border-bottom:1px solid var(--border);white-space:nowrap;font-size:12.5px}th{position:sticky;top:0;z-index:2;background:var(--panel);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}tbody tr{cursor:pointer}tbody tr:hover td{background:var(--accent-soft)}tr.search-hit td{background:rgba(51,193,122,.17)!important}.num{font-family:"SF Mono",Consolas,monospace;text-align:right}.empty{color:var(--muted);text-align:center;padding:30px}.positive{color:var(--success)}.negative{color:var(--danger)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:340px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.login-card h1{margin:5px 0}.login-card p{margin:0 0 20px}.login-card input{margin-bottom:14px}.login-card .btn{margin-top:6px}.login-brand{padding-left:0}.alert{padding:10px 12px;border-radius:3px;margin:10px 0;font-size:13px}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.success{background:var(--success-soft);color:var(--success)}
.admin-content{max-width:1100px}.form-grid{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:12px;align-items:end}.form-submit{padding-bottom:1px}dialog{width:min(760px,94vw);max-height:88vh;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);padding:18px}dialog::backdrop{background:rgba(0,0,0,.7)}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:12px}.dialog-head h2{margin:0}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{background:var(--panel2);border:1px solid var(--border);padding:9px;border-radius:4px}.metric span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.metric strong{display:block;margin-top:4px}.risk-table{min-width:0;margin-top:14px}
@media(max-width:1050px){.filter-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}.search-row{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.table-wrap{max-height:none}}
@media(max-width:720px){.layout{display:block}.sidebar{width:100%;height:auto;position:static;display:flex;flex-direction:row;align-items:center;overflow:auto;padding:6px;gap:2px}.brand{padding:8px}.nav-link{padding:8px}.sidebar-status{display:none}.sidebar-footer{margin:0 0 0 auto;border:0;padding:0;display:flex;align-items:center}.sidebar-footer #current-user{display:none}.sidebar-footer .btn{width:auto;padding:6px 10px}.topbar{padding:12px}.content{padding:10px}.filter-grid{grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}}

