:root{--font-sans:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--navy-950:#060e1c;--navy-900:#0a1628;--navy-850:#0d1e38;--navy-800:#112040;--navy-700:#1a3254;--navy-600:#234872;--emerald-700:#047857;--emerald-600:#059669;--emerald-500:#10b981;--emerald-400:#34d399;--emerald-300:#6ee7b7;--emerald-100:#d1fae5;--emerald-50:#ecfdf5;--amber-700:#b45309;--amber-600:#d97706;--amber-500:#f59e0b;--amber-400:#fbbf24;--amber-100:#fef3c7;--violet-700:#6d28d9;--violet-600:#7c3aed;--violet-500:#8b5cf6;--violet-400:#a78bfa;--violet-100:#ede9fe;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-400:#60a5fa;--blue-100:#dbeafe;--rose-600:#e11d48;--rose-500:#f43f5e;--rose-100:#ffe4e6;--slate-900:#0f172a;--slate-800:#1e293b;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748b;--slate-400:#94a3b8;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-150:#edf0f5;--slate-100:#f1f5f9;--slate-50:#f8fafc;--white:#ffffff;--bg:#edf1f7;--surface:var(--white);--surface-subtle:var(--slate-50);--surface-hover:#f5f7fa;--border:var(--slate-200);--border-strong:var(--slate-300);--text:var(--slate-900);--text-secondary:var(--slate-600);--text-muted:var(--slate-400);--sidebar-bg:var(--navy-900);--sidebar-surface:rgba(255,255,255,0.05);--sidebar-hover:rgba(255,255,255,0.07);--sidebar-active-bg:rgba(16,185,129,0.13);--sidebar-active-border:var(--emerald-500);--sidebar-border:rgba(255,255,255,0.07);--sidebar-text:rgba(255,255,255,0.92);--sidebar-muted:rgba(255,255,255,0.42);--sidebar-divider:rgba(255,255,255,0.07);--brand:var(--emerald-500);--brand-dark:var(--emerald-600);--brand-soft:rgba(16,185,129,0.1);--brand-shadow:0 6px 20px rgba(16,185,129,0.28);--income:var(--violet-500);--income-soft:rgba(139,92,246,0.1);--expense:var(--amber-500);--expense-soft:rgba(245,158,11,0.1);--savings:var(--emerald-500);--savings-soft:rgba(16,185,129,0.1);--info:var(--blue-500);--info-soft:rgba(59,130,246,0.1);--danger:var(--rose-500);--danger-soft:rgba(244,63,94,0.1);--font-display:"Sora","Space Grotesk",system-ui,sans-serif;--ink:var(--slate-900);--muted:var(--slate-500);--line:var(--slate-200);--teal:var(--emerald-500);--teal-soft:var(--brand-soft);--orange:var(--amber-500);--orange-soft:var(--expense-soft);--blue:var(--blue-500);--blue-soft:var(--info-soft);--green:var(--emerald-600);--green-soft:var(--savings-soft);--panel:var(--surface);--panel-strong:var(--surface);--shadow-xs:0 1px 2px rgba(15,23,42,0.04);--shadow-sm:0 1px 3px rgba(15,23,42,0.07),0 1px 2px rgba(15,23,42,0.04);--shadow:0 4px 12px rgba(15,23,42,0.07),0 1px 4px rgba(15,23,42,0.04);--shadow-lg:0 12px 32px rgba(15,23,42,0.1),0 4px 8px rgba(15,23,42,0.05);--r-sm:8px;--r-md:12px;--r-lg:14px;--r-xl:18px;--r-2xl:22px;--r-3xl:28px;--r-pill:999px}[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-subtle:#1c2330;--surface-hover:#212b3c;--border:rgba(255,255,255,0.07);--border-strong:rgba(255,255,255,0.14);--text:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--shadow-xs:0 1px 3px rgba(0,0,0,0.5);--shadow-sm:0 2px 6px rgba(0,0,0,0.5);--shadow:0 4px 16px rgba(0,0,0,0.5);--shadow-lg:0 12px 40px rgba(0,0,0,0.6);--brand-soft:rgba(16,185,129,0.15);--income-soft:rgba(139,92,246,0.15);--expense-soft:rgba(245,158,11,0.15);--savings-soft:rgba(16,185,129,0.15);--info-soft:rgba(59,130,246,0.15);--danger-soft:rgba(244,63,94,0.15);--emerald-100:rgba(16,185,129,0.14);--amber-100:rgba(245,158,11,0.14);--violet-100:rgba(139,92,246,0.14);--blue-100:rgba(59,130,246,0.14);--rose-100:rgba(244,63,94,0.14);--emerald-50:rgba(16,185,129,0.07)}[data-theme=dark] .dashboard-hero,[data-theme=dark] .hero-panel{background:linear-gradient(135deg,var(--surface) 55%,rgba(16,185,129,.05))}[data-theme=dark] .donut-svg circle:first-child{stroke:var(--surface-subtle)}[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea{background:var(--surface-subtle);border-color:var(--border);color:var(--text)}[data-theme=dark] .field input::placeholder{color:var(--text-muted)}[data-theme=dark] .modal-card{background:var(--surface);border-color:var(--border-strong)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.5;background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{display:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.02em}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;gap:0}.app-shell,.clean-shell{width:100%;max-width:none;padding:0;margin:0}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--sidebar-bg);overflow-y:auto;overflow-x:hidden;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-radius:0;border:none;border-right:1px solid var(--sidebar-border)}.compact-sidebar{gap:0}.brand-block{padding:24px 20px 18px;border-bottom:1px solid var(--sidebar-divider)}.compact-brand{gap:0}.sidebar-brand-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.brand-mark{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:var(--r-md);background:linear-gradient(135deg,var(--emerald-500),var(--emerald-700));color:white;font-size:.8rem;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px rgba(16,185,129,.35)}.brand-block h1,.brand-mark{font-family:var(--font-display);letter-spacing:-.01em}.brand-block h1{margin:0;font-size:.92rem;font-weight:700;color:var(--sidebar-text);line-height:1}.hero-kicker{margin:0 0 6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--emerald-400)}.sidebar-copy{margin:6px 0 0;color:var(--sidebar-muted);font-size:.78rem;line-height:1.55}.sidebar-household{padding:10px 20px;border-bottom:1px solid var(--sidebar-divider);display:flex;align-items:center;gap:8px}.sidebar-household-name{font-size:.78rem;font-weight:600;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav{padding:8px 12px}.app-nav,.grouped-nav{flex:1 1;display:flex;flex-direction:column;gap:0}.grouped-nav{padding:8px 10px}.app-nav-section{padding:14px 4px 6px}.app-nav-heading{margin:0 0 6px 8px;color:var(--sidebar-muted);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.app-nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-lg);border:none;background:transparent;color:var(--sidebar-text);opacity:.72;transition:background .13s ease,opacity .13s ease,color .13s ease;position:relative}.app-nav-link:hover{background:var(--sidebar-hover);opacity:1;transform:none}.app-nav-link.active{background:var(--sidebar-active-bg);color:var(--emerald-300);opacity:1;border:none}.app-nav-link.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--emerald-400);border-radius:0 var(--r-pill) var(--r-pill) 0}.app-nav-link.compact{padding:9px 10px}.app-nav-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:var(--r-md);background:transparent;flex-shrink:0;color:inherit}.app-nav-link.active .app-nav-icon{color:var(--emerald-400)}.app-nav-copy{display:grid;gap:1px}.app-nav-copy strong{font-size:.88rem;font-weight:600;color:inherit}.app-nav-copy small{color:var(--sidebar-muted);font-size:.78rem}.app-nav-link.active .app-nav-copy small{color:rgba(110,231,183,.55)}.session-card{margin-top:auto;padding:14px 16px;border-top:1px solid var(--sidebar-divider);background:rgba(0,0,0,.18);display:flex;flex-direction:column;gap:12px;position:relative}.compact-session{flex-direction:column;gap:10px}.session-user,.session-user-button{display:flex;align-items:center;gap:10px}.session-user-button{flex:1 1;min-width:0;padding:0;border:none;background:transparent;color:inherit}.session-alert-button{position:relative;width:34px;height:34px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--sidebar-text);display:inline-flex;align-items:center;justify-content:center}.notification-dot{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;background:#ef4444;font-size:.68rem;display:inline-flex}.notification-dot,.session-avatar{border-radius:var(--r-pill);color:white;font-weight:700;align-items:center;justify-content:center}.session-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--emerald-500),var(--emerald-700));display:flex;font-size:.7rem;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.stacked-values{display:grid;gap:2px;min-width:0}.stacked-values strong{font-size:.86rem;font-weight:600;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted-line{font-size:.78rem}.menu-chevron,.muted-line{color:var(--sidebar-muted)}.menu-chevron{margin-left:auto;transition:transform .16s ease}.menu-chevron.open{transform:rotate(90deg)}.session-popover{position:absolute;left:12px;right:12px;bottom:calc(100% + 10px);display:grid;gap:12px;padding:12px;border-radius:var(--r-xl);border:1px solid rgba(255,255,255,.08);background:rgba(4,10,20,.42);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-lg);z-index:30}.session-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-popover-head strong{font-size:.84rem;color:var(--sidebar-text)}.session-popover-head a{font-size:.77rem;color:var(--emerald-300)}.session-notification-list{display:grid;gap:8px}.session-notification-item{display:grid;gap:3px;padding:10px;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);text-align:left;color:var(--sidebar-text)}.session-notification-item.unread{border-color:rgba(16,185,129,.25);background:rgba(16,185,129,.08)}.session-notification-item strong{font-size:.8rem;font-weight:600}.session-notification-item span{font-size:.74rem;color:var(--sidebar-muted)}.user-popover{gap:14px}.session-menu-list{display:grid;gap:8px}.session-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);color:var(--sidebar-text);font-size:.84rem;font-weight:600}.session-menu-item:hover{background:rgba(255,255,255,.08)}.session-menu-item.danger{color:#fecaca}.danger-ghost{border-color:rgba(239,68,68,.28)!important;color:var(--rose-600)!important}.app-sidebar .danger-ghost,.session-menu-item.danger{color:#fecaca!important}.form-success{margin:0;color:#86efac;font-size:.8rem}.page-success{color:var(--brand-dark);font-weight:600}.account-form-grid{max-width:560px}.account-action-button{width:fit-content}.app-sidebar .button-ghost{color:var(--sidebar-muted);border-color:rgba(255,255,255,.12);min-height:36px;font-size:.84rem;padding:0 14px;border-radius:var(--r-lg)}.app-sidebar .button-ghost:hover{background:var(--sidebar-hover);color:var(--sidebar-text);transform:none}.workspace{display:flex;flex-direction:column;min-height:100vh;min-width:0;gap:0}.clean-workspace{background:var(--bg)}.workspace-header{display:flex;justify-content:space-between;gap:20px;padding:26px 32px 22px;background:var(--surface);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-xs);border-radius:0;border:none;border-bottom:1px solid var(--border)}.compact-header,.workspace-header{align-items:flex-end}.page-intro{display:grid;gap:5px}.page-intro h2{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:700;color:var(--text);letter-spacing:-.03em}.compact-page-intro h2{font-size:1.4rem}.page-intro p{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.workspace-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.month-field{min-width:160px}.compact-month-field{min-width:145px}.workspace-actions{display:flex;gap:10px;flex-wrap:wrap}.workspace-content{flex:1 1;padding:18px 22px 32px;gap:14px}.section-stack,.workspace-content{display:flex;flex-direction:column}.section-stack{gap:12px}.panel{box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.panel,.section-card{background:var(--surface);border:1px solid var(--border)}.section-card{border-radius:var(--r-2xl);padding:20px 24px;box-shadow:var(--shadow-xs)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.chart-head h3,.panel-header h2{margin:0;font-family:var(--font-display);font-size:.97rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.panel-eyebrow{margin:0 0 4px;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--brand)}.panel-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.compact-summary-grid .summary-card{min-height:auto}.summary-card{position:relative;display:grid;gap:12px;min-height:130px;padding:18px 20px;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.summary-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--r-pill) var(--r-pill) 0 0}.summary-card:after{display:none}.tone-cool:before{background:linear-gradient(90deg,var(--violet-500),var(--blue-400))}.tone-warm:before{background:linear-gradient(90deg,var(--amber-600),var(--amber-400))}.tone-success:before{background:linear-gradient(90deg,var(--emerald-600),var(--emerald-400))}.summary-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:var(--r-lg)}.tone-cool .summary-icon{background:var(--income-soft);color:var(--violet-600)}.tone-warm .summary-icon{background:var(--expense-soft);color:var(--amber-700)}.tone-success .summary-icon{background:var(--brand-soft);color:var(--brand-dark)}.summary-content{display:grid;gap:4px}.summary-content p,.summary-content span{margin:0;color:var(--text-muted);font-size:.82rem}.summary-content strong{font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.04em}.dash-hero{position:relative;overflow:hidden;display:grid;gap:12px;padding:16px 20px;border-radius:var(--r-3xl);border:1px solid var(--border);background:linear-gradient(135deg,var(--surface) 40%,rgba(16,185,129,.07) 100%);box-shadow:var(--shadow-sm)}.dash-hero:before{inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(16,185,129,.035))}.dash-hero:after,.dash-hero:before{content:"";position:absolute;pointer-events:none}.dash-hero:after{right:-40px;top:-40px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.09) 0,transparent 70%)}.dash-hero-main{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;position:relative}.dash-hero-left{display:grid;gap:6px;min-width:0}.dash-eyebrow{margin:0;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--emerald-500)}.dash-hero-title{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--text);max-width:28ch}.dash-hero-sub{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.55}.dash-hero-stats{display:flex;gap:24px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dash-hero-stat{display:grid;gap:3px;text-align:right}.dash-hero-stat span{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.dash-hero-stat strong{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1}.dash-progress-area{display:grid;gap:8px;position:relative}.dash-progress-label{display:flex;justify-content:space-between;align-items:center}.dash-progress-label span{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.dash-progress-label span:last-child{color:var(--emerald-500);font-weight:700}.dash-progress-bar{height:7px;border-radius:var(--r-pill);background:var(--border)}.dash-progress-fill{border-radius:var(--r-pill);background:linear-gradient(90deg,var(--emerald-500),var(--emerald-400));transition:width .6s cubic-bezier(.4,0,.2,1)}.dash-hero-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative}.dash-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.dash-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-kpi{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);position:relative;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease}.dash-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.dash-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--r-pill) 0 0 var(--r-pill)}.dash-kpi.income:before{background:var(--violet-500)}.dash-kpi.expense:before{background:var(--amber-500)}.dash-kpi.pending:before{background:var(--blue-500)}.dash-kpi.savings:before{background:var(--emerald-500)}.dash-kpi-icon{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:var(--r-lg);flex-shrink:0}.dash-kpi.income .dash-kpi-icon{background:var(--income-soft);color:var(--violet-500)}.dash-kpi.expense .dash-kpi-icon{background:var(--expense-soft);color:var(--amber-600)}.dash-kpi.pending .dash-kpi-icon{background:var(--info-soft);color:var(--blue-500)}.dash-kpi.savings .dash-kpi-icon{background:var(--brand-soft);color:var(--emerald-600)}.dash-kpi-body{display:grid;gap:2px;min-width:0}.dash-kpi-body span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.dash-kpi-body strong{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.dash-kpi-body small,.dash-kpi-body strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi-body small{font-size:.76rem;color:var(--text-muted)}.dash-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:12px;align-items:start}.dash-content-main,.dash-content-side{display:grid;gap:12px;align-content:start}.dash-activity-list{display:grid;gap:8px}.dash-activity-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface-subtle);transition:border-color .14s ease,background .14s ease}.dash-activity-item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.dash-activity-dot{width:36px;height:36px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.02em}.dash-activity-dot.paid{background:var(--brand-soft);color:var(--emerald-600)}.dash-activity-dot.pending{background:var(--expense-soft);color:var(--amber-700)}.dash-activity-info{flex:1 1;display:grid;gap:2px;min-width:0}.dash-activity-info strong{font-size:.88rem;font-weight:600;color:var(--text)}.dash-activity-info span,.dash-activity-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-activity-info span{font-size:.78rem;color:var(--text-muted)}.dash-activity-amount{display:grid;gap:2px;text-align:right;flex-shrink:0}.dash-activity-amount strong{font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.dash-activity-amount .status-chip{font-size:.72rem}.quick-action-strip{display:flex;gap:8px}.quick-action-strip .quick-action-tile{flex:1 1;flex-direction:row;justify-content:flex-start;gap:8px;padding:9px 12px}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-action-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);text-decoration:none;transition:background .13s ease,border-color .13s ease,color .13s ease,transform .13s ease}.quick-action-tile:hover{background:var(--brand-soft);border-color:rgba(16,185,129,.28);color:var(--emerald-600);transform:translateY(-2px)}.quick-action-tile-icon{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);transition:background .13s ease,border-color .13s ease}.quick-action-tile:hover .quick-action-tile-icon{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.25)}.quick-action-tile span{font-size:.72rem;font-weight:600;text-align:center;letter-spacing:.01em}.dash-tax-grid{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}.hover-board,.interactive-donut-panel,.interactive-trend-shell{display:grid;gap:16px}.interactive-donut-panel{grid-template-columns:auto minmax(260px,1fr);align-items:center}.donut-shell.interactive{transition:transform .16s ease}.donut-shell.interactive:hover{transform:translateY(-2px)}.interactive-donut-segment{transition:stroke-width .16s ease,stroke-opacity .16s ease,filter .16s ease;cursor:pointer}.hover-board,.interactive-donut-details{align-content:start}.hover-board-list,.interactive-donut-list{display:grid;gap:10px}.hover-bar-row,.interactive-legend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface-subtle);text-align:left;transition:border-color .14s ease,background .14s ease,transform .14s ease}.hover-bar-row.active,.hover-bar-row:hover,.interactive-legend-row.active,.interactive-legend-row:hover{border-color:rgba(16,185,129,.24);background:var(--surface);transform:translateY(-1px)}.hover-bar-copy,.interactive-legend-row div{display:grid;gap:2px;min-width:0}.hover-bar-copy strong,.interactive-legend-row strong{color:var(--text);font-size:.88rem}.hover-bar-copy span,.interactive-legend-row small,.interactive-legend-row span{color:var(--text-muted);font-size:.78rem}.hover-bar-row{grid-template-columns:minmax(0,1fr)}.hover-bar-track{height:7px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.hover-bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--emerald-500),var(--blue-400))}.chart-hover-card{display:grid;gap:10px;padding:16px;border-radius:var(--r-2xl);border:1px solid rgba(16,185,129,.16);background:linear-gradient(180deg,rgba(16,185,129,.08),rgba(16,185,129,.02))}.chart-hover-kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--emerald-600)}.chart-hover-card strong{font-size:1rem;color:var(--text)}.chart-hover-card p{margin:0;font-size:.84rem;line-height:1.6;color:var(--text-secondary)}.donut-center small{font-size:.72rem;color:var(--text-muted)}.dash-goal-body{display:grid;gap:14px}.dash-goal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dash-goal-head>div{display:grid;gap:3px}.dash-goal-head strong{font-size:.95rem;font-weight:700;color:var(--text)}.dash-goal-head span{font-size:.82rem;color:var(--text-muted)}.dash-goal-pct{font-family:var(--font-display);font-size:1.6rem;font-weight:800;letter-spacing:-.04em;color:var(--emerald-500);line-height:1;flex-shrink:0}.theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-lg);border:1px solid var(--sidebar-border);background:transparent;color:var(--sidebar-muted);cursor:pointer;transition:background .13s ease,color .13s ease;flex-shrink:0}.theme-toggle:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.hero-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,.9fr);gap:24px;padding:32px;border-radius:var(--r-3xl);border:1px solid var(--border);background:linear-gradient(135deg,var(--surface) 55%,rgba(236,253,245,.8));box-shadow:var(--shadow-xs)}.hero-panel:after{content:"";position:absolute;right:-5%;bottom:-25%;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(16,185,129,.1),transparent 70%);pointer-events:none}.hero-panel h1{margin:0;max-width:18ch;font-family:var(--font-display);font-size:clamp(1.9rem,2.6vw,3.2rem);line-height:1.1;letter-spacing:-.04em;color:var(--text)}.hero-copy{margin:14px 0 0;max-width:60ch;color:var(--text-secondary);line-height:1.65;font-size:.94rem}.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-sidebar{display:grid;gap:14px;align-content:start}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.minimal-hero{grid-template-columns:1fr}.file-chip,.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.84rem;font-weight:600;box-shadow:var(--shadow-xs)}.pill.subtle{background:var(--brand-soft);border-color:rgba(16,185,129,.22);color:var(--emerald-700)}.button,.button-ghost,.button-secondary,.icon-button{border:none;transition:transform .13s ease,box-shadow .13s ease,opacity .13s ease,background .13s ease}.button-ghost:hover,.button-secondary:hover,.button:hover{transform:translateY(-1px)}.button,.button-ghost,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 18px;border-radius:var(--r-lg);font-weight:600;font-size:.9rem;letter-spacing:-.01em}.button{color:white;background:linear-gradient(135deg,var(--emerald-500),var(--emerald-700));box-shadow:var(--brand-shadow)}.button:hover{box-shadow:0 8px 28px rgba(16,185,129,.35)}.button-secondary{color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.button-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.button-secondary.danger{color:var(--rose-700);border-color:rgba(244,63,94,.18)}.button-secondary.danger:hover{background:rgba(244,63,94,.08);border-color:rgba(244,63,94,.26)}.button-ghost{color:var(--text-secondary);background:transparent;border:1px dashed var(--border-strong)}.button-ghost:hover{background:var(--surface-subtle);color:var(--text);border-style:solid}.button-ghost:disabled,.button-secondary:disabled,.button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.button-block{width:100%}.field{display:grid;gap:7px}.field span{font-size:.83rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em}.field input,.field select,.field textarea{min-height:44px;padding:0 13px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none;transition:border-color .13s ease,box-shadow .13s ease;font-size:.92rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.field textarea{min-height:96px;padding:11px 13px;resize:vertical}.field-with-icon{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 13px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);transition:border-color .13s ease,box-shadow .13s ease}.field-with-icon svg{color:var(--text-muted);flex-shrink:0}.field-with-icon input{min-height:auto;width:100%;padding:0;border:none;background:transparent;box-shadow:none}.field-with-icon:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.salary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-grid{margin-top:16px}.stack-form{display:grid;gap:16px}.form-error{margin:0;padding:12px 14px;border-radius:var(--r-lg);border:1px solid rgba(244,63,94,.2);color:var(--rose-600);background:var(--danger-soft);font-size:.88rem}.form-inline-end{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.form-span-2{grid-column:span 2}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.95fr);gap:20px}.dashboard-main,.dashboard-sidebar{display:grid;gap:20px;align-content:start}.page-shell{padding:28px 24px 52px}.page-content{width:min(1360px,100%);margin:0 auto;display:grid;gap:22px}.expense-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-radius:var(--r-xl);background:var(--surface-subtle);border:1px solid var(--border);transition:border-color .13s ease,background .13s ease}.expense-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.expense-item>div:first-child,.stacked-values{display:grid;gap:5px}.expense-item span,.muted-line,.soft-note{color:var(--text-muted);font-size:.84rem}.expense-item strong{font-size:.94rem;font-weight:600;color:var(--text)}.compact-expense-item{padding:10px 13px}.item-actions{display:flex;align-items:center;gap:8px}.icon-button{display:inline-flex;width:33px;height:33px;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);transition:background .13s ease,color .13s ease,transform .13s ease}.icon-button:hover{transform:translateY(-1px);background:var(--surface-hover);color:var(--text)}.icon-button.danger{color:var(--rose-600)}.icon-button.danger:hover{background:var(--danger-soft);border-color:rgba(244,63,94,.22)}.attachment-list,.bar-list,.comment-list,.feed-list,.goal-selector,.insight-list,.list-stack,.notice-stack,.queued-files{display:grid;gap:12px}.compact-stack,.narrow-stack{display:grid;gap:14px}.narrow-stack{max-width:920px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.resource-card{display:grid;gap:12px;padding:18px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.resource-card:hover{transform:translateY(-2px);border-color:rgba(16,185,129,.3);box-shadow:var(--shadow)}.resource-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--r-lg);background:var(--brand-soft);color:var(--brand-dark)}.resource-copy{display:grid;gap:4px}.resource-copy strong{font-size:.9rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.resource-copy p{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.5}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.metric-strip-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-chip{display:grid;gap:6px;padding:14px;border-radius:var(--r-xl);background:var(--surface-subtle);border:1px solid var(--border);transition:border-color .13s ease}.metric-chip:hover{border-color:var(--border-strong)}.metric-chip.highlight{background:linear-gradient(135deg,var(--brand-soft),rgba(255,255,255,.5));border-color:rgba(16,185,129,.2)}.chart-head span,.metric-chip span{color:var(--text-muted);font-size:.83rem}.bar-copy strong,.metric-chip strong{font-size:.94rem;font-weight:600;color:var(--text)}.chart-card{display:grid;gap:13px;padding:16px;border-radius:var(--r-2xl);background:var(--surface-subtle);border:1px solid var(--border)}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dual-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.dual-grid,.progress-stack{display:grid;gap:14px}.progress-row{display:grid;gap:7px}.progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-copy strong{font-size:.88rem;font-weight:600;color:var(--text)}.progress-copy span{font-size:.84rem;color:var(--text-muted)}.bar-track,.progress-bar{height:9px;border-radius:var(--r-pill);background:var(--surface-subtle);border:1px solid var(--border);overflow:hidden}.bar-track span,.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--emerald-600),var(--emerald-400));transition:width .6s cubic-bezier(.34,1.56,.64,1)}.bar-track.warm span,.progress-bar.warm span{background:linear-gradient(90deg,var(--amber-700),var(--amber-400))}.progress-bar.cool span{background:linear-gradient(90deg,var(--violet-600),var(--blue-400))}.bar-row{display:grid;gap:7px}.bar-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.budget-progress-track{height:8px;border-radius:var(--r-pill);background:var(--surface-subtle);border:1px solid var(--border);overflow:hidden}.budget-progress-fill{height:100%;border-radius:inherit;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.ai-panel{display:grid;gap:14px}.ai-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.insight-item{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border-radius:var(--r-xl);background:var(--surface-subtle);border:1px solid var(--border)}.insight-item p{margin:0;line-height:1.65;font-size:.91rem;color:var(--text-secondary)}.auth-shell{min-height:100vh;display:grid;align-items:center;background:var(--bg)}.auth-layout{width:min(1100px,100%);margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:20px}.auth-brand-panel,.auth-card{display:grid;gap:20px;padding:32px;border-radius:var(--r-3xl)}.auth-brand-panel{align-content:start;background:linear-gradient(150deg,var(--navy-900) 0,var(--navy-800) 60%,var(--navy-700) 100%);border:1px solid var(--navy-700);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.auth-brand-panel:before{top:-10%;right:-10%;width:280px;height:280px;background:radial-gradient(circle,rgba(16,185,129,.1),transparent 70%)}.auth-brand-panel:after,.auth-brand-panel:before{content:"";position:absolute;border-radius:999px;pointer-events:none}.auth-brand-panel:after{left:-5%;bottom:-15%;width:200px;height:200px;background:radial-gradient(circle,rgba(139,92,246,.08),transparent 70%)}.auth-brand-panel .brand-block h1,.auth-brand-panel .hero-panel h1{color:white;font-size:clamp(1.8rem,2.5vw,3rem);letter-spacing:-.04em}.auth-brand-panel .hero-copy,.auth-brand-panel .sidebar-copy{color:rgba(255,255,255,.52)}.auth-brand-panel .pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.75);box-shadow:none}.auth-brand-panel .hero-kicker{color:var(--emerald-400)}.auth-brand-panel .brand-block{border-bottom:none;padding:0}.auth-form-column{display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.auth-card-head{display:grid;gap:8px}.auth-card-head h2{margin:0;font-size:clamp(1.55rem,2.2vw,2.1rem);color:var(--text);letter-spacing:-.04em}.auth-card-head p{margin:0;color:var(--text-secondary);font-size:.91rem;line-height:1.6}.auth-switch{margin:0;color:var(--text-muted);font-size:.88rem}.auth-switch a{color:var(--brand-dark);font-weight:700}.emoji-row,.reaction-row,.tag-row,.toggle-row{display:flex;gap:8px;flex-wrap:wrap}.toggle-chip{min-height:36px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-weight:600;font-size:.86rem;transition:all .13s ease}.toggle-chip:hover{border-color:var(--border-strong);color:var(--text)}.toggle-chip.active{color:white;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));border-color:transparent}.tag-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:var(--r-pill);color:var(--text-muted);background:var(--surface-subtle);border:1px solid var(--border);font-size:.8rem;font-weight:600}.emoji-button,.reaction-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);transition:all .13s ease}.reaction-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border-radius:var(--r-lg);font-weight:600;font-size:.86rem}.reaction-button.compact{min-height:30px;padding:0 10px;border-radius:var(--r-md);font-size:.8rem}.reaction-button:hover{border-color:var(--border-strong);transform:translateY(-1px)}.reaction-button.active{color:white;background:linear-gradient(135deg,var(--emerald-600),var(--emerald-400));border-color:transparent;box-shadow:var(--brand-shadow)}.reaction-button.active.down{background:linear-gradient(135deg,var(--rose-600),var(--rose-500));box-shadow:none}.emoji-button{width:36px;height:36px;border-radius:var(--r-md);font-size:.96rem}.emoji-button.active{background:var(--brand-soft);border-color:rgba(16,185,129,.3)}.comment-card,.feed-card,.inline-card,.notification-card{display:grid;gap:12px;padding:16px 18px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);transition:box-shadow .15s ease,border-color .15s ease}.inline-card:hover{border-color:var(--border-strong)}.inline-card:hover,.notification-card:hover{box-shadow:var(--shadow-sm)}.comment-card-head,.feed-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.comment-block{padding-top:12px;border-top:1px solid var(--border)}.comment-block,.comment-composer{display:grid;gap:12px}.comment-composer-shell{display:grid;gap:12px;padding:14px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface-subtle)}.comment-composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.compact-reaction-row{gap:6px}.emoji-picker-wrap{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.emoji-trigger{min-width:156px}.emoji-picker-popover{overflow:hidden}.emoji-picker-popover,.sticker-picker-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.sticker-picker-popover{width:min(420px,90vw);padding:12px;background:var(--surface)}.sticker-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sticker-card{display:grid;gap:8px;align-items:center;justify-items:center;min-height:106px;padding:12px 10px;border-radius:18px;border:1px solid rgba(255,255,255,.18);text-align:center}.sticker-card.selected{box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}.sticker-card strong{font-size:.82rem;font-weight:700}.sticker-emoji{font-size:2rem;line-height:1}.comment-sticker,.comment-sticker-preview{display:flex;align-items:flex-start}.comment-card p{margin:0;line-height:1.65;font-size:.91rem;color:var(--text-secondary)}.notification-card.unread{border-color:rgba(16,185,129,.3);border-left:3px solid var(--brand);background:linear-gradient(135deg,var(--brand-soft) 0,var(--surface) 60%)}.goal-contribution-list{display:grid;gap:14px}.goal-contribution-card{display:grid;gap:12px;padding:18px;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs)}.goal-contribution-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.member-card{display:grid;gap:16px;padding:20px;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);transition:box-shadow .15s ease,border-color .15s ease}.member-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.member-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.member-card-header>div{display:grid;gap:3px}.member-card-header span{color:var(--text-muted);font-size:.85rem}.member-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-metrics-3,.salary-cycle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.income-cycle-card,.promotion-card{display:grid;gap:12px;padding:14px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface-subtle)}.income-cycle-head,.promotion-note-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.income-cycle-head>div{display:grid;gap:4px}.income-cycle-head span{color:var(--text-muted);font-size:.82rem}.income-highlight{display:flex;align-items:flex-start;gap:8px}.promotion-grid,.promotion-stack{display:grid;gap:12px}.promotion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invite-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-radius:var(--r-xl);background:var(--surface-subtle);border:1px solid var(--border)}.invite-card strong{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.08em;color:var(--text)}.import-dropzone{display:grid;gap:10px;padding:18px;border-radius:var(--r-2xl);border:2px dashed var(--border-strong);background:var(--surface-subtle);transition:border-color .13s ease}.import-dropzone:hover{border-color:rgba(16,185,129,.4)}.import-dropzone strong{display:block;margin-bottom:4px;color:var(--text)}.import-dropzone input{width:100%}.queued-files{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.empty-state{padding:28px 18px;border-radius:var(--r-xl);border:1px dashed var(--border-strong);font-size:.9rem;text-align:center;line-height:1.65}.empty-state,.soft-note{margin:0;color:var(--text-muted);background:var(--surface-subtle)}.soft-note{padding:11px 13px;border-radius:var(--r-lg);font-size:.86rem}.two-column-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:20px}.align-right{justify-items:end}@media (max-width:1220px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--sidebar-border);flex-direction:row;flex-wrap:wrap;padding-bottom:0}.app-sidebar .brand-block{flex:1 1 auto;border-bottom:none;border-right:1px solid var(--sidebar-divider)}.grouped-nav{flex-direction:row;flex:1 1;flex-wrap:wrap;padding:8px}.app-nav-section{padding:8px 6px}.session-card{margin-top:0;border-top:none;border-left:1px solid var(--sidebar-divider);padding:12px 14px}.workspace-header{position:static}.dashboard-layout{grid-template-columns:1fr}.metric-strip,.salary-grid,.two-column-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-header{display:flex;align-items:flex-end}.auth-layout{grid-template-columns:1fr}}@media (max-width:900px){.app-sidebar{flex-direction:column}.app-sidebar .brand-block{border-right:none;border-bottom:1px solid var(--sidebar-divider)}.grouped-nav{flex-direction:column}.session-card{border-left:none;border-top:1px solid var(--sidebar-divider);margin-top:0}.dual-grid,.form-grid,.hero-panel,.metric-strip,.resource-grid,.salary-grid,.summary-grid{grid-template-columns:1fr}.workspace-content{padding:20px 16px 40px}.workspace-header{padding:18px 16px;flex-direction:column;align-items:flex-start}.hero-panel,.section-card{padding:18px;border-radius:var(--r-2xl)}.workspace-actions,.workspace-tools{justify-content:stretch;width:100%}.workspace-actions>*,.workspace-tools>*{width:100%}.app-nav-link,.bar-copy,.chart-head,.comment-card-head,.expense-item,.feed-card-header,.form-inline-end,.invite-card,.member-card-header,.progress-copy{align-items:flex-start;flex-direction:column}.form-span-2,.member-metrics{grid-column:auto}}.dashboard-hero{align-items:stretch}.hero-main{display:grid;gap:18px}.hero-meter{display:grid;gap:10px;max-width:540px}.hero-stat-block{display:grid;gap:6px;padding:18px;border-radius:var(--r-2xl);border:1px solid rgba(16,185,129,.14);background:linear-gradient(180deg,rgba(16,185,129,.08),rgba(16,185,129,.02))}.hero-stat-block.warm{border-color:rgba(245,158,11,.16);background:linear-gradient(180deg,rgba(245,158,11,.1),rgba(245,158,11,.03))}.hero-stat-block small,.hero-stat-block span{color:var(--text-secondary)}.hero-stat-block strong{font-family:var(--font-display);font-size:1.6rem;line-height:1;color:var(--text)}.dashboard-focus-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px}.chart-shell{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.donut-shell{position:relative;width:144px;height:144px;display:grid;place-items:center}.donut-svg{width:144px;height:144px}.donut-center{position:absolute;display:grid;gap:2px;text-align:center}.donut-center span{font-size:.75rem;color:var(--text-muted)}.donut-center strong{font-family:var(--font-display);font-size:1rem;color:var(--text)}.chart-legend-stack{display:grid;gap:12px}.legend-row{display:flex;align-items:center;gap:12px}.legend-row div{display:grid;gap:2px}.legend-row span{color:var(--text-secondary);font-size:.84rem}.legend-swatch{width:10px;height:10px;border-radius:999px;flex-shrink:0}.legend-swatch.service{background:var(--emerald-500)}.legend-swatch.tax{background:var(--amber-500)}.impact-note{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.6}.tax-list{display:grid;gap:10px;margin-top:18px}.recent-expense-card,.tax-list-row{display:grid;gap:10px;padding:14px 16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface-subtle)}.tax-list-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.tax-list-row div{display:grid;gap:2px}.recent-expense-card span,.tax-list-row span{color:var(--text-secondary);font-size:.82rem}.quick-action-grid{display:grid;gap:12px}.quick-action-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface-subtle);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.quick-action-card:hover{border-color:rgba(16,185,129,.22);box-shadow:var(--shadow);transform:translateY(-1px)}.quick-action-card>div{display:grid;gap:4px}.quick-action-card span{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.action-arrow{color:var(--text-muted)}.income-shell{gap:20px}.income-year-field{min-width:180px}.income-year-field span{font-size:.76rem}.income-current-grid,.income-timeline-grid{display:grid;gap:12px}.income-current-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.income-metric-card{display:grid;gap:6px;padding:14px 16px;border-radius:var(--r-xl);border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-subtle))}.income-metric-card span{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.income-metric-card strong{color:var(--text);font-size:1rem}.income-empty-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-xl);border:1px dashed var(--border-strong);background:var(--surface-subtle)}.income-empty-card>div{display:grid;gap:4px;flex:1 1}.income-empty-card p{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.5}.income-feedback{margin:0;padding:12px 14px;border-radius:var(--r-lg);background:var(--brand-soft);color:var(--emerald-700);border:1px solid rgba(16,185,129,.16)}.income-timeline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.income-month-tile{display:grid;gap:6px;padding:14px 16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.income-month-tile:hover{transform:translateY(-1px);box-shadow:var(--shadow-xs);border-color:var(--border-strong)}.income-month-tile span{color:var(--text-secondary);font-size:.82rem}.income-month-tile strong{color:var(--text);font-size:.95rem}.income-month-tile.filled{background:linear-gradient(180deg,var(--surface),rgba(16,185,129,.05))}.income-month-tile.active{border-color:rgba(16,185,129,.28);box-shadow:var(--shadow-sm)}.income-month-list,.income-receipts-list,.income-year-bars{display:grid;gap:12px}.income-receipt-action-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.income-actions,.income-inline-actions,.income-month-card-actions,.income-month-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.income-actions,.income-inline-actions{justify-content:flex-end}.income-actions{padding-top:4px}.income-month-card,.income-year-bar{display:grid;gap:14px;padding:16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface)}.income-month-card.active{border-color:rgba(16,185,129,.28);box-shadow:var(--shadow-xs)}.income-month-card-head{justify-content:space-between}.income-month-card-head>div:first-child{display:grid;gap:4px}.income-month-card-head span{color:var(--text-secondary);font-size:.84rem}.income-year-bars{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.income-year-bar{gap:8px;background:linear-gradient(180deg,var(--surface),var(--surface-subtle));transition:transform .14s ease,border-color .14s ease}.income-year-bar:hover{transform:translateY(-1px);border-color:var(--border-strong)}.income-year-bar small,.income-year-bar span{color:var(--text-secondary)}.income-year-bar strong{color:var(--text);font-size:.96rem}.goal-spotlight{display:grid;gap:16px}.editable-import-footer,.editable-import-head,.expense-highlight-row,.feed-title-row,.feed-toolbar,.goal-spotlight-head,.recent-expense-footer,.recent-expense-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-spotlight-head div{display:grid;gap:4px}.goal-spotlight-head span{color:var(--text-secondary)}.goal-percentage{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:8px 12px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--emerald-700);font-weight:700}.insight-callout{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-xl);background:linear-gradient(180deg,rgba(16,185,129,.1),rgba(16,185,129,.04));border:1px solid rgba(16,185,129,.14)}.insight-callout p{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.6}.pending-callout{flex:1 1}.recent-list{display:grid;gap:12px}.split-value{display:grid;gap:4px}.inline-link{font-size:.84rem;font-weight:600;color:var(--emerald-700)}.status-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:var(--r-pill);font-size:.74rem;font-weight:700;letter-spacing:.02em}.status-chip.pending{background:rgba(245,158,11,.12);color:var(--amber-700)}.status-chip.paid{background:rgba(16,185,129,.12);color:var(--emerald-700)}.credit-card-layout{align-items:start}.card-tab-list{display:grid;gap:10px}.credit-card-tab{width:100%;border:1px solid var(--border);background:var(--surface-subtle);border-radius:var(--r-xl);padding:14px;text-align:left;display:grid;gap:4px;color:var(--text);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.credit-card-tab.active,.credit-card-tab:hover{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-1px)}.credit-card-tab span{font-size:13px;font-weight:800}.credit-card-tab strong{font-size:22px;letter-spacing:-.5px}.credit-card-tab small{color:var(--text-muted);font-size:12px;font-weight:700}.credit-card-breakdown,.credit-purchase-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.credit-card-breakdown>div,.credit-purchase-values>div{border:1px solid var(--border);background:var(--surface-subtle);border-radius:var(--r-lg);padding:12px;display:grid;gap:4px}.credit-card-breakdown span,.credit-purchase-values span{color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}.credit-card-breakdown strong,.credit-purchase-values strong{color:var(--text);font-size:15px;font-weight:900}.credit-card-progress{margin-top:16px}.credit-profile-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.profile-pill{display:inline-flex;align-items:center;width:fit-content;border-radius:var(--r-pill);padding:6px 10px;font-size:12px;font-weight:900;border:1px solid transparent}.profile-pill.essential{background:var(--brand-soft);color:var(--brand-dark);border-color:rgba(16,185,129,.25)}.profile-pill.superfluous{background:var(--expense-soft);color:var(--amber-700);border-color:rgba(245,158,11,.3)}.profile-pill.neutral{background:var(--surface-subtle);color:var(--text-secondary);border-color:var(--border)}.credit-purchase-list{display:grid;gap:12px}.credit-purchase-card{border:1px solid var(--border);border-radius:var(--r-2xl);background:linear-gradient(135deg,var(--surface) 0,var(--surface-subtle) 100%);padding:16px;display:grid;gap:14px}.credit-purchase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.credit-purchase-head span:not(.profile-pill){color:var(--text-muted);font-size:13px;font-weight:700}.credit-purchase-title{display:flex;align-items:center;gap:8px;color:var(--text);margin-bottom:4px}.credit-purchase-title strong{font-size:15px}.installment-strip{display:flex;flex-wrap:wrap;gap:6px}.installment-chip{border-radius:var(--r-pill);padding:5px 8px;font-size:11px;font-weight:900;border:1px solid var(--border)}.installment-chip.pending{background:var(--expense-soft);color:var(--amber-700)}.installment-chip.paid{background:var(--brand-soft);color:var(--brand-dark)}@media (max-width:900px){.credit-card-breakdown,.credit-purchase-values{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-purchase-head{flex-direction:column}.income-current-grid,.income-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.income-empty-card{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.credit-card-breakdown,.credit-purchase-values,.income-current-grid,.income-timeline-grid,.income-year-bars{grid-template-columns:1fr}}.feed-toolbar{margin-bottom:16px;flex-wrap:wrap}.feed-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);border-radius:var(--r-pill);padding:8px 14px;font-size:.84rem;font-weight:600}.filter-chip.active{border-color:rgba(16,185,129,.28);background:var(--brand-soft);color:var(--emerald-700)}.fintech-feed-card{gap:16px;background:linear-gradient(180deg,var(--surface),var(--surface-subtle))}.expense-amount-block{display:grid;gap:2px;text-align:right}.expense-amount-block small,.expense-amount-block span{color:var(--text-secondary)}.conversation-preview{display:grid;gap:4px}.conversation-preview span{color:var(--text-secondary);font-size:.84rem}.subtle-tag{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.14);color:var(--blue-600)}.editable-import-card{display:grid;gap:12px;padding:14px 16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface)}.document-item-list{display:grid;gap:10px}.document-item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--r-lg);background:var(--surface-subtle);border:1px solid var(--border)}.document-item-row>div{display:grid;gap:4px;min-width:0}.document-item-row span{color:var(--text-secondary);font-size:.8rem}.compact-tags{justify-content:flex-end}.item-classification-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;margin-top:10px}.item-classification-grid .field{gap:5px}.item-classification-grid .field span{font-size:.72rem}.item-classification-grid .field select{min-height:36px;padding:0 10px;font-size:.82rem}.align-right{text-align:right}.helper-tight{font-size:.78rem}.preview-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.modal-head,.saved-import-actions,.saved-import-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.saved-import-actions{flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:24px;z-index:40}.modal-card{width:min(920px,100%);max-height:min(88vh,920px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3xl);box-shadow:var(--shadow-lg);padding:22px}.modal-preview-stack{display:grid;gap:16px}.imports-explorer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px}.catalog-toolbar,.purchase-catalog-foot,.purchase-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.invoice-explorer-list,.invoice-explorer-stack,.purchase-catalog-list{display:grid;gap:12px}.invoice-explorer-card,.purchase-catalog-card{display:grid;gap:12px;padding:16px;border-radius:var(--r-xl);border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-subtle))}.interactive-card{width:100%;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.interactive-card.active,.interactive-card:hover{border-color:rgba(16,185,129,.28);box-shadow:var(--shadow);transform:translateY(-2px)}.invoice-explorer-card span,.purchase-catalog-card span{color:var(--text-secondary);font-size:.82rem}.purchase-catalog-foot>div,.purchase-catalog-head>div{display:grid;gap:4px;min-width:0}.invoice-items-preview{display:flex;gap:8px;flex-wrap:wrap}.purchase-hover-card{align-content:start;min-height:100%}.invoice-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.invoice-card{display:grid;gap:14px;padding:20px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .16s ease,box-shadow .16s ease,transform .14s ease}.invoice-card:hover{border-color:rgba(16,185,129,.35);box-shadow:0 6px 20px rgba(0,0,0,.07);transform:translateY(-2px)}.invoice-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.invoice-store-mark{width:38px;height:38px;border-radius:var(--r-lg);background:var(--brand-soft);display:flex;align-items:center;justify-content:center;color:var(--brand);font-weight:700;font-size:.85rem;flex-shrink:0;text-transform:uppercase}.invoice-card-store{display:flex;gap:10px;align-items:center;min-width:0}.invoice-card-store-info{display:grid;gap:2px;min-width:0}.invoice-card-store-info strong{font-size:.94rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-card-store-info span{font-size:.79rem;color:var(--text-muted)}.invoice-card-amount{text-align:right;display:grid;gap:2px;flex-shrink:0}.invoice-card-amount strong{font-size:1.05rem;color:var(--text);white-space:nowrap}.invoice-card-amount span{font-size:.77rem;color:var(--text-muted)}.invoice-card-items{display:flex;flex-wrap:wrap;gap:6px}.invoice-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.invoice-see-more{display:flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--emerald-700)}.invoice-modal-card{background:var(--surface);border-radius:var(--r-2xl);width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.18);overflow:hidden}.invoice-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 0;flex-shrink:0}.invoice-modal-merchant{display:grid;gap:4px}.invoice-modal-merchant h2{font-size:1.2rem;font-weight:700;color:var(--text);margin:0}.invoice-modal-merchant span{font-size:.82rem;color:var(--text-muted)}.invoice-modal-meta{display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.invoice-modal-body{flex:1 1;overflow-y:auto;padding:16px 24px;display:grid;gap:6px}.invoice-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-subtle)}.invoice-item-row:hover{border-color:var(--border-strong)}.invoice-item-info{display:grid;gap:4px;min-width:0}.invoice-item-info strong{font-size:.88rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-item-info span{font-size:.77rem;color:var(--text-muted)}.invoice-item-right{text-align:right;display:grid;gap:4px;flex-shrink:0}.invoice-item-right strong{font-size:.88rem;color:var(--text);white-space:nowrap}.invoice-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface-subtle);flex-shrink:0}.purchase-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.purchase-insight-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface)}.purchase-insight-icon{width:36px;height:36px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.purchase-insight-body{display:grid;gap:2px;min-width:0}.purchase-insight-body strong{font-size:.82rem;color:var(--text-secondary);font-weight:500}.purchase-insight-body span{font-size:.96rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-insight-body small{font-size:.77rem;color:var(--text-muted)}.page-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--r-xl);width:fit-content}.page-tab{padding:.5rem 1.1rem;border-radius:calc(var(--r-xl) - 2px);font-size:.85rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.page-tab.active,.page-tab:hover{color:var(--text);background:var(--surface)}.page-tab.active{box-shadow:0 1px 4px rgba(0,0,0,.08)}.imports-preview-scroll{max-height:520px}.imports-history-scroll,.imports-preview-scroll{display:grid;gap:1rem;overflow-y:auto;padding-right:4px}.imports-history-scroll{max-height:600px}.trend-chart-wrap{display:flex;flex-direction:column;gap:.75rem}.trend-svg{width:100%;height:auto;display:block;overflow:visible}.trend-active-line{stroke:rgba(16,185,129,.28);stroke-width:1.5;stroke-dasharray:4 4}.trend-point{transition:r .16s ease,opacity .16s ease}.trend-point.subtle{opacity:.94}.chart-tick{font-size:10px;fill:var(--text-muted);font-family:inherit}.trend-legend{display:flex;gap:1.25rem;align-items:center;padding-left:.25rem}.trend-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.trend-dot{display:inline-block;width:20px;height:2.5px;border-radius:2px;background:var(--indigo-500)}.trend-legend-item.variable .trend-dot{background:var(--amber-500)}.trend-dot.dashed{background:repeating-linear-gradient(90deg,var(--amber-500) 0,var(--amber-500) 4px,transparent 4px,transparent 7px)}.trend-summary-row{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.trend-summary-chips{display:flex;gap:.75rem;flex-wrap:wrap}.trend-hover-card{align-content:start}.trend-hover-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trend-hover-metrics div{display:grid;gap:2px;padding:10px 12px;border-radius:var(--r-lg);background:rgba(255,255,255,.45);border:1px solid rgba(16,185,129,.08)}.trend-hover-metrics span{font-size:.74rem;color:var(--text-muted)}.trend-hover-metrics strong{font-size:.9rem;color:var(--text)}@media (max-width:1180px){.chart-shell,.dash-content-grid,.dashboard-focus-grid,.imports-explorer-grid,.interactive-donut-panel{grid-template-columns:1fr}.dash-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-hero-main{flex-direction:column;gap:16px}.dash-hero-stats{justify-content:flex-start}.dash-hero-stat{text-align:left}}@media (max-width:640px){.dash-kpi-row{grid-template-columns:1fr 1fr}.trend-hover-metrics{grid-template-columns:1fr}.dash-hero{padding:20px}}@media (max-width:900px){.catalog-toolbar,.document-item-row,.editable-import-footer,.editable-import-head,.expense-highlight-row,.feed-title-row,.feed-toolbar,.goal-spotlight-head,.income-cycle-head,.modal-head,.promotion-note-row,.purchase-catalog-foot,.purchase-catalog-head,.recent-expense-footer,.recent-expense-main,.saved-import-actions,.saved-import-head{align-items:flex-start;flex-direction:column}.member-metrics-3,.promotion-grid,.salary-cycle-grid{grid-template-columns:1fr}}.dash-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dash-pie-block{display:flex;flex-direction:column;gap:10px}.dash-pie-legend{display:grid;gap:8px}.dash-pie-row{display:flex;align-items:center;gap:10px}.dash-pie-row>span:first-child{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.dash-pie-row>div{display:grid;gap:1px}.dash-pie-row small{font-size:.73rem;color:var(--text-muted)}.dash-pie-row strong{font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.dash-compact-activity{display:grid;gap:0}.dash-compact-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.dash-compact-row:last-child{border-bottom:none}.dash-compact-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-compact-dot.paid{background:var(--emerald-500)}.dash-compact-dot.pending{background:var(--amber-500)}.dash-compact-info{flex:1 1;display:grid;gap:1px;min-width:0}.dash-compact-info strong{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-compact-info span{font-size:.75rem;color:var(--text-muted)}.dash-compact-val{font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:-.02em;color:var(--text);flex-shrink:0}.dash-see-all-link{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:.82rem;font-weight:600;color:var(--brand);transition:gap .13s ease}.dash-see-all-link:hover{gap:8px}.recharts-custom-tooltip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:10px 14px;box-shadow:var(--shadow);min-width:140px}.recharts-tooltip-label{margin:0 0 6px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.recharts-tooltip-row{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-secondary)}.recharts-tooltip-row span:first-child{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.recharts-tooltip-row strong{margin-left:auto;font-family:var(--font-display);font-weight:700;color:var(--text)}@media (max-width:900px){.dash-charts-row{grid-template-columns:1fr}}.social-shell{display:grid;grid-template-columns:230px 1fr;min-height:100dvh;background:var(--bg)}.social-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid rgba(255,255,255,.06);overflow-y:auto;z-index:40}.social-brand{display:flex;align-items:center;gap:10px;padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.social-brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--emerald-500),var(--emerald-700));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:white;letter-spacing:-.5px;flex-shrink:0}.social-brand-name{font-size:15px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:-.2px}.social-brand-theme{margin-left:auto;background:none;border:none;cursor:pointer;color:rgba(255,255,255,.35);padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s}.social-brand-theme:hover{color:rgba(255,255,255,.7)}.social-nav{flex:1 1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.social-nav-group{margin-bottom:6px}.social-nav-item,.social-nav-parent{display:grid;gap:6px}.social-nav-parent{grid-template-columns:minmax(0,1fr) auto;align-items:center}.social-nav-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.25);padding:10px 10px 4px}.social-nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-lg);color:rgba(255,255,255,.6);font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.social-nav-link:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.9)}.social-nav-link.active{background:rgba(16,185,129,.13);color:var(--emerald-300);font-weight:600;box-shadow:inset 3px 0 0 var(--emerald-400)}.social-nav-link .snl-icon{width:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.social-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-md);color:rgba(255,255,255,.5);background:transparent;border:none;transition:background .12s,color .12s,transform .12s}.social-nav-toggle:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.9)}.social-nav-toggle.open svg{transform:rotate(180deg)}.social-nav-toggle svg{transition:transform .12s ease}.social-nav-sublist{position:fixed;min-width:180px;display:grid;gap:4px;padding:10px;border-radius:var(--r-xl);background:rgba(16,24,39,.98);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(2,6,23,.32);z-index:80}.social-nav-sublink{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:var(--r-md);color:rgba(255,255,255,.68);font-size:12px;font-weight:600;text-decoration:none;transition:background .12s,color .12s}.social-nav-sublink:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.86)}.social-nav-sublink.active{background:rgba(16,185,129,.13);color:var(--emerald-300)}.sidebar-period{padding:12px 16px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-period-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.25);margin-bottom:7px}.sidebar-period-control{position:relative;display:flex;align-items:center}.sidebar-period-control svg{position:absolute;left:10px;z-index:1;color:rgba(255,255,255,.52);pointer-events:none}.sidebar-period-input{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);color:rgba(255,255,255,.75);font-size:13px;font-family:var(--font-sans);padding:7px 10px 7px 33px;color-scheme:dark;cursor:pointer}.sidebar-period-input:focus{outline:none;border-color:rgba(16,185,129,.5)}.sidebar-notif-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;background:none;border:none;border-top:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.55);font-size:13px;font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:background .12s;gap:10px}.sidebar-notif-btn:hover{background:rgba(255,255,255,.05);color:rgba(255,255,255,.8)}.sidebar-notif-badge{background:var(--rose-500);color:white;font-size:10px;font-weight:800;padding:1px 6px;border-radius:999px;min-width:18px;text-align:center}.social-user-section{padding:10px;border-top:1px solid rgba(255,255,255,.06)}.social-user-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--r-lg);background:transparent;border:none;cursor:pointer;text-align:left;color:rgba(255,255,255,.8);font-family:var(--font-sans);transition:background .12s}.social-user-btn:hover{background:rgba(255,255,255,.07)}.social-user-avatar{width:36px;height:36px;border-radius:50%;background:rgba(16,185,129,.18);border:1.5px solid rgba(16,185,129,.45);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--emerald-400);flex-shrink:0}.social-user-name{font-size:13px;font-weight:600;color:rgba(255,255,255,.85);line-height:1.2}.social-user-role{font-size:11px;color:rgba(255,255,255,.35)}.social-user-actions{display:flex;gap:4px;padding:4px 10px 10px}.social-user-action{flex:1 1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:rgba(255,255,255,.45);font-size:12px;font-family:var(--font-sans);font-weight:500;cursor:pointer;text-decoration:none;transition:all .12s}.social-user-action:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}.social-user-action.danger:hover{background:rgba(244,63,94,.12);color:var(--rose-500);border-color:rgba(244,63,94,.2)}.social-popover{position:absolute;left:230px;bottom:0;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.social-popover-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border);font-size:14px;font-weight:700;color:var(--text)}.social-popover-head a,.social-popover-head button{font-size:12px;color:var(--emerald-600);font-weight:600;text-decoration:none;background:none;border:none;cursor:pointer}.notif-item{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;background:none;border-left:none;border-right:none;width:100%;text-align:left;font-family:var(--font-sans);transition:background .1s}.notif-item:hover{background:var(--surface-subtle)}.notif-item.unread{background:rgba(16,185,129,.04)}.notif-item strong{font-size:13px;color:var(--text);font-weight:500;line-height:1.4}.notif-item span{font-size:11px;color:var(--text-muted)}.social-main{min-width:0;background:var(--bg)}.feed-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:32px 36px;align-items:start}.feed-col{min-width:0}.feed-col-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px;gap:12px}.feed-col-title{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.4px}.feed-col-sub{font-size:13px;color:var(--text-muted);margin-top:1px}.feed-filters-bar{display:flex;gap:6px;margin-bottom:16px}.feed-filter-chip{padding:5px 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s}.feed-filter-chip:hover{border-color:var(--border-strong);color:var(--text)}.feed-filter-chip.active{background:var(--emerald-500);color:white;border-color:var(--emerald-500)}.right-rail{position:sticky;top:28px;display:flex;flex-direction:column;gap:16px}.rail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:16px}.rail-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:12px}.rail-stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.rail-stat-row:last-child{border-bottom:none;padding-bottom:0}.rail-stat-label{font-size:13px;color:var(--text-secondary)}.rail-stat-value{font-size:14px;font-weight:700;color:var(--text)}.rail-stat-value.green{color:var(--emerald-600)}.rail-stat-value.amber{color:var(--amber-600)}.rail-member-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.rail-member-row:last-child{border-bottom:none}.rail-member-avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-subtle);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-secondary);flex-shrink:0}.rail-member-name{font-size:13px;color:var(--text);font-weight:500}.rail-member-role{font-size:11px;color:var(--text-muted)}.social-post{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:var(--r-xl);overflow:hidden;transition:border-color .15s,box-shadow .15s;margin-bottom:12px}.social-post.expense-tone-card{border-left-color:var(--amber-500)}.social-post.expense-tone-fixed{border-left-color:var(--blue-500)}.social-post.expense-tone-variable{border-left-color:var(--rose-500)}.social-post:hover{border-top-color:var(--border-strong);border-right-color:var(--border-strong);border-bottom-color:var(--border-strong);box-shadow:var(--shadow-sm)}.social-post:last-child{margin-bottom:0}.post-head{display:flex;align-items:flex-start;gap:11px;padding:14px 16px 0}.post-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-subtle);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-secondary);flex-shrink:0;letter-spacing:-.3px}.post-meta-col{flex:1 1;min-width:0}.post-author-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:1px}.post-author-name{font-size:14px;font-weight:700;color:var(--text)}.post-timestamp{font-size:12px;color:var(--text-muted)}.post-status-chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:var(--r-pill)}.post-status-chip.paid{background:rgba(16,185,129,.1);color:var(--emerald-600)}.post-status-chip.pending{background:rgba(245,158,11,.1);color:var(--amber-700)}.post-amount-badge{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.5px;white-space:nowrap;flex-shrink:0}.post-head-actions{display:grid;justify-items:end;gap:8px;flex-shrink:0}.post-management-actions{display:flex;align-items:center;gap:6px;opacity:0;transform:translateY(-2px);transition:opacity .13s ease,transform .13s ease}.post-management-actions:focus-within,.social-post:hover .post-management-actions{opacity:1;transform:translateY(0)}.expense-edit-modal{display:grid;gap:18px}.goal-list-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.goal-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.goal-action-button{min-height:38px;padding:0 13px;font-size:.84rem}.goal-card-actions .danger-ghost{color:var(--rose-600)!important;background:var(--danger-soft)}.goal-edit-modal{display:grid;gap:18px}.modal-actions{justify-content:flex-end}@media (max-width:720px){.goal-list-card{grid-template-columns:1fr}.goal-card-actions{justify-content:stretch}.goal-card-actions>*{flex:1 1 120px}}@media (hover:none){.post-management-actions{opacity:1;transform:none}}.post-body{padding:8px 16px 12px 67px}.post-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.4;margin-bottom:8px}.post-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.post-tag{font-weight:600;border-radius:var(--r-pill);background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border)}.post-kind-tag,.post-tag{font-size:11px;padding:3px 9px}.post-kind-tag{font-weight:800;border-radius:var(--r-pill);border:1px solid transparent}.post-kind-tag.expense-tone-card{color:var(--amber-700);background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.22)}.post-kind-tag.expense-tone-fixed{color:var(--blue-600);background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.22)}.post-kind-tag.expense-tone-variable{color:var(--rose-600);background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.22)}.post-tax-tag{font-size:11px;font-weight:500;padding:3px 9px;border-radius:var(--r-pill);background:transparent;color:var(--text-muted);border:1px dashed var(--border)}.post-description{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-top:4px}.post-pending-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 10px 67px;background:rgba(245,158,11,.05);border-top:1px solid rgba(245,158,11,.15)}.post-pending-text{font-size:12px;color:var(--amber-700);display:flex;align-items:center;gap:6px}.post-mark-paid-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--r-pill);border:1px solid rgba(16,185,129,.35);background:rgba(16,185,129,.08);color:var(--emerald-600);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .12s;font-family:var(--font-sans)}.post-mark-paid-btn:hover{background:rgba(16,185,129,.15)}.post-mark-paid-btn:disabled{opacity:.5;cursor:not-allowed}.post-footer{display:flex;align-items:center;gap:2px;padding:6px 8px;border-top:1px solid var(--border)}.post-action{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-md);border:none;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:background .12s,color .12s}.post-action:hover{background:var(--surface-subtle);color:var(--text-secondary)}.post-action.active{color:var(--emerald-600);background:rgba(16,185,129,.07)}.post-action.active.down{color:var(--rose-500);background:rgba(244,63,94,.07)}.post-action:disabled{opacity:.5;cursor:not-allowed}.post-action-sep{width:1px;height:18px;background:var(--border);flex-shrink:0;margin:0 4px}.post-thread{background:var(--surface-subtle);border-top:1px solid var(--border);padding:16px}.post-thread-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:14px}.thread-item{display:flex;gap:10px;margin-bottom:10px}.thread-item:last-child{margin-bottom:0}.thread-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-secondary);flex-shrink:0}.thread-avatar,.thread-bubble{background:var(--surface);border:1px solid var(--border)}.thread-bubble{flex:1 1;min-width:0;border-radius:0 var(--r-lg) var(--r-lg) var(--r-lg);padding:8px 12px}.thread-bubble-author{font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px}.thread-bubble-text{font-size:13px;color:var(--text-secondary);line-height:1.4}.thread-bubble-time{font-size:11px;color:var(--text-muted);margin-top:4px}.thread-bubble-reactions{display:flex;gap:4px;margin-top:6px}.thread-composer{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.composer-self-avatar{width:30px;height:30px;border-radius:50%;background:rgba(16,185,129,.12);border:1.5px solid rgba(16,185,129,.35);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--emerald-600);flex-shrink:0}.composer-body{flex:1 1;min-width:0}.composer-toolbar{display:flex;gap:5px;margin-bottom:8px;flex-wrap:wrap}.composer-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);font-size:13px;font-family:var(--font-sans);padding:8px 12px;resize:none;min-height:38px;transition:border-color .15s}.composer-input:focus{outline:none;border-color:var(--emerald-500)}.composer-send{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 16px;border-radius:var(--r-pill);border:none;background:var(--emerald-500);color:white;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-sans);transition:opacity .12s}.composer-send:disabled{opacity:.4;cursor:not-allowed}.page-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:4px}.page-banner-title{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.045em;line-height:1.15}.page-banner-sub{margin:5px 0 0;font-size:.88rem;color:var(--text-secondary);line-height:1.45}.page-banner-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.social-page{width:100%;max-width:1400px;margin:0 auto;padding:32px 36px;display:flex;flex-direction:column;gap:20px;animation:page-enter .22s ease both}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.social-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:12px;color:var(--text-muted);font-size:14px}.thread-sticker{margin:6px 0}.thread-empty{font-size:13px;color:var(--text-muted);text-align:center;padding:12px 0}.thread-emoji-picker-wrap{position:relative}.thread-emoji-picker-popover{position:absolute;z-index:50;top:36px;left:0;box-shadow:var(--shadow-lg);border-radius:var(--r-xl);overflow:hidden}.dash-page{padding:32px 36px;max-width:1400px;display:flex;flex-direction:column;gap:20px}.dash-greet{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dash-greet-name{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.5px;margin:0 0 2px;line-height:1.2}.dash-greet-sub{font-size:13px;color:var(--text-muted);margin:0}.dcard-savings{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:26px 30px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.dcard-savings.healthy{background:linear-gradient(135deg,var(--surface) 55%,rgba(16,185,129,.055) 100%);border-color:rgba(16,185,129,.18)}.dcard-savings.healthy:after{content:"";position:absolute;right:-70px;top:-70px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.07) 0,transparent 70%);pointer-events:none}.dcard-savings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;position:relative;z-index:1;margin-bottom:0}.dcard-savings-info{display:flex;flex-direction:column;gap:5px}.dcard-savings-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brand)}.dcard-savings-title{font-size:19px;font-weight:800;color:var(--text);letter-spacing:-.3px;margin:0;line-height:1.2}.dcard-savings-sub{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.dcard-savings-pct{font-size:54px;font-weight:900;line-height:1;letter-spacing:-2px;color:var(--emerald-500);font-family:var(--font-display);flex-shrink:0;position:relative;z-index:1}.dcard-savings:not(.healthy) .dcard-savings-pct{color:var(--amber-500)}.dash-progress-bar{height:10px;background:var(--surface-subtle);border-radius:99px;overflow:hidden;margin-top:20px;position:relative;z-index:1}.dash-progress-fill{height:100%;background:linear-gradient(90deg,var(--emerald-600),var(--emerald-400));border-radius:99px;transition:width .55s cubic-bezier(.4,0,.2,1)}.dcard-savings:not(.healthy) .dash-progress-fill{background:linear-gradient(90deg,var(--amber-600),var(--amber-400))}.dcard-savings-footer{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap;position:relative;z-index:1}.dstat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dstat-card{background:var(--surface);border-radius:16px;padding:18px 20px;border:1px solid var(--border);position:relative;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.dstat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.dstat-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%}.dstat-card.income:before{background:var(--violet-500)}.dstat-card.expense:before{background:var(--amber-500)}.dstat-card.pending:before{background:var(--blue-500)}.dstat-card.savings:before{background:var(--emerald-500)}.dstat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dstat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dstat-ico{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center}.dstat-card.income .dstat-ico{background:var(--income-soft);color:var(--violet-500)}.dstat-card.expense .dstat-ico{background:var(--expense-soft);color:var(--amber-600)}.dstat-card.pending .dstat-ico{background:var(--info-soft);color:var(--blue-500)}.dstat-card.savings .dstat-ico{background:var(--brand-soft);color:var(--emerald-600)}.dstat-val{display:block;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.8px;margin-bottom:4px;line-height:1.05}.dstat-foot{font-size:11.5px;color:var(--text-muted)}.dcard-budget{background:var(--surface);border-radius:16px;border:1px solid var(--border);padding:20px 24px;display:grid;gap:14px}.dcard-budget-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.dcard-budget-amount{font-size:28px;font-weight:800;color:var(--emerald-500);letter-spacing:-.7px;line-height:1}.budget-pill-row{display:flex;flex-wrap:wrap;gap:8px}.budget-explainer{display:grid;gap:8px}.budget-line{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;border-radius:12px;background:var(--surface-subtle);border:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.budget-line strong{color:var(--text);font-weight:600}.budget-line.total{background:var(--brand-soft);border-color:rgba(16,185,129,.18)}.dmain-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.dmain-left,.dmain-right{display:flex;flex-direction:column;gap:16px}.dcard{background:var(--surface);border-radius:16px;border:1px solid var(--border);padding:20px 22px}.dcard-title{font-size:14px;font-weight:700;color:var(--text);margin:0 0 2px}.dcard-eyebrow{font-size:11px;color:var(--text-muted);margin:0 0 16px}.dcat-list{display:flex;flex-direction:column;gap:13px;margin-top:4px}.dcat-row{display:grid;grid-template-columns:100px 1fr 82px;align-items:center;gap:10px}.dcat-name{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.dcat-track{height:8px;background:var(--surface-subtle);border-radius:99px;overflow:hidden}.dcat-fill{height:100%;border-radius:99px}.dcat-val{font-size:12px;font-weight:600;color:var(--text);text-align:right}.dact-list{display:flex;flex-direction:column}.dact-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.dact-row:last-child{border-bottom:none}.dact-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dact-dot.paid{background:var(--emerald-500)}.dact-dot.pending{background:var(--amber-500)}.dact-info{flex:1 1;min-width:0}.dact-info strong{display:block;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dact-info span{font-size:11px;color:var(--text-muted)}.dact-val{font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.dact-see-all{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--brand);text-decoration:none;margin-top:12px;transition:opacity .12s ease}.dact-see-all:hover{opacity:.72}.dgoal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}.dgoal-name{font-size:14px;font-weight:700;color:var(--text);margin:0 0 3px}.dgoal-sub{font-size:12px;color:var(--text-muted);margin:0}.dgoal-pct{font-size:22px;font-weight:800;color:var(--emerald-500);letter-spacing:-.5px;line-height:1;flex-shrink:0}.dlink-list{display:flex;flex-direction:column;gap:2px}.dlink-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--text-secondary);font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.dlink-item:hover{color:var(--text)}.dlink-ico,.dlink-item:hover{background:var(--surface-subtle)}.dlink-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary);transition:background .12s,color .12s}.dlink-item:hover .dlink-ico{background:var(--brand-soft);color:var(--brand-dark)}.dlink-desc{font-size:11px;color:var(--text-muted);display:block}.dpie-block{display:flex;gap:16px;align-items:center}.dpie-legend{display:flex;flex-direction:column;gap:12px}.dpie-row{display:flex;align-items:center;gap:8px}.dpie-row span:first-child{width:10px;height:10px;border-radius:3px;flex-shrink:0;display:block}.dpie-row small{display:block;font-size:11px;color:var(--text-muted)}.dpie-row strong{display:block;font-size:13px;font-weight:700;color:var(--text)}@media (max-width:1100px){.dmain-grid{grid-template-columns:1fr}.dstat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dash-page{padding:20px 16px;gap:16px}.dstat-grid{grid-template-columns:1fr 1fr;gap:12px}.dash-greet{flex-direction:column;align-items:flex-start}.dash-greet-name,.dstat-val{font-size:20px}.dcard-savings-pct{font-size:40px}.dcard-savings{padding:20px}}.coaching-category-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;flex-wrap:wrap}.coaching-category-strip::-webkit-scrollbar{display:none}.coaching-objective-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:320px;overflow-y:auto;padding:2px}.coaching-objective-option{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:var(--r-xl);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .13s ease,background .13s ease;width:100%}.coaching-objective-option:hover{border-color:var(--brand)}.coaching-objective-option.selected{border-color:var(--brand);background:var(--brand-soft)}.coaching-objective-option .obj-emoji{font-size:1.3rem;line-height:1}.coaching-objective-option strong{font-size:.875rem;color:var(--text);display:block;font-weight:600}.coaching-objective-option small{font-size:.775rem;color:var(--text-muted);line-height:1.4;display:block}.coaching-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;letter-spacing:.01em;flex-shrink:0}.coaching-status-badge.on-track{background:var(--brand-soft);color:var(--brand-dark)}.coaching-status-badge.attention{background:var(--expense-soft);color:var(--expense)}.coaching-status-badge.off-track{background:var(--danger-soft);color:var(--danger)}.coaching-status-badge.no-data{background:var(--surface-subtle);color:var(--text-muted)}.coaching-board-entry{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface)}.coaching-board-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coaching-board-entry-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.coaching-progress-text{font-size:.82rem;color:var(--text-secondary);line-height:1.5;padding:8px 10px;background:var(--surface-subtle);border-radius:var(--r-lg)}.coaching-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:600px){.coaching-objective-grid{grid-template-columns:1fr}}@media (max-width:900px){.feed-layout,.social-page{padding:24px 20px;gap:16px}}@media (max-width:640px){.feed-layout,.social-page{padding:18px 14px;gap:14px}.page-banner-title{font-size:1.45rem}.summary-grid{grid-template-columns:repeat(2,1fr)}}