:root{--bg:#eef2f6;--surface:#fff;--surface-soft:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--cyan-light:#06b6d4;--cyan-main:#09c;--cyan-dark:#0284c7;--navy-pill:#111827;--navy-dark:#0b1d48;--accent-amber:#f59e0b;--positive:#10b981;--positive-bg:#ecfdf5;--negative:#ef4444;--negative-bg:#fef2f2;--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--radius-pill:999px;--shadow-card:0 8px 24px -6px #0f172a0f, 0 2px 6px -1px #0f172a0a;--shadow-hero:0 16px 32px -8px #0284c759;--shadow-dock:0 12px 30px #0f172a1f}*{box-sizing:border-box}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45;overflow-x:hidden}.app-shell{max-width:480px;min-height:100vh;margin:0 auto;padding:1rem 1rem 6.5rem;position:relative;overflow-x:hidden}.top-pill-bar{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.55rem .75rem;display:flex}.profile-cluster{align-items:center;gap:.65rem;min-width:0;display:flex}.avatar-circle{background:linear-gradient(135deg, var(--cyan-light), var(--cyan-dark));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.95rem;font-weight:700;display:inline-flex}.profile-meta{min-width:0}.profile-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.profile-sub{color:var(--muted);font-size:.75rem;display:block}.pill-badges{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.icon-chip{color:var(--cyan-dark);border-radius:var(--radius-pill);cursor:pointer;background:#f0f9ff;border:none;padding:.35rem .65rem;font-size:.75rem;font-weight:700}.update-prompt{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.7rem .8rem .7rem 1rem;display:flex}.update-prompt p{color:var(--text);margin:0;font-size:.8rem}.update-prompt-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.update-prompt-actions .primary,.update-dismiss{border-radius:var(--radius-pill);padding:.5rem .75rem;font-size:.75rem;font-weight:700}.update-dismiss{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer}@media (width<=380px){.update-prompt{border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start}.header-space-trigger{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.header-space-trigger .profile-cluster{max-width:100%}.app-shell[data-accent=emerald] .avatar-circle{background:linear-gradient(135deg,#34d399,#047857)}.app-shell[data-accent=amber] .avatar-circle{background:linear-gradient(135deg,#fbbf24,#b45309)}.app-shell[data-accent=indigo] .avatar-circle{background:linear-gradient(135deg,#818cf8,#4338ca)}.app-shell[data-accent=emerald] .hero-card{background:linear-gradient(135deg,#34d399,#047857)}.app-shell[data-accent=amber] .hero-card{background:linear-gradient(135deg,#fbbf24,#b45309)}.app-shell[data-accent=indigo] .hero-card{background:linear-gradient(135deg,#818cf8,#4338ca)}.app-shell[data-accent=emerald] .primary,.app-shell[data-accent=emerald] .dock-item[aria-current=page]{background-color:#059669}.app-shell[data-accent=amber] .primary,.app-shell[data-accent=amber] .dock-item[aria-current=page]{background-color:#d97706}.app-shell[data-accent=indigo] .primary,.app-shell[data-accent=indigo] .dock-item[aria-current=page]{background-color:#4f46e5}.spaces-modal-backdrop{z-index:20;background:#0f172a59;place-items:start center;padding:5rem 1rem 1rem;display:grid;position:fixed;inset:0}.spaces-modal{width:min(100%,440px);max-height:calc(100vh - 6rem);overflow-y:auto}.spaces-modal h2{margin:0 0 .75rem}.space-list{gap:.4rem;margin-bottom:.85rem;display:grid}.space-row,.space-select{align-items:center;gap:.65rem;display:flex}.space-row{justify-content:space-between}.space-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);text-align:left;flex:1;min-width:0;padding:.7rem}.space-select.selected{border-color:var(--cyan-main);background:#f0f9ff;font-weight:700}.space-color,.accent-dot{background:#09c;border:0;border-radius:50%;width:1rem;height:1rem}.space-color.emerald,.accent-dot.emerald{background:#059669}.space-color.amber,.accent-dot.amber{background:#d97706}.space-color.indigo,.accent-dot.indigo{background:#4f46e5}.space-delete{color:var(--negative)}.accent-picker{margin:1rem 0 0}.accent-options{gap:.65rem;display:flex}.accent-dot{cursor:pointer;width:1.65rem;height:1.65rem}.accent-dot[aria-pressed=true]{outline:2px solid var(--text);outline-offset:2px}.home-tools,.share-actions,.export-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.9rem;display:flex}.period-filter{border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-card);gap:.15rem;padding:.22rem;display:flex}.period-filter button{border-radius:var(--radius-pill);color:var(--muted);background:0 0;border:0;padding:.45rem .62rem;font-size:.72rem}.period-filter button.active{background:var(--navy-pill);color:#fff}.report-button{border-radius:var(--radius-pill);color:#007d7b;background:#e6f4f4;border:0;padding:.55rem .8rem;font-weight:700}.budget-meter{gap:.28rem;margin-top:.45rem;font-size:.66rem;display:grid}.budget-track{border-radius:var(--radius-pill);background:#ffffff6b;height:5px;overflow:hidden}.budget-track>span{border-radius:inherit;background:#fff;height:100%;display:block}.budget-track.near>span{background:#fbbf24}.budget-track.over>span{background:#ef4444}.report-preview{margin:1rem 0}.report-preview summary{cursor:pointer;font-weight:750}.report-preview h3{margin:.9rem 0 .3rem;font-size:.85rem}.report-row{border-top:1px solid var(--border);padding:.5rem 0;font-size:.8rem}.report-row small{color:var(--muted);display:block}.preset-chips{gap:.4rem;margin:.35rem 0 .85rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.preset-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-soft);flex-shrink:0;padding:.45rem .7rem;font-size:.75rem}.amount-preview{color:var(--positive);margin-top:.2rem;font-weight:700;display:block}.compact-disclosure{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);margin:.2rem 0 .85rem;padding:.7rem .8rem;font-size:.82rem}.compact-disclosure summary{cursor:pointer;font-weight:700}.inline-toggle{align-items:center;gap:.45rem;margin:.7rem 0;display:flex}.inline-toggle input{width:auto}.personal-item-row{margin:.5rem 0}.personal-item-row input{max-width:125px}.snapshot-banner{background:linear-gradient(145deg,#fff,#f0fafa);border-color:#b7dddd;margin-bottom:1rem}.snapshot-banner h2{margin:0;font-size:1rem}.snapshot-transfer{border-top:1px solid var(--border);padding:.55rem 0}.snapshot-balances{border-top:1px solid var(--border);gap:.35rem;margin-top:.55rem;padding-top:.55rem;font-size:.82rem;display:grid}.budget-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.share-snapshot{gap:.55rem;margin-top:.85rem;display:grid}.share-card-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);align-items:center;gap:.75rem;padding:.8rem;display:flex}.share-card-preview svg{flex-shrink:0;width:4.5rem}.share-card-preview small{color:var(--muted);display:block}.share-snapshot input{min-width:0}@media (width<=380px){.home-tools{flex-direction:column;align-items:stretch}.period-filter{justify-content:space-between}.budget-input-grid{grid-template-columns:1fr}}}.hero-card{color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-hero);background:linear-gradient(135deg,#06b6d4 0%,#0284c7 100%);margin-bottom:1.25rem;padding:1.35rem 1.25rem;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:#ffffff1a;border-radius:50%;width:140px;height:140px;position:absolute;top:-30px;right:-30px}.hero-card:before{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:100px;height:100px;position:absolute;bottom:-40px;left:-20px}.hero-label{opacity:.9;flex-direction:row;justify-content:space-between;font-size:.82rem;font-weight:500;display:flex}.hero-amount{letter-spacing:-.03em;margin:.3rem 0 .15rem;font-size:2.15rem;font-weight:800}.hero-amount .cents-part{opacity:.65;font-size:1.55rem;font-weight:700}.hero-sub{opacity:.85;margin:0 0 1.15rem;font-size:.8rem}.hero-actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.btn-hero-solid{color:var(--text);border-radius:var(--radius-pill);cursor:pointer;text-align:center;background:#fff;border:none;padding:.65rem .9rem;font-size:.88rem;font-weight:700;box-shadow:0 4px 12px #00000014}.btn-hero-glass{color:#fff;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);cursor:pointer;text-align:center;background:#ffffff38;border:1px solid #ffffff59;padding:.65rem .9rem;font-size:.88rem;font-weight:600}.split-summary-bar{background:var(--navy-dark);border-radius:var(--radius-lg);color:#fff;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:1rem 1.1rem;display:grid}.summary-metric{flex-direction:column;gap:.2rem;display:flex}.summary-metric .metric-label{opacity:.7;align-items:center;gap:.35rem;font-size:.72rem;font-weight:500;display:flex}.summary-metric .metric-value{font-size:1.05rem;font-weight:800}.summary-divider{background:#fff3;width:1px;height:32px}.arrow-up{color:var(--positive)}.arrow-down{color:#f59e0b}.section-head{justify-content:space-between;align-items:center;margin:1.1rem 0 .65rem;display:flex}.section-head h2{margin:0;font-size:1rem;font-weight:700}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600}.accounts-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}.account-card{background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #e2e8f099;border-radius:20px;flex-direction:column;gap:.45rem;padding:.95rem;display:flex}.account-icon{border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:inline-flex}.account-icon.pos{background:var(--positive-bg);color:var(--positive)}.account-icon.neg{background:var(--negative-bg);color:var(--negative)}.account-icon.neutral{color:var(--muted);background:#f1f5f9}.account-name{color:var(--muted);margin-top:.15rem;font-size:.82rem;font-weight:600}.account-balance{letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.account-meta{color:var(--muted);font-size:.72rem}.progress-track{background:#f1f5f9;border-radius:2px;width:100%;height:4px;margin-top:.25rem;overflow:hidden}.progress-fill{background:var(--cyan-main);border-radius:2px;height:100%;transition:width .3s}.category-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.65rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.category-scroll::-webkit-scrollbar{display:none}.category-card{color:#fff;scroll-snap-align:start;border-radius:18px;flex-shrink:0;min-width:110px;padding:.85rem .75rem;position:relative;overflow:hidden}.category-card .cat-rank{background:#ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:.6rem;right:.6rem}.category-card .cat-name{opacity:.9;font-size:.78rem;font-weight:600}.category-card .cat-amount{margin-top:.25rem;font-size:1.15rem;font-weight:800}.card{background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #e2e8f0b3;border-radius:20px;margin-bottom:1rem;padding:1.15rem}.card h2{margin-top:0;font-size:1.05rem;font-weight:700}.tx-list{flex-direction:column;gap:.65rem;display:flex}.tx-row{background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #e2e8f099;border-radius:18px;flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.tx-left{align-items:center;gap:.75rem;min-width:0;display:flex}.tx-avatar{width:42px;height:42px;color:var(--text);background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex}.tx-info{min-width:0}.tx-title{color:var(--text);margin:0;font-size:.92rem;font-weight:700}.tx-sub{color:var(--muted);margin-top:.1rem;font-size:.76rem}.tx-right{text-align:right;flex-shrink:0}.segmented-control{border-radius:var(--radius-md);background:#f1f5f9;grid-template-columns:1fr 1fr;gap:.3rem;margin-bottom:.9rem;padding:.3rem;display:grid}.segment-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:11px;padding:.55rem .75rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:background-color .15s,color .15s}.segment-btn.active{background:var(--navy-pill);color:#fff;box-shadow:0 2px 8px #1118272e}.stack{flex-direction:column;gap:.75rem;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.form-group{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}label{color:var(--text);font-size:.84rem;font-weight:600}input,select{font:inherit;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:12px;width:100%;padding:.65rem .8rem;font-size:.92rem;transition:border-color .15s,background-color .15s}input:focus,select:focus{background:var(--surface);border-color:var(--cyan-main);outline:none}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:.55rem .9rem;font-size:.86rem;font-weight:600;transition:transform .1s,background-color .15s}button:active{transform:scale(.98)}button.primary{background:linear-gradient(135deg, var(--cyan-light), var(--cyan-dark));color:#fff;border:none;box-shadow:0 4px 14px -3px #0284c766}button.danger{background:var(--negative);color:#fff;border:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent-amber);outline-offset:2px}.badge{color:var(--muted);border-radius:var(--radius-pill);background:#f1f5f9;padding:.18rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.amount-pos{color:var(--positive);font-weight:700}.amount-neg{color:var(--negative);font-weight:700}.empty-state{text-align:center;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border);border-radius:20px;padding:1.75rem 1rem;font-size:.88rem}.bottom-dock-wrap{pointer-events:none;z-index:30;justify-content:center;padding:0 1rem;display:flex;position:fixed;bottom:.85rem;left:0;right:0}.bottom-dock{pointer-events:auto;-webkit-backdrop-filter:blur(12px);width:100%;max-width:448px;box-shadow:var(--shadow-dock);background:#fffffff2;border:1px solid #e2e8f0e6;border-radius:26px;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;gap:.25rem;padding:.4rem .6rem;display:grid}.dock-item{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .2rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:color .15s;display:flex}.dock-item[aria-current=page]{color:var(--cyan-dark);font-weight:700}.dock-icon{font-size:1.05rem;line-height:1}.dock-fab{background:linear-gradient(135deg, var(--cyan-light), var(--cyan-dark));color:#fff;cursor:pointer;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-top:-16px;padding:0;font-size:1.35rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px -3px #0284c766}@media (width<=360px){.accounts-grid{grid-template-columns:1fr}}
