/*
 * PCMS stabilization layer
 *
 * Loaded after styles.css. This file deliberately fixes layout contracts rather
 * than hiding overflow: if a component grows, the document must expose the
 * defect while the component itself remains shrinkable.
 */

/* 1. Width and shrink contracts ------------------------------------------------ */
html,
body,
#app,
.shell,
.entry-bg {
  overflow-x: visible !important;
}

/* v0.20 · additive driver-based monthly steering */
.driver-steering-focus,
.driver-impact {
  min-width: 0;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(48, 76, 68, .16);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(240, 248, 245, .98), rgba(255, 255, 255, .98));
}

.driver-steering-focus > header,
.driver-impact > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.driver-steering-focus h2,
.driver-impact h2,
.guide-driver-context h3 {
  margin: 4px 0 6px;
}

.driver-steering-focus ul,
.driver-impact ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}

.driver-steering-focus li,
.driver-impact li {
  min-width: 0;
  padding: 13px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .86);
  box-shadow: inset 0 0 0 1px rgba(48, 76, 68, .1);
}

.driver-steering-focus li span,
.driver-impact li span,
.driver-steering-focus footer span {
  display: block;
  color: var(--muted, #62706b);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.driver-steering-focus li b,
.driver-impact li b,
.driver-impact li strong,
.driver-steering-focus footer b {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.driver-steering-focus li small,
.driver-impact li small,
.driver-steering-focus footer small {
  display: block;
  margin-top: 6px;
  line-height: 1.4;
}

.driver-steering-focus li em {
  display: block;
  margin-top: 5px;
  color: var(--muted, #62706b);
  font-size: .82rem;
  font-style: normal;
  font-weight: 650;
}

.driver-steering-focus footer {
  display: grid;
  gap: 2px;
  padding: 13px 15px;
  border-radius: 14px;
  background: rgba(27, 92, 74, .08);
}

.driver-impact li[data-driver-relation="direct"] { box-shadow: inset 3px 0 #2f8f74, inset 0 0 0 1px rgba(48, 76, 68, .1); }
.driver-impact li[data-driver-relation="enables"],
.driver-impact li[data-driver-relation="concretizes"] { box-shadow: inset 3px 0 #527dc0, inset 0 0 0 1px rgba(48, 76, 68, .1); }
.driver-impact li[data-driver-relation="protects"] { box-shadow: inset 3px 0 #b38a28, inset 0 0 0 1px rgba(48, 76, 68, .1); }
.driver-impact li[data-driver-relation="opposes"] { box-shadow: inset 3px 0 #b7625c, inset 0 0 0 1px rgba(48, 76, 68, .1); }

.driver-impact-open,
.driver-steering-empty {
  margin: 10px 0 0;
  color: var(--muted, #62706b);
}

.guide-driver-context {
  margin: 14px 0;
  padding: 13px;
  border-radius: 14px;
  background: rgba(27, 92, 74, .07);
}

.guide-driver-context dl {
  display: grid;
  gap: 8px;
  margin: 10px 0;
}

.guide-driver-context dl > div {
  display: grid;
  grid-template-columns: minmax(100px, .8fr) minmax(0, 1.5fr);
  gap: 10px;
}

.guide-driver-context dt { color: var(--muted, #62706b); }
.guide-driver-context dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }

@media (max-width: 1024px) {
  .driver-steering-focus ul,
  .driver-impact ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .driver-steering-focus > header,
  .driver-impact > header { display: grid; }
  .driver-steering-focus ul,
  .driver-impact ul { grid-template-columns: minmax(0, 1fr); }
  .guide-driver-context dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

.content,
.topbar,
.topline,
.tabs,
.page-hero,
.card,
.grid,
.two,
.three,
.kpis,
.center-metrics,
.center-cashline,
.center-action-list,
.plan-main-grid,
.system-head-split,
.system-head-kpis,
.system-perspectives,
.system-category-grid,
.system-visuals,
.system-visual-panel,
.monthly-table,
.monthly-columns,
.monthly-group,
.monthly-group > summary,
.monthly-row,
.monthly-assessment,
.monthly-reconcile,
.monthly-bridge-flow,
.review-intelligence,
.review-chart,
.review-history,
.review-month,
.review-bars,
.review-bars > div,
.review-bridge,
.review-bridge > div,
.purpose-capital-panel,
.purpose-workspace,
.purpose-pools,
.purpose-pool-form,
.purpose-fields,
.purpose-choices,
.kpi-timeline,
.kpi-timeline-grid,
.timeline-workspace,
.timeline-layout,
.timeline-chart,
.timeline-breakdown,
.pcms-insight,
.guide-card,
.guide-questions {
  min-width: 0;
  max-width: 100%;
}

:where(.grid, .two, .three, .kpis, .center-metrics, .center-cashline,
  .center-action-list, .plan-main-grid, .system-head-split,
  .system-head-kpis, .system-perspectives, .system-category-grid,
  .system-visuals, .monthly-assessment, .monthly-reconcile,
  .monthly-bridge-flow, .review-intelligence, .review-bridge > div,
  .purpose-pools, .purpose-fields, .purpose-choices, .kpi-timeline,
  .kpi-timeline-grid, .timeline-workspace, .timeline-layout) > * {
  min-width: 0;
}

img,
canvas,
svg {
  max-width: 100%;
}

.content {
  width: 100%;
  overflow-x: visible;
}

/* Keep Safari's sticky shell anchored even after a page with wide internals. */
.topbar {
  inset-inline: 0;
  width: 100%;
  max-width: 100%;
}

.topbar :where(.topline, .tabs, .top-actions) {
  min-width: 0;
}

/* 2. Interaction contract ------------------------------------------------------ */
:where(button, .btn, .icon-btn, .tab, .segment, [role="button"],
  input:not([type="checkbox"]):not([type="radio"]), select) {
  min-height: 44px;
}

.toast button {
  min-width: 44px;
  min-height: 44px;
}

.monthly-quality-confirm {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
}

.monthly-quality-confirm input {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
}

.target-chart svg .chart-hit {
  fill: transparent;
  stroke: transparent;
  pointer-events: all;
}

.chart-hit:focus-visible {
  outline: none;
}

.target-chart svg .chart-focus-ring {
  fill: none;
  stroke: transparent;
  stroke-width: 3;
  pointer-events: none;
}

.target-chart svg .chart-hit:focus-visible + .chart-focus-ring {
  stroke: var(--gold);
}

:where(.confirm-row, .check-row, .purpose-choice) {
  min-height: 44px;
}

:where(input[type="checkbox"], input[type="radio"]) {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  margin: 0;
}

/* Match the specificity of compact legacy rules so every active control keeps
 * the 44 px interaction contract after the full cascade has been applied. */
.monthly-confirm-group,
.tier-back,
.onboarding-actions .btn,
.period-row select,
.baseline-row select,
.flow-row select,
.baseline-purpose select,
.baseline-row .money-input input,
.flow-row .money-input input,
.optional-details input[type="date"],
.monthly-group > summary,
.optional-details > summary,
.calculation-details > summary {
  min-height: 44px;
}

/* 3. Stable page-level information hierarchy --------------------------------- */
.pcms-insight {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 20px;
  align-items: center;
  margin: 10px 0;
  padding: 14px 18px;
  border: 1px solid #c9ddd8;
  border-left: 5px solid var(--gold);
  border-radius: 16px;
  background: linear-gradient(120deg, #f2f8f6, #fffaf0);
}

.pcms-insight > div {
  min-width: 0;
}

.pcms-insight h2,
.pcms-insight h3,
.pcms-insight p {
  margin: 0;
}

.pcms-insight h2,
.pcms-insight h3 {
  color: var(--nav);
  font-size: 18px;
}

.pcms-insight p,
.pcms-insight small {
  color: var(--muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pcms-insight .btn {
  justify-self: end;
  white-space: nowrap;
}

/* All overview grids wrap after four values; a fifth KPI starts a new row. */
:where(.kpis, .center-metrics, .kpi-grid, .timeline-kpis) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* The KPI timeline is intentionally one reading lane. Filters, chart and
   breakdown remain full-width, regardless of how many KPIs are available. */
:where(.kpi-timeline, .timeline-workspace, .timeline-layout) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

:where(.kpi-timeline-grid, .timeline-chart-grid) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

:where(.timeline-chart, .timeline-breakdown) {
  width: 100%;
  overflow: visible;
}

/* 4. Review: the value column is part of the grid, never outside the card. ----- */
.review-intelligence {
  grid-template-columns: minmax(0, 1fr);
}

.review-chart {
  overflow: visible;
}

.review-chart > header > * {
  min-width: 0;
}

.review-line svg,
.review-target-line svg {
  display: block;
  width: 100%;
  overflow: visible;
}

.review-bars > div {
  grid-template-columns:
    minmax(108px, 1.05fr)
    minmax(64px, 1.4fr)
    minmax(68px, max-content)
    minmax(64px, 1.4fr)
    minmax(68px, max-content);
}

.review-bars :where(span, strong),
.review-month :where(span, b, small),
.review-bridge :where(span, b, small) {
  min-width: 0;
  overflow-wrap: anywhere;
}

.review-bars strong {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.review-bridge > div,
.monthly-bridge-flow,
.monthly-reconcile {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* A flow arrow must never point outside its visual row. */
.review-bridge > div > span:nth-child(4n):not(:last-child)::after,
.monthly-bridge-flow > article:nth-child(4n):not(:last-child)::after {
  content: none;
}

/* 5. Purpose capital: one full-width workspace with aligned controls. --------- */
.purpose-capital-panel,
.purpose-workspace {
  width: 100%;
  grid-column: 1 / -1;
}

.purpose-capital-panel > header,
.purpose-workspace > header {
  flex-wrap: wrap;
}

.purpose-capital-panel > header > div,
.purpose-workspace > header > div {
  min-width: 0;
  flex: 1 1 520px;
}

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

.purpose-pools > article,
.purpose-pool-form {
  width: 100%;
  min-width: 0;
}

.purpose-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.purpose-fields > label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.purpose-fields :where(input, select, textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.purpose-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 10px 0;
}

.purpose-choice {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfdfc;
  cursor: pointer;
}

.purpose-choice > input {
  margin-top: 1px;
  accent-color: var(--teal);
}

.purpose-choice > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.purpose-choice small {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.purpose-choice.disabled {
  color: var(--muted);
  background: #f2f4f3;
  cursor: not-allowed;
}

/* 6. Guide: the panel is always fully reachable, including short iPad screens. */
.guide-modal {
  overflow: hidden;
}

.guide-card {
  height: 100dvh;
  max-height: 100dvh !important;
  padding-top: max(22px, env(safe-area-inset-top));
  padding-right: max(22px, env(safe-area-inset-right));
  padding-bottom: max(22px, env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.guide-head {
  position: sticky;
  top: calc(0px - max(22px, env(safe-area-inset-top)));
  z-index: 2;
  margin: calc(0px - max(22px, env(safe-area-inset-top)))
    calc(0px - max(22px, env(safe-area-inset-right))) 0 -22px;
  padding: max(22px, env(safe-area-inset-top))
    max(22px, env(safe-area-inset-right)) 12px 22px;
  background: #fff;
}

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

.guide-question {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.guide-answer {
  min-height: 0;
}

/* 7. iPad landscape contracts ------------------------------------------------- */
@media (orientation: landscape) and (min-width: 1101px) and (max-width: 1400px) {
  .content {
    padding-inline: 20px;
  }

  .page-hero {
    gap: 18px;
  }

  .system-visuals,
  .system-head-split {
    grid-template-columns: minmax(0, 1fr);
  }

  .system-head-kpis.flow-head,
  .system-head-kpis.capital-head {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .guide-card {
    width: min(520px, 46vw);
  }
}

@media (orientation: landscape) and (min-width: 1051px) and (max-width: 1100px) {
  .content {
    padding-inline: 18px;
  }

  .system-visuals,
  .system-head-split,
  .plan-main-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .guide-card {
    width: min(520px, 52vw);
  }
}

@media (orientation: landscape) and (min-width: 761px) and (max-width: 1050px) {
  .topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .topline {
    display: contents;
  }

  .topline > .brand {
    grid-column: 1;
    grid-row: 1;
    padding-left: 18px;
  }

  .top-actions {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    padding-right: 18px;
  }

  .tabs {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-width: none;
  }

  .tab {
    min-height: 44px;
  }

  .content {
    padding: 16px 16px 28px;
  }

  .page-hero,
  .monthly-assessment,
  .system-head-split,
  .system-visuals,
  .plan-main-grid,
  .two,
  .three {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .center-metrics,
  .kpis,
  .kpi-grid,
  .timeline-kpis,
  .system-head-kpis.flow-head,
  .system-head-kpis.capital-head,
  .kpi-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-bridge > div,
  .monthly-bridge-flow,
  .monthly-reconcile {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .review-bridge > div > span:nth-child(4n):not(:last-child)::after,
  .monthly-bridge-flow > article:nth-child(4n):not(:last-child)::after {
    content: "→";
  }

  .review-bridge > div > span:nth-child(3n):not(:last-child)::after,
  .monthly-bridge-flow > article:nth-child(3n):not(:last-child)::after {
    content: none;
  }

  .guide-card {
    width: min(520px, 58vw);
  }
}

@media (max-width: 760px) {
  :where(.kpis, .center-metrics, .kpi-grid, .timeline-kpis,
    .system-head-kpis.flow-head, .system-head-kpis.capital-head,
    .kpi-overview, .purpose-fields, .purpose-choices) {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .pcms-insight .btn {
    justify-self: start;
  }

  .review-bars > div {
    grid-template-columns: minmax(88px, 1fr) minmax(54px, 1fr) minmax(64px, max-content);
  }

  .review-bars > div > i.current {
    grid-column: 2;
  }

  .review-bars > div > i.current + strong {
    grid-column: 3;
  }

  .review-bridge > div,
  .monthly-bridge-flow,
  .monthly-reconcile {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-bridge > div > span:nth-child(3n):not(:last-child)::after,
  .monthly-bridge-flow > article:nth-child(3n):not(:last-child)::after {
    content: "→";
  }

  .review-bridge > div > span:nth-child(2n):not(:last-child)::after,
  .monthly-bridge-flow > article:nth-child(2n):not(:last-child)::after {
    content: none;
  }
}

/* v0.19.12 · persistent, optional Plan access to the confirmed driver graph. */
.plan-driver-summary{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}
.plan-driver-summary>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;padding:17px 20px;cursor:pointer;list-style:none;touch-action:manipulation}
.plan-driver-summary>summary::-webkit-details-marker{display:none}.plan-driver-summary>summary>span{display:grid;gap:4px;min-width:0}.plan-driver-summary>summary b{font-family:Georgia,"Times New Roman",serif;font-size:24px;color:var(--nav)}.plan-driver-summary>summary small{color:var(--muted);overflow-wrap:anywhere}.plan-driver-summary>summary em{flex:0 0 auto;font-style:normal;font-weight:850;color:var(--teal)}
.plan-driver-summary>summary em:after{content:" ↓"}.plan-driver-summary[open]>summary{border-bottom:1px solid var(--line);background:#f5f9f8}.plan-driver-summary[open]>summary em:after{content:" ↑"}
.plan-driver-summary-body{display:grid;gap:12px;padding:18px}.plan-driver-summary-body>.goal-driver-map{margin:0}.plan-driver-summary-body>footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.plan-driver-summary-body>footer p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.plan-driver-summary.empty{padding:19px 20px}.plan-driver-summary.empty>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.plan-driver-summary.empty h2{margin:4px 0 6px;font-family:Georgia,"Times New Roman",serif;color:var(--nav)}.plan-driver-summary.empty p{max-width:900px;margin:0;color:var(--muted);line-height:1.45}
@media(max-width:760px){.plan-driver-summary>summary,.plan-driver-summary.empty>header,.plan-driver-summary-body>footer{align-items:flex-start;flex-direction:column}.plan-driver-summary>summary em{flex:auto}.plan-driver-summary-body>footer .btn{width:100%}}

/* R8.7 Plan master-detail: confirmed snapshot on the left, deliberate targets on the right. */
.plan-r87-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
  gap: 18px;
  align-items: end;
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid var(--line, #dcd8ce);
  border-radius: 18px;
  background: var(--surface, #fff);
}
.plan-r87-intro h2,
.plan-r87-intro p { margin: 4px 0; }
.plan-r87-master-detail {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.45fr);
  gap: 18px;
  align-items: start;
}
.plan-ist-master,
.plan-ziel-detail,
.plan-aggregate-goals,
.plan-target-overview,
.plan-position-editor {
  min-width: 0;
}
.plan-ist-master,
.plan-aggregate-goals,
.plan-target-overview,
.plan-position-editor {
  padding: 16px;
  border: 1px solid var(--line, #dcd8ce);
  border-radius: 18px;
  background: var(--surface, #fff);
}
.plan-ziel-detail { display: grid; gap: 14px; }
.plan-ist-master header h2,
.plan-ist-master header p,
.plan-aggregate-goals h2,
.plan-target-overview h2,
.plan-position-editor h2 { margin: 4px 0 8px; }
.plan-master-overview,
.plan-ist-position {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.plan-master-overview { margin: 8px 0; font-weight: 750; }
.plan-master-overview:hover,
.plan-master-overview:focus-visible,
.plan-master-overview.selected,
.plan-ist-position:hover,
.plan-ist-position:focus-visible,
.plan-ist-position.selected {
  border-color: var(--accent, #2d786d);
  background: #eaf5f1;
  outline: none;
}
.plan-ist-position span { display: grid; gap: 2px; min-width: 0; }
.plan-ist-position b,
.plan-ist-position small { overflow-wrap: anywhere; }
.plan-ist-position small,
.plan-ist-area summary small { color: var(--muted, #69675f); }
.plan-ist-area { border-top: 1px solid var(--line, #dcd8ce); }
.plan-ist-area summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
}
.plan-ist-area summary span { display: grid; gap: 2px; }
.plan-secondary-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 12px; }
.net-worth-definition {
  display: grid;
  gap: 7px;
  padding: 14px;
  border-left: 4px solid var(--accent, #2d786d);
  background: #f0f7f4;
  border-radius: 10px;
}
.plan-target-aggregation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
  padding: 14px;
  border-radius: 14px;
  background: #f6f4ee;
}
.plan-target-aggregation > div { display: grid; gap: 2px; }
.plan-target-aggregation > div span,
.plan-target-aggregation small { color: var(--muted, #69675f); }
.plan-target-aggregation > strong,
.plan-target-aggregation > small { grid-column: 1 / -1; }
.plan-target-aggregation[data-status="over"] > strong { color: #a44635; }
.plan-target-aggregation[data-status="under"] > strong { color: #8a671f; }

@media (min-width: 761px) and (max-width: 1180px) {
  .plan-r87-master-detail { grid-template-columns: minmax(280px, .9fr) minmax(0, 1.25fr); }
}

@media (max-width: 760px) {
  .plan-r87-intro,
  .plan-r87-master-detail { grid-template-columns: 1fr; }
  .plan-secondary-goals,
  .plan-target-aggregation { grid-template-columns: 1fr; }
  .plan-target-aggregation > strong,
  .plan-target-aggregation > small { grid-column: 1; }
}

/* Basic keeps the same truth, with a denser presentation and fewer simultaneous
   panels. This layer does not remove content; the renderer owns that decision. */
.tier-basic .content {
  max-width: 1180px;
}

.tier-basic :where(.page-hero, .card, .review-chart, .system-visual-panel) {
  padding: 16px 18px;
}

.tier-basic :where(.section, .review-intelligence, .system-visuals,
  .system-perspectives, .purpose-capital-panel) {
  margin-top: 10px;
}

.tier-basic .page-hero h1 {
  font-size: clamp(27px, 3vw, 38px);
}

.tier-basic .review-intelligence,
.tier-basic .kpi-timeline,
.tier-basic .timeline-workspace {
  grid-template-columns: minmax(0, 1fr);
}

/* 8. Active Stability pages ---------------------------------------------------
   These selectors style the contract renderers used by app.js. The layer is
   deliberately conservative: one reading column, compact cards and explicit
   grids that can always shrink without clipping the document. */
.stability-page,
.stability-page > *,
.stability-kpi-strip,
.stability-kpis,
.stability-target-grid,
.stability-finance-visuals,
.center-overview-grid,
.center-development-summary,
.center-flow-summary,
.confirmed-flow-map,
.snapshot-timeline-workspace,
.snapshot-timeline-workspace > *,
.cycle-strip,
.purpose-capital-summary,
.basic-finance-summary,
.basic-development-summary,
.finance-detail-hierarchy,
.finance-domain-panel,
.finance-detail-group,
.guide-period-facts,
.monthly-stage-insight,
.app-release {
  min-width: 0;
  max-width: 100%;
}

.stability-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: 100%;
}

.stability-page .stability-hero {
  margin: 0;
}

.stability-period-marker {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin: -2px 0 0;
  padding: 9px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.stability-period-marker strong {
  color: var(--nav);
  font-variant-numeric: tabular-nums;
}

.cycle-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
  padding: 11px;
  border: 1px solid #c9ddd8;
  border-radius: 17px;
  background: #eef6f4;
}

.cycle-confirmed,
.cycle-draft {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding: 8px 11px;
  border-radius: 12px;
  background: #fff;
}

.cycle-confirmed > span,
.cycle-draft > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cycle-confirmed > strong,
.cycle-draft > strong {
  color: var(--nav);
  font-size: 18px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.cycle-draft > small {
  color: var(--muted);
  line-height: 1.35;
}

.cycle-strip > .btn {
  align-self: center;
  white-space: nowrap;
}

.cycle-availability {
  align-self: center;
  max-width: 220px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--nav);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

.stability-kpi-strip,
.stability-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.stability-kpi {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  min-height: 92px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}

.stability-kpi > span,
.stability-kpi > small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.stability-kpi > strong {
  color: var(--nav);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 2vw, 27px);
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.stability-kpi.good {
  border-color: #afd6c6;
  background: #f3faf7;
}

.stability-kpi.attention {
  border-color: #e5c98e;
  background: #fffaf0;
}

.stability-target-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.stability-target {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 15px 17px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.stability-target > span {
  color: var(--nav);
  font-weight: 820;
}

.stability-target dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
}

.stability-target dl > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 9px;
  border-radius: 10px;
  background: #f3f7f6;
}

.stability-target dt,
.stability-target > small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.stability-target dd {
  min-width: 0;
  margin: 0;
  color: var(--nav);
  font-weight: 780;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.plan-target-deviation {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 17px 19px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}

.plan-target-deviation > header {
  display: grid;
  gap: 3px;
}

.plan-target-deviation h2,
.plan-target-deviation p {
  margin: 0;
}

.plan-target-deviation h2 {
  color: var(--nav);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2.2vw, 29px);
}

.plan-target-deviation > header p,
.plan-deviation-blocker p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.plan-deviation-blocker {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-left: 4px solid var(--gold);
  border-radius: 12px;
  background: #fff8ea;
}

.plan-deviation-blocker strong {
  color: var(--nav);
}

.plan-deviation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.plan-deviation-summary > div {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f7faf9;
}

.plan-deviation-summary dt,
.plan-deviation-summary small,
.plan-deviation-encoding-note {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

.plan-deviation-summary dd {
  min-width: 0;
  margin: 0;
  color: var(--nav);
  font-size: 17px;
  font-weight: 820;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.plan-deviation-encoding-note {
  padding-left: 10px;
  border-left: 3px solid var(--gold);
}

.plan-deviation-visual,
.plan-deviation-table-wrap {
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.plan-deviation-visual {
  display: grid;
  gap: 7px;
  padding: 10px 12px;
  border-radius: 13px;
  background: #f3f7f6;
}

.plan-deviation-visual[data-encoding="time-only"] {
  background-image: none;
}

.plan-deviation-row,
.plan-deviation-axis {
  display: grid;
  grid-template-columns: 94px minmax(560px, 1fr);
  align-items: center;
  min-width: 674px;
}

.plan-deviation-row > strong {
  color: var(--nav);
  font-size: 12px;
}

.plan-deviation-track,
.plan-deviation-axis {
  grid-template-columns: repeat(var(--period-count), minmax(72px, 1fr));
}

.plan-deviation-track {
  display: grid;
  align-items: center;
  min-height: 58px;
  border-radius: 9px;
  background: linear-gradient(transparent calc(50% - 1px), #b9cbc7 calc(50% - 1px), #b9cbc7 calc(50% + 1px), transparent calc(50% + 1px));
}

.plan-deviation-point {
  display: grid;
  grid-column: var(--point-column);
  grid-row: 1;
  place-items: center;
  align-self: center;
  justify-self: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--nav);
  outline-offset: 2px;
}

.plan-deviation-point i {
  width: 14px;
  height: 14px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #174b57;
  box-shadow: 0 0 0 2px #174b57;
}

.plan-deviation-point.series-path i {
  background: #4f817d;
  box-shadow: 0 0 0 2px #4f817d;
}

.plan-deviation-point.series-target i {
  background: var(--gold);
  box-shadow: 0 0 0 2px #a97e25;
}

.plan-deviation-point small {
  max-width: 82px;
  color: var(--muted);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  text-align: center;
  white-space: nowrap;
}

.plan-deviation-axis {
  padding-left: 94px;
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.plan-deviation-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  color: var(--nav);
  font-size: 12px;
}

.plan-deviation-table-details {
  min-width: 0;
  border-top: 1px solid var(--line);
}

.plan-deviation-table-details > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--teal);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.plan-deviation-table caption {
  padding: 0 0 7px;
  color: var(--muted);
  text-align: left;
}

.plan-deviation-table th,
.plan-deviation-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.plan-deviation-table td:last-child {
  text-align: right;
}

.center-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 10px;
}

.center-development-summary,
.center-flow-summary {
  min-width: 0;
  padding: 15px 17px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}

.center-development-summary > header,
.center-flow-summary > header {
  display: grid;
  gap: 2px;
  margin-bottom: 10px;
}

.center-development-summary h2,
.center-flow-summary h2 {
  margin: 2px 0;
  color: var(--nav);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.center-development-summary > header small,
.center-flow-summary p {
  color: var(--muted);
}

.center-development-summary > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.center-trend {
  min-width: 0;
  padding: 10px 11px 8px;
  border: 1px solid #e3eae8;
  border-radius: 12px;
  background: #fbfdfc;
}

.center-trend > header {
  display: grid;
  gap: 2px;
}

.center-trend > header span,
.center-trend > footer span {
  color: var(--muted);
  font-size: 10px;
}

.center-trend > header strong {
  color: var(--nav);
  font-size: 17px;
}

.center-trend svg {
  display: block;
  width: 100%;
  height: 48px;
  margin: 2px 0;
  overflow: visible;
}

.center-trend path {
  fill: none;
  stroke: var(--teal);
  stroke-width: 3;
}

.center-trend circle {
  fill: #fff;
  stroke: var(--gold);
  stroke-width: 2.5;
}

.center-trend.debt path {
  stroke: #786358;
}

.center-trend.liquidity path {
  stroke: #2f7770;
}

.center-trend > footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 4px;
  align-items: center;
}

.center-trend > footer span:last-child {
  text-align: right;
}

.center-trend > footer b {
  color: var(--teal);
  font-size: 11px;
  white-space: nowrap;
}

.center-flow-summary dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.center-flow-summary dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid #e8eeec;
}

.center-flow-summary dt {
  color: var(--muted);
}

.center-flow-summary dd {
  margin: 0;
  color: var(--nav);
  font-weight: 800;
  text-align: right;
}

.stability-finance-visuals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.stability-finance-visuals > article {
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}

.stability-finance-visuals h2 {
  margin: 3px 0 10px;
  color: var(--nav);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.stability-metric-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
  min-width: 0;
  padding: 8px 0;
  border-top: 1px solid #e8eeec;
}

.stability-metric-row > span {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.stability-metric-row > strong {
  color: var(--nav);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.confirmed-flow-map {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid #e8eeec;
}

.confirmed-flow-map > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.confirmed-flow-map > header span {
  color: var(--teal);
  font-size: 10px;
  font-weight: 800;
}

.confirmed-flow-map svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 180px;
  margin: 7px 0 3px;
  overflow: visible;
}

.confirmed-flow-source {
  fill: var(--nav);
}

.flow-source-label,
.flow-source-value,
.confirmed-flow-band text {
  fill: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 15px;
}

.flow-source-value {
  fill: var(--nav);
  font-size: 17px;
  font-weight: 800;
}

.confirmed-flow-band path {
  fill: none;
  stroke: #aac9c4;
  stroke-linecap: butt;
  opacity: .84;
}

.confirmed-flow-band rect {
  fill: #2f6770;
}

.confirmed-flow-band.debt path,
.confirmed-flow-band.debt rect {
  stroke: #87756a;
  fill: #87756a;
}

.confirmed-flow-band.capital path,
.confirmed-flow-band.capital rect {
  stroke: #4c9481;
  fill: #4c9481;
}

.confirmed-flow-band.purpose path,
.confirmed-flow-band.purpose rect {
  stroke: #b88a31;
  fill: #b88a31;
}

.confirmed-flow-band.open path,
.confirmed-flow-band.open rect,
.confirmed-flow-band.unreviewed path,
.confirmed-flow-band.unreviewed rect {
  stroke: #d7b66a;
  fill: #d7b66a;
}

.confirmed-flow-legend {
  display: grid;
  gap: 5px;
}

.confirmed-flow-legend > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 46px;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 10px;
}

.confirmed-flow-legend span {
  display: flex;
  gap: 6px;
  align-items: center;
  min-width: 0;
}

.confirmed-flow-legend i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 2px;
  background: #aac9c4;
}

.confirmed-flow-legend i.debt { background: #87756a; }
.confirmed-flow-legend i.capital { background: #4c9481; }
.confirmed-flow-legend i.purpose { background: #b88a31; }
.confirmed-flow-legend i.open,
.confirmed-flow-legend i.unreviewed { background: #d7b66a; }

.confirmed-flow-legend strong {
  color: var(--nav);
  white-space: nowrap;
}

.confirmed-flow-legend small {
  text-align: right;
}

.confirmed-flow-map.unavailable,
.confirmed-flow-empty {
  padding: 12px;
  border-radius: 11px;
  background: #f4f7f6;
  color: var(--muted);
  line-height: 1.45;
}

.purpose-capital-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 15px;
  border: 1px solid #d8dfe8;
  border-left: 4px solid var(--teal);
  border-radius: 14px;
  background: #f2f5f9;
}

.purpose-capital-summary > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 14px;
  min-width: 0;
}

.purpose-capital-summary span,
.purpose-capital-summary small {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.purpose-capital-summary strong {
  color: var(--nav);
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.purpose-capital-summary small {
  grid-column: 1 / -1;
}

.stability-page-action {
  display: flex;
  justify-content: flex-end;
  min-height: 0;
}

/* One compact page-level interpretation. The renderer owns the count; this
   layout keeps its three facts readable without scattering more callouts. */
.stability-page > .pcms-insight,
.basic-finance-summary > .pcms-insight,
.basic-development-summary > .pcms-insight,
.guide-compact-answer .pcms-insight {
  margin: 0;
}

.pcms-insight-title {
  grid-column: 1;
  color: var(--nav);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pcms-insight-content {
  grid-column: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.pcms-insight-content section {
  min-width: 0;
}

.pcms-insight-content span {
  display: block;
  margin-bottom: 2px;
  color: var(--teal);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pcms-insight-content p {
  color: var(--ink);
  font-size: 12px;
}

.pcms-insight > .btn {
  grid-column: 2;
  grid-row: 1 / span 2;
}

/* 9. Snapshot timeline -------------------------------------------------------- */
.snapshot-timeline-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  width: 100%;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
  overflow: visible;
}

.snapshot-timeline-workspace > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .35fr);
  gap: 18px;
  align-items: end;
}

.snapshot-timeline-workspace h2 {
  margin: 3px 0;
  color: var(--nav);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
}

.snapshot-timeline-workspace header p,
.timeline-source-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.timeline-kpi-picker {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.timeline-kpi-picker select {
  width: 100%;
  min-height: 44px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 9px 34px 9px 11px;
  background: #fff;
  color: var(--ink);
}

.timeline-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  min-width: 0;
}

.timeline-legend-item {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--muted);
  font-size: 11px;
}

.timeline-legend-item i {
  width: 18px;
  height: 3px;
  border-radius: 99px;
  background: var(--teal);
}

.timeline-legend-item.series-2 i {
  background: var(--gold);
}

.snapshot-timeline {
  display: block;
  width: 100%;
  height: auto;
  min-height: 250px;
  overflow: visible;
}

.snapshot-timeline-workspace.compact-two-point {
  gap: 7px;
  padding-block: 13px;
}

.snapshot-timeline-workspace.compact-two-point .snapshot-timeline {
  min-height: 170px;
  max-height: 190px;
}

.timeline-grid {
  stroke: #dfe7e4;
  stroke-width: 1;
}

.timeline-axis {
  stroke: #9baaa7;
  stroke-width: 1.2;
}

.timeline-axis-label {
  fill: var(--muted);
  font-size: 10px;
}

.timeline-line {
  fill: none;
  stroke: var(--teal);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.timeline-line.series-2 {
  stroke: var(--gold);
}

.timeline-point {
  fill: #fff;
  stroke: var(--teal);
  stroke-width: 4;
  pointer-events: none;
}

.timeline-point.series-2 {
  stroke: var(--gold);
}

.timeline-hit-target {
  fill: transparent;
  stroke: transparent;
  cursor: pointer;
  pointer-events: all;
}

.timeline-hit-target:focus-visible {
  outline: none;
}

.timeline-focus-ring {
  fill: none;
  stroke: transparent;
  stroke-width: 2;
  pointer-events: none;
}

.timeline-hit-target:focus-visible + .timeline-focus-ring {
  stroke: var(--gold);
}

.timeline-data-details {
  min-width: 0;
  border-top: 1px solid var(--line);
}

.timeline-data-details > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--teal);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.timeline-data-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.timeline-data-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  color: var(--ink);
  font-size: 11px;
}

.timeline-data-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.timeline-data-table th,
.timeline-data-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.timeline-data-table thead th,
.timeline-data-table tbody th {
  color: var(--muted);
  font-weight: 750;
}

.timeline-data-table td strong,
.timeline-data-table td small {
  display: block;
}

.timeline-data-table td small {
  margin-top: 3px;
  color: var(--muted);
}

.timeline-quality {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-top: 5px;
  padding: 2px 7px;
  border-radius: 99px;
  background: var(--soft);
  color: var(--teal);
  font-size: 10px;
  font-weight: 800;
}

.timeline-quality.quality-estimated,
.timeline-quality.quality-carriedForward,
.timeline-quality.quality-consciouslyOpen,
.timeline-quality.quality-unreviewed,
.timeline-quality.quality-missing {
  background: var(--cream);
  color: #775313;
}

[data-testid="review-history"] {
  min-width: 0;
  max-width: 100%;
}

/* 10. Basic summaries --------------------------------------------------------- */
.basic-finance-summary,
.basic-development-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.basic-finance-summary > header,
.basic-development-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-end;
  padding: 15px 18px;
  border-radius: 16px;
  background: var(--nav);
  color: #fff;
}

.basic-finance-summary h1,
.basic-development-head h1 {
  margin: 3px 0 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
}

.basic-development-periods {
  display: grid;
  gap: 2px;
  text-align: right;
}

.basic-development-periods > strong {
  color: #fff;
  font-size: 24px;
}

.basic-development-periods > span {
  color: #cad7df;
  font-size: 11px;
}

.basic-flow-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.basic-flow-status > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--muted);
  font-size: 11px;
}

.basic-flow-status strong {
  color: var(--nav);
  font-size: 17px;
  overflow-wrap: anywhere;
}

/* 11. Explicit, hierarchical finance details --------------------------------- */
.stability-directory-hero {
  min-width: 0;
  margin-bottom: 12px;
  padding: 18px 21px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.stability-directory-hero > div {
  min-width: 0;
}

.stability-directory-hero h1 {
  margin: 3px 0 5px;
  font-size: clamp(26px, 3vw, 38px);
}

.finance-detail-hierarchy {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.finance-domain-panel {
  display: grid;
  gap: 10px;
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.finance-domain-panel > header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  padding: 0 2px 5px;
}

.finance-domain-panel > header h2 {
  margin: 3px 0 0;
  color: var(--nav);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
}

.finance-domain-panel > header > small,
.finance-detail-group small {
  color: var(--muted);
  line-height: 1.35;
}

.flow-domain {
  border-top: 4px solid #2f6770;
}

.capital-domain {
  border-top: 4px solid var(--gold);
}

.finance-detail-groups {
  display: grid;
  gap: 8px;
}

.finance-detail-group {
  overflow: hidden;
  border: 1px solid #dfe7e5;
  border-radius: 13px;
  background: #fbfdfc;
}

.finance-detail-group > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 64px;
  padding: 12px 15px;
  cursor: pointer;
  list-style: none;
}

.finance-detail-group > summary::-webkit-details-marker {
  display: none;
}

.finance-detail-group > summary::before {
  content: "+";
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  width: 20px;
  color: var(--teal);
  font-size: 20px;
  font-weight: 800;
}

.finance-detail-group[open] > summary::before {
  content: "−";
}

.finance-detail-group > summary > span:first-child {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  gap: 3px;
  min-width: 0;
  padding-left: 28px;
}

.finance-detail-summary {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: 2px;
  text-align: right;
}

.finance-detail-summary strong,
.finance-detail-row > strong,
.purpose-detail-pool > header > strong {
  color: var(--nav);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.finance-detail-body {
  padding: 0 15px 13px;
  border-top: 1px solid #e5ecea;
  background: #fff;
}

.finance-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(150px, .55fr);
  gap: 12px;
  align-items: center;
  min-height: 55px;
  padding: 9px 2px;
  border-bottom: 1px solid #edf1f0;
}

.finance-detail-row > span:first-child,
.purpose-detail-pool > header > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.finance-detail-row > small:last-child {
  text-align: right;
}

.finance-detail-body > footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 11px;
}

.finance-detail-empty {
  padding: 14px 2px;
  color: var(--muted);
}

.purpose-detail-group {
  border-left: 4px solid var(--gold);
  background: #fffbf2;
}

.purpose-detail-pool {
  padding: 10px 2px 2px;
}

.purpose-detail-pool + .purpose-detail-pool {
  border-top: 1px solid var(--line);
}

.purpose-detail-pool > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 2px 2px 8px;
}

/* 12. Guide, workflow insight and release label ------------------------------ */
.stability-guide-answer {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.guide-compact-answer {
  display: grid;
  gap: 11px;
  min-width: 0;
}

.guide-compact-answer > h3,
.guide-compact-answer > p {
  margin: 0;
}

.guide-compact-answer > p {
  color: var(--ink);
  line-height: 1.5;
}

.guide-period-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.guide-period-facts > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #f5f8f7;
  color: var(--muted);
  font-size: 10px;
}

.guide-period-facts strong {
  color: var(--nav);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.guide-mode-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 5px;
  border-radius: 13px;
  background: #edf1f0;
}

.guide-mode-switch > button {
  min-width: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
}

.guide-mode-switch > button.active {
  background: #fff;
  color: var(--nav);
  box-shadow: 0 1px 5px #05173314;
  font-weight: 780;
}

.monthly-stage-insight {
  grid-template-columns: minmax(0, 1fr) minmax(220px, .38fr);
  margin: 10px 0;
}

.monthly-stage-insight > article,
.monthly-stage-insight > aside {
  min-width: 0;
}

.monthly-stage-insight h2 {
  margin: 2px 0 7px;
  font-size: 18px;
}

.monthly-stage-insight > aside {
  display: grid;
  align-content: center;
  gap: 3px;
  padding-left: 15px;
  border-left: 1px solid #c9ddd8;
}

.monthly-stage-insight > aside small,
.assessment-facts {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

.assessment-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}

.app-release {
  width: 100%;
  padding: 6px 18px max(12px, env(safe-area-inset-bottom));
  color: var(--muted);
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
}

/* 13. Active renderer breakpoints -------------------------------------------- */
@media (orientation: landscape) and (min-width: 761px) and (max-width: 1100px) {
  .stability-page {
    gap: 10px;
  }

  .stability-page .stability-hero {
    padding: 15px 18px;
  }

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

  .stability-target-grid,
  .stability-finance-visuals,
  .center-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .center-overview-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
  }

  .center-development-summary > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-deviation-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-deviation-visual,
  .plan-deviation-table-wrap {
    width: 100%;
    max-width: 100%;
  }

  .snapshot-timeline-workspace {
    padding: 13px 15px;
  }

  .monthly-table,
  .monthly-columns,
  .monthly-group,
  .monthly-group > summary,
  .monthly-row,
  .monthly-bridge,
  .monthly-bridge-flow,
  .monthly-reconcile {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .monthly-columns,
  .monthly-group > summary,
  .monthly-row {
    grid-template-columns:
      minmax(150px, 1.25fr)
      minmax(72px, .58fr)
      minmax(104px, .82fr)
      minmax(68px, .54fr)
      minmax(118px, .95fr);
    gap: 6px;
  }

  .monthly-columns > *,
  .monthly-group > summary > *,
  .monthly-row > * {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .monthly-current,
  .monthly-current input,
  .monthly-quality,
  .monthly-quality select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .monthly-quality {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .monthly-quality-confirm {
    white-space: normal;
  }

  .review-bridge > div,
  .monthly-bridge-flow,
  .monthly-reconcile {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .review-month {
    grid-template-columns: minmax(140px, 1fr) repeat(3, minmax(88px, .72fr)) auto;
    gap: 6px;
  }

  .review-month .btn {
    padding-inline: 10px;
  }
}

@media (max-width: 760px) {
  .stability-page {
    gap: 10px;
  }

  .cycle-strip,
  .snapshot-timeline-workspace > header,
  .stability-target-grid,
  .stability-finance-visuals,
  .center-overview-grid,
  .center-development-summary > div,
  .finance-detail-hierarchy,
  .monthly-stage-insight {
    grid-template-columns: minmax(0, 1fr);
  }

  .finance-domain-panel > header,
  .finance-detail-group > summary,
  .finance-detail-row,
  .purpose-detail-pool > header {
    grid-template-columns: minmax(0, 1fr);
  }

  .finance-domain-panel > header {
    align-items: start;
  }

  .finance-detail-summary {
    grid-column: 1;
    grid-row: 2;
    padding-left: 28px;
    text-align: left;
  }

  .finance-detail-row > small:last-child {
    text-align: left;
  }

  .cycle-strip > .btn,
  .cycle-strip > .cycle-availability,
  .stability-page-action > .btn,
  .purpose-capital-summary > .btn {
    width: 100%;
    max-width: none;
    white-space: normal;
  }

  .stability-kpi-strip,
  .stability-kpis,
  .basic-flow-status,
  .guide-period-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stability-target dl,
  .pcms-insight-content {
    grid-template-columns: minmax(0, 1fr);
  }

  .purpose-capital-summary,
  .purpose-capital-summary > div,
  .pcms-insight {
    grid-template-columns: minmax(0, 1fr);
  }

  .purpose-capital-summary strong {
    white-space: normal;
  }

  .pcms-insight > .btn {
    grid-column: 1;
    grid-row: auto;
    justify-self: stretch;
  }

  .snapshot-timeline {
    min-height: 210px;
  }

  .snapshot-timeline-workspace.compact-two-point .snapshot-timeline {
    min-height: 160px;
    max-height: 180px;
  }

  .monthly-stage-insight > aside {
    padding: 10px 0 0;
    border-top: 1px solid #c9ddd8;
    border-left: 0;
  }

  .basic-development-periods {
    text-align: left;
  }

  .plan-target-deviation {
    padding: 14px;
  }

  .plan-deviation-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-deviation-visual {
    padding: 9px;
  }
}

@media (max-width: 480px) {
  .stability-kpi-strip,
  .stability-kpis,
  .basic-flow-status,
  .guide-period-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .stability-target dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-deviation-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .stability-metric-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
  }

  .stability-metric-row > strong {
    white-space: normal;
  }
}

/* R8: compact N-way split and independent purpose-capital editing */
.finance-split-part{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:8px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}
.finance-split-part label{display:grid;gap:5px;min-width:0}.finance-split-part .text-action{grid-column:1/-1;min-height:44px;justify-self:end}
.timeline-empty-state{display:grid;gap:6px;padding:18px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft,#f6f8f7)}.timeline-empty-state p{margin:0;color:var(--muted);line-height:1.5}
.purpose-independent-pool{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}
.purpose-independent-pool>header,.purpose-owned-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.purpose-independent-pool>header>div:last-child{display:grid;text-align:right;gap:2px}.purpose-owned-list{display:grid;gap:5px}.purpose-owned-row{padding:8px 10px;border-radius:10px;background:#f5f8f7}.purpose-owned-row span{display:grid;gap:2px}.purpose-owned-row small{color:var(--muted)}
.purpose-position-fields{grid-template-columns:minmax(170px,1fr) minmax(135px,.55fr) minmax(135px,.55fr) minmax(130px,.5fr)}
@media(max-width:900px){.finance-split-part,.purpose-position-fields{grid-template-columns:1fr 1fr}.finance-split-part .text-action{grid-column:1/-1;justify-self:start}}

/* R8.1: data-truth cues, close gate and purpose-capital editing */
.monthly-structure-note{margin:0 14px 7px;padding:8px 10px;border-left:3px solid var(--gold);border-radius:8px;background:#faf7ef;color:var(--muted);font-size:11px;line-height:1.4}
.monthly-final.blocked{border-color:#e3c79e;background:#fffaf1}.monthly-final.ready{border-color:#a9cfc4;background:#f8fcfa}
.monthly-actions .btn.primary:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.55)}
.purpose-independent-pool{gap:14px}
.purpose-subsection{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfcfb}
.purpose-subsection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.purpose-subsection-head>div{display:grid;gap:2px}.purpose-subsection-head h4{margin:0;font-size:16px}.purpose-subsection-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.purpose-subsection-head>strong{white-space:nowrap;font-size:16px}
.purpose-edit-record{border:1px solid #e4e9e6;border-radius:11px;background:#fff;overflow:hidden}
.purpose-edit-record>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 11px;cursor:pointer;list-style:none}.purpose-edit-record>summary::-webkit-details-marker{display:none}.purpose-edit-record>summary span{display:grid;gap:2px;min-width:0}.purpose-edit-record>summary small{color:var(--muted)}.purpose-edit-record>summary strong{white-space:nowrap}.purpose-edit-record>summary em{font-style:normal;font-size:11px;font-weight:800;color:var(--teal)}
.purpose-edit-form{display:grid;gap:10px;padding:11px;border-top:1px solid var(--line);background:#f7f9f8}
.purpose-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.purpose-edit-actions .danger{color:#943e34}
.purpose-create-form{border:1px dashed #bdc9c4;border-radius:11px;background:#fff}.purpose-create-form>summary{padding:9px 11px;cursor:pointer;font-weight:800;color:var(--teal)}.purpose-create-form>form{display:grid;gap:10px;padding:11px;border-top:1px solid var(--line)}
@media(max-width:900px){.purpose-subsection-head{align-items:stretch}.purpose-edit-record>summary{grid-template-columns:minmax(0,1fr) auto}.purpose-edit-record>summary em{grid-column:1/-1}.purpose-edit-actions{align-items:flex-start;flex-direction:column}.monthly-structure-note{margin-inline:8px}}
@media(max-width:620px){.purpose-subsection-head{flex-direction:column}.purpose-edit-record>summary{grid-template-columns:1fr}.purpose-edit-record>summary strong{justify-self:start}}

/* R8.2 – finance system as the complete explanatory workspace ---------------- */
.finance-primary-entry{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;
  padding:16px 18px;border:1px solid #b9d3cd;border-left:5px solid var(--gold);border-radius:17px;
  background:linear-gradient(110deg,#f4faf8,#fffaf2)
}
.finance-primary-entry h2{margin:3px 0 4px;color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:24px}
.finance-primary-entry p{margin:0;color:var(--muted);line-height:1.45}
.finance-primary-entry .btn{min-width:210px;min-height:50px;background:var(--nav);color:#fff;border-color:var(--nav);font-weight:800}
.finance-inline-detail{width:100%;margin-top:10px;padding:10px 0 2px;border:0;border-top:1px solid #e4ece9;background:transparent;color:var(--teal);font:inherit;font-weight:800;text-align:left;cursor:pointer}
.finance-flow-article{grid-column:1/-1}

.confirmed-flow-map.detailed{padding-top:14px}
.confirmed-flow-map.detailed>header>div{display:grid;gap:2px}
.confirmed-flow-map.detailed>header small{color:var(--muted);font-size:11px}
.confirmed-flow-map.detailed svg{min-height:320px;margin-top:10px}
.sankey-detail-source path,.confirmed-flow-map.detailed .confirmed-flow-band path{fill:none;stroke:#a9cbc5;stroke-linecap:butt;opacity:.78}
.sankey-detail-source rect{fill:#315f68}.confirmed-flow-map.detailed .confirmed-flow-band rect{fill:#9bbdb6}
.sankey-detail-source text,.confirmed-flow-map.detailed .confirmed-flow-band text,.flow-center-label,.flow-center-value{fill:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px}
.sankey-node-value,.flow-center-value{font-weight:800;fill:var(--nav)}
.flow-center-label{font-weight:800;fill:var(--teal)}
.confirmed-flow-legend.detailed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px;margin-top:8px}
.confirmed-flow-legend.detailed>div{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;gap:8px;align-items:center;padding:5px 0;border-top:1px solid #eef2f0}
.confirmed-flow-legend.detailed span{display:flex;align-items:center;gap:7px;min-width:0}.confirmed-flow-legend.detailed i{width:9px;height:9px;border-radius:99px;background:#82aaa3;flex:0 0 9px}
.confirmed-flow-legend.detailed strong,.confirmed-flow-legend.detailed small{text-align:right;white-space:nowrap}

.finance-detail-layer{display:grid;gap:7px;padding:11px 0}
.finance-detail-layer+ .finance-detail-layer{border-top:1px solid #dfe7e4}
.finance-detail-layer>header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:2px 2px 7px}
.finance-detail-layer>header>span{display:grid;gap:2px}.finance-detail-layer>header small{color:var(--muted)}
.finance-detail-layer.confirmed-layer{background:#fff}.finance-detail-layer.draft-layer{margin:5px -8px 0;padding:12px 10px;border-radius:11px;background:#f4f8f7}
.finance-position-drilldown{overflow:hidden;border:1px solid #e3eae7;border-radius:10px;background:#fff}
.finance-position-drilldown>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:49px;padding:8px 10px;cursor:pointer;list-style:none}
.finance-position-drilldown>summary::-webkit-details-marker{display:none}.finance-position-drilldown>summary>span{display:grid;gap:2px;min-width:0}.finance-position-drilldown>summary small{color:var(--muted)}
.finance-position-drilldown>summary strong{white-space:nowrap;color:var(--nav)}.finance-position-drilldown>summary em{font-style:normal;color:var(--teal);font-size:11px;font-weight:800}
.finance-position-facts{padding:9px 10px 10px;border-top:1px solid #e6ece9;background:#fafcfb}
.finance-position-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.finance-position-facts dl>div{display:grid;gap:2px;min-width:0}.finance-position-facts dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.finance-position-facts dd{margin:0;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.purpose-flow-mini{display:grid;gap:7px;margin-top:8px;padding-top:8px;border-top:1px dashed #d9e1de}.purpose-flow-mini>b{font-size:12px;color:var(--teal)}

/* iPad landscape: keep the monthly-close table readable instead of allowing
 * the first column to collapse into a vertical word stack. */
@media (orientation:landscape) and (min-width:761px) and (max-width:1180px){
  .monthly-table{overflow:visible}
  .monthly-columns,.monthly-group>summary,.monthly-row{
    grid-template-columns:minmax(250px,1.7fr) minmax(105px,.7fr) minmax(135px,.85fr) minmax(92px,.6fr) minmax(165px,1fr)!important;
    gap:8px!important
  }
  .monthly-group>summary>span:first-child,.monthly-name{overflow-wrap:normal!important;word-break:normal!important}
  .monthly-group>summary>span:first-child b,.monthly-name b{white-space:normal}
  .monthly-group>summary{padding-inline:18px}
  .monthly-subrows{padding-inline:18px}
  .monthly-structure-note{margin:8px 18px 9px!important;max-width:none}
  .monthly-quality{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  .finance-primary-entry{grid-template-columns:minmax(0,1fr) auto}
  .confirmed-flow-map.detailed svg{min-height:300px}
  .finance-position-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .finance-primary-entry{grid-template-columns:1fr}.finance-primary-entry .btn{width:100%}
  .confirmed-flow-legend.detailed{grid-template-columns:1fr}
  .finance-position-drilldown>summary{grid-template-columns:minmax(0,1fr) auto}.finance-position-drilldown>summary em{grid-column:1/-1}
  .finance-position-facts dl{grid-template-columns:1fr 1fr}
  .finance-detail-layer>header{align-items:flex-start;flex-direction:column}
}
.finance-flow-period-block{margin-top:13px;padding:12px;border:1px solid #e0e8e5;border-radius:13px;background:#fbfdfc}
.finance-flow-period-block.draft{border-left:4px solid var(--gold);background:#fffaf2}
.finance-flow-period-block>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.finance-flow-period-block>header span{color:var(--muted);font-size:11px;font-weight:700}

/* R8.3 – iPad hardening: readable monthly close, collision-free Sankey,
 * direct position editing from the finance drill-down. */
.finance-position-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:10px 0 2px;
  border-top:1px solid #e8eeeb;
}
.finance-position-actions .text-action{font-weight:800;color:var(--teal)}

.confirmed-flow-map.detailed svg{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  overflow:visible;
}
.sankey-flow-band{fill:none;stroke:#a9cbc5;stroke-linecap:butt;opacity:.78}
.sankey-label-connector{fill:none;stroke:#8aa7a1;stroke-width:1;opacity:.72}
.sankey-node-label{fill:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:650}
.sankey-node-value{fill:var(--nav);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:850}

/* iPad Landscape gets a deliberate two-level monthly-close layout. The group
 * title occupies its own row; the four facts sit below it. Position rows use
 * the same pattern. This removes any dependency on Safari's fractional-grid
 * shrinking and prevents vertical word stacks at every iPad landscape width. */
@media (orientation:landscape) and (min-width:761px) and (max-width:1600px){
  .monthly-table{
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
  }
  .monthly-columns{display:none!important}
  .monthly-group>summary{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px 14px!important;
    align-items:start!important;
    padding:13px 18px!important;
  }
  .monthly-group>summary>span:first-child{
    grid-column:1/-1!important;
    padding-left:10px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-group>summary>span:first-child b{
    white-space:normal!important;
    line-height:1.25!important;
  }
  .monthly-group>summary>.monthly-summary-previous,
  .monthly-group>summary>.monthly-summary-current,
  .monthly-group>summary>.monthly-summary-delta,
  .monthly-group>summary>[data-monthly-group-quality]{
    position:relative;
    display:block;
    min-width:0;
    padding-top:17px;
    text-align:left;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-group>summary>.monthly-summary-previous::before,
  .monthly-group>summary>.monthly-summary-current::before,
  .monthly-group>summary>.monthly-summary-delta::before,
  .monthly-group>summary>[data-monthly-group-quality]::before{
    content:attr(data-column-label);
    position:absolute;
    top:0;
    left:0;
    color:var(--muted);
    font-size:9px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:normal;
  }
  .monthly-group>summary>[data-monthly-group-quality]{
    justify-self:stretch!important;
    width:auto!important;
  }
  .monthly-structure-note{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    margin:8px 18px 10px!important;
    padding:9px 11px!important;
    font-size:11px!important;
    line-height:1.4!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-subrows{padding:0 18px 8px!important}
  .monthly-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px 14px!important;
    align-items:start!important;
    padding:12px 0!important;
  }
  .monthly-name{
    grid-column:1/-1!important;
    padding-left:0!important;
    min-width:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-name b{white-space:normal!important;line-height:1.25}
  .monthly-name small{font-size:10px!important;line-height:1.35!important}
  .monthly-previous,.monthly-delta{
    position:relative;
    min-width:0;
    padding-top:18px;
    font-size:13px!important;
    text-align:left;
  }
  .monthly-previous::before,.monthly-delta::before{
    content:attr(data-column-label)!important;
    position:absolute;
    top:0;
    left:0;
    color:var(--muted);
    font-size:9px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:normal;
  }
  .monthly-current,.monthly-quality{
    position:relative;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:18px!important;
  }
  .monthly-current::before{
    content:attr(data-column-label);
    position:absolute;
    top:-18px;
    left:0;
    color:var(--muted);
    font-size:9px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:normal;
  }
  .monthly-quality::before{
    content:"Status & Qualität";
    position:absolute;
    top:-18px;
    left:0;
    color:var(--muted);
    font-size:9px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:normal;
  }
  .monthly-current input,.monthly-quality select{min-width:0!important;width:100%!important;max-width:100%!important}
  .monthly-quality{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    align-items:center!important;
  }
  .monthly-quality-confirm{white-space:nowrap!important}
  .monthly-confirm-group{margin:6px 18px 12px!important}

  .confirmed-flow-map.detailed{padding-inline:10px}
  .confirmed-flow-map.detailed svg{min-height:390px!important}
  .confirmed-flow-map.detailed>header{gap:12px}
  .confirmed-flow-map.detailed>header>span{max-width:260px;text-align:right}
}

@media (orientation:landscape) and (min-width:761px) and (max-width:1050px){
  .monthly-group>summary,.monthly-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .monthly-group>summary>span:first-child,.monthly-name{grid-column:1/-1!important}
}

/* R8.3.1 – surgical iPad hotfix.
 * Do not use Safari fractional grid sizing for monthly-close rows. The title
 * always owns a complete line; facts wrap as stable cards below it. */
.finance-overview-drilldown{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #dfe8e5;
}
.finance-overview-drilldown>header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
}
.finance-overview-drilldown>header small{color:var(--muted);font-size:11px}
.finance-overview-group{
  border:1px solid #dde6e3;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
}
.finance-overview-group>summary{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  min-height:54px;
  padding:10px 14px 10px 34px;
  list-style:none;
  cursor:pointer;
}
.finance-overview-group>summary::-webkit-details-marker{display:none}
.finance-overview-group>summary::before{
  content:"›";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--teal);
  font-weight:900;
}
.finance-overview-group[open]>summary::before{transform:translateY(-50%) rotate(90deg)}
.finance-overview-group>summary>span{display:grid;gap:2px;min-width:0}
.finance-overview-group>summary>span:last-child{text-align:right;flex:0 0 auto}
.finance-overview-group>summary small{color:var(--muted);font-size:10px;line-height:1.3}
.finance-overview-positions{padding:0 14px 8px;border-top:1px solid #e7edeb}
.finance-overview-position{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:52px;
  padding:8px 0;
  border-bottom:1px solid #edf1ef;
}
.finance-overview-position:last-child{border-bottom:0}
.finance-overview-position>span{display:grid;gap:2px;min-width:0}
.finance-overview-position small{color:var(--muted);font-size:10px;line-height:1.3}
.finance-overview-position>strong{white-space:nowrap}
.finance-overview-link{color:var(--teal)!important;font-weight:750}
.finance-overview-empty{padding:12px 0;color:var(--muted);font-size:11px}

@media (orientation:landscape) and (min-width:761px) and (max-width:1600px){
  .monthly-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .monthly-columns{display:none!important}
  .monthly-group{display:block!important;width:100%!important;max-width:100%!important}
  .monthly-group>summary{
    position:relative!important;
    display:flex!important;
    flex-wrap:wrap!important;
    grid-template-columns:none!important;
    grid-auto-flow:unset!important;
    width:100%!important;
    max-width:100%!important;
    gap:10px 14px!important;
    align-items:stretch!important;
    padding:13px 18px!important;
  }
  .monthly-group>summary>span:first-child{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 0 2px 10px!important;
    grid-column:auto!important;
  }
  .monthly-group>summary>.monthly-summary-previous,
  .monthly-group>summary>.monthly-summary-current,
  .monthly-group>summary>.monthly-summary-delta,
  .monthly-group>summary>[data-monthly-group-quality]{
    flex:1 1 calc(25% - 14px)!important;
    width:auto!important;
    min-width:150px!important;
    max-width:none!important;
    padding:20px 10px 9px!important;
    margin:0!important;
    border:1px solid #e1e8e5;
    border-radius:9px;
    background:#fff;
    text-align:left!important;
    justify-self:auto!important;
  }
  .monthly-group>summary>[data-monthly-group-quality]{display:block!important}
  .monthly-structure-note{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    margin:8px 18px 10px!important;
    padding:10px 12px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-subrows{display:block!important;width:auto!important;padding:0 18px 8px!important}
  .monthly-row{
    display:flex!important;
    flex-wrap:wrap!important;
    grid-template-columns:none!important;
    grid-auto-flow:unset!important;
    width:100%!important;
    max-width:100%!important;
    gap:10px 14px!important;
    align-items:stretch!important;
    padding:12px 0!important;
  }
  .monthly-name{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    grid-column:auto!important;
    padding:0!important;
  }
  .monthly-previous,.monthly-delta,.monthly-current,.monthly-quality{
    flex:1 1 calc(25% - 14px)!important;
    width:auto!important;
    min-width:150px!important;
    max-width:none!important;
    margin:0!important;
  }
  .monthly-previous,.monthly-delta{
    padding:20px 10px 9px!important;
    border:1px solid #e1e8e5;
    border-radius:9px;
    background:#fafcfb;
  }
  .monthly-current,.monthly-quality{margin-top:18px!important}
  .monthly-current input,.monthly-quality select{width:100%!important;min-width:0!important;max-width:100%!important}
  .monthly-quality{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    align-items:center!important;
  }
  .monthly-confirm-group{margin:6px 18px 12px!important}
}

@media (orientation:landscape) and (min-width:761px) and (max-width:1050px){
  .monthly-group>summary>.monthly-summary-previous,
  .monthly-group>summary>.monthly-summary-current,
  .monthly-group>summary>.monthly-summary-delta,
  .monthly-group>summary>[data-monthly-group-quality],
  .monthly-previous,.monthly-delta,.monthly-current,.monthly-quality{
    flex-basis:calc(50% - 14px)!important;
    min-width:210px!important;
  }
  .finance-overview-position{grid-template-columns:minmax(0,1fr) auto}
}

/* The finance overview is itself the system view; give the expandable capital
 * structure the full content width instead of leaving an empty second column. */
.stability-finance-visuals>article[data-testid="capital-structure"]{grid-column:1/-1}

/* R8.3.2 – restore the proven wide monthly-close table and make the finance
 * overview a compact, period-aware drill-down. This block intentionally wins
 * over the experimental R8.3/R8.3.1 iPad card overrides above. */
@media (orientation:landscape) and (min-width:761px) and (max-width:1600px){
  .monthly-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .monthly-columns{
    display:grid!important;
    grid-template-columns:minmax(230px,1.7fr) minmax(105px,.68fr) minmax(150px,.9fr) minmax(100px,.65fr) minmax(175px,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:9px 15px!important;
  }
  .monthly-group{display:block!important;width:100%!important;max-width:100%!important}
  .monthly-group>summary,
  .monthly-row{
    display:grid!important;
    grid-template-columns:minmax(230px,1.7fr) minmax(105px,.68fr) minmax(150px,.9fr) minmax(100px,.65fr) minmax(175px,1fr)!important;
    grid-auto-flow:unset!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
  }
  .monthly-group>summary{
    position:relative!important;
    padding:11px 15px!important;
  }
  .monthly-group>summary>span:first-child,
  .monthly-name{
    display:grid!important;
    grid-column:auto!important;
    flex:none!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    padding-left:14px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-group>summary>span:first-child{padding-left:0!important}
  .monthly-group>summary>.monthly-summary-previous,
  .monthly-group>summary>.monthly-summary-current,
  .monthly-group>summary>.monthly-summary-delta,
  .monthly-group>summary>[data-monthly-group-quality],
  .monthly-previous,.monthly-delta,.monthly-current,.monthly-quality{
    display:initial!important;
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    text-align:inherit!important;
  }
  .monthly-group>summary>[data-monthly-group-quality]{display:inline-flex!important}
  .monthly-subrows{display:block!important;width:auto!important;padding:0 15px!important}
  .monthly-row{padding:8px 0!important;border-top:1px solid #e8edeb!important}
  .monthly-previous,.monthly-delta{font-weight:700!important;font-size:12px!important}
  .monthly-current{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    border:1px solid var(--line)!important;
    border-radius:9px!important;
    background:#fff!important;
    padding-right:8px!important;
  }
  .monthly-current input{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
  .monthly-quality{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:5px!important;
  }
  .monthly-quality select{width:100%!important;min-width:0!important;max-width:100%!important}
  .monthly-quality-confirm{white-space:nowrap!important}
  .monthly-confirm-group{margin:5px 15px 10px!important}
  .monthly-structure-note{display:none!important}
  .monthly-group>summary>.monthly-summary-previous::before,
  .monthly-group>summary>.monthly-summary-current::before,
  .monthly-group>summary>.monthly-summary-delta::before,
  .monthly-group>summary>[data-monthly-group-quality]::before,
  .monthly-previous::before,.monthly-delta::before,.monthly-current::before,.monthly-quality::before{
    content:none!important;
    display:none!important;
  }
}
@media (orientation:landscape) and (min-width:761px) and (max-width:1100px){
  .monthly-columns,.monthly-group>summary,.monthly-row{
    grid-template-columns:minmax(185px,1.3fr) 90px minmax(125px,.8fr) 85px minmax(150px,1fr)!important;
    gap:6px!important;
  }
  .monthly-columns{padding-inline:12px!important}
  .monthly-group>summary{padding-inline:12px!important}
  .monthly-subrows{padding-inline:12px!important}
  .monthly-confirm-group{margin-inline:12px!important}
}

/* Compact finance overview: closed by default, then reveal confirmed and draft
 * structures inside the same domain. No second page is required to understand
 * the system; the separate editor is only for changes. */
.finance-overview-drilldown{gap:10px;margin-top:14px;padding-top:12px}
.finance-overview-drilldown>header{padding:0 2px 3px}
.finance-overview-group{border:1px solid #dbe5e2;border-radius:13px;background:#fff;box-shadow:none}
.finance-overview-group>summary{min-height:64px;padding:11px 16px 11px 38px;gap:18px;background:#fff}
.finance-overview-group>summary::before{left:16px}
.finance-overview-group[open]>summary{background:#f8fbfa;border-bottom:1px solid #e4ebe8}
.finance-overview-group>summary>span:first-child b{font-size:15px;color:var(--ink)}
.finance-overview-group>summary>span:first-child small{margin-top:2px;font-size:10px}
.finance-overview-period-values{
  display:grid!important;
  grid-template-columns:auto auto;
  gap:2px 10px;
  align-items:baseline;
  text-align:right;
  white-space:nowrap;
}
.finance-overview-period-values small{font-size:9px!important;color:var(--muted)}
.finance-overview-period-values strong{font-size:13px;color:var(--nav)}
.finance-overview-period-values.single{grid-template-columns:auto auto}
.finance-overview-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;background:#fbfcfb}
.finance-overview-period{overflow:hidden;border:1px solid #e2e9e6;border-radius:10px;background:#fff}
.finance-overview-period.draft{border-color:#dcc79c;background:#fffaf1}
.finance-overview-period>header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:9px 11px;border-bottom:1px solid #e8eeeb;background:#f7faf9}
.finance-overview-period.draft>header{background:#fff6e6}
.finance-overview-period>header b{font-size:11px;color:var(--teal)}
.finance-overview-period>header small{font-size:9px;color:var(--muted);text-align:right}
.finance-overview-period .finance-overview-position{padding:8px 11px;min-height:47px}
.finance-overview-period .finance-overview-position b{font-size:12px}
.finance-overview-period .finance-overview-position small{font-size:9px}
.finance-overview-period .finance-overview-position strong{font-size:12px}
.finance-purpose-overview-pool{border-top:1px solid #edf1ef}
.finance-purpose-overview-pool:first-child{border-top:0}
.finance-purpose-overview-pool>header{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 11px;background:#fafcfb}
.finance-purpose-overview-pool>header span{display:grid;gap:2px}.finance-purpose-overview-pool>header small{color:var(--muted);font-size:9px}
.finance-purpose-overview-contributions{padding:7px 11px 4px;border-top:1px dashed #d8e2de;background:#f8fbfa}.finance-purpose-overview-contributions>b{font-size:10px;color:var(--teal)}
.finance-sankey-periods{display:grid;gap:10px;margin-top:12px}
.finance-flow-period-block{padding:0!important;overflow:hidden}
.finance-flow-period-block>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}
.finance-flow-period-block>summary::-webkit-details-marker{display:none}
.finance-flow-period-block>summary::before{content:"›";color:var(--teal);font-weight:900;margin-right:6px}
.finance-flow-period-block[open]>summary::before{transform:rotate(90deg)}
.finance-flow-period-block>summary b{margin-right:auto}.finance-flow-period-block>summary span{font-size:10px;color:var(--muted)}
.finance-flow-period-block>.confirmed-flow-map{border-top:1px solid #e5ece9;border-radius:0}
.finance-primary-entry{margin-bottom:2px}

@media(max-width:1000px){
  .finance-overview-periods{grid-template-columns:1fr}
  .finance-overview-period-values{white-space:normal}
}

/* R8.3.3 – real iPad Safari breakpoint restoration.
 * Some iPads report a landscape CSS viewport below 761px (page zoom / Safari
 * viewport behavior). In that range styles.css previously switched the
 * monthly close to its phone layout. Keep the proven five-column close table
 * for landscape tablet widths as well. */
@media (orientation:landscape) and (min-width:650px) and (max-width:760px){
  .monthly-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    font-size:11px!important;
  }
  .monthly-columns{
    display:grid!important;
    grid-template-columns:minmax(180px,1.45fr) 76px minmax(108px,.82fr) 70px minmax(145px,1fr)!important;
    gap:5px!important;
    align-items:center!important;
    padding:8px 10px!important;
  }
  .monthly-group{display:block!important;width:100%!important;max-width:100%!important}
  .monthly-group>summary,
  .monthly-row{
    display:grid!important;
    grid-template-columns:minmax(180px,1.45fr) 76px minmax(108px,.82fr) 70px minmax(145px,1fr)!important;
    grid-auto-flow:unset!important;
    gap:5px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
  }
  .monthly-group>summary{position:relative!important;padding:9px 10px!important}
  .monthly-group>summary>span:first-child,
  .monthly-name{
    display:grid!important;
    grid-column:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding-left:10px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .monthly-group>summary>span:first-child{padding-left:0!important}
  .monthly-group>summary>strong:first-of-type,
  .monthly-group>summary>strong:nth-of-type(2){display:block!important}
  .monthly-group>summary>.monthly-summary-previous,
  .monthly-group>summary>.monthly-summary-current,
  .monthly-group>summary>.monthly-summary-delta,
  .monthly-group>summary>[data-monthly-group-quality],
  .monthly-previous,.monthly-delta,.monthly-current,.monthly-quality{
    grid-column:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  .monthly-subrows{display:block!important;padding:0 10px!important}
  .monthly-row{padding:7px 0!important;border-top:1px solid #e8edeb!important}
  .monthly-name small{font-size:9px!important;line-height:1.2!important}
  .monthly-previous,.monthly-delta{font-size:11px!important;font-weight:700!important}
  .monthly-current{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    border:1px solid var(--line)!important;
    border-radius:8px!important;
    background:#fff!important;
    padding-right:5px!important;
  }
  .monthly-current input{height:34px!important;width:100%!important;min-width:0!important;padding-inline:4px!important}
  .monthly-quality{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:4px!important;
  }
  .monthly-quality select{height:34px!important;width:100%!important;min-width:0!important;padding-inline:4px!important}
  .monthly-quality-confirm{display:flex!important;white-space:nowrap!important;font-size:9px!important}
  .monthly-quality input{width:17px!important;height:17px!important}
  .monthly-confirm-group{margin:5px 10px 9px!important;min-height:36px!important}
  .monthly-structure-note{display:none!important}
  .monthly-group>summary>.monthly-summary-previous::before,
  .monthly-group>summary>.monthly-summary-current::before,
  .monthly-group>summary>.monthly-summary-delta::before,
  .monthly-group>summary>[data-monthly-group-quality]::before,
  .monthly-previous::before,.monthly-delta::before,.monthly-current::before,.monthly-quality::before{
    content:none!important;
    display:none!important;
  }
}

/* R8.3.4 — SINGLE SOURCE OF TRUTH FOR MONTHLY CLOSE TABLE
 * The monthly close is an iPad-first workflow. Previous experimental responsive
 * overrides are intentionally neutralized here. Step 1/2 always use the proven
 * five-column table used by R8; no orientation- or breakpoint-dependent card mode. */
#monthly-close-form .monthly-table{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  font-size:12px!important;
}
#monthly-close-form .monthly-columns,
#monthly-close-form .monthly-group>summary,
#monthly-close-form .monthly-row{
  display:grid!important;
  grid-template-columns:minmax(0,36fr) minmax(0,11fr) minmax(0,17fr) minmax(0,10fr) minmax(0,26fr)!important;
  grid-auto-flow:row!important;
  gap:8px!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:nowrap!important;
}
#monthly-close-form .monthly-columns{
  padding:9px 15px!important;
  background:#eef3f1!important;
}
#monthly-close-form .monthly-group{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
#monthly-close-form .monthly-group>summary{
  position:relative!important;
  padding:10px 15px!important;
  background:#fafcfb!important;
}
#monthly-close-form .monthly-subrows{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  padding:0 15px!important;
}
#monthly-close-form .monthly-row{
  padding:8px 0!important;
  border-top:1px solid #e8edeb!important;
}
#monthly-close-form .monthly-group>summary>span:first-child,
#monthly-close-form .monthly-name{
  display:grid!important;
  grid-column:auto!important;
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding-left:14px!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
#monthly-close-form .monthly-group>summary>span:first-child{padding-left:0!important}
#monthly-close-form .monthly-group>summary>span:first-child b,
#monthly-close-form .monthly-name b{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.25!important;
}
#monthly-close-form .monthly-name small{
  font-size:9px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#monthly-close-form .monthly-group>summary>.monthly-summary-previous,
#monthly-close-form .monthly-group>summary>.monthly-summary-current,
#monthly-close-form .monthly-group>summary>.monthly-summary-delta,
#monthly-close-form .monthly-group>summary>[data-monthly-group-quality],
#monthly-close-form .monthly-previous,
#monthly-close-form .monthly-current,
#monthly-close-form .monthly-delta,
#monthly-close-form .monthly-quality{
  display:initial!important;
  grid-column:auto!important;
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:inherit!important;
  position:static!important;
}
#monthly-close-form .monthly-group>summary>[data-monthly-group-quality]{display:inline-flex!important}
#monthly-close-form .monthly-previous,
#monthly-close-form .monthly-delta{
  font-size:12px!important;
  font-weight:700!important;
}
#monthly-close-form .monthly-current{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
  padding-right:8px!important;
}
#monthly-close-form .monthly-current input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:0 5px!important;
}
#monthly-close-form .monthly-quality{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important;
}
#monthly-close-form .monthly-quality select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:0 5px!important;
}
#monthly-close-form .monthly-quality-confirm{
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  white-space:nowrap!important;
  font-size:10px!important;
}
#monthly-close-form .monthly-quality input{width:18px!important;height:18px!important}
#monthly-close-form .monthly-confirm-group{margin:5px 15px 10px!important;min-height:38px!important}
#monthly-close-form .monthly-structure-note{display:none!important}
#monthly-close-form .monthly-group>summary>strong:first-of-type,
#monthly-close-form .monthly-group>summary>strong:nth-of-type(2){display:block!important}
#monthly-close-form .monthly-group>summary>.monthly-summary-previous::before,
#monthly-close-form .monthly-group>summary>.monthly-summary-current::before,
#monthly-close-form .monthly-group>summary>.monthly-summary-delta::before,
#monthly-close-form .monthly-group>summary>[data-monthly-group-quality]::before,
#monthly-close-form .monthly-previous::before,
#monthly-close-form .monthly-current::before,
#monthly-close-form .monthly-delta::before,
#monthly-close-form .monthly-quality::before{
  content:none!important;
  display:none!important;
}

/* Preserve usability if the page is ever genuinely narrow: horizontal scrolling
 * is preferable to destroying the table's information hierarchy. */
@media(max-width:640px){
  #monthly-close-form .monthly-table{overflow-x:auto!important}
  #monthly-close-form .monthly-columns,
  #monthly-close-form .monthly-group>summary,
  #monthly-close-form .monthly-row{min-width:690px!important}
}

/* R8.3.5 — ISOLATED MONTHLY CLOSE PRESENTATION
 * New mc8-* classes are the visual contract. Legacy monthly-* classes remain
 * only for behavior/test selectors and may no longer decide layout. */
#monthly-close-form .mc8-table{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  border:1px solid var(--line)!important;
  border-radius:17px!important;
  background:#fff!important;
}
#monthly-close-form .mc8-columns,
#monthly-close-form .mc8-summary,
#monthly-close-form .mc8-row{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(280px,2fr) minmax(110px,.72fr) minmax(150px,.95fr) minmax(95px,.62fr) minmax(220px,1.35fr)!important;
  grid-template-rows:auto!important;
  grid-auto-flow:row!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
  min-width:930px!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
}
#monthly-close-form .mc8-columns{
  padding:10px 18px!important;
  background:#eef3f1!important;
  color:var(--muted)!important;
  font-size:10px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
#monthly-close-form .mc8-group{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:930px!important;
  max-width:none!important;
  margin:0!important;
  border-top:1px solid var(--line)!important;
  background:#fff!important;
}
#monthly-close-form .mc8-group:first-of-type{border-top:0!important}
#monthly-close-form .mc8-summary{
  position:relative!important;
  padding:11px 18px!important;
  background:#fafcfb!important;
  list-style:none!important;
  cursor:pointer!important;
}
#monthly-close-form .mc8-summary::-webkit-details-marker{display:none!important}
#monthly-close-form .mc8-title,
#monthly-close-form .mc8-name{
  box-sizing:border-box!important;
  display:grid!important;
  grid-column:1!important;
  gap:2px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 0 14px!important;
  position:static!important;
  transform:none!important;
  text-align:left!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
#monthly-close-form .mc8-title{padding-left:0!important}
#monthly-close-form .mc8-title b,
#monthly-close-form .mc8-name b{
  display:block!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.25!important;
}
#monthly-close-form .mc8-title small,
#monthly-close-form .mc8-name small{
  display:block!important;
  color:var(--muted)!important;
  font-size:10px!important;
  line-height:1.3!important;
  white-space:normal!important;
}
#monthly-close-form .mc8-summary>.monthly-summary-previous,
#monthly-close-form .mc8-summary>.monthly-summary-current,
#monthly-close-form .mc8-summary>.monthly-summary-delta,
#monthly-close-form .mc8-summary>[data-monthly-group-quality],
#monthly-close-form .mc8-previous,
#monthly-close-form .mc8-current,
#monthly-close-form .mc8-delta,
#monthly-close-form .mc8-quality{
  box-sizing:border-box!important;
  grid-column:auto!important;
  grid-row:1!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
}
#monthly-close-form .mc8-summary>.monthly-summary-previous,
#monthly-close-form .mc8-summary>.monthly-summary-current,
#monthly-close-form .mc8-summary>.monthly-summary-delta{
  display:block!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:13px!important;
  text-align:left!important;
}
#monthly-close-form .mc8-summary>[data-monthly-group-quality]{
  display:inline-flex!important;
  justify-self:stretch!important;
  padding:4px 9px!important;
  border-radius:99px!important;
  text-align:left!important;
}
#monthly-close-form .mc8-subrows{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:930px!important;
  max-width:none!important;
  margin:0!important;
  padding:0 18px!important;
  position:static!important;
  transform:none!important;
}
#monthly-close-form .mc8-row{
  padding:8px 0!important;
  border-top:1px solid #e8edeb!important;
  background:#fff!important;
}
#monthly-close-form .mc8-previous,
#monthly-close-form .mc8-delta{
  display:block!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:12px!important;
  font-weight:700!important;
  text-align:left!important;
}
#monthly-close-form .mc8-current{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  min-height:38px!important;
  padding:0 8px 0 0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
}
#monthly-close-form .mc8-current input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:36px!important;
  margin:0!important;
  padding:0 8px!important;
  border:0!important;
  background:transparent!important;
  text-align:right!important;
}
#monthly-close-form .mc8-quality{
  display:grid!important;
  grid-template-columns:minmax(115px,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#monthly-close-form .mc8-quality select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  margin:0!important;
}
#monthly-close-form .mc8-quality .monthly-quality-confirm{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  white-space:nowrap!important;
  min-width:max-content!important;
}
#monthly-close-form .mc8-columns>*::before,
#monthly-close-form .mc8-summary>*::before,
#monthly-close-form .mc8-row>*::before{content:none!important;display:none!important}
#monthly-close-form .monthly-structure-note{display:none!important}
#monthly-close-form .monthly-confirm-group{margin:6px 18px 11px!important}

@media(max-width:980px){
  #monthly-close-form .mc8-columns,
  #monthly-close-form .mc8-summary,
  #monthly-close-form .mc8-row,
  #monthly-close-form .mc8-group,
  #monthly-close-form .mc8-subrows{min-width:860px!important}
  #monthly-close-form .mc8-columns,
  #monthly-close-form .mc8-summary,
  #monthly-close-form .mc8-row{
    grid-template-columns:minmax(245px,1.8fr) 95px minmax(130px,.9fr) 82px minmax(205px,1.35fr)!important;
    gap:8px!important;
  }
}

#monthly-close-form .mc8-quality-shell{display:block!important;min-width:0!important;grid-column:auto!important;padding:0!important;margin:0!important}
#monthly-close-form .mc8-quality-shell>.monthly-quality{display:grid!important;grid-template-columns:minmax(115px,1fr) auto!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;grid-column:auto!important}
#monthly-close-form .mc8-quality-shell>.monthly-quality select{width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;margin:0!important}
#monthly-close-form .mc8-quality-shell>.monthly-quality .monthly-quality-confirm{display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;min-width:max-content!important;grid-column:auto!important}
/* PCMS monthly close visual master — isolated from legacy responsive rules. */
#monthly-close-form .monthly-master-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#f3f7f5;border:1px solid #d7e1de;border-radius:22px;margin:0 0 18px}
#monthly-close-form .monthly-master-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;color:#132238;background:#f3f7f5}
#monthly-close-form .monthly-master-table col.c-name{width:37%}
#monthly-close-form .monthly-master-table col.c-prev{width:11%}
#monthly-close-form .monthly-master-table col.c-current{width:16%}
#monthly-close-form .monthly-master-table col.c-delta{width:11%}
#monthly-close-form .monthly-master-table col.c-quality{width:25%}
#monthly-close-form .monthly-master-table th{padding:12px 16px;background:#edf3f1;border-bottom:1px solid #dfe7e4;text-align:left;font-size:11px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:#61706f;white-space:nowrap}
#monthly-close-form .monthly-master-table th:not(:first-child){text-align:right}
#monthly-close-form .monthly-master-table td{padding:11px 16px;border-bottom:1px solid #e2e9e6;vertical-align:middle;min-width:0}
#monthly-close-form .monthly-master-summary td{background:#f6f9f8;font-weight:700}
#monthly-close-form .monthly-master-summary td:not(:first-child){text-align:right;white-space:nowrap}
#monthly-close-form .monthly-master-toggle{display:flex;align-items:flex-start;gap:8px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
#monthly-close-form .monthly-master-toggle b,#monthly-close-form .monthly-name b{display:block;font-size:15px;line-height:1.25;letter-spacing:0;text-transform:none;white-space:normal;word-break:normal;overflow-wrap:normal}
#monthly-close-form .monthly-master-toggle small,#monthly-close-form .monthly-name small{display:block;margin-top:2px;font-size:11px;line-height:1.25;font-weight:400;letter-spacing:0;text-transform:none;color:#687675;white-space:normal}
#monthly-close-form .monthly-master-chevron{flex:0 0 12px;font-size:16px;line-height:1.1;color:#204e59}
#monthly-close-form .monthly-name{padding-left:30px!important}
#monthly-close-form .monthly-master-item td:nth-child(2),#monthly-close-form .monthly-master-item td:nth-child(4){text-align:right;font-weight:700;white-space:nowrap}
#monthly-close-form .monthly-current{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
#monthly-close-form .monthly-current input{width:100%;min-width:0;max-width:220px;height:42px;padding:8px 12px;border:1px solid #d2dcda;border-radius:12px;background:white;text-align:right;font:inherit;font-weight:700}
#monthly-close-form .monthly-quality{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:9px}
#monthly-close-form .monthly-quality select{width:100%;min-width:0;height:42px;padding:7px 10px;border:1px solid #d2dcda;border-radius:10px;background:white;font:inherit}
#monthly-close-form .monthly-quality-confirm{display:flex;align-items:center;justify-content:flex-start;gap:6px;white-space:nowrap;font-size:13px;font-weight:500;min-width:44px;min-height:44px}
#monthly-close-form .monthly-quality-confirm input{width:22px;height:22px;margin:0}
#monthly-close-form .monthly-master-confirm td{padding:8px 16px 14px 30px;border-bottom:1px solid #dfe7e4}
#monthly-close-form .monthly-confirm-group{margin:0;min-height:42px}
#monthly-close-form .monthly-empty{padding-left:30px!important;color:#687675}
#monthly-close-form .quality-pill{display:inline-flex;justify-content:flex-start;min-width:120px;max-width:100%;padding:5px 10px;border-radius:999px;background:#e5f1ee;color:#2b5d5b;font-size:11px;line-height:1.2;white-space:nowrap}
#monthly-close-form .quality-pill.attention{background:#fff0d5;color:#b06f10}
#monthly-close-form .positive{color:#26784a}
#monthly-close-form .negative{color:#b14935}
@media (max-width:1100px){#monthly-close-form .monthly-master-table{min-width:900px}#monthly-close-form .monthly-master-table th,#monthly-close-form .monthly-master-table td{padding-left:12px;padding-right:12px}#monthly-close-form .monthly-name{padding-left:24px!important}}

/* R8.3.7 — native table-cell integrity.
   Legacy .monthly-name { display:grid } must never escape into the native
   monthly-close table. Safari otherwise removes the name TD from the table
   layout and leaves the visible 37% first column empty. */
#monthly-close-form .monthly-master-table{display:table!important;width:100%!important;min-width:0!important;table-layout:fixed!important}
#monthly-close-form .monthly-master-table colgroup{display:table-column-group!important}
#monthly-close-form .monthly-master-table col{display:table-column!important}
#monthly-close-form .monthly-master-table thead{display:table-header-group!important}
#monthly-close-form .monthly-master-table tbody{display:table-row-group!important}
#monthly-close-form .monthly-master-table tr{display:table-row!important}
#monthly-close-form .monthly-master-table th,
#monthly-close-form .monthly-master-table td,
#monthly-close-form .monthly-master-table td.monthly-name{
  display:table-cell!important;
  position:static!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
#monthly-close-form .monthly-master-wrap{width:100%!important;max-width:100%!important;overflow-x:visible!important}
#monthly-close-form .monthly-master-table col.c-name{width:37%!important}
#monthly-close-form .monthly-master-table col.c-prev{width:11%!important}
#monthly-close-form .monthly-master-table col.c-current{width:16%!important}
#monthly-close-form .monthly-master-table col.c-delta{width:11%!important}
#monthly-close-form .monthly-master-table col.c-quality{width:25%!important}
#monthly-close-form .monthly-master-table td.monthly-name{padding-left:30px!important;text-align:left!important}

/* R8.3.8 — isolated monthly-close layout. No legacy monthly-* layout classes inside Step 1/2. */
#monthly-close-form .mcx-wrap{width:100%;max-width:100%;overflow:hidden;background:#f4f8f6;border:1px solid #d7e1de;border-radius:22px;margin:0 0 18px}
#monthly-close-form .mcx-table{width:100%;border-collapse:collapse;table-layout:fixed;color:#132238;background:#f4f8f6}
#monthly-close-form .mcx-table col.mcx-c-name{width:31%}
#monthly-close-form .mcx-table col.mcx-c-prev{width:11%}
#monthly-close-form .mcx-table col.mcx-c-now{width:24%}
#monthly-close-form .mcx-table col.mcx-c-delta{width:10%}
#monthly-close-form .mcx-table col.mcx-c-quality{width:24%}
#monthly-close-form .mcx-table th{padding:12px 18px;background:#edf3f1;border-bottom:1px solid #dfe7e4;text-align:left;font-size:11px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:#61706f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#monthly-close-form .mcx-table td{padding:12px 18px;border-bottom:1px solid #dfe7e4;vertical-align:middle;min-width:0}
#monthly-close-form .mcx-summary{background:#f1f6f4}
#monthly-close-form .mcx-summary td{font-weight:700}
#monthly-close-form .mcx-toggle{appearance:none;border:0;background:transparent;padding:0;margin:0;display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:#14243a;font:inherit;cursor:pointer}
#monthly-close-form .mcx-toggle .mcx-chevron{flex:0 0 12px;color:#19495a;font-weight:800}
#monthly-close-form .mcx-toggle span:last-child{display:flex;flex-direction:column;min-width:0}
#monthly-close-form .mcx-toggle b,#monthly-close-form .mcx-name b{display:block;font-size:15px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
#monthly-close-form .mcx-toggle small,#monthly-close-form .mcx-name small{display:block;margin-top:2px;font-size:10px;line-height:1.25;color:#687674;font-weight:500;white-space:normal}
#monthly-close-form .mcx-name{padding-left:36px!important}
#monthly-close-form .mcx-prev,#monthly-close-form .mcx-summary-prev,#monthly-close-form .mcx-summary-now,#monthly-close-form .mcx-summary-delta,#monthly-close-form .mcx-delta{font-weight:700;white-space:nowrap;text-align:left}
#monthly-close-form .mcx-delta.positive,#monthly-close-form .mcx-summary-delta.positive{color:#267a4b}
#monthly-close-form .mcx-delta.negative,#monthly-close-form .mcx-summary-delta.negative{color:#b64b30}
#monthly-close-form .mcx-money{display:flex;align-items:center;gap:6px;width:100%;max-width:180px;margin:0}
#monthly-close-form .mcx-money input{width:100%;min-width:0;height:42px;padding:8px 12px;border:1px solid #ced9d6;border-radius:12px;background:#fff;text-align:right;font:700 14px/1.2 inherit;box-sizing:border-box}
#monthly-close-form .mcx-money b{flex:0 0 auto;font-size:14px}
#monthly-close-form .mcx-quality{display:flex;align-items:center;gap:8px;width:100%;min-width:0}
#monthly-close-form .mcx-quality select{flex:1 1 auto;min-width:0;width:100%;height:42px;padding:7px 10px;border:1px solid #ced9d6;border-radius:12px;background:#fff;font-size:13px}
#monthly-close-form .mcx-quality label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px}
#monthly-close-form .mcx-quality input{width:20px;height:20px;margin:0}
#monthly-close-form .mcx-confirm td{padding:10px 18px 14px}
#monthly-close-form .mcx-confirm .btn{min-height:44px}
#monthly-close-form .mcx-empty{color:#667574;font-size:13px}
@media(max-width:900px){
  #monthly-close-form .mcx-table col.mcx-c-name{width:29%}
  #monthly-close-form .mcx-table col.mcx-c-prev{width:11%}
  #monthly-close-form .mcx-table col.mcx-c-now{width:27%}
  #monthly-close-form .mcx-table col.mcx-c-delta{width:9%}
  #monthly-close-form .mcx-table col.mcx-c-quality{width:24%}
  #monthly-close-form .mcx-table th,#monthly-close-form .mcx-table td{padding-left:12px;padding-right:12px}
  #monthly-close-form .mcx-name{padding-left:28px!important}
  #monthly-close-form .mcx-toggle b,#monthly-close-form .mcx-name b{font-size:14px}
  #monthly-close-form .mcx-quality{gap:5px}
}

#monthly-close-form .mcx-quality-confirm{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;white-space:nowrap!important;min-width:44px!important;min-height:44px!important}
#monthly-close-form .mcx-quality-confirm input{width:22px!important;height:22px!important}

/* R8.6 groundwork – shared master-detail structure. */
.finance-master-detail{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.45fr);gap:14px;margin-top:12px;align-items:start}
.finance-master-list,.finance-master-editor{min-width:0;border:1px solid var(--line);border-radius:20px;background:#fff;padding:17px}
.finance-master-list{display:grid;gap:12px}.finance-master-list h2{margin:4px 0 0;font-family:Georgia,"Times New Roman",serif}.finance-master-list .section-head{align-items:center}
.finance-master-list .btn.primary{min-height:44px;white-space:nowrap}.finance-master-rows{display:grid;gap:7px}
.finance-master-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name amount" "name action";gap:3px 12px;align-items:center;width:100%;min-height:64px;padding:10px 11px;border:1px solid #dfe8e5;border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.finance-master-row:hover{border-color:#a9c8c1;background:#f8fbfa}.finance-master-row.active{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal);background:#f1f8f6}
.finance-master-row>span{grid-area:name;display:grid;gap:3px;min-width:0}.finance-master-row small{color:var(--muted)}.finance-master-row strong{grid-area:amount;color:var(--nav);white-space:nowrap}.finance-master-row em{grid-area:action;justify-self:end;color:var(--teal);font-size:11px;font-style:normal;font-weight:800}
.finance-master-context{display:grid;gap:7px;padding-top:10px;border-top:1px solid var(--line)}.finance-master-context .status{justify-self:start}.finance-master-context p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.finance-master-editor{min-height:390px}.finance-master-editor .finance-editor{gap:15px}.finance-master-editor .editor-head{padding-bottom:11px;border-bottom:1px solid var(--line)}.finance-master-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.finance-master-actions .danger{margin-left:auto}
.finance-master-empty{display:grid;gap:5px;padding:16px;border:1px dashed #bccbc6;border-radius:12px;background:#fafcfb}.finance-master-empty span{color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:900px){.finance-master-detail{grid-template-columns:minmax(270px,.9fr) minmax(0,1.25fr)}.finance-master-list,.finance-master-editor{padding:13px}.finance-master-list .section-head{align-items:flex-start;flex-direction:column}.finance-master-list .btn.primary{width:100%}.finance-master-editor .finance-editor-grid{grid-template-columns:1fr}.finance-master-actions .danger{margin-left:0}}
@media(max-width:700px){.finance-master-detail{grid-template-columns:1fr}.finance-master-editor{min-height:0}}

/* R8.3.9 — cross-page visual rhythm and reliable monthly accordion affordance. */
:root{
  --pcms-page-gap:16px;
  --pcms-section-radius:18px;
  --pcms-card-border:#d9e3e0;
}
.page-hero{margin-bottom:var(--pcms-page-gap)!important;border-radius:var(--pcms-section-radius)!important}
.card,.review-chart,.system-visual-panel,.monthly-assessment,.monthly-reconcile,.purpose-capital-panel{
  border-radius:var(--pcms-section-radius)!important;
}
#monthly-close-form .mcx-wrap{border-radius:var(--pcms-section-radius)!important}
#monthly-close-form .mcx-summary{cursor:pointer}
#monthly-close-form .mcx-summary td:first-child{padding-left:18px}
#monthly-close-form .mcx-toggle{min-height:52px;padding:4px 0}
#monthly-close-form .mcx-chevron{font-size:18px;line-height:1;transition:transform .15s ease}
#monthly-close-form [data-open="true"] .mcx-chevron{transform:rotate(0deg)}
#monthly-close-form [data-open="false"] .mcx-chevron{transform:rotate(0deg)}
#monthly-close-form .mcx-summary:hover{background:#edf4f1}
#monthly-close-form .mcx-summary:focus-within{outline:2px solid rgba(28,84,91,.18);outline-offset:-2px}

/* Match the stronger finance-system information hierarchy across core pages. */
.center-metrics,.plan-main-grid,.review-intelligence,.system-head-split{gap:12px!important}
.monthly-actions{margin-top:16px!important}
.finance-primary-entry,.pcms-insight,.monthly-assessment,.review-intelligence{box-shadow:none!important}

/* R8.3.9 final — use the finance-system's clearer surface hierarchy across core pages. */
.content{padding-left:max(22px,env(safe-area-inset-left))!important;padding-right:max(22px,env(safe-area-inset-right))!important}
.page-hero{width:100%;box-shadow:none!important}
#monthly-close-form .mcx-summary{cursor:pointer!important;transition:background .12s ease}
#monthly-close-form .mcx-summary:active{background:#eaf2ef!important}
#monthly-close-form .mcx-summary td{pointer-events:auto}
#monthly-close-form .mcx-toggle{cursor:pointer!important}
#monthly-close-form .mcx-toggle::after{content:"";position:absolute;inset:0}
#monthly-close-form .mcx-toggle{position:relative}
@media (orientation:landscape) and (min-width:700px){
  .content{padding-top:18px!important;padding-bottom:30px!important}
  .page-hero{padding:18px 24px!important}
  .page-hero h1{font-size:clamp(30px,3vw,42px)!important}
  #monthly-close-form .mcx-table th{padding-top:11px;padding-bottom:11px}
  #monthly-close-form .mcx-table td{padding-top:10px;padding-bottom:10px}
}

/* R8.4 — final cross-page polish and semantic money-flow language. */
:root{
  --pcms-income:#6ea995;
  --pcms-income-band:#9bc8ba;
  --pcms-external:#b96e62;
  --pcms-external-soft:#c9877c;
  --pcms-build:#3f8776;
  --pcms-build-soft:#6fa493;
  --pcms-open:#c8aa65;
  --pcms-open-soft:#dac89b;
  --pcms-surface-soft:#f5f8f7;
  --pcms-surface-warm:#fffbf4;
  --pcms-panel-gap:12px;
}

/* Shared hierarchy: finance remains the visual reference, while Center/Plan/Review
   inherit the same calmer spacing, surface weight and CTA behavior. */
.stability-page{gap:12px}
.stability-page :where(.stability-kpi,.stability-target,.center-development-summary,.center-flow-summary,.snapshot-timeline-workspace,.plan-target-deviation){box-shadow:none}
.stability-page :where(.stability-kpi,.stability-target,.center-development-summary,.center-flow-summary,.snapshot-timeline-workspace,.plan-target-deviation){border-color:var(--pcms-card-border)}
.stability-page-action{margin-top:0}
.stability-page-action .btn{min-height:48px}
.pcms-insight{margin-top:0!important}

/* Center: do not spend chart-sized space on a single immutable starting point. */
.center-overview-grid.single-point{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.center-development-summary.single-point{padding:14px 16px}
.center-development-summary.single-point>header{margin-bottom:8px}
.center-development-summary.single-point>div{gap:7px}
.center-trend.single-point{padding:10px 12px;display:grid;gap:7px;align-content:start;min-height:118px;background:var(--pcms-surface-soft)}
.center-trend.single-point svg{display:none}
.center-trend-baseline{display:grid;gap:2px;padding-top:7px;border-top:1px solid #e1e9e6}
.center-trend-baseline span{color:var(--ink);font-size:11px;font-weight:750}
.center-trend-baseline small{color:var(--muted);font-size:9.5px;line-height:1.35}
.center-trend.single-point>footer{margin-top:auto}
.center-trend.single-point>footer b{color:var(--muted);font-weight:750}

/* Plan: open goals remain honest, but consume less space until they are actionable. */
.stability-target[data-assessable="false"]{gap:7px;padding:13px 15px;background:#fff}
.stability-target[data-assessable="false"] dl{gap:6px}
.stability-target[data-assessable="false"] dl>div{padding:7px 9px;background:var(--pcms-surface-soft)}
.stability-target[data-assessable="false"] .target-current{background:#edf5f2}
.stability-target[data-assessable="false"]>small{min-height:0;margin-top:-1px}
.plan-primary-action{display:flex;justify-content:flex-end;align-items:center;padding:0 0 1px}
.plan-primary-action .btn{min-width:150px}
.plan-target-deviation.blocked{padding:14px 17px;gap:8px}
.plan-target-deviation.blocked>header{gap:1px}
.plan-target-deviation.blocked .plan-deviation-blocker{padding:10px 14px}
.plan-target-deviation.blocked .plan-deviation-blocker p{margin-top:1px}

/* Review: a single snapshot is a baseline, not yet a time series. Keep the full
   component contract in the DOM, but replace the visually empty chart with a
   compact baseline summary until a second confirmed month exists. */
.snapshot-timeline-workspace.single-point{padding:15px 17px;gap:10px}
.snapshot-timeline-workspace.single-point>header{align-items:end}
.snapshot-timeline-workspace.single-point .timeline-legend{display:none}
.snapshot-timeline-workspace.single-point .snapshot-timeline{display:none}
.timeline-single-point{display:grid;grid-template-columns:minmax(230px,.8fr) repeat(3,minmax(0,1fr));gap:8px;padding:10px 0 2px}
.timeline-single-point>div,.timeline-single-point>article{display:grid;gap:3px;min-width:0;padding:11px 12px;border:1px solid #e1e8e6;border-radius:12px;background:var(--pcms-surface-soft)}
.timeline-single-point>div{background:#edf5f2}
.timeline-single-point span,.timeline-single-point small{color:var(--muted);font-size:10px;line-height:1.35}
.timeline-single-point strong{color:var(--nav);font-size:17px;font-weight:820;font-variant-numeric:tabular-nums}
.snapshot-timeline-workspace.single-point .timeline-source-note{margin-top:1px}
.snapshot-timeline-workspace.single-point .timeline-data-details{margin-top:0}
.pro-review>.stability-kpis{max-width:720px;grid-template-columns:repeat(2,minmax(0,1fr))}

/* Sankey semantic language.
   Income = mint positive source; external consumption/debt = warm red;
   controlled wealth building = deeper green; unresolved/open = warm neutral. */
.confirmed-flow-map.detailed .sankey-detail-source.semantic-income .sankey-flow-band{stroke:var(--pcms-income-band)!important;opacity:.8}
.confirmed-flow-map.detailed .sankey-detail-source.semantic-income rect{fill:var(--pcms-income)!important}
.confirmed-flow-map.detailed .confirmed-flow-source{fill:var(--nav)!important}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-external-outflow .sankey-flow-band{stroke:var(--pcms-external-soft)!important;opacity:.72}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-external-outflow rect{fill:var(--pcms-external)!important}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-external-outflow.debt .sankey-flow-band{stroke:#a95f55!important}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-external-outflow.debt rect{fill:#a95f55!important}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-capital-build .sankey-flow-band{stroke:var(--pcms-build-soft)!important;opacity:.78}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-capital-build rect{fill:var(--pcms-build)!important}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-capital-build.purpose rect{fill:#5d9484!important}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-open-balance .sankey-flow-band{stroke:var(--pcms-open-soft)!important;opacity:.74}
.confirmed-flow-map.detailed .confirmed-flow-band.semantic-open-balance rect{fill:var(--pcms-open)!important}
.confirmed-flow-map.detailed .sankey-label-connector{stroke:#9baca7!important;opacity:.62}
.confirmed-flow-legend.detailed i.semantic-income{background:var(--pcms-income)!important}
.confirmed-flow-legend.detailed i.semantic-external-outflow{background:var(--pcms-external)!important}
.confirmed-flow-legend.detailed i.semantic-capital-build{background:var(--pcms-build)!important}
.confirmed-flow-legend.detailed i.semantic-open-balance{background:var(--pcms-open)!important}
.confirmed-flow-legend.detailed>div[data-flow-class="external-outflow"] strong{color:#9d584e}
.confirmed-flow-legend.detailed>div[data-flow-class="capital-build"] strong{color:#347663}
.confirmed-flow-legend.detailed>div[data-flow-class="income"] strong{color:#3f806e}
.confirmed-flow-legend.detailed>div[data-flow-class="open-balance"] strong{color:#8c743a}
.finance-flow-period-block.draft{background:var(--pcms-surface-warm)}

/* Small cross-page typography alignment with the Finance System. */
.pro-center .center-development-summary h2,.pro-center .center-flow-summary h2,.pro-plan .plan-target-deviation h2,.pro-review .snapshot-timeline-workspace h2{font-size:clamp(20px,2vw,27px)}
.pro-plan .stability-target>span{font-size:16px}
.pro-review .stability-period-marker,.pro-plan .stability-period-marker{margin-top:-3px}

@media (orientation:landscape) and (min-width:900px){
  .center-overview-grid.single-point{gap:12px}
  .timeline-single-point{grid-template-columns:minmax(230px,.9fr) repeat(3,minmax(0,1fr))}
  .pro-plan .stability-target-grid{gap:12px}
}
@media(max-width:900px){
  .timeline-single-point{grid-template-columns:1fr 1fr}
  .center-overview-grid.single-point{grid-template-columns:1fr}
}
.flow-semantic-key{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;padding:8px 10px;border:1px solid #e4ebe8;border-radius:11px;background:#fbfdfc}
.flow-semantic-key span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:750}
.flow-semantic-key span::before{content:"";width:9px;height:9px;border-radius:99px;background:#999}
.flow-semantic-key .income::before{background:var(--pcms-income)}
.flow-semantic-key .external-outflow::before{background:var(--pcms-external)}
.flow-semantic-key .capital-build::before{background:var(--pcms-build)}
.flow-semantic-key .open-balance::before{background:var(--pcms-open)}
/* R8.5 — Usability simplification: overview is the finance-system home. */
.finance-overview-period.draft > header,
.finance-overview-period.confirmed > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.finance-overview-period > header > span {display:flex;flex-direction:column;gap:3px;}
.finance-direct-edit {flex:0 0 auto;white-space:nowrap;}
.finance-breadcrumb {font-size:.88rem;color:var(--muted);font-weight:700;letter-spacing:.02em;}
.monthly-resolve-blocker {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  align-items:center;
  gap:18px;
  padding:14px 0;
}
.monthly-resolve-blocker > div:first-child {display:flex;flex-direction:column;gap:4px;}
.monthly-resolve-blocker small {color:var(--muted);}
.monthly-resolve-action {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.monthly-resolve-action select {min-height:48px;width:100%;}
@media (max-width: 760px){
  .monthly-resolve-blocker {grid-template-columns:1fr;}
  .monthly-resolve-action {grid-template-columns:1fr;}
}
.finance-overview-position {grid-template-columns:minmax(0,1fr) auto auto;}
.finance-position-edit {white-space:nowrap;margin-left:8px;}
.finance-overview-position-select{
  width:100%;
  border:0;
  border-bottom:1px solid #edf1ef;
  border-radius:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.finance-overview-position-select>em{font-style:normal;color:var(--teal);font-size:11px;font-weight:800;white-space:nowrap}
.finance-overview-position-select:focus-visible{outline:3px solid #66aaa244;outline-offset:-3px}

/* R8.6 – one master-detail interaction for financial positions and flows. */
.finance-master-detail>*{min-width:0}
.finance-master-editor{min-height:0;overflow:hidden}
.finance-master-editor .finance-editor-grid>label,
.purpose-master-form .finance-editor-grid>label{display:grid;gap:6px;align-content:start;min-width:0}
.finance-master-editor .finance-editor-grid>label>small,
.purpose-master-form .finance-editor-grid>label>small{display:block;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.finance-master-editor :where(input,select),.purpose-master-form :where(input,select){width:100%;min-width:0;max-width:100%}
.finance-master-actions{justify-content:flex-start;padding-top:2px}
.finance-master-actions .danger{margin-left:0}
.finance-link-field{grid-column:1/-1;padding:11px 12px;border:1px solid #d9e7e3;border-radius:12px;background:#f5f9f8}
.finance-master-row small{overflow-wrap:anywhere}
.finance-master-row strong{font-variant-numeric:tabular-nums}

.purpose-master-panel{display:grid;gap:14px}
.purpose-master-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.purpose-master-panel>header h2{margin:4px 0 7px}
.purpose-master-panel>header p{margin:0;color:var(--muted);line-height:1.5}
.purpose-pool-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px}
.purpose-pool-tabs button{display:grid;gap:3px;min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left}
.purpose-pool-tabs button span{font-weight:800}.purpose-pool-tabs button strong{color:var(--nav);font-size:13px}
.purpose-pool-tabs button.active{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal);background:#f1f8f6}
.purpose-section-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.purpose-section-switch button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#f7f9f8;color:var(--ink);font:inherit;text-align:left}
.purpose-section-switch button span{font-weight:850}.purpose-section-switch button strong{white-space:nowrap;color:var(--nav)}
.purpose-section-switch button.active{border-color:var(--teal);background:#eaf4f1}
.purpose-master-detail{margin-top:0}
.purpose-master-detail .finance-master-list h3{margin:4px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:23px}
.purpose-master-form{display:grid;gap:15px}
.purpose-new-focused{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfcfc}

@media(max-width:900px){
  .finance-master-detail{grid-template-columns:minmax(245px,.82fr) minmax(0,1.18fr)}
  .finance-master-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "amount" "action"}
  .finance-master-row strong,.finance-master-row em{justify-self:start}
  .purpose-master-panel>header{flex-direction:column}
  .purpose-section-switch{grid-template-columns:1fr}
}
@media(max-width:700px){
  .finance-master-detail{grid-template-columns:1fr}
  .purpose-master-panel>header>.btn{width:100%}
}

/* R8.8 – initial target setup and first analysis. */
.initial-target-shell{display:grid;gap:16px;min-width:0}
.initial-detail-bridge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.initial-detail-bridge>div{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f7faf9}
.initial-detail-bridge span,.initial-detail-bridge small{color:var(--muted)}
.initial-detail-bridge span{font-size:12px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.initial-detail-bridge strong{font-size:18px}.initial-detail-bridge small{line-height:1.45}
.initial-goal-baseline{display:grid;grid-template-columns:auto repeat(2,minmax(150px,auto)) minmax(240px,1fr);align-items:center;gap:12px;padding:14px 18px;border:1px solid #d9e7e3;border-radius:17px;background:#f4f9f7}
.initial-goal-baseline h2{margin:3px 0 0}.initial-goal-baseline>span{display:grid;gap:3px;padding-left:14px;border-left:1px solid #d3e3df}.initial-goal-baseline>small{color:var(--muted);line-height:1.4}
.initial-goal-horizon{margin-bottom:0}
.initial-goal-corridor,.initial-secondary-goals,.optional-position-goals{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}
.initial-goal-corridor>header h2,.initial-secondary-goals>header h2,.optional-position-goals>header h2{margin:4px 0 6px}.initial-goal-corridor>header p,.optional-position-goals>header p{margin:0;color:var(--muted)}
.initial-corridor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.initial-corridor-grid>article,.initial-secondary-grid>article{display:grid;align-content:start;gap:10px;padding:16px;border:1px solid #dfe9e6;border-radius:15px;background:#f8faf9}.initial-corridor-grid h3,.initial-secondary-grid h3{margin:0;font-size:18px}.initial-corridor-grid p{margin:0;color:var(--muted);line-height:1.4}
.initial-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.optional-position-goals>header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.optional-position-goals>header p{max-width:560px;line-height:1.45}
.initial-analysis{display:grid;gap:16px;margin-bottom:18px;padding:20px;border:1px solid #d9e7e3;border-radius:20px;background:linear-gradient(145deg,#f7fbfa,#fff)}
.initial-analysis>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.initial-analysis>header h1{margin:4px 0 7px}
.initial-analysis>header p{max-width:760px;margin:0;color:var(--muted);line-height:1.5}
.initial-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.initial-analysis-focus{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 15px;border-left:4px solid var(--teal);border-radius:10px;background:#edf6f3}.initial-analysis-focus>span{color:var(--teal);font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.initial-analysis-focus>b{font-size:17px}.initial-analysis-focus>small{color:var(--muted)}
.initial-analysis-grid article{display:grid;align-content:start;gap:8px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.initial-analysis-grid article>span{color:var(--teal);font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.initial-analysis-grid h2{display:grid;gap:5px;margin:0;font-size:clamp(18px,1.9vw,25px);line-height:1.16}
.initial-analysis-grid h2 span,.initial-analysis-grid p,.initial-analysis-grid small{margin:0;color:var(--muted);font-family:inherit;font-size:12px;font-weight:600;line-height:1.45}
.initial-analysis-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.target-setup-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;margin-bottom:18px;padding:18px;border:1px solid #e4d7b4;border-radius:18px;background:#fffaf0}
.target-setup-status h2{margin:4px 0 6px}.target-setup-status p{margin:0;color:var(--muted)}
.target-setup-actions{display:flex;align-items:center;gap:9px}
.target-setup-status aside{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #eadfca}
.target-setup-status aside span{flex:1}.target-setup-status aside small{color:var(--muted)}
.initial-month-wait{margin-bottom:14px}
.basic-target-review{max-width:960px;margin-inline:auto}

/* R8.9 – flexible objective and driver graph. */
.goal-focus-selector,.goal-driver-map{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;min-width:0}
.goal-focus-selector>header,.goal-driver-map>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.goal-focus-selector h2,.goal-driver-map h2{margin:4px 0 6px}.goal-focus-selector p,.goal-driver-map p{margin:0;color:var(--muted);line-height:1.45}
.goal-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.goal-focus-option{position:relative;display:block;min-width:0;min-height:132px;padding:15px;border:1px solid #d9e3e0;border-radius:15px;background:#f9fbfa;cursor:pointer}
.goal-focus-option>input{position:absolute;top:14px;right:14px;width:22px;height:22px;accent-color:var(--teal)}
.goal-focus-option>span{display:grid;gap:7px;padding-right:25px}.goal-focus-option b{font-size:16px}.goal-focus-option small{color:var(--muted);line-height:1.4}.goal-focus-option em{font-size:11px;font-style:normal;font-weight:800;color:var(--teal)}
.goal-focus-option.selected{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal);background:#eef7f4}.goal-focus-option.open{grid-column:span 2;background:#fbfaf6}
.goal-driver-map{background:linear-gradient(150deg,#f4faf8,#fff)}.goal-driver-map.empty{padding-block:28px}
.goal-driver-map>header .status{white-space:nowrap}.driver-outcome{justify-self:center;display:grid;gap:5px;width:min(520px,100%);padding:17px 20px;border:2px solid var(--nav);border-radius:17px;background:var(--nav);color:#fff;text-align:center}
.driver-outcome>span{color:#d9bf79;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.driver-outcome>b{font-family:Georgia,"Times New Roman",serif;font-size:25px}.driver-outcome>small{color:#dce7e5}
.driver-layer{display:grid;gap:10px}.driver-layer>header{display:grid;gap:3px;text-align:center}.driver-layer>header>b{font-size:16px}.driver-layer>header>small{color:var(--muted)}
.driver-node-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.driver-node{display:grid;align-content:start;gap:6px;min-width:0;padding:14px;border:1px solid var(--line);border-top:5px solid #7c9c96;border-radius:14px;background:#fff}
.driver-node>span{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}.driver-node h3{margin:0;font-size:16px}.driver-node p{font-size:12px}.driver-node>small{margin-top:auto;color:var(--ink);font-size:11px;font-weight:750;line-height:1.35}
.driver-node.relation-direct{border-top-color:#16825f}.driver-node.relation-enables{border-top-color:#3b7194}.driver-node.relation-protects{border-top-color:#b48a2e}.driver-node.relation-opposes{border-top-color:#b95b50}.driver-node.relation-concretizes{border-top-color:#765a9d}.driver-node.relation-separate{border-top-color:#8b9693}
.goal-driver-map>footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding-top:4px;color:var(--muted)}.goal-driver-map>footer b{color:var(--ink)}
.driver-legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px}.driver-legend span{display:flex;align-items:center;gap:5px}.driver-legend i{width:10px;height:10px;border-radius:50%;background:#16825f}.driver-legend i.enables{background:#3b7194}.driver-legend i.protects{background:#b48a2e}.driver-legend i.opposes{background:#b95b50}
.goal-driver-map.compact .driver-node-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.goal-driver-map.compact .driver-node p{display:none}
.optional-driver-details{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.optional-driver-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:16px 20px;cursor:pointer;list-style:none}.optional-driver-details>summary::-webkit-details-marker{display:none}.optional-driver-details>summary>span{display:grid;gap:4px}.optional-driver-details>summary small{color:var(--muted);font-weight:500}.optional-driver-details>summary em{font-style:normal;font-size:12px;font-weight:850;color:var(--teal)}.optional-driver-details[open]>summary{border-bottom:1px solid var(--line);background:#f5f9f8}.optional-driver-details>div{display:grid;gap:18px;padding:18px}
.minimum-net-worth-context{display:grid;gap:6px;padding:14px 16px;border-left:4px solid var(--teal);border-radius:12px;background:#eef5f3}.minimum-net-worth-context span{line-height:1.4}.minimum-net-worth-context small{color:var(--muted);line-height:1.45}
.corridor-review{display:grid;gap:12px;margin:14px 0;padding:16px;border:1px solid #cfe1dc;border-radius:16px;background:#f4f9f7}.corridor-review>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.corridor-review h3{margin:3px 0 0}.corridor-review>header>small{max-width:300px;color:var(--muted);line-height:1.4;text-align:right}.corridor-review>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.corridor-review>div>span{display:grid;gap:5px;padding:12px;border:1px solid #dde9e6;border-radius:12px;background:#fff}.corridor-review span small{color:var(--muted)}.corridor-review span b{line-height:1.25}
@media(max-width:900px){
  .initial-goal-baseline{grid-template-columns:repeat(3,minmax(0,1fr))}.initial-goal-baseline>small{grid-column:1/-1}.initial-secondary-grid{grid-template-columns:1fr}.optional-position-goals>header{flex-direction:column}
  .initial-analysis-grid{grid-template-columns:1fr}
  .goal-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-node-grid,.goal-driver-map.compact .driver-node-grid,.corridor-review>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .target-setup-status{grid-template-columns:1fr}
  .target-setup-status aside{grid-column:1}
  .target-setup-actions{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:700px){
  .initial-detail-bridge,.initial-corridor-grid,.initial-goal-baseline{grid-template-columns:1fr}.initial-goal-baseline>span{padding:0;border-left:0}
  .initial-analysis>header,.target-setup-status aside{align-items:flex-start;flex-direction:column}
  .initial-analysis-actions{display:grid;grid-template-columns:1fr}
  .goal-focus-selector>header,.goal-driver-map>header,.optional-driver-details>summary,.corridor-review>header{align-items:flex-start;flex-direction:column}.corridor-review>header>small{text-align:left}.goal-focus-grid,.driver-node-grid,.goal-driver-map.compact .driver-node-grid,.corridor-review>div{grid-template-columns:1fr}.goal-focus-option.open{grid-column:auto}.goal-focus-option{min-height:112px}
}

/* v0.19.12 – shared orientation contract across page levels. */
html{scroll-padding-top:150px}
.workspace-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:14px;
  padding:18px 22px;
  border:1px solid var(--line);
  border-radius:var(--pcms-section-radius,18px);
  background:linear-gradient(145deg,#f8fbfa,#fff);
}
.workspace-header-copy{display:grid;gap:5px;min-width:0}
.workspace-hero .finance-breadcrumb{margin:0 0 2px;color:var(--muted);font-size:11px}
.workspace-hero h1{margin:2px 0;font-size:clamp(28px,3vw,40px);line-height:1.08}
.workspace-hero p{max-width:850px;margin:0;color:var(--muted);line-height:1.45}
.workspace-hero .status{justify-self:start;margin-top:5px}
.workspace-back{flex:0 0 auto;white-space:nowrap}
[data-testid="page-header"],[data-testid="workspace-header"],[data-workspace-header="true"],.finance-overview-drilldown,#monthly-history{scroll-margin-top:150px}
.finance-master-row:focus-visible,.finance-overview-position-select:focus-visible,.finance-position-drilldown>summary:focus-visible{outline:3px solid #66aaa244;outline-offset:2px}
.finance-position-drilldown>summary{min-height:56px}
@media(max-width:760px){
  html{scroll-padding-top:76px}
  .workspace-hero{align-items:stretch;flex-direction:column;padding:16px}
  .workspace-back{width:100%}
  [data-testid="page-header"],[data-testid="workspace-header"],[data-workspace-header="true"],.finance-overview-drilldown,#monthly-history{scroll-margin-top:76px}
}

/* PCMS 1.0 candidate: progressive goals; all detailed inputs remain available. */
.goal-review-details{border:1px solid #cbdcd8;border-radius:16px;padding:16px;margin:20px 0}
.goal-review-details>summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:750}
.goal-review-details[open]>summary{margin-bottom:16px}
.stability-target-grid>.plan-audit-details{grid-column:1/-1;margin:0}
.stability-target-grid>.plan-audit-details .stability-target{margin-top:12px}
.stability-target-grid:has(>.plan-audit-details)>.stability-target{grid-column:1/-1}
.driver-steering-focus footer>.btn{margin-top:12px;align-self:flex-start}
.goal-primary-editor,.goal-additional-editor,.optional-goal-choice,.target-hierarchy-note,.confirmed-plan-journey,.plan-audit-details{min-width:0;border:1px solid var(--line,#d7e1df);border-radius:22px;background:var(--card,#fff);padding:24px;margin:20px 0}
.goal-primary-editor{border-top:5px solid #174752}
.goal-primary-editor>article{max-width:760px;margin:0 auto}
.goal-primary-editor .initial-goal-corridor{margin:0;border:0;padding:0}
.goal-context-note,.target-hierarchy-note{background:#edf5f3;color:#193e48;line-height:1.6}
.goal-context-note{padding:18px;border-radius:14px;margin-top:22px}
.goal-additional-editor>summary,.optional-assumptions>summary,.plan-audit-details>summary,.driver-impact-more>summary{min-height:48px;display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:750;color:inherit}
.goal-additional-editor>summary:before,.optional-assumptions>summary:before,.plan-audit-details>summary:before,.driver-impact-more>summary:before{content:"＋"}
.goal-additional-editor[open]>summary:before,.optional-assumptions[open]>summary:before,.plan-audit-details[open]>summary:before,.driver-impact-more[open]>summary:before{content:"−"}
.goal-additional-editor>article{border-top:1px solid #d7e1df;margin-top:20px;padding-top:20px}
.goal-additional-editor>p{color:#56666b}
.optional-goal-choice{border:2px solid #b08b3c;background:#fcf8ed;display:grid;grid-template-columns:3fr 2fr;gap:24px;align-items:center}
.optional-goal-choice>div:last-child{display:flex;flex-direction:column;gap:12px}
.optional-driver-details{scroll-margin-top:110px}
.optional-driver-details>summary{border:1px solid #b08b3c}
.target-hierarchy-note{font-size:15px}
.target-hierarchy-note ul{padding-left:22px}
.target-hierarchy-note li+li{margin-top:8px}
.optional-assumptions{border:1px solid #cbdcd8;border-radius:16px;padding:16px;margin:18px 0}
.optional-assumptions .return-grid{margin-top:20px}
.journey-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.journey-facts>span{background:#edf4f3;border-radius:14px;padding:16px;line-height:1.5}
.journey-facts b{display:block;font-size:24px;color:#0a2038;margin-top:6px}
.confirmed-plan-journey .target-chart{margin:16px 0;min-width:0}
.driver-goal-lens{font-size:14px;color:#56666b}
.driver-impact-more{margin-top:16px}
.driver-impact-more>ul{margin-top:12px}
.goal-additional-editor:focus-within,.optional-assumptions:focus-within{outline:2px solid #517f88;outline-offset:3px}
@media(max-width:760px){
  .optional-goal-choice,.journey-facts{grid-template-columns:1fr}
  .goal-primary-editor,.goal-additional-editor,.optional-goal-choice,.confirmed-plan-journey,.target-hierarchy-note,.plan-audit-details{padding:18px}
  .optional-driver-details{scroll-margin-top:82px}
}

/* Stufe B: readable results, optional depth and resilient tablet layout. */
.goal-result,.target-next-step,.structure-comparison,.purpose-goal-summary{padding:22px;margin:18px 0;border:1px solid #d5e2e0;border-radius:18px;background:#fff;color:#102235;min-width:0}
.goal-result{background:#f0f7f5;border-left:5px solid #214e5a}.goal-result h3{font-size:clamp(1.3rem,2.3vw,1.9rem);margin:10px 0}.goal-result strong,.steering-capital strong{display:block;font-size:1.5rem;margin:8px 0}.goal-result small,.structure-comparison small,.purpose-goal-summary small,.steering-capital small{display:block;line-height:1.6;color:#526269}.target-next-step p{max-width:80ch;line-height:1.55}.target-next-step .btn{margin-top:10px}
.table-scroll{overflow-x:auto;margin:18px 0;max-width:100%}.structure-comparison table{border-collapse:collapse;width:100%;font-size:.95rem;min-width:700px}.structure-comparison th,.structure-comparison td{padding:14px 10px;border-bottom:1px solid #dce6e4;text-align:right;white-space:nowrap}.structure-comparison th:first-child{text-align:left}.structure-comparison thead{background:#f1f6f5}.structure-comparison tr:last-child{font-weight:700;background:#f5f7fa}.structure-comparison td:last-child{color:#175660}
.purpose-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.purpose-goal-grid article,.purpose-goal-editor{padding:18px;border:1px solid #dae5e3;border-radius:12px;margin:12px 0}.purpose-goal-grid dl div{display:flex;justify-content:space-between;gap:14px;margin:12px 0}.purpose-goal-grid dd{margin:0;font-weight:700;text-align:right}.purpose-goal-editor .field{max-width:100%}
.steering-capital{padding:16px 20px;background:#eef5f4;border-radius:14px}.center-overview-grid.single-point{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.center-development-summary.single-point{min-height:0}.center-development-summary.single-point>div:empty{display:none}.goal-review-details>*,.optional-driver-details>p{margin:16px}.goal-review-details>summary{margin:0}
input,select,[data-focus="target-review"]{scroll-margin-top:150px}.calibration-actions{flex-wrap:wrap;gap:12px}.guide-driver-context .btn{margin-top:12px}
@media(max-width:760px){.goal-result,.target-next-step,.structure-comparison,.purpose-goal-summary{padding:16px}.center-overview-grid.single-point{grid-template-columns:1fr}.structure-comparison table{font-size:.9rem}.calibration-actions>.btn{flex:1 1 160px}.calibration-actions .draft-actions{flex-wrap:wrap}}

/* RC4: one readable goal-to-contribution calculation on every surface. */
.funding-editor,.funding-summary{margin:16px 0;padding:20px;border:1px solid var(--line,#d5e1e1);border-radius:18px;background:var(--card,#fff);color:var(--ink,#162b39);min-width:0}
.funding-summary{background:var(--soft,#f1f7f6)}
.funding-editor h2,.funding-summary h3{margin:6px 0 12px;font-size:clamp(21px,2.2vw,28px);line-height:1.2}
.funding-editor p,.funding-summary p{margin:8px 0 16px;line-height:1.5}
.funding-editor .field,.funding-editor .funding-help{min-width:0;align-self:start}
.funding-editor small,.funding-summary small{display:block;line-height:1.5;color:var(--muted,#52656a);font-size:14px}
.funding-editor select,.funding-editor input{min-height:48px;width:100%;min-width:0}
.funding-help{padding:15px;background:var(--soft,#f1f7f6);border-radius:12px}
.funding-explanation{margin-top:12px}
.funding-explanation summary{min-height:44px;padding:12px 0;font-weight:700;cursor:pointer}
.funding-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.funding-metrics>div{padding:14px;background:var(--card,#fff);border-radius:12px;min-width:0}
.funding-metrics dt{font-size:14px;color:var(--muted,#52656a);line-height:1.4}
.funding-metrics dd{font-size:clamp(20px,2.2vw,28px);font-weight:750;margin:6px 0 0;overflow-wrap:anywhere}
.funding-review{margin:16px 0;padding:16px;border-left:4px solid #ad8333;background:var(--card,#fff);border-radius:12px}
.funding-summary [data-testid="funding-review"] p{margin-bottom:8px}
.driver-steering-focus .funding-summary{margin:10px 0 16px;padding:16px}
.driver-steering-focus .funding-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.center-overview-grid.single-point{align-items:start}
.center-overview-grid.single-point .center-development-summary{min-height:0}
.r3-ready-shell{padding:clamp(20px,3vw,38px)!important}
.r3-ready-shell>h1{font-size:clamp(30px,4vw,48px)!important;margin:14px 0!important;line-height:1.15!important}
.r3-ready-shell .r3-ready-lead{margin:12px 0 20px!important;font-size:18px!important}
.r3-ready-shell .r3-ready-note{padding:18px!important;margin:18px 0!important}
.pro-onboarding-aside .phase-bars{grid-template-columns:repeat(8,minmax(0,1fr))}
@media(max-width:900px){.driver-steering-focus .funding-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.funding-editor,.funding-summary{padding:14px}.funding-metrics,.driver-steering-focus .funding-metrics{grid-template-columns:1fr}.funding-editor .form-grid{grid-template-columns:1fr}}
.funding-path{margin:18px 0 12px;padding:14px;background:var(--card,#fff);border-radius:12px}
.funding-path figcaption{font-weight:700}.funding-path svg{display:block;width:100%;height:190px}.funding-path svg text{fill:var(--muted);font-size:13px}.funding-plan-line{fill:none;stroke:var(--teal,#204d57);stroke-width:4}.funding-target-line{fill:none;stroke:var(--gold,#ac8132);stroke-width:3;stroke-dasharray:7 5}
.funding-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.funding-path summary{padding:14px 0;min-height:44px;cursor:pointer}.funding-path table{width:100%;border-collapse:collapse}.funding-path th,.funding-path td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}
@media(min-width:1000px){.funding-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
.funding-driver-details{margin:10px 0}.funding-driver-details summary{min-height:44px;padding:12px 0;font-weight:700;cursor:pointer}.driver-steering-focus .funding-driver-details ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0}
.center-overview-grid.single-point .center-development-summary>div:empty{display:none}
@media(max-width:700px){.driver-steering-focus .funding-driver-details ul{grid-template-columns:1fr}}
.plan-version-history{padding:16px;margin:16px 0;border:1px solid var(--line);border-radius:16px;background:var(--card)}.plan-version-history summary{padding:10px 0;min-height:44px;font-weight:700;cursor:pointer}.plan-version-history table{border-collapse:collapse;min-width:620px;width:100%}.plan-version-history th,.plan-version-history td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}

.income-editor{margin:16px 0;padding-bottom:12px;border-bottom:1px solid var(--line,#d5e1e1)}
.income-editor>.field{margin-bottom:16px}
.income-summary{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#d5e1e1);min-width:0}
.income-summary h4{font-size:20px;margin:0 0 12px}
.income-summary .table-scroll{overflow-x:auto;max-width:100%}
.income-summary th,.income-summary td{padding:10px;text-align:left}
.income-summary summary{min-height:44px;padding:12px 0;cursor:pointer}

/* RC6: shorter primary views; all evidence and controls remain available. */
.pcms-detail-panel { min-width:0; border:1px solid var(--line,#d5dedc); border-radius:14px; background:var(--card,#fff); margin:14px 0; }
.pcms-detail-panel > summary { min-height:48px; padding:13px 16px; cursor:pointer; font-weight:700; color:var(--ink,#132730); }
.pcms-detail-panel > summary:focus-visible { outline:3px solid #b38736; outline-offset:2px; border-radius:12px; }
.pcms-detail-panel[open] > summary { border-bottom:1px solid var(--line,#d5dedc); }
.pcms-detail-panel > :not(summary) { margin:12px 16px; }
.pcms-detail-body > :first-child { margin-top:0; }
.pcms-detail-body > :last-child { margin-bottom:0; }
.pcms-detail-panel .driver-impact, .pcms-detail-panel .monthly-purpose-empty,
.pcms-detail-panel .review-bridge { border:0; padding:8px; }
.page-hero, .calibration-hero, .area-hero { padding:20px 24px; }
.page-hero h1, .calibration-hero h1 { font-size:clamp(26px,3vw,38px); line-height:1.15; }
.page-hero p, .calibration-hero p { margin:6px 0 0; }
.stability-page .driver-steering-focus { padding:16px 18px; margin:16px 0; }
.driver-steering-focus header h2 { font-size:24px; margin:5px 0; }
.driver-steering-focus header p { margin:8px 0; }
.driver-steering-focus > footer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; padding:14px; }
.driver-steering-focus > footer > span, .driver-steering-focus > footer > b,
.driver-steering-focus > footer > small { grid-column:1; }
.driver-steering-focus > footer > button { grid-column:2; grid-row:1/4; align-self:center; min-width:150px; }
.center-goal-gap { display:flex; flex-wrap:wrap; gap:8px 28px; margin:12px 0; }
.center-goal-gap span { color:var(--muted,#5a676b); }
.funding-summary { padding:16px; }
.funding-summary h3 { font-size:24px; margin:6px 0; }
.funding-summary header p { margin:8px 0 12px; }
.funding-metrics { gap:10px; margin:12px 0; }
.funding-metrics > div { padding:12px; }
.funding-metrics dd { font-size:clamp(21px,2vw,28px); }
.plan-direct-actions { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 18px; }
.plan-direct-actions button { min-height:48px; }
.plan-change-note { padding:16px; border-left:4px solid #aa8139; border-radius:10px; background:var(--card,#fff); }
.plan-change-note span { display:block; margin-top:8px; }
.inline-message.success { color:#276b48; background:#edf7f0; border-color:#bddbc6; }
.monthly-final.blocked { background:var(--card,#fff); border-color:var(--line,#d5dedc); }
.monthly-final .btn.quiet { margin:5px 8px; min-height:44px; text-decoration:underline; }
.monthly-final h2 { font-size:26px; }
.monthly-bridge p, .monthly-final p { font-size:16px; line-height:1.5; }
.monthly-actions, .calibration-actions { width:100%; max-width:none; gap:12px; }
.mcx-table .mcx-summary td { padding-top:18px; padding-bottom:18px; }
.mcx-table .mcx-item td { padding-top:12px; padding-bottom:12px; }
.mcx-table input, .mcx-table select { font-size:16px; min-height:44px; }
.monthly-residual { padding:20px; }
.monthly-residual h2 { font-size:27px; }
.monthly-progress > span { gap:8px; }
.monthly-bridge h2, .review-bridge h2 { font-size:27px; }
.calibration-grid > .pcms-detail-panel { grid-column:1/-1; }
@media(max-width:760px) {
 .page-hero, .calibration-hero, .area-hero { padding:18px; }
 .driver-steering-focus > footer { display:flex; flex-direction:column; align-items:stretch; }
 .driver-steering-focus > footer > button { width:100%; }
 .funding-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .plan-direct-actions > button { flex:1 1 180px; }
 .monthly-final h2 { font-size:23px; }
}

.example-dataset-note { display:flex; flex-wrap:wrap; gap:6px 20px; padding:12px 16px; margin-bottom:16px; border:1px solid var(--gold); border-radius:12px; background:var(--card); color:var(--ink); font-size:15px; }

/* Final: explicit target/actual/future semantics and touch-readable annotations. */
.funding-path{margin:1.25rem 0;padding:1rem;border:1px solid var(--line,#dbe3e2);border-radius:20px;background:var(--surface,#fff)}
.funding-path figcaption{display:grid;gap:.35rem}.funding-path svg{display:block;width:100%;height:auto;margin:.7rem 0}.funding-path svg text{font:14px system-ui;fill:var(--text,#18232e)}
.funding-required-line{fill:none;stroke:#b18136;stroke-width:3}.funding-actual-line{fill:none;stroke:#09213e;stroke-width:4}.funding-actual-dot{fill:#09213e;stroke:white;stroke-width:1.5}.funding-forecast-line{fill:none;stroke:#377b70;stroke-width:3;stroke-dasharray:8 5}.funding-grid{stroke:#dce3e5;stroke-width:1}.funding-today-line{stroke:#8b969b;stroke-dasharray:3 5;stroke-width:1}
.funding-legend{display:flex;flex-wrap:wrap;gap:.7rem 1.1rem}.funding-legend span::before{content:"";display:inline-block;width:20px;border-top:3px solid;margin-right:.4rem;vertical-align:middle}.funding-legend .target{color:#9c7029}.funding-legend .actual{color:#09213e}.funding-legend .forecast{color:#377b70}.funding-legend .forecast::before{border-top-style:dashed}.funding-path-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.funding-path td,.funding-path th{padding:.55rem;text-align:right}.funding-path th:first-child{text-align:left}
.passive-net-field{display:grid;gap:.35rem;margin-top:.6rem;font-size:.88rem}.passive-net-field input{min-width:0;width:100%;padding:.6rem;border:1px solid #dbe3e2;border-radius:12px}.passive-net-field small{font-weight:400;color:#617277}.mcx-now .passive-net-field{max-width:220px}.mcx-now .passive-net-field input{font-size:1rem}.finance-master-row{grid-template-columns:minmax(0,1fr) auto}.finance-master-row b{overflow-wrap:normal;word-break:normal}
@media(max-width:680px){.funding-path{padding:.7rem}.funding-path-metrics{grid-template-columns:1fr}.funding-path svg{min-width:0}.funding-path figcaption b{font-size:1rem}}

/* 1.0.3: separate observed facts, conditional illustration and chosen scenario. */
.funding-preview{margin:1.2rem 0;padding:1.2rem;border:1px solid var(--border,#d6dfdc);border-radius:18px;background:var(--surface-soft,#f2f7f6)}
.funding-preview h3{margin:.6rem 0 1rem}.funding-preview .funding-metrics{margin:1rem 0}.funding-preview p{max-width:86ch}
.funding-preview-chart{margin:1rem 0}.funding-preview-chart svg{max-height:320px}
.funding-editor>.pcms-detail-panel{margin:1rem 0}.funding-editor>.pcms-detail-panel>p,.funding-editor>.pcms-detail-panel>h4,.funding-editor>.pcms-detail-panel>.btn,.funding-editor>.pcms-detail-panel>.form-grid,.funding-editor>.pcms-detail-panel>.income-editor{margin:1rem}
.funding-change-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1.3fr) auto;gap:1rem;align-items:end;padding:1rem;border-top:1px solid var(--border,#d6dfdc)}
.funding-change-row input{min-width:0;max-width:100%}.funding-schedule-summary{margin:1rem 0}.funding-editor button:disabled{opacity:.5}
@media(max-width:650px){.funding-change-row{grid-template-columns:1fr}.funding-preview{padding:.8rem}.funding-preview .funding-metrics{grid-template-columns:1fr 1fr}.funding-preview-chart svg{min-width:520px}.funding-preview-chart{overflow-x:auto}}

/* 1.0.6 — one question, immediate result, optional depth. */
.setup-journey{max-width:1240px;margin:0 auto 32px;background:var(--surface,#fff);border:1px solid #d5dfdf;border-radius:24px;overflow:hidden;color:#172630}
.setup-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:24px 32px;border-bottom:1px solid #e0e7e6;background:#f5f8f7}
.setup-progress>span{display:flex;align-items:center;gap:8px;font-size:13px;color:#657373;line-height:1.3}
.setup-progress i{font-style:normal;background:#e3eae8;border-radius:50%;width:28px;height:28px;flex-shrink:0;display:grid;place-items:center}
.setup-progress .current{font-weight:750;color:#123f4d}.setup-progress .current i{background:#123f4d;color:white}.setup-progress .done i{background:#d6ebe2;color:#226747}
.setup-heading{padding:36px 44px 8px}.setup-heading h1{font-size:clamp(28px,3.4vw,43px);line-height:1.16;margin:10px 0 12px}.setup-heading p{max-width:850px;font-size:17px;color:#58676d;line-height:1.5}.setup-heading h1:focus{outline:none}
.setup-body{padding:16px 44px 12px}.setup-journey fieldset{border:0;padding:0;margin:0 0 24px}.setup-journey legend{font-weight:750;font-size:18px;margin-bottom:12px}.setup-journey input,.setup-journey select{min-height:48px;font:inherit;border:1px solid #bacbcd;border-radius:10px;padding:12px;background:#fff;color:#172630;width:100%;box-sizing:border-box}.setup-journey input[type=checkbox],.setup-journey input[type=radio]{width:22px;min-height:22px;height:22px;flex:0 0 22px;accent-color:#144b58}.setup-journey input:focus-visible,.setup-journey select:focus-visible,.setup-journey button:focus-visible,.setup-journey summary:focus-visible{outline:3px solid #ba8b37;outline-offset:3px}
.setup-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.setup-benefits>div{background:#eff6f4;padding:24px;border-radius:16px}.setup-benefits>div>span{color:#9d722c;font-weight:800}.setup-benefits h2{font-family:inherit;font-size:20px;line-height:1.3;margin:12px 0}.setup-benefits p{font-size:16px;line-height:1.5;margin:0;color:#4d6065}
.setup-scope,.setup-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.setup-choice{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid #cfdcdd;border-radius:14px;cursor:pointer;line-height:1.4;font-weight:600}.setup-choice:has(input:checked){border-color:#287080;background:#eef6f4;box-shadow:inset 0 0 0 1px #287080}.setup-choice small{display:block;font-weight:400;color:#586970;margin-top:5px;font-size:14px}.setup-goal-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-goal-options>label:last-child{grid-column:1/-1;background:#f7f8f7}.setup-goal-fields{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:24px}
.setup-values{width:100%;border-collapse:collapse;font-size:15px;min-width:670px}.setup-values thead{background:#edf3f2;color:#475d64}.setup-values th,.setup-values td{padding:15px 10px;border-bottom:1px solid #dfe7e6;text-align:left;vertical-align:top}.setup-values th:first-child{width:31%;padding-left:0}.setup-values td{min-width:140px}.setup-values td .field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.setup-values .setup-details{border:0;padding:0;margin-top:6px;font-weight:400}.setup-values .setup-details summary{font-size:13px;padding:5px 0;color:#376572;min-height:32px}.setup-values small{display:block;font-size:13px;line-height:1.4;font-weight:400;color:#586970}.setup-values .btn{font-size:13px;margin:8px 0;white-space:normal;min-height:44px}.setup-values .field{margin:8px 0}.setup-values .field input{max-width:100%}.setup-values input[data-money]{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}
.setup-details{padding:16px 20px;margin:16px 0;border:1px solid #d8e2e1;border-radius:12px}.setup-details summary{font-weight:650;cursor:pointer;min-height:30px;line-height:1.5}.setup-details p{color:#52656a;line-height:1.5;font-size:15px}.setup-result{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;background:#eaf4f0;border-left:4px solid #278365;padding:22px 24px;border-radius:14px;margin:24px 0}.setup-result>span{font-weight:650}.setup-result strong{font-size:30px;font-variant-numeric:tabular-nums;margin-left:auto}.setup-result small{width:100%;color:#47615f;font-size:14px}.setup-result.attention{background:#fff4df;border-color:#af8639}.setup-journey .confirmed-flow-map{margin:20px 0}.setup-journey .confirmed-flow-legend{font-size:13px}
.setup-review{margin:0}.setup-review>div{display:grid;grid-template-columns:1fr 2fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid #e0e7e6}.setup-review dt{color:#566970;font-weight:500}.setup-review dd{margin:0;font-weight:700;line-height:1.5}.setup-review .btn{font-size:14px;min-height:44px}.setup-final-confirm{margin-top:26px;background:#f2f6f5;padding:20px;border-radius:12px}.setup-journey .check-row{display:flex;gap:14px;align-items:flex-start;line-height:1.5;font-size:16px;cursor:pointer}.setup-optional-note{display:block;margin-top:10px;max-width:730px;color:#5d6b70;line-height:1.5}.setup-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 44px;background:#f5f8f6;border-top:1px solid #dce6e2}.setup-actions>span{font-size:13px;color:#4c6863}.setup-actions button{min-height:50px}.setup-journey #setup-message{margin:12px 44px;font-size:15px}.setup-journey .setup-planner-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.setup-journey .funding-change-row{display:table-row}
.funding-changes-table{width:100%;border-collapse:collapse;margin:18px 0;min-width:570px}.funding-changes-table caption{text-align:left;font-weight:750;padding-bottom:12px}.funding-changes-table th,.funding-changes-table td{text-align:left;padding:12px;border-bottom:1px solid #dce5e2;vertical-align:top}.funding-changes-table .funding-change-row{display:table-row}.funding-changes-table .field{margin:0}.funding-changes-table input{min-height:48px}.funding-compact-note{font-size:14px;color:#556a70}.funding-compact-note .btn{display:block;margin-top:12px}.setup-success{display:flex;justify-content:space-between;align-items:center;border-left:4px solid #217b5d;background:#eaf4ef;border-radius:12px;padding:20px 24px;margin-bottom:20px}.setup-success b,.setup-success span{display:block}.setup-success span{margin-top:6px;font-size:14px;color:#436459}.compact-target-review{max-width:1050px;margin:auto}
@media(max-width:800px){.setup-progress{padding:18px;gap:8px}.setup-progress>span{display:none}.setup-progress>span.current{display:flex;grid-column:1/-1;font-size:15px}.setup-heading{padding:24px 22px 6px}.setup-body{padding:14px 22px}.setup-benefits{grid-template-columns:1fr}.setup-benefits>div{padding:18px}.setup-goal-options{grid-template-columns:1fr}.setup-goal-fields{grid-template-columns:1fr}.setup-actions{padding:18px 22px;flex-wrap:wrap;gap:12px}.setup-actions>span{order:3;width:100%;text-align:center}.setup-actions .primary{flex:1}.setup-journey #setup-message{margin:12px 22px}.setup-review>div{grid-template-columns:1fr auto}.setup-review dt{grid-column:1/-1}.setup-result strong{font-size:26px}.setup-values{font-size:14px}}
@media(prefers-reduced-motion:reduce){.setup-journey *{scroll-behavior:auto!important;transition:none!important}}

/* 1.0.6: compact guidance without reducing financial depth or touch targets. */
.release-compact .guided-cycle{border:1px solid #bfd4cd;background:#f4f8f6;border-radius:18px;padding:18px 20px;box-shadow:none;margin-bottom:14px}
.release-compact .guided-cycle header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.release-compact .guided-cycle header h2{font-size:23px;line-height:1.25;margin:3px 0 5px;color:var(--nav)}
.release-compact .guided-cycle header p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;max-width:65ch}
.release-compact .guided-cycle header>.btn{flex:0 0 auto;max-width:300px;white-space:normal}
.release-compact .guided-cycle ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:16px 0 12px;gap:8px;list-style:none;counter-reset:lifecycle}
.release-compact .guided-cycle li{min-width:0;counter-increment:lifecycle;border:1px solid #d3ddd9;border-radius:12px;background:#fff;overflow:hidden}
.release-compact .guided-cycle li>button,.release-compact .guided-cycle li>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;width:100%;height:100%;min-height:86px;padding:12px;text-align:left;white-space:normal;border:0;background:none;color:var(--nav);font:inherit}
.release-compact .guided-cycle li>button{cursor:pointer}
.release-compact .guided-cycle li b{font-size:14px;line-height:1.35}
.release-compact .guided-cycle li b:before{content:counter(lifecycle) ' · ';font-weight:normal}
.release-compact .guided-cycle li small{font-size:12px;line-height:1.4;color:var(--muted)}
.release-compact .guided-cycle li[data-state="done"]{border-left:4px solid #326955}
.release-compact .guided-cycle li[data-state="recommended"],.release-compact .guided-cycle li[data-state="active"]{border-left:4px solid #a58243}
.release-compact .guided-cycle footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.45;color:var(--muted)}
.release-compact .guided-cycle+.cycle-strip{padding:5px 8px;background:transparent;border:0;border-radius:0;grid-template-columns:1fr 1fr;margin-bottom:10px}
.release-compact .guided-cycle+.cycle-strip .cycle-confirmed,.release-compact .guided-cycle+.cycle-strip .cycle-draft{padding:4px;background:none}
.release-compact .guided-cycle+.cycle-strip strong{font-size:15px}
.release-compact .guided-cycle+.cycle-strip .cycle-availability{max-width:none;grid-column:1/-1;font-size:13px;padding:3px 4px}
.release-compact .lifecycle-detail-choice{border-top:1px solid #d3ddd9;margin-top:8px;padding-top:4px;font-size:13px}
.release-compact summary{min-height:44px;align-content:center;cursor:pointer}
.release-compact .guide-topic-link{min-height:44px;padding:7px 11px;font-size:13px;line-height:1.35;white-space:normal;display:inline-flex;align-items:center;gap:8px;box-shadow:none}
.release-compact .guide-topic-link>span{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-weight:700;flex-shrink:0}
.release-compact .guide-topics details{border:1px solid #d5ded9;border-radius:12px;padding:0 14px;margin:8px 0;background:#fff}
.release-compact .guide-topics summary{font-weight:700;color:var(--nav);padding:8px 0;line-height:1.4}
.release-compact .guide-topics details[open]{padding-bottom:14px}
.release-compact .guide-topics p{font-size:15px;line-height:1.55;max-width:72ch;margin:10px 0}
.release-compact .guide-data-context{margin-top:18px;border-top:1px solid #d5ded9;padding-top:8px}
.release-compact .guide-card{max-height:88dvh;overflow:auto;overscroll-behavior:contain}
.release-compact .guide-card:focus{outline:0}
.release-compact .review-next-action{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 0}
.release-compact .pcms-detail-panel{margin:14px 0}
.release-compact .page-hero{padding:16px 22px!important}
.release-compact :is(.guide-topic-link,.guided-cycle button,summary):focus-visible{outline:3px solid #876422;outline-offset:3px}
@media(max-width:800px){
 .release-compact .guided-cycle{padding:16px}
 .release-compact .guided-cycle header{align-items:flex-start;gap:12px;flex-direction:column}
 .release-compact .guided-cycle header>.btn{width:100%;max-width:none}
 .release-compact .guided-cycle ol{grid-template-columns:repeat(2,minmax(0,1fr))}
 .release-compact .guided-cycle li:last-child{grid-column:1/-1}
 .release-compact .guided-cycle footer{align-items:flex-start;flex-direction:column;gap:0}
 .release-compact .guide-card{max-height:92dvh}
}

/* 1.0.6 Final RC polish: explicit optional-detail decision and easier target year selection. */
.setup-goal-year-choice{display:grid;grid-template-columns:1fr;gap:7px;align-items:end}
.setup-goal-year-choice .field{margin:0}
.setup-goal-year-manual{font-size:12px;color:var(--muted)}
.setup-goal-year-manual summary{cursor:pointer;font-weight:700;color:var(--nav);padding:2px 0}
.setup-goal-year-manual[open] .field{margin-top:7px}
.finance-refinement-panel{margin:14px 0 2px;padding:16px 18px;border:1px solid #bfd4cd;border-radius:16px;background:#f4f8f6;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;box-shadow:none}
.finance-refinement-panel h2{margin:3px 0 5px;color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.2}
.finance-refinement-panel p{margin:0;color:var(--muted);font-size:14px;line-height:1.45;max-width:72ch}
.finance-refinement-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.finance-refinement-actions .btn{white-space:normal}
@media(max-width:800px){.setup-goal-year-choice{grid-template-columns:1fr}.finance-refinement-panel{grid-template-columns:1fr}.finance-refinement-actions{justify-content:stretch}.finance-refinement-actions .btn{flex:1}}

/* 1.0.10 — goal editing keeps current position, target and gap in one decision surface. */
.goal-ist-target-gap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 4px}
.goal-ist-target-gap>div{min-width:0;padding:10px 12px;border:1px solid #dfe9e6;border-radius:12px;background:#eef5f3}
.goal-ist-target-gap span{display:block;margin-bottom:4px;color:#66757a;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.goal-ist-target-gap strong{display:block;color:#132d37;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.goal-ist-target-gap .attention{background:#fff7e9;border-color:#ead7b3}
.goal-ist-target-gap .ok{background:#edf7f1;border-color:#cfe5d7}
.goal-ist-target-gap .open strong{color:#516267}
@media(max-width:760px){.goal-ist-target-gap{grid-template-columns:1fr}}

/* 1.0.12 – target hierarchy: one area target, optional position allocation. */
.area-target-hierarchy{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}
.area-target-hierarchy>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.area-target-hierarchy>header h2{margin:4px 0 0}.area-target-hierarchy>header p{max-width:620px;margin:0;color:var(--muted);line-height:1.45}
.area-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.area-target-card{display:grid;align-content:start;gap:14px;min-width:0;padding:16px;border:1px solid #dfe9e6;border-radius:16px;background:#f8faf9}
.area-target-card.relevant{border-color:#badfd3;background:#eef7f4}.area-target-card.linked{box-shadow:inset 4px 0 0 var(--teal)}
.area-target-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.area-target-card h3{margin:3px 0 5px;font-size:19px}.area-target-card header p{margin:0;color:var(--muted);line-height:1.4}.area-target-source{flex:0 0 auto;max-width:190px;padding:6px 9px;border-radius:999px;background:#fff4dc;color:#8d5c13;font-size:10px;font-weight:850;line-height:1.25;text-align:center}.area-target-source.migration{background:#e9f1fb;color:#3b668e}
.area-target-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.72fr);gap:10px;align-items:end}.area-target-controls>.field{margin:0}.area-target-controls>.money-field,.area-target-controls>.area-inherited-target,.area-target-controls>.area-target-evaluation{min-width:0}.area-target-controls>.area-target-evaluation{grid-column:1/-1;color:var(--teal);font-size:11px}.area-inherited-target{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.area-inherited-target span{color:var(--muted);font-size:11px}.area-inherited-target b{font-size:17px}
.area-single-position{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-top:1px solid #d9e5e1;background:rgba(255,255,255,.55);border-radius:12px}.area-single-position>span{display:grid;gap:3px;min-width:0}.area-single-position small{color:var(--muted);line-height:1.35}.area-single-position strong{white-space:nowrap}.area-single-position.legacy{border:1px solid #bfd4e6;background:#f4f8fc}
.area-position-allocation{border-top:1px solid #d9e5e1}.area-position-allocation>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:10px 0;cursor:pointer;list-style:none}.area-position-allocation>summary::-webkit-details-marker{display:none}.area-position-allocation>summary>span{display:grid;gap:3px}.area-position-allocation>summary small{color:var(--muted)}.area-position-allocation>summary em{font-style:normal;color:var(--teal);font-size:11px;font-weight:850;text-align:right}.area-position-allocation>div{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.2fr);gap:14px;padding-top:8px}.area-position-allocation .plan-ist-master,.area-position-allocation .plan-position-editor,.area-position-allocation .plan-target-overview{padding:13px}.area-position-allocation .plan-master-overview{display:none}.area-allocation-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 12px;border-radius:12px;background:#f6f4ee}.area-allocation-summary>span{color:var(--muted)}.area-allocation-summary>strong{grid-column:1/-1;color:#8a671f;font-size:11px}
@media(max-width:1050px){.area-target-grid{grid-template-columns:1fr}.area-target-controls{grid-template-columns:minmax(0,1fr) minmax(180px,.65fr)}}
@media(max-width:760px){.area-target-hierarchy>header,.area-target-card>header,.area-position-allocation>summary{align-items:flex-start;flex-direction:column}.area-target-controls,.area-position-allocation>div{grid-template-columns:1fr}.area-target-source{max-width:none}.area-position-allocation>summary em{text-align:left}.area-single-position{align-items:flex-start;flex-direction:column}.area-target-controls>.area-target-evaluation{grid-column:1}}

/* 1.0.13 – visual target picture: overall goal -> area goals -> positions; driver tree remains impact logic. */
.target-picture-hierarchy{display:grid;gap:18px;padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#f4faf8 0%,#fff 72%);min-width:0}
.target-picture-hierarchy>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.target-picture-hierarchy>header h2{margin:4px 0 6px}.target-picture-hierarchy>header p{max-width:820px;margin:0;color:var(--muted);line-height:1.5}
.target-picture-outcome{justify-self:center;display:grid;gap:4px;width:min(620px,100%);padding:12px 18px;border:1px solid #cddfdb;border-radius:15px;background:#fff;text-align:center}
.target-picture-outcome>span,.target-picture-root>span,.target-picture-area header>span,.target-picture-purpose>header>span{color:#7c6a39;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.target-picture-outcome>b{font-size:18px;color:var(--nav)}.target-picture-outcome>small{color:var(--muted)}
.target-picture-root{justify-self:center;position:relative;display:grid;gap:5px;width:min(700px,100%);padding:18px 22px;border:2px solid var(--nav);border-radius:18px;background:var(--nav);color:#fff;text-align:center}
.target-picture-root>b{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.15}.target-picture-root>small{color:#d9e5e8;line-height:1.4}.target-picture-root>small+small{margin-top:-1px}
.target-picture-connector{position:relative;height:30px;margin:-4px 7% -3px}.target-picture-connector:before{content:"";position:absolute;left:50%;top:0;width:2px;height:15px;background:#a7c1bb}.target-picture-connector:after{content:"";position:absolute;left:12.5%;right:12.5%;top:14px;height:2px;background:#a7c1bb}.target-picture-connector i:before,.target-picture-connector i:after{content:"";position:absolute;top:14px;width:2px;height:16px;background:#a7c1bb}.target-picture-connector i:before{left:12.5%}.target-picture-connector i:after{right:12.5%}
.target-picture-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.target-picture-area{display:grid;align-content:start;gap:12px;min-width:0;padding:15px;border:1px solid #d6e3e0;border-top:5px solid #4c8093;border-radius:15px;background:#fff}
.target-picture-area.area-liquidity{border-top-color:#b58a2a}.target-picture-area.area-liabilities{border-top-color:#b86e63}.target-picture-area.area-realEstate{border-top-color:#688ba7}.target-picture-area.area-investments{border-top-color:#3f809d}
.target-picture-area>header{display:grid;gap:3px}.target-picture-area h3{margin:1px 0 3px;font-size:17px;line-height:1.2}.target-picture-area>header>b{font-size:18px;color:var(--nav)}.target-picture-area>header>small{color:var(--muted);font-size:11px;line-height:1.35}
.target-picture-area-state{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#f2f7f6;color:#41565d;font-size:11px}.target-picture-area-state b{color:var(--ink)}
.target-picture-positions{display:grid;gap:7px;padding-top:3px;border-top:1px solid #e3ebe9}.target-picture-positions>em{font-style:normal;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.target-picture-position{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:10px;background:#fafcfb}.target-picture-position>span{display:grid;gap:2px;min-width:0}.target-picture-position b{font-size:12px;overflow-wrap:anywhere}.target-picture-position small{color:var(--muted);font-size:10px;line-height:1.3}.target-picture-position strong{white-space:nowrap;font-size:12px}
.target-picture-purpose{display:grid;gap:10px;padding:14px 16px;border:1px dashed #c8b576;border-radius:15px;background:#fffaf0}.target-picture-purpose>header{display:flex;justify-content:space-between;gap:16px;align-items:center}.target-picture-purpose>header>b{font-size:12px;color:#806629}.target-picture-purpose>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.target-picture-purpose>div>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:10px;background:#fff}.target-picture-purpose>div>span>span{display:grid;gap:2px}.target-picture-purpose small{color:var(--muted);font-size:10px}.target-picture-purpose strong{font-size:12px;white-space:nowrap}
.target-picture-hierarchy>footer{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-radius:12px;background:#edf5f3;color:#193e48;font-size:12px;line-height:1.45}.target-picture-hierarchy>footer>b{white-space:nowrap}.target-picture-hierarchy.confirmed{margin:16px 0;background:linear-gradient(145deg,#f7fbfa,#fff)}
.target-impact-intro{display:grid;gap:5px;margin:20px 0 10px;padding:16px 18px;border-left:5px solid var(--teal);border-radius:14px;background:#f6f4ee}.target-impact-intro h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--nav)}.target-impact-intro p{margin:0;max-width:1000px;color:var(--muted);line-height:1.5}
@media(max-width:1180px){.target-picture-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.target-picture-connector{display:none}}
@media(max-width:760px){.target-picture-hierarchy{padding:17px}.target-picture-hierarchy>header,.target-picture-purpose>header,.target-picture-hierarchy>footer{flex-direction:column}.target-picture-hierarchy>footer>b{white-space:normal}.target-picture-area-grid{grid-template-columns:1fr}.target-picture-outcome,.target-picture-root{justify-self:stretch;width:100%}.target-picture-position{align-items:flex-start;flex-direction:column}.target-picture-purpose>div{grid-template-columns:1fr}}

/* 1.0.15 – one target source, two visual workspaces; edit targets directly in the hierarchy. */
.target-stage-two-workspace{display:grid;gap:14px;min-width:0}
.target-view-switch{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#f6f4ee}
.target-view-switch h2{margin:3px 0 5px;font-family:Georgia,"Times New Roman",serif;color:var(--nav)}
.target-view-switch p{margin:0;max-width:820px;color:var(--muted);line-height:1.45}
.target-view-switch-actions{display:flex;gap:8px;flex:0 0 auto;padding:5px;border:1px solid #d9e3e1;border-radius:14px;background:#fff}
.target-view-switch-actions button{min-height:44px;padding:8px 16px;border:0;border-radius:10px;background:transparent;color:var(--nav);font:inherit;font-weight:800;cursor:pointer}
.target-view-switch-actions button.active{background:var(--nav);color:#fff}
.target-stage-two-panel[hidden]{display:none!important}
.target-stage-two-panel{min-width:0}
.target-picture-root-action{justify-self:center;margin-top:4px;min-height:38px;padding:7px 13px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.target-picture-editor,.target-picture-purpose-editor{margin-top:2px;border:1px solid #dce7e4;border-radius:12px;background:#f8fbfa;overflow:hidden}
.target-picture-editor>summary,.target-picture-purpose-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 11px;cursor:pointer;list-style:none}
.target-picture-editor>summary::-webkit-details-marker,.target-picture-purpose-editor>summary::-webkit-details-marker{display:none}
.target-picture-editor>summary>span,.target-picture-purpose-editor>summary>span{display:grid;gap:2px}
.target-picture-editor>summary b,.target-picture-purpose-editor>summary b{font-size:12px;color:var(--ink)}
.target-picture-editor>summary small,.target-picture-purpose-editor>summary small{color:var(--muted);font-size:10px;line-height:1.3}
.target-picture-editor>summary em,.target-picture-purpose-editor>summary em{font-style:normal;color:var(--teal);font-size:10px;font-weight:850}
.target-picture-editor[open]>summary,.target-picture-purpose-editor[open]>summary{border-bottom:1px solid #dce7e4;background:#eef6f4}
.target-picture-editor-body{display:grid;gap:10px;padding:11px}
.target-picture-editor-body>.field{margin:0}
.target-picture-editor.inherited .target-picture-editor-body{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.target-picture-purpose>div{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.target-picture-purpose-item{display:grid;align-content:start;gap:6px;padding:9px 10px;border-radius:12px;background:#fff;min-width:0}
.target-picture-purpose-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.target-picture-purpose-summary>span{display:grid;gap:2px;min-width:0}
.target-picture-purpose-summary b{font-size:12px}
.target-picture-purpose-summary small{color:var(--muted);font-size:10px}
.target-picture-purpose-summary strong{font-size:12px;white-space:nowrap}
.target-picture-purpose-item.orphaned{border:1px solid #e3b0a8;background:#fff6f4}
.driver-node-action{justify-self:start;margin-top:6px;min-height:36px;padding:6px 9px;border:1px solid #cadbd7;border-radius:9px;background:#fff;color:var(--teal);font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.goal-driver-map.compact .driver-node-action{display:inline-flex}
.optional-driver-details.condensed{margin-top:2px}
.kpi-target-row.derived{grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr) minmax(150px,.55fr);background:#eef5f3}
.kpi-derived-value{display:grid;gap:2px;padding:8px 10px;border:1px solid #d6e3e0;border-radius:10px;background:#fff}
.kpi-derived-value span{color:var(--muted);font-size:10px}
.kpi-derived-value b{font-size:14px;color:var(--nav)}
.kpi-target-row.legacy-conflict{border:1px solid #d6b36d;background:#fffaf0}
@media(max-width:900px){.target-view-switch{align-items:flex-start;flex-direction:column}.target-view-switch-actions{width:100%}.target-view-switch-actions button{flex:1}.target-picture-editor.inherited .target-picture-editor-body{grid-template-columns:1fr}.kpi-target-row.derived{grid-template-columns:1fr}}
@media(max-width:760px){.target-view-switch{padding:14px}.target-view-switch-actions{display:grid;grid-template-columns:1fr 1fr}.target-picture-purpose-summary,.target-picture-editor>summary,.target-picture-purpose-editor>summary{align-items:flex-start}.target-picture-purpose-summary{flex-direction:column}.target-picture-purpose-summary strong{white-space:normal}}

/* 1.0.18 — Step 3: one decision at a time, chart-first planning. */
.plan-stage-three{align-items:start}
.plan-stage-three>.plan-funding-workspace,.plan-stage-three>.plan-optional-stack{grid-column:1/-1}
.plan-funding-workspace{padding:18px 20px}
.funding-guided-head{display:grid;gap:6px;margin-bottom:10px}
.funding-guided-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--nav);font-size:28px}
.funding-guided-head p{margin:0;max-width:920px;color:var(--muted);line-height:1.5}
.funding-plan-overview{margin:14px 0 18px;padding:18px 20px;background:#eef6f4}
.funding-plan-overview h3{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:var(--nav);margin:4px 0 10px}
.funding-kpi-four{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:12px 0!important}
.funding-kpi-four>div{padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #dce5e2}
.funding-kpi-four>div.goal{border-color:#d8bd7d;background:#fffaf0}
.funding-kpi-four>div.attention{border-color:#e3c17d;background:#fff8ea}
.funding-kpi-four dt{font-size:12px;color:var(--muted);letter-spacing:.03em}
.funding-kpi-four dd{margin-top:5px;font-size:24px;font-weight:800;color:var(--nav);font-variant-numeric:tabular-nums}
.funding-decision-message{margin:8px 0 12px!important;padding:11px 13px;border-left:4px solid var(--teal);border-radius:10px;background:#f7fbfa;max-width:none!important}
.funding-method-note{font-size:13px;color:var(--muted);margin:8px 0 0!important;max-width:none!important}
.funding-target-orientation-line{fill:none;stroke:#0b3149;stroke-width:2.6;stroke-dasharray:4 6}
.funding-target-end-label{font-weight:800;fill:#0b3149!important}
.funding-legend .baseline{color:#9c7029}.funding-legend .baseline::before{border-top-color:#b18136}
.funding-legend .orientation{color:#0b3149}.funding-legend .orientation::before{border-top-color:#0b3149;border-top-style:dotted}
.funding-plan-result{display:grid;grid-template-columns:1fr auto;gap:3px 14px;align-items:center;margin-top:10px;padding:11px 13px;border-radius:12px;background:#edf7f4;border:1px solid #c9dfda}
.funding-plan-result span,.funding-plan-result small{color:var(--muted)}.funding-plan-result b{font-size:18px;color:var(--teal)}.funding-plan-result small{grid-column:1/-1}
.funding-choice{margin:16px 0 10px;padding:16px;border:1px solid #d4dfdc;border-radius:17px;background:#fff}
.funding-choice>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}.funding-choice h3{margin:3px 0 0;font-size:21px;color:var(--nav)}
.funding-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.funding-choice-card{display:grid;gap:5px;text-align:left;min-height:92px;padding:14px 16px;border:1px solid #d5dfdd;border-radius:14px;background:#f8faf9;color:var(--ink);font:inherit;cursor:pointer}
.funding-choice-card span{font-weight:800;font-size:15px}.funding-choice-card small{color:var(--muted);line-height:1.35}.funding-choice-card:hover{border-color:#8fb6b0}.funding-choice-card.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#eef7f4}.funding-choice-card.primary.active{background:#e8f4ef}
.funding-plan-details>summary,.funding-income-optional>summary,.plan-optional-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px}
.funding-plan-details>summary span,.funding-income-optional>summary span,.plan-optional-panel>summary span{display:grid;gap:3px}.funding-plan-details>summary small,.funding-income-optional>summary small,.plan-optional-panel>summary small{font-weight:400;color:var(--muted)}
.funding-plan-details>summary em,.funding-income-optional>summary em,.plan-optional-panel>summary em{font-style:normal;color:var(--teal);font-size:12px;font-weight:800;white-space:nowrap}
.funding-plan-fields,.funding-income-body,.plan-optional-body{padding:4px 18px 18px}
.funding-basis-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px;align-items:center;padding:12px 14px;margin:12px 0;border-radius:12px;background:#f2f7f5;border:1px solid #dce6e3}.funding-basis-strip span{display:grid;gap:3px}.funding-basis-strip small{color:var(--muted)}
.funding-monthly-field{max-width:620px;margin:12px 0 16px}.funding-compact-help{color:var(--muted);margin:5px 0 8px}
.funding-schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.funding-release-hint{display:flex;align-items:center;gap:12px;padding:9px 11px;border-radius:11px;background:#fff8ec;border:1px solid #e8d3a5}.funding-release-hint span{display:grid;gap:2px}.funding-release-hint small{color:var(--muted)}
.plan-optional-stack{padding:0;background:transparent;border:0}.plan-optional-stack>.plan-optional-panel{margin:0}
.plan-optional-body .pcms-detail-panel{margin-top:12px}
.released-loan-panel{grid-column:1/-1;margin-top:0}
.funding-explanation{margin-top:10px;border:1px solid #d9e3e0;border-radius:13px;background:#fafcfb}.funding-explanation summary{padding:12px 14px;cursor:pointer;color:var(--teal);font-weight:800}.funding-explanation>div{padding:0 14px 12px;color:var(--muted)}
@media(max-width:900px){.funding-kpi-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}.funding-choice-grid{grid-template-columns:1fr}.funding-basis-strip{grid-template-columns:1fr}}
@media(max-width:620px){.funding-kpi-four{grid-template-columns:1fr 1fr!important}.funding-plan-overview{padding:13px}.funding-kpi-four dd{font-size:20px}.funding-schedule-actions,.funding-release-hint{align-items:stretch;flex-direction:column}.funding-release-hint .btn{width:100%}}
.funding-source-contract{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important}

/* PCMS 1.0.20 — klare Plan-Unterseiten statt konkurrierender Direktnavigation */
.plan-workspace-navigation{display:grid;gap:10px;margin:12px 0 18px;padding:14px 16px 16px;background:#fff;border:1px solid var(--line);border-radius:18px}.plan-workspace-breadcrumb{display:flex;align-items:center;gap:8px;min-height:30px;color:var(--muted);font-size:13px}.plan-workspace-breadcrumb>button{appearance:none;border:0;background:transparent;padding:0;color:var(--teal);font-weight:800;cursor:pointer}.plan-workspace-breadcrumb>strong{color:var(--nav);font-weight:800}.plan-workspace-breadcrumb>a,.plan-workspace-breadcrumb>.guide-inline{margin-left:auto}.plan-section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.plan-section-tab{appearance:none;border:1px solid var(--line);background:#f8faf9;border-radius:14px;min-height:58px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--nav)}.plan-section-tab small{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#e9efed;color:var(--muted);font-size:11px;font-weight:850;flex:0 0 auto}.plan-section-tab span{font-weight:780;line-height:1.18}.plan-section-tab.active{background:#071b3d;color:#fff;border-color:#071b3d}.plan-section-tab.active small{background:#d4b36e;color:#071b3d}.plan-aligned-progress{min-width:230px}.plan-aligned-progress small{color:#cbd4df;font-size:11px;letter-spacing:.04em}.plan-aligned-progress span{grid-template-columns:repeat(4,1fr)!important}.plan-aligned-progress i.active{background:#d4b36e}.calibration-hero+.plan-workspace-navigation{margin-top:0}@media(max-width:900px){.plan-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-workspace-breadcrumb>a,.plan-workspace-breadcrumb>.guide-inline{display:none}}
.plan-workspace-breadcrumb .guide-topic-link{margin-left:auto;min-height:32px;padding:6px 10px;font-size:12px}.plan-workspace-breadcrumb .guide-topic-link span{font-size:11px}@media(max-width:900px){.plan-workspace-breadcrumb .guide-topic-link{display:none}}

/* PCMS 1.0.21 — Annahmen als eigene, fokussierte Plan-Unterseite. */
.plan-assumptions-workspace{display:grid;gap:16px;grid-column:1/-1}
.assumptions-context-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px;border:1px solid #d5e1de;border-radius:15px;background:#f1f7f5}
.assumptions-context-strip>div{display:grid;gap:3px;min-width:0;padding:8px 10px;border-radius:11px;background:#fff}
.assumptions-context-strip small{color:var(--muted);font-size:11px}.assumptions-context-strip b{color:var(--nav);font-size:15px;line-height:1.25;font-variant-numeric:tabular-nums}
.assumptions-intro-card{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.assumptions-intro-card>div{display:grid;gap:5px;max-width:880px}.assumptions-intro-card h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--nav);font-size:27px}.assumptions-intro-card p{margin:0;color:var(--muted);line-height:1.5}
.assumptions-primary-card{padding:20px;border:1px solid #bfd7d2;border-radius:19px;background:#f5faf8}
.assumptions-primary-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.assumptions-primary-card h3{margin:4px 0 0;color:var(--nav);font-size:23px}.assumptions-rule{margin:8px 0 16px;padding:10px 12px;border-left:4px solid var(--teal);border-radius:9px;background:#fff;color:var(--muted);line-height:1.45}
.assumption-state{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.assumption-state.open{background:#eef1f0;color:var(--muted)}.assumption-state.set{background:#e2f1ea;color:#21674e}
.assumption-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.assumption-rate-card{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px;align-items:center;padding:14px;border:1px solid #d8e4e1;border-radius:14px;background:#fff;min-width:0}
.assumption-rate-card>span{display:grid;gap:4px;min-width:0}.assumption-rate-card>span>b{color:var(--ink);font-size:15px}.assumption-rate-card>span>small{color:var(--muted);font-size:12px;line-height:1.35}.assumption-rate-card .percent-input{min-width:0}.assumption-rate-card input{min-height:46px;font-size:16px}.assumption-rate-input{display:grid;gap:5px;min-width:0}.assumption-rate-input>small{color:var(--muted);font-size:11px;line-height:1.2;text-align:left;padding-left:2px}
.assumption-impact-panel,.assumption-income-panel{margin:14px 0 0}.assumption-impact-panel>summary,.assumption-income-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.assumption-impact-panel>summary span,.assumption-income-panel>summary span{display:grid;gap:3px}.assumption-impact-panel>summary small,.assumption-income-panel>summary small{font-weight:400;color:var(--muted)}.assumption-impact-panel>summary em,.assumption-income-panel>summary em{font-style:normal;color:var(--teal);font-size:12px;font-weight:800;white-space:nowrap}
.assumption-income-panel{margin:0;background:#fff}.assumption-income-panel .funding-income-body{padding:8px 18px 18px}.income-guide-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}
@media(max-width:900px){.assumptions-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.assumptions-intro-card{flex-direction:column}.assumption-rate-grid{grid-template-columns:1fr}.assumption-rate-card{grid-template-columns:minmax(0,1fr) 150px}}
@media(max-width:620px){.assumptions-context-strip{grid-template-columns:1fr 1fr}.assumption-rate-card{grid-template-columns:1fr}.assumptions-primary-card{padding:14px}.assumptions-intro-card{padding:14px}}

/* PCMS 1.0.23 · Review horizons ------------------------------------------------
   Review is one workspace with three mutually exclusive time horizons.
   Financial truth and existing charts remain untouched; this block only
   prioritises interpretation and keeps details behind deliberate disclosure. */
.review-workspace{display:grid;gap:14px;min-width:0}
.review-workspace-hero{margin-bottom:0!important;padding-bottom:2px!important}
.review-workspace-hero h1{max-width:940px}
.review-workspace-hero p{max-width:920px}
.review-horizon-nav{position:sticky;top:116px;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;background:color-mix(in srgb,#f6f4ee 92%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 26px rgba(17,42,39,.06)}
.review-horizon-tab{appearance:none;border:1px solid transparent;background:#fff;border-radius:13px;min-height:58px;padding:10px 14px;display:grid;gap:2px;text-align:left;color:var(--nav);cursor:pointer}
.review-horizon-tab span{font-weight:850;font-size:15px}
.review-horizon-tab small{color:var(--muted);font-size:11px}
.review-horizon-tab.active{background:#071b3d;color:#fff;border-color:#071b3d}
.review-horizon-tab.active small{color:#d7dfeb}
.review-horizon-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px;color:var(--muted);font-size:12px}
.review-horizon-context b{color:var(--nav)}
.review-horizon-context .guide-topic-link{min-height:34px;padding:6px 10px;font-size:12px}
.review-horizon-panel{display:grid;gap:14px;min-width:0}
.review-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 0}
.review-panel-head h2{margin:3px 0 0;font-size:clamp(22px,2.2vw,30px)}
.review-horizon-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.review-horizon-kpi{display:grid;gap:5px;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}
.review-horizon-kpi span{font-size:12px;color:var(--muted);font-weight:760}
.review-horizon-kpi strong{font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;overflow-wrap:anywhere}
.review-horizon-kpi small{font-size:11px;color:var(--muted);line-height:1.35}
.review-horizon-kpi.signed strong{color:var(--teal)}
.review-month-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.85fr);gap:12px;align-items:stretch}
.review-visual-card,.review-month-verdict,.review-goal-section,.review-purpose-goals{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;min-width:0}
.review-visual-card>header,.review-goal-section>header,.review-purpose-goals>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.review-visual-card h3,.review-goal-section h3,.review-purpose-goals h3{margin:3px 0 0;font-size:18px}
.review-baseline-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(145deg,#f4f8f7,#fff);min-height:190px}
.review-baseline-prompt>div{display:grid;gap:6px;max-width:650px}
.review-baseline-prompt h3{margin:0;font-size:clamp(22px,2.2vw,30px)}
.review-baseline-prompt p{margin:0;color:var(--muted);line-height:1.5}
.review-baseline-prompt .btn{white-space:nowrap}
.review-sankey-card .confirmed-flow-map{margin:0;border:0;background:transparent;padding:0;box-shadow:none}
.review-sankey-card .confirmed-flow-map>header{display:none}
.review-sankey-card .flow-semantic-key{margin-top:0}
.review-month-verdict{display:grid;gap:9px;background:linear-gradient(160deg,#f2f8f6,#fff)}
.review-month-verdict>article{display:grid;gap:4px;padding:11px 12px;border-radius:13px;background:#fff;border:1px solid #e2ece9}
.review-month-verdict b{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.04em}
.review-month-verdict p{margin:0;line-height:1.42;font-size:13px}
.review-month-verdict>small{color:var(--muted);line-height:1.4;padding:2px 4px}
.review-detail-stack{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 15px;min-width:0}
.review-detail-stack>summary{min-height:52px;display:flex;align-items:center;font-weight:800;cursor:pointer;color:var(--nav)}
.review-detail-stack[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.review-detail-stack .review-chart{margin:10px 0}
.review-driver-detail{margin:10px 0}
.review-driver-detail>.goal-driver-map,.review-driver-detail>.driver-impact{margin:0}
.review-history{display:grid;gap:8px;margin:10px 0}
.review-short-main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:12px}
.review-window-switch{display:flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f5f8f7}
.review-window-switch button{appearance:none;border:0;background:transparent;border-radius:9px;min-width:48px;min-height:34px;font-weight:800;color:var(--muted)}
.review-window-switch button.active{background:#071b3d;color:#fff}
.review-short-line{display:block;width:100%;height:auto;min-height:210px;overflow:visible}
.review-short-line polyline{fill:none;stroke:var(--teal);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.review-short-line circle{fill:#fff;stroke:var(--gold);stroke-width:4}
.review-short-line text{fill:var(--nav);font-size:11px;font-weight:700}
.review-short-line text.axis{fill:var(--muted);font-weight:500}
.review-short-line .axis-line,.review-long-chart .axis-line{stroke:#dce5e2;stroke-width:2}
.review-flow-bars{display:grid;gap:10px;padding-top:4px}
.review-flow-bars>div{display:grid;grid-template-columns:78px minmax(0,1fr) 84px;gap:8px;align-items:center}
.review-flow-bars>div>b{font-size:11px;color:var(--muted)}
.review-flow-bars>div>strong{text-align:right;font-size:11px}
.review-flow-bars>div>span{height:16px;border-radius:99px;background:#edf2f0;overflow:hidden;display:flex}
.review-flow-bars i{display:block;height:100%;min-width:2px}
.review-flow-bars i.living{background:#d9a28f}.review-flow-bars i.debt{background:#aa8f8a}.review-flow-bars i.capital{background:#62a79c}.review-flow-bars i.purpose{background:#7c8ea6}.review-flow-bars i.residual{background:#d6b56f}
.review-flow-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:12px;color:var(--muted);font-size:10px}
.review-flow-legend span{display:flex;align-items:center;gap:5px}.review-flow-legend span:before{content:"";width:12px;height:7px;border-radius:8px;background:#ccc}.review-flow-legend .living:before{background:#d9a28f}.review-flow-legend .debt:before{background:#aa8f8a}.review-flow-legend .capital:before{background:#62a79c}.review-flow-legend .purpose:before{background:#7c8ea6}.review-flow-legend .residual:before{background:#d6b56f}
.review-trend-note{display:flex;align-items:center;gap:12px;padding:12px 14px;border-left:4px solid var(--gold);border-radius:12px;background:#fff8e9}
.review-trend-note b{white-space:nowrap}.review-trend-note span{color:var(--muted);line-height:1.4}
.review-long-main{padding-bottom:10px}
.review-long-chart{min-width:0}
.review-long-chart svg{display:block;width:100%;height:auto;min-height:245px;overflow:visible}
.review-long-chart polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}
.review-long-chart polyline.actual{stroke:var(--teal);stroke-width:5}.review-long-chart polyline.forecast{stroke:var(--gold);stroke-width:4}.review-long-chart polyline.target{stroke:#55667e;stroke-width:3;stroke-dasharray:8 7}
.review-long-chart circle{fill:#fff;stroke-width:4}.review-long-chart g.actual circle{stroke:var(--teal)}.review-long-chart g.forecast circle{stroke:var(--gold)}.review-long-chart g.target circle{stroke:#55667e}
.review-long-chart text{fill:var(--nav);font-size:10px;font-weight:750}.review-long-chart text.axis{fill:var(--muted);font-weight:500}
.review-long-legend{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 8px;color:var(--muted);font-size:11px}.review-long-legend span{display:flex;gap:5px;align-items:center}.review-long-legend span:before{content:"";width:20px;height:3px;border-radius:6px}.review-long-legend .actual:before{background:var(--teal)}.review-long-legend .forecast:before{background:var(--gold)}.review-long-legend .target:before{height:0;border-top:2px dashed #55667e;background:transparent}
.review-goal-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.review-goal-progress article{display:grid;gap:8px;padding:12px;border:1px solid #e0e9e7;border-radius:13px;background:#f8faf9;min-width:0}
.review-goal-progress header{display:grid;gap:4px}.review-goal-progress header span{font-size:11px;color:var(--muted);font-weight:760}.review-goal-progress header b{font-size:13px;overflow-wrap:anywhere}
.review-goal-track{height:8px;border-radius:99px;background:#e7eeec;overflow:hidden}.review-goal-track i{display:block;height:100%;border-radius:inherit;background:var(--teal)}.review-goal-track.zero-target{background:linear-gradient(90deg,#e7eeec,#d8e5e2)}
.review-goal-progress small{color:var(--muted);font-size:10px;line-height:1.3}
.review-purpose-goals{display:grid;gap:8px;background:#f5f7fb}.review-purpose-goals>article{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#fff}.review-purpose-goals>article span{color:var(--muted)}
.review-plan-versions{display:grid;gap:7px;margin:12px 0}.review-plan-versions article{display:grid;grid-template-columns:90px 1fr 90px 1fr;gap:8px;padding:10px 12px;border-radius:11px;background:#f4f7f6;font-size:11px}
.review-empty-state{padding:28px 18px;text-align:center;color:var(--muted);background:#f4f7f6;border-radius:13px}
.review-workspace-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:4px}
@media(max-width:1050px){.review-horizon-kpis,.review-goal-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.review-month-main,.review-short-main{grid-template-columns:1fr}.review-horizon-nav{top:108px}}
@media(max-width:760px){.review-baseline-prompt{align-items:stretch;flex-direction:column;min-height:0}.review-baseline-prompt .btn{width:100%}.review-horizon-nav{position:static;grid-template-columns:1fr;padding:7px}.review-horizon-tab{min-height:50px}.review-horizon-context{align-items:flex-start;flex-direction:column}.review-horizon-context .guide-topic-link{display:none}.review-horizon-kpis,.review-goal-progress{grid-template-columns:1fr 1fr}.review-panel-head{align-items:flex-start;flex-direction:column}.review-window-switch{align-self:flex-start}.review-plan-versions article{grid-template-columns:1fr 1fr}.review-workspace-footer{align-items:stretch;flex-direction:column}.review-short-line,.review-long-chart svg{min-height:190px}}

/* PCMS 1.0.24 · Review entry continuity ---------------------------------------
   The three-horizon workspace also renders before the first monthly closure.
   The baseline state stays concise and uses the existing Review visual grammar. */
.review-baseline-panel .review-month-verdict>.btn{width:100%;justify-content:center;margin-top:auto}
.review-baseline-panel .review-empty-state{min-height:150px;display:grid;place-items:center;line-height:1.55}

/* PCMS 1.0.25.1 · Review day-one visual system ---------------------------------
   The Review keeps its final visual grammar from the first confirmed baseline.
   No financial truth is invented: baseline charts expose known start values,
   while future points remain explicitly structural until confirmed. */
.review-workspace{gap:12px}
.review-workspace-hero{padding:18px 24px!important;border-radius:20px!important;min-height:0!important}
.review-workspace-hero h1{font-size:clamp(27px,3vw,39px)!important;line-height:1.04!important;margin:6px 0 8px!important;max-width:1080px}
.review-workspace-hero p{font-size:13px!important;line-height:1.45!important;margin:0!important;max-width:1020px}
.review-horizon-nav{top:76px;gap:7px;padding:7px;border-radius:16px}
.review-horizon-tab{min-height:52px;padding:8px 13px;border-radius:11px}
.review-horizon-tab span{font-size:14px}.review-horizon-tab small{font-size:10.5px}
.review-horizon-context{min-height:32px;padding-inline:5px}
.review-panel-head h2{font-size:clamp(21px,2vw,28px)}
.review-visual-card>header>div,.review-goal-section>header>div,.review-purpose-goals>header>div{display:grid;gap:2px;min-width:0}
.review-visual-card>header small{color:var(--muted);font-size:10.5px;line-height:1.35}
.review-visual-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef4f2;color:var(--teal);font-size:10px;font-weight:850;white-space:nowrap}
.review-baseline-sankey{background:linear-gradient(155deg,#fff,#f7faf9)}
.review-sankey-card .confirmed-flow-legend.detailed,.review-sankey-card .confirmed-flow-map>small{display:none}
.review-sankey-card .confirmed-flow-map.detailed svg{min-height:280px;margin-top:4px}
.review-sankey-card .flow-semantic-key{margin:4px 0 0;padding:6px 8px}
.review-month-preview{background:linear-gradient(160deg,#eef7f4,#fff);align-content:start}
.review-month-preview>article{position:relative;padding-left:14px}
.review-month-preview>article:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:8px;background:#dbe9e5}
.review-month-preview>.btn{margin-top:2px;width:100%;justify-content:center}
.review-development-panel[data-review-state="baseline"] .review-horizon-kpi,.review-month-pending .review-horizon-kpi{background:linear-gradient(155deg,#fff,#fbfcfb)}
.review-short-line.baseline-only .scaffold-tick line{stroke:#e8eeec;stroke-width:1;stroke-dasharray:4 7}
.review-short-line.baseline-only .baseline-point circle{fill:#fff;stroke:var(--teal);stroke-width:5}
.review-short-line.baseline-only .baseline-point text{fill:var(--nav);font-weight:850}
.review-short-line.baseline-only .baseline-point .start-label{fill:var(--teal);font-size:10px;font-weight:800}
.review-short-line.baseline-only .scaffold-note{fill:var(--muted);font-size:10.5px;font-weight:650}
.review-flow-bars>div.baseline>span{outline:1px dashed #cbd8d5;outline-offset:2px}
.review-flow-bars>div.baseline>b{color:var(--teal);font-weight:850}
.review-chart-caption{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.35}
.review-baseline-detail>p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.review-target-panel .review-horizon-kpi:nth-child(3){background:linear-gradient(155deg,#fff9ec,#fff);border-color:#e8d3a4}
.review-target-panel .review-horizon-kpi:nth-child(4){background:linear-gradient(155deg,#f5f9f8,#fff)}
.review-long-chart .review-chart-footnote{margin:2px 4px 4px;color:var(--muted);font-size:10.5px;line-height:1.4}
.review-long-chart g.actual text,.review-long-chart g.forecast text,.review-long-chart g.target text{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.review-goal-section,.review-purpose-goals{padding:15px 16px}
.review-goal-progress article{background:linear-gradient(155deg,#f8faf9,#fff)}
.review-goal-progress header b{font-variant-numeric:tabular-nums}
.review-purpose-goals{background:linear-gradient(155deg,#f3f6fb,#fff)}
.review-workspace-footer{min-height:38px}
@media(max-width:1050px){.review-horizon-nav{top:76px}.review-workspace-hero{padding:16px 20px!important}.review-sankey-card .confirmed-flow-map.detailed svg{min-height:250px}}
@media(max-width:760px){.review-workspace-hero{padding:15px!important}.review-workspace-hero h1{font-size:27px!important}.review-horizon-nav{top:auto}.review-visual-status{white-space:normal;text-align:center}.review-sankey-card .confirmed-flow-map.detailed svg{min-height:360px}}

/* PCMS 1.0.25.1 · Review iPad polish -----------------------------------------
   Compact sticky horizon navigation and CSP-safe proportional flow bars.
   Render/UX only: no financial truth, schema or domain logic changes. */
.review-horizon-nav{top:68px;z-index:19;gap:6px;padding:5px;border-radius:14px;background:#f6f4ee;backdrop-filter:none;box-shadow:0 8px 18px rgba(17,42,39,.08)}
.review-horizon-tab{min-height:44px;padding:7px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:10px}
.review-horizon-tab span{font-size:14px;line-height:1.15}
.review-horizon-tab small{font-size:10px;line-height:1.15;white-space:nowrap}
.review-flow-stack-wrap{height:18px!important;display:block!important;background:#edf2f0!important;overflow:hidden!important;border-radius:99px!important}
.review-flow-stack{display:block;width:100%;height:18px;overflow:hidden;border-radius:99px}
.review-flow-stack rect.living{fill:#d9a28f}.review-flow-stack rect.debt{fill:#aa8f8a}.review-flow-stack rect.capital{fill:#62a79c}.review-flow-stack rect.purpose{fill:#7c8ea6}.review-flow-stack rect.residual{fill:#d6b56f}
@media(max-width:1000px) and (min-width:761px){.review-horizon-nav{top:116px}}
@media(max-width:760px){.review-horizon-nav{top:auto}.review-horizon-tab{min-height:46px}.review-horizon-tab small{white-space:normal}}


/* PCMS 1.0.25.2 · compact close + evidence-aware review ----------------------- */
#monthly-close-form .mcx-current-fields{display:flex;align-items:center;gap:8px;width:100%;min-width:0}
#monthly-close-form .mcx-current-fields.has-passive{align-items:flex-end}
#monthly-close-form .mcx-current-fields.has-passive .mcx-money{flex:1 1 50%;min-width:0;max-width:none}
#monthly-close-form .passive-net-inline{flex:1 1 50%;min-width:0;display:grid;gap:3px;margin:0;color:#536361;font-weight:650}
#monthly-close-form .passive-net-inline>span:first-child{font-size:9.5px;line-height:1.1;letter-spacing:.02em;white-space:nowrap}
#monthly-close-form .passive-net-input{display:flex;align-items:center;gap:5px;min-width:0}
#monthly-close-form .passive-net-input input{width:100%;min-width:0;height:42px;padding:8px 9px;border:1px solid #ced9d6;border-radius:12px;background:#fff;text-align:right;font:700 13px/1.2 inherit;box-sizing:border-box}
#monthly-close-form .passive-net-input b{flex:0 0 auto;font-size:13px;color:#14243a}
.review-horizon-kpi.caution strong{color:#9a6d22}
.review-horizon-kpi.debt-adverse strong{color:#a34c43}
.review-sankey-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.review-sankey-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f4f7f6}
.review-sankey-switch button{appearance:none;border:0;background:transparent;border-radius:8px;padding:6px 10px;font:750 11px/1.1 inherit;color:var(--muted);cursor:pointer}
.review-sankey-switch button.active{background:#071b3d;color:#fff}
.review-flow-deltas{margin-top:10px;border:1px solid #dfe8e5;border-radius:13px;background:#f8faf9;padding:10px 12px}
.review-flow-deltas>header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}
.review-flow-deltas>header b{font-size:12px}.review-flow-deltas>header small{font-size:9.5px;color:var(--muted);text-align:right}
.review-flow-deltas>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.review-flow-deltas>div>span{display:grid;gap:2px;padding:7px 8px;border-radius:9px;background:#fff;border:1px solid #e3ebe8;min-width:0}
.review-flow-deltas>div>span small{font-size:9.5px;color:var(--muted)}
.review-flow-deltas>div>span b{font-size:12px;white-space:nowrap}.review-flow-deltas>div>span.unchanged b{color:var(--muted)}
progress.review-goal-track{appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:99px;background:#e7eeec;overflow:hidden}
progress.review-goal-track::-webkit-progress-bar{background:#e7eeec;border-radius:99px}
progress.review-goal-track::-webkit-progress-value{background:var(--teal);border-radius:99px}
progress.review-goal-track::-moz-progress-bar{background:var(--teal);border-radius:99px}
.center-development-note{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--gold);border-radius:11px;background:#fff8e9;color:#596866;font-size:12px;line-height:1.45}
.center-development-note b{color:#203248}
@media(max-width:1050px){
  #monthly-close-form .mcx-current-fields.has-passive{gap:6px}
  #monthly-close-form .passive-net-inline>span:first-child{font-size:9px}
  .review-flow-deltas>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  #monthly-close-form .mcx-current-fields.has-passive{display:grid;grid-template-columns:1fr}
  .review-flow-deltas>header{align-items:flex-start;flex-direction:column}.review-flow-deltas>header small{text-align:left}
}

/* PCMS Center 2.0 · Steuerungszentrale ---------------------------------------
   Presentation only. All numbers come from the existing page contract. */
.center2{--center2-soft:#f6f9f8;--center2-mint:#edf6f3;--center2-gold:#fff8e9;--center2-warm:#fff3ef;--center2-line:#dce6e3;gap:12px}
.center2-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:5px 2px 3px}
.center2-page-head>div:first-child{display:grid;gap:3px;min-width:0}.center2-page-head h1{margin:0;color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.5vw,36px);line-height:1.06}.center2-page-head p{margin:2px 0 0;max-width:74ch;color:var(--muted);font-size:12px;line-height:1.45}
.center2-head-state{flex:0 0 auto;display:grid;gap:2px;min-width:145px;padding:9px 12px;border:1px solid var(--center2-line);border-radius:12px;background:#fff;text-align:right}.center2-head-state span{color:var(--muted);font-size:9.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.center2-head-state strong{color:var(--nav);font-size:13px}

.center2-focus{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:0;border:1px solid var(--center2-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(20,48,55,.045)}
.center2-focus-main{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;min-width:0}.center2-focus-main>div:first-child{display:grid;gap:5px;min-width:0}.center2-focus-main h2{margin:0;color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2.2vw,31px);line-height:1.1}.center2-focus-main p{margin:0;max-width:72ch;color:#526361;font-size:12px;line-height:1.48}.center2-focus-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}.center2-focus-actions .btn{min-height:44px}.center2-focus-actions .text-action{white-space:nowrap}
.center2-focus-next{display:grid;align-content:center;gap:5px;padding:16px 18px;border-left:1px solid var(--center2-line);background:var(--center2-soft)}.center2-focus-next>span{color:var(--muted);font-size:9.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.center2-focus-next>b{color:var(--nav);font-size:13px;line-height:1.38}.center2-focus-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.center2-focus-chips>span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #d5e2df;border-radius:99px;background:#fff;color:#425653;font-size:9.5px;font-weight:750}
.center2-focus.decide{border-color:#e8c8bd}.center2-focus.decide .center2-focus-next{background:var(--center2-warm)}.center2-focus.review{border-color:#e4d2ad}.center2-focus.review .center2-focus-next{background:var(--center2-gold)}

.center2-section{display:grid;gap:10px;min-width:0;padding:14px 16px;border:1px solid var(--center2-line);border-radius:17px;background:#fff}.center2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;min-width:0}.center2-section-head>div{display:grid;gap:2px;min-width:0}.center2-section-head h2{margin:0;color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.08}.center2-section-head>span,.center2-section-head>small{color:var(--muted);font-size:10px;text-align:right}.center2-section-head .text-action{white-space:nowrap}

.center2-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.center2-kpi{display:grid;align-content:start;gap:5px;min-height:118px;padding:12px 13px;border:1px solid #e1e9e7;border-radius:13px;background:var(--center2-soft);min-width:0}.center2-kpi header{display:flex;align-items:center;justify-content:space-between;gap:7px}.center2-kpi header>span{color:#536461;font-size:10px;font-weight:800}.center2-kpi>strong{color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.06;white-space:nowrap}.center2-kpi>p{margin:0;color:#485a58;font-size:10.5px;line-height:1.35}.center2-kpi>small{margin-top:auto;color:var(--muted);font-size:9.5px;line-height:1.35}.center2-kpi-delta.precision{color:#765d29}
.center2-status{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:3px 7px;border:1px solid transparent;border-radius:99px;font-size:9px;font-weight:850;line-height:1;white-space:nowrap}.center2-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.center2-status.stable{color:#2b6a5d;background:#edf7f3;border-color:#d7eae4}.center2-status.observe{color:#806125;background:#fff8e9;border-color:#eadbbd}.center2-status.review{color:#8b562b;background:#fff4e8;border-color:#ecd7bf}.center2-status.decide{color:#984a43;background:#fff0ed;border-color:#edcfca}
.center2-precision-note{margin:0;padding:7px 10px;border-left:3px solid var(--gold);border-radius:8px;background:#fffaf0;color:#6c6250;font-size:9.5px;line-height:1.4}

.center2-goal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.center2-goal-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.5fr) 42px auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e2eae8;border-radius:12px;background:#fbfcfc;min-width:0}.center2-goal-copy{display:grid;gap:2px;min-width:0}.center2-goal-copy>span{color:#536461;font-size:9.5px;font-weight:800}.center2-goal-copy>b{color:var(--nav);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.center2-goal-copy i{color:var(--muted);font-style:normal}.center2-goal-row progress{appearance:none;-webkit-appearance:none;width:100%;height:7px;border:0;border-radius:99px;background:#e4ecea;overflow:hidden}.center2-goal-row progress::-webkit-progress-bar{background:#e4ecea;border-radius:99px}.center2-goal-row progress::-webkit-progress-value{background:var(--teal);border-radius:99px}.center2-goal-row progress::-moz-progress-bar{background:var(--teal);border-radius:99px}.center2-goal-row>strong{color:#516461;font-size:10px;text-align:right}.center2-goal-debt-note{color:var(--muted);font-size:9.5px;line-height:1.25}.center2-on-course>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}.center2-on-course>footer>div{display:grid;gap:2px}.center2-on-course>footer span{color:var(--muted);font-size:9.5px}.center2-on-course>footer b{color:var(--nav);font-size:12px}

.center2-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.center2-change-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-content:start;min-height:103px;padding:11px 12px;border:1px solid #e2eae8;border-radius:12px;background:var(--center2-soft);min-width:0}.center2-change-card header{display:contents}.center2-change-card header>span{color:#536461;font-size:10px;font-weight:800}.center2-change-card>strong{grid-column:1;color:var(--nav);font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.05}.center2-change-card>small{grid-column:1/-1;color:#405753;font-size:9.5px;font-weight:750}.center2-change-card>p{grid-column:1/-1;margin:1px 0 0;color:var(--muted);font-size:9.5px;line-height:1.35}.center2-changes>footer{display:flex;justify-content:flex-end}.center2-empty{padding:13px 14px;border-radius:10px;background:var(--center2-soft);color:var(--muted);font-size:11px}

.center2>.purpose-capital-summary{margin:0;border-radius:14px;box-shadow:none}.center2-details{display:grid;gap:7px;padding-top:2px}.center2-details>.center2-section-head{padding:0 2px}.center2-details>.pcms-detail-panel{margin:0}.center2-driver-summary{display:grid;gap:10px}.center2-driver-summary>header{display:grid;gap:3px}.center2-driver-summary h3{margin:0;color:var(--nav);font-size:17px}.center2-driver-summary ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.center2-driver-summary li{display:grid;gap:3px;padding:9px 10px;border:1px solid #e2eae8;border-radius:10px;background:#f8faf9}.center2-driver-summary li>span{color:var(--teal);font-size:8.5px;font-weight:850;text-transform:uppercase}.center2-driver-summary li>b{font-size:11px}.center2-driver-summary li>small{color:var(--muted);font-size:9px;line-height:1.35}.center2-driver-summary>footer{display:grid;gap:2px;padding:9px 10px;border-radius:9px;background:#f5f8f7}.center2-driver-summary>footer span{color:var(--muted);font-size:9px}.center2-driver-summary>footer b{font-size:11px}

/* Tablet: keep the complete cockpit visible without turning it into a feed. */
@media (max-width:1100px) and (min-width:761px){
  .center2-page-head{align-items:center}.center2-page-head p{max-width:62ch}
  .center2-focus{grid-template-columns:minmax(0,1.45fr) minmax(235px,.7fr)}.center2-focus-main{padding:15px 16px;gap:14px}.center2-focus-next{padding:14px 15px}.center2-focus-actions{max-width:210px}.center2-focus-actions .btn{width:100%}
  .center2-kpi-grid{gap:6px}.center2-kpi{padding:10px 10px;min-height:116px}.center2-kpi>strong{font-size:19px}.center2-status{padding-inline:5px;font-size:8px}
  .center2-goal-row{grid-template-columns:minmax(0,1fr) 82px 34px auto;gap:6px;padding:9px}.center2-goal-copy>b{font-size:10px}
  .center2-change-card{padding:10px}.center2-driver-summary ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phone contract: same hierarchy, mobile composition. */
@media (max-width:760px){
  .center2{gap:9px}.center2-page-head{align-items:flex-start;flex-direction:column;gap:8px;padding-inline:1px}.center2-page-head h1{font-size:27px}.center2-page-head p{font-size:11px}.center2-head-state{width:100%;min-width:0;grid-template-columns:auto 1fr;align-items:center;text-align:left}.center2-head-state strong{text-align:right}
  .center2-focus{grid-template-columns:minmax(0,1fr);border-radius:15px}.center2-focus-main{align-items:flex-start;flex-direction:column;padding:15px;gap:12px}.center2-focus-main h2{font-size:24px}.center2-focus-main p{font-size:11px}.center2-focus-actions{width:100%;justify-content:flex-start}.center2-focus-actions .btn{flex:1 1 100%;width:100%;min-height:46px}.center2-focus-actions .text-action{min-height:44px;display:inline-flex;align-items:center}.center2-focus-next{border-left:0;border-top:1px solid var(--center2-line);padding:12px 15px}.center2-focus-next>b{font-size:12px}
  .center2-section{padding:12px;border-radius:14px}.center2-section-head{align-items:flex-start}.center2-section-head>span{display:none}.center2-section-head h2{font-size:19px}
  .center2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.center2-kpi{min-height:112px;padding:10px}.center2-kpi header{align-items:flex-start;flex-direction:column}.center2-kpi>strong{font-size:18px;white-space:normal}.center2-kpi>p{font-size:9.5px}.center2-kpi>small{font-size:9px}.center2-status{min-height:20px}
  .center2-goal-list{grid-template-columns:minmax(0,1fr)}.center2-goal-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 9px}.center2-goal-copy{grid-column:1/-1}.center2-goal-row progress,.center2-goal-debt-note{grid-column:1}.center2-goal-row>strong{grid-column:2;grid-row:2}.center2-goal-row>.center2-status{grid-column:2;grid-row:1;justify-self:end}.center2-on-course>footer{align-items:flex-start;flex-direction:column}.center2-on-course>footer .btn{width:100%;min-height:44px}
  .center2-change-grid{grid-template-columns:minmax(0,1fr)}.center2-change-card{min-height:0}.center2-changes>footer .btn{width:100%;min-height:44px}.center2-changes>footer{display:block}
  .center2>.purpose-capital-summary{padding:11px 12px}.center2-details .pcms-detail-panel>summary{min-height:50px}.center2-driver-summary ul{grid-template-columns:minmax(0,1fr)}
  .guide-modal{display:grid!important;place-items:end stretch!important;padding:0!important}.guide-card{width:100%!important;height:min(82dvh,760px)!important;max-height:82dvh!important;border-radius:22px 22px 0 0!important;padding:18px max(16px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;box-shadow:0 -20px 50px rgba(9,30,35,.2)}.guide-head{top:-18px;margin:-18px calc(0px - max(16px,env(safe-area-inset-right))) 0 calc(0px - max(16px,env(safe-area-inset-left)));padding:18px max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left))}.guide-questions{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:390px){.center2-kpi-grid{grid-template-columns:minmax(0,1fr)}.center2-kpi{min-height:0}.center2-head-state{grid-template-columns:minmax(0,1fr)}}
.center2-on-course-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
@media(max-width:760px){.center2-on-course-actions{width:100%;display:grid;grid-template-columns:1fr}.center2-on-course-actions .btn{width:100%;min-height:44px}}
/* Center 2.0 keeps the shared PCMS hero grammar, but deliberately compresses it. */
.center2-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;padding:0}
.center2-page-head>.page-hero{min-height:0;margin:0;padding:12px 17px;border-radius:15px}.center2-page-head>.page-hero h1{font-size:clamp(24px,2.45vw,33px);margin:2px 0}.center2-page-head>.page-hero p{font-size:10.5px}.center2-page-head>.page-hero .eyebrow{font-size:9px}
@media(max-width:760px){.center2-page-head{grid-template-columns:minmax(0,1fr)}.center2-page-head>.page-hero{padding:12px 14px}.center2-page-head>.page-hero h1{font-size:26px}}
.center2-goal-open-note{color:var(--muted);font-size:9.5px;line-height:1.25}
@media(max-width:760px){.center2-goal-open-note{grid-column:1}}

/* PCMS Center 2.0 · UI polish v1.0.26.1.1
 * Presentation-only refinement: hierarchy, touch targets, alignment and responsive rhythm.
 * No financial or target calculation is introduced here.
 */
.center2{--center2-action-border:#cfdcda;--center2-action-bg:#fff;--center2-action-hover:#f2f7f5}

/* Header: one visual unit, readable on the dark PCMS hero. */
.center2-page-head{grid-template-columns:minmax(0,1fr) 176px;gap:10px}
.center2-page-head>.page-hero{display:flex;align-items:center;padding:16px 22px!important;border-radius:18px!important}
.center2-page-head>.page-hero h1{color:#fff!important;font-size:clamp(27px,2.7vw,38px)!important;line-height:1.02;margin:3px 0 5px!important;letter-spacing:-.015em}
.center2-page-head>.page-hero p{color:#d7e3e5!important;font-size:12px!important;line-height:1.42;max-width:78ch;margin:0!important}
.center2-page-head>.page-hero .eyebrow{color:#dfbd71!important;font-size:10px!important}
.center2-head-state{min-width:0;width:176px;padding:14px 16px;border-color:#284d59;background:linear-gradient(145deg,#0b2940,#123f4b);color:#fff;border-radius:18px;text-align:left;align-content:center;box-shadow:0 10px 24px rgba(7,34,48,.08)}
.center2-head-state span{color:#c9d9dd;font-size:9.5px;letter-spacing:.08em}
.center2-head-state strong{color:#fff;font-size:15px;line-height:1.25}

/* Shared Center action grammar: actual buttons, not floating text. */
.center2 :is(.center2-focus-actions,.center2-on-course-actions,.center2-changes>footer) .btn,
.center2 .center2-section-head>.guide-topic-link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:10px 15px;border-radius:12px;
  font-size:12px;font-weight:750;line-height:1.15;text-decoration:none;white-space:nowrap;
}
.center2 :is(.center2-focus-actions,.center2-on-course-actions,.center2-changes>footer) .btn.quiet,
.center2 .center2-section-head>.guide-topic-link{
  color:#294842;background:var(--center2-action-bg);border:1px solid var(--center2-action-border);
}
.center2 :is(.center2-focus-actions,.center2-on-course-actions,.center2-changes>footer) .btn.quiet:hover,
.center2 .center2-section-head>.guide-topic-link:hover{background:var(--center2-action-hover);border-color:#b8ceca}
.center2 :is(.center2-focus-actions,.center2-on-course-actions,.center2-changes>footer) .btn.primary{min-height:46px;padding-inline:20px;font-size:13px;border-radius:13px;box-shadow:0 4px 10px rgba(8,29,51,.08)}
.center2 .guide-topic-link>span{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-size:11px;line-height:1;flex:0 0 auto}
.center2 :is(.btn,.guide-topic-link):focus-visible{outline:3px solid #b98b37;outline-offset:3px}

/* Now important: calm three-part balance with actions kept together. */
.center2-focus{grid-template-columns:minmax(0,1.55fr) minmax(300px,.78fr);border-radius:18px}
.center2-focus-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 22px}
.center2-focus-main h2{font-size:clamp(25px,2.3vw,33px)}
.center2-focus-main p{font-size:12.5px;line-height:1.5;max-width:68ch}
.center2-focus-actions{display:grid;grid-template-columns:minmax(190px,auto);justify-items:stretch;align-content:center;gap:9px;min-width:210px;max-width:250px}
.center2-focus-actions>.btn{width:100%;margin:0}
.center2-focus-next{padding:18px 20px;gap:8px}
.center2-focus-next>b{font-size:13.5px;line-height:1.45}
.center2-focus-chips>span{min-height:27px;padding:4px 9px;font-size:10px}

/* Section rhythm and utility actions. */
.center2-section{gap:13px;padding:17px 18px;border-radius:18px}
.center2-section-head{align-items:center;min-height:42px}
.center2-section-head h2{font-size:22px}
.center2-section-head>span,.center2-section-head>small{font-size:10.5px}
.center2-section-head>.guide-topic-link{min-height:40px;padding:8px 12px}

/* Cockpit: equal visual baseline; status chips no longer float. */
.center2-kpi-grid{gap:10px}
.center2-kpi{min-height:132px;padding:14px 15px;gap:7px;border-radius:14px}
.center2-kpi header{min-height:27px;align-items:center}
.center2-kpi header>span{font-size:10.5px}
.center2-kpi>strong{font-size:24px}
.center2-kpi>p{font-size:10.5px;min-height:28px}
.center2-kpi>small{font-size:9.8px}
.center2-status{min-height:25px;padding:4px 8px;font-size:9.5px}

/* Goal section: compact two-column grid, footer actions on one deliberate line. */
.center2-goal-list{gap:9px}
.center2-goal-row{min-height:66px;grid-template-columns:minmax(0,1fr) minmax(112px,.55fr) 46px auto;gap:10px;padding:11px 12px;border-radius:13px}
.center2-goal-copy>span{font-size:10px}.center2-goal-copy>b{font-size:11.5px}
.center2-on-course>footer{align-items:center;padding-top:5px;border-top:1px solid #edf1f0;margin-top:1px;min-height:58px}
.center2-on-course-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:nowrap}
.center2-on-course-actions .btn{margin:0}

/* Changes: consistent cards and a real secondary CTA. */
.center2-change-grid{gap:10px}
.center2-change-card{min-height:118px;padding:13px 14px;border-radius:14px;gap:5px 9px}
.center2-change-card>strong{font-size:23px}.center2-change-card>p{font-size:10px}.center2-change-card>small{font-size:9.8px}
.center2-changes>footer{display:flex;justify-content:flex-end;padding-top:2px}
.center2-changes>footer .btn{min-width:190px;margin:0}

/* Optional details: calm, touch-friendly, no accidental tiny targets. */
.center2-details{gap:9px;padding-top:4px}
.center2-details>.pcms-detail-panel>summary{min-height:52px;padding:12px 16px;font-size:13px;display:flex;align-items:center}

/* iPad landscape: preserve desktop hierarchy, but prevent squeezed action labels. */
@media (max-width:1100px) and (min-width:761px){
  .center2-page-head{grid-template-columns:minmax(0,1fr) 158px}
  .center2-head-state{width:158px;padding:12px 14px}
  .center2-focus{grid-template-columns:minmax(0,1.45fr) minmax(280px,.78fr)}
  .center2-focus-main{grid-template-columns:minmax(0,1fr) 220px;gap:16px;padding:17px 18px}
  .center2-focus-actions{min-width:0;max-width:none;width:220px}
  .center2-focus-actions .btn{width:100%!important}
  .center2-kpi{min-height:126px;padding:12px}
  .center2-kpi>strong{font-size:21px}
  .center2-status{font-size:8.8px;padding-inline:7px}
  .center2-goal-row{grid-template-columns:minmax(0,1fr) 92px 38px auto;gap:7px;padding:10px}
  .center2-on-course-actions{gap:7px}
  .center2-on-course-actions .btn{padding-inline:12px}
}

/* Phone: same hierarchy, larger touch targets, no floating right-side actions. */
@media (max-width:760px){
  .center2-page-head{grid-template-columns:minmax(0,1fr);gap:8px}
  .center2-page-head>.page-hero{padding:15px 16px!important;border-radius:16px!important}
  .center2-page-head>.page-hero h1{font-size:27px!important}
  .center2-page-head>.page-hero p{font-size:11.5px!important}
  .center2-head-state{width:100%;grid-template-columns:auto 1fr;align-items:center;padding:11px 14px;border-radius:14px}
  .center2-head-state strong{text-align:right}
  .center2-focus-main{display:flex;align-items:stretch;flex-direction:column;padding:16px;gap:14px}
  .center2-focus-actions{display:grid;width:100%;min-width:0;max-width:none;grid-template-columns:1fr;gap:8px}
  .center2-focus-actions .btn{width:100%;min-height:48px!important;padding:11px 14px}
  .center2-focus-next{padding:14px 16px}
  .center2-section{padding:14px;border-radius:15px;gap:11px}
  .center2-section-head{align-items:center;gap:9px}
  .center2-section-head>span{display:none}
  .center2-section-head>.guide-topic-link{display:inline-flex!important;min-height:42px;padding:8px 10px;font-size:11px}
  .center2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .center2-kpi{min-height:124px;padding:12px;gap:6px}
  .center2-kpi header{align-items:flex-start;flex-direction:column;min-height:48px}
  .center2-kpi>strong{font-size:20px}
  .center2-goal-list{grid-template-columns:minmax(0,1fr)}
  .center2-goal-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:12px}
  .center2-on-course>footer{align-items:stretch;flex-direction:column;gap:10px}
  .center2-on-course-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
  .center2-on-course-actions .btn{width:100%;min-height:48px}
  .center2-change-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .center2-change-card{min-height:0;padding:13px}
  .center2-changes>footer{display:block}
  .center2-changes>footer .btn{width:100%;min-width:0;min-height:48px}
}

@media (max-width:390px){
  .center2-kpi-grid{grid-template-columns:minmax(0,1fr)}
  .center2-kpi{min-height:0}
  .center2-head-state{grid-template-columns:minmax(0,1fr);gap:3px}.center2-head-state strong{text-align:left}
}


/* PCMS Center 2.0 · Goal-row polish v1.0.26.2
 * Presentation-only. Reserve a real status column so labels never clip or leave the card.
 */
.center2-goal-row{
  grid-template-columns:minmax(0,1.25fr) minmax(190px,.72fr) 116px;
  gap:14px;
  padding:12px 14px;
  overflow:hidden;
}
.center2-goal-copy{min-width:0}
.center2-goal-meter{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(84px,1fr) 44px;
  align-items:center;
  gap:9px;
}
.center2-goal-meter>progress{min-width:0;width:100%}
.center2-goal-meter>strong{color:#516461;font-size:10px;text-align:right;white-space:nowrap}
.center2-goal-meter.note{grid-template-columns:minmax(0,1fr)}
.center2-goal-meter.note :is(.center2-goal-debt-note,.center2-goal-open-note){display:block;max-width:100%;overflow-wrap:anywhere}
.center2-goal-row>.center2-status{
  justify-self:stretch;
  width:100%;
  min-width:0;
  min-height:30px;
  box-sizing:border-box;
  justify-content:center;
  padding-inline:11px;
  overflow:visible;
}
@media (max-width:1100px) and (min-width:761px){
  .center2-goal-row{grid-template-columns:minmax(0,1.18fr) minmax(145px,.62fr) 108px;gap:10px;padding:11px 12px}
  .center2-goal-meter{grid-template-columns:minmax(70px,1fr) 38px;gap:7px}
  .center2-goal-row>.center2-status{font-size:9px;padding-inline:8px}
}
@media (max-width:760px){
  .center2-goal-row{grid-template-columns:minmax(0,1fr) 112px;gap:9px 12px;padding:12px}
  .center2-goal-copy{grid-column:1/-1}
  .center2-goal-meter{grid-column:1;grid-row:2;grid-template-columns:minmax(70px,1fr) 40px}
  .center2-goal-row>.center2-status{grid-column:2;grid-row:2;justify-self:stretch;min-height:32px}
}

/* PCMS 1.0.27 · Plan- und Zielsystem-Harmonisierung -------------------------
   Presentation only: the financial/domain model stays untouched. */
.plan-mechanical-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#eef3f1;color:#31505a;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.structure-comparison-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.structure-comparison-head h2{margin:0 0 4px}.structure-comparison-head p{margin:0;color:var(--muted)}
.funding-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.funding-preview-title>span:first-child{display:grid;gap:3px}.funding-preview-title h3{margin:0}

/* Stage 4: one calm decision cockpit instead of a long form summary. */
.plan-confirmation-form{display:grid;gap:14px}
.plan-confirmation-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:start;padding:12px 16px;border-left:4px solid var(--teal);border-radius:12px;background:#edf5f3;color:#28464e;line-height:1.45}.plan-confirmation-notice b{color:var(--nav)}
.plan-confirmation-workspace{max-width:none!important;margin:0!important;padding:22px!important;border-radius:20px!important;background:#fff}
.plan-confirmation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.plan-confirmation-head>div{display:grid;gap:5px;max-width:830px}.plan-confirmation-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--nav);font-size:clamp(25px,2.4vw,34px)}.plan-confirmation-head p{margin:0;color:var(--muted);line-height:1.5}
.plan-confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plan-confirmation-card{display:grid;grid-template-rows:auto auto 1fr;gap:8px;min-width:0;min-height:150px;padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(155deg,#f6faf8,#fff)}
.plan-confirmation-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-confirmation-card header>span{color:var(--teal);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.plan-confirmation-card .btn{min-height:40px;padding:7px 12px;white-space:nowrap}.plan-confirmation-card>strong{color:var(--nav);font-size:19px;line-height:1.3;overflow-wrap:anywhere}.plan-confirmation-card>small{color:var(--muted);line-height:1.45}
.plan-confirmation-card.outcome{border-top:4px solid #193e48}.plan-confirmation-card.goals{border-top:4px solid #7f9c93}.plan-confirmation-card.funding{border-top:4px solid #b58a36}.plan-confirmation-card.income{border-top:4px solid #8aa2ba}
.plan-confirmation-details{margin:16px 0 0!important;background:#fff}.plan-confirmation-details>summary{min-height:58px;padding:0 4px}.plan-confirmation-details>summary span{display:grid;gap:3px}.plan-confirmation-details>summary small{font-weight:400;color:var(--muted)}.plan-confirmation-details>summary em{font-style:normal;font-size:12px;font-weight:800;color:var(--teal);white-space:nowrap}
.plan-confirmation-detail-body{display:grid;gap:16px;padding:16px 0 2px}.plan-confirmation-detail-body>.structure-comparison{margin:0}.plan-confirmation-assumptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.plan-confirmation-assumptions>div{display:grid;gap:3px;padding:11px 13px;border:1px solid #dbe5e2;border-radius:12px;background:#f7faf9}.plan-confirmation-assumptions dt{color:var(--muted);font-size:11px}.plan-confirmation-assumptions dd{margin:0;color:var(--nav);font-weight:800}
.plan-confirmation-consent{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:18px;align-items:center;margin-top:16px;padding:16px 18px;border:1px solid #cbded9;border-radius:17px;background:#f1f7f5}.plan-confirmation-consent>div{display:grid;gap:4px}.plan-confirmation-consent>div>b{color:var(--nav);font-size:17px}.plan-confirmation-consent>div>small{color:var(--muted);line-height:1.4}.plan-confirmation-check{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid #d9e4e1;border-radius:13px;background:#fff;color:var(--ink);line-height:1.45;cursor:pointer}.plan-confirmation-check input{width:24px;height:24px;margin:0;flex:0 0 auto}
.plan-confirmation-form>.calibration-actions{align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:17px;background:#fff}.plan-confirmation-form>.calibration-actions>.btn,.plan-confirmation-form>.calibration-actions .draft-actions>.btn{min-height:48px}.plan-confirmation-form>.calibration-actions>.primary{margin-left:auto}

/* Confirmed Plan overview: target/plan truth first, audit details on demand. */
.confirmed-plan-journey.harmonized{display:grid;gap:16px}.confirmed-plan-journey.harmonized>header{display:grid;gap:5px}.confirmed-plan-journey.harmonized>header h2{margin:0}.confirmed-plan-journey.harmonized>header p{margin:0;color:var(--muted);line-height:1.45;max-width:900px}
.confirmed-plan-core-summary{display:grid;gap:12px;padding:18px 20px;border:1px solid #cbded9;border-radius:18px;background:linear-gradient(150deg,#f0f7f5,#fff)}.confirmed-plan-core-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.confirmed-plan-core-summary h3{margin:3px 0 0;color:var(--nav);font-size:21px}.confirmed-plan-core-summary .guide-topic-link{min-height:42px}
.confirmed-plan-core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.confirmed-plan-core-grid>div{display:grid;gap:4px;padding:13px 14px;border:1px solid #d9e5e2;border-radius:13px;background:#fff}.confirmed-plan-core-grid span{color:var(--muted);font-size:11px}.confirmed-plan-core-grid b{color:var(--nav);font-size:20px;font-variant-numeric:tabular-nums}.confirmed-plan-core-grid>.mechanical{background:#fbf7ef;border-color:#eadbb8}.confirmed-plan-core-grid>.goal{background:#f5f8fb;border-color:#d7e0ea}.confirmed-plan-core-summary>p{margin:0;color:var(--muted);line-height:1.45}.confirmed-plan-core-summary>p>b{color:var(--nav)}
.confirmed-plan-details{margin:0!important}.confirmed-plan-details>summary{min-height:58px}.confirmed-plan-detail-body{display:grid;gap:18px;padding:14px 0 2px}.confirmed-plan-detail-body>.structure-comparison,.confirmed-plan-detail-body>.purpose-goal-summary{margin:0}

/* Hierarchy wording now separates area and goal without changing the data source. */
.target-picture-area header>span{color:#7c6a39}.target-picture-area header>small{color:var(--muted);line-height:1.35}.target-picture-area header>b{margin-top:1px}

@media(max-width:900px){
  .funding-preview-title,.structure-comparison-head,.plan-confirmation-head,.confirmed-plan-core-summary>header{flex-direction:column;align-items:stretch}
  .plan-mechanical-badge{align-self:flex-start;white-space:normal;text-align:left}
  .plan-confirmation-grid,.plan-confirmation-assumptions{grid-template-columns:1fr}
  .plan-confirmation-consent{grid-template-columns:1fr}
  .confirmed-plan-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-confirmation-form>.calibration-actions>.primary{margin-left:0}
}
@media(max-width:620px){
  .plan-confirmation-workspace{padding:15px!important}
  .plan-confirmation-card{min-height:0;padding:14px}
  .plan-confirmation-card header{align-items:flex-start}.plan-confirmation-card header>.btn{min-width:96px}
  .plan-confirmation-consent{padding:14px}
  .confirmed-plan-core-grid{grid-template-columns:1fr 1fr}
  .confirmed-plan-core-grid b{font-size:18px}
  .plan-confirmation-form>.calibration-actions{display:grid;grid-template-columns:1fr;gap:8px}.plan-confirmation-form>.calibration-actions .draft-actions{display:grid;grid-template-columns:1fr;gap:8px}.plan-confirmation-form>.calibration-actions>.btn,.plan-confirmation-form>.calibration-actions .draft-actions>.btn{width:100%}
}

/* v1.0.28 · Guide system: page-specific sparring, shared truth, mobile bottom sheet. */
.guide-sparring-section {
  display: grid;
  gap: 14px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.guide-sparring-section > header {
  display: grid;
  gap: 4px;
}
.guide-sparring-section h3,
.guide-sparring-section p { margin: 0; }
.guide-sparring-section p { color: var(--muted); line-height: 1.5; }
.guide-kicker {
  color: var(--teal);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.guide-sparring-focus,
.guide-sparring-callout,
.guide-checklist,
.guide-plan-facts {
  padding: 12px 13px;
  border-radius: 13px;
  background: #f2f7f5;
}
.guide-sparring-focus { display: grid; gap: 4px; }
.guide-sparring-focus > span { color: var(--muted); font-size: 12px; }
.guide-sparring-focus > b { color: var(--nav); font-size: 18px; }
.guide-sparring-callout.attention {
  border-left: 4px solid var(--gold);
  background: #fff8e9;
}
.guide-sparring-callout b,
.guide-checklist > b { color: var(--nav); }
.guide-sparring-callout p { margin-top: 5px; }
.guide-sparring-subhead {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.guide-sparring-subhead span { color: var(--muted); font-size: 11px; text-align: right; }
.guide-position-list,
.guide-impact-list,
.guide-checklist ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 7px;
}
.guide-position-list li,
.guide-impact-list li {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.guide-position-list li div,
.guide-impact-list li div { display: grid; gap: 2px; min-width: 0; }
.guide-position-list small,
.guide-impact-list small { color: var(--muted); line-height: 1.3; overflow-wrap: anywhere; }
.guide-position-list strong,
.guide-impact-list strong { color: var(--nav); text-align: right; }
.guide-impact-list li { grid-template-columns: auto minmax(0,1fr) auto; }
.guide-impact-list li > span {
  align-self: start;
  padding: 5px 7px;
  border-radius: 99px;
  background: #eef5f3;
  color: var(--teal);
  font-size: 10px;
  font-weight: 800;
}
.guide-sparring-note,
.guide-sparring-empty { font-size: 12px; }
.guide-plan-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.guide-plan-facts > span {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 11px;
}
.guide-plan-facts b { color: var(--nav); font-size: 14px; }
.guide-option-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}
.guide-option-grid article {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8faf9;
}
.guide-option-grid article p { font-size: 12px; line-height: 1.4; }
.guide-option-grid .btn { align-self: end; min-height: 42px; padding: 9px 11px; }
.guide-checklist ul { margin-top: 7px; }
.guide-checklist li { position: relative; padding-left: 16px; color: var(--muted); line-height: 1.4; }
.guide-checklist li::before { content: "•"; position: absolute; left: 3px; color: var(--teal); font-weight: 900; }
.guide-action-row { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 1000px) {
  .guide-option-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .guide-modal { place-items: end stretch; }
  .guide-card {
    width: 100%;
    height: min(86dvh, 820px);
    max-height: 86dvh!important;
    border-radius: 22px 22px 0 0;
    padding-bottom: max(22px, env(safe-area-inset-bottom));
  }
  .guide-plan-facts { grid-template-columns: 1fr; }
  .guide-position-list li,
  .guide-impact-list li { grid-template-columns: minmax(0,1fr); align-items: start; }
  .guide-position-list strong,
  .guide-impact-list strong { text-align: left; }
  .guide-impact-list li > span { justify-self: start; }
  .guide-sparring-subhead { display: grid; }
  .guide-sparring-subhead span { text-align: left; }
  .guide-action-row .btn,
  .guide-option-grid .btn { width: 100%; }
}

/* v1.0.28.1 · Financial System UX polish — interaction only, financial truth unchanged. */
.finance-overview-periods > .finance-overview-period:only-child{grid-column:1/-1}
.finance-overview-position-select{transition:background .16s ease,border-color .16s ease}
.finance-overview-position-select:hover{background:#f5faf8}
.finance-overview-position-select>em{display:inline-flex;align-items:center;justify-content:center;min-width:108px;min-height:34px;padding:6px 10px;border:1px solid #d5e2de;border-radius:10px;background:#fff;color:var(--teal);font-size:11px;font-weight:850}
.finance-overview-position-select:hover>em{border-color:#9fc2ba;background:#eef7f4}
.finance-master-detail{grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);gap:16px}
.finance-master-row{min-height:68px;padding:11px 13px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.finance-master-row em{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 9px;border:1px solid #d8e5e1;border-radius:9px;background:#fff}
.finance-master-row:hover em,.finance-master-row.active em{border-color:#9fc2ba;background:#eef7f4}
.finance-master-row em span{font-size:17px;line-height:1}
.finance-master-editor .editor-head{align-items:center}
.finance-master-editor .finance-editor-grid>label>small{max-width:48ch}
.finance-master-actions .btn,.finance-master-actions .text-action{min-height:44px}
.finance-mobile-back{display:none}
.guide-position-value{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.guide-position-open{min-height:34px;padding:6px 10px;border:1px solid #d5e2de;border-radius:9px;background:#fff;color:var(--teal);font:inherit;font-size:11px;font-weight:850;cursor:pointer}
.guide-position-open:hover{background:#eef7f4;border-color:#9fc2ba}
@media(min-width:1001px){
  .finance-overview-period:only-child .finance-overview-position{grid-template-columns:minmax(300px,1fr) minmax(120px,.24fr) minmax(118px,.22fr)}
}
@media(max-width:900px){
  .finance-master-detail{grid-template-columns:minmax(260px,.88fr) minmax(0,1.12fr)}
}
@media(max-width:700px){
  .finance-master-detail{grid-template-columns:1fr;gap:12px}
  .finance-master-list,.finance-master-editor{padding:14px;border-radius:17px}
  .finance-master-row{min-height:72px}
  .finance-master-row em{justify-self:start}
  .finance-master-editor,.debt-editor{scroll-margin-top:82px}
  .finance-mobile-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-bottom:8px}
  .finance-master-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .finance-master-actions .btn,.finance-master-actions .text-action{width:100%;min-height:48px;justify-content:center}
  .finance-overview-position-select>em{min-width:auto;min-height:32px;padding:5px 8px}
  .guide-position-list li{align-items:flex-start}
  .guide-position-value{flex-direction:column;align-items:flex-end}
}

/* v1.0.28.2 · Monatsabschluss Final-Polish — Darstellung und Führung, Domainlogik unverändert. */
#monthly-close-form .mcx-table-flow col.mcx-c-name{width:27%}
#monthly-close-form .mcx-table-flow col.mcx-c-prev{width:10%}
#monthly-close-form .mcx-table-flow col.mcx-c-now{width:14%}
#monthly-close-form .mcx-table-flow col.mcx-c-passive{width:14%}
#monthly-close-form .mcx-table-flow col.mcx-c-delta{width:9%}
#monthly-close-form .mcx-table-flow col.mcx-c-quality{width:26%}
#monthly-close-form .mcx-table th{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
#monthly-close-form .mcx-passive,#monthly-close-form .mcx-summary-passive{font-weight:700;white-space:nowrap}
#monthly-close-form .mcx-summary-passive{font-size:12px;color:#5d6b6c}
#monthly-close-form .mcx-not-applicable{color:#97a3a2;font-weight:600}
#monthly-close-form .mcx-passive-field{display:block;margin:0;width:100%}
#monthly-close-form .mcx-passive-input{display:flex;align-items:center;gap:6px;width:100%}
#monthly-close-form .mcx-passive-input input{width:100%;min-width:0;max-width:160px;height:42px;padding:8px 12px;border:1px solid #ced9d6;border-radius:12px;background:#fff;text-align:right;font:700 14px/1.2 inherit;box-sizing:border-box}
#monthly-close-form .mcx-passive-input b{flex:0 0 auto;font-size:14px}
#monthly-close-form .mcx-confirm .btn{font-weight:750}

#monthly-close-form .monthly-residual .residual-choice>label:first-child>span:first-child{font-weight:800}
#monthly-close-form .monthly-residual .residual-result{gap:10px}

.monthly-driver-pending{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px;border:1px solid #e0e8e5;border-radius:13px;background:#f8faf9}
.monthly-driver-pending h3{margin:3px 0 5px;font-size:18px;color:var(--nav)}
.monthly-driver-pending p{margin:0;color:var(--muted);line-height:1.45}
.monthly-driver-pending>.status{white-space:nowrap}

.monthly-bridge-explanation{display:grid;gap:5px;margin-top:12px;padding:12px 14px;border-left:4px solid var(--teal);border-radius:10px;background:#f4f8f7}
.monthly-bridge-explanation.attention{border-left-color:#b58732;background:#fff8e9}
.monthly-bridge-explanation b{color:var(--nav)}
.monthly-bridge-explanation span{color:#536266;line-height:1.45}

.monthly-close-checklist{display:grid;gap:12px;margin-top:16px}
.monthly-close-checklist>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.monthly-close-checklist>header h3{margin:3px 0 0;font-size:21px;color:var(--nav)}
.monthly-close-checklist>header>span{color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap}
.monthly-close-checklist>ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.monthly-check-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #e0e8e5;border-radius:12px;background:#fff}
.monthly-check-item.done{background:#f4faf7;border-color:#cfe3da}
.monthly-check-item.open{background:#fffaf1;border-color:#ead9b7}
.monthly-check-item.waiting{background:#f7f8f8;border-color:#dde3e2}
.monthly-check-state{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:28px;padding:4px 9px;border-radius:999px;background:#edf3f1;color:#4d6263;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.monthly-check-item.done .monthly-check-state{background:#e5f4ec;color:#2e6f55}
.monthly-check-item.open .monthly-check-state{background:#fff0d5;color:#9c681a}
.monthly-check-copy{display:grid;gap:3px;min-width:0}
.monthly-check-copy b{color:var(--nav);font-size:14px}
.monthly-check-copy small{color:var(--muted);line-height:1.4}
.monthly-check-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.monthly-check-actions .btn,.monthly-resolve-action .btn{min-height:40px;padding:8px 11px}
.monthly-resolve-blocker{align-items:start}
.monthly-resolve-action{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.monthly-resolve-action select{min-width:190px;min-height:40px}

.monthly-final .confirm-row{transition:opacity .16s ease,background .16s ease,border-color .16s ease}
.monthly-final .confirm-row.pending{opacity:.58;background:#f2f4f3}
.monthly-final .confirm-row.pending input{cursor:not-allowed}
.monthly-final .confirm-row.ready{opacity:1;background:#f5faf7;border-color:#cfe3da}
.monthly-final .confirm-row span{line-height:1.4}

@media(max-width:900px){
  #monthly-close-form .mcx-table-flow col.mcx-c-name{width:25%}
  #monthly-close-form .mcx-table-flow col.mcx-c-prev{width:10%}
  #monthly-close-form .mcx-table-flow col.mcx-c-now{width:15%}
  #monthly-close-form .mcx-table-flow col.mcx-c-passive{width:15%}
  #monthly-close-form .mcx-table-flow col.mcx-c-delta{width:8%}
  #monthly-close-form .mcx-table-flow col.mcx-c-quality{width:27%}
}

@media(max-width:700px){
  #monthly-close-form .mcx-wrap{overflow:visible;border-radius:16px;background:transparent;border:0}
  #monthly-close-form .mcx-table{display:block!important;width:100%!important;background:transparent!important}
  #monthly-close-form .mcx-table colgroup,#monthly-close-form .mcx-table thead{display:none!important}
  #monthly-close-form .mcx-group{display:block!important;margin-bottom:10px;border:1px solid #d7e1de;border-radius:14px;background:#f4f8f6;overflow:hidden}
  #monthly-close-form .mcx-summary,#monthly-close-form .mcx-item{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%!important}
  #monthly-close-form .mcx-summary td,#monthly-close-form .mcx-item td{display:grid!important;align-content:start;gap:4px;min-width:0;padding:10px 12px!important;border-bottom:1px solid #e2e9e6}
  #monthly-close-form .mcx-summary td::before,#monthly-close-form .mcx-item td::before{content:attr(data-label);display:block;color:#71807f;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
  #monthly-close-form .mcx-summary td:first-child,#monthly-close-form .mcx-name,#monthly-close-form .mcx-quality-cell,#monthly-close-form .mcx-confirm td,#monthly-close-form .mcx-empty{grid-column:1/-1}
  #monthly-close-form .mcx-summary td:first-child::before,#monthly-close-form .mcx-name::before,#monthly-close-form .mcx-confirm td::before,#monthly-close-form .mcx-empty::before{content:none}
  #monthly-close-form .mcx-name{padding-left:12px!important}
  #monthly-close-form .mcx-prev,#monthly-close-form .mcx-summary-prev,#monthly-close-form .mcx-summary-now,#monthly-close-form .mcx-summary-passive,#monthly-close-form .mcx-passive,#monthly-close-form .mcx-summary-delta,#monthly-close-form .mcx-delta{text-align:left;white-space:normal}
  #monthly-close-form .mcx-money,#monthly-close-form .mcx-passive-input{max-width:none;width:100%}
  #monthly-close-form .mcx-money input,#monthly-close-form .mcx-passive-input input{max-width:none;width:100%}
  #monthly-close-form .mcx-quality{display:grid;grid-template-columns:1fr;gap:8px}
  #monthly-close-form .mcx-quality-confirm{justify-content:flex-start!important}
  #monthly-close-form .mcx-confirm .btn{width:100%}
  .monthly-driver-pending{grid-template-columns:1fr}
  .monthly-driver-pending>.status{justify-self:start}
  .monthly-close-checklist>header{align-items:flex-start;flex-direction:column;gap:6px}
  .monthly-check-item{grid-template-columns:1fr;align-items:start}
  .monthly-check-state{justify-self:start}
  .monthly-check-actions,.monthly-resolve-action{justify-content:stretch}
  .monthly-check-actions .btn,.monthly-resolve-action .btn,.monthly-resolve-action select{width:100%;min-width:0}
  .monthly-final .confirm-row{align-items:flex-start}
}

/* v1.0.28.3 · Plan-Konsistenzfix — nur Anzeige-Binding, Domainlogik unverändert. */

/* v1.0.28.4 · Plan display-binding completion; no domain/calculation changes. */


/* v1.0.29 · Basic Value Pass — presentation only; financial/domain logic unchanged. */
.basic-value-center{display:grid;gap:18px}
.basic-value-section{display:grid;gap:14px;padding:18px;border:1px solid #dfe7e4;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(24,50,54,.045)}
.basic-value-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.basic-value-section>header h2{margin:3px 0 0;color:var(--nav);font-size:24px;line-height:1.15}
.basic-value-section>header p{margin:6px 0 0;color:var(--muted);line-height:1.45;max-width:760px}
.basic-value-section>header>span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}
.basic-observation-grid,.basic-driver-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.basic-observation-grid article,.basic-driver-grid article{display:grid;gap:5px;padding:14px;border:1px solid #e1e8e6;border-radius:14px;background:#f8faf9}
.basic-observation-grid span,.basic-driver-grid span{color:#607071;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.basic-observation-grid strong,.basic-driver-grid strong{color:var(--nav);font-size:21px;line-height:1.15}
.basic-observation-grid small,.basic-driver-grid small{color:var(--muted);line-height:1.35}
.basic-flow .confirmed-flow-map{margin-top:2px}
.basic-flow-compact{gap:10px}
.basic-flow-preview{height:350px;overflow:hidden;border-radius:14px;position:relative;display:flex;justify-content:center;align-items:flex-start}
.basic-flow-preview .confirmed-flow-map{transform:scale(.72);transform-origin:top center;width:100%;margin:0 auto}
.basic-flow-preview .confirmed-flow-map>header{display:none}
.basic-flow-preview .confirmed-flow-map .confirmed-flow-legend{display:none}
.basic-flow-preview .confirmed-flow-map svg{width:100%!important;height:auto!important;min-height:0!important;margin-top:2px!important;overflow:visible}
.basic-flow-preview .confirmed-flow-map>small{display:none}
.basic-flow-full{margin-top:2px}
.basic-flow-full>summary{font-weight:750}
.basic-flow-full[open] .confirmed-flow-map{margin-top:12px}

.basic-development-preview>.center-trend{max-width:520px}
.basic-driver-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.basic-driver-grid article{min-height:122px}
.basic-goal-copy{display:grid;gap:5px;padding:14px;border-radius:14px;background:#f5f8f7}
.basic-goal-copy strong{color:var(--nav);font-size:20px}
.basic-goal-copy p,.basic-goal-copy small{margin:0;color:var(--muted);line-height:1.45}
.basic-goal-actions{display:flex;gap:10px;flex-wrap:wrap}
.basic-value-cycle{margin:0}
.guide-basic-context,.guide-basic-boundary{margin-top:12px;padding:12px 14px;border:1px solid #dde6e3;border-radius:12px;background:#f7faf9}
.guide-basic-context h3,.guide-basic-boundary b{color:var(--nav)}
.guide-basic-context p,.guide-basic-boundary p{margin:4px 0 0;color:var(--muted);line-height:1.45}
.basic-guide-sparring{display:grid;gap:12px}
.basic-guide-sparring>p{margin:0;line-height:1.5;color:#4f6061}
.monthly-basic-drivers{display:grid;gap:12px;padding:14px;border:1px solid #dfe7e4;border-radius:14px;background:#f8faf9}
.monthly-basic-drivers>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.monthly-basic-drivers h3{margin:3px 0 5px;color:var(--nav);font-size:18px}
.monthly-basic-drivers p{margin:0;color:var(--muted)}
.monthly-basic-driver-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.monthly-basic-driver-grid article{display:grid;gap:4px;padding:10px;border-radius:11px;background:#fff;border:1px solid #e1e8e6}
.monthly-basic-driver-grid span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.monthly-basic-driver-grid strong{color:var(--nav);font-size:15px}

@media(max-width:1000px){
  .basic-driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .monthly-basic-driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .basic-value-section{padding:14px;border-radius:15px}
  .basic-value-section>header{flex-direction:column;gap:8px}
  .basic-observation-grid,.basic-driver-grid{grid-template-columns:1fr}
  .basic-goal-actions{display:grid;grid-template-columns:1fr}
  .basic-goal-actions .btn,.basic-goal-actions .text-action{width:100%;min-height:44px}
  .monthly-basic-drivers>header{flex-direction:column}
  .monthly-basic-driver-grid{grid-template-columns:1fr}
}


/* v1.0.29.1 · Basic Value Polish — hierarchy only; domain/calculation logic unchanged. */
.basic-goal-actions .basic-goal-primary{justify-self:start;font-weight:750}
.basic-goal-actions .basic-goal-pro{background:transparent;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:3px}


/* v1.0.29.2 · final Basic UX polish — presentation only. */
.basic-goal-actions .basic-goal-primary{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 18px;border:1px solid var(--line);
  border-radius:12px;background:#fff;color:var(--nav);font-weight:750;
}
.basic-goal-actions .basic-goal-pro{
  appearance:none;border:0;background:transparent;color:var(--muted);
  padding:0 8px;font:inherit;font-weight:650;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer;
}
.basic-wealth-structure{
  display:grid;gap:12px;padding:18px 20px;border:1px solid var(--line);
  border-radius:18px;background:#fff;
}
.basic-wealth-structure>header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
}
.basic-wealth-structure>header h2{margin:3px 0 4px;color:var(--nav);font-size:22px;line-height:1.18}
.basic-wealth-structure>header p{margin:0;color:var(--muted);line-height:1.45}
.basic-wealth-structure>header>span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.basic-wealth-rows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.basic-wealth-row{
  display:grid;gap:6px;padding:14px 15px;border:1px solid #e1e8e6;
  border-radius:14px;background:#f8faf9;min-width:0;
}
.basic-wealth-row span{color:#607071;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.basic-wealth-row strong{color:var(--nav);font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums}
.basic-wealth-row.debt strong{color:#9a5749}
.basic-wealth-row.total{
  grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;
  background:#eef5f3;border-color:#cadbd7;
}
.basic-wealth-row.total strong{font-family:Georgia,"Times New Roman",serif;font-size:25px}
@media(max-width:900px){.basic-wealth-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .basic-wealth-structure>header{flex-direction:column}
  .basic-wealth-rows{grid-template-columns:1fr}
  .basic-wealth-row.total{grid-column:auto}
}

/* v1.0.29.7 — focused Basic and setup density; Pro layouts stay scoped out. */
.setup-progress{padding:14px 24px}
.setup-heading{padding:20px 28px 4px}
.setup-heading h1{font-size:30px;margin:6px 0 8px}
.setup-heading p{font-size:15px;margin:6px 0}
.setup-body{padding:12px 28px}
.setup-journey fieldset{margin-bottom:16px}
.setup-journey legend{font-size:16px;margin-bottom:8px}
.setup-choice{padding:11px 14px;min-height:46px;align-items:center}
.setup-module-grid,.setup-scope{gap:8px}
.setup-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.setup-benefits{gap:12px;margin-bottom:16px}
.setup-benefits>div{padding:16px}
.setup-benefits h2{font-size:18px;margin:8px 0}
.setup-benefits p{font-size:15px}
.setup-tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.setup-tier-card{align-items:flex-start;padding:14px}
.setup-tier-card b{font-size:20px;color:#123f4d}
.setup-tier-card strong{display:block;font-size:15px;margin-top:3px}
.setup-tier>small{display:block;color:#52656a;margin-top:8px}
.setup-details{padding:10px 14px;margin:10px 0}
.setup-details summary{min-height:32px;display:flex;align-items:center}
.setup-details summary::before{content:'▸';margin-right:8px}.setup-details[open]>summary::before{content:'▾'}
.setup-actions{padding:12px 28px;gap:12px}
.setup-actions button{min-height:44px}
.setup-journey #setup-message:empty{display:none}
.setup-values th,.setup-values td{padding-top:9px;padding-bottom:9px}
.setup-result{padding:14px 18px;margin:14px 0;gap:6px 16px}
.setup-result strong{font-size:26px}
.setup-goal-fields{align-items:start;margin-top:16px}
.setup-goal-fields input{height:48px}
.setup-review>div{padding:10px 0}
.setup-final-confirm{margin-top:14px;padding:14px}
.basic-compact{gap:14px}
.basic-compact-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.basic-compact-head h1{font-size:28px;margin:0}.basic-compact-head>span{color:#53676c;font-size:14px}
.basic-compact .stability-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.basic-compact .stability-kpi{padding:14px 18px;min-height:0}
.basic-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:14px;align-items:stretch}
.basic-compact .basic-value-section{padding:16px;gap:10px;box-shadow:none}
.basic-compact .basic-value-section h2{font-size:21px}
.basic-compact .basic-flow>header p,.basic-compact .basic-flow>header .eyebrow,.basic-compact .basic-flow>header>span{display:none}
.basic-compact .basic-flow-preview{height:auto;overflow:visible;display:block}
.basic-compact .basic-flow-preview .confirmed-flow-map{transform:none;width:100%}
.basic-compact .basic-flow-preview .confirmed-flow-map svg{display:block;max-height:240px}
.basic-compact .basic-flow-preview .confirmed-flow-breakdown{font-size:13px}
.basic-compact .basic-flow-full{display:none}
.basic-goal-orientation{align-content:start}
.basic-goal-orientation p{margin:0;font-size:15px;line-height:1.5;color:#52656a}
.basic-goal-orientation>strong{font-size:21px}
.basic-goal-orientation progress{width:100%;height:14px;margin:14px 0 4px;accent-color:#2d7468}
.basic-goal-progress{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.basic-goal-progress b{display:block}
.basic-next-step{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#eaf3ef;border:1px solid #cddfda;border-radius:14px;padding:14px 18px}
.basic-next-step p{margin:3px 0 0;color:#52656a;font-size:14px}
.basic-finance .basic-finance-summary{gap:14px}
.basic-finance-summary>header,.basic-development-head{padding:14px 20px}
.basic-finance-summary>header h1,.basic-development-head h1{font-size:26px}
.basic-finance-summary>header .eyebrow,.basic-development-head .eyebrow{color:#e2cc94}
.basic-finance .basic-wealth-structure{padding:18px}
.basic-finance .basic-wealth-rows{display:block}
.basic-finance .basic-wealth-row{display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid #dce5e1;border-radius:0;padding:10px 4px;background:transparent}
.basic-finance .basic-wealth-row strong{font-size:20px}
.basic-finance .basic-wealth-row.total{background:#eef5f2;padding:12px;margin-top:6px;border-radius:8px}
.basic-cash-table{background:white;padding:18px;border:1px solid #dce5e1;border-radius:16px}
.basic-cash-table h2{font-size:22px;margin:0 0 10px}.basic-cash-table dl{margin:0}
.basic-cash-table dl>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e3e9e6;gap:12px}
.basic-cash-table dd{margin:0;font-weight:700}.basic-cash-table p,.basic-finance-help{font-size:14px;color:#52656a;margin:10px 0 0}
.basic-finance-summary{display:grid;grid-template-columns:1fr 1fr}
.basic-finance-summary>header,.basic-finance-summary>.basic-finance-help,.basic-finance-summary>.purpose-capital-summary,.basic-finance-summary>.btn{grid-column:1/-1}
.basic-development .snapshot-timeline-workspace{padding:18px}
.basic-development .snapshot-timeline-workspace>header .eyebrow,.basic-development .timeline-source-note{display:none}
.basic-development .snapshot-timeline-workspace h2{font-size:24px}
.basic-goal-editor{max-width:1000px}
@media(max-width:760px){
 .setup-module-grid{grid-template-columns:1fr 1fr}.setup-tier-grid,.basic-overview-grid,.basic-finance-summary{grid-template-columns:1fr}
 .setup-heading{padding:18px 18px 4px}.setup-body{padding:10px 18px}.setup-actions{padding:12px 18px}
 .basic-compact-head{align-items:flex-start;flex-direction:column}.basic-compact .stability-kpi-strip{grid-template-columns:1fr}
 .basic-next-step{align-items:flex-start;flex-direction:column}.setup-goal-fields{grid-template-columns:1fr}
}
.basic-compact .basic-flow-preview>svg{width:100%;height:auto;display:block;fill:#182f3a;margin:12px 0}
.basic-goal-editor .inline-message:empty{display:none}
.basic-goal-editor .setup-goal-options{gap:8px}
.basic-goal-editor .setup-choice{padding:10px 12px}
.basic-goal-editor .setup-heading{padding-top:16px}
.setup-tier-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.setup-tier-preview-grid figure{margin:0}.setup-tier-preview-grid img{width:100%;height:auto;border:1px solid #d5dfdf;border-radius:10px}
.setup-tier-preview-grid figcaption{font-size:14px;margin:8px 0;color:#52656a}
@media(max-width:760px){.setup-tier-preview-grid{grid-template-columns:1fr}}
@media(min-width:1000px){
 .setup-journey[data-screen="1"] .setup-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;align-items:start}
 .setup-journey[data-screen="1"] .setup-tier{grid-column:1;grid-row:1 / span 3;margin:0}
 .setup-journey[data-screen="1"] .setup-scope{grid-column:2;grid-row:1;margin:0}
 .setup-journey[data-screen="1"] .setup-body>fieldset:nth-child(3){grid-column:2;grid-row:2;margin:0}
 .setup-journey[data-screen="1"] .setup-module-grid{grid-template-columns:1fr 1fr}
 .setup-journey[data-screen="1"] .setup-body>.setup-details{grid-column:2;grid-row:3;margin:0}
 .setup-review{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
 .setup-review>div{grid-template-columns:1fr auto;gap:4px 8px;padding:10px 0;align-content:start}
 .setup-review dt,.setup-review dd{grid-column:1;font-size:14px}
 .setup-review .btn{grid-column:2;grid-row:1 / span 2;font-size:13px}
 .setup-review .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}
/* 1.0.29.8: complete Basic finance, compact tablet setup and readable examples. */
.basic-goal-edit{border:1px solid #356572!important;color:#173e49!important;background:#eef5f4!important;font-weight:700;min-height:44px}
.basic-finance-manage{grid-column:1/-1;background:white;border:1px solid #dce5e1;border-radius:16px;padding:16px 18px}
.basic-finance-manage h2{font-size:20px;margin:0 0 6px}.basic-finance-manage p{font-size:14px;color:#52656a;margin:0 0 12px}
.basic-finance-manage nav{display:flex;flex-wrap:wrap;gap:8px}.basic-finance-manage .btn{min-height:44px;font-size:14px;padding:8px 12px}
.basic-finance-summary>header,.basic-development-head{background:transparent;color:#172630;padding:0;border-radius:0;display:flex;align-items:center;justify-content:space-between;gap:16px}
.basic-finance-summary>header h1,.basic-development-head h1{color:#172630;font-size:28px;font-weight:700;line-height:1.2;margin:0}
.basic-finance-summary>header>span,.basic-development-head>span{font-size:14px;color:#52656a}
.basic-month-wait{max-width:850px;background:white;border:1px solid #dce5e1;border-radius:18px;padding:24px}
.basic-month-wait h1{font-size:28px;margin:0 0 12px}.basic-month-wait p{line-height:1.6}.basic-month-wait .btn{margin:8px 8px 0 0}
.package-matrix{border-collapse:collapse;width:100%;font-size:14px;margin-top:10px}.package-matrix th{text-align:left;font-weight:500}.package-matrix thead th{font-weight:750;color:#27535e;background:#eff5f3}
.package-matrix td,.package-matrix th{padding:6px 8px;border-bottom:1px solid #dfe7e5}.package-matrix td{text-align:center;font-weight:750;color:#245d50}.package-matrix button{font:inherit;text-align:left;color:#173f50;background:transparent;border:0;padding:0;cursor:pointer;min-height:32px}.package-matrix button span{color:#976f29}
.package-example-links{display:flex;align-items:center;gap:12px;margin-top:10px}.package-example-links .btn{font-size:13px;min-height:44px;padding:8px}.package-example-links>span{font-size:12px;color:#53666a}
.package-example-dialog{width:min(1050px,94vw);max-height:88dvh;box-sizing:border-box;border:1px solid #b8cdca;border-radius:18px;padding:24px;color:#182e39;background:#fff;overflow:auto}
.package-example-dialog::backdrop{background:#10212bc9}.package-example-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.package-example-dialog h2{font-size:26px;margin:8px 0 20px}.package-example-dialog>footer{margin-top:24px;border-top:1px solid #dce5e1;padding-top:14px;font-size:13px;color:#52656a}
.package-basic-image{display:block;width:100%;height:auto}.example-tree>article{max-width:420px;margin:16px auto 30px;text-align:center;background:#163e4c;color:white;padding:22px;border-radius:14px}
.example-tree-branches,.example-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.example-tree-branches article,.example-comparison article{padding:22px;border:1px solid #ceddd8;border-top:5px solid #b5984e;border-radius:12px;background:#f0f6f3}.example-tree h3,.example-comparison h3{font-size:23px;margin:12px 0}.example-tree p,.example-comparison p{line-height:1.5}
.example-table{width:100%;border-collapse:collapse;margin:24px 0}.example-table th,.example-table td{text-align:left;padding:18px;border-bottom:1px solid #dce5e1}.example-table th{background:#edf4f1}
.setup-tier-card{padding:10px 12px}.setup-tier-card small{font-size:13px}.setup-tier-card b{font-size:19px}
.setup-heading{padding-top:14px}.setup-heading h1{font-size:27px}.setup-heading p{margin:4px 0}.setup-progress{padding-top:12px;padding-bottom:12px}
.setup-values th,.setup-values td{padding-top:6px;padding-bottom:6px}.setup-values .field{margin:3px 0}.setup-values .setup-details{margin-top:2px}.setup-values .setup-details summary{padding:0;min-height:32px}
.setup-result{padding:10px 14px;margin:8px 0}.setup-result strong{font-size:23px}.setup-result small{font-size:13px}
.setup-journey[data-screen="2"] .setup-body>.field{max-width:270px;margin:0 0 10px}
.setup-goal-options{gap:8px}.setup-goal-options .setup-choice{padding:8px 12px}.setup-goal-options .setup-choice small{font-size:14px;line-height:1.35}.setup-goal-fields{margin-top:12px}.setup-goal-fields~p{margin:8px 0;font-size:14px}
.basic-goal-editor .setup-heading h1{font-size:27px}.basic-goal-editor .setup-body{padding-top:8px;padding-bottom:8px}
.basic-development .timeline-data-details>summary{cursor:pointer;list-style:disclosure-closed;display:list-item;margin-left:16px;min-height:36px}.basic-development .timeline-data-details[open]>summary{list-style:disclosure-open}
@media(min-width:1000px){
 .setup-journey[data-screen="3"][data-setup-tier="basic"] .setup-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 22px;align-items:start}
 .setup-journey[data-screen="3"][data-setup-tier="basic"] .setup-body>.setup-details{grid-column:1/-1;margin:0}
 .setup-flow-inputs .setup-values{min-width:0;font-size:14px}.setup-flow-inputs .setup-values td{min-width:0}.setup-flow-inputs .setup-values th:first-child{width:36%}.setup-flow-inputs .setup-values td:nth-child(2){width:32%}.setup-flow-inputs .setup-values input,.setup-flow-inputs .setup-values select{padding:8px;min-height:44px}
 .setup-body .basic-flow{padding:8px;border:0;margin:0}.setup-body .basic-flow header{display:none}.setup-body .basic-flow-preview{height:auto;display:block;overflow:visible}.setup-body .basic-flow svg{display:block;width:100%;height:auto;min-height:180px}
}
@media(max-width:760px){.package-example-dialog{padding:16px}.example-tree-branches,.example-comparison{grid-template-columns:1fr}.example-table th,.example-table td{padding:9px}.package-example-dialog h2{font-size:21px}.basic-finance-summary>header,.basic-development-head{align-items:flex-start;flex-direction:column}.setup-body .basic-flow svg{width:100%;height:auto}}
.package-tier-pick{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;cursor:pointer}.package-tier-pick:has(input:checked){color:#123f4d;box-shadow:inset 0 -3px #286674}.package-matrix{margin-top:0}.package-matrix .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.setup-journey[data-screen="1"] .setup-body{padding-top:6px}.setup-journey[data-screen="1"] .setup-heading{padding-bottom:0}
.package-matrix td{width:60px}.package-matrix thead th{padding-top:0;padding-bottom:0}.package-matrix button{min-height:38px}
@media(min-width:1000px){.setup-journey[data-screen="1"] .setup-body{gap:8px 24px}.setup-journey[data-screen="1"] .setup-body>fieldset:nth-child(3){align-self:center}}
.package-matrix button{min-height:32px}.setup-journey[data-screen="1"] .setup-heading{padding-top:10px}.setup-journey[data-screen="1"] .setup-body{padding-bottom:6px}
@media(min-width:1000px){
 .setup-journey[data-screen="2"] .setup-body>.field{display:flex;align-items:center;gap:16px;max-width:none;margin:0 0 10px}
 .setup-journey[data-screen="2"] .setup-body>.field>span{white-space:nowrap}
 .setup-journey[data-screen="2"] .setup-body>.field>input{width:210px}
 .setup-journey[data-screen="2"] .setup-body{padding-top:6px;padding-bottom:8px}
}

@media(min-width:1000px){.setup-journey[data-screen="2"] .setup-heading{padding-top:6px}.setup-journey[data-screen="2"] .setup-body{padding-bottom:4px}}

/* 1.0.29.9: shared working state and compact finance editors */
.finance-state-switch{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.working-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.working-header h1{font-size:28px;margin:0}.working-header span{color:var(--muted)}
.working-finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.working-finance-grid .card{padding:20px;min-width:0}.working-finance-grid h2{font-size:22px;margin:0 0 14px}.working-finance-grid dl{margin:0}.working-finance-grid dd{display:flex;align-items:center;gap:10px;margin:0}.working-finance-grid .text-action{font-size:14px;min-height:44px}.purpose-summary small{display:block;margin-top:10px}
.purpose-help{padding:12px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.purpose-help summary{cursor:pointer;font-weight:700;min-height:24px}.purpose-help p{max-width:90ch}.purpose-definition{margin:12px 0}
.purpose-entry-mode{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 16px;min-width:0}.purpose-entry-mode legend{font-weight:700}.purpose-entry-mode label{display:flex;align-items:center;gap:10px;min-height:44px}.purpose-entry-mode input[type=radio]{width:22px;height:22px;flex:0 0 auto}.purpose-entry-mode select{min-width:0;width:100%}.purpose-entry-mode [hidden]{display:none!important}.purpose-entry-mode p{font-size:15px;margin:8px 0}.purpose-entry-mode [data-entry-transfer] label{display:grid}.purpose-entry-mode [data-transfer-preview]:not(:empty){background:#e9f3ef;padding:12px;border-radius:8px}
.workspace-hero{padding:16px 20px!important;margin-bottom:14px}.workspace-hero h1{font-family:inherit;font-size:28px;line-height:1.2;margin:0}.workspace-hero .eyebrow{display:none}.workspace-hero p{font-size:15px;margin:4px 0}.workspace-hero .finance-breadcrumb{font-size:13px}.area-summary{margin:10px 0;gap:12px}.area-summary article{padding:12px 16px}.area-summary strong{font-size:22px}.purpose-master-panel{padding:20px}.purpose-master-panel>header h2{font-family:inherit;font-size:24px}.purpose-master-panel>header p{font-size:15px;margin:6px 0}.purpose-pool-tabs{margin:12px 0}.purpose-section-switch{margin:12px 0}.purpose-section-switch button{padding:12px 16px}.finance-master-list,.finance-master-editor,.purpose-master-form,.finance-editor{min-width:0}.finance-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-editor-grid>*{min-width:0}.finance-split-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.finance-split-part{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.finance-master-detail input,.finance-master-detail select,.purpose-new-focused input,.purpose-new-focused select{box-sizing:border-box;max-width:100%;min-width:0;width:100%}.finance-master-detail .money-input,.purpose-new-focused .money-input{display:flex;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.finance-master-detail .money-input input,.purpose-new-focused .money-input input{flex:1 1 0;width:0;min-width:0}.finance-master-detail .money-input b{flex:0 0 auto}.finance-master-detail input[type=checkbox],.finance-master-detail input[type=radio],.purpose-new-focused input[type=radio]{width:22px;min-width:22px}.finance-master-detail .btn{max-width:100%;white-space:normal}
.inline-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e9f3ef;border:1px solid #8bb6a7;padding:12px 16px;border-radius:12px;margin-bottom:12px}.inline-feedback button{background:transparent;border:0;font-size:24px;min-width:44px;min-height:44px;cursor:pointer}.preparation-note{margin-bottom:12px}
@media(max-width:760px){.working-finance-grid{grid-template-columns:1fr}.working-header{align-items:start;flex-direction:column}.working-finance-grid dd{flex-wrap:wrap}.finance-editor-grid{grid-template-columns:1fr}.workspace-hero h1{font-size:24px}.workspace-hero{flex-wrap:wrap}.purpose-position-fields{grid-template-columns:1fr}.finance-split-part{grid-template-columns:1fr}}
/* Compact rows retain a 44 px touch target. */
.working-finance-grid .basic-cash-table dl>div{align-items:center;padding:2px 0;min-height:36px}
.working-finance-grid .card{padding:16px}.working-finance-grid h2{margin-bottom:10px;font-size:21px}
.working-finance-grid .purpose-summary>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:6px 0}.working-finance-grid .purpose-summary>div p{font-size:14px;margin:0}
.working-finance-grid .card>.btn{margin:2px 8px 6px 0}.working-finance-grid .card>p{font-size:14px;line-height:1.4;margin:8px 0}
.purpose-new-focused :is(input:not([type=radio]):not([type=hidden]),select){border:1px solid #c6d3d6;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:inherit;min-height:44px}
.purpose-new-focused .money-input input{border:0;background:transparent}.purpose-new-focused select:disabled{opacity:.7}.purpose-new-focused .purpose-fields{margin-bottom:10px}
.purpose-entry-mode>label{display:inline-flex;margin-right:20px}.purpose-entry-mode [data-entry-transfer] p{margin-bottom:0}
.finance-form-error{color:#a12e22;font-weight:600}.inline-feedback.error{background:#fff1ed;border-color:#c87969}
@media(max-width:760px){.working-finance-grid .purpose-summary>div{display:block}.working-finance-grid .basic-cash-table dl>div{flex-wrap:wrap}.working-finance-grid dd{margin-left:auto}.purpose-entry-mode>label{display:flex}}
.finance-master-detail :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select){border:1px solid #c6d3d6;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:inherit;min-height:44px}
.finance-master-detail .money-input input{border:0;background:transparent}.finance-master-detail select:disabled{opacity:.7}
.area-summary strong{font-size:20px!important}.area-summary article{gap:2px;padding:10px 14px}
.finance-master-detail .editor-head h2,.finance-master-detail .section-head h2,.finance-master-detail .section-head h3{font-family:inherit;font-size:21px;margin:4px 0}
.finance-master-editor .finance-editor{align-content:start;gap:12px;height:auto}.finance-master-editor .finance-master-actions{margin-top:12px}
.purpose-master-panel>header{margin-bottom:12px;gap:16px}.purpose-master-panel>header p{max-width:75ch}.purpose-master-panel .purpose-pool-tabs{margin:10px 0}.purpose-master-panel .purpose-section-switch{margin:10px 0 14px}
.finance-split-grid .finance-split-part>label{grid-template-columns:minmax(0,1fr);gap:5px}

/* 1.0.29.10: monthly explanation and compact editing, shared by both tiers. */
[data-residual-extra][hidden]{display:none!important}
.monthly-residual{padding:18px!important;gap:12px!important}.monthly-residual h2{font-size:22px}.monthly-residual p{margin:6px 0;font-size:15px}.residual-choice{align-items:start}.residual-result{margin:6px 0!important}
.movement-explanation{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);min-width:0}.movement-explanation h3{font:700 21px/1.3 inherit}.movement-explanation table{border-collapse:collapse;width:100%;min-width:760px}.movement-explanation th,.movement-explanation td{padding:10px;text-align:right;border-bottom:1px solid var(--line);vertical-align:top}.movement-explanation th:first-child{text-align:left}.movement-explanation small{display:block;font-size:12px;color:var(--muted);font-weight:400;max-width:28ch}.movement-explanation>small{max-width:none;margin-top:10px}
.monthly-final>div{min-width:0}.monthly-actions{flex-wrap:wrap;gap:10px}.monthly-check-item:has(.monthly-check-state){min-width:0}
.purpose-master-panel{display:block!important}.purpose-master-panel>header{margin:0 0 12px!important}.purpose-pool-tabs{margin:10px 0!important}.purpose-section-switch{margin:10px 0!important}
.finance-master-editor .finance-master-actions,.purpose-master-form .editor-actions{position:sticky;bottom:8px;background:#fff;padding:10px 0;z-index:2;border-top:1px solid var(--line)}
.finance-master-editor .finance-editor{row-gap:10px!important}.finance-master-list>header{margin-bottom:12px}.workspace-hero .status{font-size:12px;padding:6px 10px}
.movement-explanation h3{font-family:inherit;font-size:21px;line-height:1.3;font-weight:700}.movement-explanation summary{cursor:pointer;font-weight:700;padding:12px 0}.movement-group{background:#f4f8f6}.monthly-bridge>header{flex-wrap:wrap}.monthly-bridge>header>div{min-width:0;flex:1 1 300px}
.entry-value-hero .eyebrow{color:#e6c77b}
.setup-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.setup-row-actions .btn{font-size:14px;padding:10px 12px}
.product-gallery{width:min(1400px,97vw);max-height:94dvh}
.example-tier-switch,.example-screen-tabs,.example-pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.example-screen-tabs [aria-current="page"]{border-color:#235766;background:#e7f2ef;font-weight:700}
.example-image-scroll{max-height:58dvh;overflow:auto;border:1px solid #dce5e1;border-radius:12px;background:#f5f4ef}
.product-example-image{display:block;width:100%;height:auto}
.product-example-image.zoomed{width:1280px;max-width:none}
.example-pager{justify-content:space-between}
.monthly-actions:has([data-action="monthly-preparation-save"]){display:grid!important;grid-template-columns:auto 1fr auto;align-items:center}
.monthly-actions:has([data-action="monthly-preparation-save"]) [data-monthly-save-status]{grid-row:2;grid-column:1/-1;text-align:center}
.monthly-actions:has([data-action="monthly-preparation-save"]) .btn{width:auto!important;min-width:0!important;white-space:normal}
@media(max-width:600px){.monthly-actions:has([data-action="monthly-preparation-save"]){grid-template-columns:1fr 1fr}.monthly-actions:has([data-action="monthly-preparation-save"]) [data-action="monthly-preparation-save"]{grid-column:1/-1;grid-row:2}.monthly-actions:has([data-action="monthly-preparation-save"]) [data-monthly-save-status]{grid-row:3}.product-gallery{padding:12px}.product-gallery>header{align-items:start}.product-gallery h2{font-size:20px}.example-screen-tabs .btn{font-size:13px;padding:8px}}

/* 1.0.29.15 — One presentation system for Basic, Pro and editing workspaces.
   Reading rhythm: 8 / 12 / 16 / 24. Controls retain 44px touch targets.
   Financial colours and data states remain independent from layout. */
:root{--pcms-space:16px;--pcms-radius:12px;--pcms-page-gap:16px;--pcms-section-radius:12px;--pcms-heading:28px;--pcms-section-heading:21px}
#app main :is(h1,h2,h3){font-family:inherit!important;letter-spacing:-.02em;line-height:1.25}
#app main h1{font-size:var(--pcms-heading)}
#app main h2{font-size:var(--pcms-section-heading)}
#app main h3{font-size:17px}
#app main :is(strong,b,dd,input[data-money],td){font-variant-numeric:tabular-nums}
#app main :is(button,input,select){font-family:inherit}
#app main :is(.btn,.text-action){min-height:44px;border-radius:10px}
#app main :is(button,a,summary,input,select):focus-visible{outline:3px solid #a68135;outline-offset:3px}
#app main .eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.4}
#app main :is(.stability-page,.review-workspace,.pro-plan){gap:16px!important}
#app main :is(.page-hero,.workspace-hero){background:transparent!important;color:var(--nav)!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 16px!important;box-shadow:none!important;min-height:0!important;gap:16px}
#app main :is(.page-hero,.workspace-hero) :is(h1,h2,.eyebrow){color:var(--nav)!important}
#app main :is(.page-hero,.workspace-hero) h1{font-size:28px!important;line-height:1.25!important;margin:4px 0 8px!important}
#app main :is(.page-hero,.workspace-hero) p{color:var(--muted)!important;font-size:14px!important;line-height:1.5;max-width:80ch;margin:0!important}
#app main :is(.basic-compact-head,.working-header){display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}
#app main :is(.basic-compact-head,.working-header) h1{font-size:28px;margin:0}
#app main :is(.basic-compact-head,.working-header)>span{font-size:13px;color:var(--muted)}
#app main :is(.center2-section,.basic-value-section,.review-visual-card,.review-horizon-panel,.confirmed-plan-journey,.plan-panel,.purpose-master-panel,.finance-master-list,.finance-master-editor,.debt-workspace>article,.debt-workspace>aside){border-radius:12px;padding:20px;box-shadow:none}
#app main .truth-note{font-size:13px;line-height:1.5;padding:10px 14px;border-radius:10px}
#app main .guide-inline{font-size:12px;min-height:32px}
/* Disclosure shells own the border; summaries own all closed-state spacing. */
#app main details>summary{cursor:pointer;list-style:none!important;position:relative;display:flex;align-items:center;justify-content:flex-start!important;text-align:left!important;gap:10px;min-height:48px;box-sizing:border-box;font-size:14px;line-height:1.4}
#app main details>summary::-webkit-details-marker{display:none!important}
#app main details>summary::marker{content:""}
#app main details>summary::before{content:"›"!important;display:inline-block!important;position:static!important;transform:rotate(0);width:12px;flex:0 0 12px;margin:0!important;font:600 22px/1 system-ui;color:#315b65;background:none!important;border:0!important;height:auto!important}
#app main details[open]>summary::before{transform:rotate(90deg)}
#app main details>summary::after{content:none!important}
#app main :is(.pcms-detail-panel,.plan-audit-details,.review-detail-stack,.optional-goals,.purpose-help,.goal-additional-editor,.optional-assumptions,.driver-impact-more,.plan-driver-summary,.finance-flow-period-block){background:#fff;border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:0!important;min-height:0!important}
#app main :is(.pcms-detail-panel,.plan-audit-details,.review-detail-stack,.optional-goals,.purpose-help,.goal-additional-editor,.optional-assumptions,.driver-impact-more,.plan-driver-summary,.finance-flow-period-block)>summary{padding:12px 16px!important;margin:0!important;font-weight:650;color:var(--nav)}
#app main :is(.pcms-detail-panel,.plan-audit-details,.review-detail-stack,.optional-goals,.purpose-help,.goal-additional-editor,.optional-assumptions,.driver-impact-more,.finance-flow-period-block)[open]>:not(summary){margin-left:16px;margin-right:16px;max-width:calc(100% - 32px)}
#app main :is(.pcms-detail-panel,.plan-audit-details,.review-detail-stack,.optional-goals,.purpose-help,.goal-additional-editor,.optional-assumptions,.driver-impact-more,.finance-flow-period-block)[open]>:last-child{margin-bottom:16px}
/* Center: numbers, one next action, goals, optional details. */
#app .center2-stand{background:transparent;border:0;padding:0!important;gap:0!important}
#app .center2-kpi-grid{gap:12px;align-items:stretch}
#app .center2-kpi{background:#fff;border:1px solid var(--line);padding:16px;min-height:0;border-radius:12px;gap:6px}
#app .center2-kpi strong{font-family:inherit;font-size:28px!important;line-height:1.2}
#app .center2-kpi header{min-height:20px}
#app .center2-kpi p{margin:0;font-size:13px}
#app .center2-kpi p:empty{display:none}
#app .center2-focus{display:block;border:1px solid #cbded8!important;background:#edf5f2!important;padding:16px 20px!important;border-radius:12px}
#app .center2-focus-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:0;min-height:0}
#app .center2-focus h2{font-size:19px!important;margin:4px 0 6px}
#app .center2-focus-main p{font-size:13px;line-height:1.5;margin:0;max-width:76ch}
#app .center2-focus-actions{flex-direction:row!important;flex-wrap:wrap;align-items:center}
#app .center2-focus-next{display:none}
#app .center2-focus-detail{font-size:13px;margin-top:8px}
#app .center2-focus-detail>summary{min-height:36px}
#app .center2-focus-detail p{font-size:13px;margin:8px 0}
#app .center2-focus-chips:empty{display:none}
#app .center2-section-head{align-items:center;min-height:0;margin:0 0 12px}
#app .center2-section-head h2{font-size:21px!important}
#app .center2-section-head .eyebrow{display:none}
#app .center2-section-head>span{font-size:12px}
#app .center2-status.neutral{background:#eef2f1;color:#536765;border:1px solid #d8e2df}
#app .center2-goal-list{grid-template-columns:1fr;gap:0}
#app .center2-goal-row{grid-template-columns:minmax(200px,1fr) minmax(180px,.65fr) auto!important;gap:20px!important;padding:12px 0!important;min-height:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#app .center2-goal-copy b{font-size:17px}
#app .center2-goal-copy span{font-size:14px}
#app .center2-goal-open-note,#app .center2-goal-debt-note{font-size:12px;line-height:1.45}
#app .center2-goal-row.optional-goal{display:flex;justify-content:space-between;font-size:14px}
#app .optional-goal small{color:var(--muted)}
#app .center2-on-course footer,#app .center2-on-course-actions{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;min-height:0!important;gap:12px;flex-wrap:wrap}
#app .center2-on-course footer{padding-top:8px;margin:0}
#app .center2-on-course .center2-section-head{margin-bottom:0}
#app .center2-empty{min-height:0!important;padding:0!important;font-size:14px;line-height:1.5}
#app .center2-details{padding:0;gap:8px}
#app .center2-details>.center2-section-head{margin:0}
#app .center2-details>.center2-section-head>span{display:none}
#app .center2-details>details{margin:0}
#app .setup-success{padding:10px 14px!important;min-height:0!important;font-size:13px}
#app .setup-success span{font-size:13px!important}
/* Finance: a 48px reading row, 44px independent edit control, no doubled padding. */
#app .working-finance-grid{gap:16px;align-items:stretch}
#app .working-finance-grid .card{padding:20px;border-radius:12px}
#app .working-finance-grid .basic-cash-table dl>div{padding:2px 0!important;min-height:48px;gap:12px;box-sizing:border-box;align-items:center}
#app .working-finance-grid .basic-cash-table dl :is(.btn,.text-action){background:transparent!important;border:0!important;font-size:13px;padding:8px!important;box-shadow:none;color:#235766}
#app .working-finance-grid .purpose-summary>div{align-items:flex-start;gap:16px}
#app .working-finance-grid .purpose-summary>div p{text-align:right;line-height:1.5}
#app .working-finance-grid .card>p,#app .working-finance>p{font-size:14px;line-height:1.5;margin:8px 0 16px}
#app .working-finance-grid h2,#app .basic-cash-table h2,#app .basic-wealth-structure h2{font-size:21px!important;margin:0 0 12px!important}
#app .basic-finance .basic-wealth-structure{display:block}
#app .basic-wealth-structure>header{margin:0 0 12px}
#app .basic-wealth-structure>header .eyebrow{display:none}
#app .basic-wealth-row,#app .basic-cash-table dl>div{padding:10px 0;min-height:44px;box-sizing:border-box;gap:12px}
#app .basic-wealth-row span{text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:400!important}
#app .basic-wealth-row strong,#app .basic-cash-table dd{font-family:inherit!important;font-size:18px!important;font-weight:700}
#app .basic-wealth-total{margin-top:0!important;padding:12px!important}
#app .basic-wealth-total strong{font-family:inherit;font-size:22px!important}
#app .basic-finance-manage{padding:20px!important}
#app .basic-finance-manage h2{font-size:20px!important}
#app .basic-finance-manage p{font-size:13px}
#app .basic-finance-manage nav{gap:8px}
#app .basic-finance-manage nav .btn{font-size:13px;padding:10px 12px;background:transparent}
#app .finance-primary-entry{border:0!important;background:transparent!important;padding:0!important;min-height:0;gap:16px}
#app .finance-primary-entry p{font-size:14px;line-height:1.5;margin:0}
#app .finance-primary-entry .btn{background:#fff;color:var(--nav);border:1px solid var(--line)}
#app .stability-finance-visuals{gap:16px;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
#app .stability-finance-visuals>article{grid-column:auto;padding:20px;border-radius:12px}
#app .stability-finance-visuals>article>header{margin-bottom:12px;min-height:0}
#app .stability-finance-visuals>article>header .eyebrow{display:none}
#app .stability-finance-visuals h2{font-size:21px!important}
#app .stability-metric-row{min-height:44px;padding:10px 0}
#app .finance-overview-group>summary{padding:12px;gap:10px}
#app .finance-overview-group>summary>span:first-of-type{flex:1;min-width:0}
#app .finance-overview-group>summary>.finance-overview-period-values{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:baseline;text-align:right}
#app .finance-overview-period-values small{font-size:12px}
#app .finance-overview-period-values strong{font-size:18px}
#app .finance-overview-periods{gap:12px}
#app .finance-overview-position{grid-template-columns:minmax(0,1fr) auto!important;padding:12px 0;gap:12px}
#app .finance-overview-position>em{grid-column:1/-1;justify-self:end;min-height:44px}
#app .finance-overview-periods{grid-template-columns:minmax(0,1fr)!important}
#app .finance-overview-position small{font-size:12px;line-height:1.4}
#app .finance-refinement-panel{margin-top:16px;padding:16px!important;gap:12px;min-height:0!important}
#app .finance-refinement-panel h2{font-size:17px!important}
#app .finance-refinement-panel p{font-size:13px;margin:4px 0}
#app .finance-refinement-panel .btn{font-size:13px}
/* Editors share the same shell, labels and action spacing. */
#app .area-summary{gap:12px;margin:0 0 16px}
#app .area-summary article{padding:12px 16px;border-radius:10px}
#app .area-summary span{font-size:12px}
#app .finance-master-detail,#app .debt-workspace{gap:16px;align-items:start}
#app .finance-master-list .section-head{align-items:center;gap:10px}
#app .finance-master-list h2,#app .finance-master-editor h2,#app .debt-workspace h2{font-size:21px!important}
#app .finance-master-list .section-head .btn{font-size:13px;white-space:normal;padding:10px 12px;background:#eef5f2;color:#214c58;border:1px solid #bed3cd}
#app .finance-master-row{padding:14px!important;gap:8px;border-radius:10px}
#app .finance-master-row b{font-size:16px}
#app .finance-master-row strong{font-size:18px}
#app .finance-master-row em{font-size:12px;background:transparent;border:0;min-height:0;padding:0}
#app .finance-master-context{margin-top:16px;padding:12px 0 0!important;border-top:1px solid var(--line)}
#app .finance-master-context p{font-size:12px;line-height:1.5}
#app .finance-editor-grid,#app .purpose-fields,#app .debt-form-grid{gap:14px 16px!important}
#app .finance-editor-grid label,#app .purpose-fields label,#app .debt-form-grid label{font-size:14px;gap:6px}
#app .finance-editor-grid small{font-size:12px;line-height:1.4}
#app .finance-master-editor .finance-editor{height:auto;min-height:0;align-content:start}
#app .finance-editor .editor-head{padding-bottom:12px;margin-bottom:0}
#app .finance-master-editor .inline-message:empty{display:none}
#app .finance-master-actions,#app .editor-actions{display:flex;gap:10px;flex-wrap:wrap}
#app .finance-master-actions .btn{font-size:14px;padding:12px 16px}
#app .finance-split-grid{gap:16px}
#app .finance-split-part{padding:16px;border-radius:12px}
#app .finance-split-part h3{font-size:18px}
#app .purpose-master-panel>header h2{font-size:21px!important}
#app .purpose-master-panel>header p{font-size:14px;line-height:1.5;margin:6px 0}
#app .purpose-section-switch{gap:12px}
#app .purpose-section-switch button{font-size:16px;padding:12px 16px}
#app .purpose-master-form,#app .purpose-master-list{padding:18px!important;border-radius:12px}
#app .purpose-master-form h2{font-size:21px!important}
#app .purpose-entry-mode{padding:14px!important;border-radius:10px}
#app .purpose-entry-mode p{font-size:13px}
#app .purpose-entry-mode label{font-size:14px}
#app .debt-kpis{gap:12px}
#app .debt-kpis>article{padding:14px 16px;border-radius:12px}
#app .debt-kpis strong{font-family:inherit;font-size:24px}
#app .debt-form-grid :is(input,select){min-height:44px;font:inherit;border-radius:10px}
#app .calibration-hero{margin:16px 0;padding:20px;border-radius:12px}
#app .calibration-hero h1{font-size:28px;line-height:1.25}
#app .target-system-form{display:grid;gap:16px;min-width:0}
#app .target-system-form>:is(section,article,details,.calibration-grid){margin-top:0;margin-bottom:0}
#app .calibration-grid{gap:16px}
#app .calibration-card{padding:20px;border-radius:12px}
#app .target-system-form>.inline-message:empty{display:none}
/* Plan: retain stages, remove nested decorative padding and duplicate spacing. */
#app .pro-plan>.page-hero,#app .pro-plan>.stability-period-marker,#app .pro-plan>details,#app .pro-plan>.truth-note{margin:0!important}
#app .stability-period-marker{padding:0!important;background:transparent!important;border:0!important;margin:0 0 12px!important;font-size:13px}
#app .plan-workspace-navigation{background:transparent;border:0;padding:0;margin:0!important;gap:8px}
#app .plan-section-tabs{gap:8px}
#app .plan-section-tab{min-height:48px;border-radius:10px;padding:8px 12px;font-size:14px}
#app .plan-driver-summary>summary em::after{content:none!important}
#app .plan-driver-summary>summary b{font-family:inherit!important;font-size:17px}
#app .plan-driver-summary>summary>span{flex:1}
#app .plan-driver-summary>summary em{font-size:12px;margin-left:auto}
#app .confirmed-plan-journey{border:1px solid var(--line);background:#fff;margin:0;gap:16px}
#app .confirmed-plan-journey>header{margin:0}
#app .confirmed-plan-journey>header h2{font-size:21px!important}
#app .confirmed-plan-journey>header p{font-size:14px;line-height:1.5}
#app .confirmed-plan-journey .target-picture-hierarchy{border:0;background:transparent;padding:0;border-radius:0;box-shadow:none;margin:0}
#app .target-picture-hierarchy{padding:20px;border-radius:12px;gap:12px}
#app .target-picture-hierarchy>header h2{font-size:21px!important}
#app .target-picture-hierarchy>header p{font-size:14px;line-height:1.5;margin:6px 0}
#app .target-picture-outcome{background:transparent;border:0;padding:0;gap:4px}
#app .target-picture-root{padding:16px 20px;border-radius:12px}
#app .target-picture-root>b{font-family:inherit;font-size:23px!important;line-height:1.3}
#app .target-picture-root>small{font-size:13px;line-height:1.5}
#app .target-picture-area-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}
#app .target-picture-area{border-radius:10px;gap:8px}
#app .target-picture-area>header{padding:12px 16px;min-height:0;gap:4px}
#app .target-picture-area header>b{font-size:18px!important}
#app .target-picture-area h3{font-size:17px!important}
#app .target-picture-area>header>small{font-size:12px}
#app .target-picture-area-state,#app .target-picture-positions{padding:10px 16px}
#app .target-picture-area-state{margin-top:0!important}
#app .target-picture-position{padding:8px 0;gap:8px}
#app .target-picture-purpose-summary small{line-height:1.5;display:block;margin-top:5px}
#app .target-picture-purpose-item.is-working-state{border-left:3px solid #9b762d;background:#fbf8ee;padding:12px}
#app .target-picture-purpose{background:#f3f6f5;border:1px solid #d3dfdb;border-radius:10px;padding:16px}
#app .target-picture-hierarchy>.plan-audit-details{margin:0}
#app .confirmed-plan-core-summary{padding:16px 0!important;border:0!important;border-top:1px solid var(--line)!important;background:transparent!important}
#app .confirmed-plan-core-summary h3{font-size:18px!important}
#app .confirmed-plan-core-summary p{font-size:12px;line-height:1.5}
#app .plan-assumptions-workspace,#app .plan-confirmation-detail-body,#app .confirmed-plan-detail-body{min-width:0;grid-template-columns:minmax(0,1fr)}
#app .plan-assumptions-workspace>*,#app .plan-confirmation-detail-body>*,#app .confirmed-plan-detail-body>*,#app .structure-comparison,#app .table-scroll{min-width:0;max-width:100%}
#app .plan-confirmation-details>summary{flex-wrap:wrap}
/* Monthly work: consistent table rhythm, explicit zero groups, legible progress. */
#app main .monthly-progress :is(b,small,span){color:#52646b!important}
#app main .monthly-progress i{background:#d7e2df}
#app main .monthly-progress i.active{background:#8a6827}
#app .monthly-intro-grid{gap:12px}
#app .monthly-intro-grid article{padding:18px;border-radius:12px}
#app .monthly-intro-grid h2{font-size:19px}
#app .monthly-intro-grid p{font-size:14px;line-height:1.5}
#app .mcx-table th{padding:12px 16px;font-size:11px;letter-spacing:.1em}
#app #monthly-close-form .mcx-table td{padding:10px 16px;vertical-align:middle}
#app .mcx-summary .mcx-toggle{min-height:44px;padding:0;font-size:16px}
#app .mcx-table :is(.mcx-summary-now,.mcx-summary-prev,.mcx-summary-delta){font-size:18px;white-space:nowrap}
#app .mcx-table .mcx-name small{font-size:12px;line-height:1.45}
#app .mcx-table .mcx-confirm[data-all-reviewed="true"]{display:none!important}
#app .mcx-empty-group .mcx-summary{background:#f7f9f8;color:#5e6c70}
#app #monthly-close-form .mcx-empty-group .mcx-summary td{padding-top:4px;padding-bottom:4px}
#app .mcx-empty-group .mcx-toggle b{font-size:14px;font-weight:600}
#app .monthly-residual{padding:16px 20px;gap:12px}
#app .monthly-residual h2{font-size:20px!important}
#app .monthly-residual .residual-equation{min-width:210px;border-radius:10px}
#app .monthly-residual .residual-equation strong{font-family:inherit;font-size:26px}
#app .residual-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px}
#app .residual-details>summary{padding:8px 0;font-weight:650}
#app .residual-details>summary small{font-weight:400;color:var(--muted)}
#app .residual-details .residual-choice{margin-top:8px}
#app .monthly-purpose{padding:20px;border-radius:12px}
#app .monthly-purpose h2,#app .monthly-stage-insight h2{font-size:21px!important}
#app .monthly-purpose p{font-size:14px;line-height:1.5}
#app .monthly-stage-insight{padding:18px 20px}
#app .monthly-check-item{padding:14px 16px;gap:14px}
#app .monthly-check-item p{font-size:14px;line-height:1.5}
/* Review: period first, comparable numbers, a bounded visual, concise explanation. */
#app .review-horizon-panel{border:0!important;background:transparent!important;padding:0!important}
#app .review-panel-head{margin:0 0 16px!important}
#app .review-panel-head h2{font-size:21px!important}
#app .review-horizon-nav{position:static!important}
#app .review-horizon-kpis{gap:12px;margin-bottom:16px}
#app .review-horizon-kpis>article{border-radius:12px;padding:16px!important}
#app .review-horizon-kpis strong{font-family:inherit!important;font-size:26px!important}
#app .review-month-main{align-items:start;gap:16px}
#app .review-month-verdict{padding:20px;border-radius:12px;gap:12px;align-content:start}
#app .review-month-verdict h3{margin:0;font-size:18px}
#app .review-month-verdict p{font-size:14px;line-height:1.5}
#app .review-sankey-card .confirmed-flow-map.detailed svg{min-height:0!important;max-height:330px}
#app .review-baseline-sankey{min-height:0!important}
#app .review-baseline-sankey .confirmed-flow-map{margin:12px 0}
#app .review-chart-caption{font-size:13px;line-height:1.5}
#app .review-start-value{padding:18px 0;display:grid;gap:8px}
#app .review-start-value>span{font-size:13px;color:var(--muted)}
#app .review-start-value strong{font-size:30px}
#app .review-start-value p{font-size:13px;color:var(--muted);margin:0}
#app .review-development-panel[data-review-state="baseline"] .review-short-main{align-items:start}
#app .review-development-panel[data-review-state="baseline"] .review-visual-card,#app .review-development-panel[data-review-state="baseline"] .review-flow-bars{min-height:0!important}
#app .review-window-switch[hidden]{display:none!important}
#app .review-goal-progress .target-open{padding:10px 0;min-height:0;background:transparent;border:0;border-bottom:1px solid var(--line)}
#app .review-goal-progress .target-open small{display:none}
#app .review-goal-progress .target-open b{font-size:14px;font-weight:400;color:var(--muted)}
#app .basic-development-empty,#app .review-empty-state,#app .review-baseline-prompt{min-height:0!important;padding:20px}
#app .review-short-line text{font-size:16px}
#app .review-short-line text.review-point-label{font-size:18px}

@media(max-width:760px){#app main :is(.page-hero,.workspace-hero) h1,#app main :is(.basic-compact-head,.working-header) h1{font-size:25px!important}
#app main :is(.center2-section,.basic-value-section,.review-visual-card,.confirmed-plan-journey,.plan-panel,.purpose-master-panel,.finance-master-list,.finance-master-editor){padding:16px}
#app .center2-focus-main{grid-template-columns:1fr;gap:12px}
#app .center2-focus-actions{width:100%}
#app .center2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#app .center2-kpi{padding:14px}
#app .center2-kpi strong{font-size:24px!important}
#app .center2-goal-row{grid-template-columns:1fr!important;gap:8px!important}
#app .stability-finance-visuals{grid-template-columns:1fr}
#app .working-finance-grid .card{padding:16px}
#app .working-finance-grid .purpose-summary>div p{text-align:left}
#app .finance-primary-entry{flex-wrap:wrap}
#app .finance-overview-group>summary{flex-wrap:wrap}
#app .finance-overview-period-values{width:100%}
#app .finance-master-row{min-width:0}
#app .finance-master-actions .btn{flex:1 1 auto}
#app .review-goal-progress .target-open header{align-items:start;flex-direction:column}
#app .monthly-residual{grid-template-columns:1fr}
#app .monthly-residual .residual-equation{min-width:0}
#app .mcx-table :is(td,th){padding:10px 12px}
#app .assumption-impact-panel>summary,#app .assumption-income-panel>summary{flex-wrap:wrap}
#app .assumption-impact-panel>summary span,#app .assumption-income-panel>summary span{min-width:0;flex:1 1 180px}
#app .assumptions-primary-card>header{flex-wrap:wrap}
#app .assumption-impact-panel{overflow-x:auto}
#app .plan-confirmation-notice{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
#app .plan-confirmation-notice>span{min-width:0;overflow-wrap:anywhere}
#app nav.tabs{display:flex!important;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:auto;justify-content:flex-start!important;gap:4px!important}
#app nav.tabs button{flex:0 0 auto!important;min-width:max-content!important;padding:10px 12px!important}

}


/* 1.0.29.16 — Compact page contract. One header, one primary action,
   one evidence level per panel. Details remain accessible, never clipped. */
#app main.content{padding-top:20px;padding-bottom:24px}
#app main :is(.stability-page,.review-workspace,.pro-plan){gap:12px!important}
#app main :is(.page-hero,.workspace-hero){margin-bottom:12px!important;gap:12px}
#app main :is(.page-hero,.workspace-hero) h1{margin:0 0 4px!important}
#app main :is(.page-hero,.workspace-hero)>.eyebrow{display:none}
#app main :is(.basic-compact-head,.working-header){margin-bottom:12px}
#app main :is(.center2-section,.basic-value-section,.review-visual-card,.confirmed-plan-journey,.plan-panel,.purpose-master-panel,.finance-master-list,.finance-master-editor){padding:16px}
#app main :is(.card,.center2-kpi,.review-horizon-kpis>article) :is(h2,h3,p){margin-top:0}
#app main :is(.kpi strong,.basic-kpi strong,.stability-kpi strong,.basic-value-kpi strong){font-family:inherit!important;font-size:28px!important;line-height:1.2}
#app .center2-kpi{padding:12px 16px;gap:4px}
#app .center2-kpi header{min-height:0}
#app .center2-kpi .center2-kpi-detail{margin:0}
#app .center2-focus{padding:12px 16px!important}
#app .center2-focus h2{margin:0 0 4px!important}
#app .center2-focus-main p{margin:0;line-height:1.45;font-size:13px}
#app .center2-focus-main .eyebrow{display:none}
#app .center2-baseline-note{font-size:13px;line-height:1.5;color:var(--muted);padding:4px 0}
#app .center2-details{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
#app .center2-details>.center2-section-head{grid-column:1/-1}
#app .center2-details>details[open]{grid-column:1/-1}
#app .working-finance-grid{gap:12px}
#app .working-finance-grid .card{padding:16px}
#app .working-finance-grid .purpose-summary{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center}
#app .working-finance-grid .purpose-summary h2{margin:0!important}
#app .working-finance-grid .purpose-summary>div{grid-column:1;display:flex;justify-content:space-between}
#app .working-finance-grid .purpose-summary p{margin:0;font-size:13px}
#app .working-finance-grid .purpose-summary>.btn{grid-column:2;grid-row:1/3}
#app .working-finance-grid .purpose-summary>small{grid-column:1/-1;font-size:12px;color:var(--muted)}
#app .finance-action-bar{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0}
#app .finance-action-bar>p{flex:1;min-width:220px;margin:0 0 0 8px;font-size:12px;color:var(--muted);line-height:1.45}
#app .working-finance-grid .basic-cash-table dl{margin:0}
#app .working-finance-grid .basic-cash-table dl>div:last-child{font-weight:700}
#app .area-summary{margin-bottom:12px;gap:12px}
#app .finance-master-detail,#app .debt-workspace{gap:12px}
#app .finance-master-editor form{gap:12px}
#app .finance-master-editor .finance-editor-actions{margin-top:16px;padding-top:12px}
#app .finance-master-row{padding:10px 12px!important}
#app .plan-workspace-breadcrumb{min-height:32px;margin:0}
#app .plan-section-tab{min-height:44px;padding:6px 12px}
#app .pro-plan>.pcms-detail-panel,#app .pro-plan>.plan-driver-summary{margin:0}
#app .confirmed-plan-journey{gap:12px}
#app .confirmed-plan-journey>.target-picture-hierarchy>header{display:none}
#app .confirmed-plan-journey>header h2{margin:0}
#app .target-picture-root{padding:12px 16px}
#app .target-picture-area-grid{gap:8px}
#app .target-picture-area>header{padding:10px 12px}
#app .target-picture-area-state,#app .target-picture-positions{padding:8px 12px}
#app .target-picture-area p{margin:4px 0;font-size:13px;line-height:1.45}
#app .confirmed-plan-core-summary{padding:12px 0!important}
#app .review-horizon-nav{padding:4px;margin:0;box-shadow:none;border-radius:10px}
#app .review-horizon-tab{min-height:44px;padding:6px 12px}
#app .review-horizon-context{min-height:28px;padding:0;gap:8px;font-size:12px}
#app .review-panel-head{margin-bottom:12px!important;gap:8px}
#app .review-panel-head h2{margin:0;font-size:20px!important}
#app .review-panel-head .eyebrow{display:none}
#app .review-horizon-kpis{margin-bottom:12px;gap:12px}
#app .review-horizon-kpis>article{padding:12px 16px!important;gap:4px;min-height:0}
#app .review-horizon-kpis strong{font-size:24px!important}
#app .review-long-chart svg{display:block;width:100%;height:auto;min-height:0!important;max-height:260px}
#app .review-long-main{min-height:0!important}
#app .review-long-chart{min-height:0!important}
#app .review-visual-card>header{margin-bottom:8px}
#app .review-chart-footnote{font-size:12px;line-height:1.4;margin:8px 0 0}
#app .review-goal-section{margin-top:12px;padding:16px}
#app .review-goal-section>header{margin-bottom:8px}
#app .review-goal-section h3{margin:0}
#app .review-workspace-footer{padding:8px 0;margin:0;min-height:0;font-size:12px}
#app .monthly-intro-grid article{padding:16px}
#app .monthly-intro-grid h2{margin:0 0 6px}
#app .monthly-intro-grid p{margin:0}
#app .monthly-residual{padding:12px 16px!important;gap:8px!important}
#app .monthly-residual h2{margin:0}
#app .monthly-residual p{font-size:13px;line-height:1.45}
#app .monthly-progress{min-width:160px}
#app .monthly-stage-insight{padding:16px}
#app .monthly-check-item{padding:12px;gap:12px}
#app .monthly-check-item p{margin:4px 0 0}
#app .monthly-purpose{padding:16px}
#app .monthly-purpose>p{margin:8px 0 12px}
#app .basic-next-step{padding:12px 16px;min-height:0}
@media(max-width:760px){
 #app main.content{padding-top:16px}
 #app .center2-details{grid-template-columns:1fr}
 #app .working-finance-grid .purpose-summary{grid-template-columns:1fr}
 #app .working-finance-grid .purpose-summary>.btn{grid-column:1;grid-row:auto;justify-self:start}
 #app .working-finance-grid .purpose-summary>div{flex-direction:column;gap:4px}
 #app .working-finance-grid .purpose-summary>div p{text-align:left}
 #app .finance-action-bar>p{flex-basis:100%;margin:4px 0}
 #app .review-horizon-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .review-horizon-tab{padding:6px;font-size:13px}
 #app .review-horizon-tab small{display:none}
 #app .review-long-chart svg{min-width:520px;max-height:none}
 #app .review-long-chart{overflow-x:auto}
}

#app .setup-success>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#app .setup-success span{margin:0}
#app .target-picture-positions{margin:0 12px 8px;padding:0!important;border-top:1px solid var(--line)}
#app .target-picture-positions>summary{min-height:44px;font-size:13px}
#app .target-picture-positions .target-picture-position{padding:8px 0}
#app .confirmed-plan-journey .target-picture-area>header>span{display:none}
#app .confirmed-plan-journey .target-picture-outcome{margin:0;gap:2px}
@media(min-width:1000px){
 #app .center2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
 #app .center2>:is(.basic-compact-head,.center2-stand,.center2-baseline-note,.center2-details,.center2-changes,.purpose-capital-summary){grid-column:1/-1}
 #app .center2>.center2-focus{grid-column:1;align-self:stretch}
 #app .center2>.center2-on-course{grid-column:2}
 #app .center2-focus-main{grid-template-columns:1fr;gap:12px}
 #app .center2-focus-actions{justify-content:flex-start}
 #app .center2-goal-row{grid-template-columns:1fr auto!important;gap:12px!important}
 #app .center2-goal-row .center2-goal-bar{grid-column:1/-1}
 #app .center2-on-course footer{border:0;padding-top:0}
 #app .center2-on-course .optional-goals{margin:8px 0}
}

#app .area-summary{display:flex;flex-wrap:wrap;gap:8px}
#app .area-summary article{display:flex;align-items:baseline;gap:12px;padding:8px 12px;min-height:0}
#app .area-summary strong{font-size:18px!important}
#app .finance-master-editor .editor-head{padding-bottom:12px;margin-bottom:12px}
#app .review-horizon-panel{gap:12px}
#app .review-horizon-kpis{margin-bottom:0}
#app .review-panel-head{margin-bottom:0!important}
#app .review-workspace>.page-hero{margin-bottom:0!important}
#app .review-goal-progress .target-open{border-radius:0}
@media(min-width:1000px){
 #app .center2-goal-row{grid-template-columns:1fr!important;gap:6px!important;padding:8px 0!important}
 #app .center2-goal-meter{width:100%}
 #app .center2-goal-meter progress{width:100%}
 #app .review-target-panel{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start}
 #app .review-target-panel>:is(.review-panel-head,.review-horizon-kpis,.review-purpose-goals,.review-detail-stack){grid-column:1/-1}
 #app .review-target-panel>.review-goal-section{margin:0;align-self:stretch}
 #app .review-target-panel .review-goal-progress{grid-template-columns:1fr;gap:8px}
 #app .review-long-chart svg{height:260px;max-height:none}
}

#app .finance-master-editor .editor-head{margin-bottom:0}
#app .finance-master-editor .finance-master-actions{margin-top:0;padding:8px 0}

/* 1.0.29.18 — Shared workspace contract. Task → content → action.
   Touch controls stay >=44px; long data tables scroll locally. */
:root{--pcms-heading:26px;--pcms-section-heading:19px;--pcms-space:16px;--pcms-page-gap:12px}
#app main.content{padding:16px 24px 24px;max-width:1480px;margin-inline:auto}
#app main :is(h1,h2,h3,p){text-wrap:pretty}
#app main :is(.card,.calibration-card,.purpose-master-panel,.finance-master-list,.finance-master-editor,.review-visual-card){box-shadow:none;border-radius:12px}
#app main .workspace-hero{align-items:start!important}
#app main .workspace-hero .finance-breadcrumb{font-size:12px;font-weight:500;margin:0 0 5px;color:var(--muted)}
#app main .workspace-hero h1{font-size:26px!important}
#app main .workspace-back{padding:8px 12px;font-size:13px;background:transparent}
#app main .inline-message:empty{display:none}
#app main .truth-note{margin:8px 0;padding:8px 12px;font-size:12px;border-left-width:3px}
#app main .money-input{min-height:44px;border-radius:8px}
#app main :is(input,select,textarea){scroll-margin-top:120px}
#app main .text-action{font-size:13px;padding:8px 10px}
#app main :is(.editor-head,.section-head){align-items:center}
#app .finance-state-switch{display:flex;gap:4px;padding:4px;background:#e9eeec;border:1px solid var(--line);border-radius:10px;width:fit-content;max-width:100%;margin:0 0 14px}
#app .finance-state-switch .btn{padding:8px 14px;border:0;border-radius:7px;font-size:13px;background:transparent}
#app .finance-state-switch .btn.primary{background:var(--nav);color:#fff}
#app .working-finance>p{font-size:13px;color:var(--muted);margin:0 0 12px}
#app .working-finance-grid .basic-cash-table dl>div{min-height:44px;padding:0;gap:12px}
#app .working-finance-grid .basic-cash-table dt{font-size:14px}
#app .working-finance-grid .basic-cash-table dd{font-size:17px;display:flex;align-items:center;gap:12px}
#app .working-finance-grid .basic-cash-table dd .text-action{width:82px;text-align:right}
#app .cashflow-note{display:block;font-size:12px;line-height:1.45;color:var(--muted);margin-top:10px}
#app .working-finance-grid .purpose-summary>div{margin:0}
#app .working-finance-grid .purpose-summary h2{font-size:17px}
/* One snapshot and three domains; rows share numeric alignment. */
#app .directory-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
#app .directory-domain{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
#app .directory-domain h2{margin:0 0 10px}
#app .directory-group{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:0}
#app .directory-group>summary{padding:10px 0;min-height:58px;gap:8px}
#app .directory-group>summary>span{flex:1;min-width:0}
#app .directory-group>summary strong{margin-left:auto;text-align:right;font-size:17px;white-space:nowrap}
#app .directory-group small{display:block;font-size:12px;color:var(--muted);font-weight:400;line-height:1.4}
#app .directory-group[open]>summary{border-bottom:1px solid var(--line)}
#app .directory-group footer{display:flex;justify-content:flex-end;padding:0 0 6px}
#app .directory-position{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}
#app .directory-position>span:first-child{min-width:0;overflow-wrap:anywhere}
#app .directory-position strong{font-size:15px;text-align:right;white-space:nowrap}
#app .directory-position .directory-quality{font-size:12px;color:var(--muted)}
#app .directory-position :is(.text-action,.directory-confirmed){justify-self:end;font-size:12px}
#app .directory-purpose{grid-column:1/-1}
#app .directory-purpose>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#app .directory-purpose h2{margin-bottom:4px}
#app .directory-purpose p,#app .directory-note,#app .directory-empty{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0}
/* Selection and form; splitting uses rows instead of nested cards. */
#app .finance-master-detail{grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);align-items:start;gap:16px}
#app .finance-master-list .section-head{flex-wrap:wrap;margin:0 0 10px;gap:8px}
#app .finance-master-list .section-head h2{font-size:17px;margin:0}
#app .finance-master-list .section-head .btn{padding:8px 10px;font-size:13px}
#app .finance-master-row{border-radius:8px;gap:4px 8px!important;min-height:64px}
#app .finance-master-row b{font-size:14px!important}
#app .finance-master-row strong{font-size:17px!important}
#app .finance-master-row small,#app .finance-master-row em{font-size:12px!important}
#app .finance-master-context{font-size:12px;line-height:1.4;color:var(--muted);margin:12px 0 0!important;padding:10px 0 0!important}
#app .finance-editor .eyebrow{font-size:10px;margin-bottom:4px}
#app .finance-editor .editor-head{margin:0 0 12px!important;padding:0 0 12px}
#app .finance-editor .editor-head h2{font-size:20px;margin:0}
#app .finance-editor-grid{gap:12px 16px}
#app .finance-editor-grid label{gap:5px;font-size:14px}
#app .finance-editor-grid small{font-size:12px;line-height:1.4}

#app .finance-master-editor .finance-master-actions :is(.btn,.text-action){font-size:13px;padding:8px 12px}
#app .finance-split-grid{gap:0}
#app .finance-split-grid .finance-split-part{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr) auto;gap:10px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;align-items:end}
#app .finance-split-grid .finance-split-part .text-action{grid-column:auto;justify-self:end;padding:8px;font-size:12px}
#app .finance-split-part label{font-size:13px}
#app .finance-split-revision{margin:8px 0;padding:12px;gap:12px;border-radius:8px}
#app .finance-split-revision b{font-size:18px}
#app #finance-split-form>p{font-size:13px;line-height:1.5;margin:0 0 6px}
#app #finance-split-form>[data-action="finance-split-add"]{justify-self:start;font-size:13px}
#app .purpose-master-panel>header{align-items:start}
#app .purpose-master-panel>header p{font-size:13px;max-width:72ch}
#app .purpose-master-panel .purpose-master-detail{gap:16px}
#app .purpose-definition{font-size:13px;margin:8px 0}
#app .purpose-pool-tabs button{padding:8px 12px!important;min-height:52px!important}
#app .purpose-section-switch button{padding:10px 12px;font-size:14px}
#app .purpose-entry-mode{padding:12px;margin:0;border-radius:8px}
#app .purpose-entry-mode>label{display:flex;margin:8px 0;font-size:14px}
#app .purpose-entry-mode p{font-size:13px;line-height:1.5;margin:8px 0}
/* Four plan steps retain their routes, with one compact heading. */
#app .plan-workspace-breadcrumb{margin:0!important;font-size:12px;min-height:28px}
#app .plan-section-nav{margin:8px 0 12px;gap:6px}
#app .plan-section-tab{font-size:13px;padding:8px 12px;border-radius:8px}
#app .calibration-hero.process-heading{padding:0!important;margin:12px 0 16px!important;background:transparent!important;color:var(--nav);border:0;border-radius:0;box-shadow:none}
#app .calibration-hero.process-heading .eyebrow{display:none}
#app .calibration-hero.process-heading h1{font-size:26px;color:var(--nav);margin:0 0 6px}
#app .calibration-hero.process-heading p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
#app .target-system-form :is(.calibration-card,.goal-primary-editor,.optional-goal-choice){padding:16px;margin:0;border-radius:10px}
#app .target-system-form .calibration-grid{gap:12px}
#app .target-system-form :is(h2,h3,h4){margin-top:0}
#app .target-system-form :is(.intro-copy,.target-hierarchy-note){font-size:13px;line-height:1.45}
#app .plan-funding-workspace{padding:16px!important}
#app .funding-editor{margin:0;padding:0;border:0;background:transparent}
#app .funding-guided-head h2{font-size:19px;margin:0 0 6px}
#app .funding-guided-head p{font-size:13px;margin:0}
#app .funding-choice{padding:0;margin:16px 0 12px;border:0;background:transparent}
#app .funding-choice>div:first-child{display:none}
#app .funding-choice-grid{gap:8px}
#app .funding-choice-card{min-height:78px;padding:12px;border-radius:8px}
#app .funding-choice-card span{font-size:14px}
#app .funding-choice-card small{font-size:12px}
#app .funding-preview{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;margin:16px 0 0;padding:16px 0 0}
#app .funding-preview-title{margin:0 0 10px}
#app .funding-preview-title .eyebrow,#app .plan-mechanical-badge{display:none}
#app .funding-preview-title h3{font-size:17px;margin:0}
#app .funding-metrics{gap:8px;margin:12px 0}
#app .funding-metrics>div{padding:10px 12px;min-height:0;border:1px solid var(--line);border-radius:8px}
#app .funding-metrics dt{font-size:12px}
#app .funding-metrics dd{font-size:21px}
#app .funding-path{padding:12px;margin:12px 0;border-radius:8px}
#app .funding-path svg{display:block;width:100%;height:auto;max-height:280px}
#app .funding-path figcaption small{font-size:12px;font-weight:400}
#app .funding-summary{padding:0;margin:0;border:0;background:transparent}
#app .funding-summary>header h3{font-size:19px;margin:0 0 8px}
#app .funding-summary :is(p,small){font-size:13px;line-height:1.5}
#app .funding-review{padding:12px;margin:12px 0;border-radius:8px}
#app .plan-confirmation-head{margin:0 0 12px}
#app .plan-confirmation-head .eyebrow{display:none}
#app .plan-confirmation-head h2{font-size:19px;margin:0 0 4px}
#app .plan-confirmation-head p{font-size:13px;margin:0}
#app .plan-confirmation-grid{gap:0;border-top:1px solid var(--line)}
#app .plan-confirmation-card{padding:12px 0!important;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;gap:4px}
#app .plan-confirmation-card:nth-child(odd){padding-right:20px!important}
#app .plan-confirmation-card header{gap:8px}
#app .plan-confirmation-card strong{font-size:16px}
#app .plan-confirmation-card small{font-size:12px}
#app .plan-confirmation-card .btn{font-size:12px;padding:6px 8px}
#app .plan-confirmation-consent{padding:12px;margin-top:12px;border:0;border-radius:8px;background:#f0f5f3}
#app .plan-confirmation-consent>div{display:none}
#app .plan-confirmation-check{font-size:13px;padding:0;background:transparent}
#app .calibration-actions{padding:12px 0;margin-top:12px;gap:8px;border-top:1px solid var(--line)}
#app .calibration-actions .btn{font-size:13px;padding:8px 12px}
#app .monthly-intro-grid{gap:12px}
#app .monthly-hero h1{font-size:26px!important}
#app #monthly-close-form .mcx-table :is(td,th){padding:8px 12px}
#app .mcx-table .mcx-name small{font-size:11px}
#app .monthly-actions{margin-top:16px;padding:10px;border-radius:10px}
/* Independent review disclosures instead of one large nested stack. */
#app .review-sections{display:grid;gap:8px!important;border:0!important;background:transparent!important;margin:0!important}
#app .review-sections>details{padding:0;background:var(--card,#fff);border:1px solid var(--line);border-radius:10px;min-width:0}
#app .review-sections>details>summary{padding:12px 16px;font-weight:650}
#app .review-sections>details>:not(summary){margin:0 16px 16px;max-width:calc(100% - 32px)}
#app .review-sections .driver-impact{padding:0;border:0;box-shadow:none;background:transparent}
#app .review-sections .driver-impact-empty{padding:12px;min-height:0}
#app .confirmed-plan-journey>.target-picture-hierarchy{border:0;margin:0;padding:0}
#app .target-picture-root{background:#f0f5f3;padding:12px;border:0;border-left:3px solid var(--teal)}
#app .target-picture-area{border-radius:8px;box-shadow:none}
#app .target-picture-area-state{padding:8px 12px;min-height:0}
#app .target-picture-area-state :is(p,small){font-size:12px}
#app .review-workspace .review-panel-head h2{font-size:18px!important}
#app .center2>.center2-focus{align-self:start!important}
#app .center2-focus{display:block!important}
#app .center2-focus-main{padding:0!important}
#app .center2-focus-main h2{font-size:20px!important}
#app .center2-focus-actions{width:auto;max-width:none;min-width:0}
#app .center2-focus-detail{margin-top:8px}
#app main .funding-metrics:empty{display:none}
@media(min-width:1000px){
 #app .directory-purpose .directory-position{grid-template-columns:minmax(0,1fr) 150px 150px 90px}
 #app .plan-confirmation-grid{grid-template-columns:1fr 1fr}
 #app .center2-goal-row{grid-template-columns:1fr auto!important}
 #app .center2-goal-meter{grid-column:1/-1}
}
@media(max-width:760px){
 #app main.content{padding:12px 14px 24px}
 #app .directory-layout{grid-template-columns:1fr}
 #app .directory-purpose{grid-column:1}
 #app .directory-purpose>header{align-items:start;flex-direction:column}
 #app .finance-state-switch .btn{font-size:12px;padding:6px 10px}
 #app .finance-master-detail{grid-template-columns:1fr}
 #app .finance-split-grid .finance-split-part{grid-template-columns:minmax(0,1fr) minmax(90px,.6fr)}
 #app .finance-split-grid .finance-split-part .text-action{grid-column:2}
 #app .finance-editor-grid{grid-template-columns:1fr}
 #app .working-finance-grid .basic-cash-table dd{gap:4px;font-size:16px}
 #app .working-finance-grid .basic-cash-table dd .text-action{width:74px}
 #app .funding-choice-grid{grid-template-columns:1fr}
 #app .funding-choice-card{min-height:64px}
 #app .plan-confirmation-grid{grid-template-columns:1fr}
 #app .plan-confirmation-card:nth-child(odd){padding-right:0!important}
 #app .plan-section-tab{font-size:12px;padding:8px}
 #app .funding-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .funding-metrics dd{font-size:18px}
 #app .funding-path svg{min-width:480px}
 #app .funding-path{overflow:auto}
 #app .review-sections>details>:not(summary){margin-inline:12px;max-width:calc(100% - 24px)}
}

/* Confirmed plan: goal and contribution at a glance; hierarchy on demand. */
#app .target-picture-root{color:var(--nav)}
#app .target-picture-root>small{color:var(--muted)}
#app .confirmed-goal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:12px 0 18px}
#app .confirmed-goal-summary>div{display:flex;flex-direction:column;gap:6px;min-width:0}
#app .confirmed-goal-summary span{font-size:12px;color:var(--muted)}
#app .confirmed-goal-summary strong{font-size:18px;line-height:1.35;color:var(--nav)}
#app .confirmed-plan-core-summary{padding:16px 0!important;border:0;border-top:1px solid var(--line);border-radius:0}
#app .confirmed-plan-core-summary>header{margin-bottom:12px}
#app .confirmed-plan-journey{padding:18px!important}
#app .confirmed-plan-journey>.plan-audit-details{margin:8px 0 0}
#app .pro-plan .plan-driver-summary>summary{min-height:48px;padding:12px 16px}
#app .pro-plan .plan-driver-summary>summary .eyebrow{display:none}
#app .pro-plan .plan-driver-summary>summary small{display:none}
#app .pro-plan .plan-driver-summary>summary b{font-size:14px}
#app .pro-plan .stability-period-marker{margin:4px 0 12px}
#app .pro-plan .plan-workspace-breadcrumb{min-height:28px;margin:0 0 8px}
#app .pro-plan .plan-workspace-navigation{margin:0 0 12px}
@media(max-width:700px){#app .confirmed-goal-summary{grid-template-columns:1fr 1fr;gap:16px}#app .confirmed-goal-summary strong{font-size:16px}}

/* Plan forms: let content define row height; choices and explanations on demand. */
#app .plan-confirmation-workspace{padding:18px!important;border-radius:12px!important}
#app .plan-confirmation-card{min-height:0;grid-template-rows:auto auto auto;align-content:start;padding:8px 0!important}
#app .plan-confirmation-card header .btn{min-height:36px}
#app .plan-confirmation-consent{display:block}
#app .plan-confirmation-check{border:0;border-radius:0}
#app .plan-confirmation-details>summary{min-height:44px}
#app .plan-confirmation-details>summary small{display:none}
#app .plan-confirmation-form>.calibration-actions{padding:10px;border-radius:10px}
#app .plan-confirmation-form>.calibration-actions .btn{min-height:44px}
#app .goal-focus-disclosure{background:white;border:1px solid var(--line);border-radius:10px;padding:0 16px}
#app .goal-focus-disclosure>summary{display:flex;gap:12px;min-height:58px;align-items:center}
#app .goal-focus-disclosure>summary>span{display:grid;gap:4px;flex:1}
#app .goal-focus-disclosure>summary small{font-size:12px;color:var(--muted);font-weight:400}
#app .goal-focus-disclosure>summary em{font-size:13px;font-style:normal;color:var(--teal)}
#app .goal-focus-disclosure .goal-focus-selector{border:0;padding:12px 0}
#app .goal-focus-selector{padding:16px;gap:12px}
#app .goal-focus-selector>header>.status{display:none}
#app .goal-focus-option{min-height:0;padding:12px;border-radius:8px}
#app .goal-focus-option>span{gap:4px}
#app .goal-focus-option small{font-size:13px}
#app .goal-focus-option em{display:none}
#app .goal-focus-option.open{grid-column:1/-1}
#app .initial-goal-baseline{padding:12px 16px;border-radius:8px;font-size:13px;gap:12px}
#app .initial-goal-baseline>small{font-size:12px}
#app .initial-goal-horizon{padding:14px 16px;border-radius:8px}
#app .initial-goal-horizon h2{font-size:18px}
#app .initial-goal-horizon p{font-size:13px}
#app .initial-goal-corridor{padding:16px;gap:12px;border-radius:10px}
#app .initial-goal-corridor>header h2{font-size:19px;margin:0 0 6px}
#app .initial-goal-corridor>header p{font-size:13px}
#app .initial-corridor-grid{gap:16px}
#app .initial-corridor-grid>article{padding:12px;gap:10px;border-radius:8px}
#app .initial-corridor-grid :is(p,label){font-size:13px}
#app .initial-corridor-grid h3{font-size:16px}
#app .goal-context-strip{gap:8px;padding:0}
#app .goal-context-strip>span{padding:8px;gap:4px}
#app .goal-context-strip b{font-size:14px}
#app .goal-context-strip small{font-size:10px}
#app .minimum-net-worth-context{padding:0 12px;border-radius:8px;gap:8px}
#app .minimum-net-worth-context>summary{min-height:44px;font-size:13px}
#app .minimum-net-worth-context[open]{padding-bottom:12px}
#app .minimum-net-worth-context :is(span,small){font-size:13px;line-height:1.5}
#app .goal-context-note{padding:0 12px!important;border-radius:8px;margin:0 0 12px}
#app .goal-context-note>summary{min-height:44px;font-size:13px}
#app .goal-context-note>p{font-size:13px;line-height:1.5}
@media(max-width:700px){
#app .initial-goal-baseline{grid-template-columns:1fr 1fr}
#app .initial-goal-baseline>div{grid-column:1/-1}
#app .initial-goal-baseline>small{grid-column:1/-1}
#app .goal-context-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
#app .goal-context-strip>span{min-width:0}
#app .plan-confirmation-card:nth-child(odd){padding-right:0!important}
}

/* Remove inherited form whitespace while retaining readable fields and touch targets. */
#app .target-system-form>.initial-goal-corridor{padding:16px!important}
#app .initial-corridor-grid .field{margin:0!important;gap:5px}
#app .initial-corridor-grid .goal-context-strip{margin:2px 0 6px}
#app .initial-corridor-grid .goal-context-strip>span{min-height:0}
#app .initial-goal-horizon{padding:12px 16px!important}
#app .initial-goal-horizon .field{margin:0!important;gap:5px}
#app .plan-confirmation-form{gap:10px!important}
#app .plan-confirmation-form>.calibration-actions{margin-top:0}
#app .plan-confirmation-head .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
#app .plan-confirmation-head{margin-bottom:8px}
#app .plan-confirmation-card{padding-block:6px!important}
#app .plan-confirmation-details{margin-top:10px!important}
@media(max-width:760px){
 #app .debt-editor .editor-head{flex-direction:column;align-items:flex-start;gap:8px}
 #app .debt-editor .editor-head .btn{max-width:100%;white-space:normal}
 #app .debt-form-grid{grid-template-columns:1fr;gap:8px}
 #app .debt-form-grid label{font-size:13px}
 #app .live-debt-result{grid-template-columns:1fr}
 #app .live-debt-result span{min-width:0;align-items:start}
 #app .live-debt-result span b{max-width:52%;text-align:right}
 #app .debt-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name arrow" "balance mechanic";gap:8px}
 #app .debt-balance{text-align:left}
 #app .debt-mechanic{max-width:160px}
}

/* 1.0.29.18 shared analysis and compact workspace rules. */
#app :is(.working-finance-grid,.stability-finance-visuals,.finance-master-detail){align-items:start!important}
#app .center-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#app .finance-master-list,#app .finance-master-editor{padding:12px!important}
#app .finance-editor-grid{gap:8px 12px!important}
#app .finance-editor-grid label{gap:4px;font-size:13px}
#app .finance-editor-grid label small{font-size:11px;line-height:1.35}
#app .finance-master-editor .editor-head h2{font-size:19px}
#app .finance-master-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px!important;padding:0!important}
#app .finance-master-actions .btn{width:auto!important}
#app .editor-guide{margin-top:4px}
#app .purpose-summary>div{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;margin:4px 0}
#app .purpose-summary>div p{font-size:13px;margin:0}
#app [data-split-parts]{display:grid;gap:8px}
#app [data-split-part]{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,190px) auto;gap:8px;align-items:end;padding:8px 0;border:0!important}
#app [data-split-part] label{font-size:12px;gap:4px}
#app .finance-split-revision{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 0!important;margin:8px 0!important}
#app .finance-split-revision>div{display:flex;gap:8px;align-items:baseline;min-height:0!important}
#app .finance-split-revision b{font-size:17px!important}
#app .finance-split-revision small{flex-basis:100%}
#app :is(.analysis-section,.plan-confirmation-detail-body>section){border:0;border-radius:0;box-shadow:none;padding:8px 0;margin:8px 0}
#app .analysis-section h3{font-size:17px}
#app .analysis-section .driver-impact{border:0;padding:0}
#app .analysis-section .driver-impact li{padding:8px;font-size:13px}
#app .monthly-bridge-flow{display:flex;flex-wrap:wrap;gap:8px}
#app .monthly-bridge-flow article{flex:1 1 135px;padding:10px;min-height:0}
#app .monthly-bridge-flow article:after{display:none}
#app .monthly-bridge p{font-size:13px}
#app .monthly-check-item{min-height:0;padding:8px!important}
#app .monthly-close-checklist ul{gap:6px}
#app .monthly-explanations textarea{min-height:70px}
#app .review-month-main{align-items:start}
#app .review-baseline-sankey .confirmed-flow-svg{max-height:290px!important}
#app .review-target-panel{grid-template-columns:1fr!important}
#app .review-target-panel .review-long-chart svg{height:auto;max-height:250px}
#app .review-goal-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#app .review-target-analysis{grid-column:1/-1}
#app .review-visual-card{padding:12px}
#app .confirmed-goal-summary{gap:10px;padding:12px}
#app .confirmed-plan-core-summary{padding:12px}
#app .plan-confirmation-workspace{padding:12px!important}
#app .plan-confirmation-card{padding:8px!important;min-height:0}
#app .initial-goal-horizon{padding:10px 12px!important}
#app .initial-goal-horizon h2{font-size:17px}
#app .initial-goal-horizon p{display:none}
#app .initial-goal-corridor{padding:12px!important;gap:8px;border:0}
#app .initial-corridor-grid{gap:12px}
#app .initial-corridor-grid>article{padding:8px 0;gap:6px;border:0;box-shadow:none}
#app .initial-corridor-grid .field{margin:0!important;gap:4px;font-size:13px}
#app .funding-plan-fields{padding:10px 0}
#app .funding-path svg{max-height:240px}
#app .funding-preview-title h3{font-size:18px}
#app .assumptions-context-strip{padding:10px}
#app .assumptions-intro-card{padding:12px}
#app .assumptions-intro-card h2{font-size:19px}
#app .assumption-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#app .assumption-rate-card{padding:10px;min-height:0}
#app .assumption-rate-card b{font-size:14px}
#app .assumption-rate-card small{font-size:12px}
#app main :is(.btn,.text-action,summary){min-height:44px}
#app .table-scroll{max-width:100%;overflow:auto}
#app .table-scroll :is(th,td){text-align:right}
#app .table-scroll :is(th,td):first-child{text-align:left}
@media(max-width:760px){
 #app .review-goal-progress,#app .assumption-rate-grid{grid-template-columns:1fr}
 #app [data-split-part]{grid-template-columns:1fr 1fr}
 #app [data-split-part] .btn{width:auto}
 #app .finance-state-switch{flex-wrap:wrap}
 #app .finance-state-switch .btn{white-space:normal;flex:1;font-size:12px}
 #app .workspace-back{white-space:normal}
 #app .purpose-summary>div{display:block}
}

#app .purpose-master-panel{padding:12px!important}
#app .purpose-master-panel>header{margin-bottom:8px;padding-bottom:0}
#app .purpose-master-panel>header h2{font-size:18px}
#app .purpose-pool-tabs{margin:8px 0}
#app .purpose-section-switch{margin:8px 0}
#app .purpose-definition{font-size:13px;margin:6px 0}
#app .purpose-master-form>.truth-note{margin:6px 0}
#app .initial-corridor-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
#app .initial-corridor-grid>article:first-child h3:after{content:" · optional";font-weight:400;font-size:12px}
@media(max-width:760px){#app .initial-corridor-grid{grid-template-columns:1fr}#app [data-split-part]{grid-template-columns:1fr 1fr}#app [data-split-part]>.text-action{grid-column:2;justify-self:end}}

/* v18: keep large confirmed amounts within tablet KPI cards. */
#app .center2-kpi>strong{white-space:normal;overflow-wrap:anywhere;font-size:clamp(20px,2.5vw,28px)!important}
#app .center2>.center-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:999px){#app .center2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#app .center2-goal-list{grid-template-columns:1fr}}

@media(max-width:1050px){#app .review-month{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#app .review-month .btn{justify-self:start;max-width:100%}}

#app .center-work-state{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted)}

/* v1.0.29.19: compact, flat information and clear work states. */
.mcx-empty-group td:first-child b,.mcx-empty-group td:first-child small{display:block}
.mcx-empty-group td{padding-block:8px}
.monthly-bridge,.monthly-final,.monthly-close-checklist{padding:18px}
.monthly-bridge-flow{gap:8px}
.monthly-bridge-flow article{padding:12px}
.bridge-flow-facts{font-size:14px;line-height:1.5}
.monthly-check-item{padding-block:10px}
.monthly-explanations textarea{min-height:72px}
.goal-driver-map.dense{padding:16px;margin-block:12px}
.goal-driver-map.dense .compact-driver-rows{display:grid;gap:0}
.goal-driver-map.dense .driver-node{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1.2fr);gap:12px;padding:10px 0;border:0;border-bottom:1px solid var(--line,#dce6e2);border-radius:0;background:transparent;min-height:0}
.goal-driver-map.dense .driver-node h3,.goal-driver-map.dense .driver-node p{margin:0;font-size:14px}
.goal-driver-map.dense .driver-node small{font-size:12px}
.plan-structure-compact{padding:16px}
.plan-structure-area{padding:10px 0;border-bottom:1px solid var(--line,#dce6e2)}
.plan-structure-area h3,.plan-structure-area p{margin:0 0 6px}
.plan-position-rows .target-picture-position{padding:8px 12px;margin:4px 0}
.plan-structure-compact .purpose-goal-summary{padding:12px 0}
.plan-structure-compact .purpose-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.plan-structure-compact .purpose-goal-grid article{padding:12px}
.finance-editor-grid{gap:12px}
.finance-editor-grid label>small{font-size:12px;line-height:1.4}
.new-position-note{font-size:13px;padding:8px 12px}
.review-long-main svg{max-height:300px}
.review-goal-section{margin-block:16px}
.center-links{flex-wrap:wrap}
@media(max-width:600px){.goal-driver-map.dense .driver-node{grid-template-columns:1fr;gap:4px}.monthly-bridge,.monthly-final,.monthly-close-checklist{padding:12px}}

#app .goal-driver-map.dense .compact-driver-note{display:block;margin-top:4px;line-height:1.4;color:var(--muted,#596b66)}
#app .working-finance-grid .purpose-summary{display:block}
#app .working-finance-grid .purpose-summary .working-purpose-pool{display:block;margin:12px 0}
#app .working-purpose-pool h3{font-size:15px;margin:0 0 6px}
#app .working-purpose-pool dl{margin:0}
#app .working-purpose-pool dl>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
#app .working-purpose-pool dd{margin:0;font-weight:600}

/* v1.0.29.20: truthful action states and compact continuation workspaces. */
#app .btn.primary:disabled,#app .btn.primary[aria-disabled="true"]{background:#e4e9e7!important;color:#687671!important;border-color:#ccd5d1!important;box-shadow:none!important;opacity:1;cursor:not-allowed;filter:none}
#app .monthly-actions:has([data-action="monthly-preparation-save"]){grid-template-columns:auto auto minmax(0,1fr)!important;justify-content:start}
#app .monthly-actions [data-action="monthly-preparation-save"]{background:transparent;box-shadow:none;border-color:var(--line);justify-self:start}
#app .monthly-actions [data-monthly-close-submit]{justify-self:end}
#app .finance-empty-value{font-size:13px;font-weight:400;color:var(--muted)}
#app .plan-workspace-navigation{margin-bottom:10px}
#app .plan-workspace-breadcrumb{padding-block:4px}
#app .plan-section-tabs{gap:6px}
#app .plan-section-tab{min-height:44px;padding-block:7px}
#app .calibration-hero.process-heading{min-height:0;padding-block:12px;margin-bottom:10px}
#app .calibration-hero.process-heading .eyebrow{display:none}
#app .calibration-hero.process-heading h1{font-size:clamp(23px,2.5vw,30px);margin:0 0 5px}
#app .calibration-hero.process-heading p{margin:0;font-size:14px}
#app .plan-assumptions-workspace{gap:12px}
#app .assumptions-primary-card{padding:14px}
#app .assumptions-primary-card header{gap:8px}
#app .assumptions-primary-card h3{margin:4px 0}
#app .assumptions-rule{margin:8px 0 12px;font-size:13px}
#app .assumption-rate-grid{gap:10px}
#app .funding-preview-chart svg{max-height:230px}
#app .purpose-master-form .editor-head{margin-bottom:12px}
#app .purpose-master-form .truth-note{margin-block:10px;padding:10px}
@media(max-width:600px){
 #app .monthly-actions:has([data-action="monthly-preparation-save"]){grid-template-columns:1fr 1fr!important}
 #app .monthly-actions [data-action="monthly-preparation-save"]{justify-self:stretch}
 #app .monthly-actions [data-monthly-close-submit]{justify-self:stretch}
}

/* v1.0.29.23 – shared compact workspaces; touch targets remain at least 44px. */
#app .stability-directory-hero.working-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:0;min-height:0}
#app .stability-directory-hero h1{margin:0;font-size:clamp(23px,2.5vw,30px)}
#app .finance-state-switch{margin:8px 0;gap:6px}
#app .directory-totals{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:10px 0 14px;padding:10px 12px;background:var(--card,#fff);border:1px solid var(--line);border-radius:10px}
#app .directory-totals>span{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px}
#app .directory-totals b{font-size:18px;white-space:nowrap}
#app .directory-totals>.btn{margin-left:auto}
#app .directory-domain{padding:12px}
#app .directory-domain h2{font-size:18px;margin-bottom:6px}
#app .directory-group>summary{padding:8px 0;min-height:52px}
#app .directory-position{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"identity amount action" "quality amount action";gap:0 10px;padding:7px 0}
#app .directory-position>span:first-child{grid-area:identity}
#app .directory-position>strong{grid-area:amount;font-size:15px}
#app .directory-position>.directory-quality{grid-area:quality;font-size:11px}
#app .directory-position>:is(.text-action,.directory-confirmed){grid-area:action;min-width:72px;margin:0;align-self:center}
#app .directory-position>.text-action{border:1px solid var(--line);border-radius:8px;background:var(--card,#fff);padding:6px 9px;min-height:44px}
#app .debt-selector{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
#app .debt-workspace.debt-direct{display:block;max-width:none}
#app .debt-direct>.debt-editor{padding:12px;width:100%;min-width:0}
#app .debt-kpis{gap:8px;margin:10px 0}
#app .debt-kpis article{padding:10px;min-height:0}
#app .debt-kpis strong{font-size:20px}
#app .debt-form-grid{gap:8px 14px}
#app .debt-form-grid label>span{font-size:13px}
#app .live-debt-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}
#app .live-debt-result>small{grid-column:1/-1}
#app .debt-direct .editor-head{margin:0 0 10px}
#app .debt-direct .editor-head h2{font-size:20px}
#app .purpose-master-panel>header{align-items:center;gap:8px;flex-wrap:wrap}
#app .purpose-pool-header-actions{display:flex;gap:6px;flex-wrap:wrap}
#app .purpose-section-switch button,#app .purpose-pool-tabs button{min-height:44px;border:1px solid var(--line);background:var(--card,#fff);border-radius:8px;padding:8px 12px}
#app .purpose-section-switch button.active,#app .purpose-pool-tabs button.active{background:#0b1830;color:#fff;border-color:#0b1830}
#app .plan-section-tabs{padding:5px;border:1px solid var(--line);border-radius:12px;background:#e9eeec;gap:6px}
#app .plan-section-tab{min-height:48px;border:1px solid #cbd5d1;background:var(--card,#fff);color:var(--text,#172631);border-radius:8px;padding:8px 12px;box-shadow:0 1px 2px #0000000a;cursor:pointer;opacity:1}
#app .plan-section-tab.active{background:#0b1830;border-color:#0b1830;color:#fff}
#app .plan-section-tab:not(.active):hover{border-color:#896f3d;background:#f7f5ee}
#app :is(.target-picture-root-action,.target-picture-position-action){min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff)}
#app :is(button,select,input,summary):focus-visible{outline:3px solid #b48a37;outline-offset:2px}
#app .funding-choice-card{min-height:70px;border:1px solid #cbd5d1;background:var(--card,#fff);opacity:1;cursor:pointer}
#app .funding-choice-card.active{border:2px solid #967338;background:#f7f2e8;box-shadow:0 0 0 1px #967338}
#app .funding-choice-card small{font-size:12px}
#app .funding-plan-overview,#app .funding-plan-details{padding:12px}
#app .funding-preview-title h3{font-size:18px;margin:4px 0}
#app .funding-preview-chart svg{max-height:190px}
#app .funding-basis-strip{padding:8px 10px;margin:8px 0}
#app .funding-method-note,#app .funding-compact-help{font-size:12px;line-height:1.5;margin:6px 0}
#app .assumption-rate-card{padding:8px 10px}
#app .compact-assumption-effect{padding:10px}
#app .compact-assumption-effect p{font-size:13px;margin:6px 0}
#app .review-workspace-hero{padding:8px 0;margin:0 0 8px;min-height:0}
#app .review-workspace-hero h1{font-size:clamp(23px,2.5vw,30px);margin:2px 0}
#app .review-horizon-nav{margin:8px 0}
#app .review-horizon-panel{gap:10px}
#app .review-panel-head{margin:8px 0;align-items:center}
#app .review-panel-head h2{font-size:20px}
#app .review-goal-section{padding:12px;margin:10px 0}
#app .review-goal-progress{display:grid;grid-template-columns:1fr;gap:0}
#app .review-goal-progress>article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(120px,1fr);align-items:center;gap:6px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:9px 0;min-height:0;background:transparent}
#app .review-goal-progress header{display:block;margin:0}
#app .review-goal-progress header b{display:block;font-size:15px;margin:4px 0}
#app .review-goal-progress small{font-size:12px}
#app .review-goal-progress progress{height:8px;margin:0}
#app .overall-goal-interpretation{font-size:13px;line-height:1.5;margin:10px 0 0}
#app .review-horizon-kpis{gap:8px}
#app .review-horizon-kpis>article{padding:10px;min-height:0}
#app .review-horizon-kpis strong{font-size:clamp(19px,2.3vw,27px)}
#app .review-horizon-kpis small{font-size:12px}
#app .review-long-chart svg{max-height:210px!important}
#app .review-short-main{align-items:start}
#app .review-short-main>.review-visual-card{min-height:0}
#app .review-flow-bars{justify-content:start;align-content:start;min-height:0;gap:12px}
#app .review-short-main .snapshot-timeline-workspace{border:0;box-shadow:none;margin:0;padding:0;background:transparent}
#app .review-short-main .snapshot-timeline-workspace>header{gap:8px;flex-wrap:wrap}
#app .review-short-main .snapshot-timeline-workspace>header>div{flex:1 1 100%}
#app .review-short-main .snapshot-timeline-workspace>header h2{font-size:17px;margin:4px 0}
#app .review-short-main .snapshot-timeline-workspace>header p{font-size:12px;margin:4px 0}
#app .timeline-kpi-picker{min-width:0;flex:1 1 180px;margin:0}
#app .timeline-comparison-picker{max-width:none}
#app .timeline-data-table :is(td,th){padding:8px 10px;vertical-align:middle}
#app .timeline-data-table td>small{display:inline;margin-left:8px}
#app .timeline-basis-note{font-size:12px;line-height:1.5;margin:8px 0}
#app .review-related-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
#app .driver-impact-compact{padding:12px}
#app .driver-impact-compact>header h2{font-size:19px;margin:4px 0}
#app .driver-impact-compact>header p{font-size:13px;margin:6px 0}
#app .driver-impact-compact>ul{display:block;margin:8px 0;padding:0}
#app .driver-impact-compact>ul>li{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.3fr) auto;gap:4px 12px;min-height:0;padding:8px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#app .driver-impact-compact li>span{font-size:11px;grid-column:1;grid-row:1}
#app .driver-impact-compact li>b{grid-column:2;grid-row:1;font-size:14px}
#app .driver-impact-compact li>strong{grid-column:3;grid-row:1;font-size:15px;text-align:right;white-space:nowrap}
#app .driver-impact-compact li>small{grid-column:2/-1;font-size:12px;line-height:1.4}
#app .driver-impact-compact>.driver-impact-open{font-size:12px;margin:8px 0}
#app .center2-goal-row{padding-block:10px;gap:6px}
#app .center2-goal-copy b{font-size:17px}
#app .center2-goal-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#app .center2-goal-status .center2-status{width:auto;min-width:90px}
#app .center2-goal-status>small{font-size:12px;color:var(--muted)}
#app .center2-workspace{gap:12px}
#app .review-plan-versions article{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}
@media(min-width:1000px){#app .debt-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 #app .stability-directory-hero.working-header{display:block}
 #app .directory-totals>.btn{margin-left:0}
 #app .directory-totals>span{width:100%;justify-content:space-between}
 #app .debt-form-grid,#app .live-debt-result{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .review-goal-progress>article{grid-template-columns:minmax(0,1fr) minmax(90px,.5fr)}
 #app .review-goal-progress>article>small{grid-column:1/-1}
 #app .driver-impact-compact>ul>li{grid-template-columns:minmax(0,1fr) auto}
 #app .driver-impact-compact li>span{grid-column:1;grid-row:1}
 #app .driver-impact-compact li>b{grid-column:1;grid-row:2}
 #app .driver-impact-compact li>strong{grid-column:2;grid-row:2}
 #app .driver-impact-compact li>small{grid-column:1/-1;grid-row:3}
}
@media(max-width:430px){
 #app .directory-position{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity amount" "quality action";gap:3px 8px}
 #app .directory-position>.directory-confirmed{min-width:0}
 #app .debt-form-grid,#app .live-debt-result{grid-template-columns:1fr}
 #app .plan-section-tab{padding:6px 8px;font-size:12px}
}
@media(min-width:1000px){
 #app .center2{grid-template-columns:1fr!important}
 #app .center2>.center2-focus,#app .center2>.center2-on-course{grid-column:1/-1!important;align-self:start!important}
 #app .center2-focus-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
 #app .center2-focus-main .guide-topic-link{grid-column:1/-1;justify-self:start}
 #app .center2-goal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 #app .center2-goal-row{grid-template-columns:1fr!important;padding:8px 0!important;gap:6px!important}
 #app .center2-goal-status{grid-column:1/-1}
}

/* v1.0.29.24: Plan and Review, scoped layout. */
#app .funding-edit-layout,#app .assumptions-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
#app .funding-edit-layout>*{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
#app .funding-plan-fields{padding:0;display:grid;gap:10px}
#app .funding-basis-strip{margin:0;padding:8px 10px;gap:4px}
#app .funding-basis-strip b{font-size:16px}
#app .funding-monthly-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.65fr);gap:4px 12px;align-items:center;margin:0}
#app .funding-monthly-field>small{grid-column:1/-1}
#app .funding-plan-fields>h4{margin:6px 0 0;font-size:16px}
#app .funding-compact-help{margin:0;font-size:13px}
#app .funding-changes-table{min-width:0;table-layout:fixed;margin:0;width:100%}
#app .funding-changes-table caption{padding:0 0 6px;font-size:13px}
#app .funding-changes-table th,#app .funding-changes-table td{padding:8px 5px;font-size:13px}
#app .funding-changes-table th:last-child{width:88px}
#app .funding-changes-table input{width:100%;min-width:0;font-size:14px;min-height:44px;padding:8px}
#app .funding-changes-table .field>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
#app .funding-changes-table .btn{min-width:0;min-height:44px;padding:6px;font-size:12px}
#app .funding-schedule-actions{margin:0;display:flex;gap:8px;flex-wrap:wrap}
#app .released-loan-panel{margin:8px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--line)}
#app .released-loan-panel h3{font-size:16px;margin:0 0 5px}
#app .release-decisions{margin-top:10px;gap:10px}
#app .release-decision{padding:0;border:0;border-radius:0;background:transparent}
#app .release-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
#app .release-heading select{max-width:100%;min-width:0}
#app .release-heading small{font-size:12px}
#app .release-split{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0}
#app .release-split .field{min-width:0;font-size:12px;margin:0}
#app .release-split .money-input input{min-width:0;width:100%;padding:8px}
#app .funding-edit-layout .funding-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:10px 0}
#app .funding-edit-layout .funding-metrics dd{font-size:22px}
#app .funding-edit-layout .funding-path{border:0;padding:0;background:transparent;margin:12px 0}
#app .funding-preview-chart svg{max-height:none;min-width:0;width:100%;height:auto}
#app .funding-start-label,#app .funding-baseline-end-label,#app .funding-plan-end-label{font-weight:750;font-size:14px}
#app .funding-preview-chart figcaption small{display:none}
#app .funding-legend{gap:6px 12px;font-size:12px}
#app .funding-decision-message{padding:8px 0;font-size:13px;border:0;background:transparent}
#app .funding-method-note{font-size:13px;line-height:1.45;margin:10px 0 0}
#app .assumptions-edit-layout>section,#app .assumptions-edit-layout>aside{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
#app .assumptions-primary-card>header{display:grid;gap:6px}
#app .assumptions-primary-card h3{font-size:18px;margin:0}
#app .assumption-state{justify-self:start;padding:0;background:transparent;font-size:12px}
#app .assumptions-rule{font-size:13px;padding:0;margin:10px 0;border:0;background:transparent}
#app .assumption-rate-grid{grid-template-columns:1fr;gap:0}
#app .assumption-rate-card{grid-template-columns:minmax(0,1fr) 130px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;background:transparent;align-items:center}
#app .assumption-rate-card:last-child{border-bottom:0}
#app .assumption-rate-card .percent-input{display:flex;align-items:center;gap:5px}
#app .assumption-rate-card .percent-input b{display:block!important;position:static!important;padding:0 6px 0 0}
#app .assumption-rate-card input{width:100%;min-width:0;min-height:44px;padding:8px}
#app .assumption-rate-input>small{display:none}
#app .compact-assumption-effect{border:0;padding:0;background:transparent;margin:0}
#app .compact-assumption-effect h4{font-size:18px;margin:0 0 12px}
#app .assumption-effect-values{display:grid;gap:0}
#app .assumption-effect-values>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
#app .assumption-effect-values b{font-size:21px;white-space:nowrap}
#app .assumption-effect-values small{font-size:13px}
#app .compact-assumption-effect p{font-size:13px;line-height:1.5;margin:12px 0}
#app .assumptions-context-strip{margin:0 0 12px;padding:8px;gap:8px;border:0;background:#eef4f2}
#app .assumptions-context-strip>div{padding:6px 8px}
#app .income-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;padding:0;border:0;background:transparent}
#app .income-editor>.field{margin:0;min-width:0}
#app .income-editor>.field:first-child{grid-column:1;grid-row:1}
#app .income-editor>.field:nth-of-type(2){grid-column:2;grid-row:1}
#app .income-editor>p,#app .income-editor>.form-grid{grid-column:1/-1;margin:0}
#app .income-editor>.form-grid:empty{display:none}
#app .income-editor small,#app .income-editor p{font-size:13px;line-height:1.45}
#app .goal-primary-editor{max-width:none;width:100%;margin:0}
#app .goal-primary-editor>article{max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
#app .goal-primary-editor>article>h3,#app .goal-primary-editor>article>p{grid-column:1/-1;margin:0}
#app .goal-additional-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
#app .goal-additional-grid>.initial-goal-corridor{grid-column:1/-1}
#app .goal-additional-grid>article{padding:10px 0;border-top:1px solid var(--line);min-width:0}
#app .goal-additional-grid h3{font-size:16px;margin:0 0 8px}
#app .goal-additional-grid p{font-size:13px;line-height:1.45}
#app .initial-corridor-grid{grid-template-columns:1fr 1fr;gap:18px}
#app .initial-goal-corridor{padding:0;background:transparent;border:0}
#app .initial-goal-corridor>header p{display:none}
#app .initial-goal-horizon{padding:12px;margin:10px 0;border-radius:10px}
#app .initial-goal-horizon h2{font-size:17px;margin:0}
#app .initial-goal-horizon p{display:none}
#app .plan-confirmation-workspace{max-width:none}
#app .plan-confirmation-grid{gap:0 18px}
#app .plan-confirmation-card.goals>strong{display:none}
#app .plan-confirmation-goal-values{display:grid;gap:7px;margin:0}
#app .plan-confirmation-goal-values>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;font-size:13px}
#app .plan-confirmation-goal-values dd{margin:0;font-weight:700}
#app .plan-confirmation-detail-body{gap:12px;padding:12px 0}
#app .plan-confirmation-detail-body .purpose-goal-summary{padding:0;border:0;background:transparent}
#app .plan-confirmation-detail-body .purpose-goal-grid>article{padding:10px;min-height:0}
#app .plan-confirmation-detail-body .purpose-goal-grid h3{margin:0 0 8px;font-size:16px}
#app .review-development-panel .review-short-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}
#app .review-development-aside{display:grid;gap:12px;min-width:0}
#app .review-development-aside .review-trend-note{display:grid;gap:6px;padding:12px;margin:0;font-size:14px}
#app .review-development-aside .timeline-basis-note{font-size:13px;line-height:1.5;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:0}
#app .review-development-aside .review-visual-card{padding:12px}
#app .review-development-aside h3{font-size:17px}
#app .review-development-panel .snapshot-timeline-workspace>header .eyebrow{display:none}
#app .review-development-panel .snapshot-timeline-workspace>header>div>p{display:none}
#app .review-development-panel .snapshot-timeline-workspace>header>div{flex:1 1 100%}
#app .review-development-panel .timeline-kpi-picker{flex:1 1 160px}
#app .review-development-panel>.timeline-data-details{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}
#app .review-development-panel .timeline-data-table{width:100%}
#app .review-workspace .driver-impact-compact>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
#app .review-workspace .driver-impact-compact>ul>li{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr;gap:5px;align-content:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
#app .review-workspace .driver-impact-compact li>span{grid-column:1;grid-row:1;font-size:11px}
#app .review-workspace .driver-impact-compact li>b{grid-column:1;grid-row:2;font-size:15px}
#app .review-workspace .driver-impact-compact li>strong{grid-column:1;grid-row:3;font-size:20px;text-align:left;white-space:normal}
#app .review-workspace .driver-impact-compact li>small{grid-column:1;grid-row:4;font-size:13px;line-height:1.4}
#app .review-target-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}
#app .review-target-layout>*{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
#app .review-target-explanation h3{font-size:17px;margin:0 0 10px}
#app .review-target-explanation p{font-size:14px;line-height:1.5;margin:10px 0}
#app .review-long-chart svg{max-height:none!important;width:100%;height:auto}
#app .review-workspace table,#app .funding-path table{width:100%;border-collapse:collapse;table-layout:auto}
#app .review-workspace table caption{font-size:14px;text-align:left;padding:8px 0;font-weight:700}
#app .review-workspace table :is(th,td),#app .funding-path table :is(th,td){padding:9px 12px;border-bottom:1px solid var(--line);font-size:14px;text-align:right;vertical-align:middle}
#app .review-workspace table :is(th,td):first-child,#app .funding-path table :is(th,td):first-child{text-align:left}
#app .review-workspace table thead{background:#f0f5f3}
#app .review-workspace table tbody tr:nth-child(even){background:#fafbf9}
@media(max-width:900px){
 #app .funding-edit-layout,#app .assumptions-edit-layout,#app .review-target-layout,#app .review-development-panel .review-short-main{grid-template-columns:1fr}
 #app .review-workspace .driver-impact-compact>ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 #app .goal-additional-grid,#app .initial-corridor-grid,#app .goal-primary-editor>article,#app .income-editor,#app .plan-confirmation-grid{grid-template-columns:1fr}
 #app .income-editor>.field:nth-of-type(2){grid-column:1;grid-row:auto}
 #app .goal-primary-editor>article>*,#app .goal-additional-grid>.initial-goal-corridor{grid-column:1}
 #app .review-workspace .driver-impact-compact>ul{grid-template-columns:1fr}
 #app .funding-monthly-field{grid-template-columns:1fr}
 #app .funding-changes-table{min-width:370px}
 #app .release-split{grid-template-columns:1fr}
 #app .assumptions-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .plan-confirmation-goal-values>div{grid-template-columns:1fr;gap:2px}
}

/* Paired metrics remain legible inside the iPad side preview. */
#app .funding-edit-layout .funding-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
#app .funding-edit-layout .funding-metrics dd{font-size:23px;overflow-wrap:normal}

@media(max-width:600px){#app .assumption-effect-values>div{display:grid;grid-template-columns:1fr;gap:4px}#app .assumption-effect-values b{white-space:normal}#app .funding-edit-layout .funding-metrics dd{font-size:19px}}
/* Plan UX simplification v1.0.29.25 */
#app .funding-default-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f5f8f7}
#app .funding-default-choice>div:first-child{display:grid;gap:2px}
#app .funding-default-choice small{color:var(--muted)}
#app .funding-default-choice strong{font-size:22px;color:var(--nav)}
#app .funding-default-choice span{font-size:13px;color:var(--muted)}
#app .funding-default-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#app .funding-current-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border:1px solid #d9e2df;border-radius:12px;background:#f8faf9}
#app .funding-current-summary span{display:grid;gap:3px}#app .funding-current-summary small{color:var(--muted)}
@media(max-width:900px){#app .funding-default-choice{align-items:stretch;flex-direction:column}#app .funding-default-actions{justify-content:flex-start}#app .funding-current-summary{grid-template-columns:1fr}}
#app .assumption-empty{min-height:0;padding:18px 20px}#app .assumption-empty h4{margin:0 0 8px}#app .assumption-empty p{margin:0;color:var(--muted);line-height:1.5}
#app .plan-confirmation-core{grid-template-columns:repeat(3,minmax(0,1fr))}#app .plan-confirmation-head h2{margin:0 0 4px;color:var(--nav)}
@media(max-width:900px){#app .plan-confirmation-core{grid-template-columns:1fr}}

/* v26: explicit states, compact cards, one substantive explanation per section. */
#app .funding-default-actions .selected{border-color:var(--gold);background:#fff7e8;color:var(--nav);box-shadow:inset 0 0 0 1px var(--gold)}
#app .funding-edit-layout.comparison-only{grid-template-columns:1fr}
#app .funding-edit-layout.comparison-only>.funding-plan-details{display:none}
#app .funding-edit-layout.comparison-only>.funding-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px 18px}
#app .funding-edit-layout.comparison-only .funding-preview-title,#app .funding-edit-layout.comparison-only .funding-method-note{grid-column:1/-1}
#app .funding-edit-layout.comparison-only .funding-path{grid-column:2;grid-row:2/4;margin:0}
#app .funding-edit-layout.comparison-only .funding-decision-message{margin:0}
#app .assumptions-edit-layout.without-effect{grid-template-columns:1fr}
#app .assumptions-edit-layout.without-effect .assumption-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
#app .income-editor{gap:8px 16px}
#app .funding-income-body{padding:12px}
#app .assumption-income-panel{margin-top:12px}
#app .income-goal-state{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:8px 16px;padding:12px 0;border-top:1px solid var(--line);align-items:center}
#app .income-goal-state header{display:grid;gap:4px}
#app .income-goal-state header span{color:var(--muted);font-size:13px;font-weight:700}
#app .income-goal-state header b{font-size:18px}
#app .income-goal-state small{font-size:13px;line-height:1.45}
#app .review-goal-progress>.income-goal-state{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
#app .plan-structure-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
#app .plan-structure-compact>h2,#app .plan-structure-compact>.purpose-goal-summary,#app .plan-structure-compact>.btn{grid-column:1/-1}
#app .plan-structure-area{margin:0;padding:10px 0;align-self:start}
#app .goal-driver-map.compact .compact-driver-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#app .goal-driver-map.compact .compact-driver-rows>.driver-node{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
#app .compact-driver-rows .driver-node h3{font-size:16px;margin:0}
#app .compact-driver-rows .driver-node p{margin:0}
#app .compact-driver-rows .plan-driver-value{font-weight:750;font-size:16px}
#app .compact-driver-rows .compact-driver-note{display:block;font-size:13px;line-height:1.45;color:var(--muted)}
#app .compact-driver-rows .driver-node>.btn,#app .compact-driver-rows .driver-node-action{margin-top:auto;min-height:44px;white-space:normal;text-align:left}
#app .driver-impact-compact .driver-structure-role{display:block;color:var(--muted);font-size:11px;margin-top:6px}
#app .driver-impact-compact li[data-month-tone]{border-left:3px solid #a1aba8}
#app .driver-impact-compact li[data-month-tone="adverse"]{border-left-color:#ad564b}
#app .driver-impact-compact li[data-month-tone="support"]{border-left-color:#348c72}
#app .driver-impact-compact li[data-month-tone="open"]{border-left-color:var(--gold)}
#app .review-workspace .driver-impact-compact li>.driver-evidence-action{grid-column:1;grid-row:5;min-height:44px;text-align:left;white-space:normal;padding:6px 8px;font-size:13px}
#app .review-target-panel{gap:12px}
#app .review-target-panel>.pcms-detail-panel{margin-block:0}
#app .review-workspace table :is(th,td){padding:7px 12px}
@media(max-width:900px){
 #app .goal-driver-map.compact .compact-driver-rows{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .income-goal-state,#app .review-goal-progress>.income-goal-state{grid-template-columns:1fr 1fr}
 #app .income-goal-state>.btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:600px){
 #app .plan-structure-compact,#app .goal-driver-map.compact .compact-driver-rows,#app .assumptions-edit-layout.without-effect .assumption-rate-grid,#app .income-goal-state,#app .review-goal-progress>.income-goal-state,#app .funding-edit-layout.comparison-only>.funding-preview{grid-template-columns:1fr}
 #app .funding-edit-layout.comparison-only .funding-path{grid-column:1;grid-row:auto}
 #app .income-goal-state>*{grid-column:1}
}

/* v27: scoped Plan/Review polish; no financial or persisted state rules. */
#app .goal-driver-map.compact .driver-node .plan-driver-value{display:block;font-size:19px;font-weight:750;color:var(--nav)}
#app .goal-driver-map.compact .driver-node .compact-driver-note{display:block}
#app .compact-driver-rows .driver-node>.btn,#app .compact-driver-rows .driver-node-action,#app .plan-edit-action,#app .driver-evidence-action{background:#fff;border:1px solid #bdcdca;border-radius:9px;padding:8px 12px;color:var(--nav);min-height:44px;text-decoration:none}
#app .review-workspace .driver-impact-compact>ul{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
#app .review-workspace .driver-impact-compact>ul>li{grid-template-rows:auto auto auto auto;padding:12px;box-shadow:none;border-left:3px solid #a1aba8}
#app .review-workspace .driver-impact-compact>ul>li[data-month-tone="adverse"]{border-left-color:#ad564b}
#app .review-workspace .driver-impact-compact>ul>li[data-month-tone="support"]{border-left-color:#348c72}
#app .review-workspace .driver-impact-compact>ul>li[data-month-tone="open"]{border-left-color:var(--gold)}
#app .review-workspace .driver-impact-compact .driver-structure-role{font-size:10px;font-weight:500;text-transform:none}
#app .review-workspace .driver-impact-compact li>strong{font-size:22px}
#app .review-workspace .driver-impact-compact li>small{font-size:12px}
#app .funding-edit-layout{align-items:start}
#app .funding-plan-workspace,#app .plan-funding-workspace{min-height:0}
#app .funding-plan-fields{gap:8px}
#app .funding-plan-fields h4{margin:12px 0 4px}
#app .funding-basis-strip{padding:10px;gap:12px}
#app .funding-compact-help,#app .funding-method-note{margin:6px 0;font-size:12px;line-height:1.4}
#app .funding-schedule-actions{margin:8px 0}
#app .funding-changes-table caption{display:none}
#app .released-loan-panel{margin:10px 0 0;padding:0;border:0;border-top:1px solid var(--line)}
#app .released-loan-panel>summary{padding:10px 0;font-weight:700;cursor:pointer}
#app .released-loan-panel>p{font-size:12px;margin:4px 0 8px}
#app .funding-path figcaption b{font-size:16px}
#app .funding-preview-chart svg{max-height:230px}
#app .income-editor>.field{display:flex;flex-direction:column;gap:8px}
#app .income-editor>.field select,#app .income-editor>.field input{min-height:44px;height:44px}
#app .income-editor>.field>span{font-size:15px}
#app .income-editor>.field>small{font-size:12px;line-height:1.4}
#app .assumption-income-panel .funding-income-body{padding:12px}
#app .income-editor~p{margin:8px 0;font-size:12px}
#app .plan-confirmation-workspace .review-goal-progress>article{padding:9px 0;min-height:0}
#app .plan-confirmation-details .plan-confirmation-detail-body{padding:12px}
#app .purpose-goal-grid{align-items:start;gap:12px}
#app .purpose-goal-grid>article{padding:12px;min-height:0}
#app .purpose-goal-grid h3{margin:0 0 8px;font-size:17px}
#app .purpose-goal-grid dl{margin:0}
#app .purpose-goal-grid dl>div{padding:4px 0;font-size:14px}
#app .purpose-goal-summary>small{display:block;margin-top:8px;font-size:12px}
#app .plan-structure-compact>.btn,#app .confirmed-plan-journey>.btn{justify-self:start;margin:8px 0;min-height:44px;padding:8px 12px;border:1px solid #bdcdca;border-radius:9px;background:#fff}
#app .confirmed-goal-summary small{font-size:12px;color:var(--muted)}
@media(max-width:1100px){#app .review-workspace .driver-impact-compact>ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){#app .review-workspace .driver-impact-compact>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#app .review-workspace .driver-impact-compact>ul{grid-template-columns:1fr}}

/* v28: compact Plan/Review layouts from iPad visual review. */
#app .review-workspace .driver-impact-compact>ul{align-items:stretch}
#app .review-workspace .driver-impact-compact>ul>li{display:flex;flex-direction:column;align-items:stretch;gap:7px;height:auto;align-self:stretch}
#app .review-workspace .driver-impact-compact li>.driver-evidence-action{margin-top:auto}
#app .review-workspace .driver-impact-compact li>small,#app .review-workspace .driver-impact-compact li>.driver-structure-role{margin:0}
#app .plan-driver-meta{display:block;font-size:12px;line-height:1.4;color:var(--muted);font-weight:500}
#app .goal-driver-map.compact{padding:12px;gap:10px;border:0;background:transparent}
#app .goal-focus-disclosure .goal-focus-selector>header .eyebrow{display:none}
#app .goal-focus-disclosure .goal-focus-selector>header p{font-size:12px;margin:4px 0}
#app .goal-focus-disclosure .goal-focus-selector>header h2{font-size:18px}
#app .purpose-goal-summary{padding:12px;margin:10px 0;border:0;background:transparent}
#app .purpose-goal-summary>h2{margin:0 0 8px;font-size:19px}
#app .purpose-goal-summary .purpose-goal-grid{gap:10px;align-items:stretch}
#app .purpose-goal-summary .purpose-goal-grid>article{margin:0;padding:12px}
#app .purpose-goal-summary .purpose-goal-grid dl div{margin:0;padding:5px 0;gap:10px;line-height:1.4}
#app .purpose-goal-summary .purpose-goal-grid dd{font-size:14px}
#app .plan-confirmation-detail-body .purpose-goal-summary{margin:0;padding:0}
#app .plan-confirmation-detail-body{gap:12px}
#app .funding-plan-fields>.table-scroll{margin:0}
#app .funding-plan-fields>h4{margin:8px 0 0}
#app .funding-plan-fields>.funding-compact-help{margin:0}
#app .funding-plan-fields .funding-schedule-actions{margin:0}
#app .funding-plan-fields .funding-current-summary{padding:10px;margin:0}
#app .funding-default-actions .btn,#app .income-goal-state>.btn,#app .confirmed-plan-core-summary>.btn,#app .review-workspace [data-monthly-correct]{background:#fff;border:1px solid #bdcdca;border-radius:9px;padding:8px 12px;color:var(--nav);min-height:44px;white-space:normal;text-decoration:none}
#app .funding-default-actions .btn.selected{border-color:var(--gold);background:#fff7e8}
/* The short adopted contribution spans the row; its preview pairs metrics with chart. */
#app .funding-edit-layout.current-plan{grid-template-columns:1fr;gap:10px}
#app .funding-edit-layout.current-plan>.funding-plan-details{padding:0;border:0}
#app .funding-edit-layout.current-plan .funding-plan-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:12px}
#app .funding-edit-layout.current-plan .released-loan-panel{margin:0;border:0;padding:0}
#app .funding-edit-layout.current-plan>.funding-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px 18px}
#app .funding-edit-layout.current-plan .funding-preview-title,#app .funding-edit-layout.current-plan .funding-method-note{grid-column:1/-1}
#app .funding-edit-layout.current-plan .funding-path{grid-column:2;grid-row:2/4;margin:0}
#app .funding-edit-layout.current-plan .funding-decision-message{margin:0}
#app .review-workspace{gap:12px}
#app .review-workspace .review-horizon-context{min-height:32px;margin:0;padding:2px 0}
#app .review-workspace .review-horizon-nav{margin:0}
#app .review-workspace .review-panel-head{margin:0;padding:0}
#app .review-workspace .review-target-explanation{padding:14px;gap:8px}
#app .review-workspace .review-target-explanation h3{margin:0;font-size:18px}
#app .review-workspace .review-target-explanation p{margin:6px 0;font-size:13px;line-height:1.45}
#app .review-workspace .review-target-explanation .guide-topic-link{margin-top:6px}
@media(max-width:900px){
 #app .funding-edit-layout.current-plan .funding-plan-fields{grid-template-columns:1fr}
}
@media(max-width:600px){
 #app .funding-edit-layout.current-plan>.funding-preview{grid-template-columns:1fr}
 #app .funding-edit-layout.current-plan .funding-path{grid-column:1;grid-row:auto}
 #app .funding-edit-layout.current-plan .funding-preview>*{grid-column:1}
}

#app main .review-workspace{gap:12px!important}
#app main .review-workspace>.workspace-hero{margin-bottom:4px!important}

#app .plan-position-rows .btn{border:1px solid #bdcdca;background:#fff;color:var(--nav);padding:8px 12px;min-height:44px}
#app .review-development-aside .timeline-basis-note,#app .review-development-aside .review-sparring p{font-size:13px;line-height:1.45;margin:6px 0}
#app .review-development-aside{gap:10px}

/* v29: final iPad findings, scoped to Plan and Review. */
#app main .confirmed-plan-journey{gap:10px!important}
#app .confirmed-plan-journey :is(.overall-goal-interpretation,.confirmed-plan-core-summary){margin:4px 0;padding-top:8px;padding-bottom:8px}
#app .confirmed-plan-journey>.btn{margin:0}
#app .target-system-form .calibration-actions .draft-actions{display:block;position:relative;margin:0;flex:0 1 auto}
#app .draft-actions>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px 12px;border:1px solid #bdcdca;border-radius:9px;background:#fff}
#app .draft-actions>div{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}
#app .calibration-actions>.primary{margin-left:auto}
#app .funding-edit-layout.current-plan .funding-plan-fields{grid-template-columns:1fr}
#app .funding-edit-layout.current-plan .funding-current-summary{grid-column:1/-1}
#app .funding-edit-layout.current-plan .analysis-section{grid-column:1/-1}
#app main .review-goal-progress>article{padding:7px 0!important;min-height:0!important;margin:0!important}
#app main .review-goal-progress>article header{margin:0!important;padding:0!important}
#app .review-goal-progress>article header b{margin:2px 0}
#app .review-goal-progress>.income-goal-state{padding:8px 0!important}
#app .review-month-verdict article{padding:12px;margin:0}
#app .review-month-verdict p{font-size:14px;line-height:1.45;margin:6px 0 0}
#app .review-month-verdict{gap:10px;padding:14px}
#app .timeline-data-table{min-width:560px}
#app .timeline-data-table td{white-space:normal}
#app .timeline-data-table .timeline-quality{display:inline-block;margin:0}
#app .calibration-hero.process-heading{margin:8px 0 10px!important}
#app .assumptions-edit-layout{margin-top:8px;gap:12px}
#app .assumption-rate-grid{gap:8px 14px}
#app .assumption-income-panel{margin-top:12px}
#app .assumption-income-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}
#app .assumption-income-panel>summary em{margin-left:auto;white-space:nowrap}
@media(max-width:600px){
 #app .draft-actions>div{display:grid;grid-template-columns:1fr}
 #app .calibration-actions>.primary{margin-left:0}
 #app .assumption-income-panel>summary{align-items:start}
}

#app .timeline-data-table :is(th,td){min-width:110px}

/* v30: final Plan overview spacing and separate KPI prose from its Guide action. */
#app main .confirmed-plan-journey{gap:8px!important}
#app main .confirmed-plan-journey>.confirmed-goal-summary{padding:4px 0!important;margin:0!important}
#app main .confirmed-plan-journey>.overall-goal-interpretation{margin:0!important;padding:4px 0!important}
#app main .confirmed-plan-journey>.confirmed-plan-core-summary{margin:0!important;padding:10px 0!important;gap:8px}
#app main .confirmed-plan-core-summary>header{margin:0!important;padding:0!important}
#app main .confirmed-plan-core-summary>p{margin:0!important;padding:0!important}
#app main .confirmed-plan-journey>.btn{margin:0!important}
#app .review-development-aside .timeline-basis-copy{display:block;text-wrap:pretty}
#app .review-development-aside .timeline-basis-note>.guide-topic-link{display:flex;width:fit-content;margin-top:6px}

/* Review: one selected goal area, all read-only. */
#app .review-target-area-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0;padding:6px;border:1px solid #d9e1df;border-radius:16px;background:#eef3f2}
#app .review-target-area-switch button{font:inherit;font-weight:700;padding:14px 10px;border:1px solid #d9e1df;border-radius:12px;background:white;color:#10203b;cursor:pointer}
#app .review-target-area-switch button.active{background:#10203b;color:white;border-color:#10203b}
#app .review-target-area-switch button:focus-visible{outline:3px solid #b58b3e;outline-offset:2px}
@media(max-width:700px){#app .review-target-area-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* .32 Basic confirmed development: compact chart, exact snapshot context. */
.basic-timeline-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.basic-timeline-status article{padding:16px 20px;border:1px solid var(--border,#dce3e3);border-radius:14px;background:#fff}
.basic-timeline-status span,.basic-timeline-status small{display:block;color:#626e73}
.basic-timeline-status strong{display:block;font-size:26px;margin:6px 0;color:#0c1930}
.basic-development .snapshot-timeline{width:100%;height:auto;max-height:320px}
.basic-axis-note{display:block;margin:12px 0;color:#626e73}
.basic-goal-assessment{margin-top:24px;padding-top:16px;border-top:1px solid #dce3e3}
.review-debt-dates{display:flex;gap:12px 28px;flex-wrap:wrap;color:#626e73;font-size:14px;margin-top:12px}
@media(max-width:700px){.basic-timeline-status{grid-template-columns:1fr}.basic-development .snapshot-timeline{max-height:none}}

.review-date-guide{stroke:#b8c2c4;stroke-width:1;stroke-dasharray:2 5}
.review-debt-dates strong{font-size:inherit}

/* v1.0.29.33: one compact overview, one full-width detail panel */
#app .compact-goal-workspace{padding:16px;gap:16px}
#app .compact-goal-workspace>header{margin:0;display:block}
#app .compact-goal-workspace>header h2{font-size:22px;margin:0 0 6px}
#app .compact-goal-workspace>header small{color:var(--muted);font-size:14px}
#app .compact-goal-workspace .target-picture-root{margin:12px 0;padding:16px;gap:7px}
#app .compact-goal-workspace .target-picture-outcome{margin:0;display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}
#app .compact-goal-workspace .target-picture-outcome b{font-size:18px}
#app .compact-goal-workspace .target-picture-root>b{font-size:22px}
#app .compact-goal-workspace .target-picture-area-grid{gap:12px;align-items:start}
#app .compact-goal-workspace .target-picture-area{padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}
#app .compact-goal-workspace .target-picture-area header{padding:0;min-height:0;gap:6px}
#app .compact-goal-workspace .target-picture-area h3{font-size:16px;line-height:1.3;margin:0;overflow-wrap:normal}
#app .compact-goal-workspace .target-picture-area header>b{font-size:22px}
#app .compact-goal-workspace .target-picture-area-state{padding:0;background:none;gap:4px;font-size:14px}
#app .compact-goal-workspace .target-picture-area .target-area-open{font-size:14px;min-height:44px;white-space:normal;text-align:left;width:100%;margin:0}
#app .compact-goal-workspace .target-picture-area.selected{border-color:var(--teal);background:#f0f6f5}
#app .target-area-panel{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;scroll-margin-top:110px;margin-top:16px}
#app .target-area-panel>header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
#app .target-area-panel>header h3{font-size:22px;margin:0}
#app .target-area-panel-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}
#app .target-area-panel-layout>div{min-width:0}
#app .target-area-panel :is(.target-picture-editor,.target-picture-positions,.area-position-allocation){margin:0;border:0;background:transparent;padding:0}
#app .target-area-panel :is(.target-picture-editor,.target-picture-positions,.area-position-allocation)>summary{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;cursor:pointer;font-size:16px}
#app .target-area-panel summary span{display:grid;gap:4px}
#app .target-area-panel summary small{display:block;font-size:13px;font-weight:400;color:var(--muted)}
#app .target-area-panel summary em{font-size:13px;font-style:normal;color:var(--muted)}
#app .target-area-panel .target-picture-editor-body{padding:0;display:grid;gap:12px}
#app .target-area-panel .target-picture-position{display:flex;justify-content:space-between;gap:20px;margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
#app .target-area-panel .target-picture-position>span{min-width:0;flex:1}
#app .target-area-panel .target-picture-position :is(b,small){display:block;overflow-wrap:break-word;word-break:normal}
#app .target-area-panel .target-picture-position strong{white-space:nowrap;font-size:17px}
#app .target-area-panel .area-position-allocation>div{display:grid;grid-template-columns:1fr;gap:16px}
#app .target-area-panel .plan-ist-master{padding:12px;min-height:0}
#app .target-area-panel .plan-ist-master>header p{display:none}
#app .target-area-panel .plan-ist-master>header h2{font-size:16px}
#app .target-area-panel .plan-ist-position{padding:10px;gap:16px}
#app .target-area-panel .plan-ist-position>span{min-width:0;flex:1}
#app .target-area-panel .plan-ist-position :is(b,small){word-break:normal;overflow-wrap:break-word}
#app .target-area-panel .plan-position-editor{padding:12px;min-height:0}
#app .target-area-panel .plan-position-editor h2{font-size:20px}
#app .compact-plan .pcms-detail-panel,#app .optional-driver-details{margin:16px 0;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff}
#app .compact-plan .pcms-detail-panel>summary,#app .optional-driver-details>summary{padding:16px;font-size:16px;font-weight:700;cursor:pointer;display:list-item}
#app .compact-plan .pcms-detail-panel>div,#app .optional-driver-details>div{padding:0 16px 16px}
#app .target-purpose-details .target-picture-purpose{padding:0;margin:0;border:0;background:transparent}
#app .target-picture-purpose-editor>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:16px}
#app .target-picture-purpose-editor>summary span{display:grid;gap:4px}
#app .target-picture-purpose-editor>summary small{font-size:13px;color:var(--muted);font-weight:400}
#app .target-picture-purpose-editor>summary em{font-size:13px;font-style:normal}
#app .optional-driver-details .kpi-target-groups{align-items:start}
#app .optional-driver-details .kpi-group{min-height:0}
#app .optional-driver-details .kpi-group h2{font-size:18px}
#app .compact-plan .goal-driver-map.compact>h2{font-size:20px;margin:0}
#app .compact-plan .goal-driver-map.compact>p{margin:0;color:var(--muted);font-size:14px}
#app .compact-plan .driver-node :is(.btn,.driver-node-action){font-family:inherit;font-size:14px;font-weight:600;text-align:left;line-height:1.4}
#app .compact-plan .goal-driver-map.compact .plan-driver-value{font-size:18px}
#app [data-target-area-panel][hidden]{display:none!important}
@media(max-width:1100px){#app .compact-goal-workspace .target-picture-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#app .target-area-panel-layout{grid-template-columns:1fr}#app .target-area-panel{padding:14px}#app .target-area-panel>header{align-items:start}#app .target-area-panel>header h3{font-size:19px}}
@media(max-width:520px){#app .compact-goal-workspace .target-picture-area-grid{grid-template-columns:1fr}#app .compact-goal-workspace .target-picture-root>b{font-size:20px}}

/* v1.0.29.34: five direct Plan pages, compact context and visible next action. */
#app .plan-section-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
#app .plan-top-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#app .plan-workspace-navigation + .process-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-block:22px}
#app .plan-workspace-navigation + .process-heading h1{margin:0 0 8px}
#app .plan-workspace-navigation + .process-heading p{margin:0;max-width:65ch}
#app .compact-goal-workspace .target-picture-root{padding:16px 20px;text-align:left;align-items:flex-start;gap:8px;margin-block:14px;width:100%;justify-self:stretch;max-width:none;min-height:0}
#app .compact-goal-workspace .target-picture-outcome{display:none}
#app .compact-goal-workspace .target-picture-root > b{font-size:1.15rem}
#app .compact-goal-workspace .target-picture-area{padding:16px;gap:12px}
#app .compact-goal-workspace .target-picture-area h3{font-size:1rem}
#app .compact-goal-workspace .target-picture-area .target-area-open{font-size:.9rem;padding:10px 12px}
#app .compact-goal-workspace > header > small{max-width:80ch}
#app .plan-current-heading{font-size:1rem;margin:24px 0 8px;color:var(--muted)}
#app .plan-confirmation-card .plan-edit-action{font-size:.85rem;padding:8px 10px}
#app .plan-funding-workspace .funding-default-choice{padding:16px}
#app .plan-funding-workspace .funding-current-summary{padding:14px 16px}
#app .assumption-income-panel summary{padding:18px}
@media(max-width:760px){#app .plan-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}#app .plan-workspace-navigation + .process-heading{align-items:flex-start;flex-direction:column}#app .plan-top-actions{width:100%;justify-content:space-between}#app .plan-section-tab{padding:12px 8px}#app .plan-section-tab span{font-size:.9rem}}

/* v1.0.29.35: three-step Plan, scoped away from Basic and onboarding. */
#app .plan-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
#app .plan-step-counter{display:block;margin-top:10px;color:var(--muted,#637076);font-size:14px}
#app .plan-simple-form{padding-bottom:100px}
#app .plan-simple-form .calibration-actions{position:sticky;bottom:0;z-index:25;background:var(--surface,#fff);border:1px solid #d9e1e2;box-shadow:0 -4px 16px #10213a12;padding:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#app .plan-simple-form .calibration-actions>.primary{margin-left:auto}
#app .plan-simple-goal,#app .plan-simple-way{max-width:1120px;margin:auto}
#app .plan-simple-goal>h2,#app .plan-simple-way>h2{font-size:21px;margin:24px 0 12px}
#app .plan-simple-goal .goal-focus-selector header p,#app .plan-simple-goal .goal-focus-selector header .status,#app .plan-simple-goal .goal-focus-option small,#app .plan-simple-goal .goal-focus-option em{display:none}
#app .plan-simple-goal .goal-focus-selector{padding:12px;margin:0}
#app .plan-simple-goal .goal-focus-grid{display:flex;flex-wrap:wrap;gap:8px}
#app .plan-simple-goal .goal-focus-option{padding:10px;min-height:0;flex:1 1 160px}
#app .plan-simple-goal .horizon-strip{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:12px 0;gap:16px;min-height:0}
#app .plan-simple-goal .horizon-strip h2{font-size:16px;margin:0}
#app .plan-simple-goal .horizon-strip p,#app .plan-simple-goal .horizon-strip .eyebrow{display:none}
#app .plan-simple-goal .horizon-strip .field{width:190px;margin:0}
#app .plan-simple-goal .goal-four-grid{display:block}
#app .plan-simple-detail{border:1px solid #d9e1e2;border-radius:12px;background:var(--surface,#fff);margin:8px 0;overflow:hidden}
#app .plan-simple-detail>summary{display:flex;gap:12px;align-items:center;cursor:pointer;padding:14px 16px;list-style:none;min-height:56px}
#app .plan-simple-detail>summary:before{content:'›';font-size:24px;color:#244a57}
#app .plan-simple-detail[open]>summary:before{content:'⌄'}
#app .plan-simple-detail>summary>span:first-of-type{flex:1}
#app .plan-simple-detail summary small,#app .plan-simple-area-row small,#app .plan-simple-position small,#app .plan-linked-target small{display:block;font-size:13px;color:#626e74;margin-top:4px}
#app .plan-simple-detail summary strong{max-width:40%;font-size:16px}
#app .plan-simple-detail summary em{font-size:13px;font-style:normal;color:#244a57}
#app .plan-simple-detail[open] summary em{font-size:0}
#app .plan-simple-detail[open] summary em:after{content:'Schließen';font-size:13px}
#app .plan-simple-detail>div{padding:12px 16px;border-top:1px solid #e2e7e7}
#app .plan-simple-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#app .plan-simple-fields .field{margin:8px 0}
#app .plan-simple-area{background:var(--surface,#fff);border:1px solid #d9e1e2;border-radius:12px;margin:10px 0;padding:12px 16px}
#app .plan-simple-area-row,#app .plan-simple-position{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:20px}
#app .plan-simple-area-controls,#app .plan-simple-position>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#app .plan-simple-area-controls .field,#app .plan-simple-position .field{flex:1 1 190px;margin:0}
#app .plan-simple-area .plan-simple-detail{border:0;border-top:1px solid #e3e8e8;border-radius:0;margin:10px 0 0}
#app .plan-simple-area .plan-simple-detail summary{padding:10px 0}
#app .plan-simple-position{padding:12px 0;border-bottom:1px solid #e5e9e9}
#app .plan-simple-note{font-size:13px;color:#626e74;display:block;margin:8px 0}
#app .plan-simple-goal .kpi-target-row{padding:8px;min-height:0;grid-template-columns:minmax(0,1fr) minmax(160px,1fr)}
#app .plan-simple-goal .kpi-target-row .kpi-copy,#app .plan-simple-goal .kpi-evaluation{display:none}
#app .plan-simple-purposes .target-picture-purpose-item{margin:8px 0;padding:14px}
#app .plan-simple-purposes .target-picture-purpose-editor summary small{display:none}
#app .plan-simple-way .funding-controls-layout{display:block}
#app .plan-simple-way .analysis-section{padding:12px;border:0;margin:8px 0}
#app .plan-simple-way .analysis-section h3{font-size:16px;margin:0 0 8px}
#app .plan-simple-way .funding-income-body{padding:14px}
#app .plan-simple-way .income-editor{display:block}
#app .plan-simple-way .income-editor>.field{max-width:600px;margin:10px 0}

#app .plan-simple-way .funding-decision-message{font-size:14px}
#app .plan-simple-form .plan-current-heading{margin:24px 0 14px}
#app .plan-simple-form .plan-confirmation-detail-body{padding:14px}
#app .plan-simple-form .purpose-goal-summary table{width:100%;font-size:14px}
@media(max-width:700px){
#app .plan-simple-fields,#app .plan-simple-area-row,#app .plan-simple-position{grid-template-columns:1fr;gap:10px}
#app .plan-simple-detail summary{flex-wrap:wrap;gap:8px}
#app .plan-simple-detail summary strong{max-width:100%}
#app .plan-simple-form .calibration-actions .draft-actions>.quiet{display:none}
#app .plan-simple-form .calibration-actions>.quiet{display:none}
#app .plan-section-tab{padding:10px;min-height:54px}
}

#app .plan-simple-form .calibration-actions{position:fixed;bottom:0;left:24px;right:24px;max-width:1320px;margin:0 auto;border-radius:12px 12px 0 0;padding-bottom:max(14px,env(safe-area-inset-bottom))}

/* v1.0.29.36: compact defaults and viewport-contained actions. */
#app .plan-simple-form .calibration-actions{width:auto;box-sizing:border-box;min-width:0;left:16px;right:16px;max-width:min(1320px,calc(100vw - 32px));padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
#app .plan-simple-form .calibration-actions .btn{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#app .plan-extra-goals .kpi-target-row{grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) minmax(160px,.6fr);border-bottom:1px solid #e2e7e7}
#app .plan-extra-goals .kpi-target-row .kpi-copy{display:flex}
#app .plan-way-result,#app .plan-comparison{background:var(--surface,#fff);border:1px solid #d9e1e2;border-radius:12px;padding:16px;margin:16px 0}
#app .plan-way-result dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:12px 0}
#app .plan-way-result dt,#app .plan-way-result small,#app .plan-comparison p,#app .plan-comparison small{font-size:13px;color:var(--muted,#637076)}
#app .plan-way-result dd{font-size:22px;font-weight:700;margin:6px 0}
#app .plan-comparison-scroll{overflow-x:auto}
#app .plan-comparison table{width:100%;border-collapse:collapse;font-size:15px}
#app .plan-comparison th,#app .plan-comparison td{padding:14px 10px;border-bottom:1px solid #e2e7e7;text-align:right;white-space:nowrap}
#app .plan-comparison th:first-child{text-align:left;white-space:normal}
#app .plan-comparison th small{display:block;margin-top:4px;font-weight:400}
#app .plan-simple-form .plan-confirmation-core{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){#app .plan-extra-goals .kpi-target-row{grid-template-columns:1fr}#app .plan-simple-form .plan-confirmation-core{grid-template-columns:1fr}#app .plan-way-result dl{gap:8px}#app .plan-way-result dd{font-size:17px}}
/* Plan .37: Finanzsystem list and editor pattern, all form fields retained. */
#app .plan-simple-goal,#app .plan-simple-way{max-width:none}
#app .plan-directory-workspace{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);gap:20px;align-items:start}
#app .plan-directory-list,#app .plan-directory-editor{background:var(--surface,#fff);border:1px solid #d9e1e2;border-radius:14px;padding:16px;min-width:0}
#app .plan-directory-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid #d9e1e2;padding:15px 10px;cursor:pointer;border-radius:0;font:inherit}
#app .plan-directory-row span{display:grid;gap:5px;min-width:0}
#app .plan-directory-row small{font-size:13px;color:var(--muted,#637076)}
#app .plan-directory-row strong{font-size:14px;max-width:45%;text-align:right;overflow-wrap:anywhere}
#app .plan-directory-row[aria-pressed="true"]{background:#edf3f3;border-radius:8px;box-shadow:inset 3px 0 #244b58}
#app .plan-directory-row:focus-visible{outline:2px solid #af853d;outline-offset:2px}
#app .plan-directory-panel[hidden]{display:none!important}
#app .plan-directory-panel>h2{font-size:22px;margin:0 0 18px}
#app .plan-directory-panel>h3{font-size:17px;margin:20px 0 12px}
#app .plan-directory-panel .plan-simple-area-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .plan-directory-panel .plan-simple-position{padding:14px 0;gap:16px;border-bottom:1px solid #d9e1e2}
#app .plan-directory-panel .horizon-strip{margin:12px 0;padding:12px;gap:12px}
#app .plan-directory-panel .horizon-strip h2{font-size:17px}
#app .plan-directory-panel .calibration-grid,#app .plan-directory-panel .funding-edit-layout,#app .plan-directory-panel .assumptions-edit-layout{display:block}
#app .plan-directory-panel .plan-funding-workspace,#app .plan-directory-panel .assumptions-primary-card{padding:0;border:0;box-shadow:none;background:transparent}
#app .plan-directory-panel .funding-guided{gap:14px}
#app .plan-directory-panel .release-decision{margin:0 0 14px}
#app .plan-directory-panel .assumption-rate-grid{gap:12px}
#app .plan-way-result dl>div{display:block;min-width:0}
#app .plan-way-result dd{overflow-wrap:anywhere}
@media(max-width:800px){#app .plan-directory-workspace{grid-template-columns:1fr;gap:12px}#app .plan-directory-list{padding:8px}#app .plan-directory-row{padding:12px}#app .plan-directory-panel .plan-simple-area-controls{grid-template-columns:1fr}}
/* .38: stable full-width workspace; no content-dependent grid sizing. */
#app .plan-simple-form>.plan-simple-goal,#app .plan-simple-form>.plan-simple-way{width:100%;min-width:0;max-width:none;margin:0;box-sizing:border-box;justify-self:stretch}
#app .plan-directory-workspace{width:100%;min-width:0;box-sizing:border-box;grid-template-columns:320px minmax(0,1fr);gap:20px}
#app .plan-directory-list,#app .plan-directory-editor{width:100%;box-sizing:border-box;padding:14px}
#app .plan-directory-row{padding:12px 8px;gap:12px;box-sizing:border-box}
#app .plan-directory-row span{flex:1 1 0}
#app .plan-directory-row strong{flex:0 0 auto;max-width:none;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:14px}
#app .plan-directory-row small{white-space:nowrap}
#app .plan-directory-panel>h2{margin-bottom:14px}
#app .plan-directory-panel>h3{margin:16px 0 10px}
#app .plan-directory-panel .horizon-strip{background:transparent;border:0;border-radius:0;padding:0;justify-content:flex-start;margin:12px 0}
#app .plan-directory-panel .horizon-strip .field{width:190px}
#app .plan-overall-wealth,#app .plan-overall-income{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
#app .plan-overall-wealth>div{display:grid;gap:10px}
#app .plan-directory-panel .field{margin:0;gap:6px}
#app .plan-directory-panel :is(input,select){min-height:42px;padding:9px 12px;font-size:16px}
#app .plan-directory-panel .plan-simple-position{padding:10px 0;gap:14px;grid-template-columns:minmax(0,1fr) minmax(240px,1fr)}
#app .plan-directory-panel .plan-simple-position .field>span{font-size:13px;font-weight:400;color:var(--muted,#637076)}
@media(min-width:801px) and (max-width:1050px){#app .plan-directory-workspace{grid-template-columns:300px minmax(0,1fr);gap:14px}}
@media(max-width:800px){#app .plan-directory-workspace{grid-template-columns:minmax(0,1fr);gap:12px}#app .plan-overall-wealth,#app .plan-overall-income{grid-template-columns:1fr}#app .plan-directory-panel .plan-simple-position{grid-template-columns:1fr}}

/* 1.0.29.39: Plan follows the compact Finance directory. */
#app .plan-extra-goals{margin:0;padding:0;border:0;background:transparent}
#app .plan-kpi-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1fr);gap:12px 20px;align-items:center;padding:12px 0;border-bottom:1px solid #dde3e3;background:transparent}
#app .plan-kpi-row>span{display:grid;gap:4px;min-width:0}
#app .plan-kpi-row b{word-break:normal;overflow-wrap:normal;font-size:17px}
#app .plan-kpi-row small{font-size:13px;color:var(--muted,#657176)}
#app .plan-kpi-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
#app .plan-kpi-controls select{width:100%;min-width:0}
#app .plan-kpi-controls .kpi-derived-value{display:flex;justify-content:space-between;align-items:center;gap:10px;background:transparent;padding:0}
#app .plan-directory-panel>h2{margin:0 0 12px;font-size:22px}
#app .plan-directory-panel .funding-plan-details{padding:0;margin:0;border:0}
#app .plan-directory-panel .funding-editor{margin:0;padding:0;border:0}
#app .plan-directory-panel .funding-edit-layout{margin:0;padding:0;min-height:0}
#app .plan-directory-panel .funding-current-summary{padding:12px;margin:0 0 12px}
#app .plan-directory-panel .assumptions-rate-card{padding:0;border:0;background:transparent}
#app .plan-directory-panel .assumptions-rate-card h2{font-size:18px;margin:8px 0}
#app .plan-simple-way .funding-chart-only{display:block;padding:0;margin:0;background:transparent;border:0}
#app .plan-simple-way .funding-chart-only .funding-preview-chart{margin:0;padding:12px;border:0;box-shadow:none}
#app .plan-simple-way .funding-chart-only figcaption small{display:none}
#app .plan-simple-way .funding-chart-only>small{display:block;padding:0 12px 12px}
#app .pro-plan .confirmed-plan-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;padding:0;background:transparent;border:0}
#app .pro-plan .confirmed-plan-journey>.confirmed-goal-summary{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:16px!important;background:#fff;border:1px solid #dde3e3;border-radius:16px}
#app .pro-plan .confirmed-goal-summary>div{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:12px 0;border-bottom:1px solid #dde3e3}
#app .pro-plan .confirmed-goal-summary>div small{flex-basis:100%;text-align:right}
#app .pro-plan .confirmed-goal-summary strong{font-size:19px;white-space:nowrap}
#app .pro-plan .confirmed-plan-core-summary{grid-column:2;grid-row:1/3;margin:0;padding:16px;background:#fff;border:1px solid #dde3e3;border-radius:16px}
#app .pro-plan .confirmed-plan-core-summary header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#app .pro-plan .confirmed-plan-core-summary h3{font-size:21px;margin:0 0 6px}
#app .pro-plan .confirmed-plan-core-grid{display:block;margin:0}
#app .pro-plan .plan-overview-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border:0;border-bottom:1px solid #dde3e3;background:transparent;border-radius:0}
#app .pro-plan .plan-overview-row b{font-size:19px;white-space:nowrap}
#app .pro-plan .confirmed-plan-core-summary>small{display:block;margin:12px 0;color:var(--muted,#657176)}
#app .pro-plan .overall-goal-interpretation{grid-column:1;padding:0;margin:0;line-height:1.5}
#app .pro-plan .confirmed-plan-journey>button,#app .pro-plan .confirmed-plan-journey>details{grid-column:1/-1;margin:0}
@media(max-width:800px){
 #app .plan-kpi-row{grid-template-columns:1fr}
 #app .pro-plan .confirmed-plan-journey{grid-template-columns:1fr}
 #app .pro-plan .confirmed-plan-core-summary{grid-column:1;grid-row:auto}
 #app .pro-plan .confirmed-goal-summary strong{white-space:normal}
}
/* Override older Plan spacing rules only within the Pro overview. */
#app main .pro-plan .confirmed-plan-journey{gap:18px!important;padding:0;border:0;background:transparent}
#app main .pro-plan .confirmed-plan-journey>.confirmed-goal-summary{padding:16px!important}
#app main .pro-plan .confirmed-plan-journey>.confirmed-plan-core-summary{padding:16px!important;border:1px solid #dde3e3!important;border-radius:16px;background:#fff!important}
#app .pro-plan .confirmed-plan-core-summary h3{font-size:21px!important}
#app .pro-plan .confirmed-goal-summary>div{flex-direction:row}
#app .pro-plan .confirmed-goal-summary span,#app .pro-plan .plan-overview-row span{font-size:15px}
#app .plan-directory-panel .assumptions-primary-card>header h3{display:none}
#app .plan-directory-panel .assumptions-primary-card>header{margin:0 0 10px}
#app .plan-directory-panel .funding-guided{gap:10px}

/* .40: one reference pattern across the complete Pro Plan. */
#app main .plan-reference-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 16px;padding:0}
#app main .plan-reference-header h1{font-size:28px;margin:0;margin-right:auto}
#app main .plan-reference-header>span{font-size:14px;color:var(--muted,#637076)}
#app main .plan-workspace-navigation{margin:0 0 12px;padding:0}
#app main .plan-workspace-breadcrumb{padding:0;margin:0 0 12px;min-height:0}
#app main .plan-section-tabs{padding:5px;gap:6px}
#app main .plan-section-tab{min-height:48px;padding:10px 14px}
#app main .plan-workspace-navigation+.process-heading{padding:0;margin:12px 0;min-height:0;align-items:center}
#app main .plan-workspace-navigation+.process-heading h1{font-size:28px;margin:0}
#app main .plan-workspace-navigation+.process-heading p{margin:4px 0;font-size:14px}
#app main .plan-workspace-navigation+.process-heading .eyebrow,#app main .plan-workspace-navigation+.process-heading .plan-step-counter{display:none}
#app main .plan-top-actions .btn{padding:10px 16px;min-height:44px}
#app main .plan-reference-overview>.confirmed-plan-core-summary{grid-row:auto;grid-column:auto}
#app main .plan-reference-overview>.confirmed-goal-summary{display:block!important}
#app main .plan-reference-overview>.confirmed-goal-summary>header,#app main .plan-reference-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#app main .plan-reference-overview h2,#app main .plan-reference-overview h3{margin:0 0 10px;font-size:20px}
#app main .plan-reference-overview>.confirmed-goal-summary>h3{margin-top:16px;font-size:17px}
#app main .plan-reference-group{background:var(--surface,#fff);border:1px solid #dde3e3;border-radius:14px;padding:16px;min-width:0}
#app main .plan-reference-row{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:10px 0!important;border-bottom:1px solid #dde3e3;background:transparent}
#app main .plan-reference-row span{min-width:0}
#app main .plan-reference-row small,#app main .plan-reference-detail summary small{display:block;font-size:13px;color:var(--muted,#637076);margin-top:3px}
#app main .plan-reference-row strong,#app main .plan-reference-detail summary strong{font-size:18px;white-space:nowrap}
#app main .plan-reference-detail{border:0;border-bottom:1px solid #dde3e3;border-radius:0;margin:0;padding:0;background:transparent}
#app main .plan-reference-detail>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px 0;list-style:none;font-size:15px}
#app main .plan-reference-detail>summary::before{content:'›';color:#244b58;font-size:22px}
#app main .plan-reference-detail[open]>summary::before{content:'⌄'}
#app main .plan-reference-detail>summary>span{flex:1;min-width:0}
#app main .plan-reference-detail summary::-webkit-details-marker{display:none}
#app main .plan-reference-body{padding:0 0 12px 24px}
#app main .plan-reference-body p{font-size:14px;margin:4px 0 10px}
#app main .plan-reference-body .btn{padding:8px 12px;font-size:14px;min-height:40px}
#app main .plan-reference-overview>.goal-driver-map,#app main .plan-reference-overview>section:last-of-type{grid-column:1/-1}
#app main .plan-purpose-summary>.purpose-goal-summary{border:0;padding:0;margin:0;background:transparent}
#app main .plan-reference-overview .income-goal-state{display:grid;grid-template-columns:1fr auto;padding:10px 0;margin:0;border:0;border-bottom:1px solid #dde3e3;gap:8px;background:transparent}
#app main .plan-reference-overview .income-goal-state header{display:none}
#app main .plan-reference-overview .income-goal-state small{font-size:13px;align-self:center}
#app main .plan-reference-overview .income-goal-state .btn{font-size:14px;min-height:40px;padding:8px 12px}
#app main .plan-simple-form .plan-directory-list,#app main .plan-simple-form .plan-directory-editor{padding:14px}
#app main .plan-directory-row{padding:12px 8px}
#app main .plan-directory-row b{font-size:16px}
#app main .plan-directory-panel>h2{font-size:20px;margin-bottom:12px}
#app main .plan-directory-panel>h3{font-size:16px;margin:14px 0 8px}
#app main .plan-directory-panel .field{margin:4px 0}
#app main .plan-overall-wealth{display:block}
#app main .plan-overall-wealth>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid #dde3e3}
#app main .plan-overall-income>div{gap:12px;margin:0}
#app main .plan-simple-form .plan-funding-workspace .funding-current-summary{padding:10px 0;border:0;border-bottom:1px solid #dde3e3;background:transparent;border-radius:0}
#app main .plan-simple-form .plan-funding-workspace .funding-basis-strip{padding:10px 0;border:0;background:transparent;border-radius:0}
#app main .plan-simple-form .plan-directory-editor>.plan-way-result{padding:12px 0 0;border:0;border-top:1px solid #dde3e3;border-radius:0;margin:14px 0 0;background:transparent}
#app main .plan-way-result h3{font-size:17px;margin:0}
#app main .plan-way-result dl{margin:8px 0;gap:12px}
#app main .plan-way-result dd{font-size:20px;margin:4px 0}
#app main .plan-simple-form .plan-funding-workspace .funding-plan-details{margin:0;padding:0}
#app main .plan-simple-form .release-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:16px;align-items:center}
#app main .plan-simple-form .funding-compact-help{font-size:13px;margin:0 0 10px}
#app main .plan-simple-form .income-editor{padding:0;border:0;background:transparent}
#app main .plan-simple-form .income-editor>.field{max-width:none;padding:8px 0;border-bottom:1px solid #dde3e3}
#app main .plan-simple-form .income-editor p,#app main .plan-simple-form .income-editor small{font-size:13px;margin:6px 0}
#app main .plan-simple-form .funding-preview-chart{padding:0!important}
#app main .plan-simple-form .funding-preview-chart svg{max-height:300px;width:100%}
#app main .plan-simple-form .funding-preview-chart details{margin:8px 0;padding:0;border:0}
#app main .plan-simple-form .funding-preview-chart details summary{padding:10px 0;font-size:15px}
#app main .plan-confirmation-form .plan-confirmation-head{display:none}
#app main .plan-confirmation-form .plan-confirmation-workspace{padding:14px;border:0;background:transparent}
#app main .plan-confirmation-form .plan-confirmation-core{gap:16px;margin-bottom:12px}
#app main .plan-confirmation-form .plan-confirmation-card{padding:10px 0;background:transparent;border:0;border-bottom:1px solid #dde3e3}
#app main .plan-confirmation-form .plan-confirmation-card header span{font-size:13px}
#app main .plan-confirmation-form .plan-confirmation-card strong{font-size:19px}
#app main .plan-confirmation-form .plan-confirmation-card .btn{font-size:14px;padding:8px 12px;min-height:40px}
#app main .plan-confirmation-form .income-goal-state{padding:12px 0;margin:0 0 12px;border:0;border-bottom:1px solid #dde3e3;background:transparent}
#app main .plan-confirmation-form .plan-comparison{padding:14px;margin:0 0 12px}
#app main .plan-confirmation-form .plan-comparison th,#app main .plan-confirmation-form .plan-comparison td{padding:10px 8px}
#app main .plan-confirmation-form .plan-comparison p{margin:6px 0 12px}
#app main .plan-footer-consent{display:flex;align-items:center;gap:10px;font-size:14px;margin-left:auto}
#app main .plan-footer-consent input{width:22px;height:22px;accent-color:#244b58;flex-shrink:0}
#app main .plan-simple-form .calibration-actions{padding:10px!important;min-height:0}
#app main .plan-simple-form .calibration-actions>.primary{margin-left:0}
#app main .plan-simple-form:not(.plan-confirmation-form) .calibration-actions>.primary{margin-left:auto}
#app main .plan-save-status{font-size:12px;margin:10px 0}
@media(max-width:800px){
 #app main .plan-reference-overview{grid-template-columns:1fr}
 #app main .plan-reference-overview>section{grid-column:1!important}
 #app main .plan-reference-header h1{font-size:24px}
 #app main .plan-reference-row,#app main .plan-reference-detail summary{flex-wrap:wrap}
 #app main .plan-overall-wealth>div,#app main .plan-simple-form .release-heading{grid-template-columns:1fr}
 #app main .plan-footer-consent{margin-left:0;flex:1 1 200px}
 #app main .plan-confirmation-form .calibration-actions>.primary{margin-left:auto}
}
#app main .plan-confirmation-form .review-target-table>article{display:flex;align-items:center;gap:16px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid #dde3e3;border-radius:0}
#app main .plan-confirmation-form .review-target-table>article>div{flex:1}
#app main .plan-confirmation-form .review-target-table small{display:none}
#app main .plan-confirmation-form .review-target-table>article>span{white-space:nowrap;font-size:14px}
#app main .plan-confirmation-form .plan-confirmation-detail-body .truth-note{padding:8px 0;margin:0 0 12px;background:transparent;border:0;font-size:13px}
#app main .plan-confirmation-form .purpose-goal-summary{margin:12px 0 0;padding:0;border:0;background:transparent}
#app main .plan-confirmation-form .purpose-goal-summary h3{font-size:17px;margin:12px 0}
#app main .plan-confirmation-form .purpose-goal-summary p{font-size:13px;margin:10px 0}
#app main .plan-reference-overview .purpose-goal-summary p{font-size:13px;margin:10px 0}
#app main .plan-reference-overview .purpose-goal-summary th,#app main .plan-reference-overview .purpose-goal-summary td{padding:10px 6px;font-size:14px}
@media(max-width:800px){#app main .plan-confirmation-form .review-target-table>article{flex-wrap:wrap}#app main .plan-confirmation-form .review-target-table>article>div{flex-basis:100%}}
#app main .plan-reference-body .target-picture-position{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;margin:0;border:0;border-bottom:1px solid #dde3e3;border-radius:0;background:transparent}
#app main .plan-reference-body .target-picture-position small{display:block;font-size:13px;color:var(--muted,#637076);margin-top:3px}
#app main .plan-reference-body .target-picture-position strong{font-size:17px;white-space:nowrap}
/* .41: compact Plan rows, readable expanded details and income-specific result. */
#app main .plan-simple-goal .goal-focus-option{display:flex;align-items:flex-start;gap:10px;min-height:0;padding:12px;flex:1 1 220px}
#app main .plan-simple-goal .goal-focus-option input{position:static!important;inset:auto!important;transform:none!important;flex:0 0 20px;width:20px;height:20px;margin:2px 0 0!important}
#app main .plan-simple-goal .goal-focus-option>span{flex:1;min-width:0;padding:0}
#app main .plan-directory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
#app main .plan-directory-row span{min-width:0}
#app main .plan-directory-row strong{max-width:120px;white-space:normal;overflow-wrap:anywhere;font-size:14px;text-align:right}
#app main .plan-directory-row small{white-space:normal;line-height:1.4}
#app main .plan-reference-driver-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;align-items:start}
#app main .plan-reference-drivers .plan-reference-detail{margin:0;min-width:0}
#app main .plan-reference-drivers summary{padding:12px 0;gap:12px;flex-wrap:wrap}
#app main .plan-reference-drivers summary strong{font-size:16px;white-space:normal}
#app main .plan-reference-drivers .plan-reference-body{padding:0 0 12px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#app main .plan-reference-drivers .plan-reference-body p{flex:1 1 220px;margin:0;font-size:13px;line-height:1.45}
#app main .plan-reference-drivers .plan-reference-body .btn{margin:0;padding:8px 12px;min-height:36px;border:1px solid #dce2e3;border-radius:9px;background:#fff;color:var(--teal,#244b58);font-size:13px;font-weight:600}
#app main .plan-purpose-summary .purpose-goal-summary{margin:0;padding:0;border:0;background:transparent}
#app main .plan-purpose-summary .table-scroll,#app main .plan-way-illustration .table-scroll{overflow-x:auto;width:100%}
#app main .plan-purpose-summary table,#app main .plan-way-illustration table{width:100%;min-width:480px;border-collapse:collapse;table-layout:fixed;font-size:14px}
#app main .plan-purpose-summary th,#app main .plan-purpose-summary td,#app main .plan-way-illustration th,#app main .plan-way-illustration td{padding:10px 12px;border-bottom:1px solid #dde3e3;text-align:right;vertical-align:top;white-space:normal;line-height:1.4}
#app main .plan-purpose-summary th:first-child,#app main .plan-way-illustration th:first-child{text-align:left}
#app main .plan-purpose-summary table th:first-child{width:22%}
#app main .plan-purpose-summary thead th,#app main .plan-way-illustration thead th{font-size:12px;color:var(--muted,#637076)}
#app main .plan-simple-form .plan-way-result{padding:12px 0 0;border:0;border-top:1px solid #dde3e3;border-radius:0;margin:14px 0 0;background:transparent}
#app main .plan-way-result dl{display:flex;flex-wrap:wrap;gap:12px 24px}
#app main .plan-way-result dl>div{flex:1 1 160px}
#app main .plan-simple-form .funding-preview-chart{margin:0!important;padding:0!important;min-height:0!important}
#app main .plan-simple-form .funding-preview-chart svg{display:block;width:100%!important;height:240px!important;max-height:240px!important;min-width:0!important;margin:0!important}
#app main .plan-simple-form .plan-directory-panel>h2{margin:0 0 12px;font-size:20px}
#app main .plan-simple-form .plan-funding-workspace,#app main .plan-simple-form .funding-editor,#app main .plan-simple-form .plan-assumptions-workspace{margin:0;padding:0;gap:12px}
#app main .plan-simple-form .funding-current-summary,#app main .plan-simple-form .funding-basis-strip{margin:0 0 8px;padding:8px 0}
#app main .plan-simple-form .calibration-steps{margin:12px 0}
#app main .plan-simple-form .calibration-head{margin:0 0 12px;padding:0;min-height:0}
#app main .plan-confirmation-form .plan-confirmation-core{gap:16px;margin:0 0 12px}
#app main .plan-confirmation-form .plan-confirmation-card{padding:0 0 10px;min-height:0}
#app main .plan-confirmation-form .plan-confirmation-detail-body{padding:12px!important}
#app main .plan-confirmation-form .plan-confirmation-detail-body h3{margin:12px 0 8px}
#app main .plan-confirmation-form .purpose-goal-summary{margin:12px 0 0}
@media(max-width:800px){#app main .plan-reference-driver-rows{grid-template-columns:1fr}#app main .plan-simple-form .funding-preview-chart svg{height:auto!important;max-height:240px!important}}
#app main .plan-workspace-navigation+.process-heading{margin:8px 0 12px!important;gap:12px;min-height:0}
#app main .plan-workspace-breadcrumb{margin:0 0 8px}
#app main .plan-section-tab{min-height:42px;padding:8px 12px}
#app main .plan-directory-panel .funding-guided{margin:0;padding:0;gap:10px}
#app main .plan-directory-panel .calibration-card{margin:0;padding:0;min-height:0;background:transparent;border:0}

/* .42: shared compact editor bar, panels and rows across all three steps. */
#app .plan-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#app main .plan-editor-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:0;min-height:44px;border:0;background:transparent}
#app main .plan-editor-bar nav{display:flex;gap:4px}
#app main .plan-editor-bar button{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer;min-height:40px;padding:8px 12px;border-radius:8px}
#app main .plan-editor-bar .plan-overview-link{padding-left:0;color:#244b58}
#app main .plan-editor-step{display:flex;gap:8px;align-items:center}
#app main .plan-editor-step small{font-size:13px;color:inherit}
#app main .plan-editor-step[aria-current="step"]{background:#0b1931;color:#fff;font-weight:700}
#app main .plan-editor-bar button:focus-visible{outline:2px solid #af853d;outline-offset:2px}
#app main .plan-simple-form{margin:0;padding-bottom:90px;gap:12px}
#app main .plan-simple-form .plan-directory-workspace{grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
#app main .plan-simple-form :is(.plan-directory-list,.plan-directory-editor,.plan-confirmation-workspace){padding:12px 16px;border:1px solid #d9e1e2;border-radius:12px;background:var(--surface,#fff);margin:0;box-shadow:none}
#app main .plan-simple-form .plan-directory-row{padding:10px 8px;gap:8px;min-height:54px;grid-template-columns:minmax(0,1fr) auto}
#app main .plan-simple-form .plan-directory-row b{font-size:15px}
#app main .plan-simple-form .plan-directory-row small{font-size:12px;white-space:normal;line-height:1.3}
#app main .plan-simple-form .plan-directory-row strong{font-size:13px;max-width:110px}
#app main .plan-simple-form .plan-directory-panel>h2{font-size:18px;line-height:1.3;margin:0 0 10px;padding:0}
#app main .plan-simple-form .plan-directory-panel h3{font-size:15px;line-height:1.3;margin:12px 0 6px}
#app main .plan-simple-form .plan-directory-panel h3 small{font-size:12px;font-weight:400;color:var(--muted)}
#app main .plan-simple-form .field{gap:4px;margin:0;min-width:0}
#app main .plan-simple-form .field>span{font-size:13px;line-height:1.3}
#app main .plan-simple-form :is(input:not([type="checkbox"]):not([type="radio"]),select){min-height:38px;padding:7px 10px;font-size:15px;background:var(--surface,#fff)}
#app main .plan-simple-form .btn{min-height:38px;padding:8px 12px;font-size:14px;line-height:1.3}
#app main .plan-simple-form :is(.plan-simple-position,.plan-kpi-row){padding:8px 0;gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:center}
#app main .plan-simple-form :is(.plan-simple-position,.plan-kpi-row) b{font-size:15px}
#app main .plan-simple-form :is(.plan-simple-position,.plan-kpi-row) small{font-size:12px;line-height:1.3}
#app main .plan-simple-form .plan-kpi-controls>small{margin:0}
#app main .plan-simple-form :is(.horizon-strip,.plan-simple-area-controls,.plan-overall-income,.plan-overall-wealth){margin:0;padding:8px 0;gap:10px;background:transparent;border:0;border-radius:0}
#app main .plan-simple-form .goal-focus-compact{margin:0;padding:0;border:0;background:transparent}
#app main .plan-simple-form .goal-focus-compact label{padding:8px 10px;min-height:38px}
#app main .plan-simple-form :is(.plan-simple-note,.funding-compact-help){font-size:12px;line-height:1.4;margin:6px 0}
#app main .plan-simple-form :is(.funding-editor,.funding-plan-details,.funding-plan-fields,.funding-edit-layout,.plan-funding-workspace){padding:0!important;margin:0!important;gap:8px;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none}
#app main .plan-simple-form .funding-default-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;margin:0;border:0;border-bottom:1px solid #d9e1e2;border-radius:0;background:transparent}
#app main .plan-simple-form .funding-default-choice>div:first-child{display:grid;gap:3px}
#app main .plan-simple-form .funding-default-choice strong{font-size:20px;margin:0;line-height:1.3}
#app main .plan-simple-form .funding-default-choice :is(small,span){font-size:12px;line-height:1.3}
#app main .plan-simple-form .funding-default-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
#app main .plan-simple-form :is(.funding-current-summary,.funding-basis-strip){display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 0;margin:0;border:0;border-bottom:1px solid #d9e1e2;border-radius:0;background:transparent}
#app main .plan-simple-form .funding-current-summary span{display:grid;gap:3px}
#app main .plan-simple-form :is(.funding-current-summary,.funding-basis-strip) b{font-size:14px}
#app main .plan-simple-form :is(.funding-current-summary,.funding-basis-strip) small{font-size:12px;margin:0;line-height:1.3}
#app main .plan-simple-form .plan-way-result{margin:8px 0 0;padding:8px 0 0}
#app main .plan-simple-form .plan-way-result h3{margin:0 0 6px}
#app main .plan-simple-form .plan-way-result dl{margin:0 0 6px;gap:12px}
#app main .plan-simple-form .plan-way-result dd{font-size:20px;margin:3px 0 0}
#app main .plan-simple-form .plan-way-result small{font-size:12px;line-height:1.3}
#app main .plan-simple-form .plan-purpose-row{margin:0;padding:0;border:0;border-bottom:1px solid #d9e1e2;border-radius:0;background:transparent}
#app main .plan-simple-form .plan-purpose-row summary{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;list-style:none}
#app main .plan-simple-form .plan-purpose-row summary::-webkit-details-marker{display:none}
#app main .plan-simple-form .plan-purpose-row summary>span{display:grid;gap:3px;flex:1}
#app main .plan-simple-form .plan-purpose-row summary small{font-size:12px;color:var(--muted);line-height:1.3}
#app main .plan-simple-form .plan-purpose-row summary strong{font-size:15px;text-align:right}
#app main .plan-simple-form .plan-purpose-row summary em{font-style:normal;font-size:13px;color:#244b58;border:1px solid #d9e1e2;padding:8px 10px;border-radius:8px}
#app main .plan-simple-form .plan-purpose-row[open] summary em{background:#edf3f3}
#app main .plan-simple-form .plan-purpose-fields{padding:0 0 10px;display:grid;gap:8px}
#app main .plan-simple-form .plan-confirmation-core{display:block;padding:0;margin:0;border:0}
#app main .plan-simple-form .plan-confirmation-card{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:4px 12px;border:0;border-bottom:1px solid #d9e1e2;padding:8px 0;margin:0;background:transparent;border-radius:0}
#app main .plan-simple-form .plan-confirmation-card header{display:contents}
#app main .plan-simple-form .plan-confirmation-card header>span{grid-column:1;grid-row:1 / span 2;font-size:13px;text-transform:none;letter-spacing:0}
#app main .plan-simple-form .plan-confirmation-card header>.btn{grid-column:3;grid-row:1 / span 2}
#app main .plan-simple-form .plan-confirmation-card>strong{grid-column:2;grid-row:1;font-size:16px;line-height:1.3;margin:0}
#app main .plan-simple-form .plan-confirmation-card>small{grid-column:2;grid-row:2;font-size:12px;line-height:1.3;margin:0}
#app main .plan-simple-form .plan-comparison{padding:10px 0;margin:0;background:transparent;border:0;border-radius:0}
#app main .plan-simple-form .plan-comparison h3{font-size:16px;margin:0 0 4px}
#app main .plan-simple-form .plan-comparison p{font-size:12px;margin:0 0 6px}
#app main .plan-simple-form .plan-comparison :is(th,td){font-size:14px;padding:8px 10px;line-height:1.3}
#app main .plan-simple-form .plan-comparison th small{font-size:11px;margin:2px 0 0}
#app main .plan-simple-form .plan-comparison>small{font-size:12px;margin-top:6px;display:block}
#app main .plan-simple-form .income-goal-state{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;margin:0;border:0;border-top:1px solid #d9e1e2;border-radius:0;background:transparent}
#app main .plan-simple-form .income-goal-state header{display:flex;align-items:center;gap:12px;grid-column:1;margin:0}
#app main .plan-simple-form .income-goal-state header span{font-size:12px}
#app main .plan-simple-form .income-goal-state header b{font-size:16px}
#app main .plan-simple-form .income-goal-state>small{font-size:12px;line-height:1.3;grid-column:1}
#app main .plan-simple-form .income-goal-state>.btn{grid-column:2;grid-row:1 / span 2;align-self:center}
#app main .plan-simple-form .plan-confirmation-details{margin:6px 0 0;border:0;border-top:1px solid #d9e1e2;border-radius:0}
#app main .plan-simple-form .plan-confirmation-details>summary{padding:10px 0;min-height:0;font-size:14px}
#app main .plan-simple-form .plan-confirmation-details>summary small{display:none}
#app main .plan-simple-form .plan-confirmation-detail-body{padding:8px 0;margin:0;display:block}
#app main .plan-simple-form .plan-confirmation-detail-body :is(section,article,.analysis-section,.purpose-goal-summary,.review-target-row){margin:0 0 8px;padding:0;background:transparent;border:0;border-radius:0;min-height:0}
#app main .plan-simple-form .plan-confirmation-detail-body h3{font-size:15px;margin:8px 0}
#app main .plan-simple-form .plan-confirmation-detail-body table{width:100%;border-collapse:collapse;font-size:14px}
#app main .plan-simple-form .plan-confirmation-detail-body :is(th,td){padding:8px 10px;border-bottom:1px solid #d9e1e2;text-align:right;font-size:14px}
#app main .plan-simple-form .plan-confirmation-detail-body :is(th,td):first-child{text-align:left}
#app main .plan-simple-form .plan-confirmation-detail-body :is(p,small){font-size:12px;line-height:1.4;margin:6px 0}
#app main .plan-simple-form .plan-way-illustration{margin:10px 0 0;padding:0}
#app main .plan-simple-form .plan-way-illustration>.plan-simple-detail{padding:0;margin:0 0 8px}
#app main .plan-simple-form .plan-way-illustration .plan-simple-detail>summary{min-height:0;padding:10px 14px;font-size:14px}
#app main .plan-simple-form .funding-preview-chart svg{height:auto!important;max-height:none!important;aspect-ratio:900 / 200;width:100%!important}
#app main .plan-simple-form .funding-year-values :is(th,td){padding:5px 10px;font-size:13px;line-height:1.3;border-bottom:1px solid #d9e1e2}
#app main .plan-simple-form .funding-year-values table{margin:0;width:100%;border-collapse:collapse}
#app main .plan-simple-form .calibration-actions{gap:10px;padding:8px!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
#app main .plan-simple-form .plan-footer-consent{font-size:12px;line-height:1.3;gap:8px}
#app main .plan-simple-form #target-message:empty{display:none}
#app main .plan-simple-form .plan-save-status{font-size:12px;margin:6px 0}
@media(max-width:800px){
 #app main .plan-editor-bar{flex-wrap:wrap;gap:4px 12px}
 #app main .plan-editor-bar nav{order:3;flex-basis:100%}
 #app main .plan-editor-bar nav .plan-editor-step{flex:1;justify-content:center}
 #app main .plan-simple-form .plan-directory-workspace{grid-template-columns:1fr}
 #app main .plan-simple-form :is(.plan-simple-position,.plan-kpi-row){grid-template-columns:minmax(0,1fr) minmax(160px,1fr)}
 #app main .plan-simple-form .funding-default-choice{flex-wrap:wrap}
 #app main .plan-simple-form .plan-confirmation-card{grid-template-columns:80px minmax(0,1fr) auto}
}
@media(max-width:520px){
 #app main .plan-simple-form :is(.plan-simple-position,.plan-kpi-row){grid-template-columns:1fr}
 #app main .plan-simple-form .plan-confirmation-card{grid-template-columns:1fr auto}
 #app main .plan-simple-form .plan-confirmation-card header>span{grid-column:1;grid-row:1}
 #app main .plan-simple-form .plan-confirmation-card>strong{grid-column:1;grid-row:2}
 #app main .plan-simple-form .plan-confirmation-card>small{grid-column:1;grid-row:3}
 #app main .plan-simple-form .plan-confirmation-card header>.btn{grid-column:2;grid-row:1 / span 3}
 #app main .plan-simple-form .income-goal-state{grid-template-columns:1fr}
 #app main .plan-simple-form .income-goal-state>.btn{grid-column:1;grid-row:auto;justify-self:start}
 #app main .plan-simple-form .plan-purpose-row summary{flex-wrap:wrap}
 #app main .plan-simple-form .plan-purpose-row summary>span{flex-basis:100%}
}
#app main .plan-simple-form .plan-confirmation-detail-body{padding:8px 0!important}
#app main .plan-simple-form .plan-confirmation-workspace{min-height:0}
#app main .plan-simple-form .plan-confirmation-detail-body .review-target-table{margin:0;padding:0}
#app main .plan-simple-form .plan-confirmation-detail-body .review-target-table>article{padding:8px 0;border-bottom:1px solid #d9e1e2;gap:12px;align-items:center}
#app main .plan-simple-form .plan-confirmation-detail-body .review-target-table b{font-size:14px}
#app main .plan-simple-form .plan-confirmation-card{padding:8px 0!important;grid-template-rows:auto auto}

/* v1.0.29.43: common compact rows for Plan and all Review horizons. */
#app main .plan-editor-bar{display:grid;grid-template-columns:1fr minmax(300px,420px) 1fr;gap:12px;min-height:40px;margin:8px 0}
#app main .plan-editor-bar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
#app main .plan-editor-bar .plan-editor-step{justify-content:center;font-weight:650;padding:6px 10px}
#app main .plan-editor-bar>.guide-topic-link{justify-self:end}
#app main .plan-editor-bar .plan-overview-link{justify-self:start}
#app main .plan-simple-form{padding-bottom:100px}
#app main .plan-simple-form .plan-directory-workspace{grid-template-columns:300px minmax(0,1fr);gap:12px}
#app main .plan-simple-form .plan-directory-row{padding:8px 10px;min-height:52px;gap:6px}
#app main .plan-simple-form .plan-directory-row b{font-size:14px;line-height:1.25}
#app main .plan-simple-form .plan-directory-row small{font-size:11px;line-height:1.3}
#app main .plan-simple-form .plan-directory-row strong{font-size:12px;max-width:90px}
#app main .plan-simple-form .plan-directory-panel>h3{font-size:14px;margin:10px 0 4px}
#app main .plan-simple-form :is(.plan-overall-income,.plan-overall-wealth){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 0;align-items:start}
#app main .plan-simple-form :is(.plan-overall-income,.plan-overall-wealth)>.form-grid{display:contents}
#app main .plan-simple-form :is(.plan-overall-income,.plan-overall-wealth) .field{gap:4px;margin:0}
#app main .plan-simple-form .goal-focus-selector{padding:8px 0;margin:0;border:0;box-shadow:none}
#app main .plan-simple-form .goal-focus-selector>header{margin:0 0 6px;padding:0}
#app main .plan-simple-form .goal-focus-selector>header h2{font-size:14px;margin:0}
#app main .plan-simple-form .goal-focus-selector>header :is(p,.eyebrow,.status){display:none}
#app main .plan-simple-form .goal-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#app main .plan-simple-form .goal-focus-option{display:flex;align-items:flex-start;padding:8px;min-height:0;gap:8px}
#app main .plan-simple-form .goal-focus-option span{display:grid;gap:3px}
#app main .plan-simple-form .goal-focus-option b{font-size:13px}
#app main .plan-simple-form .goal-focus-option small{font-size:11px;line-height:1.3}
#app main .plan-simple-form .goal-focus-option em{display:none}
#app main .plan-simple-form .plan-kpi-controls>small:empty{display:none}
#app main .plan-simple-form .funding-edit-layout.custom-plan{display:block}
#app main .plan-simple-form .funding-plan-fields{display:block}
#app main .plan-simple-form .funding-monthly-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);align-items:center;gap:4px 12px;margin:0;padding:8px 0;border-bottom:1px solid #d9e1e2}
#app main .plan-simple-form .funding-monthly-field>small{grid-column:1/-1;font-size:12px;line-height:1.3;margin:0}
#app main .plan-simple-form .funding-schedule-editor{padding:0;margin:0;border:0;border-bottom:1px solid #d9e1e2;background:transparent}
#app main .plan-simple-form .funding-schedule-editor>summary{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:12px;cursor:pointer;font-size:14px}
#app main .plan-simple-form .funding-schedule-editor>summary span{font-size:12px;color:var(--muted)}
#app main .plan-simple-form .funding-changes-table :is(th,td){font-size:13px;padding:6px 8px}
#app main .plan-simple-form .funding-changes-table .field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#app main .plan-simple-form .funding-schedule-actions{margin:6px 0;padding:0}
#app main .plan-simple-form .funding-basis-strip>small{flex-basis:100%}
#app main .plan-simple-form .funding-preview-chart{margin:0;padding:0}
#app main .plan-simple-form .plan-way-illustration .funding-preview-chart svg{max-height:220px!important}
#app main .plan-reference-drivers>summary{padding:8px 0;cursor:pointer;font-size:16px;font-weight:650}
#app main .review-workspace{display:grid;gap:10px!important}
#app main .review-compact-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;margin:4px 0}
#app main .review-compact-header h1{font-size:26px;line-height:1.2;margin:0}
#app main .review-compact-header>span{font-size:13px;color:var(--muted)}
#app main .review-workspace .review-horizon-nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;margin:0}
#app main .review-workspace .review-horizon-tab{min-height:38px;padding:8px 12px;justify-content:center;font-size:14px}
#app main .review-workspace .review-horizon-tab>span{font-size:14px;font-weight:650}
#app main .review-workspace .review-horizon-tab>small{display:none}
#app main .review-workspace .review-horizon-context{display:flex;justify-content:flex-end;min-height:0;padding:0;margin:0}
#app main .review-workspace .review-horizon-context .guide-topic-link{font-size:12px;margin:0;padding:0}
#app main .review-workspace .review-horizon-panel{display:grid;gap:10px;padding:0;margin:0}
#app main .review-workspace .review-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0;margin:0;padding:0}
#app main .review-workspace .review-panel-head h2{font-size:16px;margin:0;line-height:1.3}
#app main .review-workspace .review-panel-head .eyebrow{display:none}
#app main .review-workspace .review-available-months{font-size:12px;color:var(--muted)}
#app main .review-workspace .review-horizon-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:8px 0;background:#fff;border:1px solid var(--line);border-radius:12px}
#app main .review-workspace .review-horizon-kpi{padding:4px 12px;margin:0;min-height:0;gap:4px;border:0;border-right:1px solid var(--line);background:transparent;border-radius:0;box-shadow:none}
#app main .review-workspace .review-horizon-kpi:last-child{border-right:0}
#app main .review-workspace .review-horizon-kpi>span{font-size:12px;line-height:1.25}
#app main .review-workspace .review-horizon-kpi strong{font-size:22px;line-height:1.25;margin:0}
#app main .review-workspace .review-horizon-kpi small{font-size:11px;line-height:1.3;margin:0}
#app main .review-workspace :is(.review-visual-card,.review-month-verdict){padding:12px 14px;min-height:0;margin:0;gap:8px}
#app main .review-workspace .review-visual-card>header{margin:0 0 8px;padding:0;align-items:center}
#app main .review-workspace .review-visual-card h3{font-size:16px;line-height:1.3;margin:0}
#app main .review-workspace .review-sankey-card>header .eyebrow{display:none}
#app main .review-workspace .review-sankey-actions>.review-visual-status{display:none}
#app main .review-workspace .review-month-main{grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:12px;align-items:start}
#app main .review-workspace .review-month-verdict{display:grid;background:#fff}
#app main .review-workspace .review-month-verdict>p{font-size:13px;line-height:1.45;margin:0}
#app main .review-workspace .review-month-verdict>small{font-size:12px;line-height:1.4}
#app main .review-workspace .review-sankey-card .confirmed-flow-map{margin:0;padding:0}
#app main .review-workspace .review-sankey-card .confirmed-flow-map.detailed svg{min-height:0!important;max-height:300px!important;height:auto;margin:4px 0}
#app main .review-workspace .flow-semantic-key{font-size:11px;padding:6px 8px;margin:0}
#app main .review-workspace :is(.review-detail-stack,.pcms-detail-panel){padding:0;margin:0;border-radius:10px;scroll-margin-top:100px}
#app main .review-workspace :is(.review-detail-stack,.pcms-detail-panel)>summary{padding:10px 14px;min-height:0;font-size:14px}
#app main .review-workspace .review-detail-stack[open]>*:not(summary){margin:8px 12px}
#app main .review-workspace .monthly-bridge{padding:10px 0;border:0;background:transparent;border-radius:0}
#app main .review-workspace .monthly-bridge header{margin:0 0 8px}
#app main .review-workspace .monthly-bridge h2{font-size:16px;margin:0}
#app main .review-workspace .monthly-bridge-flow{gap:4px}
#app main .review-workspace .monthly-bridge-flow article{padding:8px;min-height:0;gap:4px}
#app main .review-workspace .monthly-bridge-flow b{font-size:16px}
#app main .review-workspace .monthly-bridge :is(p,small){font-size:12px;line-height:1.4;margin:6px 0}
#app main .review-workspace .driver-impact-compact{padding:8px 0;border:0;border-radius:0;background:transparent}
#app main .review-workspace .driver-impact-compact h2{font-size:16px;margin:0}
#app main .review-workspace .driver-impact-compact header :is(p,small){font-size:12px;line-height:1.4;margin:4px 0}
#app main .review-workspace .driver-impact-compact>ul{display:block;padding:0;margin:6px 0}
#app main .review-workspace .driver-impact-compact>ul>li{display:grid;grid-template-columns:minmax(170px,1.2fr) 150px minmax(0,2fr);gap:3px 12px;padding:8px 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:0}
#app main .review-workspace .driver-impact-compact li>b{grid-column:1;grid-row:1;font-size:14px}
#app main .review-workspace .driver-impact-compact li>span{grid-column:1;grid-row:2;font-size:10px}
#app main .review-workspace .driver-impact-compact li>strong{grid-column:2;grid-row:1/3;font-size:16px;align-self:center}
#app main .review-workspace .driver-impact-compact li>small{grid-column:3;grid-row:1/3;font-size:12px;line-height:1.35;align-self:center}
#app main .review-workspace .driver-impact-compact .driver-evidence-action{grid-column:3;margin:2px 0;justify-self:start;min-height:32px;font-size:12px}
#app main .review-workspace .review-month{padding:8px 0;margin:0;gap:10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#app main .review-workspace .review-history{padding:4px 0;border:0;background:transparent}
#app main .review-workspace .review-development-panel .review-short-main{grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:12px}
#app main .review-workspace .snapshot-timeline-workspace>header{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:0}
#app main .review-workspace .snapshot-timeline-workspace>header>div{flex:1 1 100%;margin:0}
#app main .review-workspace .snapshot-timeline-workspace>header>div h2{font-size:16px;margin:0}
#app main .review-workspace .snapshot-timeline-workspace>header :is(.eyebrow,p){display:none}
#app main .review-workspace .snapshot-timeline-workspace>header>label{flex:1 1 160px;gap:3px;margin:0}
#app main .review-workspace .snapshot-timeline-workspace>header>label span{font-size:12px}
#app main .review-workspace .snapshot-timeline-workspace>header select{min-height:36px;padding:6px 10px;font-size:13px}
#app main .review-workspace .snapshot-timeline{min-height:0!important;max-height:240px!important;height:auto;width:100%}
#app main .review-workspace .timeline-legend{font-size:12px;margin:6px 0}
#app main .review-workspace .timeline-source-note{font-size:11px;line-height:1.35;margin:6px 0}
#app main .review-workspace .review-development-aside{gap:8px}
#app main .review-workspace .review-development-aside h3{font-size:15px}
#app main .review-workspace .review-development-aside .eyebrow{display:none}
#app main .review-workspace :is(.review-target-layout){display:block;margin:0}
#app main .review-workspace .review-target-area-switch{padding:4px;gap:4px;margin:0}
#app main .review-workspace .review-target-area-switch button{min-height:38px;padding:8px;font-size:14px;font-weight:650}
#app main .review-workspace .review-long-chart svg{min-height:0!important;max-height:220px!important;height:auto;width:100%}
#app main .review-workspace .review-long-legend{font-size:12px;gap:12px;margin:4px 0}
#app main .review-workspace .review-target-explanation{padding:0;margin:8px 0 0;border:0;background:transparent;box-shadow:none;border-radius:0}
#app main .review-workspace .review-target-explanation>summary{cursor:pointer;font-size:13px;font-weight:650;padding:6px 0}
#app main .review-workspace .review-target-explanation p{font-size:12px;margin:6px 0}
#app main .review-workspace .income-goal-state{display:grid;grid-template-columns:1fr auto;padding:10px 14px;gap:4px 12px;margin:0}
#app main .review-workspace .income-goal-state header{grid-column:1;margin:0;display:flex;flex-wrap:wrap;gap:8px}
#app main .review-workspace .income-goal-state header :is(span,b){font-size:13px}
#app main .review-workspace .income-goal-state>small{grid-column:1;font-size:12px;line-height:1.35}
#app main .review-workspace .income-goal-state>.btn{grid-column:2;grid-row:1/3;align-self:center}
#app main .review-workspace :is(.review-overall-note,.review-overall-note p){margin:0;font-size:12px;line-height:1.4}
#app main .review-workspace :is(th,td){padding:6px 10px;font-size:13px;line-height:1.35}
#app main .review-workspace .review-workspace-footer{padding:4px 0;margin:0;min-height:0}
#app main .review-workspace .review-workspace-footer .guide-topic-link{font-size:12px}
#app main .review-workspace .btn{min-height:36px;padding:7px 10px;font-size:13px}
@media(max-width:800px){
 #app main .plan-editor-bar{grid-template-columns:1fr auto}
 #app main .plan-editor-bar nav{grid-column:1/-1;grid-row:2}
 #app main .plan-simple-form .plan-directory-workspace{grid-template-columns:1fr}
 #app main .review-workspace :is(.review-month-main,.review-development-panel .review-short-main){grid-template-columns:1fr}
 #app main .review-workspace .review-horizon-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app main .review-workspace .driver-impact-compact>ul>li{grid-template-columns:minmax(0,1fr) 140px}
 #app main .review-workspace .driver-impact-compact li>small{grid-column:1/-1;grid-row:3}
 #app main .review-workspace .driver-impact-compact .driver-evidence-action{grid-column:1/-1}
}
@media(max-width:520px){
 #app main .plan-simple-form :is(.plan-overall-income,.plan-overall-wealth,.goal-focus-grid){grid-template-columns:1fr}
 #app main .review-workspace .review-compact-header h1{font-size:22px}
 #app main .review-workspace .review-target-area-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #app main .review-workspace .income-goal-state{grid-template-columns:1fr}
 #app main .review-workspace .income-goal-state>.btn{grid-column:1;grid-row:3;justify-self:start}
}

#app main .review-workspace .review-model-note { display:block; font-size:11px; color:var(--muted); margin:4px 0; }

/* v1.0.29.44: shared navigation, balanced panels and compact detail rows. */
#app main .pro-plan{gap:10px;padding-top:0}
#app main .pro-plan .plan-reference-header{margin:4px 0;gap:12px}
#app main .pro-plan .plan-reference-header h1{font-size:26px;line-height:1.2}
#app main .plan-editor-bar{padding:0;margin:6px 0 10px;min-height:40px}
#app main .plan-navigation-label{font-size:14px;font-weight:650;color:var(--muted)}
#app main .plan-editor-bar .plan-editor-step{min-height:40px;border-radius:8px;font-size:14px}
#app main .plan-reference-overview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
#app main .plan-reference-overview>.plan-reference-secondary{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;align-items:start}
#app main .plan-reference-overview>.plan-reference-drivers{grid-column:1/-1}
#app main .plan-reference-overview :is(.confirmed-goal-summary,.confirmed-plan-core-summary,.plan-reference-group){padding:12px 14px;margin:0;min-width:0}
#app main .plan-reference-overview :is(h2,h3){font-size:17px;margin:0 0 6px}
#app main .plan-reference-overview :is(.plan-reference-row,.plan-overview-row){padding:8px 0!important;gap:10px}
#app main .plan-reference-overview :is(.plan-reference-row strong,.plan-overview-row b){font-size:17px}
#app main .plan-reference-overview .plan-reference-detail>summary{padding:9px 0;font-size:14px}
#app main .plan-reference-overview .purpose-goal-summary :is(th,td){padding:7px 4px;font-size:12px;white-space:normal}
#app main .plan-reference-overview .purpose-goal-summary table{min-width:0;width:100%;table-layout:auto}
#app main .plan-reference-overview .purpose-goal-summary p{font-size:12px;line-height:1.4;margin:8px 0 0}
#app main .plan-simple-form .plan-directory-workspace{grid-template-columns:280px minmax(0,1fr)}
#app main .plan-simple-form .plan-directory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
#app main .plan-simple-form .plan-directory-row strong{font-size:12px;max-width:115px;text-align:right;white-space:normal}
#app main .plan-simple-form .plan-directory-row strong:empty{display:none}
#app main .plan-simple-form .plan-directory-panel{padding:12px 14px}
#app main .plan-simple-form .plan-directory-panel>h2{font-size:18px;line-height:1.3;margin:0 0 8px}
#app main .plan-simple-form .funding-default-choice{padding:6px 0 8px;gap:12px;align-items:center}
#app main .plan-simple-form .funding-default-choice strong{font-size:22px;margin:0}
#app main .plan-simple-form .funding-default-choice :is(small,span){font-size:12px;line-height:1.35}
#app main .plan-simple-form .funding-default-actions{gap:6px}
#app main .plan-simple-form .funding-default-actions .btn{font-size:12px;padding:7px 10px;min-height:36px}
#app main .plan-simple-form .funding-default-actions .btn:disabled{opacity:1;border-color:var(--line);background:#eef3f3;color:#244b58}
#app main .plan-simple-form .funding-basis-strip{padding:8px 0;gap:4px}
#app main .plan-simple-form .funding-basis-strip>small{font-size:12px;line-height:1.35}
#app main .plan-simple-form .plan-way-result{margin:10px 0 0;padding:8px 0 0}
#app main .plan-simple-form .plan-way-result h3{font-size:15px;margin:0 0 6px}
#app main .plan-simple-form .plan-way-result dd{font-size:20px;line-height:1.25}
#app main .plan-simple-form .plan-way-result dt{font-size:12px}
#app main .plan-simple-form .plan-way-result dl{gap:8px;margin:0 0 6px}
#app main .plan-simple-form .kpi-derived-value{border:0;background:transparent;padding:0;display:flex;align-items:baseline;gap:8px}
#app main .plan-simple-form .kpi-derived-value span{font-size:12px}
#app main .plan-simple-form .kpi-derived-value b{font-size:17px;white-space:nowrap}
#app main .plan-simple-form .plan-kpi-controls>small{font-size:11px;margin:0}
#app main .plan-simple-form .plan-assumptions-workspace{gap:8px}
#app main .plan-simple-form .plan-assumptions-workspace :is(h3,p){margin:4px 0;font-size:13px;line-height:1.4}
#app main .plan-simple-form .income-editor>.field{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,55%);gap:4px 12px;align-items:center;padding:8px 0;margin:0;border-bottom:1px solid var(--line)}
#app main .plan-simple-form .income-editor>.field>small{grid-column:1/-1;font-size:12px;line-height:1.35}
#app main .plan-simple-form .income-editor>p{margin:6px 0;font-size:12px;line-height:1.4;padding:0;background:none;border:0}
#app main .plan-simple-form .plan-way-illustration .funding-preview-chart svg{max-height:185px!important;aspect-ratio:auto}
#app main .plan-simple-form .plan-way-illustration :is(th,td){padding:6px 10px;font-size:13px}
#app main .plan-simple-form .plan-way-illustration :is(table,.table-scroll){min-width:0;width:100%}
#app main .plan-simple-form .plan-way-illustration h3{font-size:15px;margin:8px 0 4px}
#app main .review-workspace .review-compact-header>span{margin-left:auto}
#app main .review-workspace .review-compact-header>.guide-topic-link{font-size:12px;padding:0;margin:0;min-height:32px}
#app main .review-workspace .review-month-main{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}
#app main .review-workspace .review-sankey-card .confirmed-flow-map.detailed svg{max-height:260px!important}
#app main .review-workspace .review-development-panel .review-short-main{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}
#app main .review-workspace .review-flow-bars{margin:6px 0}
#app main .review-workspace .review-flow-legend{gap:6px 12px;font-size:12px;line-height:1.4}
#app main .review-workspace .review-development-aside h3{font-size:15px;line-height:1.3}
#app main .review-workspace .review-development-aside .review-visual-status{display:none}
#app main .review-workspace .review-development-source{min-width:0}
#app main .review-workspace .timeline-data-table td>small{display:block;margin-top:3px;font-size:11px;line-height:1.3}
#app main .review-workspace .driver-structure-role.compact{display:inline;margin-left:6px;font-size:10px;color:var(--muted)}
#app main .review-workspace .driver-impact-open{display:none}
#app main .review-workspace .review-long-chart svg{max-height:185px!important}
#app main .review-workspace .review-target-panel>.review-panel-head>.status{display:none}
#app main .review-workspace .review-date-label{font-size:11px;fill:#3c5260}
#app main .review-workspace .review-debt-comparison text{font-size:12px;font-weight:700;fill:#94702e}
#app main .review-workspace .review-debt-dates{font-size:12px;line-height:1.4;display:flex;gap:8px 20px;flex-wrap:wrap;margin:4px 0}
@media(max-width:900px){
 #app main .plan-simple-form .plan-directory-workspace{grid-template-columns:240px minmax(0,1fr)}
 #app main .plan-reference-overview>.plan-reference-secondary{grid-template-columns:1fr}
 #app main .review-workspace .review-development-panel .review-short-main{grid-template-columns:1fr}
}
@media(max-width:800px){
 #app main .plan-simple-form .plan-directory-workspace{grid-template-columns:1fr}
 #app main .plan-reference-overview{grid-template-columns:1fr}
 #app main .plan-reference-overview>.plan-reference-secondary{grid-column:1!important}
 #app main .review-workspace .review-month-main{grid-template-columns:1fr}
}
@media(max-width:520px){
 #app main .plan-simple-form .income-editor>.field{grid-template-columns:1fr}
 #app main .review-workspace .review-compact-header{flex-wrap:wrap}
 #app main .review-workspace .review-compact-header>span{font-size:12px}
 #app main .plan-simple-form .kpi-derived-value{flex-wrap:wrap}
}

#app main .plan-simple-form .plan-assumptions-workspace .assumptions-primary-card{padding:0;border:0;background:transparent}
#app main .plan-simple-form .plan-assumptions-workspace .assumptions-primary-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px;padding:0}
#app main .plan-simple-form .plan-assumptions-workspace .assumption-rate-grid{margin:6px 0 0;gap:0 16px}
#app main .plan-simple-form .plan-assumptions-workspace .assumption-rate-card{padding:8px 0;min-height:0}
#app main .plan-simple-form .plan-assumptions-workspace .assumption-rate-card :is(b,strong){font-size:14px}
#app main .plan-simple-form .plan-assumptions-workspace .assumption-state{font-size:12px}
#app main .plan-reference-overview>section.confirmed-plan-core-summary{grid-column:auto;grid-row:auto}
@media(max-width:800px){#app main .plan-reference-overview>section.confirmed-plan-core-summary{grid-column:1!important}}

/* v1.0.29.45: screenshot audit — clear actions and compact, legible rows. */
#app main.content:has(.plan-editor-bar,.review-workspace){padding-top:16px}
#app main .plan-editor-bar{position:sticky;top:var(--plan-shell-offset,100px);z-index:15;background:var(--paper,#f5f1e8);padding:6px 0;margin:0 0 8px}
#app main .plan-editor-bar nav{grid-column:2;grid-row:1;order:0;padding:3px;gap:5px;border-radius:10px;background:#e8eeee;border:1px solid #d9e1e2}
#app main .plan-editor-bar button.plan-editor-step{border:1px solid #ccd7d9;background:#fff;color:#10213a;border-radius:7px;min-height:40px;padding:7px 12px;box-shadow:0 1px 1px #10213a08}
#app main .plan-editor-bar button.plan-editor-step[aria-current="step"]{background:#0b1931;border-color:#0b1931;color:#fff}
#app main .plan-editor-bar button.plan-editor-step:not([aria-current]):hover{background:#f2f6f6;border-color:#789299}
#app main .plan-editor-bar button:focus-visible{outline:3px solid #af853d;outline-offset:2px}
#app main .plan-simple-form :is(input,select,details){scroll-margin-top:200px}
#app main .pro-plan .plan-reference-header{margin:0;min-height:0}
#app main .plan-reference-overview{gap:10px}
#app main .plan-reference-overview>.plan-reference-secondary{gap:10px}
#app main .plan-reference-overview .target-picture-position{padding:7px 0}
#app main .target-picture-position-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;min-width:0}
#app main .plan-reference-body .target-picture-position-label small{display:inline;margin:0;font-size:12px}
#app main .plan-area-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--line)}
#app main .plan-area-detail-actions>span{font-size:12px;color:var(--muted)}
#app main .plan-reference-overview .plan-purpose-summary th:first-child{width:27%}
#app main .plan-reference-overview .plan-purpose-summary table{table-layout:auto}
#app main .plan-reference-drivers .plan-reference-detail>summary{padding:7px 0}
#app main .plan-reference-drivers .plan-reference-detail>summary>span{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:baseline}
#app main .plan-reference-drivers .plan-reference-detail summary small{display:inline;margin:0;font-size:11px}
#app main .plan-simple-form .plan-directory-list{padding:8px}
#app main .plan-simple-form .plan-directory-editor{padding:0}
#app main .plan-simple-form .plan-directory-row{border:1px solid #d9e1e2;background:#fff;margin:0 0 5px;min-height:48px;border-radius:8px}
#app main .plan-simple-form .plan-directory-row[aria-pressed="true"]{background:#eef3f3;border-color:#789299;box-shadow:inset 3px 0 #244b58}
#app main .plan-simple-form .plan-directory-row:focus-visible{outline:3px solid #af853d;outline-offset:2px}
#app main .plan-simple-form .plan-kpi-controls{grid-template-columns:minmax(130px,1fr) minmax(120px,1fr);gap:4px 8px;align-items:center}
#app main .plan-simple-form .plan-kpi-controls>small{grid-column:1/-1}
#app main .plan-simple-form .plan-kpi-controls>small:empty{display:none}
#app main .plan-simple-form .plan-kpi-controls:has(.kpi-derived-value){grid-template-columns:1fr}
#app main .plan-simple-form .funding-default-choice{padding:0 0 8px}
#app main .funding-edit-title{font-size:15px;line-height:1.3}
#app main .plan-simple-form .funding-incomplete-note{margin:6px 0;padding:8px 10px;border-left:3px solid #af853d;background:#faf6eb;font-size:13px;line-height:1.4}
#app main .plan-simple-form .funding-changes-table :is(th,td){vertical-align:top;padding:6px}
#app main .plan-simple-form .funding-changes-table th:first-child{min-width:155px}
#app main .plan-simple-form .funding-changes-table .inline-message{display:block;margin:4px 0 0;padding:0;color:#785e27;font-size:12px;line-height:1.35}
#app main .plan-simple-form .funding-date-hint{display:block;margin-top:3px;color:var(--muted);font-size:12px}
#app main .plan-simple-form input[type="month"]{min-width:150px;min-height:40px}
#app main .plan-simple-form .assumptions-primary-card>header{margin:0;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
#app main .plan-simple-form .assumptions-primary-card>header h3{margin:0}
#app main .review-workspace .review-month-verdict>.btn{border:1px solid #ccd7d9;background:#fff;color:#244b58;justify-self:start;font-weight:650}
#app main .review-workspace .review-sankey-card .confirmed-flow-map.detailed svg{max-height:none!important;width:100%;height:auto;min-height:0!important}
#app main .review-workspace .review-sankey-card .sankey-node-label{font-size:18px}
#app main .review-workspace .review-sankey-card .sankey-node-value{font-size:19px}
#app main .review-workspace .review-sankey-card .flow-center-label{font-size:18px}
#app main .review-workspace .review-sankey-card .flow-center-value{font-size:20px}
#app main .review-workspace .review-flow-bars>div{grid-template-columns:135px minmax(80px,1fr) 110px;gap:8px}
#app main .review-workspace .review-flow-bars>div>b{white-space:nowrap;font-size:12px}
#app main .review-workspace .review-long-chart svg{max-height:none!important;height:auto;width:100%}
#app main .review-workspace .review-date-label{font-size:14px}
#app main .review-workspace .review-long-chart .axis{font-size:14px}
#app main .review-workspace .review-long-chart :is(.actual,.forecast,.target) text{font-size:15px}
#app main .review-workspace .review-long-main{padding:10px 14px}
#app main .review-workspace .review-long-legend{margin:0 0 4px}
#app main .review-workspace .review-development-source :is(th,td){vertical-align:top}
#app main .review-workspace .review-point-quality .timeline-quality{font-size:11px}
#app main .review-workspace .review-development-source td:last-child{white-space:nowrap}
@media(max-width:900px){
 #app main .plan-editor-bar{grid-template-columns:minmax(110px,1fr) minmax(290px,1.6fr) auto;gap:8px}
 #app main .plan-editor-bar nav{grid-column:2;grid-row:1}
 #app main .plan-simple-form .plan-kpi-row{grid-template-columns:1fr}
 #app main .plan-simple-form .plan-kpi-controls{grid-template-columns:minmax(130px,1fr) minmax(120px,1fr)}
}
@media(max-width:600px){
 #app main .plan-editor-bar{grid-template-columns:1fr auto}
 #app main .plan-editor-bar nav{grid-column:1/-1;grid-row:2}
 #app main .plan-editor-bar button.plan-editor-step{padding:7px 8px}
 #app main .plan-simple-form .plan-kpi-controls{grid-template-columns:1fr}
 #app main .review-workspace .review-flow-bars>div{grid-template-columns:115px minmax(60px,1fr) 95px;gap:6px}
 #app main .review-workspace .review-flow-bars>div>b{font-size:11px}
 #app main .plan-reference-overview .plan-purpose-summary{grid-column:1}
}

/* v1.0.29.46: compact funding and consistent review detail rows. */
#app main .plan-simple-form .funding-plan-fields{gap:8px}
#app main .plan-simple-form .funding-default-choice{padding-bottom:6px;margin-bottom:0}
#app main .plan-simple-form .funding-default-choice span:empty{display:none}
#app main .plan-simple-form .funding-basis-strip{padding:6px 0;gap:2px}
#app main .plan-simple-form .funding-monthly-field{margin:0;gap:4px}
#app main .plan-simple-form .funding-schedule-editor>summary{padding:8px 0}
#app main .plan-simple-form .funding-compact-help{margin:4px 0 8px;line-height:1.35}
#app main .plan-simple-form .funding-schedule-actions{padding:6px 0;margin:0}
#app main .plan-simple-form .funding-incomplete-note{margin:4px 0;padding:6px 8px}
#app main .plan-simple-form .funding-changes-table .field>span{display:none}
#app main .plan-simple-form .plan-incomplete-contribution{display:block;font-size:12px;margin-bottom:4px}
#app main .plan-simple-form .plan-comparison td .btn{padding:5px 8px;min-height:32px;font-size:12px}
#app main .plan-simple-form .plan-confirmation-detail-body{padding:10px 12px;gap:8px}
#app main .plan-simple-form .purpose-goal-summary :is(th,td){padding:7px 8px}
#app main .review-workspace .review-horizon-kpis{padding:5px 0}
#app main .review-workspace .review-horizon-kpi{padding:3px 10px;gap:2px}
#app main .review-workspace .review-target-layout{gap:6px}
#app main .review-workspace .review-development-aside{align-self:start;min-height:0}
#app main .review-workspace :is(.review-detail-stack,.pcms-detail-panel,.review-development-source>details){border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:#fff;margin:0;padding:0}
#app main .review-workspace :is(.review-detail-stack,.pcms-detail-panel,.review-development-source>details)>summary{padding:9px 12px;font-size:14px;min-height:0;cursor:pointer}
#app main .review-workspace .review-development-source td[data-source-snapshot]{text-align:right;font-variant-numeric:tabular-nums}
#app main .review-workspace .review-target-analysis :is(th,td){padding:6px 10px}
#app main .review-workspace .purpose-goal-summary :is(th,td){padding:6px 8px}

/* v1.0.29.47: compact inputs and readable chart endpoints. */
#app main .plan-simple-way .funding-basis-strip{padding:8px 0;margin:0;gap:4px}
#app main .plan-simple-way .funding-monthly-field{padding:8px 0;margin:0;gap:5px}
#app main .plan-simple-way .funding-schedule-editor{margin:0}
#app main .plan-simple-way .funding-compact-help{margin:6px 0;line-height:1.4}
#app main .plan-simple-way .funding-schedule-actions{padding:6px 0;margin:0}
#app main .funding-edit-status{font-size:13px;color:var(--muted);padding:4px 8px}
#app main .plan-area-inline-action{display:flex;justify-content:flex-end;margin:0 0 4px}
#app main .plan-area-inline-action .btn{min-height:36px;padding:6px 10px}
#app main .review-long-chart svg{display:block;width:100%;max-height:210px;min-height:0}
#app main .review-target-panel[data-review-state] .review-long-main{padding:10px 14px}
#app main .review-payoff-note{margin:8px 14px;font-size:13px;color:var(--muted)}
#app main .plan-way-illustration .funding-path svg{max-height:220px;min-height:0}
#app main .funding-editor [hidden]{display:none!important}
