/* Approved Dream Life visual system. Financial behavior stays in the existing controllers. */
:root{color-scheme:light;--deep:#192b40;--deep-2:#213b50;--deep-3:#315646;--cream:#f4f3ee;--cream-2:#eef0e8;--card:#fffefa;--ink:#192b40;--ink-2:#566357;--ink-3:#66726c;--accent:#265643;--accent-2:#a38339;--sage:#6b927d;--rule:#d9ded4;--good:#23724a;--warn:#ae383b;--forest:#265643;--forest-2:#32694e;--line:var(--rule);--muted:var(--ink-2);--active-bg:#e2ede5;--nav-active:var(--accent);--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--serif:var(--sans);--script:var(--sans);--r-lg:12px;--r-md:10px;--r-sm:7px;--shadow-1:0 2px 6px #17283d06;--shadow-2:0 5px 18px #17283d12}
:root[data-theme=dark]{color-scheme:dark;--cream:#111416;--cream-2:#232a2c;--card:#1a1e20;--ink:#edf1ed;--ink-2:#b1bdb6;--ink-3:#a2b1a8;--rule:#343d3d;--accent:#9ac5ae;--accent-2:#d3bb7e;--good:#7fdbab;--warn:#ffa0a0;--active-bg:#263e34;--nav-active:#ffab7d;--shadow-1:none;--shadow-2:none}
html{background:var(--cream)}body{font-size:14px}.shell{grid-template-columns:200px minmax(0,1fr)}.rail{background:var(--card);color:var(--ink);border-right:1px solid var(--rule);padding:24px 12px;gap:20px;overflow-y:auto}.brand{gap:3px}.brand .mark{font-size:23px;font-weight:750;font-style:normal;color:var(--ink);padding-bottom:0}.brand .mark:after{display:none}.brand .greet{color:var(--ink-2);font-size:11px}.brand .who{color:var(--ink);font-size:13px}.nav{gap:4px}.nav button{font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-2);padding:10px 12px;min-height:40px}.nav button:hover{background:var(--cream-2);color:var(--ink)}.nav button[aria-current=true]{background:var(--active-bg);color:var(--nav-active)}.rail-foot{gap:10px}.creed{font-style:normal;font-size:12px;color:var(--ink-2)}.creed b{display:none}.rail-sync{color:var(--ink-2)}main{width:100%;max-width:1480px;padding:28px 32px 60px;min-width:0}.view{gap:22px}.view.on>*{animation:none}h1.display{font-size:30px;font-weight:650;letter-spacing:-.035em;line-height:1.2}h1.display em{font-style:normal;color:var(--ink)}h2.sec,.sec{font-size:19px;font-weight:600;letter-spacing:-.02em}.label{letter-spacing:.08em;font-size:10px;color:var(--ink-2)}.script{font-size:14px}.lede{font-size:14px;line-height:1.6}.hero{gap:24px}.hero-copy{gap:12px}.hero-copy h1{font-size:30px}.hero .leaf{display:none}.card{padding:20px}.card.tilt:hover,.stone:hover{transform:none}.netcard{background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow-1)}.netcard .big{font-size:38px;color:var(--ink)}.netcard .delta,.netcard .label{color:var(--ink-2)}.stat .v{font-size:30px;font-weight:650}.stat .s{color:var(--ink-2)}.head-row{align-items:center}.line,.acct-row,.up-row,.rec-row{padding-top:14px;padding-bottom:14px;border-color:var(--rule)}.line-main{flex:1}.line-merch{font-size:14px;font-weight:600}.line-meta{font-size:11px}.line-amt{font-size:15px}.line-month,.acct-group{background:var(--cream-2);padding:10px 12px;border-radius:6px;letter-spacing:.04em}.merchant-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;background:var(--cream-2);border-radius:50%;font-size:21px;margin-right:12px;overflow:hidden}.merchant-icon img{width:28px;height:28px;object-fit:contain;border-radius:5px}.tx-line{display:flex;align-items:center;gap:0}.tx-line .line-amt{margin-left:12px}.tx-line:hover,.acct-row:hover{background:var(--cream-2)}.chip,.pill{border-radius:14px}.chip{background:var(--cream-2);color:var(--ink-2);border-color:var(--rule)}.chip.k,.chip.d,.chip.bank,.chip.nr{background:var(--active-bg);color:var(--ink);border-color:var(--rule)}.btn{border-radius:7px;min-height:38px;font-weight:550;background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:var(--card);border-color:var(--rule);color:var(--ink)}.btn.sm{font-size:12px}.linkish{color:var(--accent)}input,select,textarea,.field input,.field select,.workspace-dialog input,.workspace-dialog select{background:var(--card);color:var(--ink);border-color:var(--rule);border-radius:7px}.seg{background:var(--cream-2);border-color:var(--rule)}.seg button{color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink)}.sheet-card,.workspace-dialog{background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:14px}.workspace-dialog{width:min(560px,94vw)}.report-metrics>div{padding:16px;background:var(--cream-2);border-radius:9px}.report-metrics strong{color:var(--ink);font-size:28px}.report-bar{background:linear-gradient(90deg,var(--active-bg) var(--share),var(--card) var(--share));border-color:var(--rule);color:var(--ink)}.report-table td,.report-table th{border-color:var(--rule);padding:13px 10px}.report-table th{background:var(--cream-2)}.report-trend-bar.income{background:var(--good)}.report-trend-bar.spending{background:var(--accent-2)}.workspace-bulk{background:var(--cream-2);padding:12px;border-radius:8px}.feed-tools{gap:8px}.workspace-badges{font-size:10px;color:var(--ink-2)}.theme-switch{background:var(--card);color:var(--ink);border:1px solid var(--rule);padding:9px 12px;border-radius:7px;text-align:left;min-height:40px}.money-sections{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--rule)}.money-sections button{border:1px solid var(--rule);background:var(--card);color:var(--ink-2);padding:9px 14px;border-radius:7px}.money-sections button:hover{background:var(--active-bg);color:var(--accent)}:focus-visible{outline:3px solid #7182e8!important;outline-offset:3px}.theme-actions{display:flex;flex-wrap:wrap;gap:10px}.celebration-dismiss{position:absolute;right:20px;top:20px;z-index:5;background:#fff;color:#192b40;border:1px solid #d9ded4;border-radius:8px;padding:12px 16px}.party-caption{position:absolute;bottom:15%;left:50%;transform:translateX(-50%);background:#102a24ed;border:1px solid #c7ad6a;color:#fff;padding:18px 28px;border-radius:14px;text-align:center;z-index:3;font-size:22px;max-width:90vw}.party-caption small{display:block;color:#e8dec4;font-size:13px;margin-top:5px}.celeb-video{transform:none;transition:opacity .3s}.celeb-flash{display:none}.celeb-in{background:#102a24e8;border:1px solid #c7ad6a;border-radius:16px;padding:20px;gap:8px}.celeb-title,.celebrate.major .celeb-title{font-size:30px}.celeb-glyph,.celeb-meta{display:none}.celeb-note{color:#e4e9e4;font-size:13px}.celeb-kicker{color:#ddc892}.party{cursor:default}.celeb-btn{background:#265643;color:white}.celebrate{padding-bottom:5vh}
:root[data-theme=dark] .btn:not(.ghost):not(.celeb-btn){color:#102a20}:root[data-theme=dark] .topbar{background:var(--card);color:var(--ink);border-color:var(--rule)}:root[data-theme=dark] .topbar *{color:var(--ink)}:root[data-theme=dark] .review,:root[data-theme=dark] .alert-card,:root[data-theme=dark] .workspace-filters{background:var(--card);color:var(--ink)}:root[data-theme=dark] .gate-box{background:var(--card);color:var(--ink)}:root[data-theme=dark] .md-due{background:var(--active-bg);color:var(--ink)}:root[data-theme=dark] .md-due .d{color:var(--ink-2)}:root[data-theme=dark] .bar,:root[data-theme=dark] .track{background:var(--cream-2)}
@media(min-width:901px){.hero{grid-template-columns:1fr 1.15fr}.hero-copy .lede{max-width:48ch}.rail{height:100dvh}.nav button{flex-shrink:0}#txSheet .sheet-card{position:fixed;right:0;top:0;bottom:0;max-height:100dvh;width:440px;max-width:100vw;border-radius:0;padding:28px;overflow:auto}.sheet:has(#txsTitle){justify-content:flex-end}}
@media(max-width:900px){.shell{display:block}.rail{padding:0;border-right:0;overflow:visible;background:var(--card)}main{padding:95px 18px 105px;max-width:none}.topbar{background:var(--card);color:var(--ink);border-bottom:1px solid var(--rule)}.tb-title,.tb-mark,.tb-gear{color:var(--ink)}.nav{background:var(--card);border-top:1px solid var(--rule)}.nav button{color:var(--ink-2);font-size:10px;min-height:55px;padding:8px 2px}.nav button[aria-current=true]{background:var(--active-bg);color:var(--nav-active)}.hero-copy h1{font-size:26px}.rail-foot{display:none}.card{padding:17px}.merchant-icon{width:30px;height:30px;flex-basis:30px;margin-right:8px;font-size:18px}.merchant-icon img{width:24px;height:24px}.line-amt{font-size:14px}.btn,.theme-switch{min-height:44px}.report-metrics{gap:8px}.report-metrics>div{padding:10px}.report-metrics strong{font-size:21px}.party-caption{width:max-content;font-size:19px}.celeb-in{padding:16px}.celeb-title{font-size:26px}}
@media(prefers-reduced-motion:reduce){.celeb-video{display:none}.celebrate,.party{background:#16263b}}

@media(max-width:900px){.nav .desktop-shortcut{display:none}}
#monthlyPlanner,#householdReports,#txCard{scroll-margin-top:95px}
.netcard .pill{background:var(--active-bg);color:var(--accent);border-color:var(--rule)}.tb-mark{font-style:normal;font-weight:700}.stone{transform:none;box-shadow:var(--shadow-1)}.stone.live{box-shadow:var(--shadow-1)}.merchant-action{display:inline-flex;align-items:center;text-align:left}.merchant-action .merchant-icon{width:26px;height:26px;flex-basis:26px;font-size:17px;margin-right:8px}.merchant-action .merchant-icon img{width:22px;height:22px}#approvalInbox{gap:12px}#approvalInbox>.row-between{padding:6px 0;border-bottom:1px solid var(--rule)}#approvalInbox>.row-between>.merchant-action{border:0;background:transparent}.netcard .chart svg{width:100%}@media(max-width:900px){.celeb-video{object-fit:contain;object-position:center 25%;background:#071522}.celeb-in{max-width:95vw}.celeb-note{max-height:15vh;overflow:auto}}
#txKind{border-radius:9px;padding:4px;gap:4px}#txKind button{background:transparent;border:0;border-radius:6px;color:var(--ink-2);box-shadow:none}#txKind button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}
.money-pages{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}.money-pages [aria-current=page]{background:var(--forest,#265643);color:#fff}.goal-plan-dialog{width:min(680px,calc(100vw - 32px));max-height:88dvh;overflow:auto;border:1px solid var(--line,#ddd);border-radius:20px;padding:28px;background:var(--card,#f4f3ee);color:var(--ink,#192b40)}.goal-plan-dialog::backdrop{background:#101d32aa}.goal-plan-dialog textarea{width:100%;resize:vertical}.goal-plan-dialog .field{margin:14px 0}.goal-plan-dialog input[type=checkbox]{width:22px;height:22px}.goal-plan-dialog .btn{margin:6px 8px 6px 0}.goal-plan-result{padding:16px;background:#26564315;border-radius:12px;line-height:1.7}.goal-plan-launch{padding:18px 0}.goal-plan-launch select{max-width:65%;margin-right:12px}#v-budget details>summary,#v-reports details>summary{list-style:none;pointer-events:none}html{scroll-behavior:auto!important}

.goal-plan-close{float:right;position:sticky;top:0;z-index:1;background:var(--card)!important}.goal-plan-dialog input,.goal-plan-dialog textarea{min-width:0}.goal-markers{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:560px){.goal-plan-dialog{padding:20px}.goal-plan-dialog .workspace-grid{grid-template-columns:minmax(0,1fr)}.goal-plan-dialog .field{margin:8px 0}.goal-plan-launch select{max-width:100%;margin-bottom:8px}}
/* Dashboard follows the approved card-based reference on desktop and phone. */
.dashboard{max-width:1400px;margin:0 auto}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.dash-head h1{font:750 32px/1.15 var(--sans);letter-spacing:-1px;margin:0}.dash-tools{display:flex;align-items:center;gap:10px}.dash-tools input{width:175px}.dash-review{background:var(--active-bg);color:var(--accent);padding:18px 22px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dash-card{background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:26px;box-shadow:var(--shadow-1);min-width:0}.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.dash-card h2{font:700 19px/1.25 var(--sans);margin:0;letter-spacing:-.35px}.dash-card h3{font:700 22px/1.3 var(--sans)}.dash-card-head button{white-space:nowrap}.dash-big{font:750 clamp(30px,3vw,44px)/1.2 var(--sans);letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:12px 0}.dash-muted{font-size:12px;line-height:1.6;color:var(--ink-2)}.dash-change{color:var(--good);font-size:14px}.dash-chart{height:200px;margin:28px 0 18px;display:flex;flex-direction:column;justify-content:center}.dash-chart svg{width:100%;height:180px;overflow:visible}.dash-line{fill:none;stroke:var(--accent);stroke-width:2.5}.dash-area{fill:var(--accent);opacity:.1}.dash-gridline{stroke:var(--rule);stroke-width:1}.dash-between{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.dash-progress{margin:26px 0 34px}.dash-progress strong{font-size:16px}.dash-bar{height:8px;overflow:hidden;background:var(--cream-2);border-radius:9px;margin:12px 0}.dash-bar i{display:block;height:100%;background:var(--good);border-radius:9px}.dash-holding{display:flex;align-items:center;gap:12px;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.dash-holding:last-child{border-bottom:0}.dash-holding .merchant-icon{flex-shrink:0}.dash-holding strong{font-size:13px}.dash-holding small{display:block}.dash-holding>span:last-child{text-align:right;flex-shrink:0}.dash-holding .dash-grow{text-align:left!important;flex:1;min-width:0;overflow-wrap:anywhere}.dash-holding:hover{background:var(--cream-2)}.dash-bitcoin{margin-top:20px;padding:16px;background:var(--cream-2);border-radius:10px}.dash-bitcoin small{display:block}.dash-bitcoin a{display:block;font-size:12px;margin:8px 0}.dash-bitcoin button{margin:6px 8px 0 0}.dash-quote{font-size:24px;font-weight:700;margin:8px 0}.dash-dream-cover{background:var(--active-bg);border-radius:10px;min-height:84px;display:grid;place-items:center;font-size:36px;margin:10px 0 20px}.holding-dialog>button:first-child{float:right}.dashboard #alertBox,.dashboard #mdDue{margin-top:20px}@media(max-width:650px){.dash-grid{grid-template-columns:minmax(0,1fr);gap:16px}.dash-head{align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:18px}.dash-head h1{font-size:28px}.dash-tools{width:100%;justify-content:space-between}.dash-tools input{width:160px}.dash-card{padding:20px;border-radius:14px}.dash-review{padding:14px;font-size:13px}.dash-card-head{gap:6px}.dash-card h2{font-size:18px}.dash-card-head button{font-size:12px;padding:7px}.dash-chart{height:170px}.dash-holding{gap:9px}.dash-holding strong{font-size:12px}.dash-big{font-size:36px}}

/* A single scrolling transaction panel on desktop and phones. */
#txSheet .sheet-card{overscroll-behavior:contain}#txsDetails{display:grid;gap:16px}.detail-identity{display:flex;align-items:center;font-weight:600}.detail-box{padding:16px;border:1px solid var(--rule);border-radius:12px;background:var(--cream-2);display:grid;gap:12px}.detail-box h3{margin:0;font-size:16px}.detail-box p{margin:0;line-height:1.6}.detail-box small{color:var(--ink-2);line-height:1.5}.detail-box a{color:var(--accent)}.detail-raw{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-size:12px;padding:10px;background:var(--card);border-radius:6px}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-stats div{display:grid;gap:5px}.detail-history{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:12px}.detail-history-bar{height:4px;background:var(--accent);border-radius:4px;flex-basis:auto;margin-right:auto}
@media(min-width:901px){#txSheet .sheet-card{width:500px}}
@media(max-width:900px){#txSheet{padding:0;align-items:flex-end;overflow:hidden}#txSheet .sheet-card{margin:0;width:100%;max-width:none;max-height:92dvh;overflow:auto;border-radius:18px 18px 0 0;padding:22px 20px max(24px,env(safe-area-inset-bottom))}}
.detail-history{display:grid;grid-template-columns:1fr auto}.detail-history-bar{grid-column:1/-1}
/* Action links keep readable text inside the detail-card link styling. */
.detail-box a.btn{color:#fff;text-decoration:none;text-align:center;display:block;padding:12px 16px;line-height:1.4}
