:root {
  --bg: #1b2445;
  --ink: #f0f4ff;
  --muted: #b7c0e1;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  background: radial-gradient(circle at 50% 10%, #374985 0%, var(--bg) 55%);
}

.app {
  width: min(1320px, 100vw);
  margin: 0 auto;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.dashboard-view { display: grid; gap: 12px; }

.dashboard-hero,
.dash-panel {
  border: 1px solid rgba(226, 234, 255, 0.18);
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(248, 203, 109, 0.18), transparent 28%),
    linear-gradient(160deg, rgba(33, 44, 88, 0.96), rgba(17, 24, 52, 0.96));
}

.dashboard-hero {
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.eyebrow {
  margin: 0 0 8px;
  color: #f4d98b;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
}

.dashboard-hero h1 { margin: 0; font-size: 28px; }
.dashboard-summary { margin: 10px 0 0; color: #cad5ff; max-width: 700px; }

.hero-actions {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.hero-actions button {
  background: linear-gradient(135deg, #f4d98b, #f0a35a);
  color: #1c2140;
  font-weight: 700;
  border: 1px solid rgba(255, 238, 181, 0.6);
  border-radius: 8px;
  padding: 6px 10px;
  cursor: pointer;
}

.hero-actions button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.hero-accent { min-width: 220px; display: grid; justify-items: center; gap: 12px; }

.hero-ring {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(28, 37, 73, 0.4) 35%, transparent 36%),
    conic-gradient(from 90deg, #f6dc91, #74b2ff, #87d4b1, #f6dc91);
  box-shadow: 0 0 30px rgba(116, 178, 255, 0.18);
}

.hero-copy { color: #d9e1ff; font-size: 13px; }

.overview-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

.overview-card {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(212, 223, 255, 0.14);
  background: linear-gradient(160deg, rgba(27, 38, 77, 0.9), rgba(18, 25, 55, 0.9));
  display: grid;
  gap: 8px;
}

.overview-label { color: #aebbe8; font-size: 12px; }
.overview-value { font-size: 28px; color: #fff7e2; }
.overview-hint { color: #d2daf9; font-size: 12px; }

.dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dash-panel { padding: 16px; }
.panel-span-2 { grid-column: span 2; }
.panel-span-4 { grid-column: span 4; }

.panel-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.panel-head h2 { margin: 0; font-size: 16px; }
.diag-switcher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d9e1ff;
  font-size: 12px;
}

.diag-switcher select {
  appearance: none;
  -webkit-appearance: none;
  background: #22315f;
  color: #f0f4ff;
  border: 1px solid rgba(226, 234, 255, 0.2);
  border-radius: 10px;
  padding: 6px 10px;
  min-width: 180px;
}

.diag-switcher select:focus {
  outline: none;
  border-color: rgba(126, 188, 255, 0.75);
  box-shadow: 0 0 0 3px rgba(126, 188, 255, 0.18);
}

.diag-switcher select option {
  background: #22315f;
  color: #f0f4ff;
}

.diag-summary-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.diag-trend-wrap {
  margin-top: 12px;
}

.diag-trend-card {
  border-radius: 14px;
  padding: 14px;
  background: rgba(244, 247, 255, 0.05);
  border: 1px solid rgba(231, 238, 255, 0.08);
}

.diag-trend-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.diag-trend-head strong {
  font-size: 14px;
}

.diag-trend-head span {
  color: #cfd8fb;
  font-size: 12px;
}

.diag-trend-tabs {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.diag-trend-tab {
  border: 1px solid rgba(226, 234, 255, 0.16);
  background: rgba(244, 247, 255, 0.06);
  color: #d8e1ff;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
}

.diag-trend-tab-active {
  background: rgba(126, 188, 255, 0.18);
  border-color: rgba(126, 188, 255, 0.48);
  color: #fff9e8;
}

.diag-trend-summary {
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(143, 209, 255, 0.08);
  border: 1px solid rgba(143, 209, 255, 0.14);
  color: #e3ecff;
  font-size: 12px;
  line-height: 1.5;
}

.diag-trend-recommendation {
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(246, 214, 139, 0.09);
  border: 1px solid rgba(246, 214, 139, 0.2);
  color: #fff1c9;
  font-size: 12px;
  line-height: 1.5;
}

.diag-trend-chart {
  width: 100%;
  height: 76px;
  display: block;
}

.trend-axis {
  stroke: rgba(226, 234, 255, 0.24);
  stroke-width: 1;
}

.trend-line {
  fill: none;
  stroke-width: 2.5;
}

.trend-line-head {
  stroke: #8fd1ff;
}

.trend-line-bomb {
  stroke: #f6d68b;
}

.trend-line-double {
  stroke: #73d6bb;
}

.trend-line-control {
  stroke: #8fd1ff;
}

.trend-line-support {
  stroke: #f6d68b;
}

.diag-trend-bars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(6px, 1fr));
  gap: 3px;
  margin-top: 8px;
}

.trend-bar {
  display: block;
  height: 10px;
  border-radius: 999px;
}

.trend-bar-win {
  background: #2a7f62;
}

.trend-bar-double {
  background: #b88416;
}

.trend-bar-loss {
  background: rgba(226, 234, 255, 0.18);
}

.trend-bar-good {
  background: #2a7f62;
}

.trend-bar-mid {
  background: #b88416;
}

.trend-bar-risk {
  background: #b8583c;
}

.diag-trend-legend {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 10px;
  color: #cfd8fb;
  font-size: 12px;
}

.legend-dot,
.legend-chip {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}

.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.legend-head {
  background: #8fd1ff;
}

.legend-bomb {
  background: #f6d68b;
}

.legend-double {
  background: #73d6bb;
}

.legend-control {
  background: #8fd1ff;
}

.legend-support {
  background: #f6d68b;
}

.legend-risk {
  background: #e07c5f;
}

.legend-chip {
  width: 14px;
  height: 10px;
  border-radius: 999px;
}

.diag-summary-card {
  border-radius: 14px;
  padding: 14px;
  background: rgba(244, 247, 255, 0.05);
  border: 1px solid rgba(231, 238, 255, 0.08);
}

.diag-summary-card h3 {
  margin: 0 0 10px;
  font-size: 14px;
}

.diag-summary-list {
  display: grid;
  gap: 8px;
}

.diag-summary-item {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 12px;
}

.diag-summary-item strong {
  font-size: 13px;
}

.diag-summary-item span,
.diag-summary-item em,
.diag-summary-empty {
  font-size: 12px;
}

.diag-summary-item-strength {
  background: rgba(42, 127, 98, 0.18);
  color: #dff7ea;
}

.diag-summary-item-gap {
  background: rgba(184, 88, 60, 0.18);
  color: #ffe0d6;
}

.diag-summary-empty {
  color: #cfd8fb;
}

.insight-list { display: grid; gap: 10px; }

.insight-card {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(241, 246, 255, 0.06);
  border: 1px solid rgba(231, 238, 255, 0.08);
}

.insight-card p { margin: 0; color: #e9eeff; line-height: 1.5; }

.insight-index {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #f3d58e, #f09d62);
  color: #182248;
  font-weight: 800;
}

.metric-list { display: grid; gap: 10px; }
.metric-row { display: grid; gap: 8px; }
.metric-meta { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: #e9efff; }
.metric-name { color: #d9e1ff; }
.metric-value { color: #fff0ca; }

.metric-track {
  height: 9px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(226, 235, 255, 0.1);
}

.metric-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #80c4ff, #f7d68a);
}

.table-list { display: grid; gap: 8px; }

.table-head,
.table-row {
  display: grid;
  grid-template-columns: 2fr 0.9fr 0.8fr 1.2fr;
  gap: 12px;
  align-items: center;
}

.table-head {
  color: #9fb0e6;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.table-row {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #ecf1ff;
}

#player-archetypes .table-head,
#player-archetypes .table-row,
#partnership-archetypes .table-head,
#partnership-archetypes .table-row {
  grid-template-columns: 1.35fr 0.95fr 0.55fr 1.75fr;
}

#player-archetypes .table-row,
#partnership-archetypes .table-row {
  font-size: 13px;
}

#player-archetypes .table-row span:last-child,
#partnership-archetypes .table-row span:last-child {
  white-space: nowrap;
  font-size: 12px;
}

#style-metrics-pair-table .table-row span:last-child,
#style-metrics-scenario-table .table-row span:last-child,
#style-metrics-label-table .table-row span:last-child {
  line-height: 1.35;
}

#style-metrics-player-heatmap .heatmap-header,
#style-metrics-player-heatmap .heatmap-cell {
  min-height: 48px;
}

#style-metrics-player-heatmap .heatmap-cell {
  font-size: 13px;
}

.distribution-list { display: grid; gap: 10px; }

.distribution-row {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(244, 247, 255, 0.05);
  border: 1px solid rgba(231, 238, 255, 0.08);
}

.distribution-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  flex-wrap: wrap;
}

.distribution-name { color: #ecf1ff; font-weight: 700; }
.distribution-note { color: #aebbe8; font-size: 12px; margin-top: 3px; }
.distribution-values { display: flex; gap: 10px; flex-wrap: wrap; font-size: 12px; color: #d9e1ff; }

.distribution-track {
  display: flex;
  width: 100%;
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(226, 235, 255, 0.1);
}

.distribution-segment { display: block; height: 100%; }
.distribution-rank-1 { background: #f7d68a; }
.distribution-rank-2 { background: #80c4ff; }
.distribution-rank-3 { background: #87d4b1; }
.distribution-rank-4 { background: #b8583c; }

.flow-list { display: grid; gap: 10px; }

.flow-row {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(244, 247, 255, 0.05);
  border: 1px solid rgba(231, 238, 255, 0.08);
}

.flow-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  flex-wrap: wrap;
}

.flow-name { color: #ecf1ff; font-weight: 700; }
.flow-sample { color: #aebbe8; font-size: 12px; margin-top: 3px; }
.flow-values { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; }
.flow-value { font-weight: 700; }
.flow-opponent { color: #ffb4a8; }
.flow-partner { color: #ffe09a; }
.flow-self { color: #b8efcf; }

.flow-track {
  display: flex;
  width: 100%;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(226, 235, 255, 0.1);
}

.flow-segment { display: block; height: 100%; }
.flow-segment-opponent { background: #b8583c; }
.flow-segment-partner { background: #b88416; }
.flow-segment-self { background: #2a7f62; }

.flow-empty {
  padding: 14px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #cfd8fb;
}

.overview-cards-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bomb-group { display: grid; gap: 10px; }
.bomb-group + .bomb-group { margin-top: 16px; }

.bomb-group-title {
  color: #f4d98b;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.bomb-table { display: grid; gap: 8px; }

.bomb-table-head,
.bomb-table-row {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) 0.8fr 0.8fr;
  gap: 12px;
  align-items: center;
}

.bomb-table-head {
  color: #9fb0e6;
  font-size: 12px;
  letter-spacing: 0.06em;
}

.bomb-table-row {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #ecf1ff;
}

.bomb-table-row span:first-child {
  color: #dbe3ff;
  line-height: 1.35;
}

.bomb-table-row span:nth-child(2),
.bomb-table-row span:nth-child(3) {
  font-size: 24px;
  font-weight: 800;
  color: #fff7e2;
}
.bomb-chip-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.bomb-chip {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #ecf1ff;
}
.bomb-chip strong { color: #fff3cd; }
.bomb-chip span { color: #d8e2ff; font-size: 12px; }
.bomb-chip em { color: #f4d98b; font-style: normal; font-weight: 800; }

.heatmap-panel { display: grid; gap: 10px; padding-bottom: 0; }
.heatmap-legend { color: #cfd8fb; font-size: 12px; }
.heatmap-grid {
  display: grid;
  gap: 1px;
  width: 100%;
  background: rgba(226, 235, 255, 0.08);
  border: 1px solid rgba(226, 235, 255, 0.08);
  border-radius: 14px;
  overflow: hidden;
}
.heatmap-corner,
.heatmap-header,
.heatmap-player,
.heatmap-cell {
  min-height: 52px;
  display: grid;
  place-items: center;
  padding: 6px 4px;
}

.heatmap-corner,
.heatmap-header,
.heatmap-player {
  background: rgba(26, 35, 72, 0.92);
}
.heatmap-header {
  color: #e8eeff;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}
.heatmap-player {
  justify-items: start;
  align-content: center;
  color: #ecf1ff;
  font-weight: 700;
  font-size: 12px;
  padding-left: 8px;
  line-height: 1.15;
}
.heatmap-player span {
  margin-top: 2px;
  color: #aebbe8;
  font-size: 10px;
  font-weight: 400;
}
.heatmap-cell {
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  line-height: 1;
  background: transparent;
}
.diag-grid {
  display: grid;
  gap: 8px;
  align-items: stretch;
}

.diag-grid-wide {
  overflow-x: auto;
  padding-bottom: 4px;
}

.diag-corner {
  min-height: 44px;
}

.diag-header {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #d9e1ff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.diag-row-label {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #ecf1ff;
  font-weight: 700;
}

.diag-row-label span {
  color: #aebbe8;
  font-size: 11px;
  font-weight: 500;
}

.diag-cell {
  min-height: 72px;
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 10px 8px;
  border-radius: 12px;
  border: 1px solid rgba(31, 39, 74, 0.08);
  text-align: center;
}

.diag-cell strong {
  font-size: 15px;
}

.diag-cell span {
  font-size: 11px;
}
.path-grid { display: grid; gap: 8px; }

.path-card {
  padding: 12px;
  border-radius: 12px;
  background: rgba(244, 247, 255, 0.05);
  color: #ecf1ff;
  display: grid;
  gap: 6px;
}

.path-card strong { color: #fff3cd; }
.path-card span { color: #cfd8fb; font-size: 12px; }

@media (max-width: 900px) {
  .dashboard-hero { grid-template-columns: 1fr; display: grid; }
  .overview-cards { grid-template-columns: 1fr; }
  .overview-cards-compact { grid-template-columns: 1fr; }
  .bomb-chip-list { grid-template-columns: 1fr; }
  .bomb-table-head,
  .bomb-table-row { grid-template-columns: minmax(0, 1.8fr) 0.8fr 0.8fr; }
  .heatmap-header,
  .heatmap-player,
  .heatmap-cell { min-height: 46px; padding: 6px 4px; }
  .heatmap-header { font-size: 10px; }
  .heatmap-player { font-size: 11px; }
  .heatmap-player span { font-size: 9px; }
  .heatmap-cell { font-size: 12px; }
  .bomb-table-row span:nth-child(2),
  .bomb-table-row span:nth-child(3) { font-size: 20px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .panel-span-2 { grid-column: span 1; }
  .panel-span-4 { grid-column: span 1; }
  .table-head,
  .table-row { grid-template-columns: 1.6fr 0.8fr 0.7fr 1fr; }
  #player-archetypes .table-head,
  #player-archetypes .table-row,
  #partnership-archetypes .table-head,
  #partnership-archetypes .table-row { grid-template-columns: 1.2fr 0.9fr 0.55fr 1.55fr; }
  #player-archetypes .table-row,
  #partnership-archetypes .table-row { font-size: 12px; }
  #player-archetypes .table-row span:last-child,
  #partnership-archetypes .table-row span:last-child { font-size: 11px; }
}

/* Command-center dashboard overrides */
body {
  background:
    radial-gradient(circle at 50% 8%, rgba(69, 91, 143, 0.34) 0%, transparent 40%),
    radial-gradient(circle at 20% 12%, rgba(125, 167, 255, 0.08) 0%, transparent 28%),
    linear-gradient(180deg, #15213a 0%, #0f172a 48%, #0b1221 100%);
}

.dashboard-view {
  --cc-bg: #0f172a;
  --cc-bg-alt: #162238;
  --cc-surface: rgba(18, 28, 48, 0.92);
  --cc-surface-strong: rgba(22, 34, 57, 0.98);
  --cc-surface-soft: rgba(255, 255, 255, 0.045);
  --cc-surface-faint: rgba(255, 255, 255, 0.02);
  --cc-border: rgba(211, 223, 255, 0.13);
  --cc-border-strong: rgba(211, 223, 255, 0.2);
  --cc-ink: #f1f5ff;
  --cc-muted: #b9c5e5;
  --cc-muted-strong: #d7e0f7;
  --cc-accent: #89bfff;
  --cc-accent-2: #f2d58a;
  --cc-accent-3: #7ed7b2;
  --cc-shadow: 0 18px 44px rgba(5, 10, 24, 0.34);
  --cc-shadow-soft: 0 10px 28px rgba(5, 10, 24, 0.2);
}

.dashboard-command {
  display: grid;
  gap: 14px;
}

.dashboard-hero,
.dash-panel {
  border: 1px solid var(--cc-border);
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(242, 213, 138, 0.14), transparent 30%),
    linear-gradient(160deg, rgba(24, 35, 58, 0.98), rgba(13, 20, 36, 0.98));
  box-shadow: var(--cc-shadow-soft);
}

.dashboard-hero {
  padding: 22px 24px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 24px;
}

.dashboard-hero--command {
  align-items: stretch;
}

.hero-copy-block {
  display: grid;
  gap: 10px;
  max-width: 740px;
}

.hero-kpis {
  min-width: min(420px, 100%);
  display: grid;
  gap: 14px;
  align-content: start;
}

.hero-insights {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hero-insights span {
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(211, 223, 255, 0.12);
  color: var(--cc-muted-strong);
  font-size: 12px;
  letter-spacing: 0.02em;
}

.hero-actions button {
  background: linear-gradient(135deg, #f2d58a, #ecaa67);
  color: #1c2140;
  font-weight: 700;
  border: 1px solid rgba(255, 238, 181, 0.5);
  border-radius: 8px;
  padding: 8px 12px;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(149, 101, 24, 0.18);
}

.hero-actions .dashboard-summary {
  margin-top: 0;
  max-width: none;
  color: var(--cc-muted);
  font-size: 12px;
  line-height: 1.4;
}

.dashboard-summary {
  color: var(--cc-muted);
}

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.9fr);
  gap: 14px;
  align-items: start;
}

.dashboard-main-grid > .dash-panel.panel-span-4 {
  grid-column: 1 / -1;
  padding: 20px;
  background:
    radial-gradient(circle at top right, rgba(138, 190, 255, 0.14), transparent 28%),
    linear-gradient(160deg, rgba(22, 33, 56, 0.98), rgba(10, 16, 30, 0.98));
  box-shadow: var(--cc-shadow);
}

.dashboard-main-grid > .dash-panel.panel-span-4 .panel-head {
  margin-bottom: 14px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .panel-head h2 {
  font-size: 18px;
  letter-spacing: 0.01em;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .diag-trend-wrap {
  margin-top: 14px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .diag-trend-card {
  padding: 16px;
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(211, 223, 255, 0.1);
}

.dashboard-side-stack {
  grid-column: 1;
  display: grid;
  gap: 12px;
  align-content: start;
}

.dashboard-side-stack .dash-panel {
  padding: 14px;
}

.dashboard-side-stack .chart-mount {
  min-height: 190px;
}

.dashboard-dense-grid {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-content: start;
}

.dashboard-dense-grid .dash-panel {
  padding: 14px;
}

.dashboard-dense-grid .chart-mount {
  min-height: 180px;
}

.dashboard-supplementary {
  display: grid;
  gap: 12px;
}

.dashboard-supplementary .dashboard-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.dashboard-supplementary .dash-panel {
  background: linear-gradient(160deg, rgba(22, 33, 56, 0.95), rgba(13, 20, 36, 0.97));
  border-color: rgba(211, 223, 255, 0.1);
}

.chart-panel,
.chart-mount,
[id$='-chart'] {
  width: 100%;
  min-height: 210px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.42), rgba(15, 23, 42, 0.18)),
    rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(211, 223, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  overflow: hidden;
}

.chart-panel:empty,
.chart-mount:empty,
[id$='-chart']:empty {
  min-height: 180px;
}

.chart-panel > *,
.chart-mount > *,
[id$='-chart'] > * {
  max-width: 100%;
}

.dash-panel .panel-head h2 {
  color: #f3f7ff;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .diag-trend-summary,
.dashboard-main-grid > .dash-panel.panel-span-4 .diag-trend-recommendation {
  background: rgba(255, 255, 255, 0.05);
}

.dashboard-command .overview-card,
.dashboard-command .insight-card,
.dashboard-command .metric-row,
.dashboard-command .table-row,
.dashboard-command .distribution-row,
.dashboard-command .flow-row,
.dashboard-command .bomb-chip,
.dashboard-command .diag-summary-card,
.dashboard-command .diag-trend-card,
.dashboard-command .diag-header,
.dashboard-command .diag-row-label {
  background-color: rgba(244, 247, 255, 0.045);
}

@media (max-width: 1180px) {
  .dashboard-main-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-main-grid > .dash-panel.panel-span-4 {
    grid-column: auto;
  }

  .dashboard-side-stack,
  .dashboard-dense-grid {
    grid-column: auto;
  }

  .dashboard-dense-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-supplementary .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .dashboard-hero,
  .dashboard-hero--command {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .hero-kpis {
    min-width: 0;
  }

  .hero-insights span {
    width: fit-content;
  }

  .dashboard-main-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-side-stack,
  .dashboard-dense-grid,
  .dashboard-supplementary .dashboard-grid {
    grid-column: auto;
  }

  .dashboard-dense-grid,
  .dashboard-supplementary .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-main-grid > .dash-panel.panel-span-4 {
    padding: 18px;
  }

  .dashboard-main-grid > .dash-panel.panel-span-4 .panel-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .dashboard-main-grid > .dash-panel.panel-span-4 .panel-head h2 {
    font-size: 17px;
  }

  .dashboard-side-stack .chart-mount,
  .dashboard-dense-grid .chart-mount,
  .chart-panel,
  .chart-mount,
  [id$='-chart'] {
    min-height: 170px;
  }

  .overview-cards,
  .overview-cards-compact {
    grid-template-columns: 1fr;
  }

  .bomb-chip-list {
    grid-template-columns: 1fr;
  }
}


.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend-chart {
  min-height: 300px;
  padding: 10px 12px 2px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top, rgba(114, 214, 255, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(13, 19, 34, 0.88), rgba(15, 23, 42, 0.38));
  border-color: rgba(128, 185, 255, 0.18);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 12px 32px rgba(4, 10, 22, 0.22);
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend {
  margin-top: 10px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend .diag-trend-card {
  padding: 14px 16px 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend .diag-trend-head strong {
  font-size: 15px;
  color: #f6fbff;
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend .diag-trend-head span {
  color: rgba(217, 228, 255, 0.82);
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend .diag-trend-chart-caption {
  color: rgba(199, 216, 255, 0.72);
  font-size: 12px;
  line-height: 1.45;
}

.dashboard-side-stack .dash-panel,
.dashboard-dense-grid .dash-panel {
  position: relative;
}

.dashboard-side-stack .dash-panel .panel-head h2,
.dashboard-dense-grid .dash-panel .panel-head h2 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.015em;
}

.dashboard-side-stack .chart-mount,
.dashboard-dense-grid .chart-mount {
  min-height: 208px;
  border-radius: 18px;
  border-color: rgba(160, 194, 255, 0.14);
  background:
    radial-gradient(circle at top, rgba(116, 178, 255, 0.08), transparent 38%),
    linear-gradient(180deg, rgba(10, 16, 30, 0.88), rgba(16, 24, 44, 0.42));
}

.dashboard-side-stack .table-list,
.dashboard-dense-grid .heatmap-panel {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(211, 223, 255, 0.08);
}

.dashboard-side-stack .table-list {
  gap: 6px;
}

.dashboard-side-stack .table-head {
  color: rgba(159, 176, 230, 0.72);
  font-size: 11px;
}

.dashboard-side-stack .table-row {
  padding: 8px 10px;
  font-size: 12px;
  background: rgba(244, 247, 255, 0.032);
  color: rgba(236, 241, 255, 0.82);
}

.dashboard-side-stack .table-row span:nth-child(2) {
  color: #ffe7ab;
  font-weight: 700;
}

.dashboard-dense-grid .heatmap-legend {
  color: rgba(207, 216, 251, 0.74);
  font-size: 11px;
}

.dashboard-dense-grid .heatmap-grid,
.dashboard-dense-grid .diag-grid,
.dashboard-dense-grid .diag-grid-wide {
  opacity: 0.84;
}

.dashboard-dense-grid .diag-header,
.dashboard-dense-grid .diag-row-label,
.dashboard-dense-grid .diag-cell,
.dashboard-dense-grid .heatmap-header,
.dashboard-dense-grid .heatmap-player,
.dashboard-dense-grid .heatmap-cell {
  min-height: 44px;
}

.dashboard-dense-grid .diag-cell strong,
.dashboard-dense-grid .heatmap-cell {
  font-size: 12px;
}

.dashboard-dense-grid .diag-cell span,
.dashboard-dense-grid .heatmap-player span {
  font-size: 10px;
}

.dashboard-supplementary .dash-panel {
  border-color: rgba(211, 223, 255, 0.1);
  background:
    radial-gradient(circle at top right, rgba(242, 213, 138, 0.08), transparent 28%),
    linear-gradient(160deg, rgba(19, 28, 46, 0.96), rgba(11, 17, 31, 0.96));
}

.dashboard-supplementary .panel-head h2 {
  font-size: 15px;
}

.dashboard-supplementary .table-row,
.dashboard-supplementary .distribution-row,
.dashboard-supplementary .flow-row,
.dashboard-supplementary .bomb-chip,
.dashboard-supplementary .metric-row {
  background: rgba(244, 247, 255, 0.038);
}

.hero-insights span {
  backdrop-filter: blur(8px);
}

.overview-card--hero {
  position: relative;
  overflow: hidden;
}

.overview-card--hero::after {
  content: '';
  position: absolute;
  inset: auto -16px -18px auto;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(114, 214, 255, 0.14), transparent 68%);
  pointer-events: none;
}

@media (max-width: 900px) {
  .dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-trend-chart {
    min-height: 240px;
    padding: 8px 8px 0;
  }

  .dashboard-side-stack .table-row {
    font-size: 11px;
  }
}


.dashboard-grid--essential {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-grid--essential .panel-span-2 {
  grid-column: span 2;
}

.panel-essential {
  background:
    radial-gradient(circle at top right, rgba(124, 179, 255, 0.08), transparent 30%),
    linear-gradient(160deg, rgba(21, 31, 51, 0.98), rgba(12, 19, 33, 0.98));
}

.panel-essential .panel-head {
  margin-bottom: 10px;
}

.panel-essential .panel-head h2 {
  font-size: 14px;
}

.panel-essential .metric-row,
.panel-essential .table-row,
.panel-essential .distribution-row,
.panel-essential .flow-row,
.panel-essential .bomb-chip,
.panel-essential .insight-card {
  background: rgba(244, 247, 255, 0.042);
}

.dashboard-deep-dive {
  margin-top: 8px;
  border-radius: 18px;
  border: 1px solid rgba(211, 223, 255, 0.12);
  background: linear-gradient(160deg, rgba(14, 21, 37, 0.92), rgba(10, 16, 29, 0.96));
  overflow: hidden;
}

.dashboard-deep-dive summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  color: #eef4ff;
}

.dashboard-deep-dive summary::-webkit-details-marker {
  display: none;
}

.dashboard-deep-dive summary::after {
  content: '\5C55\5F00';
  color: rgba(242, 213, 138, 0.92);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.dashboard-deep-dive[open] summary::after {
  content: '\6536\8D77';
}

.dashboard-deep-dive-label {
  font-size: 14px;
  font-weight: 700;
}

.dashboard-deep-dive-copy {
  color: rgba(207, 216, 251, 0.72);
  font-size: 12px;
}

.dashboard-grid--deep-dive {
  padding: 0 14px 14px;
  border-top: 1px solid rgba(211, 223, 255, 0.08);
}

.dashboard-grid--deep-dive .dash-panel {
  background:
    radial-gradient(circle at top right, rgba(242, 213, 138, 0.05), transparent 24%),
    linear-gradient(160deg, rgba(17, 25, 43, 0.96), rgba(10, 15, 29, 0.96));
}

.dashboard-grid--deep-dive .panel-head h2 {
  font-size: 14px;
  color: rgba(238, 244, 255, 0.9);
}

.dashboard-grid--deep-dive .table-row,
.dashboard-grid--deep-dive .distribution-row,
.dashboard-grid--deep-dive .flow-row,
.dashboard-grid--deep-dive .bomb-chip,
.dashboard-grid--deep-dive .metric-row {
  background: rgba(244, 247, 255, 0.03);
}

@media (max-width: 1180px) {
  .dashboard-grid--essential {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid--essential .panel-span-2 {
    grid-column: span 1;
  }
}

@media (max-width: 900px) {
  .dashboard-grid--essential {
    grid-template-columns: 1fr;
  }

  .dashboard-deep-dive summary {
    display: grid;
    justify-content: stretch;
  }
}


.panel-head--stacked,
.panel-head--compact {
  align-items: flex-start;
}

.panel-title-block {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.panel-subtitle {
  margin: 0;
  color: rgba(207, 216, 251, 0.72);
  font-size: 11px;
  line-height: 1.45;
  max-width: 56ch;
}

.dashboard-main-grid > .dash-panel.panel-span-4 {
  padding: 18px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .panel-head {
  margin-bottom: 12px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .panel-head h2 {
  font-size: 17px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .panel-subtitle {
  font-size: 11px;
  color: rgba(214, 224, 255, 0.76);
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-summary {
  margin-top: 6px;
  font-size: 13px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 #visual-diagnostics-cards {
  gap: 10px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .diag-summary-card {
  padding: 12px;
}

.dashboard-main-grid > .dash-panel.panel-span-4 .diag-summary-card h3 {
  font-size: 13px;
}

.dashboard-side-stack .dash-panel,
.dashboard-dense-grid .dash-panel,
.dashboard-supplementary .dash-panel,
.dashboard-grid--deep-dive .dash-panel {
  padding: 12px;
}

.dashboard-side-stack .dash-panel .panel-head,
.dashboard-dense-grid .dash-panel .panel-head,
.dashboard-supplementary .dash-panel .panel-head,
.dashboard-grid--deep-dive .dash-panel .panel-head {
  margin-bottom: 8px;
}

.dashboard-side-stack .dash-panel .panel-head h2,
.dashboard-dense-grid .dash-panel .panel-head h2,
.dashboard-supplementary .dash-panel .panel-head h2,
.dashboard-grid--deep-dive .dash-panel .panel-head h2 {
  font-size: 13px;
}

.dashboard-side-stack .panel-subtitle,
.dashboard-dense-grid .panel-subtitle,
.dashboard-supplementary .panel-subtitle,
.dashboard-grid--deep-dive .panel-subtitle {
  font-size: 10px;
  line-height: 1.35;
}

.dashboard-side-stack .chart-mount,
.dashboard-dense-grid .chart-mount {
  min-height: 198px;
}

.chart-mount,
[id$='-chart'] {
  border-radius: 15px;
}

.dashboard-side-stack .table-list,
.dashboard-dense-grid .heatmap-panel {
  margin-top: 8px;
  padding-top: 8px;
}

.dashboard-side-stack .table-head,
.dashboard-dense-grid .heatmap-legend,
.dashboard-supplementary .table-head {
  font-size: 10px;
}

.dashboard-side-stack .table-row,
.dashboard-supplementary .table-row,
.dashboard-grid--deep-dive .table-row {
  padding: 7px 9px;
  font-size: 11px;
}

.panel-essential .panel-head {
  margin-bottom: 8px;
}

.panel-essential .panel-head h2 {
  font-size: 13px;
}

.panel-essential .panel-subtitle {
  font-size: 10px;
}

.panel-essential .insight-card,
.panel-essential .distribution-row,
.panel-essential .flow-row {
  padding: 10px;
}

.panel-essential .insight-index {
  width: 30px;
  height: 30px;
  font-size: 12px;
}

.panel-essential .distribution-track,
.panel-essential .flow-track,
.metric-track {
  height: 8px;
}

.overview-card--hero {
  padding: 14px 16px;
  gap: 6px;
}

.overview-label {
  font-size: 11px;
}

.overview-value {
  font-size: 24px;
}

.overview-hint {
  font-size: 11px;
}

.hero-kpis {
  gap: 10px;
}

.hero-insights span {
  padding: 6px 10px;
  font-size: 11px;
}

.dashboard-deep-dive summary {
  padding: 12px 16px;
}

.dashboard-deep-dive-label {
  font-size: 13px;
}

.dashboard-deep-dive-copy {
  font-size: 11px;
}

.dashboard-grid--deep-dive {
  padding: 0 12px 12px;
}

@media (max-width: 900px) {
  .panel-subtitle {
    max-width: none;
  }

  .dashboard-main-grid > .dash-panel.panel-span-4 {
    padding: 16px;
  }

  .dashboard-side-stack .dash-panel,
  .dashboard-dense-grid .dash-panel,
  .dashboard-supplementary .dash-panel,
  .dashboard-grid--deep-dive .dash-panel {
    padding: 11px;
  }
}


/* 2026-04-01 dashboard refinement overrides */
body {
  overflow-x: hidden;
}

.app {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 16px 18px 28px;
}

.dashboard-view {
  gap: 16px;
}

.dashboard-main-grid {
  grid-template-columns: minmax(0, 2.1fr) minmax(360px, 1fr);
  gap: 16px;
}

.dashboard-main-panel {
  grid-column: 1 !important;
  align-self: start;
}

.dashboard-main-side {
  grid-column: 2 !important;
  align-self: start;
}

.dashboard-main-dense {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-grid--essential {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-grid--essential .panel-span-2 {
  grid-column: span 1;
}

.dashboard-main-panel,
.dashboard-main-side .dash-panel,
.dashboard-main-dense .dash-panel,
.dashboard-supplementary .dash-panel,
.dashboard-grid--deep-dive .dash-panel {
  padding: 14px;
}

.dashboard-main-panel .panel-head {
  margin-bottom: 10px;
}

.dashboard-main-panel .panel-head h2 {
  font-size: 16px !important;
}

.dashboard-side-stack .dash-panel .panel-head h2,
.dashboard-dense-grid .dash-panel .panel-head h2,
.dashboard-supplementary .dash-panel .panel-head h2,
.dashboard-grid--deep-dive .dash-panel .panel-head h2,
.panel-essential .panel-head h2 {
  font-size: 14px !important;
}

.dashboard-main-panel .panel-subtitle,
.dashboard-side-stack .panel-subtitle,
.dashboard-dense-grid .panel-subtitle,
.dashboard-supplementary .panel-subtitle,
.dashboard-grid--deep-dive .panel-subtitle,
.panel-essential .panel-subtitle,
.table-head,
.table-row,
.metric-meta,
.distribution-note,
.distribution-values,
.flow-sample,
.flow-values,
.heatmap-legend,
.diag-header,
.diag-row-label span,
.diag-cell span,
.dashboard-summary,
.hero-actions .dashboard-summary,
.dashboard-deep-dive-copy {
  font-size: 12px !important;
}

.distribution-name,
.flow-name,
.metric-name,
.metric-value,
.table-row span,
.diag-summary-item strong,
.diag-trend-head strong,
.diag-trend-head span {
  font-size: 13px;
}

.overview-label,
.overview-hint,
.hero-insights span,
.dashboard-deep-dive-label {
  font-size: 12px;
}

.overview-value {
  font-size: 26px;
}

.dashboard-main-panel #visual-diagnostics-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-main-panel #visual-diagnostics-trend-chart {
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.diag-trend-chart-shell {
  display: grid;
  gap: 10px;
}

.diag-trend-chart-caption {
  color: rgba(207, 216, 251, 0.76);
  font-size: 12px;
  line-height: 1.45;
}

.diag-trend-chart-mount {
  width: 100%;
  min-height: 320px;
  border-radius: 16px;
  border: 1px solid rgba(160, 194, 255, 0.14);
  background:
    radial-gradient(circle at top, rgba(116, 178, 255, 0.1), transparent 38%),
    linear-gradient(180deg, rgba(10, 16, 30, 0.88), rgba(16, 24, 44, 0.42));
}

.diag-trend-empty {
  padding: 18px;
  border-radius: 16px;
  background: rgba(244, 247, 255, 0.045);
  border: 1px solid rgba(211, 223, 255, 0.08);
  color: rgba(214, 224, 255, 0.78);
}

.dashboard-side-stack .chart-mount,
.dashboard-main-dense .chart-mount {
  min-height: 230px;
}

.chart-mount,
[id$='-chart'] {
  border-radius: 16px;
}

.dashboard-supplementary .distribution-row,
.dashboard-supplementary .flow-row,
.dashboard-supplementary .metric-row,
.dashboard-supplementary .bomb-chip {
  padding: 10px;
}

@media (max-width: 1280px) {
  .dashboard-main-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-main-panel,
  .dashboard-main-side,
  .dashboard-main-dense {
    grid-column: auto !important;
  }

  .dashboard-main-dense {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid--essential {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid--essential .panel-span-2 {
    grid-column: span 1;
  }

  .dashboard-main-panel #visual-diagnostics-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .app {
    padding: 12px 12px 20px;
  }

  .dashboard-main-dense,
  .dashboard-grid--essential,
  .dashboard-main-panel #visual-diagnostics-cards {
    grid-template-columns: 1fr;
  }

  .diag-trend-chart-mount {
    min-height: 240px;
  }
}


/* 2026-04-01 overlap and visibility fixes */
.dashboard-main-grid {
  grid-template-columns: minmax(0, 1.85fr) minmax(340px, 0.95fr) !important;
}

.dashboard-main-panel #visual-diagnostics-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dashboard-main-dense {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dashboard-grid--essential {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.dashboard-side-stack .chart-mount,
.dashboard-main-dense .chart-mount {
  min-height: 260px !important;
}

.diag-trend-chart-mount {
  min-height: 340px !important;
}

.dashboard-side-stack .table-head,
.dashboard-side-stack .table-row,
.dashboard-supplementary .table-head,
.dashboard-supplementary .table-row {
  grid-template-columns: minmax(0, 1.3fr) minmax(68px, 0.78fr) minmax(68px, 0.82fr) minmax(96px, 1fr) !important;
  align-items: start;
}

.table-row span,
.table-head span,
.distribution-values span,
.flow-values span,
.diag-summary-item span,
.diag-summary-item em {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.heatmap-grid,
.diag-grid {
  overflow-x: auto;
}

.diag-grid {
  align-items: stretch;
}

.diag-cell {
  min-height: 84px;
}

.diag-cell strong {
  line-height: 1.2;
}

.diag-summary-card-full {
  grid-column: 1 / -1;
}

.diag-summary-card-neutral {
  background: rgba(244, 247, 255, 0.045);
  border: 1px solid rgba(211, 223, 255, 0.08);
}

.dashboard-side-stack .table-list,
.dashboard-main-dense .heatmap-panel {
  margin-top: 10px;
  padding-top: 10px;
}

@media (max-width: 1440px) {
  .dashboard-grid--essential {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1100px) {
  .dashboard-main-grid,
  .dashboard-main-dense,
  .dashboard-grid--essential,
  .dashboard-main-panel #visual-diagnostics-cards {
    grid-template-columns: 1fr !important;
  }

  .dashboard-main-panel,
  .dashboard-main-side,
  .dashboard-main-dense {
    grid-column: auto !important;
  }
}


/* 2026-04-01 right-edge gutter fixes */
.app {
  padding: 16px 30px 28px 18px !important;
}

.dashboard-command,
.dashboard-main-grid,
.dashboard-supplementary {
  padding-right: 6px;
}

.dashboard-main-grid {
  grid-template-columns: minmax(0, 1.9fr) minmax(300px, 0.9fr) !important;
  column-gap: 18px !important;
}

.dashboard-main-side,
.dashboard-side-stack {
  padding-right: 4px;
}

.dashboard-side-stack .dash-panel,
.dashboard-supplementary .dash-panel {
  margin-right: 2px;
}

@media (max-width: 1100px) {
  .app {
    padding: 12px 18px 20px 12px !important;
  }

  .dashboard-command,
  .dashboard-main-grid,
  .dashboard-supplementary,
  .dashboard-main-side,
  .dashboard-side-stack {
    padding-right: 0;
  }
}


/* 2026-04-01 bomb panel typography alignment */
.dashboard-supplementary .bomb-group-title {
  font-size: 13px;
}

.dashboard-supplementary .bomb-table-head {
  font-size: 11px;
}

.dashboard-supplementary .bomb-table-row {
  padding: 10px 12px;
}

.dashboard-supplementary .bomb-table-row span:first-child {
  font-size: 12px;
}

.dashboard-supplementary .bomb-table-row span:nth-child(2),
.dashboard-supplementary .bomb-table-row span:nth-child(3) {
  font-size: 18px;
  line-height: 1.1;
}

.dashboard-supplementary .bomb-chip {
  gap: 3px;
}

.dashboard-supplementary .bomb-chip strong {
  font-size: 13px;
}

.dashboard-supplementary .bomb-chip span,
.dashboard-supplementary .bomb-chip em {
  font-size: 12px;
}


/* 2026-04-02 bomb panel refinement */
#bomb-stats {
  display: block;
}

#bomb-stats .bomb-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#bomb-stats .bomb-table-shell {
  position: relative;
  overflow: hidden;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(214, 225, 255, 0.1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),
    linear-gradient(160deg, rgba(21, 30, 52, 0.98), rgba(13, 20, 35, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

#bomb-stats .bomb-table-topline {
  height: 3px;
  border-radius: 999px;
  margin-bottom: 12px;
  background: linear-gradient(90deg, rgba(244, 217, 139, 0.95), rgba(111, 195, 255, 0.75));
}

#bomb-stats .bomb-shell-secondary .bomb-table-topline {
  background: linear-gradient(90deg, rgba(111, 195, 255, 0.92), rgba(132, 226, 194, 0.78));
}

#bomb-stats .bomb-group-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}

#bomb-stats .bomb-table-kicker {
  color: rgba(160, 186, 242, 0.82);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

#bomb-stats .bomb-group-title {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.02em;
}

#bomb-stats .bomb-table-caption {
  color: rgba(201, 214, 255, 0.72);
  font-size: 11px;
  line-height: 1.35;
  text-align: right;
}

#bomb-stats .bomb-grid {
  gap: 5px;
}

#bomb-stats .bomb-table-head,
#bomb-stats .bomb-table-row {
  grid-template-columns: minmax(0, 2.05fr) minmax(72px, 0.78fr) minmax(72px, 0.78fr);
  gap: 10px;
}

#bomb-stats .bomb-table-head {
  padding: 0 6px 6px;
  border-bottom: 1px solid rgba(214, 225, 255, 0.08);
  color: rgba(159, 176, 230, 0.84);
  font-size: 10px;
  letter-spacing: 0.08em;
}

#bomb-stats .bomb-table-row {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

#bomb-stats .bomb-stat-label {
  color: #dfe7ff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}

#bomb-stats .bomb-stat-value {
  color: #fff7e2;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#bomb-stats .bomb-stat-value-muted {
  color: #cfe1ff;
}

@media (max-width: 1180px) {
  #bomb-stats .bomb-layout {
    grid-template-columns: 1fr;
  }

  #bomb-stats .bomb-group-head {
    flex-direction: column;
    align-items: flex-start;
  }

  #bomb-stats .bomb-table-caption {
    text-align: left;
  }
}

/* 2026-04-01 bomb panel spacing alignment */
.dashboard-supplementary .bomb-group {
  gap: 8px;
}

.dashboard-supplementary .bomb-group + .bomb-group {
  margin-top: 12px;
}

.dashboard-supplementary .bomb-table {
  gap: 6px;
}

.dashboard-supplementary .bomb-table-row {
  padding: 9px 11px;
}

.dashboard-supplementary .bomb-table-row span:first-child {
  line-height: 1.25;
}

.dashboard-supplementary .bomb-chip-list {
  gap: 6px;
}

.dashboard-supplementary .bomb-chip {
  padding: 9px 10px;
  gap: 2px;
}

.dashboard-supplementary .bomb-chip span,
.dashboard-supplementary .bomb-chip em {
  line-height: 1.2;
}
