.mobile-gauge-tiers { display: none; }
@media (max-width: 850px) {
  body[data-page="dashboard"] { --bg: #0a101c; --surface-solid: #131c2a; --dashboard-surface: #131c2a; --dashboard-line: rgba(140,165,195,.16); background: #0a101c; }
  body[data-page="dashboard"]::before,
  body[data-page="dashboard"] .ambient-grid { display: none; }
  body[data-page="dashboard"] .mobile-app-status { background: #0a101c; border: 0; box-shadow: none; }
  body[data-page="dashboard"] .dashboard-main { --cyan: #6fb0de; color: #cbd5e0; font-family: var(--sans); background: #131c2a; }
  body[data-page="dashboard"] .dashboard-main .panel,
  body[data-page="dashboard"] .dashboard-main .situation-brief { background: #131c2a; background-image: none; border-color: var(--dashboard-line) !important; box-shadow: none; }
  body[data-page="dashboard"] .dashboard-main .panel::after,
  body[data-page="dashboard"] .dashboard-main .situation-brief::after { display: none; }
  /* One uninterrupted mobile surface: no dark notch between causes and tabs. */
  body[data-page="dashboard"] main > .situation-brief { margin-bottom: 0 !important; border: 0 !important; border-radius: 0; }
  body[data-page="dashboard"] .situation-brief__body { padding-bottom: 0; }
  body[data-page="dashboard"] .situation-brief > .gauge-panel { background: transparent; padding-bottom: 28px; }
  body[data-page="dashboard"] .situation-brief > .gauge-panel .mobile-risk-summary,
  body[data-page="dashboard"] .situation-brief > .gauge-panel .gauge-score small,
  body[data-page="dashboard"] .situation-lower-row .situation-risk-transmission,
  body[data-page="dashboard"][data-page] main > .events-panel { display: none !important; }
  body[data-page="dashboard"] .situation-brief > .gauge-panel .gauge-footer {
    display: flex; justify-content: center; border: 0; padding: 0; margin: 12px 0 0;
  }
  body[data-page="dashboard"] .gauge-footer .updated-at { display: none; }
  body[data-page="dashboard"] .gauge-footer .change-chip {
    display: grid; grid-template-columns: auto auto auto; grid-template-rows: auto; gap: 5px; align-items: center;
  }
  body[data-page="dashboard"] .change-chip > small[data-i18n] {
    grid-column: 1; grid-row: 1; margin-right: 7px; color: #93a7bd; font: 500 12px/1.5 var(--sans);
  }
  body[data-page="dashboard"] .change-chip > span { grid-column: 2; grid-row: 1; }
  body[data-page="dashboard"] .change-chip > strong { grid-column: 3; grid-row: 1; font: 600 16px/1.5 var(--sans); }
  body[data-page="dashboard"] .change-chip__context { grid-column: 1 / -1; grid-row: 2; white-space: normal; text-align: center; }
  body[data-page="dashboard"] .mobile-gauge-tiers { display: none; }
  body[data-page="dashboard"] .gauge-panel .gauge-tiers { display: block; }
  body[data-page="dashboard"] .gauge-panel .gauge-tiers text { fill: #a9bdd2; font: 500 12.5px var(--sans); }
  html[lang="en"] body[data-page="dashboard"] .gauge-panel .gauge-tiers text { font-size: 10px; }
  body[data-page="dashboard"] .situation-brief > .gauge-panel .gauge-wrap { width: min(390px, 100%); height: auto; min-height: 0; aspect-ratio: 384 / 220; margin: 24px auto 0 !important; }
  body[data-page="dashboard"] .gauge-panel .risk-gauge { position: absolute; inset: 0; overflow: visible; }
  body[data-page="dashboard"] .gauge-panel .gauge-ticks text { fill: #93a7bd; font: 500 12px var(--sans); }
  body[data-page="dashboard"] .gauge-panel .gauge-value-arc,
  body[data-page="dashboard"] .gauge-panel .gauge-track { stroke-width: 14; }
  body[data-page="dashboard"] .situation-brief > .gauge-panel .gauge-score { top: 46%; min-width: 0; display: flex; justify-content: center; align-items: baseline; gap: 6px; white-space: nowrap; }
  body[data-page="dashboard"] .situation-brief > .gauge-panel .gauge-score strong { font: 650 clamp(52px, 16vw, 68px)/1 var(--sans); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
  body[data-page="dashboard"] .gauge-panel .gauge-score > span { font: 500 12px/1.4 var(--sans); }
  body[data-page="dashboard"] .dashboard-main .panel-heading h2,
  body[data-page="dashboard"] #situationTitle { color: #b7c7da; font: 650 16px/1.5 var(--sans); letter-spacing: -.015em; text-shadow: none; }
  /* Use one semantic caption at every mobile width, not the legacy 11px copy. */
  body[data-page="dashboard"] .situation-brief__body > div > #situationTitle { display: block; width: auto; min-height: 0; margin: 0 0 12px; padding: 0; border: 0; background: transparent; font: 600 14px/1.5 var(--sans); }
  body[data-page="dashboard"] .mobile-situation-summary-label { display: none; }
  body[data-page="dashboard"] .situation-brief #situationConclusion { margin-top: 0; color: #e0e7ef; font: 650 21px/1.5 var(--sans); letter-spacing: -.02em; text-shadow: none; word-break: keep-all; overflow-wrap: anywhere; }
  body[data-page="dashboard"] .situation-conclusion__cause { color: #e0e7ef; }
  body[data-page="dashboard"] .situation-brief #situationExplanation { margin: 14px 0 0; color: #b7c5d4; font: 450 15px/1.75 var(--sans); }
  body[data-page="dashboard"] .situation-brief #situationMobileUpdated { margin: 12px 0 0; color: #93a7bd; font: 500 12px/1.5 var(--sans); }
  body[data-page="dashboard"] .situation-brief .situation-lower-row { margin-top: 26px; }
  body[data-page="dashboard"] .situation-brief .situation-lower-row .situation-causes {
    --cause-change-width: clamp(80px, 24vw, 102px);
    display: grid; grid-template-columns: 16px minmax(0, 1fr) var(--cause-change-width); column-gap: 8px; width: 100%; max-width: none; margin: 0; padding: 0;
  }
  body[data-page="dashboard"] .situation-causes > #mobileCausesTitle { grid-column: 1 / 3; margin: 0; color: #a4b6cc; font: 600 13px/1.5 var(--sans); }
  body[data-page="dashboard"] .situation-causes > .cause-change-heading {
    display: block; grid-column: 3; color: #93a7bd; font: 500 11px/1.5 var(--sans); text-align: right;
  }
  body[data-page="dashboard"] .situation-causes #situationCauses { grid-column: 1 / -1; margin: 12px 0 0; padding: 0; gap: 0; }
  body[data-page="dashboard"] .situation-brief .situation-lower-row .situation-causes li {
    display: grid; grid-template-columns: 16px minmax(0, 1fr) var(--cause-change-width); gap: 6px 8px; padding: 12px 0; min-height: 64px;
    border-bottom: 1px solid rgba(137, 160, 190, .12); box-sizing: border-box;
  }
  body[data-page="dashboard"] .situation-brief .situation-lower-row .situation-causes li:last-child { border-bottom: 0; }
  body[data-page="dashboard"] .situation-brief .situation-lower-row .situation-cause-rank {
    grid-column: 1; grid-row: 1 / 3; color: #70849a; font: 450 11px/1.5 var(--sans);
  }
  body[data-page="dashboard"] .situation-brief .situation-lower-row .situation-causes li > span {
    display: block; grid-column: 2; grid-row: 1; color: #d0dbe6; font: 600 14px/1.5 var(--sans);
    overflow: visible; white-space: normal; overflow-wrap: anywhere; text-align: left;
  }
  body[data-page="dashboard"] .situation-brief .situation-lower-row .situation-causes li > strong {
    grid-column: 2; grid-row: 2; color: #a3b5c7; font: 450 12px/1.5 var(--sans); text-align: left; white-space: normal;
  }
  body[data-page="dashboard"] .situation-causes .situation-cause-trend { display: none; }
  body[data-page="dashboard"] .cause-change-chart { display: grid; grid-column: 3; grid-row: 1 / 3; grid-template-columns: minmax(0, 1fr) 38px; min-width: 0; align-self: center; align-items: center; gap: 6px; color: #94a8be; }
  body[data-page="dashboard"] .cause-change-track { display: block; position: relative; width: 100%; height: 8px; border-radius: 999px; background: #29384b; }
  body[data-page="dashboard"] .cause-change-track::before { content: ""; position: absolute; left: 50%; top: -4px; width: 1px; height: 16px; background: #8194ab; }
  body[data-page="dashboard"] .cause-change-fill { position: absolute; top: 0; height: 100%; border-radius: 999px; background: currentColor; }
  body[data-page="dashboard"] .cause-change-value { display: block; font: 650 14px/1.5 var(--sans); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
  body[data-page="dashboard"] .cause-change-chart.is-up { color: #be8575; }
  body[data-page="dashboard"] .cause-change-chart.is-down { color: #78a39e; }
  body[data-page="dashboard"] .cause-change-chart.is-missing .cause-change-track { visibility: hidden; }
  body[data-page="dashboard"] .cause-change-chart.is-flat { color: #b7c7da; }
  body[data-page="dashboard"] .cause-change-chart.is-flat .cause-change-track::after { content: ""; position: absolute; top: 0; left: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; background: #b7c7da; }
  body[data-page="dashboard"][data-page] main > .trend-signals-grid { display: grid !important; grid-template-columns: minmax(0,1fr); gap: 0; margin-top: 0; background: #131c2a; }
  body[data-page="dashboard"] main > .trend-signals-grid > .trend-panel,
  body[data-page="dashboard"] main > .trend-signals-grid > .intelligence-grid,
  body[data-page="dashboard"] main > .trend-signals-grid > .intelligence-grid > .signals-panel { margin-top: 0 !important; border: 0 !important; border-radius: 0; }
  body[data-page="dashboard"][data-page] main > .trend-signals-grid > .trend-panel { display: block !important; min-width: 0; }
  body[data-page="dashboard"][data-page] main > .trend-signals-grid > .intelligence-grid,
  body[data-page="dashboard"][data-page] main > .trend-signals-grid > .dashboard-risk-map { display: none !important; min-width: 0; }
  body[data-page="dashboard"][data-mobile-tab="signals"] main > .trend-signals-grid > .trend-panel,
  body[data-page="dashboard"][data-mobile-tab="distribution"] main > .trend-signals-grid > .trend-panel { display: none !important; }
  body[data-page="dashboard"][data-mobile-tab="signals"] main > .trend-signals-grid > .intelligence-grid { display: block !important; }
  body[data-page="dashboard"][data-mobile-tab="distribution"] main > .trend-signals-grid > .dashboard-risk-map { display: flex !important; }
  body[data-page="dashboard"] .mobile-section-tabs { display: flex; }
  body[data-page="dashboard"] .mobile-section-tabs { margin: 0; padding: 28px 16px 12px; gap: 6px; background: #131c2a; border: 0; border-radius: 0; box-shadow: none; }
  body[data-page="dashboard"] .mobile-section-tabs button.active,
  body[data-page="dashboard"] .trend-signals-grid .trend-panel .range-tabs button.active { color: #dbe6f2; background: rgba(134,164,202,.24); }
  body[data-page="dashboard"] .trend-signals-grid .trend-panel .range-tabs { background: rgba(18,28,44,.55); border: 1px solid rgba(140,165,195,.18) !important; }
  body[data-page="dashboard"] .mobile-section-tabs button { min-height: 44px; padding: 8px 12px; font: 550 13px/1.4 var(--sans); }
  body[data-page="dashboard"] .mobile-section-tabs button.active { font-weight: 600; }
  body[data-page="dashboard"] .mobile-section-tabs button:focus-visible { outline: 2px solid #86a4ca; outline-offset: 2px; }
  body[data-page="dashboard"] main > .trend-signals-grid > .trend-panel,
  body[data-page="dashboard"] main > .trend-signals-grid > .intelligence-grid > .signals-panel { padding: 12px 16px 24px; }
  body[data-page="dashboard"] .trend-panel > .panel-heading { gap: 16px; padding-bottom: 0; }
  body[data-page="dashboard"] .trend-panel .trend-stats { margin: 20px 0 18px; }
  body[data-page="dashboard"] .trend-panel .trend-stats small { color: #93a7bd; font: 500 12px/1.5 var(--sans); letter-spacing: 0; }
  body[data-page="dashboard"] .trend-panel .trend-stats strong { margin-top: 5px; font: 600 16px/1.5 var(--sans); font-variant-numeric: tabular-nums; }
  body[data-page="dashboard"] .trend-signals-grid > .dashboard-risk-map {
    display: flex; margin: 0; padding: 12px 16px 24px; border: 0 !important; border-radius: 0; background: #131c2a; box-shadow: none;
  }
  body[data-page="dashboard"] .risk-map-heading h2 { font: 650 16px/1.5 var(--sans); }
  body[data-page="dashboard"] .risk-map-land { fill: #172334; stroke: #34455b; }
  body[data-page="dashboard"] .risk-map-canvas { flex: none; flex-direction: column; align-items: stretch; min-height: 200px; margin: 16px 0; }
  /* Map numbers pair with one readable list; don't repeat every name twice. */
  body[data-page="dashboard"] .risk-map-label { display: none; }
  body[data-page="dashboard"] .risk-map-mobile-number { display: block; fill: #0a101c; font: 700 24px var(--sans); pointer-events: none; }
  body[data-page="dashboard"] .risk-map-point { r: 16px; }
  body[data-page="dashboard"] .risk-map-point { fill: var(--risk-map-muted-color); stroke: #131c2a; }
  body[data-page="dashboard"] .risk-map-mobile-regions { display: grid; gap: 4px; margin-top: 12px; }
  body[data-page="dashboard"] .risk-map-mobile-regions a { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 48px; color: #b7c7da; text-decoration: none; font: 500 13px/1.5 var(--sans); }
  body[data-page="dashboard"] .risk-map-mobile-regions a span { overflow-wrap: anywhere; }
  body[data-page="dashboard"] .risk-map-mobile-dot { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background-color: var(--risk-map-muted-color) !important; color: #0a101c; font: 700 11px/1 var(--sans); }
  body[data-page="dashboard"] .risk-map-mobile-regions strong { font-size: 12px; font-variant-numeric: tabular-nums; }
  body[data-page="dashboard"] .risk-map-mobile-regions a:focus-visible { outline: 2px solid #86a4ca; outline-offset: 2px; }
  body[data-page="dashboard"] .signals-panel .desktop-radar-node-tag__text { font-size: 10px; }
  body[data-page="dashboard"] .signals-panel .desktop-radar-label__value { display: none; }
  body[data-page="dashboard"] .signals-panel .desktop-radar-node-tag__score { font-weight: 650; }
  body[data-page="dashboard"] .signals-panel .desktop-radar-node-tag__level { font-size: 9.5px; }
}
/* Small phones: prioritize the title and keep controls comfortably tappable. */
@media (max-width: 430px) {
  body[data-page="dashboard"] .trend-panel > .panel-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
  body[data-page="dashboard"] .trend-panel > .panel-heading > div { min-width: 0; }
  body[data-page="dashboard"] .trend-panel > .panel-heading .range-tabs { justify-self: start; }
  body[data-page="dashboard"] .trend-panel .trend-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
  body[data-page="dashboard"] .trend-panel .trend-stats > div { border-left: 0; padding-left: 0; }
}
