:root{
  --bg:#05080f; --bg2:#070c17; --panel:#0b1220; --panel2:#0e1729; --line:#1b2a44; --line2:#24395c;
  --blue:#127ab7; --cyan:#21c0d7; --cyan2:#7fe3f0; --text:#d8e6f5; --muted:#7f93ad; --dim:#56698a;
  --ok:#3ad29f; --warn:#f5b942; --bad:#ff5c5c; --violet:#9b7bff;
  --head:'Audiowide', 'Segoe UI', sans-serif; --body:'Segoe UI Variable', 'Segoe UI', 'Noto Sans Gujarati', system-ui, sans-serif;
  --r:12px; --shadow:0 10px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
html[lang=gu] body{font-family:'Noto Sans Gujarati', 'Shruti', var(--body);}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
.hidden{display:none!important}
.muted{color:var(--muted)} .dim{color:var(--dim)} .err{color:var(--bad);min-height:1.2em} .ok{color:var(--ok)} .warn{color:var(--warn)} .bad{color:var(--bad)}
h1,h2,h3,h4{font-family:var(--head);font-weight:400;letter-spacing:.02em;margin:0 0 .5em}
h1{font-size:1.25rem;color:var(--cyan2)} h2{font-size:1.05rem;color:var(--cyan)} h3{font-size:.95rem;color:var(--text)} h4{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
html[lang=gu] h1,html[lang=gu] h2,html[lang=gu] h3{font-family:'Noto Sans Gujarati', var(--head);font-weight:600}
#bg{position:fixed;inset:0;z-index:0;background:radial-gradient(1200px 600px at 10% -10%, rgba(18,122,183,.25), transparent 60%), radial-gradient(900px 500px at 100% 100%, rgba(33,192,215,.12), transparent 60%), var(--bg)}
#bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
#shell{position:relative;z-index:1;display:grid;grid-template-columns:230px 1fr;min-height:100vh}
#side{background:linear-gradient(180deg,rgba(11,18,32,.95),rgba(7,12,23,.98));border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.logo{font-family:var(--head);font-size:1.05rem;display:flex;align-items:center;gap:8px;color:var(--cyan2);padding:4px 8px 14px}
.logo b{color:#fff;font-weight:400} .logo .dim{font-size:.75rem;letter-spacing:.08em}
.hex{width:18px;height:20px;background:linear-gradient(135deg,var(--blue),var(--cyan));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:inline-block;box-shadow:0 0 12px rgba(33,192,215,.6)}
#nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--muted);font-size:.93rem;margin:2px 0;border:1px solid transparent}
#nav a .ic{width:20px;text-align:center;filter:saturate(.8)}
#nav a:hover{background:rgba(33,192,215,.06);text-decoration:none;color:var(--text)}
#nav a.active{background:linear-gradient(90deg,rgba(18,122,183,.25),rgba(33,192,215,.08));color:#fff;border-color:rgba(33,192,215,.25);box-shadow:inset 3px 0 0 var(--cyan)}
#nav a .n{margin-left:auto;background:var(--blue);color:#fff;font-size:.7rem;padding:1px 7px;border-radius:10px}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:8px}
.pill{font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 10px;display:inline-flex;gap:6px;align-items:center}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)} .pill .dot.off{background:var(--dim);box-shadow:none} .pill .dot.warn{background:var(--warn);box-shadow:0 0 8px var(--warn)}
#main{min-width:0;padding:0 0 70px}
#top{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);background:rgba(5,8,15,.7);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}
#top h1{margin:0;flex:1;font-size:1.1rem}
.top-tools{display:flex;align-items:center;gap:10px}
#search{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:7px 12px;border-radius:20px;width:220px;font:inherit}
.bell{position:relative;font-size:1.1rem;text-decoration:none} .bell span{position:absolute;top:-6px;right:-10px;background:var(--bad);color:#fff;font-size:.65rem;padding:1px 5px;border-radius:10px}
#menu-btn{display:none}
#view{padding:18px 22px;max-width:1500px}
#tabbar{display:none}
/* cards */
.grid{display:grid;gap:14px} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)} .g23{grid-template-columns:2fr 1fr} .g32{grid-template-columns:3fr 2fr}
.card{background:linear-gradient(180deg,rgba(14,23,41,.9),rgba(11,18,32,.9));border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(33,192,215,.5),transparent)}
.card h2,.card h3{margin-top:0}
.card.hl{border-color:rgba(33,192,215,.45)}
.kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px}
.kpi>b{font-family:var(--head);font-size:1.6rem;color:#fff;font-weight:400} .kpi>span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.kpi.c>b{color:var(--cyan2)} .kpi.w>b{color:var(--warn)} .kpi.o>b{color:var(--ok)} .kpi.r>b{color:var(--bad)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .row.between{justify-content:space-between} .row.top{align-items:flex-start}
.stack{display:flex;flex-direction:column;gap:8px}
.btn{background:var(--panel2);border:1px solid var(--line2);color:var(--text);padding:8px 14px;border-radius:9px;cursor:pointer;font:inherit;font-size:.9rem;transition:.15s}
.btn:hover{border-color:var(--cyan);color:#fff}
.btn.primary{background:linear-gradient(135deg,var(--blue),#1796c4);border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(18,122,183,.35)}
.btn.ghost{background:transparent} .btn.small{padding:5px 10px;font-size:.8rem} .btn.danger{border-color:rgba(255,92,92,.5);color:#ffb3b3} .btn:disabled{opacity:.5;cursor:default}
input,select,textarea{background:var(--bg2);border:1px solid var(--line);color:var(--text);padding:8px 10px;border-radius:8px;font:inherit;font-size:.9rem;max-width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan)}
label.f{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)} label.f>input,label.f>select,label.f>textarea{width:100%}
label.chk{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--text)}
.tag{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:12px;border:1px solid var(--line2);color:var(--muted);margin:2px 4px 2px 0;white-space:nowrap}
.tag.c{border-color:rgba(33,192,215,.5);color:var(--cyan2)} .tag.w{border-color:rgba(245,185,66,.5);color:var(--warn)} .tag.o{border-color:rgba(58,210,159,.5);color:var(--ok)} .tag.r{border-color:rgba(255,92,92,.5);color:#ffb3b3} .tag.v{border-color:rgba(155,123,255,.5);color:#c9b8ff}
.score{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;border-radius:7px;font-family:var(--head);font-size:.78rem;background:var(--panel2);border:1px solid var(--line2);color:var(--muted)}
.score.s5{color:var(--cyan);border-color:rgba(33,192,215,.5)} .score.s7{color:var(--warn);border-color:rgba(245,185,66,.6)} .score.s9{color:#fff;background:linear-gradient(135deg,#b33c3c,#ff5c5c);border-color:transparent}
.item{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)} .item:last-child{border-bottom:none}
.item .t{font-weight:600;color:#fff;line-height:1.3} .item .t a{color:#fff} .item .m{font-size:.78rem;color:var(--muted);margin-top:3px} .item .s{font-size:.86rem;margin-top:4px;color:var(--text)} .item .gu{color:var(--cyan2)} .item .why{font-size:.84rem;color:var(--warn);margin-top:3px}
.item.new .t::before{content:"●";color:var(--cyan);font-size:.6rem;margin-right:6px;vertical-align:middle}
.item .acts{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;font-size:.88rem} th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top} th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em} tr:hover td{background:rgba(33,192,215,.04)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:14px}
.tabs a,.tabs button{padding:8px 12px;color:var(--muted);border:none;background:none;border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-size:.9rem;text-decoration:none}
.tabs a.active,.tabs button.active{color:var(--cyan2);border-bottom-color:var(--cyan)}
.timeline{position:relative;padding-left:18px} .timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--cyan),transparent)}
.tl{position:relative;padding:6px 0 10px} .tl::before{content:"";position:absolute;left:-17px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--panel);border:2px solid var(--cyan)} .tl.sig4::before{background:var(--warn);border-color:var(--warn)} .tl.sig5::before{background:var(--bad);border-color:var(--bad);box-shadow:0 0 8px var(--bad)}
.tl .d{font-size:.75rem;color:var(--cyan);font-family:var(--head)} .tl .t{font-weight:600;color:#fff} .tl .s{font-size:.86rem;color:var(--text)} .tl .src{font-size:.72rem}
.md{line-height:1.55} .md h1,.md h2,.md h3{margin-top:1.2em} .md h2{font-size:1rem} .md h3{font-size:.95rem;color:var(--cyan2)} .md ul,.md ol{padding-left:1.3em} .md li{margin:.25em 0} .md table{margin:.6em 0} .md code{background:var(--bg2);padding:1px 5px;border-radius:4px;font-size:.85em} .md blockquote{border-left:3px solid var(--blue);margin:0;padding:4px 12px;color:var(--muted)} .md p{margin:.5em 0}
.kn{max-width:980px} .kn .sec{margin-bottom:28px} .kn .gu{background:rgba(33,192,215,.06);border-left:3px solid var(--cyan);padding:10px 14px;border-radius:0 10px 10px 0;margin:10px 0;font-size:.95rem} .kn .note{background:rgba(245,185,66,.07);border-left:3px solid var(--warn);padding:10px 14px;border-radius:0 10px 10px 0;margin:10px 0;font-size:.9rem}
.kn p{margin:.5em 0} .kn ul{padding-left:1.3em} .kn li{margin:.3em 0}
.sim{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}
.sim canvas{width:100%;height:auto;display:block;border-radius:8px;background:#030609}
.sim .ctl{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:.82rem;color:var(--muted)} .sim .ctl label{display:flex;flex-direction:column;gap:2px;min-width:140px} .sim .ctl input[type=range]{width:100%;accent-color:var(--cyan)} .sim .ctl select{padding:4px 6px}
.sim .out{font-family:var(--head);color:var(--cyan2);font-size:.95rem;margin-top:8px} .sim .out b{color:#fff}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-top:6px} .legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:middle}
.chip{display:inline-block;padding:3px 9px;border-radius:14px;font-size:.78rem;background:var(--panel2);border:1px solid var(--line2);cursor:pointer;margin:2px} .chip.active{background:rgba(33,192,215,.15);border-color:var(--cyan);color:#fff}
.alert{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)} .alert .ic{font-size:1.1rem} .alert .t{font-weight:600;color:#fff} .alert .b{font-size:.86rem;white-space:pre-wrap;color:var(--text)} .alert .m{font-size:.74rem;color:var(--muted)} .alert.unread .t{color:var(--cyan2)}
.company-card{display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:.15s} .company-card:hover{border-color:var(--cyan);transform:translateY(-2px)} .company-card .nm{font-weight:600;color:#fff;font-size:1rem} .company-card .meta{font-size:.78rem;color:var(--muted)} .company-card .mean{font-size:.84rem;color:var(--text)}
.tier{font-family:var(--head);font-size:.68rem;padding:2px 7px;border-radius:6px;background:var(--panel2);border:1px solid var(--line2);color:var(--muted)} .tier.t1{color:var(--warn);border-color:rgba(245,185,66,.5)}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden} .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.matrix td{font-size:.84rem} .matrix td:first-child{font-weight:600;color:#fff;white-space:nowrap}
.step{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)} .step .n{font-family:var(--head);color:var(--cyan);font-size:1rem} .step .t{font-weight:600;color:#fff} .step .s{font-size:.88rem;color:var(--text)}
#toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--cyan);color:#fff;padding:10px 16px;border-radius:10px;font-size:.9rem;opacity:0;pointer-events:none;transition:.25s;z-index:50;box-shadow:var(--shadow)} #toast.show{opacity:1}
#login{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:radial-gradient(800px 500px at 50% 30%, rgba(18,122,183,.25), transparent 60%), var(--bg)}
.login-box{background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:28px;width:min(360px,92vw);display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)} .login-box .logo{justify-content:center;font-size:1.2rem}
.login-box input{padding:10px 12px;font-size:1rem}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line2);border-top-color:var(--cyan);border-radius:50%;animation:sp .8s linear infinite;vertical-align:middle} @keyframes sp{to{transform:rotate(360deg)}}
.empty{color:var(--muted);padding:20px;text-align:center;font-size:.9rem}
.sr{font-size:.74rem;color:var(--dim)} .src a{color:var(--muted)}
pre.log{background:#020408;color:#9fd1e0;font-size:.74rem;padding:10px;border-radius:8px;max-height:320px;overflow:auto;white-space:pre-wrap}
details summary{cursor:pointer;color:var(--cyan2);font-weight:600;margin:6px 0}
.secret{font-family:monospace}
.toggle{display:inline-flex;gap:0;border:1px solid var(--line2);border-radius:8px;overflow:hidden} .toggle button{border:none;background:transparent;color:var(--muted);padding:5px 10px;cursor:pointer;font:inherit;font-size:.8rem} .toggle button.active{background:var(--blue);color:#fff}
@media (max-width: 980px){ .g3,.g4{grid-template-columns:repeat(2,1fr)} .g23,.g32{grid-template-columns:1fr} }
@media (max-width: 760px){
  #shell{grid-template-columns:1fr} #side{display:none;position:fixed;z-index:30;width:260px;left:0} #side.open{display:flex}
  #menu-btn{display:inline-block} #view{padding:12px} .g2,.g3,.g4{grid-template-columns:1fr} #search{width:130px}
  #tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(7,12,23,.96);border-top:1px solid var(--line);justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10;backdrop-filter:blur(8px)}
  #tabbar a{display:flex;flex-direction:column;align-items:center;font-size:.62rem;color:var(--muted);text-decoration:none;gap:2px;min-width:52px} #tabbar a .ic{font-size:1.15rem} #tabbar a.active{color:var(--cyan2)}
  #top{padding:10px 12px} .kpi>b{font-size:1.3rem}
}
@media print{ #side,#top,#tabbar,#bg,.btn{display:none!important} #shell{display:block} body{background:#fff;color:#000} .card{border:1px solid #ccc;box-shadow:none;background:#fff} }
