:root{
  --bg:#f4f1eb;
  --surface:#fbf8f3;
  --surface-soft:#f2ebe2;
  --surface-raised:#e9dfd3;
  --text:#1c2430;
  --muted:#6d7278;
  --muted-2:#8a8d91;
  --border:rgba(68,58,48,.13);
  --border-soft:rgba(68,58,48,.09);
  --accent:#c88e5c;
  --accent-strong:#9d6639;
  --accent-soft:#ead2bc;
  --warm:#b98a5c;
  --debt:#7e8b95;
  --equity:#6fae9d;
  --property:#c9b28d;
  --upcoming:#d2a05b;
  --scheme:#b7aa98;
  --radius-card:24px;
  --radius-tile:14px;
}

html{background:var(--bg)!important;color-scheme:light}
body{
  background:
    radial-gradient(760px 420px at 100% -120px,rgba(200,142,92,.09),transparent 68%),
    radial-gradient(620px 360px at -100px 18%,rgba(111,174,157,.055),transparent 70%),
    linear-gradient(180deg,#f8f5f0 0%,#f1ede6 100%)!important;
  color:var(--text)!important;
}

/* Make the light V15 palette authoritative over the legacy dark layers. */
.app-view,.app-view-content,.upcoming-workspace,.upcoming-sections{background:transparent!important;color:var(--text)!important}
.panel,.hero-panel,.upcoming-section,.future-model-range-panel,.future-wait-planner,.temporal-feature-home-projection,.temporal-feature-next-home,.temporal-feature-cost-comparison{
  background:rgba(251,248,243,.96)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
  box-shadow:0 18px 52px rgba(64,50,38,.08)!important;
}

.app-view h1,.app-view h2,.app-view h3,.app-view h4,.app-view strong,
.upcoming-section-heading h2,.deal-planner-heading h2,.deal-planner-subhead strong,
.home-profile-heading h2,.next-home-heading h2,.cost-heading h2{color:var(--text)!important}
.kicker,.eyebrow{color:var(--accent-strong)!important}
.subtle,.field-note,.deep-note,.source-date,.next-event-text,.timeline-labels,.app-view-heading>p{color:var(--muted)!important}

.topbar{border-color:transparent!important}
.brand{color:var(--text)!important}
.brand::before{background:var(--accent)!important;box-shadow:0 0 0 5px rgba(200,142,92,.12)!important}
.topline,.save-status{color:var(--muted)!important}
.save-status{background:rgba(255,255,255,.52)!important;border-color:var(--border-soft)!important}

/* Navigation */
.app-section-nav-top{background:rgba(255,255,255,.44)!important;border-color:var(--border-soft)!important;box-shadow:0 8px 26px rgba(67,52,38,.05)!important}
.app-section-nav button{background:transparent!important;border-color:transparent!important;color:var(--muted)!important}
.app-section-nav button:hover{background:rgba(200,142,92,.08)!important;color:var(--text)!important}
.app-section-nav button.is-active{background:#252d36!important;color:#fffaf3!important;border-color:#252d36!important;box-shadow:0 8px 22px rgba(32,39,46,.13)!important}

/* CURRENT — ownership-first editorial hero */
.app-view-current .hero-panel.current-hero-condensed{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  min-height:430px;
  padding:0!important;
  overflow:hidden!important;
  background:var(--surface)!important;
}
.app-view-current .hero-panel::after{display:none!important}
.current-hero-condensed .hero-main{position:relative;z-index:2;padding:34px 34px 30px!important;background:linear-gradient(90deg,rgba(251,248,243,1) 0%,rgba(251,248,243,.98) 72%,rgba(251,248,243,.72) 100%)}
.current-hero-condensed .section-topline,.current-hero-condensed #yearsRemaining,.current-hero-condensed .hero-date,.current-hero-condensed .hero-balance-row,.current-hero-condensed .current-home-inline{display:none!important}
.current-hero-condensed>.hero-progress-card{display:none!important}
.v15-home-visual{position:relative;min-height:430px;background:#e9dfd1 url('../public/home-editorial.svg') center/cover no-repeat}
.v15-home-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,243,.18),transparent 32%),linear-gradient(180deg,transparent 58%,rgba(25,33,39,.10));pointer-events:none}
.v15-home-copy{max-width:610px}
.v15-home-copy .v15-greeting{margin:0 0 9px;color:#3d5e55!important;font-size:13px;font-weight:700}
.v15-home-copy h1{margin:0;font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:clamp(38px,5.1vw,66px);line-height:.98;letter-spacing:-.045em;font-weight:500;color:#203d35!important}
.v15-home-copy .v15-subline{margin:12px 0 0;color:var(--muted)!important;font-size:15px}
.v15-home-copy .v15-subline strong{color:#203d35!important}
.v15-hero-progress{margin-top:26px;padding:18px 20px;border:1px solid var(--border-soft);border-radius:18px;background:rgba(255,255,255,.55)}
.v15-hero-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.v15-hero-progress-head span{color:var(--muted)!important;font-size:11px}
.v15-hero-progress-head strong{font-size:14px;color:#203d35!important}
.v15-hero-progress-track{height:10px;margin-top:10px;border-radius:999px;background:#e7e0d7;overflow:hidden}
.v15-hero-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5d9f8c,#86bea9)}
.v15-hero-progress-foot{display:flex;justify-content:space-between;gap:14px;margin-top:8px;color:var(--muted)!important;font-size:10px}

/* Compact glance-first metric strip */
.v15-current-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:0;border:1px solid var(--border);border-radius:22px;background:rgba(251,248,243,.94);overflow:hidden;box-shadow:0 16px 44px rgba(62,49,38,.055)}
.v15-stat{min-width:0;padding:18px 18px 16px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:rgba(255,255,255,.26)}
.v15-stat:nth-child(6n){border-right:0}.v15-stat:nth-last-child(-n+2){border-bottom:0}
.v15-stat span{display:block;color:var(--muted)!important;font-size:10px;line-height:1.35}
.v15-stat strong{display:block;margin-top:5px;font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:22px;font-weight:600;letter-spacing:-.025em;color:var(--text)!important}
.v15-stat small{display:block;margin-top:4px;color:var(--muted-2)!important;font-size:9px;line-height:1.35}
.v15-stat.is-positive strong,.v15-stat.is-positive small{color:#477e70!important}
.v15-stat.is-warm strong{color:var(--accent-strong)!important}

.v15-action-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:18px 20px;border:1px solid rgba(200,142,92,.24);border-radius:18px;background:linear-gradient(90deg,#fff8ef,#f1e2d2);box-shadow:0 12px 34px rgba(85,58,36,.055)}
.v15-action-copy{display:flex;align-items:center;gap:14px;min-width:0}
.v15-action-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#252d36;color:#f4bd88;font-size:19px}
.v15-action-copy span{display:block;color:var(--muted)!important;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.v15-action-copy strong{display:block;margin-top:3px;font-size:18px;letter-spacing:-.02em;color:var(--text)!important}
.v15-action-card button{appearance:none;border:0;background:transparent;color:var(--accent-strong)!important;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}

/* CURRENT — What-if is part of Trajectory, not a separate beige module. */
.app-view-current .chart-panel.trajectory-with-what-if{
  padding:0!important;
  overflow:hidden!important;
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  color:var(--text)!important;
  box-shadow:0 18px 52px rgba(64,50,38,.08)!important;
}
.app-view-current .trajectory-with-what-if>.panel-heading{padding:26px 26px 16px!important;margin:0!important;border-bottom:1px solid var(--border-soft)!important}
.app-view-current .trajectory-with-what-if>.panel-heading h2{color:var(--text)!important}
.app-view-current .trajectory-scenario-controls{margin:0 26px!important;padding:18px 0 20px!important;border:0!important;border-bottom:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.app-view-current .trajectory-scenario-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0 0 13px!important;margin:0 0 13px!important;border:0!important}
.app-view-current .trajectory-scenario-copy h3{margin:0;font-size:17px;letter-spacing:-.02em;color:var(--text)!important}
.trajectory-current-saving{min-width:220px;text-align:right}
.trajectory-current-saving>span{display:block;color:var(--muted)!important;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.trajectory-current-saving>strong{display:block;margin-top:3px;font-size:17px;color:var(--text)!important}
.trajectory-current-saving>small{display:block;margin-top:3px;color:var(--accent-strong)!important;font-size:10px;line-height:1.35}
.trajectory-overpay-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.app-view-current .trajectory-overpay-row button,.app-view-current .trajectory-custom-overpay{min-height:40px;border:1px solid var(--border)!important;border-radius:12px!important;background:#fffaf4!important;color:var(--text)!important;font-weight:750;box-shadow:0 2px 8px rgba(64,50,38,.03)!important}
.trajectory-overpay-row button{padding:8px 14px;cursor:pointer}
.app-view-current .trajectory-overpay-row button:hover{background:#f4e6d7!important;border-color:rgba(200,142,92,.36)!important}
.app-view-current .trajectory-overpay-row button.active{background:#252d36!important;color:#fffaf3!important;border-color:#252d36!important}
.trajectory-custom-overpay{display:flex;align-items:center;gap:5px;padding:8px 12px;color:var(--muted)!important}
.trajectory-custom-overpay input{width:74px;border:0;outline:0;background:transparent!important;color:var(--text)!important;font:inherit;font-weight:750}
.app-view-current .trajectory-with-what-if>.chart-wrap{margin:18px 24px 0!important;width:calc(100% - 48px)!important;padding:0!important;border:0!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
.chart-panel canvas{background:transparent!important;border:0!important;box-shadow:none!important}
.chart-readout{color:var(--muted)!important}
.app-view-current .trajectory-with-what-if>.legend{margin:10px 26px 0!important;padding:0 0 24px!important;gap:10px 18px!important;color:var(--muted)!important}
.dot.scheduled-line{background:#8996a0!important}.dot.regular-line{background:#d0a06f!important}.dot.selected-line{background:#78b4a2!important}.dot.equity-line{background:#f0e5d7!important}

/* UPCOMING — journey-first, entirely light except semantic accents. */
.app-view-upcoming .upcoming-workspace,.app-view-upcoming .design-workspace-full,.app-view-upcoming .upcoming-sections{background:transparent!important;box-shadow:none!important}
.app-view-upcoming .upcoming-sections{gap:20px!important}
.app-view-upcoming .upcoming-section,.app-view-upcoming .upcoming-timeline,.app-view-upcoming .upcoming-position,.app-view-upcoming .upcoming-rates,.app-view-upcoming .upcoming-action,.app-view-upcoming .upcoming-interest{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  color:var(--text)!important;
  box-shadow:0 16px 44px rgba(62,49,38,.065)!important;
}
.app-view-upcoming .upcoming-action{background:linear-gradient(90deg,#fff8ef,#f2e6d8)!important;border-color:rgba(200,142,92,.22)!important}
.app-view-upcoming .upcoming-section-heading{border-bottom-color:var(--border-soft)!important}
.app-view-upcoming .upcoming-section-heading h2,.app-view-upcoming .upcoming-action h2{color:var(--text)!important}
.v15-journey-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;margin:4px 0 24px;padding:0 4px}
.v15-journey-strip::before{content:"";position:absolute;left:10%;right:10%;top:31px;height:2px;background:#cfd3d1}
.v15-journey-step{position:relative;z-index:1;text-align:center;padding:0 8px}
.v15-journey-icon{display:grid;place-items:center;width:34px;height:34px;margin:14px auto 8px;border-radius:999px;background:#f8f5ef;border:2px solid #b8c1bd;color:#38434b;font-size:14px}
.v15-journey-step.is-complete .v15-journey-icon{background:#e6f1ed;border-color:#6fae9d;color:#3f7e6c}
.v15-journey-step.is-current .v15-journey-icon{background:#fff3e6;border-color:var(--accent);color:var(--accent-strong);box-shadow:0 0 0 5px rgba(200,142,92,.10)}
.v15-journey-step strong{display:block;font-size:11px;line-height:1.25;color:var(--text)!important}.v15-journey-step span{display:block;margin-top:3px;color:var(--muted)!important;font-size:9px;line-height:1.3}
.v15-journey-callout{width:max-content;max-width:100%;margin:10px auto 0;padding:7px 12px;border-radius:999px;background:#f1e2d2;color:#7a532f;font-size:10px;font-weight:750}
.app-view-upcoming .current-fix-stats>div,.app-view-upcoming .deal-planner-rate,.app-view-upcoming .deal-planner-summary>div,.app-view-upcoming .deal-planner-milestone{background:#f3ece3!important;border-color:var(--border-soft)!important;color:var(--text)!important}
.app-view-upcoming .deal-planner-rate strong,.app-view-upcoming .deal-planner-summary strong,.app-view-upcoming .current-fix-stats strong{color:var(--text)!important}
.app-view-upcoming .deal-planner-rate span,.app-view-upcoming .deal-planner-rate em,.app-view-upcoming .deal-planner-summary span,.app-view-upcoming .deal-planner-summary small,.app-view-upcoming .current-fix-stats span,.app-view-upcoming .current-fix-stats small{color:var(--muted)!important}
.app-view-upcoming .deal-planner-rate.is-current-rate{background:#fff8ef!important;border-color:rgba(200,142,92,.44)!important;box-shadow:inset 0 0 0 1px rgba(200,142,92,.10)!important}
.app-view-upcoming .deal-planner-rate.is-current-rate span,.app-view-upcoming .deal-planner-milestone span{color:var(--accent-strong)!important}

/* FUTURE */
.app-view-future .app-view-future .future-model-range-panel,.app-view-future .future-wait-planner,.app-view-future .temporal-feature-home-projection,.app-view-future .temporal-feature-next-home,.app-view-future .temporal-feature-cost-comparison{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:0 16px 44px rgba(62,49,38,.065)!important}
.app-view-future h2,.app-view-future h3,.app-view-future .home-profile-heading h2,.app-view-future .next-home-heading h2,.app-view-future .cost-heading h2{color:var(--text)!important}
.app-view-future .home-profile-range>div,.app-view-future .next-home-summary-card,.app-view-future .next-home-timeline-row,.app-view-future .property-cost-card,.app-view-future .future-model-range-panel .model-range-summary,.app-view-future .future-wait-host{background:#f3ece3!important;border-color:var(--border-soft)!important;color:var(--text)!important}
.app-view-future .home-profile-range strong,.app-view-future .next-home-summary-card strong,.app-view-future .next-home-timeline-row strong,.app-view-future .property-cost-card strong{color:var(--text)!important}

/* Inputs / setup / modal surfaces */
input,select,textarea{color:var(--text)}
.mortgage-details-editor .inputs label,.personal-modal,.projection-controls label,.next-home-settings label{background:#f7f2eb!important;border-color:var(--border)!important;color:var(--text)!important}
.mortgage-details-editor .inputs input,.personal-modal input,.projection-controls input,.next-home-settings input{background:#fffdf9!important;border-color:var(--border)!important;color:var(--text)!important}
.card-backdrop,.personal-backdrop{background:rgba(31,34,36,.34)!important;backdrop-filter:blur(10px)!important}
.footer{color:#85807a!important}

@media(max-width:1050px){
  .app-view-current .hero-panel.current-hero-condensed{grid-template-columns:1fr!important}
  .v15-home-visual{min-height:260px;order:-1;background-position:center 47%}
  .current-hero-condensed .hero-main{background:var(--surface)}
  .v15-current-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v15-stat:nth-child(6n){border-right:1px solid var(--border-soft)}
  .v15-stat:nth-child(4n){border-right:0}
}

@media(max-width:700px){
  body{background:#f4f1eb!important}
  .app-section-nav-bottom{background:rgba(251,248,243,.95)!important;border-color:var(--border)!important;box-shadow:0 18px 46px rgba(66,52,39,.16)!important}
  .app-section-nav-bottom button.is-active{background:#252d36!important;color:#fff!important}
  .current-hero-condensed .hero-main{padding:24px 20px 22px!important}
  .v15-home-copy h1{font-size:42px}
  .v15-home-visual{min-height:220px}
  .v15-current-stats{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:18px}
  .v15-stat{padding:15px 13px}.v15-stat:nth-child(4n){border-right:1px solid var(--border-soft)}.v15-stat:nth-child(3n){border-right:0}
  .v15-action-card{align-items:flex-start;padding:16px}.v15-action-card button{padding-top:2px}
  .app-view-current .trajectory-with-what-if>.panel-heading{padding:20px 18px 14px!important}
  .app-view-current .trajectory-scenario-controls{margin:0 18px!important;padding:15px 0 17px!important}
  .trajectory-scenario-copy{display:block!important}.trajectory-current-saving{min-width:0;margin-top:10px;text-align:left}
  .trajectory-overpay-row button,.trajectory-custom-overpay{flex:1 1 auto;justify-content:center}
  .trajectory-custom-overpay input{width:62px}
  .app-view-current .trajectory-with-what-if>.chart-wrap{margin:16px 18px 0!important;width:calc(100% - 36px)!important}
  .app-view-current .trajectory-with-what-if>.legend{margin:10px 18px 0!important;padding-bottom:18px!important}
  .v15-journey-strip{grid-template-columns:repeat(5,110px);overflow-x:auto;padding:0 6px 8px;scroll-snap-type:x proximity}.v15-journey-step{scroll-snap-align:center}.v15-journey-strip::before{left:56px;right:56px}
}

@media(max-width:480px){
  .v15-current-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v15-stat:nth-child(3n){border-right:1px solid var(--border-soft)}.v15-stat:nth-child(2n){border-right:0}
  .v15-action-card{display:grid;grid-template-columns:1fr}.v15-action-card button{text-align:left;margin-left:52px}
  .v15-home-copy h1{font-size:37px}
}
