:root{
  --bg:#0a0e17;--bg2:#0d1320;--surface:#11182a;--surface2:#151d33;
  --border:#1f2940;--border2:#2c3957;
  --text:#e8edf7;--text2:#8b97b3;--text3:#5b6680;
  --accent:#3d8bff;--accent-bg:rgba(61,139,255,0.12);--accent-border:rgba(61,139,255,0.35);
  --cyan:#22d3ee;--cyan-bg:rgba(34,211,238,0.1);
  --warn:#f0b65c;--warn-bg:rgba(240,182,92,0.12);--warn-border:rgba(240,182,92,0.35);
  --danger:#f0716a;--danger-bg:rgba(240,113,106,0.12);
  --success:#4ade80;--success-bg:rgba(74,222,128,0.1);--success-border:rgba(74,222,128,0.3);
  --r:8px;--rl:14px;
  --font:"Inter",-apple-system,sans-serif;--mono:"JetBrains Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;min-height:100vh;}
body::before{content:"";position:fixed;top:0;right:0;width:60%;height:60%;background:radial-gradient(ellipse at top right,rgba(61,139,255,0.07),transparent 70%);pointer-events:none;z-index:0;}
#app{max-width:720px;margin:0 auto;padding:1.75rem 1.25rem 5rem;position:relative;z-index:1;}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:1.75rem;}
.brand-icon{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#3d8bff,#22d3ee);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(61,139,255,0.3);}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:1.75rem;overflow-x:auto;}
.tab{border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text2);padding:10px 14px;font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font);}
.tab.active{color:var(--text);border-bottom-color:var(--accent);}
.tab:hover:not(.active){color:var(--text);}
.lbl{font-size:13px;color:var(--text2);display:block;margin-bottom:4px;}
input,select,textarea{width:100%;padding:9px 11px;border-radius:var(--r);border:1px solid var(--border2);background:var(--bg2);color:var(--text);font-family:var(--font);font-size:14px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);}
select option{background:var(--bg2);}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;}
input[type="date"]::-webkit-inner-spin-button{display:none;}
textarea{font-family:var(--mono);font-size:12.5px;resize:vertical;}
button{border-radius:var(--r);border:1px solid var(--border2);background:var(--surface);color:var(--text);padding:9px 15px;cursor:pointer;font-family:var(--font);font-size:14px;transition:background .12s;}
button:hover{background:var(--surface2);}
button:active{transform:scale(.98);}
button:disabled{opacity:.4;cursor:not-allowed;}
.btn-primary{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border);font-weight:600;}
.btn-primary:hover{background:rgba(61,139,255,.2);}
.btn-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border);font-size:12px;padding:5px 10px;}
.btn-ghost{border:none;background:transparent;color:var(--text2);padding:6px;}
.btn-sm{font-size:12px;padding:5px 10px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:.85rem 1rem;}
.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1rem;}
.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;font-family:var(--mono);white-space:nowrap;display:inline-block;margin-top:4px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
@media(max-width:640px){.grid5{grid-template-columns:repeat(2,1fr);}}
.stack{display:flex;flex-direction:column;gap:8px;}
.row2{display:flex;gap:.75rem;}
@media(max-width:480px){.row2{flex-direction:column;}}
.row2>*{flex:1;}
.tags{display:flex;flex-wrap:wrap;gap:7px;}
.tag-btn{font-size:12.5px;padding:5px 11px;border-radius:var(--r);cursor:pointer;border:1px solid var(--border2);background:var(--surface);color:var(--text);font-family:var(--font);transition:background .1s;}
.tag-btn.on{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);}
.toggle-box{display:flex;align-items:center;gap:10px;padding:.75rem 1rem;border-radius:var(--r);cursor:pointer;transition:background .12s;}
.check{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:700;transition:background .12s;}
.bar-row{margin-bottom:10px;}
.bar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;}
.bar-track{height:5px;background:var(--border);border-radius:999px;overflow:hidden;}
.bar-fill{height:100%;border-radius:999px;}
.divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0;}
.filter-row{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;flex-wrap:wrap;}
.filter-row select{max-width:200px;font-size:13px;padding:7px 10px;}
.sec-lbl{font-size:11.5px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;display:block;}
#authGate{display:none;min-height:100vh;align-items:center;justify-content:center;padding:1.25rem;position:relative;z-index:2;}
.auth-card{width:100%;max-width:360px;padding:1.85rem 1.6rem;}
.auth-card .brand{justify-content:center;margin-bottom:1.4rem;}
.auth-msg{font-size:12.5px;display:none;}
.auth-msg.err{color:var(--danger);}
.auth-msg.ok{color:var(--success);}
.auth-link{font-size:12.5px;color:var(--accent);text-align:center;display:block;margin-top:2px;cursor:pointer;text-decoration:none;}
