.dashboard-hero { background: var(--bg-primary); }
.dashboard-section { padding-top: 42px; }
.dashboard-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); margin-bottom:1px; }
.dashboard-stat { background:var(--surface); padding:20px; min-height:104px; display:flex; flex-direction:column; justify-content:space-between; }
.dashboard-stat span { color:var(--text-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; font-weight:800; font-family:var(--font-mono); }
.dashboard-stat strong { color:var(--accent-red); font-size:1.9rem; line-height:1; font-family:var(--font-mono); }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top: 32px; }
.dashboard-panel { background:var(--surface); padding:24px; }
.panel-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:24px; }
.panel-heading h2 { font-size:1.5rem; }
.donut-layout { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(280px,1.2fr); gap:28px; align-items:center; }
.industry-donut { width:min(280px,100%); aspect-ratio:1; border-radius:50%; position:relative; margin:auto; box-shadow:inset 0 0 0 1px var(--border); }
.industry-donut::after { content:""; position:absolute; inset:23%; border-radius:50%; background:var(--surface); border:1px solid var(--border); }
.donut-center { position:absolute; inset:32%; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.donut-center strong { font-size:1.6rem; color:var(--text-primary); font-family:var(--font-mono); }
.donut-center span { color:var(--text-muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.donut-legend,.ranking-list { display:grid; gap:1px; }
.legend-row { display:grid; grid-template-columns:12px minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 10px; }
.legend-row:hover { background:var(--surface-hover); }
.legend-swatch { width:10px; height:10px; }
.legend-name { color:var(--text-secondary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.legend-row strong { color:var(--text-primary); font-size:.84rem; font-family:var(--font-mono); }
.ranking-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 0; border-bottom:1px solid var(--border); }
.ranking-row:last-child { border-bottom:0; }
.rank-number { color:var(--accent-red); font-family:var(--font-mono); font-weight:900; }
.rank-copy { display:flex; flex-direction:column; min-width:0; }
.rank-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rank-copy small { color:var(--text-muted); }
.rank-share { color:var(--text-secondary); font-weight:800; font-family:var(--font-mono); }
.incident-table-wrap { overflow-x:auto; border:1px solid var(--border); background:var(--surface); }
.incident-table { width:100%; border-collapse:collapse; min-width:760px; }
.incident-table th,.incident-table td { padding:15px 16px; text-align:left; border-bottom:1px solid var(--border); }
.incident-table th { color:var(--text-muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-mono); }
.incident-table td { color:var(--text-secondary); }
.incident-table tr:last-child td { border-bottom:0; }
.incident-table tbody tr:hover { background:var(--surface-hover); }
.global-monitor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.global-region { min-height:300px; display:flex; flex-direction:column; }
.global-description { color:var(--text-muted); min-height:52px; margin:0 0 20px; font-family: var(--font-body); }
.global-count { color:var(--accent-red); font-size:2.2rem; line-height:1; font-family:var(--font-mono); }
.global-count-label { color:var(--text-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; margin-top:7px; }
.global-latest { border-top:1px solid var(--border); margin-top:auto; padding-top:18px; display:grid; gap:5px; }
.global-latest span,.global-latest small { color:var(--text-muted); font-size:.76rem; }
.global-latest a { font-weight:700; line-height:1.3; }
.global-source-list { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); overflow:hidden; }
.global-source { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; background:var(--surface); padding:17px 20px; }
.global-source-status { color:var(--text-muted); font-size:.8rem; font-family: var(--font-mono); }
.archive-summary { margin-bottom: 32px; }
@media (max-width: 980px) {
  .dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid,.donut-layout,.global-monitor-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .dashboard-stats { grid-template-columns:1fr; }
  .dashboard-panel { padding:18px; }
  .global-source { grid-template-columns:1fr; gap:7px; }
}
