.table-panel { padding:0; overflow:hidden; }
.table-panel .panel-header { padding:14px 15px 0; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:.79rem; }
th, td { padding:9px 11px; border-top:1px solid var(--border); text-align:left; white-space:nowrap; vertical-align:top; }
th { position:sticky; top:0; z-index:2; background:var(--bg-soft); color:var(--muted); font-size:.69rem; text-transform:uppercase; letter-spacing:.05em; }
td { color:var(--text); font-family:var(--mono); }
td.num, th.num { text-align:right; }
.clickable-row { cursor:pointer; }
.clickable-row:hover td { background:var(--table-hover); }
.empty-cell { color:var(--muted); text-align:center; font-family:var(--font); padding:28px; }
.row-actions { display:flex; gap:6px; }
.explorer-table-wrap { max-height:calc(100vh - 300px); min-height:300px; }
.explorer-table th { top:0; }
.matrix-wrap { overflow:auto; border:1px solid var(--border); border-radius:8px; }
.daily-matrix { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; }
.daily-matrix th, .daily-matrix td { border-top:0; border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:0; background:var(--bg-soft); }
.daily-matrix thead th { position:sticky; top:0; z-index:3; min-width:82px; height:52px; padding:7px; text-align:center; background:var(--hover-bg); }
.daily-matrix thead th span, .daily-matrix thead th small { display:block; }
.daily-matrix thead th small { margin-top:3px; color:var(--text-dim); font-size:.62rem; }
.daily-matrix .matrix-corner { left:0; z-index:5; min-width:190px; text-align:left; padding-left:12px; }
.daily-matrix .matrix-device { position:sticky; left:0; z-index:2; min-width:190px; background:var(--bg-soft); }
.matrix-device button { width:100%; height:54px; padding:6px 11px; border:0; background:transparent; color:var(--text); text-align:left; }
.matrix-device strong, .matrix-device small { display:block; }
.matrix-device small { color:var(--muted); font:10px var(--mono); margin-top:3px; text-transform:none; letter-spacing:0; }
.matrix-cell { width:100%; min-width:82px; height:54px; border:0; border-radius:0; color:var(--matrix-text); font:700 12px var(--mono); }
.matrix-cell:hover { box-shadow:inset 0 0 0 2px #5ab0ff; position:relative; z-index:1; }
.matrix-pass { background:#12331f; color:#9fe0b9; }
.matrix-warn { background:#352c15; color:var(--warn-text); }
.matrix-fail { background:#3a1c1c; color:var(--bad-text); }
.matrix-empty { background:var(--bg-soft); color:var(--text-dim); }
.heat-0 { background:#102018; } .heat-1 { background:#133022; } .heat-2 { background:#173b28; } .heat-3 { background:#1b4730; } .heat-4 { background:#22513a; }
.heat-5 { background:#425132; } .heat-6 { background:#67532d; } .heat-7 { background:#7d4a2a; } .heat-8 { background:#8f3f2c; } .heat-9 { background:#9d3333; }
@media (max-width:700px) { th, td { padding:8px 9px; } .daily-matrix .matrix-corner, .daily-matrix .matrix-device { min-width:160px; } }
