:root{--forest:#193b2a;--forest-2:#244c37;--cream:#f5f2e9;--paper:#fffefa;--line:#e9e2d4;--ink:#302d2b;--muted:#82796b;--rose:#8e3852;--rose-deep:#712c42;--gold:#bd8b25;--navy:#202b47;--shadow:0 10px 34px rgba(49,40,26,.045);--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:'Manrope','DM Sans',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:258px;flex:0 0 258px;background:var(--forest);color:#e7ede7;min-height:100vh;padding:25px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#42614e transparent}.brand{font:800 25px var(--display);letter-spacing:-1.4px;padding:0 14px 23px;display:flex;align-items:center;gap:10px;color:#fff}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px 10px 10px 3px;background:#f7f3e8;color:var(--forest);font-size:20px;letter-spacing:-2px}.brand-dot{color:#d9b342}.couple-switcher{margin:0 4px 22px;padding:12px 10px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);border-radius:14px;display:flex;align-items:center;gap:9px;font-size:12px}.couple-switcher strong{font-size:12px;color:white;display:block}.couple-switcher small{display:block;color:#b8c7ba;margin-top:2px}.avatar-stack{display:flex;padding-left:2px}.avatar{width:29px;height:29px;border-radius:50%;display:inline-grid;place-items:center;color:white;font-weight:700;font-size:12px;border:2px solid var(--paper);flex:0 0 auto}.avatar-stack .avatar+.avatar{margin-left:-9px}.avatar-rose{background:#bd7184}.avatar-blue{background:#6199a1}.switcher-dots{margin-left:auto;letter-spacing:2px;color:#bac9bc}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;height:47px;border:0;background:transparent;color:#d6dfd7;text-align:left;border-radius:12px;padding:0 13px;display:flex;align-items:center;gap:13px;font-weight:500;font-size:14px;transition:.18s}.nav-item:hover,.subnav button:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:#f9f7ef;color:var(--forest);font-weight:700}.nav-icon{font-size:20px;width:22px;text-align:center;line-height:1;color:inherit}.heart-icon{font-size:24px}.nav-parent{font-weight:600}.nav-parent.expanded,.nav-parent.active{background:#f9f7ef;color:var(--forest);font-weight:750}.nav-chevron{margin-left:auto;font-size:20px;color:#a9b8aa}.subnav{margin:4px 0 10px 23px;padding:2px 0 5px 19px;border-left:1px solid rgba(232,241,233,.17);display:flex;flex-direction:column;gap:1px}.subnav button{min-height:36px;color:#bfccc1;background:transparent;border:0;text-align:left;padding:7px 10px;border-radius:8px;font-size:13px;line-height:1.25}.subnav button.active{background:rgba(255,255,255,.1);color:white;font-weight:700}.more-group{margin-top:8px}.more-subnav{display:none}.more-subnav.open{display:flex}.nav-caption{font-size:10px;letter-spacing:1.05px;color:#829888;font-weight:700;padding:15px 9px 5px}.sidebar-bottom{margin-top:auto;padding:18px 9px 0;display:flex;align-items:center;gap:8px;font-size:10px;color:#a9b9ac}.sync-dot{width:7px;height:7px;background:#7cba89;border-radius:50%;box-shadow:0 0 0 4px rgba(124,186,137,.12)}.main-column{min-width:0;flex:1}.topbar{height:68px;padding:0 38px;border-bottom:1px solid rgba(70,59,43,.07);display:flex;align-items:center;justify-content:space-between;background:rgba(250,248,241,.75);position:sticky;top:0;z-index:8;backdrop-filter:blur(14px)}.breadcrumbs{display:flex;align-items:center;gap:9px;color:#958b7c;font-size:12px}.breadcrumbs strong{color:#49443e;font-weight:700}.crumb-sep{opacity:.6}.top-actions{display:flex;align-items:center;gap:15px}.date-chip{background:#fffefa;border:1px solid var(--line);padding:8px 12px;border-radius:30px;font-size:11px;color:#776e60}.icon-button{position:relative;border:0;background:transparent;color:#746d61;font-size:21px}.notification-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:#c79734;right:0;top:1px;border:1px solid var(--cream)}.profile-button{display:flex;align-items:center;border:0;background:transparent;padding:0;gap:0}.profile-button .avatar+.avatar{margin-left:-8px}.profile-name{font-size:11px;margin:0 8px;color:#5d554b;font-weight:600}.tiny-chevron{color:#998f80}.mobile-menu{display:none}.content{max-width:1500px;margin:0 auto;padding:29px 38px 54px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:1px 0 22px;gap:18px}.eyebrow{color:#a4874c;text-transform:uppercase;font-size:10px;letter-spacing:1.7px;font-weight:700;margin-bottom:8px}.page-heading h1{font:800 27px var(--display);letter-spacing:-1.15px;margin:0;color:#302c28}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.heading-actions{display:flex;gap:9px;align-items:center}.btn{border:0;border-radius:11px;padding:10px 15px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .16s,background .16s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--forest);color:white}.btn-primary:hover{background:var(--forest-2)}.btn-light{background:#f0ece2;color:#403a32}.btn-outline{border:1px solid #ddd4c5;background:transparent;color:#5f574c}.btn-rose{background:var(--rose);color:#fff}.btn-sm{padding:8px 11px;font-size:11px}.text-button{background:transparent;border:0;color:#927122;font-weight:700;font-size:12px;padding:4px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.panel-pad{padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-heading h2,.panel-heading h3{font:800 16px var(--display);margin:0;letter-spacing:-.4px}.muted{color:var(--muted)}.tiny{font-size:11px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(225px,.84fr) minmax(360px,1.42fr) minmax(290px,1.13fr);gap:20px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}.couple-card{padding:12px 12px 16px;text-align:center;transform:rotate(-.6deg)}.couple-art{height:180px;border-radius:14px;background:linear-gradient(145deg,#bd786b,#984d64 58%,#74364b);display:flex;align-items:center;justify-content:center;color:white;font:800 41px var(--display);letter-spacing:2px;position:relative;overflow:hidden}.couple-art:before,.couple-art:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;width:210px;height:210px}.couple-art:after{width:275px;height:275px}.couple-art span{position:relative;z-index:1;text-shadow:0 4px 16px rgba(68,28,37,.2)}.couple-caption{font:700 15px var(--display);margin:13px 0 1px}.together-since{font-size:10px;color:#a19789}.date-night{padding:19px 20px}.date-night h3{font:800 15px var(--display);margin:0 0 8px}.date-night p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 13px}.date-night .btn{padding:9px 13px}.timeline-panel{padding:20px}.timeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.timeline-card{border-radius:14px;padding:13px 14px 12px;min-height:70px;border-left:4px solid #c06e81;background:#f5eaed}.timeline-card:nth-child(4n+2){border-color:#5f9aa3;background:#e8f0f1}.timeline-card:nth-child(4n+3){border-color:#c99823;background:#f6f1df}.timeline-card:nth-child(4n){border-color:#8d7099;background:#eee9f0}.timeline-card:nth-child(4n+5){border-color:#67976e;background:#e9f0e9}.timeline-card strong{display:block;font:700 12px var(--display);margin-bottom:4px}.timeline-card span{font-size:11px;color:#847868}.timeline-empty{grid-column:1/-1;padding:16px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted);font-size:12px}.prompt-card{border-radius:22px;padding:20px;background:linear-gradient(145deg,#91415b,#752e47);color:white;box-shadow:0 14px 30px rgba(91,34,54,.1)}.prompt-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.category-chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border-radius:30px;padding:7px 10px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.36);font-size:10px;font-weight:600}.chip.selected,.chip:hover{background:#fff;color:var(--rose);border-color:#fff}.history-btn{border-radius:30px;background:rgba(58,16,33,.3);color:#fff;padding:8px 11px;font-size:10px;border:0;white-space:nowrap}.prompt-question{font:800 22px/1.3 var(--display);letter-spacing:-.55px;margin:18px 0 17px}.prompt-actions{display:flex;gap:7px;flex-wrap:wrap}.prompt-actions .btn{padding:9px 12px;font-size:11px}.prompt-actions .btn-primary{background:#682940}.reflection-panel,.journal-panel{padding:19px}.reflection-people{display:flex;flex-direction:column;gap:9px}.reflection-person{display:flex;align-items:center;gap:9px}.reflection-person .avatar{width:31px;height:31px;border:0}.reflection-person strong{font-size:11px}.status-pill{background:#fbf0d6;color:#8b671d;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700;margin-left:auto}.reflection-note{font-size:11px;color:#898071;margin:12px 0 0}.reflection-done{background:#eef3e9;color:#57704e}.journal-entry{padding:10px 0;border-bottom:1px solid var(--line)}.journal-entry:last-child{border:0;padding-bottom:0}.journal-entry .entry-date{font-size:10px;color:#958977;font-weight:700}.journal-entry p{margin:4px 0 0;font-size:11px;line-height:1.5}.wisdom-card{border-radius:20px;background:var(--navy);color:#f9f8f2;padding:18px 20px}.wisdom-kicker{font-size:10px;letter-spacing:1.1px;font-weight:700;color:#bfc8da}.wisdom-quote{font:700 16px/1.45 var(--display);margin:13px 0 7px}.wisdom-hint{font-size:11px;color:#ccd2df;line-height:1.45;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.metric-card{padding:17px 18px;background:#fffefa;border:1px solid var(--line);border-radius:17px}.metric-label{font-size:11px;color:#8e8475}.metric-value{font:800 21px var(--display);margin:8px 0 5px;letter-spacing:-.7px}.metric-foot{font-size:10px;color:#81947d}.metric-icon{float:right;width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:#edf2e8;color:#526e4f;font-size:14px}.finance-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.chart-panel,.budget-panel,.table-panel{padding:20px}.chart-bars{height:180px;display:flex;align-items:flex-end;gap:13px;padding:12px 6px 0;border-bottom:1px solid var(--line)}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:flex-end}.bar-stack{height:calc(100% - 19px);width:min(29px,68%);display:flex;flex-direction:column;justify-content:flex-end;gap:3px}.bar{width:100%;border-radius:5px 5px 2px 2px;background:#d3b66d}.bar.income{background:#7e9f78}.bar-label{font-size:9px;color:#9b907e}.legend{display:flex;gap:16px;font-size:10px;color:#8d8476;margin-top:12px}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px;background:#7e9f78}.legend .expense-dot{background:#d3b66d}.budget-row{margin:14px 0}.budget-row:first-of-type{margin-top:8px}.budget-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.budget-label span:last-child{color:#877d6e}.progress-track{height:7px;background:#eeeae0;border-radius:9px;overflow:hidden}.progress-value{height:100%;background:#789476;border-radius:9px}.progress-value.warning{background:#bd9650}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:530px}.data-table th{text-align:left;font-size:10px;letter-spacing:.35px;color:#948979;font-weight:600;padding:10px 8px;border-bottom:1px solid var(--line)}.data-table td{font-size:11px;padding:12px 8px;border-bottom:1px solid #f0ece4;white-space:nowrap}.data-table tr:last-child td{border:0}.category-icon{width:28px;height:28px;border-radius:9px;background:#f5eee3;display:inline-grid;place-items:center;margin-right:8px;vertical-align:middle}.amount-negative{color:#8b4353;font-weight:700}.amount-positive{color:#577b56;font-weight:700}.tag{font-size:9px;border-radius:20px;padding:4px 7px;background:#f2efe7;color:#786f61}.split-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.summary-strip{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.summary-mini{padding:12px 15px;background:#fffefa;border:1px solid var(--line);border-radius:13px;min-width:145px;flex:1}.summary-mini span{font-size:10px;color:#918777}.summary-mini strong{display:block;font:800 16px var(--display);margin-top:5px}.budget-list .budget-row{padding-bottom:13px;border-bottom:1px solid #f0ece4}.budget-list .budget-row:last-child{border:0}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.calendar-panel{padding:20px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-head h2{font:800 16px var(--display);margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-dayname{text-align:center;font-size:9px;color:#93897b;font-weight:700;padding:6px}.calendar-cell{height:67px;border:1px solid #eee9de;border-radius:10px;padding:7px;font-size:10px;color:#685f53;background:#fffefa}.calendar-cell.dim{color:#c5bdae;background:#faf8f3}.calendar-cell.today{border:1.5px solid #678567;background:#f0f4ec}.calendar-event-dot{display:block;margin-top:6px;background:#f4e8ed;color:#8f4359;border-radius:6px;padding:3px 5px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-list{padding:17px}.event-item{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.event-item:last-child{border:0}.event-date{width:42px;height:42px;border-radius:11px;background:#f4ebed;display:grid;place-items:center;text-align:center;color:#8a4257;font-size:9px;font-weight:700;line-height:1.1}.event-item strong{font-size:11px;display:block;margin:3px 0}.event-item small{font-size:9px;color:#998f80}.together-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.together-grid .prompt-card{grid-row:span 1}.section-timeline{display:grid;grid-template-columns:1fr 1fr;gap:10px}.section-timeline .timeline-card{min-height:86px}.empty-state{text-align:center;padding:34px 18px}.empty-illustration{width:48px;height:48px;border-radius:16px;background:#f3eee4;display:grid;place-items:center;margin:0 auto 13px;font-size:23px}.empty-state h3{font:800 15px var(--display);margin:0 0 6px}.empty-state p{font-size:11px;color:var(--muted);margin:0 auto 14px;max-width:310px;line-height:1.55}.generic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{padding:18px}.feature-card .feature-icon{width:36px;height:36px;border-radius:12px;background:#eef2e9;display:grid;place-items:center;color:#57744e;margin-bottom:13px}.feature-card h3{font:800 14px var(--display);margin:0 0 6px}.feature-card p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 14px}.groceries-layout{display:grid;grid-template-columns:1fr 300px;gap:15px}.grocery-form{display:flex;gap:8px;margin-bottom:13px}.grocery-form input{flex:1}.grocery-item{display:flex;align-items:center;gap:10px;padding:11px 5px;border-bottom:1px solid #f0ece4;font-size:12px}.grocery-item input{accent-color:var(--forest)}.grocery-item.done span{text-decoration:line-through;color:#aaa192}.grocery-item button{margin-left:auto;border:0;background:transparent;color:#a79e90}.calc-card{max-width:480px;padding:20px}.calc-display{background:#f3f0e8;border-radius:14px;padding:20px;text-align:right;font:700 27px var(--display);margin-bottom:12px;min-height:75px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.calc-grid button{height:45px;border:0;border-radius:11px;background:#f2eee5;color:#39342e;font-weight:700}.calc-grid button.operator{background:#e5ecdf;color:#456442}.calc-grid button.equals{background:var(--forest);color:white}.modal{border:0;border-radius:20px;padding:0;width:min(480px,calc(100% - 28px));max-height:90vh;box-shadow:0 25px 90px rgba(23,28,22,.26);color:var(--ink)}.modal::backdrop{background:rgba(21,35,27,.48);backdrop-filter:blur(2px)}.modal-inner{padding:23px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-header h2{font:800 19px var(--display);margin:0}.modal-header p{font-size:11px;color:var(--muted);margin:5px 0 0}.modal-close{border:0;background:#f2eee6;width:30px;height:30px;border-radius:50%;font-size:18px;color:#6e6659}.form-field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.form-field label{font-size:11px;font-weight:700;color:#61594e}.form-field input,.form-field textarea,.form-field select,.grocery-form input{border:1px solid #e5dfd3;border-radius:10px;padding:11px 12px;outline:0;background:#fffefa;color:var(--ink);font-size:12px}.form-field textarea{resize:vertical;min-height:95px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.grocery-form input:focus{border-color:#81977a;box-shadow:0 0 0 3px rgba(129,151,122,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:19px}.toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translate(-50%,15px);background:#253c2d;color:white;padding:11px 16px;border-radius:12px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 9px 24px rgba(20,34,24,.2)}.toast.visible{opacity:1;transform:translate(-50%,0)}.mobile-footer{display:none}.divider{height:1px;background:var(--line);margin:15px 0}.pill-value{font-size:9px;border-radius:20px;padding:5px 8px;background:#f8efd9;color:#8b6d27}.inline-note{font-size:10px;color:#978d7e}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0ece4;font-size:12px}.settings-row:last-child{border:0}.settings-row span{color:var(--muted);font-size:10px}
@media(max-width:1200px){.sidebar{width:230px;flex-basis:230px}.content{padding-left:25px;padding-right:25px}.dashboard-grid{grid-template-columns:minmax(200px,.8fr) minmax(300px,1.3fr)}.dash-col-right{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.wisdom-card{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.sidebar{position:fixed;left:-270px;z-index:15;width:258px;transition:left .25s;box-shadow:16px 0 40px rgba(17,31,22,.22)}.sidebar.open{left:0}.topbar{padding:0 18px}.mobile-menu{display:block;border:0;background:transparent;color:var(--forest);font-size:19px;padding:4px 8px 4px 0}.breadcrumbs{margin-right:auto;margin-left:10px}.date-chip,.profile-name,.tiny-chevron{display:none}.content{padding:24px 18px 38px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.dash-col-right{grid-column:1/-1}.calendar-layout{grid-template-columns:1fr}.event-list{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.finance-grid{grid-template-columns:1fr}.split-layout{grid-template-columns:1fr}.groceries-layout{grid-template-columns:1fr}.mobile-footer{display:flex;justify-content:space-between;padding:0 20px 18px;font-size:10px;color:#9a907f}.mobile-footer span:first-child{font:800 16px var(--display);color:var(--forest)}}
@media(max-width:580px){.topbar{height:58px;padding:0 14px}.top-actions{gap:8px}.notification-button{display:none}.content{padding:20px 13px 30px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:17px}.page-heading h1{font-size:23px}.heading-actions{width:100%}.heading-actions .btn{flex:1}.dashboard-grid{grid-template-columns:1fr;gap:13px}.dash-col{gap:13px}.dash-col-right{grid-column:auto;display:flex}.couple-art{height:166px}.timeline-grid{gap:8px}.timeline-card{min-height:68px;padding:11px}.prompt-card{padding:17px}.prompt-top{align-items:flex-start;flex-direction:column}.prompt-question{font-size:20px}.metric-grid{gap:8px}.metric-card{padding:13px}.metric-value{font-size:17px}.metric-label{font-size:10px}.finance-grid{gap:12px}.chart-panel,.budget-panel,.table-panel{padding:15px}.calendar-panel{padding:12px}.calendar-cell{height:56px;padding:5px}.calendar-event-dot{font-size:7px;padding:2px}.event-list{grid-template-columns:1fr}.together-grid{grid-template-columns:1fr}.section-timeline{grid-template-columns:1fr 1fr}.generic-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.profile-button .avatar{width:27px;height:27px}.profile-button .avatar+.avatar{margin-left:-8px}}
.reminder-board{padding:17px 20px;margin-bottom:17px}.reminder-board .panel-heading{margin-bottom:8px}.reminder-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 3px;border-top:1px solid #f0ece4}.reminder-date{font-size:10px;color:#746b5d;font-weight:700}.reminder-info{display:flex;flex-direction:column;gap:3px;min-width:0}.reminder-info strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-info span,.reminder-status{font-size:9px;color:#8a8072}.reminder-status{padding:5px 8px;border-radius:20px;background:#f5f1e7;white-space:nowrap}.reminder-status.late{color:#98475b;background:#f7e9ed}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-card{padding:18px;min-width:0}.record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.record-kicker{display:block;color:#918675;font-size:9px;font-weight:700;letter-spacing:.3px;margin-bottom:5px}.record-top h3{font:800 15px var(--display);margin:0;overflow-wrap:anywhere}.record-icon{width:32px;height:32px;flex:0 0 auto;border-radius:11px;background:#eef2e9;color:#56734f;display:grid;place-items:center;font-size:16px}.record-amount{font:800 19px var(--display);letter-spacing:-.5px;margin:9px 0 12px}.record-amount small{font:500 10px var(--font);color:#968b7c;letter-spacing:0}.record-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:#81786b;font-size:10px}.status-chip{padding:5px 8px;border-radius:20px;background:#f5f1e7;color:#816b3b;font-size:9px;font-weight:700}.status-chip.done{background:#e9f1e7;color:#587251}.status-chip.late{background:#f7e9ed;color:#98475b}.record-grid>.empty-state{grid-column:1/-1}.record-grid .empty-state .btn{margin-top:3px}
@media(max-width:580px){.reminder-board{padding:15px;margin-bottom:13px}.reminder-row{grid-template-columns:49px minmax(0,1fr) auto;gap:8px}.reminder-row .text-button{grid-column:2/-1;justify-self:start;padding:2px 0}.reminder-status{font-size:8px;padding:4px 6px}.record-grid{grid-template-columns:1fr;gap:10px}.record-card{padding:15px}}
.notification-badge{position:absolute;right:-2px;top:-3px;min-width:16px;height:16px;border-radius:20px;background:#bc5360;color:#fff;border:2px solid var(--cream);font:700 8px var(--font);display:grid;place-items:center;padding:0 3px}.notification-badge[hidden],.side-badge[hidden]{display:none}.side-badge{margin-left:auto;min-width:17px;height:17px;border-radius:20px;background:#c75c62;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.notification-status{padding:13px 14px;border-radius:12px;background:#f2f0e8;color:#6f6659;font-size:11px;line-height:1.55;margin-bottom:16px}.notification-status.active{background:#edf3e9;color:#506d4c}.notification-settings{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:7px 0 16px}.notification-setting{display:flex;align-items:center;gap:9px;border:1px solid #eee9de;border-radius:11px;padding:10px 12px;font-size:11px;color:#61594d}.notification-setting input{accent-color:var(--forest)}.notification-amount{font-size:10px;color:#8e4356;font-weight:700;white-space:nowrap}.reminder-dismiss{border:0;background:transparent;color:#a29889;font-size:10px;padding:4px 5px}
.more-subnav button[data-page="notifications"]{display:flex;align-items:center}
@media(max-width:580px){.notification-settings{grid-template-columns:1fr}.notification-amount{grid-column:2/-1}}
:root{--forest:#2e5141;--forest-2:#244536;--cream:#f7f8f5;--paper:#fff;--line:#e8ebe5;--ink:#282f2b;--muted:#7e877f;--rose:#815064;--rose-deep:#694052;--gold:#a98543;--navy:#38463f;--shadow:0 2px 12px rgba(31,44,35,.025)}
body{background:var(--cream);color:var(--ink)}
.sidebar{background:#fff;color:#4f5a53;border-right:1px solid var(--line);box-shadow:none;scrollbar-color:#dce3dd transparent}
.brand{color:var(--forest);font-size:23px;padding-bottom:20px}.brand-mark{background:#edf2ee;color:var(--forest);border-radius:9px;font-size:18px}
.couple-switcher{background:#fafbf9;border:1px solid var(--line);color:#6f7971}.couple-switcher strong{color:#35443a}.couple-switcher small{color:#909990}.switcher-dots{color:#a0aaa1}
.nav-item{color:#667168;font-size:13px;border-radius:9px;height:43px;gap:12px}.nav-item:hover,.subnav button:hover{background:#f5f7f4;color:var(--forest)}.nav-item.active,.nav-parent.expanded,.nav-parent.active{background:#edf3ee;color:var(--forest);font-weight:700}.nav-icon{width:20px;height:20px;display:grid;place-items:center;color:currentColor}.nav-chevron{display:grid;place-items:center;color:#99a39a}.subnav{border-left-color:#e4e9e4}.subnav button{color:#737d75;font-size:12px;min-height:33px}.subnav button.active{background:#f0f4f0;color:var(--forest)}.nav-caption{color:#a1aaa1}.sidebar-bottom{color:#929b93}
.topbar{background:rgba(255,255,255,.9);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:11px}.date-chip{background:#fff;border-color:var(--line);color:#7b847b}.content{padding-top:32px}.page-heading h1{font-size:25px;letter-spacing:-.8px}.page-heading p{font-size:12px;color:#858e85}.eyebrow{color:#818d82;font-size:9px;letter-spacing:1.35px}
.panel{border-color:var(--line);border-radius:15px;box-shadow:none}.panel-pad,.timeline-panel,.reflection-panel,.journal-panel,.chart-panel,.budget-panel,.table-panel{padding:18px}.panel-heading h2,.panel-heading h3{font-size:15px}.btn{border-radius:9px;padding:9px 13px;font-size:11px}.btn-primary{background:var(--forest)}.btn-primary:hover{background:var(--forest-2)}.btn-light{background:#f2f4f1;color:#455148}.btn-outline{border-color:#dfe5df;color:#5f6a61}.text-button{color:#61776a;font-size:11px}.pill-value,.status-pill{background:#f2f3eb;color:#877249}
.couple-card{transform:none;padding:10px 10px 14px}.couple-art{height:165px;background:#eef2ec;color:#42624f;border-radius:12px;font-size:35px;letter-spacing:1px}.couple-art:before,.couple-art:after{display:none}.couple-caption{font-size:14px}.together-since{color:#8a948b}
.timeline-grid{gap:8px}.timeline-card{min-height:65px;padding:12px;border-radius:10px;background:#f6f7f4;border-left-width:2px;border-color:#98a99c}.timeline-card:nth-child(4n+2),.timeline-card:nth-child(4n+3),.timeline-card:nth-child(4n),.timeline-card:nth-child(4n+5){background:#f6f7f4}.timeline-card strong{font-size:11px}.timeline-card span{font-size:10px}
.prompt-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:15px;box-shadow:none;padding:18px}.prompt-question{font-size:19px;line-height:1.4;letter-spacing:-.35px;margin:17px 0}.chip{color:#657168;border-color:#e1e6e0;background:#fff;padding:6px 9px;font-size:9px}.chip.selected,.chip:hover{background:#edf3ee;color:var(--forest);border-color:#dfe8df}.history-btn{background:#f4f6f3;color:#59665c;border:1px solid #e8ebe5}.prompt-actions .btn-primary{background:#eaf0eb;color:#385541}.prompt-actions .btn-primary:hover{background:#e1ebe3}.prompt-actions .btn-outline{color:#69756c}
.wisdom-card{background:#f0f3ef;color:#414d44;border:1px solid #e4e9e3;padding:17px 18px}.wisdom-kicker{color:#7a887d}.wisdom-quote{font-size:14px}.wisdom-hint{color:#737e75;font-size:10px}.date-night h3{font-size:14px}.date-night{padding:17px 18px}
.metric-card{border-color:var(--line);border-radius:14px;box-shadow:none;padding:15px 16px}.metric-label{font-size:10px}.metric-value{font-size:19px}.metric-icon,.record-icon,.feature-icon,.empty-illustration{background:#f1f4f0;color:#617b68}.chart-bars{height:170px}.bar-stack{flex-direction:row;align-items:flex-end;justify-content:center}.bar{width:calc(50% - 2px)}
.record-card{border-radius:14px}.record-icon{width:30px;height:30px;border-radius:9px}.progress-track{background:#eef1ed}.progress-value{background:#78927d}.progress-value.warning{background:#b79a62}.reminder-board{padding:16px 18px}.reminder-row{border-color:#edf0eb}.reminder-status{background:#f3f5f2;color:#68746b}.reminder-status.late{background:#f7eeec;color:#9b6259}.notification-setting{border-color:#edf0eb}.notification-status{background:#f3f5f2;color:#667167}.notification-status.active{background:#eef3ed;color:#526b56}
.modal{border-radius:15px;box-shadow:0 20px 70px rgba(29,43,34,.16)}.modal::backdrop{background:rgba(31,43,35,.32)}.form-field input,.form-field textarea,.form-field select,.grocery-form input{border-color:#e4e9e3;border-radius:9px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.grocery-form input:focus{border-color:#91a496;box-shadow:0 0 0 3px rgba(115,145,121,.1)}
.mobile-menu{color:var(--forest);padding:5px 9px 5px 0}.mobile-menu .icon{width:19px;height:19px}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:17px;height:17px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.nav-icon .icon{width:18px;height:18px}.nav-chevron .icon{width:15px;height:15px}.metric-icon .icon,.record-icon .icon,.feature-icon .icon,.empty-illustration .icon{width:17px;height:17px}.history-btn,.prompt-actions .btn,.heading-actions .btn{display:inline-flex;align-items:center;gap:7px}.notification-button .icon{width:18px;height:18px}
.category-icon{font-size:0}.category-icon .icon{width:14px;height:14px}
@media(max-width:850px){.sidebar{box-shadow:12px 0 36px rgba(29,43,34,.12)}}
@media(max-width:580px){.page-heading h1{font-size:22px}.panel-pad,.timeline-panel,.reflection-panel,.journal-panel,.chart-panel,.budget-panel,.table-panel{padding:15px}.prompt-question{font-size:18px}.couple-art{height:150px}}
:root{--forest:#514b8a;--forest-2:#403b75;--cream:#e9eaf2;--paper:#fff;--line:#e9e9f1;--ink:#484777;--muted:#8584a2;--rose:#8764cb;--rose-deep:#6b55aa;--gold:#5496d8;--navy:#504c87;--shadow:0 8px 22px rgba(71,68,122,.055)}
body{background:#dfe1eb;color:#4a4878;font-family:var(--font)}
.app-shell{width:min(1460px,calc(100% - 64px));min-height:calc(100vh - 64px);margin:32px auto;padding:14px;gap:6px;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:0 22px 60px rgba(63,65,103,.12);overflow:hidden}
.sidebar{position:relative;top:auto;width:214px;flex:0 0 214px;height:auto;min-height:calc(100vh - 92px);padding:22px 13px 16px;background:#fff;border:0;border-radius:18px;color:#5f5c8a;overflow-y:auto;box-shadow:none}
.brand{padding:0 10px 23px;color:#514b8a}.brand-mark{background:#f0eff9;color:#514b8a}.couple-switcher{margin:0 20px 20px 0;background:#fafaff;border-color:#eeeefa}.couple-switcher strong{color:#4c497b}.couple-switcher small{color:#9291ad}.avatar{border-color:#fff}
.side-nav{gap:5px}.nav-item{height:42px;border-radius:10px;color:#716e99;font-size:12px}.nav-item:hover,.subnav button:hover{background:#f7f7fc;color:#4e4a83}.nav-item.active,.nav-parent.expanded,.nav-parent.active{background:#eef1fc;color:#4d4a85;box-shadow:inset 2px 0 #5797da}.nav-icon,.nav-chevron{color:currentColor}.subnav{border-left-color:#e9e8f2}.subnav button{color:#8583a1}.subnav button.active{background:#f0f2fc;color:#4f4b87}.nav-caption{color:#a1a0b7}.sidebar-bottom{color:#9998ae}.sync-dot{background:#6caddf;box-shadow:0 0 0 4px rgba(108,173,223,.12)}
.main-column{min-width:0;flex:1;min-height:calc(100vh - 92px);background:#eceef5;border-radius:20px;overflow:hidden}.topbar{height:61px;padding:0 27px;background:transparent;border:0;backdrop-filter:none}.breadcrumbs{color:#9291a9}.breadcrumbs strong{color:#514f80}.date-chip{background:#fff;border:0;border-radius:20px;color:#76769b;padding:7px 11px}.icon-button{color:#575487}.profile-button .avatar{border-color:#eceef5}.profile-name{color:#66648d}
.content{max-width:none;padding:25px 28px 42px}.page-heading{margin:0 0 19px}.eyebrow{color:#5895cf}.page-heading h1{color:#484777;font-size:24px}.page-heading p{color:#8584a1}.panel,.metric-card{border:0;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(72,70,118,.045)}.panel-heading h2,.panel-heading h3{color:#514e82}.panel-pad,.timeline-panel,.reflection-panel,.journal-panel,.chart-panel,.budget-panel,.table-panel{padding:18px}.btn{border-radius:9px}.btn-primary{background:#565194;color:#fff}.btn-primary:hover{background:#47437f}.btn-light{background:#f1f3fa;color:#535180}.btn-outline{border-color:#d8d9e9;color:#5d5a8b}.text-button{color:#4f83b5}.date-night{background:#fff}.couple-art{background:#eff0fb;color:#5b5097}.together-since{color:#8c8ba7}
.timeline-card,.timeline-card:nth-child(4n+2),.timeline-card:nth-child(4n+3),.timeline-card:nth-child(4n),.timeline-card:nth-child(4n+5){background:#f8f9fd;border-left-color:#79a9df;color:#4d4b7e}.timeline-card:nth-child(4n+2){border-left-color:#9a81cf}.timeline-card:nth-child(4n+3){border-left-color:#78b5c7}.timeline-card:nth-child(4n){border-left-color:#96a1db}.timeline-card:nth-child(4n+5){border-left-color:#87b69f}.timeline-card span{color:#8584a1}
.prompt-card{background:#fff;color:#4b497a;border:0;box-shadow:0 5px 18px rgba(72,70,118,.045)}.prompt-question{color:#4b497a}.chip{color:#73719a;border-color:#e4e5f0}.chip.selected,.chip:hover{background:#eef2fc;color:#4d4a85;border-color:#dce5f7}.history-btn{background:#f5f6fb;color:#5b5989;border-color:#ececf5}.prompt-actions .btn-primary{background:#565194;color:#fff}.prompt-actions .btn-primary:hover{background:#47437f}.wisdom-card{background:#e7e9f5;color:#4f4c80;border:0}.wisdom-kicker{color:#7170a0}.wisdom-quote{color:#4d4b7c}.wisdom-hint{color:#767592}
.metric-card{background:#fff;border:0;box-shadow:0 5px 18px rgba(72,70,118,.045)}.metric-label,.tiny{color:#8584a1}.metric-value{color:#4b4979}.metric-icon,.record-icon,.feature-icon,.empty-illustration{background:#f0f2fb;color:#568dc5}.chart-bars{border-bottom-color:#e8e8f1}.bar{background:#9d91d8}.bar.income{background:#62a4d8}.legend{color:#8584a1}.legend i{background:#62a4d8}.legend .expense-dot{background:#9d91d8}.progress-track{background:#f0f0f7}.progress-value{background:#6ba1d0}.progress-value.warning{background:#bc9ad4}.tag{background:#f3f3fa;color:#77759a}.category-icon{background:#f0f2fb;color:#668dbd}.amount-negative{color:#986083}.amount-positive{color:#588d78}
.reminder-board{background:#fff}.reminder-row{border-top-color:#eff0f6}.reminder-status{background:#f0f2fa;color:#74729a}.reminder-status.late,.status-chip.late{background:#f8edf4;color:#a16687}.status-pill{background:#f1f2fb;color:#817bb0}.status-pill.reflection-done{background:#edf5f2;color:#5d927e}.status-chip{background:#f0f2fb;color:#706d9a}.status-chip.done{background:#edf5f2;color:#5d927e}.notification-status{background:#f2f3fa;color:#6f6d95}.notification-status.active{background:#eff5f9;color:#587f9e}.notification-setting{border-color:#ececf4;color:#66648c}.notification-setting input{accent-color:#55508f}
.calendar-panel,.calendar-cell{background:#fff}.calendar-cell{border-color:#eff0f6}.calendar-cell.today{border-color:#6c9ed0;background:#f2f6fc}.calendar-event-dot{background:#eff1fb;color:#5a568e}.event-date{background:#eff1fb;color:#5b568d}.data-table th{color:#8584a1;border-color:#ececf4}.data-table td{border-color:#f0f0f6}.modal{color:#4b4979}.modal-close{background:#f1f2f8;color:#6c6a91}.form-field label{color:#615f8c}.form-field input,.form-field textarea,.form-field select,.grocery-form input{border-color:#e7e7f0;background:#fff}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.grocery-form input:focus{border-color:#82a9d5;box-shadow:0 0 0 3px rgba(105,152,207,.12)}.notification-badge,.side-badge{background:#588fd0}
.mobile-footer{color:#8988a5}.mobile-footer span:first-child{color:#514b8a}.toast{background:#514b8a}
@media(max-width:1200px){.app-shell{width:calc(100% - 40px);margin:20px auto;min-height:calc(100vh - 40px)}.sidebar{min-height:calc(100vh - 68px)}.main-column{min-height:calc(100vh - 68px)}}
@media(max-width:850px){.app-shell{width:100%;min-height:100vh;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible;gap:0;background:#eceef5}.sidebar{position:fixed;left:-270px;top:0;z-index:15;width:258px;flex-basis:258px;height:100vh;min-height:100vh;padding:25px 16px 18px;border:0;border-right:12px solid transparent;background-clip:padding-box;border-radius:0 20px 20px 0;box-shadow:14px 0 32px rgba(63,65,103,.16);transition:left .25s}.sidebar.open{left:0}.main-column{min-height:100vh;border-radius:0}.topbar{background:rgba(236,238,245,.9);padding:0 18px}.profile-button .avatar{border-color:#eceef5}}
@media(max-width:580px){.content{padding:20px 13px 30px}.topbar{height:58px;padding:0 14px}.panel,.metric-card{border-radius:14px}.couple-art{height:150px}.couple-card{background:#fff}.page-heading h1{font-size:22px}}
@media(min-width:851px){
  .app-shell{gap:0}
  .sidebar{padding-right:0;border-radius:18px 0 0 18px}
  .main-column{border-radius:24px}
  .nav-item.active{background:#eceef5;color:#4d4a85;border-radius:26px 0 0 26px;box-shadow:none;position:relative;z-index:2}
  .nav-item.active:hover{background:#eceef5;color:#4d4a85}
  .nav-parent.active,.nav-parent.expanded{background:transparent;color:#4f4b87;box-shadow:none;border-radius:10px;font-weight:700}
  .subnav button.active{min-height:42px;padding-top:9px;padding-bottom:9px;background:#eceef5;color:#4d4a85;border-radius:24px 0 0 24px;position:relative;z-index:2}
  .subnav button.active:hover{background:#eceef5;color:#4d4a85}
}
.custom-select{position:relative;width:100%;min-width:0}
.custom-select-trigger{width:100%;min-height:43px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e7e7f0;border-radius:9px;background:#fff;color:#514f80;text-align:left;font-size:12px;transition:border-color .16s,box-shadow .16s}
.custom-select-trigger:hover,.custom-select-trigger[aria-expanded="true"]{border-color:#a9b9dc;box-shadow:0 0 0 3px rgba(105,152,207,.08)}
.custom-select-current{display:flex;align-items:center;gap:9px;min-width:0}
.custom-select-current-icon,.custom-select-option-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#f0f2fb;color:#608cc2}
.custom-select-current-icon .icon,.custom-select-option-icon .icon{width:15px;height:15px}
.custom-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.custom-select-chevron{width:14px;height:14px;color:#8684a4;transition:transform .16s}
.custom-select-trigger[aria-expanded="true"] .custom-select-chevron{transform:rotate(180deg)}
.custom-select-menu{position:fixed;z-index:10000;min-width:180px;max-height:260px;overflow:auto;padding:5px;background:#fff;border:1px solid #e4e5f0;border-radius:12px;box-shadow:0 12px 30px rgba(71,68,122,.16);overscroll-behavior:contain}
.custom-select-menu[hidden]{display:none}
.custom-select-option{width:100%;display:flex;align-items:center;gap:9px;padding:7px 8px;border:0;border-radius:8px;background:transparent;text-align:left;color:#514f80;font-size:12px;line-height:1.3}
.custom-select-option:hover,.custom-select-option.selected{background:#f0f2fb}
.custom-select-option-icon{width:25px;height:25px}
.custom-select-option>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.custom-select-check{margin-left:auto;color:#588fd0;font-weight:700}
@media(max-width:580px){.custom-select-menu{max-height:220px}.custom-select-trigger{min-height:42px;padding:7px 9px}}
.transaction-wallet{display:block;margin:4px 0 0 23px;color:#8988a5;font-size:10px}
.record-note{margin:0 0 10px;font-size:11px;line-height:1.5}
.info-notice{max-width:720px}
.info-notice p{margin:14px 0 0;color:#777694;font-size:13px;line-height:1.7}
.transaction-filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:-2px 0 15px}
.transaction-filter-field{display:flex;flex-direction:column;gap:5px;color:#777694;font-size:10px;font-weight:700;min-width:180px}
.transaction-filter-field input{min-height:38px;padding:8px 10px;border:1px solid #e7e7f0;border-radius:9px;background:#fff;color:#514f80;font-size:11px;outline:0}
.transaction-filter-field input:focus{border-color:#82a9d5;box-shadow:0 0 0 3px rgba(105,152,207,.1)}
.transaction-filter-reset{min-height:37px;padding:8px 11px}
.transaction-result-count{margin-left:auto;padding:0 2px 10px;color:#8584a1;font-size:10px;white-space:nowrap}
.transaction-result-count strong{color:#514b8a}
.transaction-actions{display:flex;align-items:center;gap:6px}
.transaction-delete{padding:4px;border:0;background:transparent;color:#a16687;font-size:10px;font-weight:700}
.transaction-delete:hover{text-decoration:underline}
.transaction-history-row[hidden]{display:none}
.info-notice .status-chip{display:inline-flex}
@media(max-width:580px){.transaction-filter-field{flex:1;min-width:140px}.transaction-result-count{margin-left:0}.transaction-filter-reset{flex:0 0 auto}}
.onboarding-card{padding:20px;margin-bottom:16px;border:1px solid #e9e9f1;background:linear-gradient(135deg,#fff 0%,#fbfbff 100%)}
.onboarding-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.onboarding-kicker{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#5895cf}
.onboarding-heading h2{margin:5px 0 4px;color:#4d4a85;font:800 18px var(--display);letter-spacing:-.35px}
.onboarding-heading p,.onboarding-step p,.onboarding-footer p{margin:0;color:#8584a1;font-size:11px;line-height:1.55}
.onboarding-icon,.onboarding-step-icon{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#f0f2fb;color:#608cc2}
.onboarding-icon .icon{width:18px;height:18px}
.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.onboarding-step{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #ececf4;border-radius:12px;background:#fff;min-width:0}
.onboarding-step.done{border-color:#e1ede6;background:#fbfdfb}
.onboarding-step.done .onboarding-step-icon{background:#edf5f2;color:#5d927e}
.onboarding-step-icon{width:30px;height:30px;border-radius:9px}
.onboarding-step-icon .icon{width:16px;height:16px}
.onboarding-step-copy{min-width:0}
.onboarding-step-title{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.onboarding-step-title strong{color:#514e82;font-size:11px}
.onboarding-status{flex:0 0 auto;padding:3px 6px;border-radius:20px;background:#f1f2fa;color:#817bb0;font-size:8px;font-weight:700}
.onboarding-step.done .onboarding-status{background:#edf5f2;color:#5d927e}
.onboarding-step p{margin:6px 0 8px;font-size:10px}
.onboarding-step .text-button{font-size:10px}
.feature-guide{margin-top:14px;border-top:1px solid #ececf4;padding-top:12px}
.feature-guide summary{width:max-content;max-width:100%;cursor:pointer;color:#57548b;font-size:11px;font-weight:700;list-style:none}
.feature-guide summary::-webkit-details-marker{display:none}
.feature-guide summary:after{content:'＋';margin-left:8px;color:#5895cf}
.feature-guide[open] summary:after{content:'−'}
.feature-guide-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.feature-guide-group h3{margin:0 0 7px;color:#9291ad;font-size:9px;letter-spacing:.8px}
.feature-guide-group>p{margin:0;color:#8584a1;font-size:10px;line-height:1.6}
.feature-guide-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border:0;border-bottom:1px solid #f0f0f6;background:transparent;text-align:left;color:#66648c}
.feature-guide-link:hover{color:#4f83b5}
.feature-guide-link>span:first-child{display:grid;gap:2px}
.feature-guide-link strong{font-size:10px}
.feature-guide-link small{color:#9291a9;font-size:9px;line-height:1.45}
.onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid #ececf4}
.onboarding-footer p{max-width:670px;font-size:9px}
.onboarding-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;margin-bottom:15px}
.onboarding-compact strong{color:#514e82;font-size:11px}
.onboarding-compact p{margin:3px 0 0;color:#8584a1;font-size:10px}
.onboarding-compact .btn{display:inline-flex;align-items:center;gap:6px}
@media(max-width:850px){.feature-guide-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.onboarding-card{padding:15px}.onboarding-heading h2{font-size:16px}.onboarding-steps,.feature-guide-groups{grid-template-columns:1fr}.onboarding-step{padding:11px}.onboarding-footer{align-items:flex-start;flex-direction:column}.onboarding-compact{align-items:flex-start;flex-direction:column}}

/* Empty states and concise setup completion. */
.transaction-meta{display:flex;align-items:center;gap:7px;margin:4px 0 0 36px}
.transaction-wallet{margin:0}
.transaction-empty{padding:42px 18px}
.empty-state-compact{padding:20px 12px}
.empty-state-compact p{margin-bottom:10px}
.onboarding-compact{background:#fff;border:1px solid #e9e9f1;border-radius:16px}
.onboarding-compact-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#f0f2fb;color:#608cc2}
.onboarding-compact-icon .icon{width:17px;height:17px}
.onboarding-compact>div{flex:1;min-width:0}
.onboarding-compact.onboarding-complete{background:#fbfdfb;border-color:#e1ede6}
.onboarding-complete .onboarding-compact-icon{background:#edf5f2;color:#5d927e}
.report-breakdowns{width:100%;max-width:920px}
@media(max-width:580px){.onboarding-compact{align-items:center;flex-direction:row}.onboarding-compact .btn{flex:0 0 auto;padding:8px 9px;font-size:10px}}
@media(min-width:851px){
  .app-shell{gap:0}
  .sidebar{padding:22px 0 16px 14px;border-radius:18px 0 0 18px}
  .side-nav{gap:6px}
  .nav-item{height:44px;font-size:13px}
  .subnav{margin:4px 0 10px;padding:2px 0 5px 9px;border-left:0;gap:3px}
  .subnav button{min-height:37px;padding:8px 12px 8px 32px;font-size:13px}
  .nav-item.active{border-radius:28px 0 0 28px}
  .subnav button.active{min-height:43px;padding:10px 12px 10px 32px;border-radius:25px 0 0 25px}
  .nav-item.active:hover,.subnav button.active:hover{background:#eceef5;color:#4d4a85}
}
@media(min-width:1201px){.sidebar{width:246px;flex-basis:246px}}

/* Compact dashboard and persistent navigation for phones and tablets. */
.mobile-brand,.mobile-search,.mobile-tabbar,.mobile-fab,.mobile-financial-overview{display:none}
@media(max-width:850px){
  body,.app-shell{background:#fff}
  .sidebar{z-index:20}
  .main-column{overflow:visible;background:#fff;border-radius:0;min-height:100vh}
  .topbar{height:76px;padding:0 20px;background:rgba(255,255,255,.96);border:0;backdrop-filter:blur(14px)}
  .mobile-menu,.breadcrumbs{display:none}
  .mobile-brand{display:flex;flex-direction:column;gap:0;line-height:1.15;color:#302d2b}
  .mobile-brand strong{font:750 19px var(--display);letter-spacing:-.35px}
  .mobile-brand span{font-size:12px;color:#898477;font-weight:600}
  .top-actions{margin-left:auto;gap:16px}
  .date-chip,.profile-button{display:none}
  .mobile-search,.notification-button{display:grid;width:30px;height:34px;place-items:center;padding:0;border:0;background:transparent;color:#302d2b;position:relative}
  .mobile-search .icon,.notification-button .icon{width:23px;height:23px}
  .content{max-width:960px;margin:0 auto;padding:4px 20px 128px}
  .home-page-heading,.finance-page-heading{display:none}
  .mobile-financial-overview{display:block}
  .mobile-wealth-card{padding:24px 22px 18px;background:#244c37;color:#fff;border-radius:28px;margin:0 0 22px;box-shadow:0 10px 28px rgba(36,76,55,.12)}
  .mobile-wealth-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#cbd8ce;font-size:11px;font-weight:750;letter-spacing:.65px}
  .wealth-visibility{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:16px;background:rgba(255,255,255,.13);color:#fff;flex:0 0 auto}
  .wealth-visibility .icon{width:21px;height:21px}
  .mobile-net-worth-label{font-size:13px;font-weight:650;color:#dce6de;margin-top:5px}
  .mobile-net-worth-value{display:block;font:800 clamp(25px,6vw,34px) var(--display);letter-spacing:-.7px;margin-top:3px;overflow-wrap:anywhere}
  .mobile-wealth-card>p{font-size:12px;line-height:1.4;color:#d2ddd4;margin:3px 0 14px}
  .mobile-wealth-split{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-wealth-split>div{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border-radius:18px;background:rgba(255,255,255,.095);min-width:0}
  .mobile-wealth-split span{font-size:13px;font-weight:750}
  .mobile-wealth-split small{font-size:11px;color:#c8d5ca}
  .mobile-wealth-split strong{font-size:15px;overflow-wrap:anywhere}
  .mobile-wallet-summary{display:grid;gap:6px;margin-top:10px;padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.095)}
  .mobile-wallet-summary>span{font-size:10px;font-weight:750;letter-spacing:.7px;color:#c4d2c7}
  .mobile-wallet-summary strong{font-size:13px}
  .mobile-wallet-summary strong i{font-style:normal;color:#a8bcae;padding:0 4px}
  .mobile-wallet-summary small{font-size:10px;line-height:1.45;color:#c8d5ca}
  .mobile-wealth-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}
  .mobile-wealth-footer>span{padding:8px 11px;border-radius:30px;background:rgba(120,190,133,.2);color:#d1e8d5;font-size:11px;font-weight:700}
  .mobile-wealth-footer button{border:0;background:transparent;color:#fff;font-size:12px;font-weight:750;padding:8px 2px}
  .mobile-finance-shortcuts{margin:0 0 21px}
  .mobile-shortcuts-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
  .mobile-shortcuts-heading h2{margin:0;color:#716b60;font-size:13px;letter-spacing:.65px;text-transform:uppercase}
  .mobile-shortcuts-heading button{border:0;background:transparent;color:#898477;font-size:11px;font-weight:700;padding:6px 0}
  .mobile-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2px;column-gap:5px}
  .mobile-shortcut{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:5px 2px;border:0;background:transparent;color:#302d2b;font-size:11px;font-weight:700;text-align:center;line-height:1.25}
  .mobile-shortcut>span:last-child{max-width:100%;min-height:24px;display:flex;align-items:flex-start;justify-content:center}
  .mobile-shortcut-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#fff}
  .mobile-shortcut-icon .icon{width:25px;height:25px}
  .mobile-shortcut-icon.ink{background:#292623}.mobile-shortcut-icon.gold{background:#c9a126}.mobile-shortcut-icon.rose{background:#ae6f64}
  .mobile-shortcut-icon.green{background:#5e956b}.mobile-shortcut-icon.blue{background:#7285b0}.mobile-shortcut-icon.teal{background:#4d9290}
  .mobile-shortcut-icon.navy{background:#415e78}.mobile-shortcut-icon.orange{background:#cf8b49}.mobile-shortcut-icon.olive{background:#8b913e}
  .mobile-tabbar{position:fixed;z-index:18;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #eeece7;box-shadow:0 -5px 20px rgba(45,42,35,.045);backdrop-filter:blur(14px)}
  .mobile-tabbar button{min-width:0;min-height:57px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:18px;background:transparent;color:#a49c8c;padding:5px 2px;font-size:10px;font-weight:650;white-space:nowrap}
  .mobile-tabbar button .icon{width:20px;height:20px}
  .mobile-tabbar button.active{background:#f1efe8;color:#bd8b25;font-weight:750}
  .mobile-fab{position:fixed;z-index:19;right:15px;bottom:calc(108px + env(safe-area-inset-bottom));display:grid;place-items:center;width:64px;height:64px;border:0;border-radius:23px;background:#c9a126;color:#fff;font-size:34px;font-weight:400;line-height:1;box-shadow:0 8px 22px rgba(120,94,23,.24)}
  .mobile-footer{display:none}
  .dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
}
@media(min-width:700px) and (max-width:850px){
  .content{padding-left:28px;padding-right:28px}
  .mobile-wealth-card{padding:28px 30px 22px}
  .mobile-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}
  .mobile-shortcut-icon{width:64px;height:64px}
  .mobile-shortcut{font-size:12px}
  .mobile-tabbar{padding-left:40px;padding-right:40px}
}
@media(max-width:580px){
  .topbar{height:72px;padding:0 20px}
  .top-actions{gap:15px}
  .content{padding:8px 20px 128px}
  .mobile-wealth-card{padding:18px 18px 14px;border-radius:26px;margin-bottom:18px}
  .mobile-wealth-top{font-size:10px}
  .wealth-visibility{width:44px;height:44px;border-radius:15px}
  .mobile-wealth-card>p{margin:1px 0 10px}
  .mobile-wealth-split>div{padding:9px 11px}
  .mobile-wealth-split strong{font-size:14px}
  .mobile-wallet-summary{margin-top:8px;padding:10px}
  .mobile-wealth-footer{margin-top:10px}
  .mobile-shortcut-icon{width:54px;height:54px}
  .mobile-shortcut{font-size:10px}
  .mobile-tabbar{padding-left:8px;padding-right:8px}
  .mobile-tabbar button{font-size:9px;border-radius:16px}
  .mobile-tabbar button .icon{width:19px;height:19px}
  .mobile-fab{width:62px;height:62px;right:12px;border-radius:22px}
  .dashboard-grid{grid-template-columns:1fr;gap:13px}
  .dash-col{gap:13px}
  .dash-col-right{grid-column:auto;display:flex}
}

