:root{--bg:#07100d;--panel:#0e1915;--panel2:#13211b;--text:#f2f7f4;--muted:#8ba096;--line:#20342b;--green:#7df9b6;--amber:#f8c873;--red:#ff7784;--blue:#7ab8ff}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%,#17382b 0,transparent 32%),var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui}button{font:inherit}a{color:inherit;text-decoration:none}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#08120fdd;height:100vh;padding:28px 18px;position:sticky;top:0}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.brand i{background:var(--green);color:#07100d;border-radius:9px;place-items:center;width:29px;height:29px;font-style:normal;display:grid}.nav{gap:7px;margin-top:38px;display:grid}.nav a{color:var(--muted);border-radius:9px;padding:11px 12px}.nav a.active,.nav a:hover{background:var(--panel2);color:var(--text)}.mode{color:var(--green);background:#10261d;border:1px solid #2a4b3c;border-radius:11px;padding:13px;font-size:12px;font-weight:700;position:absolute;bottom:25px;left:18px;right:18px}.main{width:100%;max-width:1500px;padding:32px 38px}.top{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.top h1{letter-spacing:-.04em;margin:0;font-size:26px}.top p{color:var(--muted);margin:5px 0 0;font-size:13px}.controls{gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;border-radius:9px;padding:9px 13px}.btn.danger{color:var(--red);border-color:#642b34}.metrics{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(145deg,#101d18,#0b1511);border-radius:13px;padding:17px}.label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px}.value{letter-spacing:-.04em;margin-top:10px;font-size:25px;font-weight:750}.positive{color:var(--green)}.grid{grid-template-columns:1.7fr 1fr;gap:14px;margin-top:14px;display:grid}.section-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.section-head h2{margin:0;font-size:15px}.chart{align-items:end;gap:9px;height:240px;padding-top:18px;display:flex}.bar{background:linear-gradient(#73efad,#255e46);border-radius:5px 5px 1px 1px;flex:1;min-height:20px}.activity{gap:0;display:grid}.event{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr;gap:10px;padding:11px 0;font-size:13px;display:grid}.event time{color:var(--muted)}.event b{margin-bottom:3px;display:block}.table-card{margin-top:14px;padding:0;overflow:hidden}.table-head{padding:17px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 16px;font-size:10px}td{border-bottom:1px solid var(--line);padding:14px 16px}.score{color:var(--green);font-weight:750}.risk-low{color:var(--green)}.risk-high{color:var(--red)}.pill{color:var(--green);background:#163225;border-radius:20px;padding:4px 8px;font-size:11px;display:inline-block}.loading,.error{text-align:center;color:var(--muted);padding:60px}@media (max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{justify-content:space-between;align-items:center;height:auto;display:flex;position:relative}.nav{margin:0;display:flex}.mode{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.main{padding:24px}.sidebar{padding:16px}.nav a:nth-child(n+3){display:none}}@media (max-width:600px){.metrics{grid-template-columns:1fr 1fr}.top{align-items:flex-start;gap:18px}.controls{flex-direction:column}.value{font-size:20px}.main{padding:18px 12px}.brand span{display:none}}
.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login form{gap:16px;width:min(410px,100%);padding:28px;display:grid}.login h1{margin:18px 0 0}.login p,.login small{color:var(--muted);margin:0}.login small{color:var(--red)}.login input{border:1px solid var(--line);color:var(--text);font:inherit;background:#08120f;border-radius:9px;padding:12px}
