:root { color-scheme: dark; --bg:#0b0f14; --panel:#121923; --line:#263241; --text:#e7edf5; --muted:#92a1b3; --accent:#76b7ff; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,Segoe UI,sans-serif; background:var(--bg); color:var(--text); }
header { display:flex; justify-content:space-between; gap:1rem; padding:1.4rem 2rem; border-bottom:1px solid var(--line); background:#0e141c; }
h1,h2,h3,p { margin-top:0; } header p,.section-head p { color:var(--muted); margin-bottom:0; }
main { max-width:1600px; margin:auto; padding:1.5rem; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1rem; margin-bottom:1rem; }
.filters { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; }
.field { min-width:180px; } .field.grow { flex:1; min-width:260px; } .field.small { min-width:150px; }
label { color:#cbd6e2; font-size:.9rem; }
input[type=text],input[type=search],select { width:100%; margin-top:.35rem; padding:.65rem .7rem; background:#0b1118; border:1px solid #334357; border-radius:7px; color:var(--text); }
.toggles { display:flex; flex-wrap:wrap; gap:1rem; width:100%; }
.section-head { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
button { background:#202c3a; color:var(--text); border:1px solid #3a4a5f; border-radius:7px; padding:.55rem .8rem; cursor:pointer; margin-left:.4rem; }
button.primary { background:#173a5f; border-color:#3478b9; }
.feature-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.feature-group { border:1px solid var(--line); border-radius:9px; padding:.75rem; }
.feature-group h3 { font-size:.95rem; color:var(--muted); margin-bottom:.65rem; }
.feature-list { display:flex; flex-direction:column; gap:.45rem; }
.summary { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:1rem; margin-bottom:1rem; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1rem; }
.card .value { font-size:1.7rem; font-weight:700; } .card .label { color:var(--muted); font-size:.85rem; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th,td { text-align:left; vertical-align:top; padding:.8rem .7rem; border-top:1px solid var(--line); } th { color:#9fb0c3; white-space:nowrap; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.badge { display:inline-block; border-radius:999px; padding:.2rem .5rem; font-size:.76rem; border:1px solid #44566c; white-space:nowrap; }
.badge.critical { border-color:#ff6b6b; color:#ff8a8a; } .badge.high { border-color:#ffb65c; color:#ffc477; } .badge.medium { border-color:#e4d96f; color:#eee58c; } .badge.low { color:#9fb0c3; }
.reason { display:block; color:#c9d3df; margin-bottom:.25rem; } .reason .weight { color:#93a5b8; }
.sync { color:var(--muted); font-size:.86rem; text-align:right; }
dialog { width:min(1000px,92vw); max-height:88vh; overflow:auto; background:#101720; color:var(--text); border:1px solid #3a4a5f; border-radius:12px; }
dialog::backdrop { background:rgba(0,0,0,.7); }.dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.detail-grid{display:grid;grid-template-columns:180px 1fr;gap:.45rem 1rem}.journal{border-top:1px solid var(--line);padding:.7rem 0}.muted{color:var(--muted)}
@media(max-width:800px){header{padding:1rem;flex-direction:column}.summary{grid-template-columns:repeat(2,1fr)}main{padding:.8rem}.detail-grid{grid-template-columns:1fr}}

.tiny{font-size:.72rem;margin-top:.25rem} pre{white-space:pre-wrap;word-break:break-word;background:#0b1118;border:1px solid var(--line);padding:.7rem;border-radius:7px;max-height:340px;overflow:auto}
