/* V0.15.2 — coherent light palette, tighter sizing, current journey */

:root{
  --bg:#f4f1eb;
  --surface:#fbf8f3;
  --surface-soft:#f2ece3;
  --surface-muted:#ece4d9;
  --text:#202833;
  --muted:#70767c;
  --muted-2:#92969a;
  --border:rgba(64,54,45,.14);
  --border-soft:rgba(64,54,45,.09);
  --accent:#c58a56;
  --accent-strong:#9b663b;
  --equity:#6fae9d;
  --debt:#82909a;
}

/* Make the light visual system decisively override legacy dark styles. */
html,body{background:var(--bg)!important;color:var(--text)!important}
.app-view,.app-view-content,.upcoming-workspace,.upcoming-sections{background:transparent!important;color:var(--text)!important}
.app-view h1,.app-view h2,.app-view h3,.app-view h4,.app-view strong{color:var(--text)!important}
.app-view .subtle,.app-view small,.app-view .field-note,.app-view .deep-note,.app-view .source-date,.app-view .next-event-text,.app-view .timeline-labels{color:var(--muted)!important}

.panel,.hero-panel,.upcoming-section,.future-model-range-panel,.future-wait-planner,.temporal-feature-home-projection,.temporal-feature-next-home{
  background:var(--surface)!important;
  border-color:var(--border)!important;
  box-shadow:0 14px 38px rgba(64,50,38,.075)!important;
}

/* CURRENT JOURNEY — glanceable on the front page, clickable into Upcoming. */
.v15-current-journey{
  padding:17px 20px 18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  outline:none;
}
.v15-current-journey:hover{border-color:transparent;background:transparent;box-shadow:none}
.v15-current-journey:focus-visible{box-shadow:0 0 0 2px rgba(197,138,86,.18);border-radius:14px}
.v15-current-journey-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.v15-current-journey-head>div>span{display:block;color:var(--accent-strong);font-size:9px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.v15-current-journey-head>div>strong{display:block;margin-top:3px;font-size:16px;letter-spacing:-.015em}
.v15-current-journey-link{color:var(--accent-strong);font-size:11px;font-weight:800;white-space:nowrap}
.v15-current-journey-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;gap:0}
.v15-current-journey-track::before{content:"";position:absolute;left:0;right:0;top:16px;height:2px;transform:translateY(-50%);background:#d7d7d2}
.v15-current-journey-step{position:relative;z-index:1;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;min-width:0;padding:0 8px}
.v15-current-journey-icon{box-sizing:border-box;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#faf7f1;border:2px solid #bcc5c1;color:#45515a;font-size:12px}
.v15-current-journey-step.is-complete .v15-current-journey-icon{background:#eaf3ef;border-color:var(--equity);color:#467f70}
.v15-current-journey-step.is-current .v15-current-journey-icon{background:#fff3e7;border-color:var(--accent);color:var(--accent-strong);box-shadow:0 0 0 4px rgba(197,138,86,.10)}
.v15-current-journey-step strong{display:block;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v15-current-journey-step span{display:block;margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap}

/* Upcoming no longer repeats the timeline; Current is the overview, Upcoming is the detail. */
.app-view-upcoming .upcoming-timeline{display:none!important}

/* Trajectory + What-if should read as one component. */
.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}
.app-view-current .trajectory-with-what-if>.panel-heading{padding:22px 24px 14px!important;margin:0!important;border-bottom:1px solid var(--border-soft)!important}
.app-view-current .trajectory-scenario-controls{margin:0 24px!important;padding:15px 0 17px!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{padding:0!important;margin:0 0 11px!important;border:0!important}
.app-view-current .trajectory-scenario-copy h3{font-size:16px!important;color:var(--text)!important}
.app-view-current .trajectory-current-saving>strong{color:var(--text)!important}
.app-view-current .trajectory-current-saving>span{color:var(--muted)!important}
.app-view-current .trajectory-overpay-row button,.app-view-current .trajectory-custom-overpay{min-height:36px!important;padding:7px 12px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:#fffaf4!important;color:var(--text)!important;box-shadow:none!important}
.app-view-current .trajectory-overpay-row button.active{background:#252d36!important;color:#fffaf3!important;border-color:#252d36!important}
.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}
.app-view-current .trajectory-with-what-if>.legend{margin:9px 24px 0!important;padding:0 0 20px!important}

/* UPCOMING — ivory cards, smaller nested tiles, no forest-green carryover. */
.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-section{padding:22px 24px!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:22px!important;box-shadow:0 13px 34px rgba(64,50,38,.065)!important}
.app-view-upcoming .upcoming-section-heading{margin-bottom:14px!important;padding-bottom:12px!important;border-bottom:1px solid var(--border-soft)!important}
.app-view-upcoming .upcoming-section-heading h2{font-size:19px!important;font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif!important;font-weight:500!important;color:var(--text)!important}
.app-view-upcoming .current-fix-stats>div,.app-view-upcoming .deal-planner-summary>div,.app-view-upcoming .deal-planner-rate,.app-view-upcoming .deal-planner-milestone{
  background:var(--surface-soft)!important;
  border:1px solid var(--border-soft)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
.app-view-upcoming .deal-planner-rate-grid{gap:10px!important}
.app-view-upcoming .deal-planner-rate{padding:14px 14px 13px!important;min-height:92px!important}
.app-view-upcoming .deal-planner-rate>span{font-size:10px!important;color:var(--muted)!important}
.app-view-upcoming .deal-planner-rate>strong{font-size:19px!important;color:var(--text)!important}
.app-view-upcoming .deal-planner-rate>em{font-size:9px!important;color:var(--muted)!important}
.app-view-upcoming .deal-planner-rate.is-current-rate{background:#fff7ee!important;border-color:rgba(197,138,86,.34)!important}
.app-view-upcoming .deal-planner-rate.is-current-rate>span{color:var(--accent-strong)!important}
.app-view-upcoming .deal-planner-summary{gap:10px!important}
.app-view-upcoming .deal-planner-summary>div{padding:15px!important;min-height:88px!important}
.app-view-upcoming .deal-planner-summary span,.app-view-upcoming .deal-planner-summary small{color:var(--muted)!important}
.app-view-upcoming .deal-planner-summary strong{font-size:23px!important;color:var(--text)!important}
.app-view-upcoming .deal-planner-milestone{padding:14px 16px!important;background:#f5eee5!important}
.app-view-upcoming .deal-planner-milestone span{color:var(--accent-strong)!important}
.app-view-upcoming .upcoming-action{background:linear-gradient(90deg,#fff8ef,#f3e8db)!important;border-color:rgba(197,138,86,.20)!important}

/* FUTURE — reduce oversized whitespace and harmonise nested cards. */
.app-view-future .app-view-content{gap:20px!important}
.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{padding:22px 24px!important;border-radius:22px!important}
.app-view-future .home-profile-heading,.app-view-future .next-home-heading,.app-view-future .cost-heading{margin-bottom:14px!important}
.app-view-future .home-profile-heading h2,.app-view-future .next-home-heading h2,.app-view-future .cost-heading h2,.app-view-future .future-model-range-panel h2{color:var(--text)!important;font-size:19px!important}
.app-view-future .home-profile-range,.app-view-future .next-home-summary,.app-view-future .next-home-timeline{gap:10px!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-wait-host{
  background:var(--surface-soft)!important;
  border:1px solid var(--border-soft)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
.app-view-future .home-profile-range>div{padding:13px 15px!important;min-height:66px!important}
.app-view-future .next-home-summary-card{padding:15px!important;min-height:92px!important}
.app-view-future .next-home-timeline-row{padding:13px 15px!important;min-height:72px!important}
.app-view-future .property-cost-card{padding:14px 16px!important;min-height:88px!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}
.app-view-future .home-profile-range span,.app-view-future .next-home-summary-card span,.app-view-future .next-home-summary-card small,.app-view-future .next-home-timeline-row span,.app-view-future .next-home-timeline-row small{color:var(--muted)!important}
.app-view-future .future-cost-inline{margin-top:20px!important;padding-top:20px!important;border-top:1px solid var(--border-soft)!important}

/* Keep green semantic only. */
.v15-stat.is-positive strong,.v15-stat.is-positive small,.app-view-future .is-positive strong{color:#477e70!important}

@media(max-width:900px){
  .v15-current-journey-track{grid-template-columns:repeat(5,150px);overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
  .v15-current-journey-step{scroll-snap-align:start}
  .v15-current-journey-track::before{left:16px;right:16px}
}

@media(max-width:700px){
  .v15-current-journey{padding:15px 16px}
  .v15-current-journey-head{align-items:flex-start;margin-bottom:12px}
  .v15-current-journey-link{font-size:10px}
  .app-view-current .trajectory-with-what-if>.panel-heading{padding:18px 18px 12px!important}
  .app-view-current .trajectory-scenario-controls{margin:0 18px!important;padding:14px 0 15px!important}
  .app-view-current .trajectory-with-what-if>.chart-wrap{margin:15px 18px 0!important;width:calc(100% - 36px)!important}
  .app-view-current .trajectory-with-what-if>.legend{margin:9px 18px 0!important;padding-bottom:17px!important}
  .app-view-upcoming .upcoming-section,.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{padding:18px!important;border-radius:19px!important}
}
