:root{--bg-primary:#faf5ed;--bg-secondary:#fffdfa;--bg-elevated:#fffdfa;--border-primary:#e5ddd1;--text-primary:#2d1e14;--text-muted:#6d5d51;--color-deposit:#348149;--color-withdrawal:#a63836;--focus-ring:#a56d1c;--brand:#dd9c42;--brand-text:#2a180c;--bg-warning:#fef2d9;--text-warning:#674519;--border-warning:#e8c992;--border-radius:12px;--radius-lg:16px;--shadow-card:0 1px 2px #382b1d0d, 0 8px 24px -12px #382b1d1f;--shadow-pop:0 4px 12px #2b1f111a, 0 24px 48px -16px #2b1f1138;--topbar-h:56px;--tabbar-h:62px;--font-sans:"Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", SFMono-Regular, Consolas, monospace;--accent-gold:#b6770b;--accent-green:#348149;--accent-red:#af3c3a;--accent-blue:#2f6e9e}@supports (color:lab(0% 0 0)){:root{--bg-primary:lab(96.786% .703365 4.53194);--bg-secondary:lab(99.4365% .107318 1.52055);--bg-elevated:lab(99.4365% .107318 1.52055);--border-primary:lab(88.4404% 1.304 6.78133);--text-primary:lab(12.875% 6.46733 10.0543);--text-muted:lab(40.7728% 5.02744 9.55811);--color-deposit:lab(48.0931% -34.6668 22.7943);--color-withdrawal:lab(40.5531% 45.7012 27.2081);--focus-ring:lab(51.0458% 18.4819 50.5142);--brand:lab(69.6667% 18.9195 55.3757);--brand-text:lab(10.5226% 7.74628 10.7925);--bg-warning:lab(96.0652% 1.26523 13.5393);--text-warning:lab(32.5859% 11.7417 31.6617);--border-warning:lab(82.7596% 5.57619 32.104);--shadow-card:0 1px 2px lab(18.7775% 4.15607 11.4829/.05), 0 8px 24px -12px lab(18.7775% 4.15607 11.4829/.12);--shadow-pop:0 4px 12px lab(12.9693% 4.30039 11.4723/.1), 0 24px 48px -16px lab(12.9693% 4.30039 11.4723/.22);--accent-gold:lab(55.6901% 19.8656 59.7232);--accent-green:lab(48.0931% -34.6668 22.7943);--accent-red:lab(42.8238% 47.2713 28.1132);--accent-blue:lab(44.0798% -8.06814 -32.721)}}@media (prefers-color-scheme:dark){:root{--bg-primary:#100e0c;--bg-secondary:#191714;--bg-elevated:#1f1c19;--border-primary:#322e2b;--text-primary:#f0eeea;--text-muted:#98938c;--color-deposit:#6cc180;--color-withdrawal:#dd766d;--focus-ring:#e6ab53;--brand:#e6ab53;--brand-text:#211208;--bg-warning:#2d1f01;--text-warning:#ebd6a3;--border-warning:#553e0e;--shadow-card:0 1px 2px #00000040, 0 10px 28px -12px #00000073;--shadow-pop:0 6px 16px #00000059, 0 28px 56px -16px #0000008c;--accent-gold:#ebb353;--accent-green:#6bc987;--accent-red:#e87876;--accent-blue:#6db3e4}@supports (color:lab(0% 0 0)){:root{--bg-primary:lab(4.05846% .386238 1.09607);--bg-secondary:lab(7.78347% .713564 2.0331);--bg-elevated:lab(10.6816% .844136 2.55084);--border-primary:lab(19.3823% .955582 2.90844);--text-primary:lab(94.2245% .165075 2.28339);--text-muted:lab(61.1729% .723273 4.54555);--color-deposit:lab(71.4411% -37.4717 24.4125);--color-withdrawal:lab(61.6367% 40.4 23.8166);--focus-ring:lab(74.4185% 15.7433 52.8304);--brand:lab(74.4185% 15.7433 52.8304);--brand-text:lab(7.10168% 6.47362 7.32154);--bg-warning:lab(13.0235% 4.78569 18.8332);--text-warning:lab(86.3286% 2.11421 27.9703);--border-warning:lab(28.1281% 6.44608 31.7439);--shadow-card:0 1px 2px lab(0% 0 0/.25), 0 10px 28px -12px lab(0% 0 0/.45);--shadow-pop:0 6px 16px lab(0% 0 0/.35), 0 28px 56px -16px lab(0% 0 0/.55);--accent-gold:lab(76.816% 14.2787 55.8993);--accent-green:lab(73.8411% -39.9083 23.7325);--accent-red:lab(63.7832% 44.3878 21.8855);--accent-blue:lab(69.8284% -12.8528 -31.6803)}}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(1100px 420px at 18% -8%, color-mix(in oklch, var(--brand) 4%, transparent), transparent 70%), radial-gradient(900px 380px at 95% 0%, color-mix(in oklch, var(--color-withdrawal) 2%, transparent), transparent 65%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.app-container{flex-direction:column;min-height:100dvh;display:flex}.top-header{z-index:8000;background:color-mix(in oklch, var(--bg-primary) 62%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.1);border-bottom:1px solid color-mix(in oklch, var(--border-primary) 70%, transparent);position:sticky;top:0}.top-header-inner{flex-direction:column;gap:.75rem;max-width:1280px;margin:0 auto;padding:.85rem 2rem 0;display:flex}.top-header-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand-lockup{color:var(--text-primary);align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand-mark{width:40px;height:40px;color:var(--brand-text);background:linear-gradient(135deg, var(--brand), color-mix(in oklch, var(--brand) 55%, var(--color-withdrawal)));box-shadow:0 6px 18px -6px color-mix(in oklch, var(--brand) 65%, transparent);border-radius:12px;place-items:center;display:grid}.brand-mark svg{width:1.3rem;height:1.3rem}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.pill-nav{flex-wrap:wrap;align-items:center;gap:.25rem;padding-bottom:.85rem;display:flex}.nav-link{color:var(--text-muted);white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-sans);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.nav-link .nav-icon{width:1rem;height:1rem}.nav-link:hover{background:color-mix(in oklch, var(--text-primary) 6%, transparent);color:var(--text-primary)}.nav-link.active{background:var(--brand);color:var(--brand-text);box-shadow:0 4px 14px -4px color-mix(in oklch, var(--brand) 70%, transparent);font-weight:600}.nav-more-wrap{position:relative}.nav-more-menu{z-index:9000;background:var(--bg-elevated);border:1px solid var(--border-primary);min-width:220px;box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;gap:.1rem;padding:.4rem;animation:.15s ease-out fadeIn;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.nav-more-menu .nav-link{border-radius:10px;width:100%}.nav-more-menu .nav-link.active{border-radius:10px}.header-signout{color:var(--text-muted);border:1px solid var(--border-primary);cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-sans);background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;transition:all .15s;display:inline-flex}.header-signout:hover{color:var(--text-primary);border-color:var(--text-muted)}.header-signout svg{width:1rem;height:1rem}.main-content{width:100%;max-width:1280px;margin:0 auto;padding:2.25rem 2rem 3.5rem}.page-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:.4rem;font-size:.7rem;font-weight:700}.greeting-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;display:flex}.greeting-row h1{margin-bottom:.2rem}.greeting-date{color:var(--text-muted);font-size:.85rem}.card-glow{border-color:color-mix(in oklch, var(--glow,var(--brand)) 45%, var(--border-primary));box-shadow:0 0 0 1px color-mix(in oklch, var(--glow,var(--brand)) 18%, transparent), 0 10px 32px -14px color-mix(in oklch, var(--glow,var(--brand)) 45%, transparent);position:relative}.card-glow:hover{border-color:color-mix(in oklch, var(--glow,var(--brand)) 70%, var(--border-primary))}.card-glow .card-value{color:var(--glow,var(--brand))}.glow-gold{--glow:var(--accent-gold)}.glow-green{--glow:var(--accent-green)}.glow-red{--glow:var(--accent-red)}.glow-blue{--glow:var(--accent-blue)}.quick-actions-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.quick-action-tile{border:1px solid color-mix(in oklch, var(--glow,var(--brand)) 35%, var(--border-primary));background:color-mix(in oklch, var(--glow,var(--brand)) 6%, var(--bg-secondary));color:var(--text-primary);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.1rem .75rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.quick-action-tile:hover{box-shadow:0 10px 24px -12px color-mix(in oklch, var(--glow,var(--brand)) 55%, transparent);border-color:color-mix(in oklch, var(--glow,var(--brand)) 65%, var(--border-primary));transform:translateY(-2px)}.quick-action-tile .qa-emoji{font-size:1.5rem;line-height:1}.mobile-topbar,.mobile-tabbar{display:none}@media (max-width:1023px){.top-header{display:none}.mobile-topbar{z-index:8000;height:calc(var(--topbar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1rem 0;background:color-mix(in oklch, var(--bg-primary) 82%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.mobile-topbar .brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);align-items:center;gap:.45rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.mobile-topbar .brand svg{width:1.25rem;height:1.25rem;color:var(--brand)}.mobile-tabbar{z-index:8000;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in oklch, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border-primary);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab-item{letter-spacing:.01em;color:var(--text-muted);cursor:pointer;font-size:.62rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding-top:6px;text-decoration:none;display:flex}.tab-item svg{width:22px;height:22px}.tab-item.active{color:var(--brand)}.tab-item.active svg{filter:drop-shadow(0 4px 10px color-mix(in oklch, var(--brand) 45%, transparent))}.main-content{padding:1.25rem 1rem calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 2rem);max-width:100%}input,select,textarea{min-height:44px;font-size:1rem}.btn{min-height:44px}}.more-sheet-backdrop{z-index:9400;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;background:lab(0% 0 0/.45);animation:.18s ease-out fadeIn;position:fixed;inset:0}.more-sheet{z-index:9500;background:var(--bg-elevated);border:1px solid var(--border-primary);padding:.75rem 1rem calc(env(safe-area-inset-bottom) + 1.25rem);box-shadow:var(--shadow-pop);border-bottom:none;border-radius:20px 20px 0 0;max-height:75vh;animation:.26s cubic-bezier(.22,1,.36,1) sheetUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.more-sheet .grabber{background:var(--border-primary);border-radius:2px;width:36px;height:4px;margin:0 auto .85rem}.more-sheet-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.more-sheet-link{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);border-radius:12px;align-items:center;gap:.6rem;padding:.8rem .85rem;font-size:.82rem;font-weight:600;text-decoration:none;display:flex}.more-sheet-link svg{width:1.1rem;height:1.1rem;color:var(--brand);flex-shrink:0}.more-sheet-link.active{border-color:var(--brand);background:color-mix(in oklch, var(--brand) 10%, var(--bg-secondary))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:.4;transform:translateY(24px)}to{opacity:1;transform:none}}h1{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:1.5rem;font-size:clamp(1.55rem,4vw,2rem);font-weight:700;line-height:1.15}h2{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:1rem;font-size:1.3rem;font-weight:700}h3{letter-spacing:-.01em;margin-bottom:.75rem;font-size:1.05rem;font-weight:600}.subtitle{color:var(--text-muted);max-width:64ch;margin-top:-1rem;margin-bottom:2rem;font-size:.875rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.25rem;margin-bottom:2.5rem;display:grid}.card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem;transition:border-color .18s,box-shadow .18s}.card:hover{border-color:color-mix(in oklch, var(--brand) 25%, var(--border-primary))}.card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;font-size:.7rem;font-weight:700}.card-value{font-family:var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,3vw,1.75rem);font-weight:600}.card-value.positive{color:var(--color-deposit)}.card-value.negative{color:var(--color-withdrawal)}.positive{color:var(--color-deposit)}.negative{color:var(--color-withdrawal)}.table-container{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-card);margin-bottom:2rem;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border-primary);padding:.85rem 1rem;font-size:.875rem}th{background:var(--bg-secondary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;z-index:1;font-size:.68rem;font-weight:700;position:sticky;top:0}tr:last-child td{border-bottom:none}tr:hover td{background:color-mix(in oklch, var(--brand) 4%, transparent)}.numeric{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.form-group{margin-bottom:1.25rem}label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.45rem;font-size:.7rem;font-weight:700;display:block}input,select,textarea{background:var(--bg-primary);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);font-size:.875rem;font-family:var(--font-sans);border-radius:10px;padding:.7rem .9rem;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklch, var(--brand) 22%, transparent);outline:none}.btn{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:hover{border-color:color-mix(in oklch, var(--brand) 45%, var(--border-primary));background:color-mix(in oklch, var(--brand) 6%, var(--bg-secondary))}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand);color:var(--brand-text);box-shadow:0 2px 10px -2px color-mix(in oklch, var(--brand) 55%, transparent);border-color:#0000}.btn-primary:hover{background:color-mix(in oklch, var(--brand) 88%, var(--text-primary));color:var(--brand-text);border-color:#0000}.btn-danger{color:var(--color-withdrawal);border-color:color-mix(in oklch, var(--color-withdrawal) 45%, var(--border-primary))}.btn-danger:hover{background:var(--color-withdrawal);border-color:var(--color-withdrawal);color:#fff}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.22rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-deposit{background:color-mix(in oklch, var(--color-deposit) 16%, transparent);color:var(--color-deposit)}.badge-withdrawal{background:color-mix(in oklch, var(--color-withdrawal) 16%, transparent);color:var(--color-withdrawal)}.badge-demo{background:color-mix(in oklch, var(--text-warning) 14%, transparent);color:var(--text-warning);border:1px solid var(--border-warning)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.main-content>*{animation:.45s cubic-bezier(.22,1,.36,1) backwards rise}.main-content>:first-child{animation-delay:20ms}.main-content>:nth-child(2){animation-delay:70ms}.main-content>:nth-child(3){animation-delay:.12s}.main-content>:nth-child(4){animation-delay:.17s}.main-content>:nth-child(5){animation-delay:.22s}.main-content>:nth-child(n+6){animation-delay:.26s}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}}.btn:focus-visible,.nav-link:focus-visible,.tab-item:focus-visible,a:focus-visible,input[type=checkbox]:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklch, var(--brand) 30%, transparent);outline:none}.tap-target-wrap{cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.checkbox-large{cursor:pointer;width:20px;height:20px;accent-color:var(--brand)}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:auto;min-height:0}.table-action-cell{align-items:center;gap:.5rem;min-height:44px;display:flex}.hint-tooltip-wrapper{display:inline-block;position:relative}.hint-tooltip-popup{visibility:hidden;opacity:0;background-color:var(--bg-elevated);width:260px;color:var(--text-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-pop);z-index:100;pointer-events:none;font-family:var(--font-sans);border-radius:10px;padding:.75rem;transition:opacity .2s,visibility .2s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}.hint-tooltip-popup:after{content:"";border-style:solid;border-width:6px;border-color:var(--bg-elevated) transparent transparent transparent;margin-left:-6px;position:absolute;top:100%;left:50%}.hint-tooltip-wrapper:hover .hint-tooltip-popup{visibility:visible;opacity:1}.grid-split-2col{grid-template-columns:1.2fr 1.8fr;align-items:start;gap:2rem;display:grid}.dashboard-main-grid{grid-template-columns:1.6fr 1.4fr;gap:2rem;margin-top:2.5rem;display:grid}@media (max-width:1023px){.grid-split-2col,.dashboard-main-grid{grid-template-columns:1fr;gap:1.25rem}}.text-wrap-break{word-break:break-word;overflow-wrap:break-word;white-space:normal}.nav-icon{flex-shrink:0;width:1.2rem;height:1.2rem}.split-line-grid{grid-template-columns:1.5fr 1fr 1fr 1.5fr auto;align-items:center;gap:.5rem;margin-bottom:.75rem;display:grid}.invoice-line-grid{grid-template-columns:2fr .5fr 1fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}@media (max-width:600px){.split-line-grid{border-bottom:1px dashed var(--border-primary);grid-template-columns:1fr 1fr;gap:.75rem;padding-bottom:1rem}.split-line-grid>div:first-child{grid-column:span 2}.split-line-grid>button:last-child{grid-column:span 2;width:100%;margin-top:.25rem}.invoice-line-grid{border-bottom:1px dashed var(--border-primary);grid-template-columns:1fr 1fr;gap:.6rem;padding-bottom:.85rem}.invoice-line-grid>:first-child{grid-column:span 2}}.ai-suggest-trigger{color:var(--brand);border:1px solid color-mix(in oklch, var(--brand) 55%, transparent);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;margin-top:.15rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.ai-suggest-trigger:hover:not(:disabled){background:var(--brand);color:var(--brand-text)}.ai-suggest-trigger:disabled{opacity:.6;cursor:default}.ai-suggestion-card{border:1px solid color-mix(in oklch, var(--brand) 45%, var(--border-primary));border-radius:var(--border-radius);background:color-mix(in oklch, var(--brand) 7%, var(--bg-primary));flex-direction:column;gap:.4rem;max-width:380px;margin-top:.25rem;padding:.8rem .9rem;display:flex}.ai-suggestion-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ai-badge{letter-spacing:.01em;color:var(--brand);font-size:.7rem;font-weight:700}.ai-confidence{color:var(--text-muted);font-size:.7rem;font-weight:600;font-family:var(--font-mono)}.ai-suggestion-acct{color:var(--text-primary);font-size:.875rem;font-weight:700}.ai-reasoning{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.45}.ai-actions{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.ai-btn{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.45rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1)}.ai-btn:hover{border-color:var(--brand)}.ai-btn-primary{background:var(--color-deposit);border-color:var(--color-deposit);color:#fff}.ai-btn-primary:hover{opacity:.9;border-color:var(--color-deposit)}.ai-btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.ai-btn-ghost:hover{color:var(--text-primary);border-color:#0000}.ai-chat-fab{z-index:9000;background:var(--brand);width:56px;height:56px;color:var(--brand-text);cursor:pointer;box-shadow:0 8px 24px color-mix(in oklch, var(--brand) 40%, #0003);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem}@supports (color:lab(0% 0 0)){.ai-chat-fab{box-shadow:0 8px 24px color-mix(in oklch, var(--brand) 40%, lab(0% 0 0/.2))}}.ai-chat-fab:hover{transform:translateY(-2px)scale(1.05)}.ai-chat-panel{z-index:9000;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:380px;max-width:calc(100vw - 2rem);height:560px;max-height:calc(100vh - 3rem);box-shadow:var(--shadow-pop);flex-direction:column;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden}@media (max-width:1023px){.ai-chat-fab{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .9rem)}.ai-chat-panel{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .75rem);max-height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - env(safe-area-inset-bottom) - 2rem)}}.ai-chat-header{border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.ai-chat-header h3{align-items:center;gap:.4rem;margin:0;font-size:.95rem;font-weight:600;display:inline-flex}.ai-chat-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.4rem;font-size:1rem}.ai-chat-close:hover{color:var(--text-primary)}.ai-chat-messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.ai-chat-starters{color:var(--text-muted);font-size:.85rem}.ai-chat-starters p{margin:0 0 .5rem}.ai-chat-starters button{text-align:left;border:1px solid var(--border-primary);background:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;border-radius:10px;margin-bottom:.4rem;padding:.6rem .75rem;font-size:.8rem;transition:border-color .15s;display:block}.ai-chat-starters button:hover{border-color:var(--brand)}.ai-chat-msg{flex-direction:column;gap:.25rem;max-width:90%;display:flex}.ai-chat-user{align-self:flex-end;align-items:flex-end}.ai-chat-assistant{align-self:flex-start}.ai-chat-content{white-space:pre-wrap;word-break:break-word;border-radius:14px;padding:.6rem .8rem;font-size:.85rem;line-height:1.5}.ai-chat-user .ai-chat-content{background:var(--brand);color:var(--brand-text);border-bottom-right-radius:4px}.ai-chat-assistant .ai-chat-content{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-bottom-left-radius:4px}.ai-chat-tool-status{color:var(--text-muted);font-size:.72rem;font-style:italic}.ai-chat-typing{color:var(--text-muted);padding:0 .5rem;font-size:1.2rem}.ai-chat-input-row{border-top:1px solid var(--border-primary);gap:.5rem;padding:.75rem;display:flex}.ai-chat-input-row input{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);border-radius:10px;flex:1;padding:.55rem .75rem;font-size:.85rem}.ai-chat-input-row button{background:var(--brand);color:var(--brand-text);cursor:pointer;border:none;border-radius:10px;padding:.55rem 1rem;font-size:.85rem;font-weight:600}.ai-chat-input-row button:disabled{opacity:.5;cursor:default}.ai-chat-footer{color:var(--text-muted);text-align:center;border-top:1px solid var(--border-primary);padding:.5rem .75rem .7rem;font-size:.68rem}.chat-layout{gap:1rem;max-width:1100px;height:calc(100dvh - 80px);margin:0 auto;padding:1rem 0;display:flex}.chat-sidebar{border-right:1px solid var(--border-primary);flex-shrink:0;width:260px;padding-right:1rem;overflow-y:auto}@media (max-width:1023px){.chat-layout{flex-direction:column;height:auto}.chat-sidebar{border-right:none;border-bottom:1px solid var(--border-primary);width:100%;max-height:200px;padding-bottom:1rem;padding-right:0}}.install-banner{left:1rem;right:1rem;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 5rem);z-index:8900;background:var(--bg-elevated);border:1px solid color-mix(in oklch, var(--brand) 45%, var(--border-primary));box-shadow:var(--shadow-pop);border-radius:16px;align-items:center;gap:.75rem;padding:.8rem .9rem;animation:.3s cubic-bezier(.22,1,.36,1) sheetUp;display:none;position:fixed}.install-banner-icon{width:40px;height:40px;font-weight:800;font-family:var(--font-display);color:#241a10;background:linear-gradient(135deg,#e8b35a,#8a4b32);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.install-banner-text{flex-direction:column;flex:1;gap:.1rem;font-size:.78rem;line-height:1.35;display:flex}.install-banner-text strong{font-size:.85rem}.install-banner-text span{color:var(--text-muted)}.install-banner-btn{flex-shrink:0;padding:.45rem .9rem;font-size:.8rem;min-height:38px!important}.install-banner-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.4rem;font-size:.9rem}@media (max-width:1023px){.install-banner{display:flex}}.login-screen{place-items:center;min-height:100dvh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.login-screen:before{content:"";background:radial-gradient(circle, color-mix(in oklch, var(--brand) 16%, transparent), transparent 65%);filter:blur(40px);pointer-events:none;border-radius:50%;width:640px;height:640px;position:absolute}.login-screen:after{content:"";background:radial-gradient(circle, color-mix(in oklch, var(--color-withdrawal) 10%, transparent), transparent 65%);filter:blur(50px);pointer-events:none;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-180px;right:-120px}.login-wrap{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:410px;animation:.6s cubic-bezier(.22,1,.36,1) backwards rise;display:flex;position:relative}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:.85rem;margin-bottom:1.75rem;display:flex}.login-mark{color:#241a10;width:64px;height:64px;box-shadow:0 10px 30px -8px color-mix(in oklch, var(--brand) 60%, transparent), inset 0 1px 0 #ffffff59;background:linear-gradient(135deg,#e8b35a 0%,#d99a3d 45%,#8a4b32 100%);border-radius:18px;place-items:center;display:grid}@supports (color:lab(0% 0 0)){.login-mark{box-shadow:0 10px 30px -8px color-mix(in oklch, var(--brand) 60%, transparent), inset 0 1px 0 lab(100% 0 0/.35)}}.login-mark svg{width:2rem;height:2rem}.login-brand h1{letter-spacing:-.015em;margin:0;font-size:2rem}.login-brand .login-by{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.login-card{background:color-mix(in oklch, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in oklch, var(--brand) 25%, var(--border-primary));width:100%;box-shadow:var(--shadow-pop);border-radius:20px;padding:1.75rem}.login-greeting{text-align:center;margin-bottom:1.5rem}.login-greeting strong{font-family:var(--font-display);font-size:1.15rem;font-weight:600;display:block}.login-greeting span{color:var(--text-muted);font-size:.8rem}.seg-track{background:color-mix(in oklch, var(--text-primary) 6%, transparent);border-radius:999px;margin-bottom:1.5rem;padding:4px;display:flex}.seg-btn{color:var(--text-muted);font-size:.85rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:.55rem .75rem;transition:all .18s cubic-bezier(.4,0,.2,1)}.seg-btn.active{background:var(--brand);color:var(--brand-text);box-shadow:0 3px 10px -3px color-mix(in oklch, var(--brand) 70%, transparent)}.login-alert{border-radius:12px;margin-bottom:1.25rem;padding:.7rem .85rem;font-size:.83rem;line-height:1.4}.login-alert.error{background:color-mix(in oklch, var(--color-withdrawal) 12%, transparent);border:1px solid color-mix(in oklch, var(--color-withdrawal) 45%, transparent);color:var(--color-withdrawal)}.login-alert.success{background:color-mix(in oklch, var(--color-deposit) 12%, transparent);border:1px solid color-mix(in oklch, var(--color-deposit) 45%, transparent);color:var(--color-deposit)}.login-submit{width:100%;min-height:48px;margin-top:.25rem;font-size:.95rem}.login-foot{text-align:center;color:var(--text-muted);margin-top:1.4rem;font-size:.72rem}.login-foot a{color:var(--text-muted);text-decoration:underline}.login-foot a:hover{color:var(--text-primary)}.form-2col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:760px){.form-2col{grid-template-columns:1fr}}.invoice-builder{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.invoice-generated{display:block}@media (max-width:900px){.invoice-builder{grid-template-columns:1fr;gap:1.5rem}}@media (max-width:768px){.invoice-container{overflow-x:auto;min-height:0!important;padding:1.25rem!important}.invoice-line-grid{border-bottom:1px dashed var(--border-primary);grid-template-columns:1fr 1fr;gap:.6rem;padding-bottom:.85rem}.invoice-line-grid>:first-child{grid-column:span 2}}.form-row-2col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:480px){.form-row-2col{grid-template-columns:1fr;gap:.75rem}}@media (max-width:600px){.split-line-grid>input[type=text]{grid-column:span 2}}.parsed-tx-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.parsed-tx-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.parsed-tx-category-wrapper{flex-direction:column;flex:1;gap:.35rem;min-width:200px;display:flex}@media (max-width:600px){.parsed-tx-top-row{flex-direction:column;align-items:stretch;gap:.75rem}.parsed-tx-meta{width:100%}.parsed-tx-amount{align-self:flex-end;margin-top:.25rem;font-size:1.125rem}.parsed-tx-category-wrapper{width:100%;min-width:100%}}.ledger-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.ledger-search-container{flex-grow:1;justify-content:flex-end;gap:.5rem;width:100%;max-width:400px;display:flex}.ledger-search-container input{flex:1;min-width:0}.ledger-search-select-wrapper{flex-shrink:0;width:180px;display:inline-block}@media (max-width:600px){.ledger-history-header{flex-direction:column;align-items:stretch}.ledger-search-container{width:100%;max-width:100%}.ledger-search-select-wrapper{width:140px}}.ledger-tx-row{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.75rem;display:flex}.ledger-tx-info{flex-direction:column;flex-grow:1;min-width:0;display:flex}.ledger-tx-info h3{word-break:break-word}.ledger-tx-meta-actions{flex-shrink:0;align-items:center;gap:1rem;display:flex}@media (max-width:767px){.ledger-tx-row{flex-direction:column;align-items:stretch;gap:.75rem}.ledger-tx-meta-actions{border-top:1px dashed var(--border-primary);justify-content:space-between;width:100%;padding-top:.75rem}}
