* { box-sizing: border-box; }
body { font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif; margin:0; color:#123; background:#f7f9fb; }
header { background:#16324f; color:#fff; padding:1rem 1.25rem; }
h1 { margin:0 0 .75rem; font-size:1.4rem; }
#controls { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
#controls label { font-size:.85rem; display:flex; flex-direction:column; gap:.15rem; color:#eee; }
#controls select, #controls input { padding:.35rem .5rem; border:1px solid #366; border-radius:4px; background:#fff; min-width:9rem; }
button { padding:.45rem .9rem; border:1px solid #0b5; background:#0b5; color:#fff; border-radius:4px; cursor:pointer; font-weight:600; }
button:hover { background:#0a4; }
#status { font-size:.75rem; color:#ccc; }
#legend { margin-top:.5rem; font-size:.7rem; color:#ddd; }
.icon.high { color:#d93025; }
.icon.none { color:#2e8540; }
main { padding:1rem 1.25rem; }
table { border-collapse: collapse; width:100%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }
thead { background:#e2eaf1; position:sticky; top:0; z-index:2; }
th, td { padding:.4rem .5rem; font-size:.72rem; border-bottom:1px solid #dde4ea; vertical-align:top; }
tbody tr { cursor:pointer; }
tbody tr:hover { background:#f0f6fa; }
tbody tr.details-row:hover { background:transparent; }
tbody tr.high-priority { background:#fff3f3; }
tbody tr.high-priority:hover { background:#ffe9e9; }
.flag { font-size:1rem; text-align:center; width:2rem; }
#detailsPanel { margin-top:1rem; background:#fff; padding:1rem 1.25rem; border:1px solid #d1dae1; border-radius:6px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
#detailsPanel.hidden { display:none; }
#detailsPanel h2 { margin-top:0; font-size:1rem; }
.pill { display:inline-block; padding:.15rem .5rem; border-radius:999px; font-size:.6rem; font-weight:600; letter-spacing:.5px; background:#eef3f7; margin:0 .25rem .25rem 0; }
.pill.high { background:#d93025; color:#fff; }
.pill.medium { background:#ffb300; color:#222; }
.pill.low { background:#2e8540; color:#fff; }
ul.msgs { margin:.5rem 0 1rem; padding-left:1.2rem; }
ul.msgs li { margin-bottom:.35rem; line-height:1.15rem; }
code { background:#f0f3f6; padding:.1rem .25rem; border-radius:4px; font-size:.65rem; }
footer { margin:2rem 0 0; padding:1rem 1.25rem; font-size:.65rem; color:#567; }
@media (max-width:900px){ th:nth-child(3), td:nth-child(3), th:nth-child(7), td:nth-child(7) { display:none; } }
