:root{--bg:#0b0f14;--fg:#e6f2ff;--muted:#9bb4c9;--accent:#0ea5e9;--border:rgba(255,255,255,.12);--danger:#ef4444;--warn:#f59e0b;--ok:#10b981}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Inter,Roboto,Arial,sans-serif;line-height:1.6}
.container{max-width:1150px;margin:0 auto;padding:22px}
.header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.title-wrap h1{margin:0}
.muted{color:var(--muted)}
.small{font-size:12px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;border:1px solid var(--border);padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.03);cursor:pointer}
.btn:hover{background:rgba(255,255,255,.06)}
.btn.primary{border-color:rgba(14,165,233,.35);background:rgba(14,165,233,.12)}
.input,select{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--fg);border-radius:12px;padding:10px 12px}
.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}
.toolbar .left,.toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:8px 0 14px}
.stat{border:1px solid var(--border);border-radius:14px;padding:12px;background:rgba(255,255,255,.03)}
.stat .value{font-size:20px;font-weight:600}
.panels{display:grid;grid-template-columns:1fr;gap:14px}
.grid{width:100%;border-collapse:separate;border-spacing:0}
.grid thead th{position:sticky;top:0;background:rgba(255,255,255,.04);text-align:left;padding:10px;border-bottom:1px solid var(--border)}
.grid tbody td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top}
.num{text-align:right}
.issue-table tbody tr.sev-error{background:rgba(239,68,68,.08)}
.issue-table tbody tr.sev-warn{background:rgba(245,158,11,.08)}
.issue-table tbody tr.sev-info{background:rgba(14,165,233,.08)}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px}
.badge.ok{border-color:rgba(16,185,129,.5)}
.badge.warn{border-color:rgba(245,158,11,.5)}
.badge.err{border-color:rgba(239,68,68,.5)}
@media print{ .actions,.toolbar{display:none} body{background:white;color:black} .container{max-width:100%} .stat,.grid{page-break-inside:avoid} }
