.dashboard-shell{width:min(1480px,100vw - 40px);margin:0 auto;padding:24px 0 48px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:0;margin-bottom:8px;font-size:clamp(28px,4vw,40px);line-height:1.08}h3{margin-bottom:14px;font-size:16px}h4{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:18px 0 10px;font-size:12px}.subtle,.metric span,.status-item span,.note{color:var(--muted)}.toolbar,.tabs,.filter-bar,.chart-controls,.legend-row,.segmented{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar select,.toolbar button,.filter-bar select,.filter-bar input,.filter-bar button,.chart-controls select,.segmented button,.tabs button,.search,.btn{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--text);border-radius:4px}.toolbar select,.filter-bar select,.filter-bar input,.chart-controls select,.search{padding:0 11px}.filter-bar input{width:min(280px,100%)}.btn,.tabs button,.segmented button{padding:0 13px}.btn:hover,.tabs button:hover,.segmented button:hover{border-color:var(--accent)}.date-pill{border:1px solid var(--line);background:var(--panel);border-radius:4px;min-height:42px;padding:6px 10px}.date-pill span{color:var(--muted);font-size:11px;display:block}.date-pill strong{font-size:14px;display:block}.status-strip{grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;margin-bottom:14px;display:grid}.status-strip.compact{grid-template-columns:repeat(2,minmax(180px,260px))}.status-item,.metric,.panel,.chart-card,.detail-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:6px}.status-item{padding:12px 14px}.status-item span{margin-bottom:4px;font-size:12px;display:block}.status-item strong{font-size:14px}.tone-ok{color:var(--ok)}.tone-warn{color:var(--warn)}.tone-danger{color:var(--danger)}.metric-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;display:grid}.quality-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.metric{min-height:98px;padding:16px}.metric span{font-size:12px;display:block}.metric strong{margin-top:11px;font-size:30px;line-height:1;display:block}.tabs{border-bottom:1px solid var(--line);margin:20px 0}.tabs button{color:var(--muted);background:0 0;border-bottom-color:#0000;margin-bottom:-1px}.tabs button.active{border-color:var(--line);border-bottom-color:var(--panel);background:var(--panel);color:var(--text)}.panel{padding:18px}.stack{gap:16px;display:grid}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chart-card,.detail-panel{padding:16px}.chart-controls{margin-bottom:12px}.segmented{gap:0}.segmented button{background:var(--panel-muted);color:var(--muted);border-right:0;border-radius:0}.segmented button:first-child{border-radius:4px 0 0 4px}.segmented button:last-child{border-right:1px solid var(--line);border-radius:0 4px 4px 0}.segmented button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.legend-row{color:var(--muted);margin:4px 0 8px;font-size:12px}.legend-row span{cursor:default;align-items:center;gap:5px;transition:opacity .15s;display:inline-flex}.legend-row span.dimmed{opacity:.28}.legend-row i{width:9px;height:9px;display:inline-block}.tooltip{border:1px solid var(--line);background:var(--panel);max-width:340px;box-shadow:var(--shadow);border-radius:4px;padding:10px 12px;font-size:12px}.tooltip strong,.tooltip span,.tooltip em{display:block}.tooltip em{color:var(--muted);font-style:normal}.bar-tooltip{min-width:120px;box-shadow:var(--shadow);color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;padding:8px 10px;font-size:12px}.bar-tooltip strong,.bar-tooltip span{display:block}.bar-tooltip strong{color:#020617;margin-bottom:3px;font-weight:800}.bar-list{gap:10px;display:grid}.bar-row{grid-template-columns:minmax(150px,1.4fr) minmax(120px,2fr) 64px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-row span,td{overflow-wrap:anywhere}.bar-row div{background:var(--panel-muted);border-radius:2px;height:8px;overflow:hidden}.bar-row i{background:var(--accent);height:100%;display:block}.split{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px;display:grid}.search{width:min(380px,100%)}.table-wrap{border:1px solid var(--line);border-radius:4px;max-height:680px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 11px}th{z-index:1;background:var(--panel-muted);color:var(--muted);font-size:12px;font-weight:700;position:sticky;top:0}tbody tr{transition:background .15s}tbody tr:hover,tbody tr.selected{background:var(--accent-soft)}.detail-panel{min-height:360px}.detail-panel p{color:var(--muted)}.detail-panel strong{margin-bottom:8px;font-size:32px;display:block}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag-list span,.method,.review-badge{border:1px solid var(--line);background:var(--panel-muted);border-radius:4px;padding:4px 7px;font-size:12px}.method.ok{border-color:color-mix(in srgb, var(--ok), var(--line) 40%);color:var(--ok)}.method.warn{border-color:color-mix(in srgb, var(--warn), var(--line) 40%);color:var(--warn)}.method.danger{border-color:color-mix(in srgb, var(--danger), var(--line) 40%);color:var(--danger)}.review-badge{color:var(--muted);display:inline-block}.section-note{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:-6px 0 14px;font-size:13px;display:flex}.toggle{min-height:36px;color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.alert,.loading,.empty{border:1px solid var(--line);background:var(--panel-muted);color:var(--muted);border-radius:4px;padding:12px}.alert{border-color:color-mix(in srgb, var(--danger), var(--line) 45%);color:var(--danger);margin-bottom:14px}.loading{margin-bottom:14px}@media (max-width:1180px){.metric-grid,.status-strip,.overview-grid,.split{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dashboard-shell{width:min(100vw - 24px,720px);padding-top:16px}.topbar,.split{display:block}.toolbar{margin-top:16px}.metric-grid,.status-strip,.overview-grid,.bar-row{grid-template-columns:1fr}.detail-panel{margin-top:16px}.panel{padding:12px}}
