/*
 * WeatherPulse Weather Ledger
 *
 * Final, page-scoped presentation layer for the five core WeatherPulse views.
 * Weather data, media playback, native shell behavior, accessibility hooks,
 * and day/night logic remain owned by the existing pages; this file gives all
 * of their control surfaces one durable visual system. It avoids remote visual
 * dependencies, blur, and fixed-height data cards so the app stays dependable
 * in Android WebViews.
 */

html[data-theme="day"] {
  --ledger-canvas: #e9eef3;
  --ledger-surface: #ffffff;
  --ledger-surface-alt: #f4f6f8;
  --ledger-ink: #111820;
  --ledger-muted: #63707d;
  --ledger-rule: #d8e0e7;
  --ledger-rule-strong: #c5d0d9;
  --ledger-accent: #146aa3;
  --ledger-accent-strong: #0b527e;
  --ledger-accent-wash: #eaf3f9;
  --ledger-alert: #c82424;
  --ledger-alert-wash: #fff2f1;
  --ledger-watch: #b66a05;
  --ledger-good: #287c4b;
  --ledger-hero: #0f5d86;
  --ledger-hero-ink: #ffffff;
  --ledger-hero-muted: #d7e8f2;
  --ledger-hero-rail: #8bd0f6;
  --ledger-focus: #0b527e;
  --ledger-action-ink: #ffffff;
  color-scheme: light;
}

html[data-theme="night"] {
  --ledger-canvas: #090f16;
  --ledger-surface: #121a23;
  --ledger-surface-alt: #19232d;
  --ledger-ink: #f3f6f8;
  --ledger-muted: #9da9b5;
  --ledger-rule: #293642;
  --ledger-rule-strong: #3b4b59;
  --ledger-accent: #73bdf0;
  --ledger-accent-strong: #9ed2f5;
  --ledger-accent-wash: #142b3b;
  --ledger-alert: #ff6b63;
  --ledger-alert-wash: #321d20;
  --ledger-watch: #f3b85a;
  --ledger-good: #76c99b;
  --ledger-hero: #102b3d;
  --ledger-hero-ink: #f7fafc;
  --ledger-hero-muted: #b9cfdd;
  --ledger-hero-rail: #73bdf0;
  --ledger-focus: #9ed2f5;
  --ledger-action-ink: #07131d;
  color-scheme: dark;
}

html[data-theme] body.wp-page-home,
html[data-theme] body.wp-page-forecast {
  background: var(--ledger-canvas) !important;
  color: var(--ledger-ink);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

html[data-theme] body.wp-page-home *,
html[data-theme] body.wp-page-forecast * {
  box-sizing: border-box;
}

html[data-theme] body.wp-page-home :is(button, a, input, select, summary):focus-visible,
html[data-theme] body.wp-page-forecast :is(button, a, input, select, summary):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ledger-focus) 55%, transparent);
  outline-offset: 2px;
}

html[data-theme] body.wp-page-home :is(.wp-life-temp, .wp-life-current-reading, .range-temp-text, .hour-list-temp),
html[data-theme] body.wp-page-forecast :is(.hero-temp, .range-temp-text, .hour-list-temp, .forecast-key-stat strong, .forecast-trend-stat strong) {
  font-variant-numeric: tabular-nums;
}

/* Shared location bar */
html[data-theme] body.wp-page-home .sticky-location-bar,
html[data-theme] body.wp-page-forecast .sticky-location-bar {
  position: sticky;
  top: 0;
  z-index: 90;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 640px) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: calc(64px + env(safe-area-inset-top, 0px));
  padding: calc(9px + env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px)) 9px max(18px, env(safe-area-inset-left, 0px));
  border: 0;
  border-bottom: 1px solid var(--ledger-rule);
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme] body.wp-page-home .sticky-location-bar > .header-spacer:first-child,
html[data-theme] body.wp-page-forecast .sticky-location-bar > .header-spacer:first-child {
  display: block;
}

html[data-theme] body.wp-page-home .search-pill,
html[data-theme] body.wp-page-forecast .search-pill {
  min-width: 0;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home :is(.search-icon, .expand-arrow),
html[data-theme] body.wp-page-forecast :is(.search-icon, .expand-arrow) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-home .search-text,
html[data-theme] body.wp-page-forecast .search-text {
  color: var(--ledger-ink) !important;
  font-size: 0.92rem;
  font-weight: 700;
}

html[data-theme] body.wp-page-home .header-actions,
html[data-theme] body.wp-page-forecast .header-actions {
  justify-self: start;
}

html[data-theme] body.wp-page-home .header-action-btn,
html[data-theme] body.wp-page-forecast .header-action-btn {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home .header-action-btn:hover,
html[data-theme] body.wp-page-forecast .header-action-btn:hover {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-surface-alt) !important;
}

/* Shared alert language */
html[data-theme] body.wp-page-home .wp-alert-stack,
html[data-theme] body.wp-page-forecast .forecast-alert-shell {
  width: min(calc(100% - 32px), 1120px) !important;
  margin: 14px auto 0 !important;
}

html[data-theme] body.wp-page-home .wp-alert-stack {
  overflow: hidden;
  border: 1px solid var(--ledger-rule);
  border-radius: 6px;
  background: var(--ledger-surface);
  box-shadow: none;
}

html[data-theme] body.wp-page-home .wp-alert-stack.only-coverage {
  display: none !important;
}

html[data-theme] body.wp-page-home .wp-alert-stack-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--ledger-rule);
  background: var(--ledger-alert-wash);
  color: var(--ledger-ink);
}

html[data-theme] body.wp-page-home .wp-alert-stack-head > .material-icons-round {
  color: var(--ledger-alert);
}

html[data-theme] body.wp-page-home .wp-alert-stack-head small {
  display: block;
  color: var(--ledger-alert);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-alert-stack-head strong {
  color: var(--ledger-ink);
  font-size: 0.88rem;
}

html[data-theme] body.wp-page-home #alert-strips-container,
html[data-theme] body.wp-page-home .spc-risk-banner-container,
html[data-theme] body.wp-page-forecast #alert-strips-container {
  display: block;
  width: 100%;
  min-width: 0;
}

html[data-theme] body.wp-page-home .alert-summary-card,
html[data-theme] body.wp-page-forecast .alert-summary-card {
  position: relative;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 11px;
  width: 100% !important;
  min-height: 66px;
  margin: 0 !important;
  padding: 12px 15px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  text-align: left;
}

html[data-theme] body.wp-page-home .alert-summary-card:last-child,
html[data-theme] body.wp-page-forecast .alert-summary-card:last-child {
  border-bottom: 0 !important;
}

html[data-theme] body.wp-page-home .alert-summary-card::before,
html[data-theme] body.wp-page-forecast .alert-summary-card::before {
  content: none;
}

html[data-theme] body.wp-page-home :is(.alert-summary-icon, .spc-risk-icon),
html[data-theme] body.wp-page-forecast :is(.alert-summary-icon, .spc-risk-icon) {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--alert-color, var(--ledger-alert));
}

html[data-theme] body.wp-page-home :is(.alert-summary-kicker, .spc-risk-kicker),
html[data-theme] body.wp-page-forecast :is(.alert-summary-kicker, .spc-risk-kicker) {
  color: var(--ledger-muted) !important;
  font-size: 0.64rem !important;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home :is(.alert-summary-title, .spc-risk-title-line),
html[data-theme] body.wp-page-forecast :is(.alert-summary-title, .spc-risk-title-line) {
  margin-top: 1px;
  color: var(--ledger-ink) !important;
  font-size: 0.91rem !important;
  font-weight: 750;
}

html[data-theme] body.wp-page-home .alert-summary-sub,
html[data-theme] body.wp-page-forecast .alert-summary-sub {
  margin-top: 2px;
  color: var(--ledger-muted) !important;
  font-size: 0.75rem !important;
}

html[data-theme] body.wp-page-home .spc-risk-card {
  grid-template-columns: 26px minmax(0, 1fr);
}

html[data-theme] body.wp-page-forecast .forecast-alert-shell {
  overflow: hidden;
  border: 1px solid var(--ledger-rule);
  border-radius: 6px;
  background: var(--ledger-surface);
}

html[data-theme] body.wp-page-forecast .forecast-alert-shell.is-empty {
  display: none !important;
}

/* The embedded shell owns a fixed 78px native header. Keep the first weather
   card and sticky section tabs below it even when there is no alert row. */
html[data-theme] body.wp-page-forecast.wp-shell-embedded-nav #main-scroll {
  padding-top: calc(78px + var(--safe-top, env(safe-area-inset-top, 0px))) !important;
  scroll-padding-top: calc(78px + var(--safe-top, env(safe-area-inset-top, 0px)));
}

html[data-theme] body.wp-page-forecast.wp-shell-embedded-nav .forecast-alert-shell {
  margin-top: 14px !important;
}

html[data-theme] body.wp-page-forecast.wp-shell-embedded-nav .forecast-view-controls,
html[data-theme].wp-shell-embedded-boot body.wp-page-forecast .forecast-view-controls {
  top: 0 !important;
}

/* Home */
html[data-theme] body.wp-page-home #main-scroll {
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--ledger-canvas);
}

html[data-theme] body.wp-page-home #main-content {
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-page-home .content-backdrop {
  width: 100%;
  padding: 0 0 32px;
  background: transparent !important;
}

html[data-theme] body.wp-page-home #main-content > .content-backdrop > div:first-child {
  padding: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

html[data-theme] body.wp-page-home.wp-shell-embedded-nav .sticky-location-bar {
  min-height: calc(78px + var(--safe-top, env(safe-area-inset-top, 0px))) !important;
  height: calc(78px + var(--safe-top, env(safe-area-inset-top, 0px)));
}

html[data-theme] body.wp-page-home .wp-life-home {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: min(calc(100% - 32px), 1120px) !important;
  margin: 14px auto 0;
  padding: 0 0 32px;
}

html[data-theme] body.wp-page-home .wp-life-home > * {
  min-width: 0;
}

html[data-theme] body.wp-page-home .wp-life-hero {
  isolation: isolate;
  display: grid !important;
  grid-template-areas:
    "current current"
    "intro command"
    "hour-head hour-head"
    "hours hours";
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 0 !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 8px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home .wp-life-hero::before {
  content: none;
}

html[data-theme] body.wp-page-home .wp-life-hero .wp-life-sky-scene,
html[data-theme] body.wp-page-home .sticky-hero-block {
  display: none !important;
}

html[data-theme] body.wp-page-home .wp-life-hero #video-viewport {
  position: relative !important;
  inset: auto !important;
  z-index: 1;
  grid-area: current;
  display: block !important;
  min-width: 0;
  min-height: 218px;
  overflow: hidden;
  background: var(--ledger-hero) !important;
  pointer-events: none;
}

html[data-theme] body.wp-page-home .wp-life-hero #video-viewport::before {
  content: none;
}

html[data-theme] body.wp-page-home .wp-life-hero #video-viewport::after {
  display: block !important;
  z-index: 3;
  background: rgba(4, 17, 26, 0.5) !important;
}

html[data-theme] body.wp-page-home .wp-life-hero #video-viewport :is(.home-hero-video, #android-hero-fx, #motion-overlay) {
  display: block !important;
}

html[data-theme] body.wp-page-home.android-no-video .wp-life-hero #video-viewport .home-hero-video {
  display: none !important;
}

html[data-theme] body.wp-page-home .wp-life-hero > *:not(.wp-life-sky-scene):not(#video-viewport) {
  position: relative;
  z-index: 5;
}

html[data-theme] body.wp-page-home .wp-life-hero-top {
  grid-area: intro;
  min-width: 0;
  padding: 24px 22px;
  background: var(--ledger-surface-alt);
}

html[data-theme] body.wp-page-home .wp-life-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--ledger-accent) !important;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-title-stack h1 {
  max-width: 28ch;
  margin: 0;
  color: var(--ledger-ink) !important;
  font-size: clamp(1.35rem, 3vw, 1.8rem) !important;
  font-weight: 760;
  letter-spacing: -0.025em;
  line-height: 1.08;
  text-wrap: balance;
}

html[data-theme] body.wp-page-home .wp-life-summary {
  max-width: 46ch;
  margin: 8px 0 0;
  color: var(--ledger-muted) !important;
  font-size: 0.88rem;
  line-height: 1.42;
}

html[data-theme] body.wp-page-home .wp-life-now-row {
  grid-area: current;
  display: block !important;
  align-items: stretch !important;
  min-width: 0;
  min-height: 218px;
  padding: 0 !important;
  color: var(--ledger-hero-ink) !important;
}

html[data-theme] body.wp-page-home .wp-life-current-pill {
  display: grid !important;
  grid-template-columns: 76px minmax(150px, 1fr) minmax(260px, auto);
  grid-template-areas:
    "kicker kicker kicker"
    "icon reading meta";
  align-content: center;
  align-items: center;
  gap: 8px 14px !important;
  min-width: 0;
  min-height: 218px;
  padding: 22px 24px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-hero-ink) !important;
}

html[data-theme] body.wp-page-home .wp-life-current-kicker {
  grid-area: kicker;
  color: var(--ledger-hero-muted) !important;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-current-pill img {
  grid-area: icon;
  width: 72px !important;
  height: 72px !important;
  object-fit: contain;
  filter: none !important;
}

html[data-theme] body.wp-page-home .wp-life-current-reading {
  grid-area: reading;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 1px 10px;
}

html[data-theme] body.wp-page-home .wp-life-current-reading small {
  grid-column: 1 / -1;
  color: var(--ledger-hero-muted) !important;
  font-size: 0.69rem;
  font-weight: 700;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-current-reading strong {
  color: var(--ledger-hero-ink) !important;
  font-size: clamp(3.2rem, 8vw, 4.55rem) !important;
  font-weight: 730;
  letter-spacing: -0.065em;
  line-height: 0.92;
}

html[data-theme] body.wp-page-home .wp-life-current-reading > span {
  overflow: hidden;
  color: var(--ledger-hero-ink) !important;
  font-size: 0.9rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-theme] body.wp-page-home .wp-life-current-meta {
  grid-area: meta;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, auto));
  justify-content: start;
  gap: 5px 0 !important;
  margin: 0;
  color: var(--ledger-hero-muted) !important;
  font-size: 0.74rem !important;
}

html[data-theme] body.wp-page-home .wp-life-current-meta > span:not(#wp-life-updated) {
  min-width: 78px;
  padding: 3px 16px;
  border-left: 1px solid color-mix(in srgb, var(--ledger-hero-ink) 25%, transparent);
}

html[data-theme] body.wp-page-home .wp-life-current-meta strong {
  display: block;
  margin-top: 2px;
  color: var(--ledger-hero-ink) !important;
  font-size: 1rem;
}

html[data-theme] body.wp-page-home #wp-life-updated {
  grid-column: 1 / -1;
  margin: 3px 16px 0;
  color: var(--ledger-hero-muted);
}

html[data-theme] body.wp-page-home .wp-life-command {
  grid-area: command;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 20px;
  border: 0 !important;
  border-left: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-home .wp-life-command > span {
  color: var(--ledger-accent) !important;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-command > strong {
  margin-top: 3px;
  color: var(--ledger-ink) !important;
  font-size: 1rem;
  line-height: 1.2;
}

html[data-theme] body.wp-page-home .wp-life-command > em {
  margin-top: 4px;
  color: var(--ledger-muted) !important;
  font-size: 0.77rem;
  font-style: normal;
  line-height: 1.35;
}

html[data-theme] body.wp-page-home .wp-life-daystream-head {
  grid-area: hour-head;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px 9px;
  border-top: 1px solid var(--ledger-rule);
  background: var(--ledger-surface);
}

html[data-theme] body.wp-page-home .wp-life-daystream-head > div > span {
  color: var(--ledger-muted) !important;
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home #wp-life-daystream-now .material-icons-round {
  font-size: 1rem;
  letter-spacing: normal;
  text-transform: none;
}

html[data-theme] body.wp-page-home .wp-life-daystream-head strong {
  display: block;
  margin-top: 2px;
  color: var(--ledger-ink) !important;
  font-size: 0.84rem;
}

html[data-theme] body.wp-page-home #wp-life-daystream-now {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--ledger-accent) !important;
  box-shadow: none !important;
  font-size: 0.7rem;
  font-weight: 750;
}

html[data-theme] body.wp-page-home .wp-life-nowcast {
  grid-area: hours;
  display: flex !important;
  gap: 0 !important;
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  scrollbar-color: var(--ledger-rule-strong) transparent;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour {
  flex: 0 0 92px !important;
  display: grid !important;
  grid-template-rows: auto 36px auto auto;
  place-items: center;
  gap: 3px !important;
  min-height: 112px;
  padding: 11px 8px 9px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  scroll-snap-align: start;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour:last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour.is-selected {
  background: var(--ledger-accent-wash) !important;
  box-shadow: inset 0 -3px 0 var(--ledger-accent) !important;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour > span {
  color: var(--ledger-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 750;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain;
  filter: none !important;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour strong {
  color: var(--ledger-ink) !important;
  font-size: 1rem !important;
  font-weight: 750;
}

html[data-theme] body.wp-page-home .wp-life-nowcast-hour em {
  color: var(--ledger-accent) !important;
  font-size: 0.65rem !important;
  font-style: normal;
}

html[data-theme] body.wp-page-home :is(.wp-life-section, .wp-life-details, .wp-life-utilities) {
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 8px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home .wp-life-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-page-home .wp-life-section-head > div:first-child > span,
html[data-theme] body.wp-page-home .sponsor-spot-label {
  color: var(--ledger-accent) !important;
  font-size: 0.66rem !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-section-head h2 {
  margin: 3px 0 0;
  color: var(--ledger-ink) !important;
  font-size: 1.18rem !important;
  font-weight: 750;
  letter-spacing: -0.015em;
}

html[data-theme] body.wp-page-home .wp-life-section-head p {
  margin: 4px 0 0;
  color: var(--ledger-muted) !important;
  font-size: 0.78rem;
  line-height: 1.4;
}

html[data-theme] body.wp-page-home .wp-life-text-link {
  color: var(--ledger-accent) !important;
  font-size: 0.76rem;
  font-weight: 750;
  text-decoration: none;
}

html[data-theme] body.wp-page-home .wp-life-timeline {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-timeline-item {
  position: relative;
  min-width: 0;
  min-height: 122px;
  padding: 17px 18px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home .wp-life-timeline-item:last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-timeline-item::before {
  content: none;
}

html[data-theme] body.wp-page-home .wp-life-timeline-copy {
  display: block !important;
  width: 100%;
  min-width: 0;
}

html[data-theme] body.wp-page-home .wp-life-timeline-copy > span {
  color: var(--ledger-muted) !important;
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-timeline-copy > strong {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-home .wp-life-timeline-copy > strong :is(b, i) {
  color: inherit;
  font-style: normal;
}

html[data-theme] body.wp-page-home .wp-life-timeline-copy > strong i {
  font-weight: 650;
}

html[data-theme] body.wp-page-home .wp-life-timeline-copy > em {
  display: block;
  margin-top: 8px;
  color: var(--ledger-muted) !important;
  font-size: 0.76rem;
  font-style: normal;
  line-height: 1.4;
}

html[data-theme] body.wp-page-home .wp-life-radar {
  padding: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-quick-links,
html[data-theme] body.wp-page-home .wp-life-planning-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-planning-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a) {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 14px 17px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  text-decoration: none;
}

html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a):last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a):hover {
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a) > .material-icons-round:first-child {
  color: var(--ledger-accent) !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a) small {
  color: var(--ledger-muted) !important;
  font-size: 0.68rem;
}

html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a) strong {
  color: var(--ledger-ink) !important;
  font-size: 0.88rem;
}

html[data-theme] body.wp-page-home .wp-life-outlook .daily-list {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ledger-surface);
}

html[data-theme] body.wp-page-home .wp-life-outlook .day-row {
  display: grid !important;
  grid-template-columns: minmax(64px, 0.6fr) 48px minmax(0, 2.4fr) !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 66px;
  height: auto !important;
  padding: 9px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home .wp-life-outlook .day-row:last-child {
  border-bottom: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-outlook .day-name {
  color: var(--ledger-ink) !important;
  font-size: 0.8rem;
  font-weight: 750;
}

html[data-theme] body.wp-page-home .wp-life-outlook .day-icon {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain;
  filter: none !important;
}

html[data-theme] body.wp-page-home .wp-life-outlook .day-range-container {
  min-width: 0;
}

html[data-theme] body.wp-page-home .wp-life-outlook .range-track {
  background: var(--ledger-rule) !important;
}

html[data-theme] body.wp-page-home .wp-life-outlook .range-bar {
  background: var(--ledger-accent) !important;
}

html[data-theme] body.wp-page-home .wp-life-details {
  display: block;
}

html[data-theme] body.wp-page-home .wp-life-details > summary {
  min-height: 64px;
  padding: 13px 18px !important;
  border: 0;
  background: var(--ledger-surface);
  color: var(--ledger-ink);
  cursor: pointer;
  list-style: none;
}

html[data-theme] body.wp-page-home .wp-life-details > summary::-webkit-details-marker {
  display: none;
}

html[data-theme] body.wp-page-home .wp-life-details > summary small {
  color: var(--ledger-accent) !important;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-home .wp-life-details > summary strong {
  color: var(--ledger-ink) !important;
  font-size: 0.88rem;
}

html[data-theme] body.wp-page-home .wp-life-details[open] > summary {
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-page-home .wp-life-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
  padding: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-detail {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 72px;
  padding: 12px 16px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-home .wp-life-detail:nth-child(even) {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-home .wp-life-detail > .material-icons-round {
  color: var(--ledger-accent) !important;
  font-size: 20px;
}

html[data-theme] body.wp-page-home .wp-life-detail :is(small, strong, em) {
  display: block;
}

html[data-theme] body.wp-page-home .wp-life-detail small {
  color: var(--ledger-muted) !important;
  font-size: 0.67rem;
}

html[data-theme] body.wp-page-home .wp-life-detail strong {
  margin-top: 2px;
  color: var(--ledger-ink) !important;
  font-size: 0.88rem;
}

html[data-theme] body.wp-page-home .wp-life-detail em {
  margin-top: 2px;
  color: var(--ledger-muted) !important;
  font-size: 0.67rem;
  font-style: normal;
}

html[data-theme] body.wp-page-home .wp-life-utilities {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalize-strip, .wp-life-install) {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 76px;
  padding: 14px 16px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-home .wp-life-install {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalize-strip, .wp-life-install) > .material-icons-round {
  color: var(--ledger-accent) !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalize-strip, .wp-life-install) strong {
  color: var(--ledger-ink) !important;
  font-size: 0.82rem;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalize-strip, .wp-life-install) div > span {
  color: var(--ledger-muted) !important;
  font-size: 0.7rem;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalize-strip button, .wp-life-install-actions a, .wp-life-install-actions button) {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--ledger-accent) !important;
  box-shadow: none !important;
  font-size: 0.72rem;
  font-weight: 750;
}

html[data-theme] body.wp-page-home .wp-life-sponsor,
html[data-theme] body.wp-page-home .sponsor-spot {
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home #promo-banner-primary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0 !important;
}

html[data-theme] body.wp-page-home #promo-banner-primary .sponsor-spot-head {
  grid-column: 1 / -1;
  padding: 14px 17px 10px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-page-home #promo-banner-primary > .sponsor-spot-link {
  grid-column: 1 / -1;
}

html[data-theme] body.wp-page-home .sponsor-spot-image-stage {
  min-height: 0 !important;
  max-height: 280px;
  aspect-ratio: 16 / 5;
  border-radius: 0 !important;
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-page-home .sponsor-spot-image-stage::before {
  display: none !important;
}

html[data-theme] body.wp-page-home .sponsor-spot-image {
  object-fit: contain !important;
}

html[data-theme] body.wp-page-home #promo-banner-primary .sponsor-spot-actions {
  justify-content: flex-start;
  padding: 10px 14px;
}

html[data-theme] body.wp-page-home #promo-banner-primary .sponsor-spot-note {
  align-self: center;
  margin: 0;
  padding: 10px 14px;
  color: var(--ledger-muted) !important;
  font-size: 0.68rem;
}

/* Forecast */
html[data-theme] body.wp-page-forecast #main-scroll {
  min-height: 100vh;
  min-height: 100dvh;
  padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-page-forecast #weather-engine,
html[data-theme] body.wp-page-forecast .hero-spacer {
  display: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero #video-viewport {
  display: block !important;
  z-index: 0;
  background: var(--ledger-hero) !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero #video-viewport::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  background: rgba(4, 17, 26, 0.5);
}

html[data-theme] body.wp-page-forecast .forecast-context-hero #video-viewport :is(#bg-video, #android-hero-fx, #motion-overlay) {
  display: block !important;
}

html[data-theme] body.wp-page-forecast.android-no-video .forecast-context-hero #video-viewport #bg-video {
  display: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero {
  position: relative !important;
  display: block;
  width: min(calc(100% - 32px), 1120px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 14px auto 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--ledger-hero) !important;
  color: var(--ledger-hero-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero::before {
  content: none;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-content-layer {
  position: relative !important;
  z-index: 5;
  display: block !important;
  width: 100%;
  height: auto !important;
  padding: 22px 24px !important;
  color: var(--ledger-hero-ink) !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero :is(.hero-section, #hero-content) {
  width: 100%;
}

html[data-theme] body.wp-page-forecast .wp-forecast-hero-kicker {
  margin: 0 0 5px;
  color: var(--ledger-hero-muted) !important;
  font-size: 0.67rem !important;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-top-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-temp-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-temp {
  color: var(--ledger-hero-ink) !important;
  font-size: clamp(3.5rem, 8vw, 5rem) !important;
  font-weight: 730 !important;
  letter-spacing: -0.07em !important;
  line-height: 0.92 !important;
  text-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-icon {
  width: 70px !important;
  height: 70px !important;
  object-fit: contain;
  filter: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-details {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(76px, auto));
  gap: 0 !important;
  padding: 0 !important;
  color: var(--ledger-hero-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  text-align: left !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-details > span {
  padding: 4px 16px;
  border-left: 1px solid color-mix(in srgb, var(--ledger-hero-ink) 25%, transparent);
  color: var(--ledger-hero-muted) !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-details > span > span {
  display: block;
  margin-top: 2px;
  color: var(--ledger-hero-ink) !important;
  font-size: 1rem;
  font-weight: 750;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-lightning-note {
  position: static !important;
  grid-column: 1 / -1;
  justify-self: end;
  display: none !important;
  width: fit-content;
  max-width: 100%;
  margin-top: 6px;
  padding: 3px 8px;
  white-space: normal;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-lightning-note.show {
  display: inline-flex !important;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-lightning-note::before {
  content: "⚡";
  font-family: inherit;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-condition {
  margin-top: 8px !important;
  color: var(--ledger-hero-ink) !important;
  font-size: 1rem !important;
  font-weight: 700;
}

html[data-theme] body.wp-page-forecast .forecast-context-hero .last-updated {
  margin-top: 3px;
  color: var(--ledger-hero-muted) !important;
  font-size: 0.68rem !important;
}

html[data-theme] body.wp-page-forecast .main-wrapper,
html[data-theme] body.wp-page-forecast .content-backdrop {
  width: 100% !important;
  background: transparent !important;
}

html[data-theme] body.wp-page-forecast .forecast-page-heading {
  width: min(calc(100% - 32px), 1120px) !important;
  margin: 24px auto 15px !important;
}

html[data-theme] body.wp-page-forecast .wp-section-kicker {
  color: var(--ledger-accent) !important;
  font-size: 0.67rem !important;
  font-weight: 800;
  letter-spacing: 0.09em !important;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-forecast .forecast-page-heading h1 {
  margin: 4px 0 4px !important;
  color: var(--ledger-ink) !important;
  font-size: clamp(1.75rem, 4vw, 2.45rem) !important;
  font-weight: 760;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

html[data-theme] body.wp-page-forecast .forecast-page-heading p {
  max-width: 650px;
  margin: 0;
  color: var(--ledger-muted) !important;
  font-size: 0.9rem !important;
  line-height: 1.45;
}

html[data-theme] body.wp-page-forecast .forecast-view-controls {
  position: sticky !important;
  top: calc(64px + env(safe-area-inset-top, 0px));
  z-index: 70;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-top: 1px solid var(--ledger-rule) !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-section-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-page-forecast .forecast-section-tabs button {
  min-height: 50px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
  font-size: 0.8rem !important;
  font-weight: 720;
}

html[data-theme] body.wp-page-forecast .forecast-section-tabs button.is-active {
  border-bottom-color: var(--ledger-accent) !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .content-container {
  display: block !important;
  width: min(calc(100% - 32px), 1120px) !important;
  margin: 14px auto 0 !important;
  padding: 0 !important;
}

html[data-theme] body.wp-page-forecast .content-container > * {
  margin: 0 0 14px !important;
}

html[data-theme] body.wp-page-forecast #forecast-planning-tabs {
  scroll-margin-top: calc(144px + env(safe-area-inset-top, 0px));
}

html[data-theme] body.wp-page-forecast.wp-shell-embedded-nav #forecast-planning-tabs,
html[data-theme].wp-shell-embedded-boot body.wp-page-forecast #forecast-planning-tabs {
  scroll-margin-top: 80px;
}

html[data-theme] body.wp-page-forecast :is(
  .card,
  .forecast-report-intro,
  .forecast-planning-selector,
  .forecast-client-portal
) {
  width: 100%;
  padding: 20px !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 8px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast :is(.card-title, .forecast-report-copy h2, .forecast-subsection-head h3) {
  color: var(--ledger-ink) !important;
  font-weight: 750;
  letter-spacing: -0.015em;
}

html[data-theme] body.wp-page-forecast :is(.forecast-section-note, .forecast-report-copy > p, .hourly-context-note) {
  color: var(--ledger-muted) !important;
  line-height: 1.4;
}

html[data-theme] body.wp-page-forecast .forecast-report-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--ledger-rule);
  color: var(--ledger-muted) !important;
  font-size: 0.72rem;
}

html[data-theme] body.wp-page-forecast .forecast-live-status {
  color: var(--ledger-ink) !important;
  font-weight: 700;
}

html[data-theme] body.wp-page-forecast .forecast-live-status i {
  background: var(--ledger-good) !important;
}

html[data-theme] body.wp-page-forecast .forecast-analysis-grid,
html[data-theme] body.wp-page-forecast .forecast-hourly-key,
html[data-theme] body.wp-page-forecast .forecast-daily-trends,
html[data-theme] body.wp-page-forecast .wp-forecast-signals {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid var(--ledger-rule);
  border-radius: 6px;
  background: var(--ledger-surface);
}

html[data-theme] body.wp-page-forecast :is(
  .forecast-analysis-stat,
  .forecast-key-stat,
  .forecast-trend-stat,
  .wp-forecast-signal
) {
  min-width: 0;
  min-height: 108px;
  padding: 14px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast :is(
  .forecast-analysis-stat,
  .forecast-key-stat,
  .forecast-trend-stat,
  .wp-forecast-signal
):last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-forecast :is(.forecast-analysis-stat, .forecast-key-stat, .forecast-trend-stat) span {
  color: var(--ledger-muted) !important;
  font-size: 0.69rem;
}

html[data-theme] body.wp-page-forecast :is(.forecast-analysis-stat, .forecast-key-stat, .forecast-trend-stat) strong {
  color: var(--ledger-ink) !important;
  font-size: 1.05rem;
}

html[data-theme] body.wp-page-forecast :is(.forecast-analysis-stat, .forecast-key-stat, .forecast-trend-stat) small {
  color: var(--ledger-muted) !important;
  font-size: 0.69rem;
  line-height: 1.35;
}

html[data-theme] body.wp-page-forecast .forecast-today-brief {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-today-brief-head {
  padding: 15px 16px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-page-forecast .forecast-plan-status {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-today-periods {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ledger-rule);
  border-radius: 6px;
}

html[data-theme] body.wp-page-forecast .forecast-today-period {
  min-width: 0;
  padding: 14px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-today-period:last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-page-forecast .forecast-pattern-read {
  margin-top: 18px;
  padding: 15px 17px !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-pattern-read p {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-forecast :is(
  .forecast-hourly-select-shell,
  .hourly-primary-metric,
  .forecast-icon-button,
  .card-action,
  .btn,
  .forecast-add-button
) {
  border-radius: 4px !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .hourly-primary-metric.is-active {
  background: var(--ledger-accent) !important;
  color: #fff !important;
}

html[data-theme="night"] body.wp-page-forecast .hourly-primary-metric.is-active {
  color: #0a141c !important;
}

html[data-theme] body.wp-page-forecast .hourly-scroll {
  overflow-x: auto;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  scrollbar-color: var(--ledger-rule-strong) transparent;
  scrollbar-width: thin;
}

html[data-theme] body.wp-page-forecast .hour-item {
  border-right: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast .hour-item.bad-weather {
  background: var(--ledger-alert-wash) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .hour-bar {
  border-radius: 2px 2px 0 0 !important;
}

html[data-theme] body.wp-page-forecast #hourly-list-view {
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface);
}

html[data-theme] body.wp-page-forecast .hour-row {
  position: relative;
  display: grid !important;
  grid-template-columns: 64px 42px minmax(90px, 0.85fr) minmax(120px, 1fr) 64px 34px !important;
  align-items: center;
  gap: 10px !important;
  width: 100%;
  min-height: 70px !important;
  padding: 9px 10px 9px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .hour-row.bad-weather {
  background: var(--ledger-alert-wash) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .hour-list-time {
  color: var(--ledger-ink) !important;
  font-size: 0.76rem !important;
  font-weight: 750;
  text-transform: uppercase;
}

html[data-theme] body.wp-page-forecast .hour-list-icon {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain;
  filter: none !important;
}

html[data-theme] body.wp-page-forecast .hour-list-details {
  display: flex !important;
  flex-direction: column;
  gap: 2px !important;
}

html[data-theme] body.wp-page-forecast .hour-list-temp {
  color: var(--ledger-ink) !important;
  font-size: 1.2rem !important;
  font-weight: 780;
}

html[data-theme] body.wp-page-forecast :is(.hour-list-feels, .hour-list-cond) {
  color: var(--ledger-muted) !important;
  font-size: 0.74rem !important;
}

html[data-theme] body.wp-page-forecast .hour-list-rain {
  color: var(--ledger-accent) !important;
  font-size: 0.74rem !important;
  font-weight: 700;
}

html[data-theme] body.wp-page-forecast .hour-row .day-expand-btn {
  position: static !important;
  display: grid;
  place-items: center;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .forecast-hourly-matrix {
  margin-top: 20px !important;
  padding-top: 17px !important;
  border-top: 1px solid var(--ledger-rule) !important;
}

html[data-theme] body.wp-page-forecast .forecast-table-scroll {
  overflow: auto;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
}

html[data-theme] body.wp-page-forecast .forecast-table-scroll :is(th, td) {
  border-bottom-color: var(--ledger-rule) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast .forecast-table-scroll thead th {
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-forecast .forecast-table-scroll tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--ledger-surface-alt) 58%, transparent);
}

html[data-theme] body.wp-page-forecast .forecast-daily-column-heads {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-forecast #card-daily .daily-list {
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface);
}

html[data-theme] body.wp-page-forecast .forecast-day-item {
  border: 0 !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-page-forecast .day-row.day-row-button {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(104px, 0.85fr) minmax(170px, 1.35fr) 66px 94px 76px minmax(190px, 1.45fr) 26px !important;
  align-items: center;
  gap: 10px !important;
  width: 100%;
  min-height: 76px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  text-align: left;
}

html[data-theme] body.wp-page-forecast .forecast-day-item:last-child > .day-row.day-row-button {
  border-bottom: 0 !important;
}

html[data-theme] body.wp-page-forecast .day-row.day-row-button:hover,
html[data-theme] body.wp-page-forecast .day-row.day-row-button[aria-expanded="true"] {
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-page-forecast .day-primary :is(.day-name, small),
html[data-theme] body.wp-page-forecast .day-condition > span {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast .day-primary small,
html[data-theme] body.wp-page-forecast .day-metric {
  color: var(--ledger-muted) !important;
  font-size: 0.7rem !important;
}

html[data-theme] body.wp-page-forecast .day-condition .day-icon {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain;
  filter: none !important;
}

html[data-theme] body.wp-page-forecast .day-range-container .range-track {
  grid-column: 2;
  grid-row: 1;
  background: var(--ledger-rule) !important;
}

html[data-theme] body.wp-page-forecast .day-range-container .range-bar {
  background: var(--ledger-accent) !important;
}

html[data-theme] body.wp-page-forecast .range-temp-label {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-forecast .range-temp-value {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast .day-range-container {
  min-width: 0;
}

html[data-theme] body.wp-page-forecast .day-range-container .range-temp-low {
  grid-column: 1;
  grid-row: 1;
}

html[data-theme] body.wp-page-forecast .day-range-container .range-temp-high {
  grid-column: 3;
  grid-row: 1;
}

html[data-theme] body.wp-page-forecast .day-range-container .range-temp-separator {
  display: none;
}

html[data-theme] body.wp-page-forecast .day-range-container .range-temp-text {
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast #content-grid :is(h2, h3)[tabindex="-1"]:focus {
  outline: 0 !important;
}

html[data-theme] body.wp-page-forecast .details-panel.is-open,
html[data-theme] body.wp-page-forecast .details-panel:not([hidden]) {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast #hourly-list-view > .details-panel,
html[data-theme] body.wp-page-forecast #daily-container > .forecast-day-item > .details-panel {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding-inline: 0 !important;
}

html[data-theme] body.wp-page-forecast .details-panel .wx-detail {
  padding: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-page-forecast .details-panel .wx-detail-hero {
  display: none !important;
}

html[data-theme] body.wp-page-forecast .wx-tile-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
  padding: 8px 16px !important;
}

html[data-theme] body.wp-page-forecast .wx-tile {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 58px;
  padding: 9px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .wx-tile:nth-child(odd) {
  border-right: 1px solid var(--ledger-rule) !important;
}

html[data-theme] body.wp-page-forecast .wx-tile-icon {
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-accent) !important;
  font-size: 19px !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .wx-tile-copy {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 2px 12px;
}

html[data-theme] body.wp-page-forecast .wx-tile-copy small {
  color: var(--ledger-muted) !important;
  font-size: 0.69rem !important;
}

html[data-theme] body.wp-page-forecast .wx-tile-copy strong {
  color: var(--ledger-ink) !important;
  font-size: 0.86rem !important;
  text-align: right;
}

html[data-theme] body.wp-page-forecast .wx-tile-copy em {
  grid-column: 1 / -1;
  color: var(--ledger-muted) !important;
  font-size: 0.66rem !important;
  font-style: normal;
}

html[data-theme] body.wp-page-forecast .wx-sun-strip {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
  margin: 8px 0 0;
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-page-forecast .wx-sun-cell {
  padding: 10px;
  border-right: 1px solid var(--ledger-rule);
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast .wx-sun-cell strong {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast .wx-sun-cell small {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-forecast .wx-sun-cell:last-child {
  border-right: 0;
}

html[data-theme] body.wp-page-forecast .wx-summary-note {
  margin: 0 16px 12px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-forecast :is(.aqi-summary, .forecast-planning-card, .event-empty-state, .route-planner-form) {
  border-radius: 6px !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .sponsor-spot {
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-forecast .sponsor-spot-image-stage {
  min-height: 0 !important;
  max-height: 310px;
  aspect-ratio: 16 / 5;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-page-forecast .sponsor-spot-image-stage::before {
  display: none !important;
}

html[data-theme] body.wp-page-forecast .sponsor-spot-image {
  object-fit: contain !important;
}

/* Core weather stays visible even if enhancement boot is delayed in WebView. */
body.wp-page-home.wp-anim-on:not(.app-loaded) :is(.wp-alert-stack, .wp-life-home),
body.wp-page-forecast.wp-anim-on:not(.app-loaded) :is(
  .forecast-alert-shell,
  .sticky-hero-block,
  .forecast-page-heading,
  .forecast-view-controls,
  #content-grid > *
) {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/* The native shell injects a glass-card compatibility layer at runtime. These
   higher-specificity rules keep Home and Forecast opaque and shadow-free. */
html[data-theme] body.wp-page-home.wp-shell-embedded-nav :is(
  .wp-life-hero,
  .wp-life-section,
  .wp-life-details,
  .wp-life-utilities,
  .alert-summary-card,
  .sponsor-spot
),
html[data-theme] body.wp-page-forecast.wp-shell-embedded-nav :is(
  .card,
  .section-card,
  .hero-card,
  .hourly-card,
  .full-width-card,
  .aqi-summary-card,
  .alert-summary-card,
  .forecast-context-hero,
  .sponsor-spot,
  .sponsor-spot-frame
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home.wp-shell-embedded-nav .alert-summary-card,
html[data-theme] body.wp-page-forecast.wp-shell-embedded-nav .alert-summary-card {
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
}

@media (max-width: 820px) {
  html[data-theme] body.wp-page-home .sticky-location-bar,
  html[data-theme] body.wp-page-forecast .sticky-location-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    padding-right: max(10px, env(safe-area-inset-right, 0px));
    padding-left: max(10px, env(safe-area-inset-left, 0px));
  }

  html[data-theme] body.wp-page-home .sticky-location-bar > .header-spacer:first-child,
  html[data-theme] body.wp-page-forecast .sticky-location-bar > .header-spacer:first-child {
    display: none;
  }

  html[data-theme] body.wp-page-home .header-actions,
  html[data-theme] body.wp-page-forecast .header-actions {
    justify-self: end;
  }

  html[data-theme] body.wp-page-home .header-action-btn,
  html[data-theme] body.wp-page-forecast .header-action-btn {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }

  html[data-theme] body.wp-page-home .wp-life-hero {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "current"
      "intro"
      "command"
      "hour-head"
      "hours";
  }

  html[data-theme] body.wp-page-home .wp-life-hero #video-viewport {
    min-height: 218px;
  }

  html[data-theme] body.wp-page-home .wp-life-hero-top {
    padding: 19px 18px 16px;
  }

  html[data-theme] body.wp-page-home .wp-life-now-row {
    min-height: 218px;
  }

  html[data-theme] body.wp-page-home .wp-life-timeline {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[data-theme] body.wp-page-home .wp-life-timeline-item {
    min-height: 0;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-page-home .wp-life-timeline-item:last-child {
    border-bottom: 0 !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-analysis-grid,
  html[data-theme] body.wp-page-forecast .forecast-hourly-key,
  html[data-theme] body.wp-page-forecast .forecast-daily-trends,
  html[data-theme] body.wp-page-forecast .wp-forecast-signals {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html[data-theme] body.wp-page-forecast :is(
    .forecast-analysis-stat,
    .forecast-key-stat,
    .forecast-trend-stat,
    .wp-forecast-signal
  ):nth-child(2n) {
    border-right: 0 !important;
  }

  html[data-theme] body.wp-page-forecast :is(
    .forecast-analysis-stat,
    .forecast-key-stat,
    .forecast-trend-stat,
    .wp-forecast-signal
  ):nth-child(-n + 2) {
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button {
    grid-template-columns: minmax(90px, 0.75fr) minmax(150px, 1.25fr) 62px minmax(170px, 1.3fr) 26px !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button :is(.day-wind, .day-humidity) {
    display: none !important;
  }
}

@media (max-width: 620px) {
  html[data-theme] body.wp-page-home .wp-alert-stack,
  html[data-theme] body.wp-page-home .wp-life-home,
  html[data-theme] body.wp-page-forecast :is(.forecast-alert-shell, .forecast-context-hero, .forecast-page-heading, .content-container) {
    width: calc(100% - 20px) !important;
  }

  html[data-theme] body.wp-page-home .wp-life-home {
    gap: 10px;
    margin-top: 10px;
  }

  html[data-theme] body.wp-page-home .wp-alert-stack,
  html[data-theme] body.wp-page-forecast .forecast-alert-shell,
  html[data-theme] body.wp-page-forecast .forecast-context-hero {
    margin-top: 10px !important;
  }

  html[data-theme] body.wp-page-home .wp-life-now-row {
    min-height: 224px;
  }

  html[data-theme] body.wp-page-home .wp-life-current-pill {
    grid-template-columns: 62px minmax(0, 1fr);
    grid-template-areas:
      "kicker kicker"
      "icon reading"
      "meta meta";
    min-height: 224px;
    padding: 16px;
  }

  html[data-theme] body.wp-page-home .wp-life-current-pill img {
    width: 58px !important;
    height: 58px !important;
  }

  html[data-theme] body.wp-page-home .wp-life-current-reading strong {
    font-size: 3.35rem !important;
  }

  html[data-theme] body.wp-page-home .wp-life-current-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3px;
  }

  html[data-theme] body.wp-page-home .wp-life-current-meta > span:not(#wp-life-updated) {
    min-width: 0;
    padding: 2px 10px;
  }

  html[data-theme] body.wp-page-home #wp-life-updated {
    margin: 2px 10px 0;
  }

  html[data-theme] body.wp-page-home .wp-life-command {
    padding: 14px 16px;
    border-top: 1px solid var(--ledger-rule) !important;
    border-left: 0 !important;
  }

  html[data-theme] body.wp-page-home .wp-life-daystream-head {
    padding: 12px 14px 8px;
  }

  html[data-theme] body.wp-page-home .wp-life-nowcast-hour {
    flex-basis: 84px !important;
  }

  html[data-theme] body.wp-page-home .wp-life-section-head {
    align-items: start;
    padding: 16px 15px 12px;
  }

  html[data-theme] body.wp-page-home .wp-life-quick-links,
  html[data-theme] body.wp-page-home .wp-life-planning-links,
  html[data-theme] body.wp-page-home .wp-life-utilities {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a, .wp-life-personalize-strip, .wp-life-install) {
    border-right: 0 !important;
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-page-home :is(.wp-life-quick-link, .wp-life-planning-links a, .wp-life-personalize-strip, .wp-life-install):last-child {
    border-bottom: 0 !important;
  }

  html[data-theme] body.wp-page-home .wp-life-outlook .day-row {
    grid-template-columns: 58px 42px minmax(0, 1fr) !important;
    gap: 8px;
    padding: 8px 12px !important;
  }

  html[data-theme] body.wp-page-home .wp-life-outlook .day-icon {
    width: 38px !important;
    height: 38px !important;
  }

  html[data-theme] body.wp-page-home .wp-life-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-theme] body.wp-page-home .wp-life-detail,
  html[data-theme] body.wp-page-home .wp-life-detail:nth-child(even) {
    min-height: 92px;
    padding: 12px 10px !important;
    gap: 6px;
    grid-template-columns: 20px minmax(0, 1fr);
  }

  html[data-theme] body.wp-page-home .sponsor-spot-image-stage {
    aspect-ratio: 16 / 7;
  }

  html[data-theme] body.wp-page-home #promo-banner-primary {
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-theme] body.wp-page-home #promo-banner-primary .sponsor-spot-note {
    display: none;
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-content-layer {
    padding: 18px !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-top-row {
    align-items: start !important;
    flex-direction: column;
    gap: 14px !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-temp {
    font-size: 4rem !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-icon {
    width: 60px !important;
    height: 60px !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-details {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-details > span {
    padding: 3px 10px;
  }

  html[data-theme] body.wp-page-forecast .forecast-context-hero .hero-details > span:first-of-type {
    padding-left: 0;
    border-left: 0;
  }

  html[data-theme] body.wp-page-forecast .forecast-page-heading {
    margin-top: 18px !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-page-heading p {
    display: none;
  }

  html[data-theme] body.wp-page-forecast .forecast-view-controls {
    top: calc(64px + env(safe-area-inset-top, 0px));
    padding: 0 6px !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-section-tabs button {
    min-height: 46px !important;
    padding: 0 4px !important;
    font-size: 0.74rem !important;
  }

  html[data-theme] body.wp-page-forecast :is(
    .card,
    .forecast-report-intro,
    .forecast-planning-selector,
    .forecast-client-portal
  ) {
    padding: 16px !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-analysis-grid,
  html[data-theme] body.wp-page-forecast .forecast-hourly-key,
  html[data-theme] body.wp-page-forecast .forecast-daily-trends,
  html[data-theme] body.wp-page-forecast .wp-forecast-signals {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html[data-theme] body.wp-page-forecast :is(
    .forecast-analysis-stat,
    .forecast-key-stat,
    .forecast-trend-stat,
    .wp-forecast-signal
  ) {
    min-height: 96px;
    padding: 12px !important;
  }

  html[data-theme] body.wp-page-forecast :is(.forecast-analysis-stat, .forecast-key-stat, .forecast-trend-stat) :is(span, small) {
    font-size: 0.75rem !important;
    line-height: 1.35;
  }

  html[data-theme] body.wp-page-forecast .forecast-today-periods {
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-theme] body.wp-page-forecast .forecast-today-period {
    border-right: 0 !important;
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-page-forecast .forecast-today-period:last-child {
    border-bottom: 0 !important;
  }

  /* Phones use the existing expandable ledger view instead of the chart. */
  html[data-theme] body.wp-page-forecast #hourly-scroll-view,
  html[data-theme] body.wp-page-forecast .forecast-hourly-matrix,
  html[data-theme] body.wp-page-forecast :is(.hourly-primary-metrics, .forecast-hourly-select-shell, #hourly-view-toggle) {
    display: none !important;
  }

  html[data-theme] body.wp-page-forecast #hourly-list-view {
    display: flex !important;
    flex-direction: column;
  }

  html[data-theme] body.wp-page-forecast .hour-row {
    grid-template-columns: 48px 36px minmax(54px, 1fr) auto 44px !important;
    gap: 6px !important;
    min-height: 72px !important;
    padding: 8px 10px !important;
  }

  html[data-theme] body.wp-page-forecast #hourly-list-view .hour-row .day-expand-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    touch-action: manipulation;
  }

  html[data-theme] body.wp-page-forecast #hourly-list-view .hour-list-details {
    min-width: 0;
    overflow: hidden;
  }

  html[data-theme] body.wp-page-forecast #hourly-list-view :is(.hour-list-temp, .hour-list-feels) {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html[data-theme] body.wp-page-forecast .hour-list-cond {
    display: none !important;
  }

  html[data-theme] body.wp-page-forecast .hour-list-rain {
    justify-self: end;
  }

  html[data-theme] body.wp-page-forecast .forecast-daily-column-heads {
    display: none !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button {
    grid-template-columns: 54px 40px minmax(34px, 1fr) 70px 20px !important;
    grid-template-areas: none !important;
    gap: 6px !important;
    min-height: 78px !important;
    padding: 9px 8px 9px 10px !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-primary,
  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-condition,
  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-rain,
  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-range-container {
    grid-area: auto !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-primary { grid-column: 1; }
  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-condition { grid-column: 2; }
  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-rain { grid-column: 3; }
  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-range-container { grid-column: 4; }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button > .day-expand-icon {
    position: static !important;
    grid-column: 5;
    justify-self: end;
    width: 20px;
    font-size: 20px !important;
    line-height: 1;
    inset: auto !important;
    transform: none !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button.active > .day-expand-icon {
    transform: rotate(180deg) !important;
  }

  /* Override the older eight-column phone layout from the planning layer. */
  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .forecast-day-item > .day-row.day-row-button {
    grid-template-columns: 54px 40px minmax(34px, 1fr) 70px 20px !important;
    grid-template-areas: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-primary {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-condition {
    grid-area: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-rain {
    grid-area: auto !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-range-container {
    grid-area: auto !important;
    grid-column: 4 !important;
    grid-row: 1 !important;
    width: 70px !important;
    min-width: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-expand-icon {
    position: static !important;
    grid-area: auto !important;
    grid-column: 5 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 20px !important;
    inset: auto !important;
    transform: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button.active > .day-expand-icon {
    transform: rotate(180deg) !important;
  }

  html[data-theme] body.wp-page-forecast .day-condition > span,
  html[data-theme] body.wp-page-forecast .day-row.day-row-button :is(.day-wind, .day-humidity) {
    display: none !important;
  }

  html[data-theme] body.wp-page-forecast .day-condition {
    display: block !important;
  }

  html[data-theme] body.wp-page-forecast .day-condition .day-icon {
    width: 40px !important;
    height: 40px !important;
  }

  html[data-theme] body.wp-page-forecast .day-rain {
    justify-self: end;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button .day-range-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    justify-content: stretch;
    gap: 4px;
    width: 70px;
    min-width: 0;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button .range-temp-text {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    font-size: 0.78rem !important;
    text-align: left;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button .range-temp-high {
    text-align: right;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button .range-track,
  html[data-theme] body.wp-page-forecast .day-row.day-row-button .range-temp-label {
    display: none !important;
  }

  html[data-theme] body.wp-page-forecast .day-row.day-row-button .range-temp-low {
    color: var(--ledger-muted) !important;
  }

  html[data-theme] body.wp-page-forecast .wx-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 6px 8px !important;
  }

  html[data-theme] body.wp-page-forecast .wx-tile,
  html[data-theme] body.wp-page-forecast .wx-tile:nth-child(odd) {
    min-height: 76px;
    padding: 10px 8px !important;
    gap: 6px;
    border-right: 0 !important;
  }

  html[data-theme] body.wp-page-forecast .wx-tile:nth-child(odd) {
    border-right: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-page-forecast .wx-tile-copy {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  html[data-theme] body.wp-page-forecast .wx-tile-copy strong {
    text-align: left;
    font-variant-numeric: tabular-nums;
  }

  html[data-theme] body.wp-page-forecast .wx-sun-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  html[data-theme] body.wp-page-forecast .wx-sun-cell {
    min-width: 0;
    padding: 10px 8px;
    border-right: 1px solid var(--ledger-rule);
    border-bottom: 0;
    border-radius: 0 !important;
    overflow-wrap: anywhere;
  }

  html[data-theme] body.wp-page-forecast .wx-sun-cell:last-child {
    border-bottom: 0;
  }

  html[data-theme] body.wp-page-forecast .sponsor-spot-image-stage {
    aspect-ratio: 16 / 7;
  }
}

@media (max-width: 330px) {
  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-row {
    grid-template-columns: 38px 28px minmax(0, 1fr) minmax(26px, auto) 44px !important;
    gap: 3px !important;
    padding: 7px 9px 7px 6px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-list-time {
    min-width: 0;
    font-size: 0.75rem !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-list-icon {
    width: 28px !important;
    height: 28px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-list-details {
    min-width: 0;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-list-rain {
    min-width: 0 !important;
    gap: 0 !important;
    padding: 3px 2px !important;
    font-size: 0.75rem !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-list-rain .material-icons-round {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #hourly-list-view .hour-row .day-expand-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .forecast-day-item > .day-row.day-row-button {
    grid-template-columns: 44px 30px minmax(24px, 1fr) 58px 18px !important;
    grid-template-areas: none !important;
    gap: 3px !important;
    padding: 7px 6px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-condition .day-icon {
    width: 30px !important;
    height: 30px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-range-container {
    width: 58px !important;
    min-width: 0 !important;
    gap: 2px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-text {
    font-size: 0.75rem !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-rain .material-icons-round {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-expand-icon {
    width: 18px !important;
    font-size: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] body.wp-page-home *,
  html[data-theme] body.wp-page-forecast * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================================================== 
   Radar + WarnPins ledger integration

   These tools keep their existing geometry, state classes, safe-area offsets,
   and interaction logic. This final layer only replaces the remaining glass,
   capsule, gradient, and elevated presentation with the Weather Ledger skin.
   ========================================================================== */

html[data-theme] body.wp-design-100x.wp-page-radar,
html[data-theme] body.wp-experience.wp-page-warnpins {
  --page-surface: var(--ledger-canvas) !important;
  --bg-app: var(--ledger-canvas) !important;
  --bg-card: var(--ledger-surface) !important;
  --bg-overlay: var(--ledger-surface) !important;
  --input-bg: var(--ledger-surface-alt) !important;
  --text-main: var(--ledger-ink) !important;
  --text-sub: var(--ledger-muted) !important;
  --divider: var(--ledger-rule) !important;
  --wp-hairline: var(--ledger-rule) !important;
  --brand-primary: var(--ledger-accent) !important;
  --brand-dark: var(--ledger-accent-strong) !important;
  --wp-accent: var(--ledger-accent) !important;
  --wp-accent-strong: var(--ledger-accent-strong) !important;
  --wp-accent-soft: var(--ledger-accent-wash) !important;
  --wp-accent-border: var(--ledger-rule-strong) !important;
  --alert-red: var(--ledger-alert) !important;
  --warning-orange: var(--ledger-watch) !important;
  --success-green: var(--ledger-good) !important;
  --shadow: none !important;
  --wp-elev-1: none !important;
  --wp-elev-2: none !important;
  color: var(--ledger-ink);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html[data-theme="day"] body.wp-design-100x.wp-page-radar,
html[data-theme="day"] body.wp-experience.wp-page-warnpins {
  --ledger-action-ink: #ffffff;
  color-scheme: light;
}

html[data-theme="night"] body.wp-design-100x.wp-page-radar,
html[data-theme="night"] body.wp-experience.wp-page-warnpins {
  --ledger-action-ink: #07131d;
  color-scheme: dark;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(button, a, input, select, textarea, [role="button"], [tabindex]):focus-visible,
html[data-theme] body.wp-experience.wp-page-warnpins :is(button, a, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ledger-focus) 55%, transparent) !important;
  outline-offset: 2px;
}

/* Shared browser and embedded shell chrome, qualified to these two pages. */
html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) .wp-shell-dock::before {
  background: transparent !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) .wp-shell-dock-inner {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(.wp-shell-link, .wp-shell-notify) {
  border-radius: 4px !important;
  box-shadow: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(.wp-shell-link.active, .wp-shell-link[aria-current="page"]) {
  border-color: var(--ledger-rule-strong) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent) !important;
  box-shadow: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(.wp-shell-link, .wp-shell-notify)::before {
  box-shadow: none !important;
}

html[data-theme] body.wp-shell-page.wp-shell-embedded-nav .wp-embedded-statusbar-fade {
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-shell-page.wp-shell-embedded-nav .wp-embedded-topbar-inner {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page.wp-shell-embedded-nav :is(
  .wp-embedded-brand,
  .wp-embedded-icon-btn,
  .wp-embedded-location-icon
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page.wp-shell-embedded-nav .wp-embedded-search-pill {
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page.wp-shell-embedded-nav :is(
  .wp-embedded-location-name,
  .wp-embedded-search-pill > .material-icons-round:last-child
) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .wp-embedded-radar-layers {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(
  .wp-embedded-location-sheet,
  .wp-location-always-sheet
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(
  .wp-embedded-location-card,
  .wp-location-always-card
) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(
  .wp-embedded-search-field,
  .wp-embedded-search-result,
  .wp-embedded-location-row,
  .wp-embedded-location-close,
  .wp-embedded-sheet-close,
  .wp-embedded-favorite-toggle,
  .wp-location-always-step,
  .wp-location-always-secondary,
  .wp-location-always-close,
  .wp-location-always-x
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) :is(
  .wp-embedded-location-row-primary,
  .wp-embedded-weather-temp,
  .wp-location-always-icon
) {
  border-color: var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme] :is(body.wp-design-100x.wp-page-radar, body.wp-experience.wp-page-warnpins) .wp-embedded-sheet-action-btn {
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

/* Radar: preserve the map canvas and control placement; flatten only its HUD. */
html[data-theme] body.wp-design-100x.wp-page-radar {
  --radar-panel-bg: var(--ledger-surface) !important;
  --radar-panel-border: var(--ledger-rule-strong) !important;
  --radar-panel-text: var(--ledger-ink) !important;
  --radar-panel-muted: var(--ledger-muted) !important;
  --radar-panel-sub: var(--ledger-muted) !important;
  --radar-accent: var(--ledger-accent) !important;
  --radar-paper: var(--ledger-surface) !important;
  --radar-paper-solid: var(--ledger-surface) !important;
  --radar-surface: var(--ledger-surface) !important;
  --radar-ink: var(--ledger-ink) !important;
  --radar-muted: var(--ledger-muted) !important;
  --radar-line: var(--ledger-rule) !important;
  --radar-night: var(--ledger-surface) !important;
  --radar-night-soft: var(--ledger-surface-alt) !important;
  --radar-night-line: var(--ledger-rule) !important;
  --radar-night-text: var(--ledger-ink) !important;
  --radar-night-muted: var(--ledger-muted) !important;
  --radar-good: var(--ledger-good) !important;
  --radar-watch: var(--ledger-watch) !important;
  --radar-alert: var(--ledger-alert) !important;
  --radar-blue: var(--ledger-accent) !important;
  --radar-command-shadow: none !important;
  --wp-radar-hud-bg: var(--ledger-surface) !important;
  --wp-radar-hud-bg-2: var(--ledger-surface) !important;
  --wp-radar-hud-line: var(--ledger-rule-strong) !important;
  --wp-radar-hud-text: var(--ledger-ink) !important;
  --wp-radar-hud-muted: var(--ledger-muted) !important;
  --wp-radar-hud-blue: var(--ledger-accent) !important;
  --wp-radar-hud-shadow: none !important;
  --wp-radar-tools-surface: var(--ledger-surface) !important;
  --wp-radar-tools-surface-soft: var(--ledger-surface-alt) !important;
  --wp-radar-tools-border: var(--ledger-rule-strong) !important;
  --wp-radar-tools-border-soft: var(--ledger-rule) !important;
  --wp-radar-tools-text: var(--ledger-ink) !important;
  --wp-radar-tools-muted: var(--ledger-muted) !important;
  --wp-radar-tools-blue: var(--ledger-accent) !important;
  --wp-radar-tools-shadow: none !important;
  --wp-radar-tools-shadow-tight: none !important;
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(.statusbar-fade, .app-header) {
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .app-header {
  border-bottom: 1px solid var(--ledger-rule) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .bottom-controls {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar.wp-radar-fullscreen {
  --wp-radar-hud-bottom-clearance: max(var(--safe-bottom, env(safe-area-inset-bottom, 0px)), 0px) !important;
}

@media (max-width: 700px) {
  html[data-theme] body.wp-page-radar:has(.bottom-controls.mode-more-open) :is(#radar-pro-desk, .toolbar-actions) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

html[data-theme] body.wp-design-100x.wp-page-radar .scrubber-container {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar #play-pause-btn {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar #play-pause-btn.is-playing {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .search-pill,
  .radar-header-action,
  .radar-fullscreen-enter-embedded,
  .radar-fullscreen-exit,
  .bottom-toolbar,
  .scrubber-row,
  .toolbar-actions,
  .legend-container,
  .radar-quick-popover,
  .storm-track-panel,
  .storm-line-hint,
  .wp-tools-popup,
  .mode-more-menu,
  .radar-frame-time-pill,
  .radar-loading-overlay,
  .radar-recovery,
  .radar-pro-desk,
  .wp-loader-card,
  .modal-content,
  .mapboxgl-popup-content,
  .storm-track-floating-popup,
  .toast,
  .warnpins-map-picker-overlay,
  .warnpins-submit-success-card
) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .modal-overlay {
  background: rgba(9, 15, 22, 0.66) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .search-pill,
  .radar-header-action,
  .radar-fullscreen-enter-embedded,
  .radar-fullscreen-exit,
  .btn-circle,
  .pill-btn,
  .mode-pill,
  .mode-more-toggle,
  .radar-play-button,
  .radar-back-live,
  .radar-alert-status,
  .radar-quick-close,
  .radar-quick-btn,
  .storm-track-mode-btn,
  .storm-track-action,
  .storm-track-panel-minimize,
  .storm-track-panel-close,
  .wp-tools-popup-close,
  .modal-close-btn,
  .close-search-btn,
  .alert-close-btn,
  .alert-nav-btn,
  .site-picker-closest-btn,
  .waze-action-btn,
  .community-media-btn,
  .community-profile-edit-btn,
  .community-show-as-btn,
  .community-media-remove-btn,
  .waze-report-option,
  .warnpins-map-picker-back
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .pill-btn.active,
  .mode-pill.active,
  .btn-circle.active,
  .btn-circle[aria-pressed="true"],
  .storm-track-mode-btn.active,
  .community-show-as-btn.active,
  .waze-report-option.selected
) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .layers-nav-chip,
  .tilt-btn
) {
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .layers-nav-chip.active,
  .layers-nav-chip[aria-selected="true"],
  .tilt-btn.active
) {
  border-bottom-color: var(--ledger-accent) !important;
  background: transparent !important;
  color: var(--ledger-accent) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .layer-option,
  .layers-report-cta,
  .site-picker-closest-btn,
  .waze-report-option
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .layer-option.selected,
  .layers-report-cta:hover,
  .site-picker-closest-btn:hover
) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .alert-toggle-row,
  .radar-source-row,
  .site-picker-row
) {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .alert-toggle-row.active,
  .radar-source-row.selected,
  .site-picker-row.selected
) {
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .search-input,
  .site-picker-search,
  .waze-input,
  .waze-textarea,
  .radar-pro-select,
  .radar-pro-site-select,
  .storm-track-panel-speed input
) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  #alerts-all-on,
  #alerts-all-off,
  #close-site-picker
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .waze-submit-btn,
  .community-map-select-btn,
  .storm-track-action:not(.secondary)
) {
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .toolbar-action-label,
  .radar-status-kicker,
  .radar-status-source,
  .radar-quick-eyebrow,
  .radar-quick-foot,
  .layers-hint,
  .site-picker-hint,
  .waze-sheet-subtitle,
  .waze-row-label,
  .waze-optional,
  .community-media-btn-sub,
  .community-media-hint,
  .community-avatar-hint,
  .community-profile-saved-badge,
  .community-media-preview-meta,
  .warnpins-map-picker-kicker,
  .warnpins-map-picker-subtitle
) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .search-text,
  .radar-quick-title,
  .storm-track-panel-title,
  .layers-title,
  .layers-subtitle,
  .alert-label,
  .radar-source-title,
  .waze-sheet-title,
  .waze-row-value,
  .waze-report-label,
  .community-profile-saved-name,
  .community-media-btn-title,
  .community-media-preview-title,
  .warnpins-map-picker-title
) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(.waze-sheet-header, .waze-sheet-footer) {
  background: var(--ledger-surface) !important;
  border-color: var(--ledger-rule) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .waze-sheet-section {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .wp-tools-popup-arrow {
  border-color: var(--ledger-rule-strong) !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .mapboxgl-popup-tip {
  filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  border-bottom-color: var(--ledger-surface) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  border-top-color: var(--ledger-surface) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  border-right-color: var(--ledger-surface) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar .mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  border-left-color: var(--ledger-surface) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(input[type="range"], .radar-pro-smoothing input[type="range"]) {
  accent-color: var(--ledger-accent) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar :is(
  .radar-scrubber-time small,
  .scrubber-start-time,
  .scrubber-end-time
) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar #frame-scrubber::-webkit-slider-runnable-track {
  border-radius: 0 !important;
  background: var(--ledger-rule-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar #frame-scrubber::-webkit-slider-thumb {
  border-color: var(--ledger-surface) !important;
  background: var(--ledger-accent) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar #frame-scrubber::-moz-range-track {
  border-radius: 0 !important;
  background: var(--ledger-rule-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-page-radar #frame-scrubber::-moz-range-thumb {
  border-color: var(--ledger-surface) !important;
  background: var(--ledger-accent) !important;
  box-shadow: none !important;
}

/* WarnPins: retain the three-stage form, but present it as one flat ledger. */
html[data-theme] body.wp-experience.wp-page-warnpins,
html[data-theme] body.wp-experience.wp-page-warnpins :is(.main-wrapper, .content-backdrop, .content-container) {
  background: var(--ledger-canvas) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .wpz-shell {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.wpz-intro, .wpz-progress) {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.wpz-card, .card) {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .hero-step {
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .hero-step span {
  border-color: var(--ledger-rule-strong) !important;
  border-radius: 3px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .hero-step[aria-current="step"] {
  border-bottom-color: var(--ledger-accent) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .hero-step[aria-current="step"] span {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .hero-step.complete:not([aria-current="step"]) span {
  border-color: var(--ledger-good) !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-good) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .section-status,
  .flow-summary-status,
  .action-badge
) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 3px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .section-status.ready,
  .flow-summary-status.ready
) {
  border-color: color-mix(in srgb, var(--ledger-good) 45%, var(--ledger-rule)) !important;
  background: color-mix(in srgb, var(--ledger-good) 10%, var(--ledger-surface)) !important;
  color: var(--ledger-good) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .wpz-loc-btn,
  .condition-btn,
  .media-btn,
  .saved-profile-summary,
  .saved-place-chip,
  .profile-segment-btn,
  .emoji-btn,
  .ghost-btn,
  .saved-profile-edit-btn,
  .media-remove,
  .optional-extras-toggle
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .wpz-loc-btn.primary-action,
  .wpz-loc-btn.is-selected,
  .wpz-loc-btn.active,
  .condition-btn.selected,
  .profile-segment-btn.active,
  .emoji-btn.active
) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .optional-pane,
  .profile-style-panel,
  .media-preview,
  .flow-summary-item
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item.ready {
  border-color: color-mix(in srgb, var(--ledger-good) 40%, var(--ledger-rule)) !important;
  background: color-mix(in srgb, var(--ledger-good) 8%, var(--ledger-surface)) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.input, .textarea) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.input, .textarea):focus {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .btn,
  .btn-primary,
  #submit-button,
  .map-confirm-btn
) {
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .wpz-postbar {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.map-overlay, .success-overlay) {
  background: rgba(9, 15, 22, 0.66) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.map-modal-header, .success-card) {
  border-color: var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .map-modal-header {
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.map-modal-logo, .success-icon, .action-icon, .saved-profile-avatar) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .map-confirm-wrap {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .wpz-intro h1,
  .wpz-review-title,
  .optional-extras-title,
  .card-title,
  .saved-profile-name,
  .media-btn-title,
  .flow-summary-item strong,
  .map-modal-title,
  .success-title
) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(
  .wpz-intro p,
  .field-note,
  .card-subtitle,
  .optional-extras-subtitle,
  .saved-profile-meta,
  .media-btn-sub,
  .flow-summary-item-text,
  .map-modal-subtitle,
  .success-copy,
  .sticky-submit-hint
) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins :is(.wpz-label, .card-kicker, .profile-label, .map-modal-kicker) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .inline-message {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .inline-message.error {
  border-color: color-mix(in srgb, var(--ledger-alert) 45%, var(--ledger-rule)) !important;
  background: var(--ledger-alert-wash) !important;
  color: var(--ledger-alert) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .card-accent::before {
  border-radius: 0 !important;
  background: var(--ledger-accent) !important;
  box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] body.wp-design-100x.wp-page-radar *,
  html[data-theme] body.wp-experience.wp-page-warnpins * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================================================== 
   Forecast planning ledger

   Route, Hourly and Events are working tools, so their hierarchy comes from
   rules, spacing and type instead of nested cards, gradients and pill chrome.
   ========================================================================== */

html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events, #event-modal) {
  --plan-blue: var(--ledger-accent);
  --plan-blue-deep: var(--ledger-accent-strong);
  --plan-blue-soft: var(--ledger-accent-wash);
  --plan-green: var(--ledger-good);
  --plan-green-soft: color-mix(in srgb, var(--ledger-good) 12%, var(--ledger-surface));
  --plan-amber: var(--ledger-watch);
  --plan-amber-soft: color-mix(in srgb, var(--ledger-watch) 13%, var(--ledger-surface));
  --plan-red: var(--ledger-alert);
  --plan-red-soft: var(--ledger-alert-wash);
  --plan-panel: var(--ledger-surface);
  --plan-soft: var(--ledger-surface-alt);
  --plan-line: var(--ledger-rule);
  --plan-ink: var(--ledger-ink);
  --plan-muted: var(--ledger-muted);
  --plan-action-ink: var(--ledger-surface);
}

html[data-theme] body.wp-experience.wp-page-forecast #content-grid > :is(#card-route, #card-cruise, #card-events) {
  width: 100% !important;
  padding: 20px !important;
  overflow: visible !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 8px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events) .forecast-planning-head {
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 16px !important;
  padding: 0 0 15px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events) .forecast-planning-head > div:first-child {
  max-width: 680px;
}

html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events) .forecast-planning-head .card-title {
  margin: 4px 0 5px !important;
  color: var(--ledger-ink) !important;
  font-size: clamp(1.45rem, 3vw, 1.72rem) !important;
  font-weight: 760 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}

html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events) .forecast-planning-head .forecast-section-note {
  max-width: 660px;
  color: var(--ledger-muted) !important;
  font-size: 0.84rem !important;
  line-height: 1.45 !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-planning-selector .forecast-planning-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  overflow: visible !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-planning-selector .forecast-planning-tabs > button {
  width: 100% !important;
  min-width: 0 !important;
  padding-inline: 8px !important;
}

/* Route ------------------------------------------------------------------- */

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-planner-form {
  padding: 0 !important;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-stack {
  gap: 10px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-field {
  padding: 11px 12px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  transition: border-color 120ms ease, background-color 120ms ease;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-field:focus-within {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-surface) !important;
  box-shadow: inset 0 0 0 1px var(--ledger-accent) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-point {
  width: 28px;
  height: 28px;
  background: var(--ledger-accent) !important;
  color: var(--plan-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-point-b {
  background: var(--ledger-good) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route :is(.route-field-copy strong, .route-departure-field strong) {
  color: var(--ledger-ink) !important;
  font-weight: 760;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route :is(.route-field-copy small, .route-departure-field small) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-field > input {
  min-height: 40px;
  color: var(--ledger-ink) !important;
  font-size: 1rem;
  font-weight: 650;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-field > input::placeholder {
  color: var(--ledger-muted) !important;
  opacity: 0.78;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-current-button {
  min-height: 36px;
  padding: 6px 8px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-swap-button {
  width: 44px;
  height: 44px;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-swap-button:hover {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-plan-controls {
  gap: 10px;
  margin-top: 10px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field {
  min-height: 56px;
  padding: 7px 11px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field > .material-icons-round {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field input {
  min-height: 42px;
  border-left-color: var(--ledger-rule) !important;
  color: var(--ledger-ink) !important;
  font-size: 0.88rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-check-button {
  min-height: 56px;
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--plan-action-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-check-button:hover {
  background: var(--ledger-accent-strong) !important;
  filter: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-planner-footnote {
  margin: 10px 1px 0;
  color: var(--ledger-muted) !important;
  font-size: 0.7rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor {
  grid-template-columns: 76px minmax(0, 1fr) 32px;
  gap: 11px;
  margin: 12px 0 0;
  padding: 8px 10px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color 120ms ease, background-color 120ms ease;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor:hover {
  border-color: var(--ledger-rule-strong) !important;
  background: var(--ledger-accent-wash) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor img {
  width: 76px;
  height: 46px;
  border: 1px solid var(--ledger-rule);
  border-radius: 2px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor-copy small {
  color: var(--ledger-muted) !important;
  font-size: 0.59rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor-copy strong {
  color: var(--ledger-ink) !important;
  font-size: 0.84rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor-copy > span {
  color: var(--ledger-accent-strong) !important;
  font-size: 0.66rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor-arrow {
  width: 32px;
  height: 32px;
  border-radius: 3px;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-suggestions {
  border-color: var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-suggestion {
  border-bottom-color: var(--ledger-rule) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route :is(.route-recent-button, .route-recent-clear, .route-timeline-button) {
  min-height: 44px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-planner-status {
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-weather-results {
  gap: 12px;
  margin-top: 14px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-verdict {
  padding: 15px;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-verdict.tone-watch {
  background: var(--plan-amber-soft) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-verdict.tone-alert {
  background: var(--ledger-alert-wash) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-verdict-icon {
  width: 46px;
  height: 46px;
  border-radius: 4px !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-verdict-chip {
  padding: 6px 8px;
  border: 1px solid currentColor;
  border-radius: 3px !important;
  background: transparent !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-stat-grid {
  border-color: var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-stat {
  min-height: 68px;
  padding: 11px;
  border-color: var(--ledger-rule) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-road-summary {
  padding: 10px 12px;
  border: 1px solid var(--ledger-rule);
  border-radius: 4px !important;
  background: var(--ledger-accent-wash) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-weather-timeline::before {
  height: 1px;
  border-radius: 0;
  background: var(--ledger-rule-strong) !important;
  opacity: 1;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-checkpoint {
  border-color: var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-checkpoint.is-wet {
  border-color: var(--ledger-accent) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-checkpoint.is-storm {
  border-color: var(--ledger-alert) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-checkpoint-metrics span {
  border-top: 1px solid var(--ledger-rule);
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-map-handoff {
  padding: 14px;
  border-color: var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-map-button {
  min-height: 44px;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-map-button .material-icons-round {
  color: var(--ledger-accent-strong);
}

/* Hourly ------------------------------------------------------------------ */

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly > .card-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 14px;
  margin-bottom: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hourly-title-stack .card-title {
  margin-top: 4px;
  font-size: clamp(1.45rem, 3vw, 1.72rem) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hourly-context-note {
  margin-top: 4px;
  font-size: 0.82rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hourly-controls {
  align-items: center;
  gap: 8px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-view-toggle {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: max-content !important;
  inline-size: max-content !important;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px !important;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-view-toggle:hover {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-view-toggle .material-icons-round {
  color: var(--ledger-accent-strong);
  font-size: 19px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hourly-view-label {
  font-size: 0.75rem;
  font-weight: 750;
  white-space: nowrap;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-key {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 12px 0 !important;
  border-radius: 4px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat {
  min-height: 68px !important;
  padding: 9px 11px !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-bottom: 0 !important;
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat:last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat span {
  font-size: 0.64rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat strong {
  font-size: 0.94rem !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat small {
  font-size: 0.63rem !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly[data-hourly-view="list"] #hourly-scroll-view,
html[data-theme] body.wp-experience.wp-page-forecast #card-hourly[data-hourly-view="list"] :is(.hourly-primary-metrics, .forecast-hourly-select-shell),
html[data-theme] body.wp-experience.wp-page-forecast #card-hourly[data-hourly-view="chart"] #hourly-list-view {
  display: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly[data-hourly-view="list"] #hourly-list-view {
  display: block !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly[data-hourly-view="chart"] #hourly-scroll-view {
  display: block !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-list-view {
  overflow: visible;
  border-radius: 4px !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-list-head {
  display: grid;
  grid-template-columns: 64px 42px minmax(90px, 0.85fr) minmax(120px, 1fr) 72px 32px;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 10px 7px 14px;
  border-bottom: 1px solid var(--ledger-rule);
  background: var(--ledger-surface-alt);
  color: var(--ledger-muted);
  font-size: 0.62rem;
  font-weight: 760;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-list-head-time {
  grid-column: 1 / 3;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-list-head > span:nth-child(2) {
  grid-column: 3;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-list-head > span:nth-child(3) {
  grid-column: 4;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-list-head > span:nth-child(4) {
  grid-column: 5;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button {
  appearance: none;
  -webkit-appearance: none;
  grid-template-columns: 64px 42px minmax(90px, 0.85fr) minmax(120px, 1fr) 72px 32px !important;
  gap: 8px !important;
  min-height: 70px !important;
  padding: 9px 10px 9px 14px !important;
  color: var(--ledger-ink) !important;
  font: inherit;
  text-align: left;
  cursor: pointer;
  touch-action: manipulation;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button:hover {
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-list-cond {
  display: block !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-list-rain,
html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-list-rain:is(.is-wet, .is-dry) {
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
  opacity: 1;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button:focus-visible {
  z-index: 2;
  outline: 2px solid var(--ledger-focus) !important;
  outline-offset: -3px !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button .day-expand-icon {
  grid-column: 6;
  display: grid;
  place-items: center;
  width: 32px;
  height: 44px;
  color: var(--ledger-muted);
  font-size: 20px;
  transition: transform 140ms ease;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button.active .day-expand-icon {
  transform: rotate(180deg);
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-list-view > .details-panel {
  border-right: 1px solid var(--ledger-rule) !important;
  border-left: 1px solid var(--ledger-rule) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .details-panel .wx-tile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix {
  margin-top: 14px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 54px;
  padding: 9px 12px;
  color: var(--ledger-ink);
  cursor: pointer;
  list-style: none;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-toggle::-webkit-details-marker {
  display: none;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-toggle:hover {
  background: var(--ledger-surface-alt);
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-toggle:focus-visible {
  outline: 2px solid var(--ledger-focus);
  outline-offset: -3px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-toggle > span:first-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-toggle strong {
  color: var(--ledger-ink);
  font-size: 0.86rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--ledger-muted);
  font-size: 0.69rem;
  font-weight: 700;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix-action .material-icons-round {
  font-size: 20px;
  transition: transform 140ms ease;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix[open] .forecast-hourly-matrix-action .material-icons-round {
  transform: rotate(180deg);
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix[open] .forecast-hourly-matrix-toggle {
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix[open] .forecast-hourly-matrix-action > span:first-child {
  font-size: 0;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix[open] .forecast-hourly-matrix-action > span:first-child::after {
  content: "Close table";
  font-size: 0.69rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix .forecast-table-scroll {
  border: 0 !important;
  border-radius: 0 !important;
}

/* Daily ------------------------------------------------------------------- */

html[data-theme] body.wp-experience.wp-page-forecast #card-daily > .card-header {
  margin-bottom: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-daily-trends {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 14px 0 16px !important;
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 60px !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat:last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat > .material-icons-round {
  color: var(--ledger-accent-strong) !important;
  font-size: 18px !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 1px 6px;
  min-width: 0;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat > div > span {
  overflow: hidden;
  color: var(--ledger-muted) !important;
  font-size: 0.62rem !important;
  font-weight: 720;
  letter-spacing: 0.035em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat > div > strong {
  margin: 0 !important;
  color: var(--ledger-ink) !important;
  font-size: 0.9rem !important;
  white-space: nowrap;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat > div > small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--ledger-muted) !important;
  font-size: 0.65rem !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-daily-column-heads {
  display: grid;
  grid-template-columns: minmax(104px, 0.85fr) minmax(170px, 1.35fr) 66px 94px 76px minmax(190px, 1.45fr) 26px !important;
  gap: 10px;
  margin: 0;
  padding: 0 14px 7px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily .daily-list {
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .forecast-day-item > .day-row.day-row-button {
  grid-template-columns: minmax(104px, 0.85fr) minmax(170px, 1.35fr) 66px 94px 76px minmax(190px, 1.45fr) 26px !important;
  grid-template-areas: none !important;
  gap: 10px !important;
  min-height: 74px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .forecast-day-item:last-child > .day-row.day-row-button {
  border-bottom: 0 !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button:hover,
html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button[aria-expanded="true"] {
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button:focus-visible {
  z-index: 2;
  outline: 2px solid var(--ledger-focus) !important;
  outline-offset: -3px !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button.bad-weather {
  border-left: 0 !important;
  background: color-mix(in srgb, var(--ledger-alert) 7%, var(--ledger-surface)) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > :is(.day-primary, .day-condition, .day-rain, .day-wind, .day-humidity, .day-range-container, .day-expand-icon) {
  grid-area: auto !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-condition > span {
  display: block !important;
  min-width: 0;
  overflow: hidden;
  color: var(--ledger-muted) !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-expand-icon {
  position: static !important;
  grid-column: 7 !important;
  width: 26px !important;
  height: 44px;
  align-self: center !important;
  justify-self: end !important;
  inset: auto !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button.active > .day-expand-icon {
  transform: rotate(180deg) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .details-panel .wx-sun-strip {
  overflow: visible;
  border: 0 !important;
  border-top: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .details-panel .wx-summary-note {
  margin: 0 16px 12px;
  padding: 11px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* Events ------------------------------------------------------------------ */

html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-add-button {
  min-height: 44px !important;
  padding: 9px 12px !important;
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--plan-action-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .wp-section-kicker,
html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-planner-overview {
  display: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 18px;
  min-height: 0 !important;
  padding: 18px 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  text-align: left !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state > .material-icons-round {
  display: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-copy h3 {
  margin: 0;
  color: var(--ledger-ink) !important;
  font-size: 0.94rem;
  font-weight: 760;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-copy p {
  margin: 0;
  color: var(--ledger-muted) !important;
  font-size: 0.76rem;
  line-height: 1.4;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state button {
  min-height: 44px;
  padding: 7px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
  font-weight: 750;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events :is(.forecast-calendar-event-card, .planned-event-card) {
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events :is(.forecast-calendar-event-icon, .planned-event-date, .planned-event-placeholder-icon) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-event-result {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .tone-calm :is(.forecast-calendar-event-result em, .planned-event-status) {
  color: var(--ledger-good) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .tone-watch :is(.forecast-calendar-event-result em, .planned-event-status) {
  color: var(--ledger-watch) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .tone-alert :is(.forecast-calendar-event-result em, .planned-event-status) {
  color: var(--ledger-alert) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-top {
  padding: 13px;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-status {
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-forecast {
  padding: 11px 13px;
  border-top-color: var(--ledger-rule) !important;
  background: transparent !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-metric span {
  color: var(--ledger-muted) !important;
  font-size: 0.67rem;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-delete {
  width: 44px;
  height: 44px;
  border-color: var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-alert) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-loading {
  border-top-color: var(--ledger-rule) !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal {
  background: rgba(4, 9, 14, 0.72) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-event-sheet {
  padding: 22px !important;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-event-sheet-head {
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ledger-rule);
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-event-sheet-head h3 {
  color: var(--ledger-ink) !important;
  font-size: 1.4rem !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-event-sheet-head p {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-modal-close {
  width: 44px;
  height: 44px;
  border-color: var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-form-field {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-form-field > :where(input, select) {
  border-color: var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-form-field > :where(input, select):focus {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-surface) !important;
  box-shadow: inset 0 0 0 1px var(--ledger-accent) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-form-error {
  border: 1px solid color-mix(in srgb, var(--ledger-alert) 42%, var(--ledger-rule)) !important;
  border-radius: 4px !important;
  background: var(--ledger-alert-wash) !important;
  color: var(--ledger-alert) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-event-save {
  min-height: 50px;
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--plan-action-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #event-modal #event-location-suggestions {
  max-height: min(36dvh, 260px);
  overflow-y: auto;
  border-color: var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

@media (max-width: 840px) {
  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-stack,
  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-plan-controls {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-swap-button {
    justify-self: center;
    margin: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-check-button {
    width: 100%;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .details-panel .wx-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-daily-column-heads {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .forecast-day-item > .day-row.day-row-button {
    grid-template-columns: 70px minmax(0, 1fr) 60px 112px 30px !important;
    grid-template-areas: none !important;
    gap: 8px !important;
    min-height: 78px !important;
    padding: 9px 10px 9px 12px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-primary {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-condition {
    display: flex !important;
    grid-area: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
    justify-content: flex-start !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-rain {
    display: flex !important;
    grid-area: auto !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > :is(.day-wind, .day-humidity) {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-range-container {
    display: flex !important;
    grid-area: auto !important;
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-content: flex-end;
    gap: 5px;
    width: auto !important;
    min-width: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-track,
  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-label {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-text {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-high {
    order: 1;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-separator {
    display: inline-block;
    order: 2;
    color: var(--ledger-muted);
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-low {
    order: 3;
    color: var(--ledger-muted) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-expand-icon {
    grid-area: auto !important;
    grid-column: 5 !important;
    grid-row: 1 !important;
    width: 30px !important;
  }
}

@media (max-width: 620px) {
  html[data-theme] body.wp-experience.wp-page-forecast #content-grid > :is(#card-route, #card-cruise, #card-events) {
    padding: 16px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events) .forecast-planning-head {
    display: grid;
    gap: 11px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-cruise, #card-events) .forecast-planning-head .card-title {
    font-size: 1.42rem !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-planner-form {
    padding: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-place-field {
    grid-template-columns: 30px minmax(0, 1fr);
    grid-template-areas:
      "point copy"
      "point input"
      "action action";
    padding: 10px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-current-button {
    justify-self: start;
    min-height: 44px;
    margin-left: 40px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field {
    grid-template-columns: 24px minmax(72px, auto) minmax(0, 1fr);
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field input {
    min-width: 0;
    padding-left: 8px;
    font-size: 1rem;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor {
    grid-template-columns: 64px minmax(0, 1fr) 28px;
    padding: 8px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-forecast-sponsor img {
    width: 64px;
    height: 42px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-checkpoint {
    flex: 0 0 min(82vw, 280px);
    min-width: min(82vw, 280px);
    max-width: 280px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly > .card-header {
    display: flex !important;
    flex-direction: column !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-view-toggle {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-key {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat {
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat:nth-child(2n) {
    border-right: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-key-stat:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-list-head {
    display: none;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button {
    grid-template-columns: 48px 38px minmax(0, 1fr) 58px 40px !important;
    gap: 6px !important;
    min-height: 68px !important;
    padding: 8px 6px 8px 10px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-list-cond {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-list-rain {
    grid-column: 4;
    justify-self: end;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button .day-expand-icon {
    grid-column: 5;
    width: 40px;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .forecast-hourly-matrix {
    display: none !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-daily-trends {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat {
    min-height: 54px !important;
    padding: 7px 9px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat:nth-child(2n) {
    border-right: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily .forecast-trend-stat:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .forecast-day-item > .day-row.day-row-button {
    grid-template-columns: 54px 42px minmax(68px, 1fr) 52px 28px !important;
    grid-template-areas:
      "primary icon temps rain expand"
      "primary summary summary summary expand" !important;
    gap: 3px 6px !important;
    min-height: 92px !important;
    padding: 8px 7px 8px 10px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-primary {
    grid-area: primary !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-condition {
    display: contents !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-condition > .day-icon {
    grid-area: icon !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center;
    width: 40px !important;
    height: 40px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-condition > span {
    display: -webkit-box !important;
    grid-area: summary !important;
    grid-column: 2 / 5 !important;
    grid-row: 2 !important;
    align-self: start;
    overflow: hidden;
    font-size: 0.72rem !important;
    line-height: 1.28;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-range-container {
    grid-area: temps !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: start;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-high .range-temp-value {
    font-size: 1.14rem !important;
    font-weight: 780;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button .range-temp-low .range-temp-value {
    color: var(--ledger-muted) !important;
    font-size: 0.86rem !important;
    font-weight: 650;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-rain {
    grid-area: rain !important;
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    gap: 2px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    white-space: nowrap;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-rain .material-icons-round {
    display: inline-block !important;
    font-size: 14px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-daily #daily-container .day-row.day-row-button > .day-expand-icon {
    grid-area: expand !important;
    grid-column: 5 !important;
    grid-row: 1 / 3 !important;
    width: 28px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-add-button {
    width: 100%;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state button {
    grid-column: auto;
    justify-self: end;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-empty-actions {
    grid-column: auto;
    justify-content: flex-end;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-metric:nth-of-type(2) { grid-column: 1; }
  html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-metric:nth-of-type(3) { grid-column: 2; }
  html[data-theme] body.wp-experience.wp-page-forecast #card-events .planned-event-metric:nth-of-type(4) { grid-column: 3; }

  html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-event-sheet {
    padding: 18px !important;
    border-radius: 6px 6px 0 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-theme] body.wp-experience.wp-page-forecast #event-modal .forecast-form-field > :where(input, select) {
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field {
    grid-template-columns: 24px minmax(0, 1fr);
    grid-template-areas:
      "icon copy"
      "input input";
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field > .material-icons-round { grid-area: icon; }
  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field > span { grid-area: copy; }
  html[data-theme] body.wp-experience.wp-page-forecast #card-route .route-departure-field > input {
    grid-area: input;
    border-top: 1px solid var(--ledger-rule);
    border-left: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .event-empty-state button {
    grid-column: 1 !important;
    justify-self: start;
    width: max-content !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-empty-actions {
    grid-column: 1 !important;
    justify-content: flex-start;
    width: auto;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-event-card {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-event-result {
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-event-result em {
    grid-column: 1 / -1;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-events .forecast-calendar-event-result span {
    justify-self: end;
    white-space: normal;
    text-align: right;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .details-panel .wx-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .wx-tile:nth-child(odd) {
    border-right: 1px solid var(--ledger-rule) !important;
  }
}

@media (max-width: 360px) {
  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly #hourly-list-view .hour-row.hour-row-button {
    grid-template-columns: 42px 32px minmax(48px, 1fr) 40px 28px !important;
    gap: 4px !important;
    padding-inline: 8px !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-hourly .hour-row.hour-row-button .day-expand-icon {
    width: 28px !important;
    min-width: 28px !important;
  }

  html[data-theme] body.wp-page-forecast .wx-tile {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 4px;
    padding-inline: 6px !important;
  }

  html[data-theme] body.wp-page-forecast .wx-tile-icon {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
  }

  html[data-theme] body.wp-page-forecast :is(.wx-tile-copy strong, .wx-sun-cell strong) {
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] body.wp-experience.wp-page-forecast :is(#card-route, #card-hourly, #card-events, #event-modal) * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================================================== 
   Cross-page system consistency pass

   These final rules deliberately outrank the legacy shell and modal layers.
   The map and video canvases stay immersive; every control surface uses the
   same ruled, low-radius Weather Ledger language.
   ========================================================================== */

html[data-theme] body:is(.wp-page-home, .wp-page-forecast, .wp-page-updates, .wp-page-radar, .wp-page-warnpins) {
  font-family: var(--wp-device-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
}

/* Shared bottom navigation ------------------------------------------------ */

html[data-theme] body.wp-shell-page .wp-shell-dock {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page .wp-shell-dock::before,
html[data-theme] body.wp-shell-page .wp-shell-dock-inner::before {
  content: none !important;
}

html[data-theme] body.wp-shell-page .wp-shell-dock-inner {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page :is(.wp-shell-link, .wp-shell-notify) {
  border-color: transparent !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
  transform: none !important;
  min-height: 52px !important;
  gap: 4px !important;
  font-size: 0.6875rem !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

html[data-theme] body.wp-shell-page .wp-shell-label {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

html[data-theme] body.wp-shell-page .wp-shell-link > .material-icons-round {
  font-size: 21px !important;
}

html[data-theme] body.wp-shell-page :is(.wp-shell-link.active, .wp-shell-notify[data-state="enabled"]) {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-shell-page :is(.wp-shell-link, .wp-shell-notify)::before,
html[data-theme] body.wp-shell-page .wp-shell-link::after {
  content: none !important;
}

html[data-theme] body.wp-shell-page :is(.wp-shell-link, .wp-shell-notify):hover {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

/* Shared location sheets ------------------------------------------------- */

html[data-theme] body.wp-shell-page .wpui-sheet {
  min-height: 0;
  max-height: min(78dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 16px));
  overflow: hidden;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px 6px 0 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-shell-page :is(.wpui-sheet-title, .wpui-sheet-result) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-shell-page .wpui-sheet-input {
  min-width: 0;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-shell-page .wpui-sheet-input:focus {
  border-color: var(--ledger-accent) !important;
}

html[data-theme] body.wp-shell-page :is(.wpui-sheet-cancel, .wpui-sheet-result .material-icons-round) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-shell-page .wpui-sheet-hint,
html[data-theme] body.wp-shell-page .wpui-sheet-input::placeholder {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-shell-page .wpui-sheet-result {
  flex: 0 0 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  border-radius: 4px !important;
}

html[data-theme] body.wp-shell-page .wpui-sheet-results {
  min-height: 0;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

html[data-theme] body.wp-shell-page .wpui-sheet-result .material-icons-round {
  flex: 0 0 20px;
}

html[data-theme] body.wp-shell-page .wpui-sheet-result:hover {
  background: var(--ledger-surface-alt) !important;
}

html[data-theme] body.wp-shell-page :is(.wp-embedded-location-sheet, .wp-location-always-sheet) {
  z-index: 3200 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page :is(.wp-embedded-location-card, .wp-location-always-card) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-shell-page :is(.wp-embedded-sheet-handle, .updates-sheet-handle) {
  border-radius: 1px !important;
  background: var(--ledger-rule-strong) !important;
}

html[data-theme] body.wp-shell-page :is(
  .wp-embedded-search-field,
  .wp-embedded-search-result,
  .wp-embedded-location-row,
  .wp-embedded-location-close,
  .wp-embedded-sheet-close,
  .wp-embedded-favorite-toggle,
  .wp-location-always-step,
  .wp-location-always-secondary,
  .wp-location-always-close,
  .wp-location-always-x
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-shell-page :is(.wp-embedded-location-row-primary, .wp-embedded-weather-temp) {
  border-color: var(--ledger-rule-strong) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-shell-page :is(.wp-embedded-sheet-action-btn, .wp-location-always-primary) {
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-shell-page :is(
  .wp-embedded-sheet-title,
  .wp-embedded-search-input,
  .wp-embedded-search-result-title,
  .wp-embedded-location-row-label,
  .wp-embedded-weather-temp,
  .wp-location-always-title
) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-shell-page :is(
  .wp-embedded-sheet-copy,
  .wp-embedded-search-status,
  .wp-embedded-search-result-sub,
  .wp-embedded-location-row-sub,
  .wp-embedded-location-weather,
  .wp-embedded-location-weather-loading,
  .wp-embedded-weather-condition,
  .wp-embedded-weather-highlow,
  .wp-location-always-text
) {
  color: var(--ledger-muted) !important;
}

/* Home ------------------------------------------------------------------- */

html[data-theme] body.wp-page-home :is(.wp-life-section, .wp-life-utilities) {
  padding: 0 !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-section-head, .wp-alert-stack-head) {
  margin-bottom: 0 !important;
}

html[data-theme] body.wp-page-home .home-radar-card {
  margin: 0 !important;
}

html[data-theme] body.wp-page-home :is(.modal-overlay, .wp-life-onboarding, .wp-life-personalizer) {
  z-index: 3200 !important;
  background: color-mix(in srgb, #02060f 62%, transparent) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-home :is(.modal-content, .wp-life-onboarding-panel, .wp-life-personalizer-panel) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-home :is(.search-header, .activity-modal-head, .wp-life-onboarding-head, .wp-life-personalizer-head) {
  border-bottom: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home .wp-life-personalizer-label,
html[data-theme] body.wp-page-home .wp-life-onboarding-prompt {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-group, .wp-life-personalizer-activities, .wp-life-onboarding-step) {
  border-bottom-color: var(--ledger-rule) !important;
}

html[data-theme] body.wp-page-home .wp-life-personalizer-label {
  display: grid !important;
  gap: 3px;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-label em, .wp-life-name-field em) {
  color: var(--ledger-muted);
  font-size: 0.75rem;
  font-weight: 400;
  font-style: normal;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-grid, .wp-life-onboarding-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-grid, .wp-life-onboarding-grid) button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  min-height: 46px;
  padding: 10px;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-grid, .wp-life-onboarding-grid) .material-icons-round {
  flex: 0 0 20px;
  font-size: 20px;
  color: var(--ledger-muted);
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-grid, .wp-life-onboarding-grid) .is-active .material-icons-round {
  color: var(--ledger-accent-strong);
}

html[data-theme] body.wp-page-home .wp-life-personalizer-panel {
  padding-bottom: 0;
  overscroll-behavior: contain;
  scroll-padding-top: 145px;
  scroll-padding-bottom: 80px;
}

html[data-theme] body.wp-page-home .wp-life-personalizer-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding-bottom: max(14px, env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--ledger-rule);
  background: var(--ledger-surface);
}

@media (min-width: 560px) {
  html[data-theme] body.wp-page-home :is(.wp-life-personalizer-grid, .wp-life-onboarding-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

html[data-theme] body.wp-page-home :is(
  .wp-life-personalizer-grid button,
  .wp-life-onboarding-grid button,
  .wp-life-personalizer-actions button,
  .wp-life-onboarding-actions button,
  .wp-calendar-btn,
  .wp-life-name-field input
) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-grid button.is-active, .wp-life-onboarding-grid button.is-active) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-page-home :is(.wp-life-personalizer-actions .primary, .wp-life-onboarding-actions .primary) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
}

html[data-theme] body.wp-page-home :is(.error-state, .toast) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

/* Updates ---------------------------------------------------------------- */

html[data-theme] body.wp-page-updates {
  background: var(--ledger-canvas) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-updates .updates-feed {
  background: var(--ledger-canvas) !important;
}

/* Video captions and actions must finish above the persistent web dock. */
html[data-theme] body.wp-page-updates:not(.wp-shell-embedded-nav) .card-overlay {
  padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
}

html[data-theme] body.wp-page-updates:not(.wp-shell-embedded-nav) .action-rail {
  bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
}

html[data-theme] body.wp-page-updates.wp-shell-embedded-nav .updates-feed > .update-card:first-child .card-youtube-wrap {
  top: 0 !important;
  height: calc(100% - var(--wp-updates-bottom-boundary) - 10px) !important;
}

html[data-theme] body.wp-page-updates .updates-location-close {
  position: sticky;
  bottom: 0;
  z-index: 2;
  min-height: 44px;
  margin-top: 14px;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-page-updates :is(.update-card, .update-card .card-media, .update-card .card-video-wrap) {
  background: #000000 !important;
}

html[data-theme] body.wp-page-updates .updates-header {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-updates .updates-top-notice[hidden],
html[data-theme] body.wp-page-updates .updates-tutorial[hidden] {
  display: none !important;
}

html[data-theme] body.wp-page-updates .updates-topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

html[data-theme] body.wp-page-updates :is(.header-brand, .search-pill, .header-action-btn, .wp-shell-header-notify) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-updates .search-pill .material-icons-round:first-child,
html[data-theme] body.wp-page-updates .wp-shell-header-notify[data-state="enabled"] {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-page-updates .search-pill .material-icons-round:last-child {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-updates .updates-top-notice {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-updates :is(.updates-location-sheet, .updates-tutorial) {
  z-index: 3200 !important;
  background: color-mix(in srgb, #02060f 62%, transparent) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-updates :is(.updates-location-card, .updates-tutorial-card, .updates-endcap-card) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-updates :is(
  .updates-search-spotlight,
  .updates-action-btn,
  .updates-location-row,
  .updates-location-close,
  .updates-tutorial-tip
) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-updates :is(.updates-action-btn[data-active="true"], .updates-location-row-primary) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-page-updates :is(.updates-endcap-button, .updates-tutorial-close) {
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-updates :is(
  .updates-sheet-title,
  .updates-search-title,
  .updates-action-title,
  .updates-location-row-label,
  .updates-endcap-title,
  .updates-tutorial-title,
  .updates-tutorial-tip strong
) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-page-updates :is(
  .updates-sheet-copy,
  .updates-search-sub,
  .updates-action-sub,
  .updates-location-row-sub,
  .updates-endcap-copy,
  .updates-endcap-note,
  .updates-tutorial-copy,
  .updates-tutorial-footnote,
  .updates-tutorial-tip span:last-child,
  .updates-top-notice-sub
) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-updates :is(.updates-endcap-badge, .updates-tutorial-badge) {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-page-updates .updates-endcap {
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-page-updates .status-panel {
  color: var(--ledger-ink) !important;
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-browser-desktop.wp-page-updates:not(.wp-shell-embedded-nav) :is(.update-card, .updates-endcap) {
  border-right: 1px solid var(--ledger-rule-strong) !important;
  border-left: 1px solid var(--ledger-rule-strong) !important;
  box-shadow: none !important;
}

@media (max-width: 520px) {
  html[data-theme] body.wp-page-updates .updates-topbar-inner {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: 6px !important;
  }

  html[data-theme] body.wp-page-updates :is(.header-brand, .header-action-btn, .wp-shell-header-notify) {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
}

/* Forecast detail reconciliation ----------------------------------------- */

html[data-theme] body.wp-page-forecast .sticky-location-bar :is(.search-pill, .header-action-btn) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme][data-forecast-section="overview"] body.wp-experience.wp-page-forecast #content-grid > #card-forecast-signals:not([hidden]) {
  display: block !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-dayparts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-dayparts > article {
  min-width: 0;
  padding: 14px !important;
  border: 0 !important;
  border-right: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-dayparts > article:last-child {
  border-right: 0 !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-planning-selector .forecast-planning-tabs {
  gap: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-planning-selector .forecast-planning-tabs > button {
  min-height: 46px;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .forecast-planning-selector .forecast-planning-tabs > button.is-active,
html[data-theme] body.wp-experience.wp-page-forecast .forecast-planning-selector .forecast-planning-tabs > button[aria-selected="true"] {
  border-bottom-color: var(--ledger-accent) !important;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise .cruise-manual-form {
  padding: 18px !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise .cruise-planning-badge {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise .forecast-planning-head .card-title {
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise :is(
  .cruise-port-directory-search button,
  .cruise-port-remove,
  .cruise-port-directory-empty
) {
  border-radius: 4px !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise .cruise-status.route-planner-status {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise :is(
  .cruise-form-field > span b,
  .cruise-match > .material-icons-round,
  .cruise-result-icon,
  .cruise-date-icon,
  .cruise-port-library-head > .material-icons-round:first-child,
  .cruise-port-directory-result > span:first-child,
  .cruise-port-directory-result > span:last-child
) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #card-cruise :is(.cruise-port-number, .cruise-port-region-filters button.is-active) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast :is(.sponsor-spot-count, .sponsor-spot-cta, .sponsor-nav-btn) {
  border-radius: 4px !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .sponsor-spot-count {
  padding: 0 !important;
  background: transparent !important;
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .sponsor-spot-frame {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .sponsor-spot-progress-fill {
  background: var(--ledger-accent) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .sponsor-nav-btn {
  border-color: var(--ledger-rule-strong) !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .sponsor-spot-cta {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast :is(#search-modal, #alert-modal, #forecast-detail-modal) {
  z-index: 3200 !important;
  background: color-mix(in srgb, #02060f 62%, transparent) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #search-modal .modal-content,
html[data-theme] body.wp-experience.wp-page-forecast #alert-modal .modal-content.alert-sheet,
html[data-theme] body.wp-experience.wp-page-forecast #forecast-detail-modal .modal-content.forecast-detail-sheet {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #search-modal :is(.search-header, .search-body),
html[data-theme] body.wp-experience.wp-page-forecast #forecast-detail-modal :is(.forecast-detail-head, .forecast-detail-body) {
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #forecast-detail-modal .forecast-detail-head {
  border-bottom: 1px solid var(--ledger-rule) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #forecast-detail-modal .forecast-detail-close,
html[data-theme] body.wp-experience.wp-page-forecast #search-modal :is(.close-search-btn, .search-input) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #search-modal :is(.saved-list-item, .suggestion-item, .current-location-card) {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #search-modal .saved-list-item.current-location {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #search-modal .saved-list-item.current-location :is(.saved-name, .saved-temp, .saved-time, .saved-hl) {
  color: inherit !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #alert-modal .alert-topbar {
  border-bottom: 1px solid color-mix(in srgb, var(--ledger-alert) 70%, #000) !important;
  background: var(--ledger-alert) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #alert-modal :is(.alert-top-ico, .alert-kicker, .alert-headline, .alert-area-until) {
  color: #ffffff !important;
  filter: none !important;
  text-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #alert-modal .alert-close-btn {
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #alert-modal :is(.alert-chips, .alert-body, .alert-footer) {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-experience.wp-page-forecast #alert-modal :is(.alert-chip, .alert-nav-btn, .alert-section-instruction) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast :is(.error-state, .toast) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-experience.wp-page-forecast .offline-banner {
  border-radius: 0 !important;
  background: var(--ledger-alert) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

@media (max-width: 620px) {
  html[data-theme] body.wp-experience.wp-page-forecast .forecast-dayparts {
    grid-template-columns: 1fr !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast .forecast-dayparts > article {
    border-right: 0 !important;
    border-bottom: 1px solid var(--ledger-rule) !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast .forecast-dayparts > article:last-child {
    border-bottom: 0 !important;
  }

  html[data-theme] body.wp-experience.wp-page-forecast #card-cruise .cruise-manual-form {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
}

/* Radar detail reconciliation -------------------------------------------- */

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar .wp-loader-text {
  color: var(--ledger-ink) !important;
  text-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar:not(.wp-shell-embedded-nav) .app-header.radar-app-bar {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar:not(.wp-shell-embedded-nav) .app-header.radar-app-bar .search-pill,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar:not(.wp-shell-embedded-nav) .app-header.radar-app-bar .radar-header-action {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #radar-pro-desk.radar-pro-desk,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #radar-pro-desk.radar-pro-desk.collapsed:not([hidden]) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #radar-pro-desk :is(.radar-pro-top, .radar-pro-collapse) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #radar-pro-desk :is(.radar-pro-trigger-icon, .radar-pro-all-sites) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #radar-pro-desk .radar-pro-kicker {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #radar-pro-desk :is(.radar-pro-site, .radar-pro-expand-icon, .radar-pro-status, .radar-pro-control-label) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar .radar-quick-source {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar :is(#layers-modal, #search-modal, #community-spot-modal) {
  z-index: 3200 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .modal-content,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #search-modal .modal-content,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .modal-content.waze-report-sheet {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .modal-content:has(#layers-alerts-section.active),
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .modal-content:has(#layers-pins-section.active) {
  height: auto !important;
  min-height: 0 !important;
  max-height: 86dvh !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar :is(#layers-modal, #search-modal) :is(.search-header, .search-body, .layers-quick-nav) {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar :is(#layers-modal, #search-modal) :is(.modal-close-btn, .close-search-btn) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option.selected {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option.selected :is(strong, .material-icons-round) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option.selected .layer-option-leading strong,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option.selected .palette-check {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option :is(strong, small) {
  color: inherit !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option small {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layer-option.selected small,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .radar-source-row.selected .radar-source-subtitle {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .radar-source-row.selected :is(.radar-source-title, .radar-source-badge, .palette-check) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layers-report-cta,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layers-report-cta :is(strong, .material-icons-round) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layers-report-cta small {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar .mode-more.open .mode-more-toggle {
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal #close-layers {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layers-segment-btn {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #layers-modal .layers-segment-btn.active {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

/* Radar report composer: same form language as the standalone Report page. */
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-report-sheet :is(.waze-sheet-header, .waze-sheet-footer) {
  border-color: var(--ledger-rule) !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-sheet-close {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal :is(.radar-report-readiness, .community-profile-saved, .community-media-preview) {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-sheet-section {
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal :is(
  .waze-input,
  .waze-textarea,
  .community-home-suggestions,
  .waze-report-option,
  .community-show-as-btn,
  .community-profile-edit-btn,
  .waze-action-btn,
  .community-media-btn,
  #community-location-status
) {
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal :is(.waze-report-option.selected, .community-show-as-btn.active) {
  border-color: var(--ledger-accent) !important;
  background: var(--ledger-accent-wash) !important;
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-report-option.selected :is(.waze-report-icon, .waze-report-label) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-report-option .waze-report-icon,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-report-option .waze-report-label {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-report-option.selected .waze-report-icon,
html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-report-option.selected .waze-report-label {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .radar-report-readiness-step {
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal :is(
  .waze-sheet-title,
  .waze-row-value,
  .community-profile-saved-name,
  .community-media-btn-title,
  .radar-report-readiness-copy strong
) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal :is(
  .waze-sheet-subtitle,
  .waze-row-label,
  .waze-optional,
  .community-profile-saved-phone,
  .community-profile-saved-address,
  .community-profile-saved-badge,
  .community-color-value,
  .community-avatar-hint,
  .community-media-hint,
  .community-media-btn-sub,
  .radar-report-readiness-copy small
) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar #community-spot-modal .waze-submit-btn {
  border: 1px solid var(--ledger-accent) !important;
  border-radius: 4px !important;
  background: var(--ledger-accent) !important;
  color: var(--ledger-action-ink) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report {
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal {
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .modal-content.waze-report-sheet {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ledger-canvas) !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .waze-sheet-header {
  padding: 12px 4px !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-canvas) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .waze-sheet-title {
  color: var(--ledger-ink) !important;
  font-size: clamp(1.45rem, 5vw, 1.8rem) !important;
  text-align: left !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .warnpins-page-hero {
  margin: 0 !important;
  padding: 10px 4px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal :is(.warnpins-page-headline, .warnpins-page-copy) {
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .warnpins-page-copy {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .warnpins-step-chip {
  padding: 6px 8px !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .waze-sheet-section {
  margin: 0 !important;
  padding: 16px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme] body.wp-design-100x.wp-experience.wp-page-radar.warnpins-quick-report #community-spot-modal .waze-sheet-footer {
  border-top: 1px solid var(--ledger-rule) !important;
  background: var(--ledger-canvas) !important;
}

/* Standalone Report review ------------------------------------------------ */

html[data-theme] body.wp-experience.wp-page-warnpins :is(.card-accent::before, .hero-kicker::before) {
  content: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .wpz-review-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item:last-child {
  border-bottom: 0 !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item > div {
  min-width: 0;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item-text {
  display: block !important;
  margin-top: 4px;
  color: var(--ledger-muted) !important;
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item.ready {
  border-color: var(--ledger-rule) !important;
  background: transparent !important;
  transform: none !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins .flow-summary-item.ready > .material-icons-round {
  color: var(--ledger-good) !important;
}

/* Leave room to scroll every review field above the two fixed action rails. */
html[data-theme] body.wp-page-warnpins {
  height: auto !important;
  min-height: 100dvh !important;
}

html[data-theme] body.wp-page-warnpins[data-wpz-stage="3"] .wpz-shell {
  padding-bottom: calc(180px + max(env(safe-area-inset-bottom, 0px), var(--wp-native-tab-bar-offset, 0px))) !important;
}

/* Primary page header ---------------------------------------------------- */

/* Radar established the useful pattern: one bounded rail, a flexible
   location field, and page-specific 44px actions. Share that visual system
   without sharing positioning, since feed, document, and map pages scroll in
   different ways. */
html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .app-header.radar-app-bar.wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .updates-topbar-inner.wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .app-topbar.wp-primary-topbar
) {
  box-sizing: border-box !important;
  min-height: 60px !important;
  padding: 7px 6px !important;
  border: 1px solid var(--ledger-rule-strong) !important;
  border-radius: 6px !important;
  background: var(--ledger-surface) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.wp-page-home:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar,
html[data-theme] body.wp-page-forecast:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar {
  position: sticky !important;
  top: max(6px, env(safe-area-inset-top, 0px)) !important;
  width: min(calc(100% - 12px), 760px) !important;
  height: auto !important;
  margin: max(6px, env(safe-area-inset-top, 0px)) auto 0 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 5px !important;
}

html[data-theme] body.wp-page-home:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar > .header-spacer:first-child,
html[data-theme] body.wp-page-forecast:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar > .header-spacer:first-child {
  display: none !important;
}

html[data-theme] body.wp-page-home:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar .search-pill,
html[data-theme] body.wp-page-forecast:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar .search-pill,
html[data-theme] body.wp-page-updates:not(.wp-shell-embedded-nav) .updates-topbar-inner.wp-primary-topbar .search-pill,
html[data-theme] body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .app-topbar.wp-primary-topbar .search-pill {
  width: 100% !important;
  max-width: none !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) :is(.search-pill, .header-brand, .header-action-btn, .radar-header-action, .wp-shell-header-notify) {
  min-height: 44px !important;
  border: 1px solid var(--ledger-rule) !important;
  border-radius: 4px !important;
  background: var(--ledger-surface-alt) !important;
  color: var(--ledger-ink) !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) :is(.header-action-btn, .radar-header-action, .wp-shell-header-notify, .header-brand) {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) :is(.header-actions, .radar-header-actions) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  min-width: 0 !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) .search-pill {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 44px !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  gap: 8px !important;
  overflow: hidden !important;
  text-align: left !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar
) .search-pill-inner {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) :is(.search-text, .location-pill-label) {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--ledger-ink) !important;
  font-size: 0.88rem !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-shadow: none !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) :is(.search-icon, .location-pill-icon, .search-pill > .material-icons-round:first-child) {
  color: var(--ledger-accent-strong) !important;
}

html[data-theme] :is(
  body.wp-page-home:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-forecast:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-design-100x.wp-page-radar:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-page-updates:not(.wp-shell-embedded-nav) .wp-primary-topbar,
  body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .wp-primary-topbar
) :is(.expand-arrow, .location-pill-chevron, .search-pill > .material-icons-round:last-child) {
  color: var(--ledger-muted) !important;
}

html[data-theme] body.wp-page-updates:not(.wp-shell-embedded-nav) .updates-header {
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  padding: max(6px, env(safe-area-inset-top, 0px)) max(6px, env(safe-area-inset-right, 0px)) 6px max(6px, env(safe-area-inset-left, 0px)) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme] body.wp-page-updates:not(.wp-shell-embedded-nav) .updates-topbar-inner.wp-primary-topbar {
  width: min(100%, 760px) !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 5px !important;
}

html[data-theme] body.wp-page-updates.wp-browser-desktop:not(.wp-shell-embedded-nav) .updates-header {
  transform: translateY(-10px) !important;
}

html[data-theme] body.wp-page-updates.wp-browser-desktop.app-loaded:not(.wp-shell-embedded-nav) .updates-header {
  transform: translateY(0) !important;
}

html[data-theme] body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .app-topbar.wp-primary-topbar {
  position: sticky !important;
  top: max(6px, env(safe-area-inset-top, 0px)) !important;
  z-index: 90 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 5px !important;
  width: min(calc(100% - 12px), 760px) !important;
  margin: max(6px, env(safe-area-inset-top, 0px)) auto 0 !important;
}

html[data-theme] body.wp-page-forecast:not(.wp-shell-embedded-nav) .forecast-view-controls {
  top: calc(max(6px, env(safe-area-inset-top, 0px)) + 60px) !important;
}

/* Use the same icon set throughout the header. Older Home and Forecast
   styles drew their own location, heart, and bell glyphs. */
html[data-theme] body:is(.wp-page-home, .wp-page-forecast) .wp-primary-topbar .header-action-btn::before {
  display: block;
  font-family: "Material Icons Round" !important;
  font-size: 21px !important;
  font-weight: normal !important;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

html[data-theme] body:is(.wp-page-home, .wp-page-forecast) .wp-primary-topbar #my-location-btn::before {
  content: "my_location";
}

html[data-theme] body:is(.wp-page-home, .wp-page-forecast) .wp-primary-topbar #pin-current-btn::before {
  content: "favorite_border";
}

html[data-theme] body:is(.wp-page-home, .wp-page-forecast) .wp-primary-topbar #pin-current-btn.active-pin::before {
  content: "favorite";
  color: var(--ledger-accent-strong);
}

html[data-theme] body.wp-page-forecast .wp-primary-topbar #my-location-btn[data-forecast-header-icon="loading"]::before {
  content: "refresh";
}

html[data-theme] body.wp-page-forecast .wp-primary-topbar :is(.search-icon, .expand-arrow, #wp-shell-notify-icon) {
  position: static;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  margin: 0;
  border: 0;
  overflow: visible;
  font-family: "Material Icons Round" !important;
  font-size: 21px !important;
  line-height: 1 !important;
  transform: none;
}

html[data-theme] body.wp-page-forecast .wp-primary-topbar :is(.search-icon, .expand-arrow, #wp-shell-notify-icon)::before,
html[data-theme] body.wp-page-forecast .wp-primary-topbar :is(.search-icon, .expand-arrow, #wp-shell-notify-icon)::after {
  content: none;
}

html[data-theme] body.wp-shell-page .wp-primary-topbar .material-icons-round {
  font-size: 21px !important;
  text-shadow: none !important;
}

html[data-theme] body:is(.wp-page-home, .wp-page-forecast) .wp-primary-topbar .header-action-btn {
  font-size: 0 !important;
}

@media (min-width: 641px) {
  html[data-theme] body.wp-page-home:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar,
  html[data-theme] body.wp-page-forecast:not(.wp-shell-embedded-nav) .sticky-location-bar.wp-primary-topbar,
  html[data-theme] body.wp-experience.wp-page-warnpins:not(.wp-shell-embedded-nav) .app-topbar.wp-primary-topbar {
    width: min(calc(100% - 16px), 760px) !important;
  }

  html[data-theme] body.wp-page-updates:not(.wp-shell-embedded-nav) .updates-topbar-inner.wp-primary-topbar {
    width: min(calc(100% - 4px), 760px) !important;
  }
}
