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