/*
 * 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}
}
