@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Sora:wght@400;500;600;700&display=swap");:root{--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--text-primary:#1b1916;--text-muted:#5d5a55;--text-inverse:#fdf8f1;--accent:#0b8a5b;--accent-soft:rgba(11,138,91,.12);--accent-ink:#0a3b28;--accent-border:rgba(11,138,91,.25);--border:rgba(27,25,22,.12);--border-strong:rgba(27,25,22,.24);--panel:rgba(255,252,247,.88);--panel-soft:#f2ede4;--panel-contrast:#e4f3ea;--shadow-soft:0 12px 28px rgba(20,18,15,.1);--gradient:linear-gradient(120deg,#0b8a5b,#28a47c 45%,#f2b36f);--page-bg:#f7f3ec;--page-glow-a:rgba(11,138,91,.14);--page-glow-b:hsla(31,83%,69%,.15);--page-wash-a:hsla(0,0%,100%,.64);--page-wash-b:hsla(38,41%,95%,.92);--font-body:"Sora",system-ui,sans-serif;--font-display:"Fraunces","Times New Roman",serif;color-scheme:light;font-family:var(--font-body)}:root,[data-theme=dark]{background:var(--page-bg)}[data-theme=dark]{--text-primary:#f3f2ef;--text-muted:#a3a19b;--text-inverse:#12110f;--accent:#5dd9a0;--accent-soft:rgba(93,217,160,.16);--accent-ink:#c6f7df;--accent-border:rgba(93,217,160,.3);--border:hsla(40,8%,64%,.2);--border-strong:hsla(40,8%,64%,.34);--panel:rgba(14,16,18,.84);--panel-soft:#171a1d;--panel-contrast:#1e2327;--shadow-soft:0 18px 40px rgba(5,7,8,.55);--gradient:linear-gradient(120deg,#0b8a5b,#0f5138 45%,#c26b2b);--page-bg:#0b0c0d;--page-glow-a:rgba(93,217,160,.15);--page-glow-b:rgba(194,107,43,.12);--page-wash-a:rgba(12,13,15,.9);--page-wash-b:rgba(11,12,13,.98);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 12% 12%,var(--page-glow-a),transparent 45%),radial-gradient(circle at 86% 8%,var(--page-glow-b),transparent 40%),linear-gradient(180deg,var(--page-wash-a),var(--page-wash-b)),var(--page-bg)}img{max-width:100%}a{text-decoration:none}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:var(--panel-soft);padding:2px 6px;border-radius:6px;border:1px solid var(--border);font-size:.85em}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.app-shell{max-width:1120px;margin:0 auto;padding:32px 28px 96px}.top-bar-wrap{position:-webkit-sticky;position:sticky;top:20px;z-index:10}.top-bar{justify-content:space-between;gap:20px;padding:16px 20px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.top-bar{display:flex;align-items:center}.brand{gap:12px}.brand-icon{width:28px;height:28px;color:var(--accent)}.brand-title{font-size:20px;font-weight:700}.brand-subtitle{color:var(--text-muted);font-size:13px}.actions{display:inline-flex;align-items:center;gap:12px;padding-left:16px;border-left:1px solid var(--border)}.greeting{padding:9px 14px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:13px;letter-spacing:.01em;line-height:1.2}.user-menu{position:relative}.user-menu__toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.user-menu__toggle::-webkit-details-marker{display:none}.user-menu__chevron{width:16px;height:16px;transition:transform .2s ease}.user-menu[open] .user-menu__chevron{transform:rotate(180deg)}.user-menu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-soft);display:grid;grid-gap:6px;gap:6px;z-index:5}.user-menu__item{border-radius:10px;padding:8px 10px;color:var(--text-primary);font-weight:600;font-size:13px;background:transparent;border:1px solid transparent;text-align:left;cursor:pointer;font-family:inherit;line-height:1.2}.user-menu__item:hover{border-color:var(--border);background:var(--panel-contrast)}.user-menu__item:focus-visible,.user-menu__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav,.nav-actions,.nav-links{display:inline-flex;align-items:center;gap:8px}.nav-toggle{display:none;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel);color:var(--text-primary);font-weight:700;font-size:13px;cursor:pointer}.nav-toggle-text{letter-spacing:.01em}.nav-toggle-icon{display:inline-flex;flex-direction:column;gap:4px}.nav-toggle-icon span{width:18px;height:2px;border-radius:999px;background:currentColor}.nav-link{padding:9px 14px;border-radius:999px;border:1px solid transparent;color:var(--text-muted);font-weight:600;font-size:13px;transition:border-color .15s ease,color .15s ease,background .15s ease;display:inline-flex;align-items:center;gap:8px}.nav-link svg{width:16px;height:16px}.nav-link:hover{color:var(--text-primary);border-color:var(--border);background:var(--panel-contrast)}.nav-link.is-active{color:var(--accent);border-color:var(--border-strong);background:var(--accent-soft)}.button{padding:10px 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel);color:var(--accent);font-weight:700;cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease}.button:hover{background:var(--panel-soft)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.6;cursor:not-allowed}.icon-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);font-weight:700;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease,color .15s ease}.icon-button:hover{background:var(--panel-soft)}.icon-button:active{transform:translateY(1px)}.section{display:flex;flex-direction:column;gap:28px;margin-top:28px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.section-header h2{font-size:20px}.section-header p{color:var(--text-muted)}.grid{display:grid;grid-gap:24px;gap:24px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:transparent;border-radius:0;border:0;padding:24px 0;box-shadow:none;display:grid;grid-gap:16px;gap:16px}.card h3{font-size:20px}.card p{color:var(--text-muted)}.card-title{font-size:20px}.card-title-row{display:inline-flex;align-items:center;gap:10px}.card-title-row .icon-muted svg{width:18px;height:18px}.card-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.card-body{display:grid;grid-gap:16px;gap:16px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.card-header .pill{padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}.card .metric{font-size:28px;font-weight:700}.card .trend{display:inline-flex;align-items:center;gap:4px;font-weight:600}.card .trend.positive{color:#16a34a}.card .trend.negative{color:#dc2626}.badge{padding:6px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:6px}.badge.positive{border-color:rgba(22,163,74,.4);color:#15803d;background:rgba(22,163,74,.1)}.badge.negative{border-color:rgba(220,38,38,.4);color:#b91c1c;background:rgba(220,38,38,.1)}.badge.warn{border-color:rgba(245,158,11,.4);color:#b45309;background:rgba(245,158,11,.12)}.badge-dot{width:8px;height:8px;border-radius:999px}.list{display:grid;grid-gap:10px;gap:10px;padding-left:18px}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-sm);background:var(--panel-soft);border:1px solid var(--border)}.list-item strong{font-weight:600}.panel{border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:20px}.panel h3{font-size:18px}.page{margin-top:24px;display:flex;flex-direction:column;gap:24px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading h1{font-size:34px}.page-heading p{color:var(--text-muted);max-width:560px;font-size:16px}.page-heading__meta{display:flex;flex-wrap:wrap;gap:10px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.hero-card{border-radius:var(--radius-lg);padding:20px;background:var(--gradient);color:var(--text-inverse);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px}.hero-card h2{font-size:24px}.hero-card button{margin-top:auto;align-self:flex-start}.card-grid{display:grid;grid-gap:16px;gap:16px}.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.chart{height:220px;border-radius:var(--radius-md);border:1px dashed var(--border-strong);display:grid;place-items:center;color:var(--text-muted)}.summary-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-chip{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--border);font-size:14px}.summary-chip strong{font-weight:600}.summary-chip .hint{color:var(--text-muted)}.progress{width:100%;height:10px}.progress-fill{height:100%;border-radius:999px;background:var(--gradient)}.settings-group,.sidebar{display:flex;flex-direction:column;gap:16px}.settings-group label{font-weight:600;font-size:14px}.input{border-radius:10px;border:1px solid var(--border);padding:10px 12px;font-size:14px;background:var(--panel);color:var(--text-primary)}.textarea{min-height:140px;resize:vertical}.input:focus{outline:2px solid var(--accent-border)}.form-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:flex;flex-direction:column;gap:8px}.field label{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.field.compact{margin-top:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-hint{font-size:12px;color:var(--text-muted)}.form-actions{gap:12px}.form-status{font-size:13px;color:var(--text-muted)}.form-status.warn{color:#b91c1c}.icon-button__glyph{font-size:14px}.icon-button__label{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.sync{display:flex;flex-direction:column;gap:6px}.sync-message{font-size:12px;color:var(--text-muted)}.sync-message.done{color:#15803d}.sync-message.error{color:#b91c1c}.sync-message.running{color:var(--accent)}.small-copy{color:var(--text-muted);font-size:13px}.toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px}.toggle button{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer}.list-divider{height:1px;background:var(--border)}.callout{padding:16px;border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.callout strong{font-size:15px}.callout.warn{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.1);color:#92400e}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{padding:10px 12px;border-bottom:1px solid var(--border)}.table th{text-align:left;color:var(--text-muted);font-weight:600}.alert,.table tbody tr:hover{background:var(--panel-soft)}.alert{padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.alert h4{font-size:16px}.notice{padding:16px;border-radius:var(--radius-md);background:var(--accent-soft);font-weight:600}.notice,.notice p{color:var(--accent-ink)}.notice p{font-weight:500}.muted{color:var(--text-muted)}.warn{color:#b91c1c}.hint{color:var(--text-muted);font-size:12px}.stack{display:flex;flex-direction:column;gap:12px}.list-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.chip,.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);font-size:12px;font-weight:600}.chip.muted,.pill.muted{color:var(--text-muted)}.chip.warn,.pill.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#b45309}.chip.good{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.4);color:#15803d}.chip.attention{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.35);color:#b91c1c}.small{font-size:12px}.button.ghost{background:transparent;border-color:var(--border);color:var(--text-primary)}.button.outline{background:transparent;border-color:var(--accent-border);color:var(--accent)}.icon-button.danger{border-color:rgba(220,38,38,.4);color:#b91c1c;background:rgba(220,38,38,.08)}.spark-bars{display:grid;grid-auto-flow:column;align-items:end;grid-gap:8px;gap:8px;padding:8px 4px}.spark-bars__item{display:grid;align-items:end;grid-gap:6px;gap:6px;justify-items:center}.spark-bars__bar{width:10px;border-radius:999px;background:var(--accent);transition:transform .2s ease}.spark-bars__bar.is-negative{background:#c08436}.spark-bars__label{font-size:10px;color:var(--text-muted)}.spark-line{width:100%;height:140px;color:var(--accent)}.spark-line.empty{border-radius:var(--radius-md);border:1px dashed var(--border);background:var(--panel-soft)}.chart-legend,.pill-grid{display:flex;flex-wrap:wrap;gap:10px}.divider{height:1px;background:var(--border)}.category-list{list-style:none;display:grid;grid-gap:12px;gap:12px}.category-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel)}.category-name{font-weight:600}.category-amount{font-weight:700}.transactions{display:grid;grid-gap:12px;gap:12px}.transaction-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel)}.transaction-title{font-weight:600}.transaction-meta{text-align:right;display:grid;grid-gap:4px;gap:4px}.amount.negative{color:#dc2626;font-weight:700}.amount.positive{color:#16a34a;font-weight:700}.trend-rows{display:grid;grid-gap:18px;gap:18px}.trend-row{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel)}.trend-label{font-weight:600}.trend-net{font-weight:700;color:var(--accent)}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.form-buttons{display:flex;gap:10px;flex-wrap:wrap}.form-status{display:inline-flex;align-items:center;gap:12px}.rules-table{display:grid;grid-gap:10px;gap:10px}.rules-row{display:grid;grid-template-columns:80px 1.2fr 140px 1fr 140px 120px 90px 90px;grid-gap:10px;gap:10px;align-items:center;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel)}.rules-header{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:transparent;border:0;padding-bottom:0}.rules-row input,.rules-row select{width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-soft);color:var(--text-primary)}.toggle{border-radius:999px;border:1px solid var(--border);padding:6px 10px;font-size:12px;cursor:pointer;background:var(--panel-soft);color:var(--text-muted)}.toggle.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.toggle.off{background:rgba(148,163,184,.12);color:var(--text-muted)}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600}.stat{display:flex;flex-direction:column;gap:6px;padding:4px 0}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600}.stat-label-row{display:inline-flex;align-items:center;gap:8px}.icon-muted{display:inline-flex;color:var(--text-muted)}.icon-muted svg{width:16px;height:16px}.stat-value{font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:-.02em}.summary-strip{display:flex;flex-wrap:wrap;gap:10px}.tabs{display:flex;flex-direction:column;gap:20px}.tab-list{display:flex;flex-wrap:wrap;gap:12px}.tab-button{border-radius:999px;border:1px solid var(--border);padding:10px 16px;background:var(--panel);color:var(--text-muted);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.tab-button:hover{color:var(--text-primary);border-color:var(--border-strong)}.tab-button.is-active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.tab-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab-hint{font-weight:600;font-size:11px;color:var(--text-muted)}.tab-panel{animation:fade-up .35s ease}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-grid{display:grid;grid-gap:24px;gap:24px}.dashboard-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid .span-2{grid-column:span 2}.big-number{font-size:clamp(28px,3vw,44px);font-weight:600;letter-spacing:-.02em;display:flex;flex-direction:column;gap:6px}.big-number__unit{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.big-number.positive{color:#15803d}.big-number.warn{color:#b45309}.big-number.negative{color:#b91c1c}.big-number.neutral{color:var(--text-primary)}.comparison-bars{display:grid;grid-gap:12px;gap:12px}.comparison-bars__row{display:grid;grid-template-columns:60px 1fr 90px;grid-gap:12px;gap:12px;align-items:center}.comparison-bars__label{font-size:12px;font-weight:700;color:var(--text-muted)}.comparison-bars__bars{display:flex;flex-direction:column;gap:6px}.comparison-bars__bar{height:6px;border-radius:999px;display:block;background:var(--panel-soft)}.comparison-bars__bar.income{background:var(--accent)}.comparison-bars__bar.spend{background:#d97706}.comparison-bars__value{font-size:12px;font-weight:600;color:var(--text-muted);text-align:right}.bar-list{display:grid;grid-gap:12px;gap:12px}.bar-list__row{display:grid;grid-gap:8px;gap:8px}.bar-list__label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600}.bar-list__track{height:8px;border-radius:999px;background:var(--panel-soft);overflow:hidden}.bar-list__bar{height:100%;border-radius:999px;background:var(--accent)}.bar-list__bar.negative{background:#d97706}.split-meter{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--panel-soft)}.split-meter__segment{height:100%}.split-meter__segment.fixed{background:var(--accent)}.split-meter__segment.discretionary{background:#d97706}.split-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:12px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip-button{border-radius:999px;border:1px solid var(--border);padding:6px 12px;background:var(--panel);color:var(--text-primary);font-weight:600;font-size:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.chip-button:hover{border-color:var(--border-strong)}.chip-button.is-active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.goal-stack{display:grid;grid-gap:16px;gap:16px}.goal-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-weight:600}.progress{height:8px;border-radius:999px;background:var(--panel-soft);overflow:hidden}.progress__bar{height:100%;background:var(--accent);border-radius:999px}.progress__bar.alt{background:#d97706}.balance-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.balance-controls{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center}.glance-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.glance-block{display:flex;flex-direction:column;gap:10px;padding:18px 0;border-top:1px solid var(--border)}.glance-block__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.glance-title-row{display:inline-flex;align-items:center;gap:8px}.glance-title{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-weight:600}.glance-value{font-size:42px;font-weight:600;letter-spacing:-.02em}.delta{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.delta.positive{border-color:rgba(22,163,74,.4);color:#15803d;background:rgba(22,163,74,.1)}.delta.negative{border-color:rgba(220,38,38,.35);color:#b91c1c;background:rgba(220,38,38,.1)}.delta.warn{border-color:rgba(245,158,11,.4);color:#b45309;background:rgba(245,158,11,.12)}.change-list{display:grid;grid-gap:16px;gap:16px;list-style:none;padding:0}.change-item{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid var(--border)}.change-meta{display:flex;gap:8px;flex-wrap:wrap}.lever-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lever-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel)}.lever-title{font-size:18px}.lever-why{color:var(--text-muted);font-size:14px}.code-summary,.raw-toggle summary{cursor:pointer;font-weight:600;color:var(--text-primary)}.code-block{background:var(--panel-soft);border-radius:var(--radius-md);padding:14px;font-size:12px;overflow:auto;border:1px solid var(--border)}.code-details,.raw-toggle{display:flex;flex-direction:column;gap:12px}.code-details[open] summary,.raw-toggle[open] summary{color:var(--accent)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.sparkline{width:100%;height:70px}.sparkline polyline{fill:none;stroke:var(--accent);stroke-width:2;opacity:.8}.section>.card{border-top:1px solid var(--border)}.section>.card:first-child{border-top:none;padding-top:0}.section>.card:last-child{padding-bottom:0}.section>*{animation:rise .6s ease both}.section>:nth-child(2){animation-delay:.04s}.section>:nth-child(3){animation-delay:.08s}.section>:nth-child(4){animation-delay:.12s}.section>:nth-child(5){animation-delay:.16s}.section>:nth-child(6){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.section>*{animation:none}}.pill-row{display:flex;flex-wrap:wrap;gap:10px}.inline-pill{padding:6px 12px;border-radius:999px;background:var(--panel-soft);border:1px solid var(--border);font-size:12px;font-weight:600}footer{margin-top:40px;padding:20px 0;text-align:center;color:var(--text-muted);font-size:13px}.page-spacing{gap:16px}.page-section,.page-spacing{display:flex;flex-direction:column}.page-section{gap:20px;padding:20px 0;border-top:1px solid var(--border)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.section-heading p{color:var(--text-muted);margin-top:4px}.section-title-row{display:flex;align-items:center;gap:10px}.section-list{display:flex;flex-direction:column;gap:12px}.pulse{position:relative;width:12px;height:12px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 rgba(22,163,74,.3);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.4)}70%{box-shadow:0 0 0 12px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}.table-row{display:grid;grid-template-columns:120px 1fr;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.table-row strong{font-weight:600;color:var(--text-muted)}.placeholder{padding:18px;border-radius:var(--radius-md);border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center}.hero-banner{border-radius:var(--radius-md);border:1px solid var(--border);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--panel)}.hero-banner-content{display:flex;flex-direction:column;gap:6px}.hero-banner-actions{display:flex;align-items:center;gap:10px}.hero-banner-actions button{margin:0}.dialog{width:min(560px,90vw);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-soft);padding:20px;display:flex;flex-direction:column;gap:20px}.dialog h3{font-size:20px}.dialog p{color:var(--text-muted)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width:860px){.top-bar{flex-direction:column;align-items:flex-start}.brand{width:100%}.dashboard-grid.cols-2,.dashboard-grid.cols-3,.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.dashboard-grid .span-2{grid-column:auto}.page{padding-bottom:40px}}@media (max-width:720px){.app-shell{padding:24px 16px 64px}.top-bar-wrap{position:static}.top-bar{padding:14px;gap:14px}.nav{width:100%;flex-direction:column;align-items:flex-start;gap:12px}.nav-toggle{display:inline-flex;width:100%;justify-content:space-between}.nav-links{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:none;padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-soft);gap:10px}.nav.is-open .nav-links{display:grid}.nav-link{padding:12px 14px;border-color:var(--border);background:var(--panel);text-align:center}.nav-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.actions,.nav-actions>*{width:100%}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;justify-content:stretch;padding-left:0;border-left:0}.actions>*{width:100%}.actions .button,.actions .greeting,.actions .icon-button{display:inline-flex;align-items:center;justify-content:center}.actions .user-menu{grid-column:1/-1}.actions .user-menu__toggle{width:100%;justify-content:space-between;text-align:left}.actions .greeting{grid-column:1/-1;text-align:left;justify-content:flex-start}.user-menu__panel{left:0;right:0;min-width:0;position:static;box-shadow:none;border-top:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md)}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}.page-heading h1{font-size:28px}.page-heading__meta{width:100%}.page-heading p{font-size:15px}.section{gap:16px}.card{padding:20px 0}.card-header{flex-direction:column;align-items:flex-start}.card h3{font-size:16px}.card .metric{font-size:24px}.table-row{grid-template-columns:1fr;gap:6px}.hero-banner{flex-direction:column;align-items:flex-start}.hero-banner-actions{width:100%;justify-content:flex-start}.comparison-bars__row{grid-template-columns:1fr;gap:6px}.comparison-bars__value{text-align:left}.balance-row{flex-direction:column;align-items:flex-start}.balance-controls{width:100%;grid-template-columns:1fr}.row-between{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.card-grid.cols-2,.card-grid.cols-3,.hero,.kpi-grid{grid-template-columns:1fr}.dialog{padding:16px}.modal-actions{flex-direction:column;width:100%}.modal-actions button{width:100%}}@media (max-width:900px){.rules-row{grid-template-columns:1fr}.rules-header{display:none}.category-row,.transaction-row,.trend-row{flex-direction:column;align-items:flex-start}.trend-row{gap:16px}}