:root{color-scheme:dark;--bg:#0a0e17;--bg-elevated:#0f1524;--panel:#121a2c;--panel2:#161f35;--text:#eef3ff;--muted:#8b9bb8;--line:#243049;--line-strong:#334466;--accent:#4f8cff;--accent-hover:#6aa0ff;--accent-soft:rgba(79,140,255,0.12);--good:#3dd68c;--warn:#f5b942;--bad:#f0436a;--info:#7aa2ff;--radius:12px;--shadow:0 8px 28px rgba(0,0,0,0.35);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(1200px 600px at 10% -10%,rgba(79,140,255,.12),transparent 55%),radial-gradient(900px 500px at 90% 0,rgba(61,214,140,.06),transparent 50%),var(--bg);color:var(--text);min-height:100%}a{color:var(--accent)}a,a:hover{text-decoration:none}a:hover{color:var(--accent-hover)}.shell{min-height:100vh;display:flex;flex-direction:column}.top{justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:rgba(10,14,24,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand,.top{display:flex;align-items:center}.brand{font-weight:750;letter-spacing:-.02em;color:var(--text);gap:10px;font-size:.98rem}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#7c5cff);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 6px 16px rgba(79,140,255,.35)}.nav{display:flex;gap:6px;flex-wrap:wrap}.nav a{color:var(--muted);padding:8px 12px;border-radius:999px;font-size:.9rem;font-weight:600}.nav a.active,.nav a:hover{color:var(--text);background:var(--accent-soft)}.main{width:min(1180px,100%);margin:0 auto;padding:22px 16px 80px;flex:1 1}h1{font-size:clamp(1.35rem,2.4vw,1.7rem);margin:0 0 6px;letter-spacing:-.03em;font-weight:750}h2{font-size:1.05rem;margin:28px 0 12px;letter-spacing:-.02em}h3{font-size:.95rem;margin:0 0 8px;font-weight:700}.muted{font-size:.92rem}.lead,.muted{color:var(--muted)}.lead{max-width:62ch;margin:0 0 18px}.kpis{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:16px 0 20px}.kpi-card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 12px;box-shadow:var(--shadow)}.kpi-card .label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.kpi-card .value{font-size:1.55rem;font-weight:750;margin-top:6px;letter-spacing:-.03em}.kpi-card .hint{color:var(--muted);font-size:.78rem;margin-top:4px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.card{background:linear-gradient(180deg,rgba(18,26,44,.98),rgba(14,20,34,.98));border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);padding:16px;box-shadow:var(--shadow)}.card.interactive{transition:border-color .15s ease,transform .15s ease}.card.interactive:hover{border-color:var(--line-strong);transform:translateY(-1px)}.card h3{margin:0 0 6px;font-size:1rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:white;border-radius:10px;padding:10px 14px;font-weight:650;cursor:pointer;font-size:14px;box-shadow:0 6px 16px rgba(79,140,255,.25)}.btn:hover{filter:brightness(1.05)}.btn.secondary{background:transparent;color:var(--text);border-color:var(--line-strong);box-shadow:none}.btn.secondary:hover{background:rgba(255,255,255,.03)}.btn.danger{background:var(--bad);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn.sm{padding:7px 10px;font-size:13px;border-radius:8px}input,select,textarea{width:100%;background:#0b1220;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font-size:16px}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(79,140,255,.65);box-shadow:0 0 0 3px rgba(79,140,255,.15)}label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:6px;font-weight:600}.field{margin-bottom:12px}.stack{display:flex;flex-direction:column;gap:10px}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;font-size:.72rem;border:1px solid var(--line);color:var(--muted);font-weight:650;letter-spacing:.01em}.badge.critical,.badge.high{color:#ffb4c4;border-color:#7a2744;background:#2a1018}.badge.medium{color:#ffd59a;border-color:#6a4a12;background:#241a08}.badge.info,.badge.low{color:#b9c9ff;border-color:#2c3f73;background:#121a30}.badge.good{color:#9af0c6;border-color:#1f6a48;background:#0e241a}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-weight:650;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.table tr:hover td{background:rgba(255,255,255,.015)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;font-weight:600}.chip.active,.chip:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.err{color:#ff8fa8;white-space:pre-wrap}.ok{color:var(--good)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:8px 0 14px}.search{min-width:min(320px,100%)}.split{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1.2fr 1fr}@media (max-width:900px){.split{grid-template-columns:1fr}}@media (max-width:640px){.top{padding:10px 12px}.main{padding:14px 12px 88px}.table thead{display:none}.table tr{display:block;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:8px}.table td{display:block;border:0;padding:4px 0}.btn{min-height:44px}}.prose{white-space:pre-wrap;color:var(--text);font-size:.92rem;line-height:1.55;max-height:420px;overflow:auto;background:#0b1220;border:1px solid var(--line);border-radius:10px;padding:12px}.empty{text-align:center;padding:28px 16px;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}