@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Outfit:wght@300;400;500;600;700&family=Space+Mono:wght@400;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--void:#f5ede0;--deep:#eee3d3;--surface:#fdf8f3;--surface2:#ede3d4;--surface3:#e0d4c3;--white:#111111;--off:#333333;--muted:#666666;--hint:#999999;--sidebar:#1c1c1e;--sidebar2:#2a2a2d;--crimson:#c0272b;--crimson-d:#9e1f23;--crimson-dim:rgba(192,39,43,.08);--lime:var(--crimson);--lime-d:var(--crimson-d);--lime-dim:var(--crimson-dim);--blue:#1d4ed8;--coral:#e85d42;--gold:#d97706;--purple:#7c3aed;--red:#c0272b;--green:#059669;--border:rgba(101,72,42,.1);--border2:rgba(101,72,42,.18);--r:8px;--r-lg:14px}html{font-size:14px}body{font-family:Outfit,sans-serif;background:var(--void);color:var(--white);min-height:100vh;overflow-x:hidden}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{display:block}.nav-icon .icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-sm svg{width:14px;height:14px}.icon-md svg{width:18px;height:18px}.icon-lg svg{width:22px;height:22px}.icon-xl svg{width:28px;height:28px}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.app.collapsed{grid-template-columns:60px 1fr}.sidebar{background:var(--sidebar);border-right:.5px solid rgba(0,0,0,.2);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden;transition:width .25s}.sidebar-head{padding:20px 18px 16px;border-bottom:.5px solid rgba(255,255,255,.08);justify-content:space-between}.brand,.sidebar-head{display:flex;align-items:center}.brand{gap:10px;text-decoration:none}.brand-icon{width:30px;height:30px;background:var(--crimson);border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.brand-name{font-family:Playfair Display,serif;font-size:17px;font-weight:700;color:#fff;white-space:nowrap}.brand-name span{color:var(--crimson)}.collapse-btn{background:none;border:none;color:rgba(255,255,255,.35);cursor:pointer;padding:4px;transition:color .15s;flex-shrink:0}.collapse-btn:hover{color:#fff}.nav-section{padding:16px 12px 4px;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.28)}.nav-btn,.nav-section{white-space:nowrap;overflow:hidden}.nav-btn{display:flex;align-items:center;gap:12px;width:calc(100% - 12px);padding:9px 14px;background:none;border:none;cursor:pointer;font-size:13px;font-family:Outfit,sans-serif;color:rgba(255,255,255,.5);border-radius:var(--r);margin:1px 6px;transition:all .15s;text-align:left;text-decoration:none}.nav-btn:hover{background:rgba(255,255,255,.07);color:#fff;text-decoration:none}.nav-btn.active{background:rgba(192,39,43,.2);color:#ff8a8d;font-weight:500;border:.5px solid rgba(192,39,43,.35)}.nav-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.nav-label{overflow:hidden;transition:opacity .2s}.app.collapsed .brand-name,.app.collapsed .nav-label,.app.collapsed .nav-section{opacity:0;pointer-events:none}.plan-chip{margin:auto 12px 16px;padding:10px 12px;background:rgba(192,39,43,.12);border:.5px solid rgba(192,39,43,.3);border-radius:var(--r-lg);transition:opacity .2s}.app.collapsed .plan-chip{opacity:0;pointer-events:none}.plan-chip-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ff8a8d;margin-bottom:3px}.plan-chip-name{font-size:12px;font-weight:600;color:#fff}.plan-chip-sub{font-size:10px;color:rgba(255,255,255,.35);margin-top:2px}.topbar{background:rgba(245,237,224,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:.5px solid var(--border2);padding:0 28px;height:58px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(101,72,42,.1)}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:16px}.screen-title{font-family:Playfair Display,serif;font-size:18px;font-weight:700;color:var(--white)}.demo-toggle{display:flex;align-items:center;gap:8px;background:var(--surface2);border:.5px solid var(--border2);border-radius:20px;padding:5px 12px;cursor:pointer;font-size:11px;font-weight:600;color:var(--muted);transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.demo-toggle:hover{border-color:var(--crimson);color:var(--crimson)}.demo-dot{width:6px;height:6px;border-radius:50%;background:var(--crimson);flex-shrink:0}.demo-dot.off{background:var(--hint)}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-avatar{background:var(--sidebar);font-size:12px;font-weight:700;color:#fff}.notif-btn,.topbar-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.notif-btn{background:var(--surface2);border:.5px solid var(--border2);color:var(--muted);transition:all .15s}.notif-btn:hover{border-color:var(--crimson);color:var(--crimson)}.main{display:flex;flex-direction:column;overflow:hidden}.screen{display:none;padding:28px;overflow-y:auto;flex:1 1;animation:fadeIn .25s ease}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.s-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:var(--white);margin-bottom:4px}.s-sub{font-size:13px;color:var(--muted);margin-bottom:24px}.card{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);padding:22px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 6px rgba(0,0,0,.04)}.card-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hint);margin-bottom:14px}.grid2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid2,.grid3{display:grid;gap:16px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.mono{font-family:Space Mono,monospace}.lime{color:var(--crimson)}.coral{color:var(--coral)}.gold{color:var(--gold)}.blue{color:var(--blue)}.green{color:var(--green)}.red{color:var(--red)}.stat-card{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);padding:18px 20px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 3px rgba(0,0,0,.05)}.stat-card:hover{border-color:var(--crimson);box-shadow:0 2px 10px rgba(192,39,43,.1)}.stat-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hint);margin-bottom:8px}.stat-value{font-family:Space Mono,monospace;font-size:26px;font-weight:700;color:var(--white);line-height:1}.stat-sub{font-size:11px;color:var(--hint);margin-top:6px}.stat-delta{font-size:11px;margin-top:4px}.delta-up{color:var(--green)}.delta-down{color:var(--red)}.delta-neu{color:var(--hint)}.btn{padding:9px 18px;border-radius:var(--r);font-size:13px;font-weight:600;font-family:Outfit,sans-serif;cursor:pointer;border:none;transition:all .15s}.btn-lime{background:var(--crimson);color:#fff}.btn-lime:hover{background:var(--crimson-d)}.btn-ghost{background:none;color:var(--muted);border:.5px solid var(--border2)}.btn-ghost:hover{background:var(--surface2);color:var(--white);border-color:var(--white)}.btn-danger{background:rgba(192,39,43,.08);color:var(--crimson);border:.5px solid rgba(192,39,43,.2)}.btn-danger:hover{background:rgba(192,39,43,.15)}.btn-sm{padding:6px 14px;font-size:12px}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r)}.field{margin-bottom:14px}.field-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hint);margin-bottom:5px;display:block}.field-input{width:100%;padding:9px 12px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--r);font-size:13px;font-family:Outfit,sans-serif;color:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--crimson);box-shadow:0 0 0 3px rgba(192,39,43,.1)}.field-input::placeholder{color:var(--hint)}select.field-input{cursor:pointer}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:.04em;text-transform:uppercase}.badge-lime{background:rgba(192,39,43,.09);color:var(--crimson)}.badge-coral{background:rgba(232,93,66,.09);color:var(--coral)}.badge-gold{background:rgba(217,119,6,.09);color:var(--gold)}.badge-blue{background:rgba(29,78,216,.09);color:var(--blue)}.badge-red{background:rgba(192,39,43,.09);color:var(--crimson)}.badge-green{background:rgba(5,150,105,.09);color:var(--green)}.badge-purple{background:rgba(124,58,237,.09);color:var(--purple)}.prog-track{height:6px;background:var(--surface3);border-radius:3px;overflow:hidden}.prog-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1)}.div{height:.5px;background:var(--border2);margin:16px 0}.empty{text-align:center;padding:48px 20px;color:var(--hint)}.empty-icon{font-size:32px;margin-bottom:12px;opacity:.35}.empty-title{font-size:15px;font-weight:600;color:var(--muted);margin-bottom:6px}.empty-desc{font-size:12px;line-height:1.6}.toast{position:fixed;bottom:24px;right:24px;background:var(--sidebar);border:.5px solid rgba(192,39,43,.4);color:#fff;padding:11px 18px;border-radius:var(--r-lg);font-size:13px;font-weight:500;transform:translateY(60px);opacity:0;transition:all .3s;z-index:999;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.15)}.toast.show{transform:translateY(0);opacity:1}.dash-ring-wrap{display:flex;align-items:center;gap:32px;margin-bottom:8px}.ring-svg{flex-shrink:0}.ring-info{flex:1 1}.ring-pct{font-family:Playfair Display,serif;font-size:42px;font-weight:900;color:var(--crimson);line-height:1}.ring-label{font-size:12px;color:var(--muted);margin-top:4px}.ring-detail{font-size:13px;color:var(--off);margin-top:10px;line-height:1.6}.next-payment{background:rgba(192,39,43,.04);border:.5px solid rgba(192,39,43,.18);border-radius:var(--r-lg);padding:16px;margin-top:14px}.np-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--crimson);margin-bottom:8px}.np-cards{display:flex;flex-direction:column;gap:8px}.np-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.np-name{color:var(--off)}.np-amount{font-family:Space Mono,monospace;color:var(--crimson);font-weight:700}.streak-card{background:linear-gradient(135deg,#fef0d0,#fde3a7);border:.5px solid #f59e0b;border-radius:var(--r-lg);padding:20px;text-align:center}.streak-num{font-family:Playfair Display,serif;font-size:52px;font-weight:900;color:#92400e;line-height:1}.streak-label{font-size:11px;color:#b45309;margin-top:4px;letter-spacing:.06em;text-transform:uppercase}.streak-sub{font-size:12px;color:#d97706;margin-top:8px}.activity-list{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:.5px solid var(--border2)}.activity-item:last-child{border-bottom:none}.activity-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.activity-info{flex:1 1}.activity-title{font-size:13px;font-weight:500;color:var(--white)}.activity-sub{font-size:11px;color:var(--hint);margin-top:2px}.activity-amount{font-family:Space Mono,monospace;font-size:13px;font-weight:700}.debt-breakdown{display:flex;flex-direction:column;gap:10px}.db-row{display:flex;align-items:center;gap:12px}.db-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.db-name{flex:1 1;font-size:12px;color:var(--off)}.db-bar{flex:2 1}.db-amount{font-family:Space Mono,monospace;font-size:11px;color:var(--muted);width:70px;text-align:right}.strategy-tabs{display:flex;gap:8px;margin-bottom:20px}.strat-tab{flex:1 1;padding:12px;border-radius:var(--r-lg);border:1px solid var(--border2);background:none;cursor:pointer;text-align:left;font-family:Outfit,sans-serif;transition:all .15s}.strat-tab.active{border-color:var(--crimson);background:rgba(192,39,43,.06)}.strat-tab-name{font-size:13px;font-weight:600;color:var(--white);margin-bottom:3px}.strat-tab-desc{font-size:11px;color:var(--muted)}.card-row-pp{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;grid-gap:10px;gap:10px;align-items:end;background:var(--surface);border:.5px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:8px;animation:fadeIn .2s ease}.order-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:700;color:#ffffff;flex-shrink:0}.timeline-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.tl-name{font-size:12px;color:var(--off);width:130px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-track{flex:1 1;height:8px;background:var(--surface3);border-radius:4px;overflow:hidden}.tl-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.tl-months{font-family:Space Mono,monospace;font-size:11px;color:var(--muted);width:48px;text-align:right}.sched-table{width:100%;border-collapse:collapse;font-size:12px}.sched-table th{padding:8px 10px;text-align:right;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hint);background:var(--surface2);border-bottom:.5px solid var(--border)}.sched-table th:first-child{text-align:left}.sched-table td{padding:8px 10px;border-bottom:.5px solid var(--border);color:var(--muted);text-align:right;font-family:Space Mono,monospace;font-size:11px}.sched-table td:first-child{text-align:left;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;color:var(--off)}.sched-table tr:hover td{background:var(--surface2)}.sched-table .paid{color:var(--crimson);font-size:10px}.sched-table tfoot td{background:var(--surface2);color:var(--white);font-weight:700}.compare-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:20px}.cmp-card{background:var(--surface2);border-radius:var(--r-lg);padding:16px;text-align:center}.cmp-val{font-family:Playfair Display,serif;font-size:28px;font-weight:700;color:var(--white);line-height:1}.cmp-label{font-size:10px;color:var(--hint);margin-top:5px;letter-spacing:.06em;text-transform:uppercase}.budget-summary-bar{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.bs-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-lg);padding:18px;text-align:center}.bs-val{font-family:Space Mono,monospace;font-size:22px;font-weight:700;color:var(--white);line-height:1;margin-bottom:5px}.bs-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.category-list{display:flex;flex-direction:column;gap:12px}.cat-row{display:flex;align-items:center;gap:14px}.cat-icon{font-size:20px;width:32px;text-align:center;flex-shrink:0}.cat-info{flex:1 1}.cat-header{display:flex;justify-content:space-between;margin-bottom:5px}.cat-name{font-size:13px;font-weight:500;color:var(--white)}.cat-amounts{font-family:Space Mono,monospace;font-size:11px;color:var(--muted)}.cat-status{font-size:10px;font-weight:600;padding:2px 7px;border-radius:8px;white-space:nowrap}.surplus-box{background:linear-gradient(135deg,rgba(192,39,43,.05),rgba(192,39,43,.02));border:1px solid rgba(192,39,43,.18);border-radius:var(--r-lg);padding:20px;margin-top:16px}.surplus-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.surplus-amount,.surplus-label{font-weight:700;color:var(--crimson)}.surplus-amount{font-family:Playfair Display,serif;font-size:36px;line-height:1}.surplus-sub{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.surplus-action{margin-top:14px;display:flex;gap:8px}.expense-item,.income-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border-radius:var(--r);margin-bottom:8px}.tx-name{flex:1 1;font-size:13px;color:var(--off)}.tx-amount{font-family:Space Mono,monospace;font-size:13px;font-weight:700}.tx-del{background:none;border:none;color:var(--hint);cursor:pointer;font-size:16px;padding:0;transition:color .15s}.tx-del:hover{color:var(--red)}.coach-layout{display:grid;grid-template-columns:1fr 280px;grid-gap:20px;gap:20px;height:calc(100vh - 130px)}.chat-window{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 20px;border-bottom:.5px solid var(--border);gap:12px}.chat-header,.coach-avatar{display:flex;align-items:center}.coach-avatar{width:36px;height:36px;border-radius:50%;background:var(--sidebar);justify-content:center;font-size:16px;flex-shrink:0}.coach-name{font-size:14px;font-weight:600;color:var(--white)}.coach-status{font-size:11px;color:var(--crimson);display:flex;align-items:center;gap:5px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--crimson);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-messages{flex:1 1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.msg{max-width:80%;display:flex;gap:10px;align-items:flex-start}.msg.user{flex-direction:row-reverse;align-self:flex-end}.msg-bubble{padding:11px 15px;border-radius:var(--r-lg);font-size:13px;line-height:1.6}.msg.ai .msg-bubble{background:#f7f7f7;border:.5px solid var(--border2);color:var(--off);border-radius:4px var(--r-lg) var(--r-lg) var(--r-lg)}.msg.user .msg-bubble{background:var(--crimson);color:#fff;font-weight:500;border-radius:var(--r-lg) 4px var(--r-lg) var(--r-lg)}.msg-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;margin-top:2px}.msg.ai .msg-av{background:var(--sidebar);color:#fff;font-size:14px}.msg.user .msg-av{background:var(--surface2);border:.5px solid var(--border2);font-size:11px;font-weight:700;color:var(--off)}.chat-input-area{padding:16px;border-top:.5px solid var(--border);display:flex;gap:10px}.chat-input{flex:1 1;padding:10px 14px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--r-lg);font-size:13px;font-family:Outfit,sans-serif;color:var(--white);outline:none;resize:none;min-height:44px;max-height:120px;transition:border-color .15s}.chat-input:focus{border-color:var(--crimson)}.chat-input::placeholder{color:var(--hint)}.send-btn{width:44px;height:44px;background:var(--crimson);border:none;border-radius:var(--r-lg);color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;transition:all .15s;display:flex;align-items:center;justify-content:center}.send-btn:hover{background:var(--crimson-d)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.coach-sidebar{display:flex;flex-direction:column;gap:14px}.quick-q-btn{width:100%;text-align:left;padding:10px 14px;background:var(--surface2);border:.5px solid var(--border);border-radius:var(--r);font-size:12px;color:var(--off);font-family:Outfit,sans-serif;cursor:pointer;transition:all .15s;line-height:1.4}.quick-q-btn:hover{border-color:var(--crimson);color:var(--crimson)}.typing-indicator{display:flex;gap:4px;padding:4px 6px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--crimson);animation:typing .8s infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.context-item{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-bottom:.5px solid var(--border);color:var(--muted)}.context-item:last-child{border-bottom:none}.context-val{color:var(--white);font-family:Space Mono,monospace;font-weight:700}.comm-layout{display:grid;grid-template-columns:1fr 280px;grid-gap:20px;gap:20px}.feed{display:flex;flex-direction:column;gap:14px}.post-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-lg);padding:20px;transition:border-color .15s}.post-card:hover{border-color:var(--border2)}.post-header{gap:10px;margin-bottom:12px}.post-av,.post-header{display:flex;align-items:center}.post-av{width:36px;height:36px;border-radius:50%;justify-content:center;font-size:13px;font-weight:700;color:#ffffff;flex-shrink:0}.post-name{font-size:13px;font-weight:600;color:var(--white)}.post-meta{font-size:11px;color:var(--hint)}.post-body{font-size:13px;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:14px}.post-actions{gap:16px}.post-action-btn,.post-actions{display:flex;align-items:center}.post-action-btn{background:none;border:none;font-size:12px;color:var(--hint);cursor:pointer;gap:5px;font-family:Outfit,sans-serif;transition:color .15s}.post-action-btn:hover{color:var(--white)}.post-milestone{display:inline-flex;align-items:center;gap:6px;background:rgba(192,39,43,.07);border:.5px solid rgba(192,39,43,.2);padding:5px 12px;border-radius:10px;font-size:11px;font-weight:600;color:var(--crimson);margin-bottom:12px}.challenge-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:12px}.ch-head{background:linear-gradient(135deg,var(--surface2),var(--surface3));padding:14px 16px}.ch-title{font-size:13px;font-weight:600;color:var(--white);margin-bottom:3px}.ch-sub{font-size:11px;color:var(--muted)}.ch-body{padding:14px 16px}.ch-prog{margin-bottom:8px}.ch-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--hint);margin-top:6px}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.lb-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:.5px solid var(--border)}.lb-item:last-child{border-bottom:none}.lb-rank{font-family:Space Mono,monospace;font-size:12px;color:var(--hint);width:20px}.lb-av,.lb-rank{font-weight:700;flex-shrink:0}.lb-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ffffff}.lb-name{flex:1 1;font-size:12px;color:var(--off)}.lb-amount{font-family:Space Mono,monospace;font-size:11px;font-weight:700;color:var(--crimson)}.compose-box{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:14px}.compose-input{width:100%;padding:10px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--r);color:var(--white);font-size:13px;font-family:Outfit,sans-serif;resize:none;min-height:80px;outline:none;margin-bottom:10px;transition:border-color .15s}.compose-input:focus{border-color:var(--crimson)}.compose-input::placeholder{color:var(--hint)}.compose-actions{display:flex;justify-content:space-between;align-items:center}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;width:240px;height:100vh;z-index:120;transform:translateX(-100%);transition:transform .25s ease;display:flex}html.mobile-nav-open .sidebar{transform:translateX(0)}html.mobile-nav-open body:after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:110;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-nav-btn{display:inline-flex!important}.coach-layout,.comm-layout{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.grid2,.grid3{grid-template-columns:1fr}.topbar{padding:0 16px}.screen{padding:18px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--void);padding:24px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);padding:32px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 6px rgba(0,0,0,.04)}.auth-brand{gap:10px;margin-bottom:24px}.auth-brand,.auth-brand-icon{display:flex;align-items:center;justify-content:center}.auth-brand-icon{width:34px;height:34px;background:var(--crimson);border-radius:8px}.auth-brand-name{font-family:Playfair Display,serif;font-size:20px;font-weight:700;color:var(--white)}.auth-brand-name span{color:var(--crimson)}.auth-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:var(--white);margin-bottom:6px;text-align:center}.auth-sub{font-size:13px;color:var(--muted);margin-bottom:22px;text-align:center}.auth-error{background:rgba(192,39,43,.08);border:.5px solid rgba(192,39,43,.3);color:var(--crimson);padding:10px 12px;border-radius:var(--r);font-size:12px;margin-bottom:14px}.auth-link{display:block;text-align:center;margin-top:16px;font-size:12px;color:var(--muted);text-decoration:none}.auth-link a{color:var(--crimson);text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.trial-banner{background:linear-gradient(135deg,rgba(192,39,43,.08),rgba(217,119,6,.05));border-bottom:.5px solid rgba(192,39,43,.2);padding:8px 28px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--off)}.trial-banner b{color:var(--crimson)}.trial-banner .upgrade-link{background:var(--crimson);color:#fff;padding:5px 12px;border-radius:var(--r);font-weight:600;text-decoration:none;font-size:11px;border:none;cursor:pointer;font-family:Outfit,sans-serif}.trial-banner .upgrade-link:hover{background:var(--crimson-d)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:200;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);padding:28px;width:420px;max-width:90vw}.modal-title{font-family:Playfair Display,serif;font-size:18px;font-weight:700;color:var(--white)}.modal-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;line-height:1}html.zd-dark{--void:#0e0e10;--deep:#141416;--surface:#1a1a1e;--surface2:#222226;--surface3:#2c2c30;--white:#f5f5f5;--off:#cccccc;--muted:#999999;--hint:#666666;--border:rgba(255,255,255,.06);--border2:rgba(255,255,255,.12)}html.zd-dark .topbar{background:rgba(14,14,16,.96)}html.zd-dark .auth-error{background:rgba(192,39,43,.15)}html.zd-dark .field-input{background:#222226;color:#f5f5f5}html.zd-dark .msg.ai .msg-bubble{background:#222226;color:#cccccc;border-color:rgba(255,255,255,.08)}html.zd-dark .post-body{color:rgba(255,255,255,.7)}html.zd-dark .modal{background:#1a1a1e}.cashflow-grid{width:max-content;border-collapse:separate;border-spacing:0;font-size:11px}.cashflow-grid td,.cashflow-grid th{padding:6px 8px;border-right:.5px solid var(--border);border-bottom:.5px solid var(--border);white-space:nowrap;background:var(--surface)}.cashflow-grid th{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hint);background:var(--surface2);text-align:right}.cashflow-grid td{text-align:right;color:var(--off)}.cf-line-col{text-align:left!important;width:200px;min-width:200px;font-size:12px;color:var(--white);font-weight:500;position:relative}.cf-week-col{width:88px;min-width:88px}.cf-total-col,.cf-week-col{font-family:Space Mono,monospace}.cf-total-col{width:100px;min-width:100px;font-weight:700;color:var(--white);background:var(--surface2)!important}.cf-sticky-col{left:0;z-index:2;box-shadow:1px 0 0 var(--border2)}.cf-sticky-col,.cf-sticky-row{position:-webkit-sticky;position:sticky}.cf-sticky-row{top:0;z-index:3}thead .cf-sticky-row.cf-sticky-col{z-index:5}.cf-sticky-right{position:-webkit-sticky;position:sticky;right:0;z-index:2;box-shadow:-1px 0 0 var(--border2)}thead .cf-sticky-right.cf-sticky-row{z-index:5}.cf-group-header td{background:var(--sidebar)!important;color:#fff!important;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px}.cf-group-total td{background:rgba(192,39,43,.04)!important;color:var(--off);border-top:.5px solid var(--border2)}.cf-summary-row td{background:var(--surface2)!important;font-weight:600}.cf-cell-input,.cf-summary-row td{font-family:Space Mono,monospace;font-size:11px}.cf-cell-input{width:100%;border:none;background:transparent;text-align:right;color:var(--off);outline:none;padding:2px 0}.cf-cell-input:focus{background:rgba(192,39,43,.08);color:var(--white);border-radius:3px}.cf-cell-input::placeholder{color:var(--hint)}.cf-row-actions{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;gap:4px;opacity:0;transition:opacity .15s}.cf-line-col:hover .cf-row-actions{opacity:1}.cf-row-del,.cf-row-edit{background:none;border:none;cursor:pointer;font-size:13px;line-height:1;padding:2px 4px}.cf-row-edit{color:var(--muted)}.cf-row-edit:hover{color:var(--blue)}.cf-row-del{color:var(--hint);font-size:14px}.cf-row-del:hover{color:var(--red)}@media print{.no-print,.sidebar,.topbar,.trial-banner{display:none!important}.app{grid-template-columns:1fr!important}.main,.screen{overflow:visible!important}.screen{padding:0!important}body{background:#fff!important;color:#000!important}.card{page-break-inside:avoid;break-inside:avoid;box-shadow:none!important;border:.5px solid #ddd!important}table{font-size:11px!important}}.landing{min-height:100vh;background:var(--void);color:var(--white);font-family:Outfit,sans-serif;overflow-x:hidden}.landing-nav{padding:20px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:.5px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:rgba(245,237,224,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:50}.landing-nav-links{display:flex;gap:28px;align-items:center}.landing-nav-links a{color:var(--off);text-decoration:none;font-size:13px;font-weight:500;transition:color .15s}.landing-nav-links a:hover{color:var(--crimson)}.landing-hero{padding:90px 36px 60px;text-align:center;max-width:880px;margin:0 auto;position:relative}.landing-hero h1{font-family:Playfair Display,serif;font-size:64px;font-weight:900;line-height:1.05;margin-bottom:22px;letter-spacing:-.02em}.landing-hero h1 span{color:var(--crimson)}.landing-hero h1 em{font-style:italic;font-weight:700}.landing-hero p.tagline{font-size:18px;color:var(--off);margin-bottom:34px;line-height:1.7;max-width:680px;margin-left:auto;margin-right:auto}.landing-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-cta .btn{padding:14px 28px;font-size:14px}.landing-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(192,39,43,.08);border:.5px solid rgba(192,39,43,.25);color:var(--crimson);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:20px}.lp-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;border-top:.5px solid var(--border2);border-bottom:.5px solid var(--border2);background:var(--surface)}.lp-stat{padding:28px 20px;text-align:center;border-right:.5px solid var(--border)}.lp-stat:last-child{border-right:none}.lp-stat-num{font-family:Playfair Display,serif;font-size:34px;font-weight:900;color:var(--crimson);line-height:1}.lp-stat-label{font-size:12px;color:var(--muted);margin-top:6px;letter-spacing:.04em}.lp-section{max-width:1180px}.lp-section,.lp-section-narrow{padding:90px 36px;margin:0 auto}.lp-section-narrow{max-width:880px}.lp-section-head{text-align:center;margin-bottom:50px}.lp-section-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson);margin-bottom:14px}.lp-section-title{font-family:Playfair Display,serif;font-size:42px;font-weight:800;line-height:1.15;margin-bottom:14px;letter-spacing:-.01em}.lp-section-title em{font-style:italic;color:var(--crimson)}.lp-section-sub{font-size:17px;color:var(--muted);line-height:1.7;max-width:640px;margin:0 auto}.lp-pain{background:var(--sidebar);color:#fff;padding:80px 36px}.lp-pain-inner{max-width:860px;margin:0 auto;text-align:center}.lp-pain h2{font-family:Playfair Display,serif;font-size:38px;font-weight:800;line-height:1.2;color:#fff;margin-bottom:18px}.lp-pain h2 .lp-pain-strike{text-decoration:line-through;color:rgba(255,255,255,.35)}.lp-pain h2 .lp-pain-emph{color:#ff8a8d}.lp-pain p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.7);margin-bottom:26px}.lp-pain-points{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin-top:40px;text-align:left}.lp-pain-point{padding:22px;background:rgba(255,255,255,.03);border:.5px solid rgba(255,255,255,.08);border-radius:var(--r-lg)}.lp-pain-point-num{font-family:Space Mono,monospace;font-size:11px;color:#ff8a8d;letter-spacing:.1em;margin-bottom:10px}.lp-pain-point h3{font-size:15px;font-weight:600;color:#fff;margin-bottom:8px}.lp-pain-point p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.6;margin:0}.lp-bigfeat{display:flex;flex-direction:column;gap:90px;margin-top:40px}.lp-bigfeat-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:center}.lp-bigfeat-row.reverse{direction:rtl}.lp-bigfeat-row.reverse>*{direction:ltr}.lp-bigfeat-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);margin-bottom:14px}.lp-bigfeat h3{font-family:Playfair Display,serif;font-size:32px;font-weight:800;line-height:1.2;margin-bottom:18px}.lp-bigfeat p{font-size:15px;color:var(--off);line-height:1.7;margin-bottom:14px}.lp-bigfeat-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.lp-bigfeat-list li{font-size:14px;color:var(--off);display:flex;align-items:flex-start;gap:10px;list-style:none;padding-left:0}.lp-bigfeat-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--crimson);margin-top:8px;flex-shrink:0}.lp-mock{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);padding:24px;box-shadow:0 8px 30px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04)}.lp-mock-header{display:flex;align-items:center;gap:8px;padding-bottom:16px;border-bottom:.5px solid var(--border);margin-bottom:18px}.lp-mock-dot{width:9px;height:9px;border-radius:50%}.lp-mock-bar{height:8px;border-radius:4px;background:var(--surface3)}.lp-mock-bar-fill{height:100%;border-radius:4px;background:var(--crimson)}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin-top:40px;position:relative}.lp-step{padding:30px 24px;background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);position:relative}.lp-step-num{font-family:Playfair Display,serif;font-size:54px;font-weight:900;color:var(--crimson);line-height:1;margin-bottom:14px;opacity:.85}.lp-step h4{font-size:17px;font-weight:600;margin-bottom:10px}.lp-step p{font-size:13px;color:var(--muted);line-height:1.6}.lp-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-top:40px}.lp-feat{padding:26px;background:var(--surface);border:.5px solid var(--border2);border-radius:var(--r-lg);transition:border-color .2s,transform .2s}.lp-feat:hover{border-color:var(--crimson);transform:translateY(-2px)}.lp-feat-icon{width:42px;height:42px;background:rgba(192,39,43,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--crimson);margin-bottom:14px}.lp-feat h4{font-size:15px;font-weight:600;margin-bottom:8px}.lp-feat p{font-size:13px;color:var(--muted);line-height:1.6}.lp-pricing{padding:90px 36px;background:var(--surface)}.lp-pricing-card{max-width:480px;margin:40px auto 0;background:var(--void);border:1px solid var(--crimson);border-radius:var(--r-lg);padding:36px;text-align:center;box-shadow:0 12px 40px rgba(192,39,43,.12)}.lp-pricing-tier{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson);margin-bottom:14px}.lp-pricing-price{font-family:Playfair Display,serif;font-size:64px;font-weight:900;color:var(--white);line-height:1}.lp-pricing-price small{font-size:18px;color:var(--muted);font-weight:400;margin-left:4px}.lp-pricing-trial{font-size:13px;color:var(--crimson);margin:8px 0 24px;font-weight:600}.lp-pricing-list{text-align:left;margin:24px 0 28px;display:flex;flex-direction:column;gap:10px}.lp-pricing-list li{font-size:14px;color:var(--off);display:flex;align-items:center;gap:10px;list-style:none}.lp-pricing-list li svg{flex-shrink:0;color:var(--crimson)}.lp-faq{display:flex;flex-direction:column;gap:8px;max-width:780px;margin:40px auto 0}.lp-faq-item{border:.5px solid var(--border2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.lp-faq-item summary{padding:20px 24px;cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:color .15s}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary:after{content:"+";font-family:Space Mono,monospace;font-size:20px;color:var(--crimson);transition:transform .2s}.lp-faq-item[open] summary:after{transform:rotate(45deg)}.lp-faq-item summary:hover{color:var(--crimson)}.lp-faq-body{padding:0 24px 22px;font-size:14px;color:var(--muted);line-height:1.7}.lp-finalcta{padding:90px 36px;text-align:center;background:linear-gradient(135deg,var(--surface),var(--surface2))}.lp-finalcta h2{font-family:Playfair Display,serif;font-size:46px;font-weight:900;margin-bottom:18px;line-height:1.15}.lp-finalcta h2 span{color:var(--crimson)}.lp-finalcta p{font-size:17px;color:var(--muted);margin-bottom:28px;line-height:1.7;max-width:560px;margin-left:auto;margin-right:auto}.lp-footer{background:var(--sidebar);padding:50px 36px 30px;color:rgba(255,255,255,.6)}.lp-footer-grid{max-width:1180px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:40px;gap:40px;margin:0 auto 40px}.lp-footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}.lp-footer-brand-name{font-family:Playfair Display,serif;font-size:19px;font-weight:700;color:#fff}.lp-footer-brand-name span{color:var(--crimson)}.lp-footer-tagline{font-size:13px;line-height:1.7;max-width:320px}.lp-footer-col h5{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px}.lp-footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}.lp-footer-col a{color:rgba(255,255,255,.55);text-decoration:none;font-size:13px;transition:color .15s}.lp-footer-col a:hover{color:#fff}.lp-footer-bot{max-width:1180px;margin:0 auto;padding-top:28px;border-top:.5px solid rgba(255,255,255,.08);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}@media(max-width:900px){.landing-hero h1{font-size:42px}.lp-stats{grid-template-columns:repeat(2,1fr)}.lp-stat:nth-child(2){border-right:none}.lp-stat:first-child,.lp-stat:nth-child(2){border-bottom:.5px solid var(--border)}.lp-bigfeat-row{grid-template-columns:1fr;gap:30px}.lp-bigfeat-row.reverse{direction:ltr}.lp-bigfeat h3{font-size:24px}.lp-section-title{font-size:30px}.lp-pain h2{font-size:26px}.lp-feat-grid,.lp-pain-points,.lp-steps{grid-template-columns:1fr}.lp-footer-grid{grid-template-columns:1fr 1fr;gap:24px}.lp-finalcta h2{font-size:30px}.lp-section,.lp-section-narrow{padding:60px 24px}}