:root{
  --bg:#0a0d12;
  --panel:#0f141b;
  --panel-2:#121922;
  --line:#212a36;
  --line-2:#2e3a4d;
  --text:#edf2f7;
  --muted:#9aabbf;
  --blue:#3b82f6;
  --red:#ef4444;
  --green:#22c55e;
  --amber:#f59e0b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{max-width:1500px;margin:0 auto;padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(10,13,18,.96);backdrop-filter:blur(10px);z-index:10}
.brand{font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.brand small{display:block;color:var(--muted);font-weight:500;letter-spacing:.02em;text-transform:none}
.nav{display:flex;gap:10px;flex-wrap:wrap}
.nav a{padding:10px 14px;border:1px solid var(--line);background:var(--panel)}
.nav a.active,.nav a:hover{border-color:var(--line-2);background:var(--panel-2)}
.hero{display:grid;grid-template-columns:1.3fr .9fr;gap:18px;margin:20px 0}
.card{background:linear-gradient(180deg,rgba(18,25,34,.96),rgba(15,20,27,.96));border:1px solid var(--line);padding:18px}
.card h1,.card h2,.card h3{margin:0 0 10px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.kpi{padding:14px;border:1px solid var(--line);background:#0d1218}
.kpi .label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.kpi .value{font-size:24px;font-weight:800}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:26px 0 12px}
.section-title h2{margin:0;font-size:18px;letter-spacing:.04em;text-transform:uppercase}
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:1.1fr .9fr}
.feed{display:grid;gap:10px;max-height:70vh;overflow:auto;padding-right:4px}
.feed-item{border:1px solid var(--line);background:#0c1117;padding:12px}
.feed-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{display:inline-block;padding:4px 8px;border:1px solid var(--line-2);background:#0f1620;color:#dbe8f6;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.badge.public{border-color:#1d4ed8;color:#bfdbfe}
.badge.private{border-color:#7c3aed;color:#ddd6fe}
.badge.good{border-color:#166534;color:#bbf7d0}
.badge.warn{border-color:#92400e;color:#fde68a}
.badge.bad{border-color:#991b1b;color:#fecaca}
.text-muted{color:var(--muted)}
.controls{display:flex;gap:10px;flex-wrap:wrap}
.input,.select,.textarea{width:100%;padding:12px;border:1px solid var(--line);background:#0b1016;color:var(--text)}
.textarea{min-height:110px;resize:vertical}
.btn{padding:12px 16px;border:1px solid var(--line-2);background:#121a24;color:var(--text)}
.btn:hover{filter:brightness(1.08)}
.btn.primary{border-color:#1d4ed8;background:#10203f}
.btn.danger{border-color:#7f1d1d;background:#2a1111}
.btn.good{border-color:#166534;background:#0f2318}
.btn.ghost{border-color:var(--line);background:#0b1016}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.shards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.shard-card{border:1px solid var(--line);background:#0c1117;padding:14px}
.shard-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}
.shard-actions{display:flex;gap:8px;flex-wrap:wrap}
.center{display:grid;place-items:center;min-height:48vh}
.lock{max-width:520px;width:100%}
.notice{padding:12px 14px;border:1px solid var(--line-2);background:#101826;margin:10px 0;color:#cbd8e6}
.footer{padding:24px;color:var(--muted);text-align:center}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hidden{display:none!important}
@media (max-width:1050px){
  .hero,.grid.two,.shards{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .shell{padding:14px}
  .topbar{padding:12px 14px;align-items:flex-start;flex-direction:column}
  .kpis{grid-template-columns:1fr}
}
