:root {
  --fpe-bg: var(--bg);
  --fpe-panel: var(--panel);
  --fpe-panel-muted: color-mix(in srgb, var(--panel) 92%, var(--bg));
  --fpe-rule: var(--rule);
  --fpe-text: var(--text);
  --fpe-muted: var(--text-muted);
  --fpe-accent: var(--accent);
  --fpe-accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);
  --fpe-success: var(--ok-fg);
  --fpe-warning: var(--warn-fg);
  --fpe-danger: var(--bad-fg);
  --fpe-focus: color-mix(in srgb, var(--accent) 30%, transparent);
  --fpe-header-red-tint: transparent;
  --fpe-table-head-bg: color-mix(in srgb, var(--fpe-rule) 22%, var(--fpe-panel));
  --fpe-header-bg: color-mix(in srgb, var(--fpe-rule) 30%, var(--fpe-panel));
  --fpe-page-title-row-bg: color-mix(in srgb, var(--fpe-rule) 42%, var(--fpe-panel));
  --fpe-block-instruction-bg: color-mix(in srgb, var(--fpe-accent) 4%, var(--fpe-panel));
  --fpe-block-status-bg: color-mix(in srgb, var(--fpe-accent) 7%, var(--fpe-panel));
  --fpe-action-strip-bg: color-mix(in srgb, var(--fpe-rule) 10%, var(--fpe-panel));
  --fpe-shell-tint: color-mix(in srgb, #8d98a8 10%, var(--fpe-bg));
  --fpe-topbar-tone-a: color-mix(in srgb, #6f7a88 30%, var(--fpe-panel));
  --fpe-topbar-tone-b: color-mix(in srgb, #c9d0da 60%, #ffffff);
  --fpe-topbar-glaze-start: color-mix(in srgb, var(--fpe-panel) 40%, transparent);
  --fpe-topbar-glaze-end: color-mix(in srgb, #ffffff 94%, var(--fpe-panel));
  --fpe-topbar-base: linear-gradient(
    90deg,
    var(--fpe-topbar-tone-a) 0%,
    color-mix(in srgb, var(--fpe-topbar-tone-a) 42%, var(--fpe-topbar-tone-b)) 38%,
    var(--fpe-topbar-tone-b) 100%
  );
  --fpe-topbar-title: #ffffff;
  --fpe-topbar-ui: color-mix(in srgb, #ffffff 82%, var(--fpe-panel));

  --fpe-space-1: 4px;
  --fpe-space-2: 8px;
  --fpe-space-3: 12px;
  --fpe-space-4: 16px;
  --fpe-space-5: 24px;
  --fpe-space-6: 32px;
  --fpe-space-7: 40px;
  --fpe-space-8: 48px;

  --fpe-radius-sm: 8px;
  --fpe-radius-md: 12px;
  --fpe-radius-lg: 14px;

  --fpe-topbar-h: 52px;
  --fpe-nav-w: 264px;
  --fpe-right-w: 336px;

  --fpe-title: 24px;
  --fpe-card-title: 15px;
  --fpe-body: 14px;
  --fpe-small: 12px;
  --fpe-field-text: 12px;
  --fpe-kpi: 24px;
  --fpe-stack-gap: var(--fpe-space-3);
  --fpe-field-gap: var(--fpe-space-2);
  --fpe-module-shell-gap: var(--fpe-space-5);
  --fpe-module-head-pad: 14px 17px 12px;
  --fpe-module-body-pad: 16px 18px;
  --fpe-module-grid-gap: var(--fpe-stack-gap);
  --fpe-module-inline-gap: var(--fpe-field-gap);
  --fpe-module-stack-gap: 10px;
}

body.dark #app-shell-v3-root {
  --fpe-table-head-bg: color-mix(in srgb, var(--fpe-rule) 24%, var(--fpe-panel));
  --fpe-header-bg: color-mix(in srgb, var(--fpe-rule) 32%, var(--fpe-panel));
  --fpe-page-title-row-bg: color-mix(in srgb, var(--fpe-rule) 46%, var(--fpe-panel));
  --fpe-block-instruction-bg: color-mix(in srgb, var(--fpe-accent) 10%, var(--fpe-panel));
  --fpe-block-status-bg: color-mix(in srgb, var(--fpe-accent) 13%, var(--fpe-panel));
  --fpe-action-strip-bg: color-mix(in srgb, var(--fpe-rule) 16%, var(--fpe-panel));
  --fpe-shell-tint: color-mix(in srgb, #4e5866 24%, #0b1220);
  --fpe-topbar-tone-a: color-mix(in srgb, #4e5866 68%, #0b1220);
  --fpe-topbar-tone-b: color-mix(in srgb, #2f3743 66%, #101827);
  --fpe-topbar-glaze-start: color-mix(in srgb, #0b1220 52%, transparent);
  --fpe-topbar-glaze-end: color-mix(in srgb, #0b1220 86%, #101827);
  --fpe-topbar-base: linear-gradient(
    90deg,
    var(--fpe-topbar-tone-a) 0%,
    color-mix(in srgb, var(--fpe-topbar-tone-a) 46%, var(--fpe-topbar-tone-b)) 40%,
    var(--fpe-topbar-tone-b) 100%
  );
  --fpe-topbar-title: #edf2f7;
  --fpe-topbar-ui: color-mix(in srgb, #e5ebf3 84%, #101827);
}

@media (prefers-color-scheme: dark) {
  body:not(.light) #app-shell-v3-root {
    --fpe-table-head-bg: color-mix(in srgb, var(--fpe-rule) 24%, var(--fpe-panel));
    --fpe-header-bg: color-mix(in srgb, var(--fpe-rule) 32%, var(--fpe-panel));
    --fpe-page-title-row-bg: color-mix(in srgb, var(--fpe-rule) 46%, var(--fpe-panel));
    --fpe-block-instruction-bg: color-mix(in srgb, var(--fpe-accent) 10%, var(--fpe-panel));
    --fpe-block-status-bg: color-mix(in srgb, var(--fpe-accent) 13%, var(--fpe-panel));
    --fpe-action-strip-bg: color-mix(in srgb, var(--fpe-rule) 16%, var(--fpe-panel));
    --fpe-shell-tint: color-mix(in srgb, #4e5866 24%, #0b1220);
    --fpe-topbar-tone-a: color-mix(in srgb, #4e5866 68%, #0b1220);
    --fpe-topbar-tone-b: color-mix(in srgb, #2f3743 66%, #101827);
    --fpe-topbar-glaze-start: color-mix(in srgb, #0b1220 52%, transparent);
    --fpe-topbar-glaze-end: color-mix(in srgb, #0b1220 86%, #101827);
    --fpe-topbar-base: linear-gradient(
      90deg,
      var(--fpe-topbar-tone-a) 0%,
      color-mix(in srgb, var(--fpe-topbar-tone-a) 46%, var(--fpe-topbar-tone-b)) 40%,
      var(--fpe-topbar-tone-b) 100%
    );
    --fpe-topbar-title: #edf2f7;
    --fpe-topbar-ui: color-mix(in srgb, #e5ebf3 84%, #101827);
  }
}

#app-shell-v3-root {
  min-height: 100vh;
}

#app-shell-v3-root,
#app-shell-v3-root * {
  box-sizing: border-box;
}

.fpe-shell {
  min-height: 100vh;
  color: var(--fpe-text);
  background: var(--fpe-bg);
  font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
}

.fpe-topbar {
  position: relative;
  height: var(--fpe-topbar-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fpe-space-4);
  padding: 0 var(--fpe-space-5);
  background: var(--fpe-panel);
  border-bottom: 1px solid var(--fpe-rule);
  overflow: hidden;
}

.fpe-topbar::before {
  content: none;
}

.fpe-topbar > * {
  position: relative;
  z-index: 1;
}

.fpe-topbar__brand {
  display: flex;
  align-items: center;
  gap: var(--fpe-space-3);
  flex: 1 1 auto;
  margin-right: auto;
  min-height: calc(var(--fpe-topbar-h) - 10px);
  max-width: calc(100% - 260px);
  padding: 0 12px;
  border-radius: 10px;
  min-width: 0;
  overflow: hidden;
}

.fpe-brand {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: normal;
  color: inherit;
  text-shadow: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fpe-brand-short {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #f7f0ff;
  border: 1px solid color-mix(in srgb, #d8b4fe 58%, #7e22ce);
  border-radius: 999px;
  padding: 2px 7px;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, #9333ea 84%, #4c1d95) 0%,
    color-mix(in srgb, #7c3aed 88%, #3b0764) 100%
  );
  flex: 0 0 auto;
}

.fpe-build {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid color-mix(in srgb, #ffffff 24%, var(--fpe-rule));
  border-radius: 999px;
  padding: 3px 7px;
  color: var(--fpe-topbar-ui);
  background: color-mix(in srgb, #0b1220 28%, transparent);
}

.fpe-topbar__actions {
  display: flex;
  align-items: center;
  gap: var(--fpe-space-2);
}

.fpe-topbar .fpe-btn {
  border-color: var(--fpe-rule);
  background: var(--fpe-panel);
  color: var(--fpe-text);
}

.fpe-topbar .fpe-btn:hover {
  background: var(--fpe-panel-muted);
}

.fpe-topbar .fpe-btn--danger {
  border-color: color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  color: var(--fpe-danger);
  background: color-mix(in srgb, var(--fpe-danger) 4%, var(--fpe-panel));
}

.fpe-topbar .fpe-btn--danger:hover {
  background: color-mix(in srgb, var(--fpe-danger) 10%, var(--fpe-panel));
}

.fpe-btn--training {
  font-weight: 400;
  transition: box-shadow 140ms ease, border-color 140ms ease, background-color 140ms ease, color 140ms ease;
}

.fpe-btn--training.is-active {
  color: var(--fpe-text);
  border-color: color-mix(in srgb, var(--fpe-accent) 64%, #ffffff 18%);
  background: color-mix(in srgb, var(--fpe-accent) 34%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--fpe-accent) 28%, transparent),
    0 0 16px color-mix(in srgb, var(--fpe-accent) 44%, transparent);
}

.fpe-btn {
  border: 1px solid var(--fpe-rule);
  background: var(--fpe-panel);
  color: var(--fpe-text);
  min-height: 32px;
  border-radius: var(--fpe-radius-sm);
  padding: 0 10px;
  font-size: 12px;
  cursor: pointer;
}

.fpe-btn:hover {
  background: var(--fpe-panel-muted);
}

.fpe-btn:focus-visible,
.fpe-nav__item:focus-visible,
.fpe-context__input:focus-visible {
  outline: 2px solid var(--fpe-focus);
  outline-offset: 2px;
}

.fpe-btn--ghost {
  background: transparent;
}

.fpe-btn--danger {
  border-color: color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  color: var(--fpe-danger);
}

.fpe-layout {
  display: grid;
  grid-template-columns: var(--fpe-nav-w) minmax(0, 1fr) var(--fpe-right-w);
  height: calc(100vh - var(--fpe-topbar-h));
  min-height: calc(100vh - var(--fpe-topbar-h));
  overflow: hidden;
}

.fpe-nav {
  border-right: 1px solid var(--fpe-rule);
  background: var(--fpe-page-title-row-bg);
  padding: var(--fpe-space-3) 0 var(--fpe-space-3);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}

.fpe-nav__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: var(--fpe-space-3);
}

.fpe-nav__group {
  margin-bottom: var(--fpe-space-4);
}

.fpe-nav__label {
  padding: 0 var(--fpe-space-4) var(--fpe-space-2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fpe-muted);
}

.fpe-nav__item {
  width: 100%;
  display: block;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: var(--fpe-muted);
  text-decoration: none;
  text-align: left;
  font-size: 13px;
  min-height: 38px;
  padding: 8px 14px;
  cursor: pointer;
}

.fpe-nav__item:hover {
  background: color-mix(in srgb, var(--fpe-rule) 24%, transparent);
  color: var(--fpe-text);
}

.fpe-nav__item.is-active {
  border-left-color: var(--fpe-accent);
  background: var(--fpe-accent-soft);
  color: var(--fpe-text);
}

.fpe-nav__footer {
  margin-top: auto;
  padding: var(--fpe-space-2) var(--fpe-space-4) 0;
  border-top: 1px solid color-mix(in srgb, var(--fpe-rule) 68%, transparent);
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
  color: color-mix(in srgb, var(--fpe-muted) 88%, transparent);
  letter-spacing: 0.01em;
}

.fpe-main {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.fpe-context,
.fpe-page-head,
.fpe-kpis,
.fpe-surface {
  padding-left: var(--fpe-space-5);
  padding-right: var(--fpe-space-5);
}

.fpe-context {
  background: color-mix(in srgb, var(--fpe-warning) 8%, var(--fpe-panel));
  border-bottom: 1px solid color-mix(in srgb, var(--fpe-warning) 36%, var(--fpe-rule));
  padding-top: var(--fpe-space-4);
  padding-bottom: var(--fpe-space-3);
}

.fpe-context__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
}

.fpe-context__label {
  font-size: var(--fpe-small);
  color: color-mix(in srgb, var(--fpe-warning) 82%, var(--fpe-text));
  margin-bottom: 6px;
}

.fpe-context__input {
  min-height: 40px;
  width: 340px;
  max-width: 100%;
  border: 1px solid color-mix(in srgb, var(--fpe-warning) 36%, var(--fpe-rule));
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 0 11px;
  font-size: var(--fpe-field-text);
  color: color-mix(in srgb, var(--fpe-warning) 82%, var(--fpe-text));
}

.fpe-context__input[disabled] {
  opacity: 0.68;
  cursor: not-allowed;
}

.fpe-context__status {
  margin-top: 10px;
  font-size: var(--fpe-small);
  color: color-mix(in srgb, var(--fpe-warning) 82%, var(--fpe-text));
}

.fpe-context__intel {
  margin-top: 10px;
  display: grid;
  gap: 6px;
}

.fpe-context__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.fpe-intel-chip {
  appearance: none;
  border: 1px solid var(--fpe-rule);
  border-radius: 999px;
  background: var(--fpe-panel-muted);
  color: var(--fpe-text);
  padding: 4px 10px;
  font-size: 11px;
  cursor: pointer;
}

.fpe-intel-chip:hover {
  border-color: color-mix(in srgb, var(--fpe-accent) 50%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-accent) 8%, var(--fpe-panel));
}

.fpe-page-head {
  background: var(--fpe-page-title-row-bg);
  border-bottom: 1px solid var(--fpe-rule);
  padding-top: var(--fpe-space-5);
  padding-bottom: var(--fpe-space-4);
  box-shadow: none;
}

.fpe-page-head__eyebrow {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fpe-muted);
  margin-bottom: 8px;
}

.fpe-page-head__title {
  margin: 0;
  font-size: var(--fpe-title);
  line-height: 1.2;
  letter-spacing: normal;
  font-weight: 800;
  font-style: normal;
  text-shadow: none;
  color: #000000;
}

body.dark #app-shell-v3-root .fpe-page-head__title {
  color: var(--fpe-text);
}

.fpe-page-head__subtitle {
  margin: 10px 0 0;
  color: var(--fpe-muted);
  max-width: 72ch;
  font-size: 13px;
  line-height: 1.55;
}

.fpe-kpis {
  background: color-mix(in srgb, var(--fpe-warning) 8%, var(--fpe-panel));
  border-bottom: 1px solid color-mix(in srgb, var(--fpe-warning) 36%, var(--fpe-rule));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--fpe-space-3);
  padding-top: var(--fpe-space-4);
  padding-bottom: var(--fpe-space-4);
}

.fpe-kpi {
  border: 1px solid color-mix(in srgb, var(--fpe-warning) 36%, var(--fpe-rule));
  border-radius: var(--fpe-radius-md);
  background: color-mix(in srgb, var(--fpe-warning) 10%, var(--fpe-panel-muted));
  padding: 14px 16px;
}

.fpe-kpi__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in srgb, var(--fpe-warning) 82%, var(--fpe-text));
  margin-bottom: 6px;
}

.fpe-kpi__value {
  font-size: var(--fpe-kpi);
  line-height: 1.15;
  font-weight: 600;
  color: color-mix(in srgb, var(--fpe-warning) 82%, var(--fpe-text));
}

.fpe-kpi.is-empty .fpe-kpi__value {
  color: color-mix(in srgb, var(--fpe-warning) 72%, var(--fpe-text));
}

.fpe-kpi--ok {
  border-color: color-mix(in srgb, var(--fpe-success) 28%, var(--fpe-rule));
}

.fpe-kpi--neutral {
  border-color: var(--fpe-rule);
}

.fpe-kpi--warn {
  border-color: color-mix(in srgb, var(--fpe-warning) 36%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-warning) 8%, var(--fpe-panel-muted));
}

.fpe-kpi--bad {
  border-color: color-mix(in srgb, var(--fpe-danger) 42%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-danger) 9%, var(--fpe-panel-muted));
}

.fpe-surface {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-top: var(--fpe-space-5);
  padding-bottom: var(--fpe-space-8);
  min-width: 0;
}

.fpe-surface-frame {
  min-width: 0;
}

.fpe-surface-frame--two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: var(--fpe-module-shell-gap);
}

.fpe-surface-frame--three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--fpe-module-shell-gap);
}

.fpe-surface-frame--center-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fpe-module-shell-gap);
}

.fpe-surface-frame--subsection {
  margin-top: var(--fpe-space-5);
}

.fpe-surface-frame--single {
  grid-template-columns: minmax(0, 1fr);
}

.fpe-col {
  display: flex;
  flex-direction: column;
  gap: var(--fpe-module-shell-gap);
  min-width: 0;
}

.fpe-center-stack__column {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--fpe-module-shell-gap);
}

.fpe-center-module {
  width: 100%;
  margin: 0;
}

.fpe-col--full-row {
  grid-column: 1 / -1;
}

.fpe-card {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-md);
  background: var(--fpe-panel);
  overflow: hidden;
  min-width: 0;
}

.fpe-card__head {
  border-bottom: 1px solid var(--fpe-rule);
  background:
    radial-gradient(circle at 0% 0%, var(--fpe-header-red-tint) 0%, transparent 64%),
    var(--fpe-header-bg);
  padding: var(--fpe-module-head-pad);
}

.fpe-card__head-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fpe-space-3);
}

.fpe-card__head-control {
  flex: 0 0 auto;
}

.fpe-header-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.fpe-header-switch__label {
  font-size: 12px;
  color: var(--fpe-muted);
  white-space: nowrap;
}

.fpe-card__title {
  margin: 0;
  font-size: var(--fpe-card-title);
  line-height: 1.35;
}

.fpe-card__status {
  border: 1px solid var(--fpe-rule);
  border-radius: 999px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  color: var(--fpe-muted);
}

#app-shell-v3-root .fpe-surface .fpe-status-pill,
#app-shell-v3-root .fpe-surface .tag,
#app-shell-v3-root .fpe-surface .badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 90%, transparent);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--fpe-muted);
  background: color-mix(in srgb, var(--fpe-rule) 12%, transparent);
}

#app-shell-v3-root .fpe-surface .fpe-status-pill--ok {
  border-color: color-mix(in srgb, var(--fpe-success) 32%, var(--fpe-rule));
  color: color-mix(in srgb, var(--fpe-success) 82%, var(--fpe-text));
  background: color-mix(in srgb, var(--fpe-success) 10%, transparent);
}

#app-shell-v3-root .fpe-surface .fpe-status-pill--warn {
  border-color: color-mix(in srgb, var(--fpe-warning) 40%, var(--fpe-rule));
  color: color-mix(in srgb, var(--fpe-warning) 82%, var(--fpe-text));
  background: color-mix(in srgb, var(--fpe-warning) 12%, transparent);
}

#app-shell-v3-root .fpe-surface .fpe-status-pill--bad {
  border-color: color-mix(in srgb, var(--fpe-danger) 48%, var(--fpe-rule));
  color: color-mix(in srgb, var(--fpe-danger) 84%, var(--fpe-text));
  background: color-mix(in srgb, var(--fpe-danger) 12%, transparent);
}

#app-shell-v3-root .fpe-surface .fpe-status-pill--neutral {
  border-color: color-mix(in srgb, var(--fpe-rule) 92%, transparent);
  color: color-mix(in srgb, var(--fpe-muted) 88%, var(--fpe-text));
  background: color-mix(in srgb, var(--fpe-rule) 10%, transparent);
}

.fpe-card__desc {
  margin: 7px 0 0;
  color: var(--fpe-muted);
  font-size: 12px;
  line-height: 1.5;
}

.fpe-card__body {
  padding: var(--fpe-module-body-pad);
  overflow-x: auto;
}

.fpe-field-grid {
  display: grid;
  gap: var(--fpe-module-grid-gap);
  margin: 0;
}

.fpe-field-grid .field {
  display: flex;
  flex-direction: column;
  gap: var(--fpe-field-gap);
  margin: 0;
  min-width: 0;
}

.fpe-control-label {
  display: block;
  margin: 0;
  color: var(--fpe-muted);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fpe-card__body .field .help,
.fpe-card__body .field .note,
.fpe-card__body .field .help-text,
.fpe-card__body .field .muted {
  display: block;
  margin: 0;
}

.fpe-input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel);
  color: var(--fpe-text);
  padding: 0 10px;
  font-size: var(--fpe-field-text);
  line-height: 1.3;
}

.fpe-readonly-field {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel);
  color: var(--fpe-text);
  padding: 0 10px;
  display: flex;
  align-items: center;
  font-size: var(--fpe-field-text);
  line-height: 1.3;
  margin-top: 0 !important;
}

.fpe-input:focus-visible {
  outline: 2px solid var(--fpe-focus);
  outline-offset: 2px;
}

.fpe-context__input::placeholder,
.fpe-input::placeholder,
#app-shell-v3-root .fpe-card__body .input::placeholder,
#app-shell-v3-root .fpe-card__body textarea::placeholder {
  font-size: var(--fpe-field-text);
}

#app-shell-v3-root .fpe-card__body .input,
#app-shell-v3-root .fpe-card__body .select,
#app-shell-v3-root .fpe-card__body textarea {
  font-size: var(--fpe-field-text);
  line-height: 1.3;
}

#app-shell-v3-root .fpe-card__body .label {
  display: block;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fpe-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--fpe-text);
  font-size: 13px;
  line-height: 1.4;
}

.fpe-switch input[type="checkbox"] {
  accent-color: var(--fpe-accent);
}

.fpe-help {
  margin: 0;
  color: var(--fpe-muted);
  font-size: 12px;
  line-height: 1.45;
}

.fpe-help--flush {
  margin-top: 0;
}

.fpe-help--explainer {
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.5;
}

.fpe-help-links {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
}

.fpe-help-links__sep {
  color: color-mix(in srgb, var(--fpe-muted) 75%, transparent);
}

.fpe-inline-intel-link {
  border: 0;
  background: transparent;
  padding: 0;
  color: color-mix(in srgb, var(--fpe-accent) 78%, var(--fpe-text));
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  font: inherit;
  line-height: inherit;
}

.fpe-inline-intel-link:hover {
  color: var(--fpe-accent);
}

.fpe-inline-intel-link:focus-visible {
  outline: 2px solid var(--fpe-focus);
  outline-offset: 2px;
  border-radius: 3px;
}

.fpe-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fpe-module-inline-gap);
  margin-bottom: 0;
}

.fpe-action-strip {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-action-strip-bg);
  padding: 8px 10px;
}

#app-shell-v3-root .fpe-card__body .field > .fpe-action-row {
  margin-bottom: 0;
}

.fpe-action-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 0;
}

.fpe-action-group > .fpe-action-row {
  margin-bottom: 0;
}

.fpe-contained-block {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 10px 12px;
}

.fpe-contained-block--instruction {
  border-color: color-mix(in srgb, var(--fpe-accent) 20%, var(--fpe-rule));
  background: var(--fpe-block-instruction-bg);
}

.fpe-contained-block--status {
  border-color: color-mix(in srgb, var(--fpe-accent) 28%, var(--fpe-rule));
  background: var(--fpe-block-status-bg);
}

.fpe-contained-block .bullets {
  margin: 0;
  padding-left: 18px;
}

.fpe-contained-block .note,
.fpe-contained-block .help-text,
.fpe-contained-block .muted,
.fpe-contained-block .mini-s {
  margin: 0;
}

.fpe-status-strip {
  display: grid;
  gap: var(--fpe-module-stack-gap);
}

.fpe-status-strip--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fpe-status-strip--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fpe-status-strip--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fpe-status-strip > .fpe-contained-block {
  height: 100%;
}

.fpe-instructions {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: color-mix(in srgb, var(--fpe-panel-muted) 92%, var(--fpe-panel));
  overflow: hidden;
}

.fpe-instructions__summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--fpe-rule) 82%, transparent);
  background: var(--fpe-header-bg);
  user-select: none;
}

.fpe-instructions__summary::-webkit-details-marker {
  display: none;
}

.fpe-instructions__summary::before {
  content: "▸";
  display: inline-block;
  margin-right: 8px;
  color: var(--fpe-muted);
  transform: translateY(-1px);
}

.fpe-instructions[open] > .fpe-instructions__summary::before {
  content: "▾";
}

.fpe-instructions__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--fpe-text);
}

.fpe-instructions__body {
  padding: 10px 12px;
  display: grid;
  gap: var(--fpe-field-gap);
}

.fpe-instructions__body > * {
  margin: 0 !important;
}

.fpe-message-window {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 10px 12px;
}

.fpe-message-window__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.fpe-message-window__tag {
  display: inline-flex;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 90%, transparent);
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fpe-muted);
}

.fpe-message-window__body > * + * {
  margin-top: 8px;
}

.fpe-message-window__body,
.fpe-message-window__body * {
  font-size: 12px;
  line-height: 1.45;
}

.fpe-message-window__body .muted,
.fpe-message-window__body .note,
.fpe-message-window__body .banner,
.fpe-message-window__body .fpe-census-intro {
  margin: 0;
  line-height: 1.45;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: var(--fpe-muted);
}

.fpe-message-window__body a {
  font-size: inherit;
}

.fpe-message-window__body .fpe-status-list {
  margin: 0;
  padding-left: 18px;
  list-style: disc;
  display: grid;
  gap: 6px;
}

.fpe-message-window__body .fpe-status-list li {
  margin: 0;
  padding: 0;
  color: inherit;
}

#app-shell-v3-root .fpe-surface .help {
  display: none;
  border: 1px dashed color-mix(in srgb, var(--fpe-rule) 80%, transparent);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 10px 12px;
  color: var(--fpe-muted);
}

body.training #app-shell-v3-root .fpe-surface .help {
  display: block;
}

#app-shell-v3-root .fpe-surface .training-panel-new,
#app-shell-v3-root .fpe-surface .fpe-why {
  display: none;
}

body.training #app-shell-v3-root .fpe-surface .training-panel-new,
body.training #app-shell-v3-root .fpe-surface .fpe-why {
  display: block;
}

#app-shell-v3-root .fpe-surface .help .help-title {
  color: var(--fpe-muted);
}

#app-shell-v3-root .fpe-surface .help .help-text {
  color: var(--fpe-muted);
}

.fpe-message-window--warn {
  border-color: color-mix(in srgb, var(--fpe-warning) 32%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-warning) 10%, var(--fpe-panel));
}

.fpe-message-window--warn .fpe-message-window__tag {
  border-color: color-mix(in srgb, var(--fpe-warning) 38%, var(--fpe-rule));
  color: var(--fpe-warning);
}

.fpe-message-window--status {
  border-color: color-mix(in srgb, var(--fpe-accent) 22%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-accent) 7%, var(--fpe-panel));
}

.fpe-message-window--status .fpe-message-window__tag {
  border-color: color-mix(in srgb, var(--fpe-accent) 30%, var(--fpe-rule));
  color: color-mix(in srgb, var(--fpe-accent) 80%, var(--fpe-text));
}

.fpe-message-window--tip {
  border-color: color-mix(in srgb, var(--fpe-success) 24%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-success) 8%, var(--fpe-panel));
}

.fpe-message-window--tip .fpe-message-window__tag {
  border-color: color-mix(in srgb, var(--fpe-success) 32%, var(--fpe-rule));
  color: color-mix(in srgb, var(--fpe-success) 80%, var(--fpe-text));
}

.fpe-action-row .mini-s,
.fpe-action-row .muted,
.fpe-action-row .help-text {
  margin: 0;
}

.fpe-surface .fpe-btn {
  border-color: color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  background: transparent;
  color: var(--fpe-danger);
  min-height: 32px;
  font-size: 12px;
}

.fpe-surface .fpe-btn:hover {
  border-color: color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  background: var(--fpe-panel-muted);
  color: var(--fpe-danger);
}

#app-shell-v3-root .fpe-surface .btn,
#app-shell-v3-root .fpe-surface .btn.btn-ghost,
#app-shell-v3-root .fpe-surface .btn.btn-primary,
#app-shell-v3-root .fpe-surface .btn.btn-link {
  border: 1px solid color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  background: transparent;
  color: var(--fpe-danger);
  min-height: 32px;
  border-radius: var(--fpe-radius-sm);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 500;
}

#app-shell-v3-root .fpe-surface .btn:hover,
#app-shell-v3-root .fpe-surface .btn.btn-ghost:hover,
#app-shell-v3-root .fpe-surface .btn.btn-primary:hover,
#app-shell-v3-root .fpe-surface .btn.btn-link:hover {
  border-color: color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  background: var(--fpe-panel-muted);
  color: var(--fpe-danger);
}

#app-shell-v3-root .fpe-surface .btn:active,
#app-shell-v3-root .fpe-surface .btn.btn-ghost:active,
#app-shell-v3-root .fpe-surface .btn.btn-primary:active,
#app-shell-v3-root .fpe-surface .btn.btn-link:active {
  transform: none;
}

.fpe-alert {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  color: var(--fpe-text);
  font-size: 12px;
  line-height: 1.45;
  padding: 8px 10px;
  margin-bottom: 0;
}

.fpe-alert--warn {
  border-color: color-mix(in srgb, var(--fpe-warning) 35%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-warning) 10%, var(--fpe-panel));
}

.fpe-field-grid--1 {
  grid-template-columns: minmax(0, 1fr);
}

.fpe-field-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fpe-field-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fpe-field-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#app-shell-v3-root .fpe-surface-pane .fpe-card__body > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#app-shell-v3-root .fpe-surface-pane .fpe-card__body > * + * {
  margin-top: var(--fpe-stack-gap) !important;
}

#app-shell-v3-root .fpe-surface-pane .fpe-card__body .fpe-module-stack {
  display: grid;
  gap: var(--fpe-module-grid-gap);
}

#app-shell-v3-root .fpe-surface-pane .fpe-card__body .fpe-module-stack > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#app-shell-v3-root .fpe-surface-pane .fpe-card__body .field > * + * {
  margin-top: var(--fpe-field-gap) !important;
}

#app-shell-v3-root .fpe-surface .table-wrap {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel);
  overflow: auto;
}

#app-shell-v3-root .fpe-surface .table thead,
#app-shell-v3-root .fpe-surface .table tr:first-child > th {
  background: var(--fpe-table-head-bg);
}

#app-shell-v3-root .fpe-surface .table thead th {
  background: var(--fpe-table-head-bg) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--fpe-rule) 88%, transparent);
}

#app-shell-v3-root .fpe-surface .fpe-empty-row > td,
#app-shell-v3-root .fpe-surface td.fpe-empty-state,
#app-shell-v3-root .fpe-surface li.fpe-empty-state {
  color: var(--fpe-muted);
  font-style: italic;
}

#app-shell-v3-root .fpe-card__body .fpe-field-grid--2,
#app-shell-v3-root .fpe-card__body .grid2 {
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  min-width: 420px;
}

#app-shell-v3-root .fpe-card__body .fpe-field-grid--3,
#app-shell-v3-root .fpe-card__body .grid3,
#app-shell-v3-root .fpe-card__body .subgrid {
  grid-template-columns: repeat(3, minmax(190px, 1fr));
  min-width: 640px;
}

#app-shell-v3-root .fpe-card__body .fpe-field-grid--4,
#app-shell-v3-root .fpe-card__body .grid4 {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  min-width: 760px;
}

.fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .subgrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .grid4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .subgrid,
.fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .subgrid,
.fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .subgrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .grid4,
.fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .grid4,
.fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .grid4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="scenarios"] .fpe-card__body .fpe-field-grid--2,
.fpe-surface-pane[data-v3-stage="scenarios"] .fpe-card__body .grid2 {
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .fpe-field-grid--2,
.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .grid2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .subgrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .grid4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .fpe-field-grid--2,
.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .grid2,
.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .subgrid,
.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .grid4 {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .fpe-field-grid--2,
.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .grid2,
.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .subgrid,
.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .grid4 {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-card__body .fpe-field-grid--3,
.fpe-surface-pane[data-v3-stage="district"] .fpe-card__body .grid3,
.fpe-surface-pane[data-v3-stage="district"] .fpe-card__body .subgrid,
.fpe-surface-pane[data-v3-stage="district"] .fpe-card__body .fpe-field-grid--4,
.fpe-surface-pane[data-v3-stage="district"] .fpe-card__body .grid4 {
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-card__body .inline-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
  align-items: stretch;
}

.fpe-surface-pane[data-v3-stage="district"] #universe16Derived {
  margin-top: 0 !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-layout {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-intro {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--fpe-muted);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-top-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-md);
  background: var(--fpe-panel);
  overflow: hidden;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__head {
  padding: 12px 14px;
  border-bottom: 1px solid var(--fpe-rule);
  background:
    radial-gradient(circle at 0% 0%, var(--fpe-header-red-tint) 0%, transparent 64%),
    var(--fpe-header-bg);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__head-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__title {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
  color: var(--fpe-text);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__head-main .fpe-header-switch {
  margin-left: auto;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__desc {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--fpe-muted);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__body {
  padding: 14px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__body > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__body > * + * {
  margin-top: 12px !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-workflow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-subsection {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 12px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-subsection__title {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--fpe-text);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-subsection__desc {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--fpe-muted);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-subsection__body {
  margin-top: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-subsection__body > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-subsection__body > * + * {
  margin-top: 12px !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-list > .fpe-census-status-item {
  margin: 0 0 8px 0;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  column-gap: 8px;
  align-items: start;
  color: var(--fpe-muted);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 400;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-list > .fpe-census-status-item:last-child {
  margin-bottom: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-list > .fpe-census-status-item::before {
  content: "•";
  display: block;
  font-size: 14px;
  line-height: 1.2;
  color: var(--fpe-muted);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-message-window--warn .fpe-census-status-list > .fpe-census-status-item::before {
  color: var(--fpe-warning);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-list > .fpe-census-status-item > * {
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-instruction-list {
  margin: 0;
  padding-left: 18px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-instruction-list > .fpe-census-instruction-item {
  margin: 0;
  color: var(--fpe-muted);
  font-size: 12px;
  line-height: 1.5;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-instruction-list > .fpe-census-instruction-item + .fpe-census-instruction-item {
  margin-top: 8px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-instruction-list > .fpe-census-instruction-item > * {
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-fetch-row {
  margin: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-chip {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 8px 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-chip .muted {
  margin: 0;
  line-height: 1.45;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-row--under-map {
  margin-top: 8px;
  justify-content: flex-end;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-row--under-map-split {
  justify-content: space-between;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-row--actions {
  justify-content: flex-start;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-load-geo-row {
  justify-content: flex-end;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-vtd-control-row {
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-vtd-config-row {
  align-items: end;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-btn--compact {
  width: auto;
  flex: 0 0 auto;
  white-space: nowrap;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-geo-selection-actions {
  justify-content: space-between;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-geo-selection-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-apply-geoids-row {
  justify-content: flex-start;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-candidate-history-add-row {
  justify-content: flex-start;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-shell {
  position: relative;
  border: 1px solid var(--fpe-rule);
  border-radius: 12px;
  min-height: 320px;
  overflow: hidden;
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--fpe-panel) 75%, var(--fpe-bg)) 0%,
    color-mix(in srgb, var(--fpe-panel) 58%, var(--fpe-bg)) 100%
  );
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-load-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-shell #censusMap {
  margin-top: 0;
  height: 320px;
  border: 0;
  border-radius: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-shell.is-idle #censusMap {
  filter: grayscale(0.65) saturate(0.45);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  color: var(--fpe-muted);
  background:
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, var(--fpe-panel) 72%, transparent) 0,
      color-mix(in srgb, var(--fpe-panel) 72%, transparent) 10px,
      color-mix(in srgb, var(--fpe-bg) 80%, transparent) 10px,
      color-mix(in srgb, var(--fpe-bg) 80%, transparent) 20px
    );
  pointer-events: none;
  opacity: 0.96;
  transition: opacity 180ms ease;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-map-shell.is-active .fpe-census-map-overlay {
  opacity: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-instruction-details,
.fpe-surface-pane[data-v3-stage="district"] .fpe-census-election-details {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
  padding: 10px 12px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-instruction-details > summary,
.fpe-surface-pane[data-v3-stage="district"] .fpe-census-election-details > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--fpe-text);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-aggregate-actions {
  justify-content: flex-start !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-election-status-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-election-guide {
  margin-top: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-election-guide > * + * {
  margin-top: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-template-actions {
  margin-top: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-template-actions .fpe-action-row {
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-census-template-actions .fpe-help {
  margin: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-lab {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-lab > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-lab .fpe-action-row {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-lab .fpe-help {
  color: var(--fpe-muted);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-lab .fpe-field-grid .field {
  min-width: 0;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-density-field {
  margin-top: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-results-actions {
  justify-content: space-between !important;
  align-items: center;
  gap: 10px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-targeting-results-actions__right {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  flex-wrap: wrap;
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm {
  display: flex;
  flex-direction: column;
  gap: var(--fpe-space-3);
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-active {
  margin: 0;
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-active .note,
.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-field .label,
.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-compare .note,
.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-compare .muted {
  color: var(--fpe-muted);
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--fpe-space-3);
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fpe-space-2);
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm .sc-divider {
  margin: 0;
  border-top: 1px solid var(--fpe-rule);
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm-compare {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: var(--fpe-space-3);
}

.fpe-surface-pane[data-v3-stage="scenarios"] .scm-compare-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: var(--fpe-space-3);
  margin-top: 0;
}

.fpe-surface-pane[data-v3-stage="scenarios"] .diff-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fpe-surface-pane[data-v3-stage="scenarios"] .diff-item {
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: var(--fpe-panel-muted);
}

.fpe-surface-pane[data-v3-stage="decision-log"] .scm-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fpe-space-3);
}

.fpe-surface-pane[data-v3-stage="decision-log"] .scm-row .note,
.fpe-surface-pane[data-v3-stage="decision-log"] .scm-row .muted {
  color: var(--fpe-muted);
}

.fpe-card__body > .card,
.fpe-card__body > .stage-body-new {
  margin: 0;
}

.fpe-card__body .stage-body-new {
  padding: 0;
}

.fpe-summary-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fpe-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  color: var(--fpe-muted);
  font-size: 13px;
}

.fpe-summary-row strong {
  color: var(--fpe-text);
  font-size: 14px;
  text-align: right;
}

.fpe-turnout-impact-value {
  margin-top: 4px;
  color: var(--fpe-text);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 600;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-top-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fpe-space-3);
  align-items: stretch;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-top-row .fpe-why {
  margin-top: 0;
  height: 100%;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-top-row .fpe-card {
  height: 100%;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--fpe-space-3);
  padding: 14px 16px;
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-md);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0)),
    var(--fpe-panel);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-right: 8px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief__item:not(:last-child) {
  border-right: 1px solid var(--fpe-rule);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief__label {
  color: var(--fpe-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief__value {
  color: var(--fpe-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-section {
  display: flex;
  flex-direction: column;
  gap: var(--fpe-space-3);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-section__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-section__eyebrow {
  color: var(--fpe-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-section__title {
  margin: 0;
  color: var(--fpe-text);
  font-size: 20px;
  line-height: 1.2;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-section__desc {
  margin: 0;
  max-width: 80ch;
  color: var(--fpe-muted);
  line-height: 1.6;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fpe-space-3);
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-grid .fpe-card--district-wide {
  grid-column: 1 / -1;
}

.fpe-surface-pane[data-v3-stage="district"] .fpe-district-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fpe-space-3);
  align-items: start;
}

@media (max-width: 1100px) {
  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-top-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-analysis-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-grid,
  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief__item {
    padding-right: 0;
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-district-brief__item:not(:last-child) {
    padding-bottom: 10px;
    border-right: 0;
    border-bottom: 1px solid var(--fpe-rule);
  }
}

.fpe-why {
  margin-top: var(--fpe-space-5);
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-md);
  background: var(--fpe-panel);
  padding: 18px;
}

.fpe-why__title {
  margin: 0 0 10px;
  font-size: 15px;
}

.fpe-why__list {
  margin: 0;
  padding-left: 18px;
  color: var(--fpe-muted);
  line-height: 1.6;
}

.fpe-right-rail-slot {
  min-width: 0;
  min-height: 0;
  border-left: 1px solid var(--fpe-rule);
  background: var(--fpe-page-title-row-bg);
  overflow-y: auto;
  overflow-x: hidden;
}

.fpe-right-rail-toggle {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--fpe-rule);
  background: var(--fpe-page-title-row-bg);
}

.fpe-right-rail-toggle__btn {
  appearance: none;
  border: 1px solid var(--fpe-rule);
  background: var(--fpe-panel);
  border-radius: var(--fpe-radius-sm);
  min-height: 30px;
  padding: 0 10px;
  color: var(--fpe-muted);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.fpe-right-rail-toggle__btn:hover {
  color: var(--fpe-text);
  background: var(--fpe-panel-muted);
}

.fpe-right-rail-toggle__btn.is-active {
  color: var(--fpe-text);
  border-color: color-mix(in srgb, var(--fpe-accent) 56%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-accent) 10%, var(--fpe-panel));
}

.fpe-right-rail-slot--intel .fpe-intel-panel {
  border-bottom: 1px solid var(--fpe-rule);
  background: var(--fpe-page-title-row-bg);
  padding: 12px;
}

.fpe-intel-panel__head {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
}

.fpe-intel-panel__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--fpe-text);
}

.fpe-intel-panel__subtitle {
  font-size: 12px;
  color: var(--fpe-muted);
  line-height: 1.45;
}

.fpe-intel-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}

.fpe-intel-tab {
  appearance: none;
  border: 1px solid var(--fpe-rule);
  background: var(--fpe-panel);
  border-radius: 8px;
  min-height: 28px;
  font-size: 11px;
  color: var(--fpe-muted);
  cursor: pointer;
}

.fpe-intel-tab.is-active {
  border-color: color-mix(in srgb, var(--fpe-accent) 60%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-accent) 10%, var(--fpe-panel));
  color: var(--fpe-text);
}

.fpe-intel-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  margin-bottom: 8px;
}

.fpe-intel-search__input {
  width: 100%;
  min-height: 34px;
  font-size: 12px;
}

.fpe-intel-search__btn {
  min-height: 34px;
}

.fpe-intel-mode-status {
  font-size: 11px;
  color: var(--fpe-muted);
  margin-bottom: 8px;
}

.fpe-intel-body {
  display: grid;
  gap: 8px;
  padding-right: 2px;
}

.fpe-intel-section {
  display: grid;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--fpe-rule) 16%, var(--fpe-panel));
  padding: 10px;
}

.fpe-intel-section__title {
  margin: 0;
  font-size: 11px;
  color: var(--fpe-text);
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-section__body {
  margin: 0;
  font-size: 11px;
  color: var(--fpe-text);
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-section--hero .fpe-intel-section__title {
  font-size: 11px;
}

.fpe-intel-mini-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 88%, transparent);
  background: color-mix(in srgb, var(--fpe-panel-muted) 66%, var(--fpe-panel));
  padding: 3px 9px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-mini-item__label {
  color: var(--fpe-muted);
  font-weight: 700;
  font-size: 11px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-mini-item__value {
  color: var(--fpe-text);
  font-size: 11px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-section__meta {
  margin-top: 2px;
  font-size: 11px;
  color: var(--fpe-muted);
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-links {
  display: grid;
  gap: 6px;
}

.fpe-intel-glossary-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.fpe-intel-glossary-chip {
  font-size: 11px;
  line-height: 1.35;
}

.fpe-intel-links__title {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fpe-muted);
}

.fpe-intel-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.fpe-intel-link {
  appearance: none;
  border: 1px solid var(--fpe-rule);
  border-radius: 999px;
  background: var(--fpe-panel);
  color: var(--fpe-text);
  padding: 4px 8px;
  font-size: 11px;
  cursor: pointer;
}

.fpe-intel-result {
  appearance: none;
  border: 1px solid var(--fpe-rule);
  border-radius: 8px;
  background: var(--fpe-panel);
  text-align: left;
  padding: 8px;
  display: grid;
  gap: 2px;
  cursor: pointer;
}

.fpe-intel-result__meta {
  font-size: 10px;
  color: var(--fpe-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.fpe-intel-result__title {
  font-size: 12px;
  color: var(--fpe-text);
  font-weight: 600;
}

.fpe-intel-result__summary {
  font-size: 11px;
  color: var(--fpe-muted);
}

.fpe-intel-empty {
  font-size: 12px;
  color: var(--fpe-muted);
}

.fpe-intel-anchor {
  cursor: pointer;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.fpe-intel-anchor:hover {
  color: var(--fpe-accent);
}

.fpe-intel-select-help {
  margin-top: 6px;
  appearance: none;
  border: 1px dashed var(--fpe-rule);
  background: transparent;
  border-radius: 8px;
  color: var(--fpe-muted);
  font-size: 11px;
  line-height: 1.2;
  padding: 5px 8px;
}

.fpe-intel-select-help:hover {
  color: var(--fpe-text);
  border-color: color-mix(in srgb, var(--fpe-accent) 55%, var(--fpe-rule));
}

.fpe-right-rail-slot--intel .fpe-intel-panel,
.fpe-right-rail-slot--intel .fpe-intel-body,
.fpe-right-rail-slot--intel .fpe-intel-body > *,
.fpe-right-rail-slot--intel .fpe-intel-section,
.fpe-right-rail-slot--intel .fpe-intel-section__title,
.fpe-right-rail-slot--intel .fpe-intel-section__body,
.fpe-right-rail-slot--intel .fpe-intel-section__meta,
.fpe-right-rail-slot--intel .fpe-intel-section__summary,
.fpe-right-rail-slot--intel .fpe-intel-section__content,
.fpe-right-rail-slot--intel .fpe-intel-mini-row,
.fpe-right-rail-slot--intel .fpe-intel-mini-item,
.fpe-right-rail-slot--intel .fpe-intel-mini-item__label,
.fpe-right-rail-slot--intel .fpe-intel-mini-item__value,
.fpe-right-rail-slot--intel .fpe-intel-links,
.fpe-right-rail-slot--intel .fpe-intel-links__title,
.fpe-right-rail-slot--intel .fpe-intel-links__list,
.fpe-right-rail-slot--intel .fpe-intel-link,
.fpe-right-rail-slot--intel .fpe-intel-link__kind,
.fpe-right-rail-slot--intel .fpe-intel-link__label,
.fpe-right-rail-slot--intel .fpe-intel-result,
.fpe-right-rail-slot--intel .fpe-intel-result__meta,
.fpe-right-rail-slot--intel .fpe-intel-result__title,
.fpe-right-rail-slot--intel .fpe-intel-result__summary,
.fpe-right-rail-slot--intel .fpe-intel-empty,
.fpe-right-rail-slot--intel .fpe-intel-mode-status {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-right-rail-slot--intel .fpe-intel-panel {
  margin-left: 12px;
  margin-right: 12px;
  padding-left: 14px;
  padding-right: 14px;
}

.fpe-right-rail-slot--intel {
  --fpe-intel-rail-card-bg: var(--fpe-panel);
  --fpe-intel-rail-card-border: color-mix(in srgb, var(--fpe-rule) 78%, transparent);
}

.fpe-right-rail-slot--intel .fpe-intel-link,
.fpe-right-rail-slot--intel .fpe-intel-result {
  width: 100%;
}

.fpe-right-rail-slot--intel .fpe-intel-section,
.fpe-right-rail-slot--intel .fpe-intel-result,
.fpe-right-rail-slot--intel .fpe-intel-link,
.fpe-right-rail-slot--intel .fpe-intel-chip,
.fpe-right-rail-slot--intel .fpe-intel-mini-item,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier,
.fpe-right-rail-slot--intel .fpe-intel-trust-legend,
.fpe-right-rail-slot--intel .fpe-intel-trust-legend__row,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier-pill,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state {
  background: var(--fpe-intel-rail-card-bg);
  border-color: var(--fpe-intel-rail-card-border);
}

.fpe-right-rail-slot--intel .fpe-intel-mini-row,
.fpe-right-rail-slot--intel .fpe-intel-glossary-row,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

.fpe-right-rail-slot--intel .fpe-intel-chip,
.fpe-right-rail-slot--intel .fpe-intel-mini-item,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier-pill,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state {
  border: 1px solid var(--fpe-intel-rail-card-border);
  border-radius: 8px;
  background: var(--fpe-intel-rail-card-bg);
  box-shadow: none;
  min-height: 22px;
  padding: 4px 8px;
}

.fpe-right-rail-slot--intel .fpe-intel-chip:hover,
.fpe-right-rail-slot--intel .fpe-intel-chip:focus-visible,
.fpe-right-rail-slot--intel .fpe-intel-link:hover,
.fpe-right-rail-slot--intel .fpe-intel-link:focus-visible {
  background: var(--fpe-intel-rail-card-bg);
}

.fpe-right-rail-slot--intel .fpe-intel-chip,
.fpe-right-rail-slot--intel .fpe-intel-mini-item,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier-pill,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state {
  display: block;
  width: 100%;
  text-align: left;
}

.fpe-right-rail-slot--intel .fpe-intel-link {
  border: 1px solid var(--fpe-intel-rail-card-border);
  border-radius: 8px;
  background: var(--fpe-intel-rail-card-bg);
}

.fpe-right-rail-slot--intel .fpe-intel-trust-legend {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  gap: 6px;
}

.fpe-right-rail-slot--intel .fpe-intel-trust-legend__row {
  border: 1px solid var(--fpe-intel-rail-card-border);
  border-radius: 8px;
  background: var(--fpe-intel-rail-card-bg);
  padding: 6px 8px;
  gap: 2px;
}

.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state--ready,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state--review,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state--mismatch,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state--missing,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state--fallback {
  border: 1px solid var(--fpe-intel-rail-card-border);
  background: var(--fpe-intel-rail-card-bg);
}

.fpe-right-rail-slot--intel .fpe-intel-section__title,
.fpe-right-rail-slot--intel .fpe-intel-section__body,
.fpe-right-rail-slot--intel .fpe-intel-section__meta,
.fpe-right-rail-slot--intel .fpe-intel-mini-item,
.fpe-right-rail-slot--intel .fpe-intel-mini-item__label,
.fpe-right-rail-slot--intel .fpe-intel-mini-item__value,
.fpe-right-rail-slot--intel .fpe-intel-links__title,
.fpe-right-rail-slot--intel .fpe-intel-link__label,
.fpe-right-rail-slot--intel .fpe-intel-result__title,
.fpe-right-rail-slot--intel .fpe-intel-result__summary,
.fpe-right-rail-slot--intel .fpe-intel-empty,
.fpe-right-rail-slot--intel .fpe-intel-mode-status {
  font-size: 11px;
  line-height: 1.45;
}

.fpe-intel-trust {
  display: grid;
  gap: 8px;
}

.fpe-intel-trust__hero {
  display: grid;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 80%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--fpe-rule) 16%, var(--fpe-panel));
  padding: 10px;
}

.fpe-intel-trust__title {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust__subtitle,
.fpe-intel-trust__microcopy {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust__tiers {
  display: grid;
  gap: 6px;
}

.fpe-intel-trust-legend {
  display: grid;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--fpe-panel) 92%, var(--fpe-panel-muted));
  padding: 8px;
}

.fpe-intel-trust-legend__row {
  display: grid;
  gap: 2px;
}

.fpe-intel-trust-legend__label {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--fpe-muted);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-legend__detail {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-tier {
  display: grid;
  gap: 4px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--fpe-panel) 92%, var(--fpe-panel-muted));
  padding: 8px;
}

.fpe-intel-trust-tier__label {
  font-size: 11px;
  font-weight: 700;
  color: var(--fpe-muted);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-tier__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.fpe-intel-trust-tier-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 80%, transparent);
  background: color-mix(in srgb, var(--fpe-panel-muted) 72%, var(--fpe-panel));
  font-size: 11px;
  line-height: 1.4;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust__figures {
  display: grid;
  gap: 8px;
}

.fpe-intel-trust-figure {
  display: grid;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 78%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--fpe-rule) 16%, var(--fpe-panel));
  padding: 10px;
}

.fpe-intel-trust-figure__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 8px;
}

.fpe-intel-trust-figure__title {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-figure__value {
  font-size: 11px;
  font-weight: 700;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-figure__state {
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 82%, transparent);
  padding: 2px 8px;
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-figure__state--ready {
  color: var(--fpe-success);
  border-color: color-mix(in srgb, var(--fpe-success) 45%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-success) 10%, var(--fpe-panel));
}

.fpe-intel-trust-figure__state--review,
.fpe-intel-trust-figure__state--mismatch {
  color: var(--fpe-warn);
  border-color: color-mix(in srgb, var(--fpe-warn) 45%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-warn) 10%, var(--fpe-panel));
}

.fpe-intel-trust-figure__state--missing,
.fpe-intel-trust-figure__state--fallback {
  color: var(--fpe-danger);
  border-color: color-mix(in srgb, var(--fpe-danger) 45%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-danger) 10%, var(--fpe-panel));
}

.fpe-intel-trust-figure__state-detail,
.fpe-intel-trust-figure__text {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-figure__block {
  display: grid;
  gap: 4px;
}

.fpe-intel-trust-figure__label {
  font-size: 11px;
  font-weight: 700;
  color: var(--fpe-muted);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-intel-trust-figure__list {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 2px;
}

.fpe-intel-trust-figure__assumption,
.fpe-intel-trust-figure__reason {
  font-size: 11px;
  line-height: 1.45;
  color: var(--fpe-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fpe-right-rail-slot .results-sidebar-new {
  --s-panel: var(--fpe-panel);
  --s-bg: var(--fpe-panel-muted);
  --s-rule: var(--fpe-rule);
  --s-text: var(--fpe-text);
  --s-muted: var(--fpe-muted);
  --s-accent: var(--fpe-accent);
  --s-accent-dim: var(--fpe-accent-soft);
  width: 100%;
  min-height: 0;
  height: 100%;
  border-left: 0;
  background: var(--fpe-page-title-row-bg);
  box-shadow: none;
  overflow-y: auto;
  overflow-x: hidden;
}

.fpe-right-rail-slot--intel .results-sidebar-new {
  height: auto;
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-win-expected {
  background: color-mix(in srgb, var(--fpe-accent) 8%, var(--fpe-panel));
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-eday-countdown {
  background: color-mix(in srgb, var(--fpe-danger) 8%, var(--fpe-panel));
  border-color: color-mix(in srgb, var(--fpe-danger) 28%, var(--fpe-rule));
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-metadata {
  background: var(--fpe-page-title-row-bg);
  border-top-color: var(--fpe-rule);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-win-expected .sidebar-label-new,
.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-win-expected .win-stat-label-new,
.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-win-expected .win-stat-sub-new {
  color: var(--fpe-muted);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-win-expected .win-stat-val-new {
  color: var(--fpe-text);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-win-expected .win-stat-new {
  border-bottom-color: color-mix(in srgb, var(--fpe-rule) 70%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-early-split {
  background: color-mix(in srgb, var(--fpe-rule) 20%, var(--fpe-panel));
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-early-split .sidebar-label-new,
.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-early-split .kv-mini-new span:first-child {
  color: var(--fpe-muted);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-early-split .kv-mini-new span:last-child {
  color: var(--fpe-text);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-section-new.sidebar-early-split .kv-mini-new {
  border-bottom-color: color-mix(in srgb, var(--fpe-rule) 70%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .stress-item {
  background: color-mix(in srgb, var(--fpe-rule) 20%, var(--fpe-panel));
  border-color: color-mix(in srgb, var(--fpe-rule) 78%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .assump-block {
  background: color-mix(in srgb, var(--fpe-rule) 16%, var(--fpe-panel));
  border-color: color-mix(in srgb, var(--fpe-rule) 78%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .dim-text {
  color: color-mix(in srgb, var(--fpe-muted) 72%, transparent) !important;
}

.fpe-right-rail-slot .results-sidebar-new .kv-mini-new span:last-child,
.fpe-right-rail-slot .results-sidebar-new .kv .v {
  color: var(--fpe-text);
}

.fpe-right-rail-slot .results-sidebar-new .sidebar-label-new {
  color: color-mix(in srgb, var(--fpe-muted) 78%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .prob-bar-new .viz-track {
  fill: color-mix(in srgb, var(--fpe-rule) 80%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .viz-marker {
  fill: var(--fpe-accent);
}

.fpe-right-rail-slot .results-sidebar-new .viz-zero {
  stroke: color-mix(in srgb, var(--fpe-muted) 55%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .viz-bar {
  fill: color-mix(in srgb, var(--fpe-text) 16%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .viz-winshade {
  fill: color-mix(in srgb, var(--fpe-accent) 10%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .validation li.ok {
  border-color: color-mix(in srgb, var(--fpe-accent) 22%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-accent) 7%, var(--fpe-panel));
  color: color-mix(in srgb, var(--fpe-accent) 82%, var(--fpe-text));
}

.fpe-right-rail-slot .results-sidebar-new .validation li.warn {
  border-color: color-mix(in srgb, var(--fpe-warning) 32%, var(--fpe-rule));
  background: color-mix(in srgb, var(--fpe-warning) 10%, var(--fpe-panel));
  color: var(--fpe-warning);
}

.fpe-right-rail-slot .results-sidebar-new .mc-meta-new,
.fpe-right-rail-slot .results-sidebar-new .prob-range-new {
  color: color-mix(in srgb, var(--fpe-muted) 72%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new .mc-prob-sub-new,
.fpe-right-rail-slot .results-sidebar-new .win-stat-sub-new {
  color: color-mix(in srgb, var(--fpe-muted) 78%, transparent);
}

.fpe-right-rail-slot .results-sidebar-new #mcRun-sidebar,
.fpe-right-rail-slot .results-sidebar-new #mcRerun-sidebar {
  border-color: color-mix(in srgb, var(--fpe-danger) 35%, var(--fpe-rule));
  color: var(--fpe-danger);
  background: color-mix(in srgb, var(--fpe-danger) 4%, var(--fpe-panel));
}

.fpe-right-rail-slot .results-sidebar-new #mcRun-sidebar:hover,
.fpe-right-rail-slot .results-sidebar-new #mcRerun-sidebar:hover {
  background: color-mix(in srgb, var(--fpe-danger) 10%, var(--fpe-panel));
}

.fpe-right-rail-slot .results-sidebar-new::-webkit-scrollbar {
  width: 6px;
}

.fpe-right-rail-slot .results-sidebar-new::-webkit-scrollbar-track {
  background: transparent;
}

.fpe-right-rail-slot .results-sidebar-new::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--fpe-rule) 85%, transparent);
  border-radius: 999px;
}

/* Final right-rail manual uniform tone override */
.fpe-right-rail-slot--intel {
  --fpe-intel-rail-card-bg: var(--fpe-panel);
  --fpe-intel-rail-card-border: color-mix(in srgb, var(--fpe-rule) 78%, transparent);
}

.fpe-right-rail-slot--intel .fpe-intel-section,
.fpe-right-rail-slot--intel .fpe-intel-link,
.fpe-right-rail-slot--intel .fpe-intel-result,
.fpe-right-rail-slot--intel .fpe-intel-chip,
.fpe-right-rail-slot--intel .fpe-intel-mini-item,
.fpe-right-rail-slot--intel .fpe-intel-trust__hero,
.fpe-right-rail-slot--intel .fpe-intel-trust-legend__row,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier,
.fpe-right-rail-slot--intel .fpe-intel-trust-tier-pill,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure,
.fpe-right-rail-slot--intel .fpe-intel-trust-figure__state {
  background: var(--fpe-intel-rail-card-bg) !important;
  border-color: var(--fpe-intel-rail-card-border) !important;
}

.fpe-right-rail-slot--intel .fpe-intel-trust-legend {
  background: transparent !important;
  border-color: transparent !important;
  border: 0 !important;
}

@media (max-width: 1260px) {
  .fpe-layout {
    grid-template-columns: var(--fpe-nav-w) minmax(0, 1fr);
  }

  .fpe-right-rail-slot {
    display: none;
  }

  .fpe-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fpe-context__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fpe-intel-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-top-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-workflow-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .fpe-layout {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .fpe-topbar {
    padding-left: var(--fpe-space-3);
    padding-right: var(--fpe-space-3);
  }

  .fpe-topbar__actions {
    gap: 6px;
  }

  .fpe-btn {
    padding-left: 8px;
    padding-right: 8px;
  }

  .fpe-nav__label {
    display: none;
  }

  .fpe-nav__item {
    font-size: 0;
    min-height: 44px;
    border-left-width: 2px;
  }

  .fpe-context,
  .fpe-page-head,
  .fpe-kpis,
  .fpe-surface {
    padding-left: var(--fpe-space-4);
    padding-right: var(--fpe-space-4);
  }

  .fpe-context__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-intel-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-surface-frame--two-col,
  .fpe-surface-frame--three-col {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-status-strip--2,
  .fpe-status-strip--3,
  .fpe-status-strip--4 {
    grid-template-columns: 1fr;
  }

  #app-shell-v3-root .fpe-card__body .fpe-field-grid--2,
  #app-shell-v3-root .fpe-card__body .grid2 {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
    min-width: 420px;
  }

  #app-shell-v3-root .fpe-card__body .fpe-field-grid--3,
  #app-shell-v3-root .fpe-card__body .grid3,
  #app-shell-v3-root .fpe-card__body .subgrid {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
    min-width: 640px;
  }

  #app-shell-v3-root .fpe-card__body .fpe-field-grid--4,
  #app-shell-v3-root .fpe-card__body .grid4 {
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    min-width: 760px;
  }

  .fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .subgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }

  .fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="reach"] .fpe-card__body .grid4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }

  .fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .subgrid,
  .fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="outcome"] .fpe-card__body .grid4,
  .fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .subgrid,
  .fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="turnout"] .fpe-card__body .grid4,
  .fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .subgrid,
  .fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="plan"] .fpe-card__body .grid4,
  .fpe-surface-pane[data-v3-stage="scenarios"] .fpe-card__body .fpe-field-grid--2,
  .fpe-surface-pane[data-v3-stage="scenarios"] .fpe-card__body .grid2 {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .fpe-surface-pane[data-v3-stage="scenarios"] .scm .scm-row,
  .fpe-surface-pane[data-v3-stage="scenarios"] .scm-compare-grid {
    grid-template-columns: 1fr;
  }

  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .fpe-field-grid--2,
  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .grid2,
  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .subgrid,
  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="controls"] .fpe-card__body .grid4 {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .fpe-field-grid--2,
  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .grid2,
  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .subgrid,
  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="decision-log"] .fpe-card__body .grid4,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .fpe-field-grid--2,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .grid2,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .fpe-field-grid--3,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .grid3,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .subgrid,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .fpe-field-grid--4,
  .fpe-surface-pane[data-v3-stage="data"] .fpe-card__body .grid4 {
    grid-template-columns: 1fr;
    min-width: 0;
  }
}

.fpe-map-surface {
  display: grid;
  gap: var(--fpe-space-3);
}

.fpe-mapbox-shell {
  position: relative;
  min-height: 420px;
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-md);
  overflow: hidden;
  background: color-mix(in srgb, var(--fpe-panel-muted) 78%, #dbe7f6);
}

.fpe-mapbox-host {
  width: 100%;
  min-height: 420px;
}

.fpe-map-inspect {
  display: grid;
  gap: var(--fpe-space-2);
  margin-top: var(--fpe-space-2);
}

.fpe-map-status-stack {
  display: grid;
  gap: 6px;
  margin-top: 2px;
  padding: 8px 10px;
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: color-mix(in srgb, var(--fpe-panel) 94%, var(--fpe-bg));
}

.fpe-map-surface-status {
  line-height: 1.45;
}

.fpe-map-surface-status--mode {
  color: var(--fpe-text);
  font-weight: 600;
}

.fpe-map-surface-status--diagnostic {
  font-size: var(--fpe-small);
}

.fpe-map-legend {
  display: grid;
  gap: 6px;
  margin-top: var(--fpe-space-2);
  padding: 8px 10px;
  border-radius: var(--fpe-radius-sm);
  border: 1px solid var(--fpe-rule);
  background: color-mix(in srgb, var(--fpe-panel) 94%, var(--fpe-bg));
}

.fpe-map-legend-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fpe-small);
  line-height: 1.4;
  color: var(--fpe-text);
}

.fpe-map-legend-swatch {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid color-mix(in srgb, var(--fpe-rule) 85%, #1e293b);
  flex-shrink: 0;
}

.fpe-map-inspect-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--fpe-space-3);
  padding: 8px 10px;
  border: 1px solid var(--fpe-rule);
  border-radius: var(--fpe-radius-sm);
  background: color-mix(in srgb, var(--fpe-panel) 90%, var(--fpe-bg));
}

.fpe-map-inspect-row span {
  color: var(--fpe-muted);
  font-size: var(--fpe-small);
}

.fpe-map-inspect-row strong {
  color: var(--fpe-text);
  font-size: var(--fpe-body);
  font-weight: 600;
  max-width: 58%;
  text-align: right;
  word-break: break-word;
}

.fpe-map-inspect-note {
  margin-top: var(--fpe-space-2);
  padding: 10px;
  border-radius: var(--fpe-radius-sm);
  border: 1px solid var(--fpe-rule);
  background: color-mix(in srgb, var(--fpe-panel-muted) 84%, #dbeafe);
  color: var(--fpe-text);
  font-size: var(--fpe-small);
  line-height: 1.45;
}

.fpe-map-inspect-guide {
  display: grid;
  gap: 8px;
  margin-top: var(--fpe-space-2);
  padding: 10px;
  border-radius: var(--fpe-radius-sm);
  border: 1px solid var(--fpe-rule);
  background: color-mix(in srgb, var(--fpe-panel) 92%, var(--fpe-bg));
  color: var(--fpe-text);
  font-size: var(--fpe-small);
  line-height: 1.45;
}

.fpe-map-quick-actions {
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
}

.fpe-map-quick-actions .fpe-btn {
  min-height: 34px;
  justify-content: center;
}

@media (max-width: 1100px) {
  .fpe-mapbox-shell,
  .fpe-mapbox-host {
    min-height: 360px;
  }

  .fpe-map-quick-actions .fpe-btn {
    flex: 1 1 180px;
  }
}

@media (max-width: 900px) {
  .fpe-mapbox-shell,
  .fpe-mapbox-host {
    min-height: 320px;
  }

  .fpe-map-quick-actions .fpe-btn {
    flex: 1 1 220px;
  }
}

@media (max-width: 640px) {
  .fpe-mapbox-shell,
  .fpe-mapbox-host {
    min-height: 260px;
  }

  .fpe-map-inspect-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .fpe-map-inspect-row strong {
    width: 100%;
    max-width: 100%;
    text-align: left;
    word-break: break-word;
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__head-main {
    flex-direction: column;
    align-items: flex-start;
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-section__head-main .fpe-header-switch {
    margin-left: 0;
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-status-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-surface-pane[data-v3-stage="district"] .fpe-census-election-status-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  .fpe-brand {
    font-size: 12px;
  }

  .fpe-brand-short {
    display: none;
  }

  .fpe-topbar__actions #v3BtnTraining,
  .fpe-topbar__actions #v3SwitchLegacy {
    display: none;
  }

  .fpe-kpis {
    grid-template-columns: minmax(0, 1fr);
  }
}
