*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--expense:#fa6868;--earning:#faac68;--stats:#5a9cb5;--navy:#1a3a4a;--navy-surface:#234657;--bg:#f0f7fa;--surface:#fff;--text:#1a2e3a;--muted:#6e8fa0;--radius:4px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=blossom]{--stats:#6db5ca;--expense:#e8759e;--earning:#6ec897;--navy:#22103a;--navy-surface:#2e1a4a;--bg:#fdf4fb;--muted:#a87aba}[data-theme=rose]{--stats:#72baa9;--expense:#934761;--earning:#8aba68;--navy:#2a1020;--navy-surface:#3a1830;--bg:#f8f2f4;--muted:#9e7080}[data-theme=sunrise]{--stats:#50b0ae;--expense:#e07050;--earning:#d4a838;--navy:#142e2a;--navy-surface:#1e3c38;--bg:#fffbf2;--muted:#72989a}[data-theme=flamingo]{--stats:#d6336c;--expense:#c4204e;--earning:#e08060;--navy:#280818;--navy-surface:#380f24;--bg:#fff5f8;--muted:#b86080}@media (prefers-color-scheme:dark){:root{--navy:#0e2230;--navy-surface:#162e3e;--bg:#0f1e28;--surface:#1a2f3e;--text:#ddeaf2;--muted:#8aafc2}[data-theme=blossom]{--navy:#160828;--navy-surface:#200e38;--bg:#16081e;--surface:#200e2a;--text:#f0e8f8;--muted:#c098d0}[data-theme=rose]{--navy:#1a0818;--navy-surface:#260c22;--bg:#140810;--surface:#1e0c1a;--text:#f4e8ec;--muted:#c08898}[data-theme=sunrise]{--navy:#0c2020;--navy-surface:#142c2c;--bg:#0c1818;--surface:#142020;--text:#f4f4e8;--muted:#90b0a8}[data-theme=flamingo]{--navy:#18040e;--navy-surface:#220818;--bg:#150308;--surface:#1e0810;--text:#fce8f0;--muted:#d878a0}.grid-btn,.amount-input,.amount-entry input,.period-tab,.scan-area,.scan-spinner,.export-btn,.when-btn,.when-date,.delete-btn,.review-field select,.review-field input[type=text],.review-field input[type=number],.review-field input[type=date]{border-color:#334155}.grid-btn:hover,.scan-area:hover{background:#5a9cb526}.budget-row:hover,.recent-row:hover,.settings-row:hover,.insight-entry-row:hover{background:#1f3547}.budget-row:active,.recent-row:active,.insight-entry-row:active{background:#263e52}.budget-bar-bg,.bar-bg,.subcat-bar-bg{background:#1a3345}.budget-alert{background:#1c1008;border-color:#7c3a0a}.budget-alert-title{color:#fb923c}.budget-alert-sub{color:#f97316}.add-sheet,.month-card,.top-cat-row{background:var(--surface)}}body{background:var(--bg);color:var(--text);min-height:100vh;padding:max(24px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));letter-spacing:-.01em;justify-content:center;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}#root{width:100%;max-width:480px}.home-screen{flex-direction:column;gap:20px;display:flex}.home-header{margin:calc(-1 * max(24px, env(safe-area-inset-top))) -16px 0;padding:calc(max(36px, env(safe-area-inset-top) + 12px)) 24px 24px;background:var(--navy);color:#fff;justify-content:space-between;align-items:flex-end;display:flex}.home-welcome{opacity:.85;margin-bottom:4px;font-size:.95rem}.home-name{font-size:2rem;font-weight:700;line-height:1.1}.home-header-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.home-date{opacity:.75;text-align:right;max-width:110px;font-size:.8rem;line-height:1.4}.settings-icon{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.settings-icon:hover{background:#ffffff40}.settings-icon:active{transform:scale(.92)}.settings-icon svg{width:18px;height:18px}.scan-btn{background:var(--surface);border:2px dashed var(--stats);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:16px;width:100%;padding:20px;transition:background .15s;display:flex}.scan-btn:hover{background:#eff6ff}.scan-btn:active{transform:scale(.98)}.scan-btn-icon{color:var(--stats);flex-shrink:0}.scan-btn-icon svg{width:28px;height:28px}.scan-btn-text{flex-direction:column;gap:2px;display:flex}.scan-btn-title{color:var(--text);font-size:.95rem;font-weight:700}.scan-btn-sub{color:var(--muted);font-size:.8rem}.name-prompt{flex-direction:column;align-items:center;gap:24px;margin-top:60px;display:flex}.name-prompt h1{font-size:2rem;font-weight:700}.name-prompt .auth-form{width:100%}.home-loading{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:60vh;display:flex}.home-loading p{color:var(--muted)}.home-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 16px 16px;display:flex}.home-empty-art{width:120px;height:110px;color:var(--muted);opacity:.35}.home-empty-title{color:var(--text);font-size:1rem;font-weight:700}.home-empty-sub{color:var(--muted);font-size:.88rem}.insights{flex-direction:column;gap:20px;display:flex}.insight-label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:-8px;font-size:.7rem;font-weight:700}.month-summary{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.month-card{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px;display:flex}.month-card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.month-card-amount{font-size:1.35rem;font-weight:800}.month-card-expense .month-card-amount{color:var(--expense)}.month-card-budget-label{color:var(--muted);font-size:.68rem}.month-card-earning .month-card-amount{color:var(--earning)}.month-card-balance .month-card-amount{color:var(--text)}.insight-entries{flex-direction:column;display:flex}.insight-entry-row{background:var(--surface);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:flex}.insight-entry-row+.insight-entry-row{border-top:1px solid var(--bg)}.insight-entry-row:first-child{border-radius:var(--radius) var(--radius) 0 0}.insight-entry-row:last-child{border-radius:0 0 var(--radius) var(--radius)}.insight-entry-row:only-child{border-radius:var(--radius)}.insight-entry-row:hover{background:#f8fafc}.insight-entry-left{flex-direction:column;gap:1px;min-width:0;display:flex}.insight-entry-cat{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.insight-entry-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.insight-entry-amount{white-space:nowrap;flex-shrink:0;font-size:.9rem;font-weight:800}.insight-entry-expense{color:var(--expense)}.insight-entry-earning{color:var(--earning)}.top-cat-row{background:var(--surface);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.top-cat-label{color:var(--text);font-size:.88rem;font-weight:500}.top-cat-sublabel{color:var(--muted);margin-top:1px;font-size:.75rem}.top-cat-amount{color:var(--expense);font-size:.92rem;font-weight:800}.budget-alert{border-radius:var(--radius);background:#fff7ed;border:1.5px solid #fed7aa;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.budget-alert-title{color:#c2410c;font-size:.85rem;font-weight:700}.budget-alert-sub{color:#9a3412;font-size:.78rem}.budget-section{flex-direction:column;gap:10px;display:flex}.budget-section-head{justify-content:space-between;align-items:center;display:flex}.budget-list{flex-direction:column;gap:12px;display:flex}.budget-row{background:var(--surface);border-radius:var(--radius);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:none;flex-direction:column;gap:6px;padding:14px;transition:background .15s;display:flex}.budget-row:hover{background:#f8f9fb}.budget-row:active{background:#eef0f3}.budget-row-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.budget-row-label{font-size:.92rem;font-weight:500}.budget-row-amount{white-space:nowrap;color:var(--muted);font-size:.85rem;font-weight:600}.budget-row-ok{color:var(--earning)}.budget-row-warn{color:#f39c12}.budget-row-over{color:var(--expense)}.budget-bar-bg{background:#eef0f3;border-radius:4px;height:6px;overflow:hidden}.budget-bar-fill{border-radius:4px;height:6px;transition:width .4s}.budget-bar-ok{background:var(--earning)}.budget-bar-warn{background:#f39c12}.budget-bar-over{background:var(--expense)}.budget-cta{background:var(--surface);border:1.5px dashed var(--stats);border-radius:var(--radius);color:var(--stats);cursor:pointer;padding:16px;font-size:.92rem;font-weight:500;transition:background .15s}.budget-cta:hover{background:#eff6ff}.budgets-screen{flex-direction:column;gap:16px;display:flex}.recent-list{flex-direction:column;gap:10px;display:flex}.recent-row{background:var(--surface);border-radius:var(--radius);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.recent-row:hover{background:#f8f9fb}.recent-row:active{background:#eef0f3}.recent-left{flex-direction:column;gap:2px;min-width:0;display:flex}.recent-cat{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.recent-store{color:var(--muted);font-weight:400}.recent-date{color:var(--muted);font-size:.75rem}.recent-amount{white-space:nowrap;flex-shrink:0;font-size:.9rem;font-weight:700}.recent-amount-expense{color:var(--expense)}.recent-amount-earning{color:var(--earning)}.btn{border-radius:var(--radius);cursor:pointer;color:#fff;border:none;padding:18px;font-size:1.1rem;font-weight:600;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn-expense{background:var(--expense)}.btn-earning{background:var(--earning)}.btn-stats{background:var(--stats)}.add-entry{flex-direction:column;gap:24px;display:flex}.top-bar{background:var(--navy);color:#fff;margin:calc(-1 * max(24px, env(safe-area-inset-top))) -16px 0;padding:calc(max(20px, env(safe-area-inset-top) + 8px)) 16px 16px;align-items:center;gap:12px;display:flex}.top-bar h2{color:#fff;font-size:1.2rem;font-weight:700}.back-btn{cursor:pointer;color:#ffffffbf;background:0 0;border:none;padding:4px 0;font-size:1.1rem}.back-btn:hover{color:#fff}.step-label{color:var(--muted);font-size:.95rem}.grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.grid-btn{background:var(--surface);border-radius:var(--radius);cursor:pointer;border:2px solid #dfe6e9;padding:20px 12px;font-size:1rem;font-weight:500;transition:border-color .15s,background .15s}.grid-btn:hover{border-color:var(--stats);background:#eaf4ff}.grid-btn-active{background:var(--stats);border-color:var(--stats);color:#fff;font-weight:600}.grid-btn-active:hover{background:var(--stats);color:#fff}.entry-section{flex-direction:column;gap:10px;display:flex}.entry-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.78rem;font-weight:600}.amount-input{border-radius:var(--radius);border:2px solid #dfe6e9;outline:none;width:100%;padding:16px;font-size:1.4rem;transition:border-color .15s}.amount-input:focus{border-color:var(--stats)}.add-new-btn{color:var(--muted);border-style:dashed;font-weight:400}.add-new-btn:hover{color:var(--text);border-color:var(--text);background:var(--surface)}.add-new-input{grid-column:1/-1;gap:8px;display:flex}.add-new-input input{border:2px solid var(--stats);border-radius:var(--radius);outline:none;flex:1;padding:12px;font-size:1rem}.add-new-confirm{background:var(--stats);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:12px 20px;font-size:1rem;font-weight:600}.add-new-confirm:disabled{opacity:.4;cursor:default}.amount-entry{align-items:center;gap:12px;display:flex}.amount-entry input{border-radius:var(--radius);border:2px solid #dfe6e9;outline:none;flex:1;padding:16px;font-size:1.4rem;transition:border-color .15s}.amount-entry input:focus{border-color:var(--stats)}.amount-entry .btn{padding:16px 24px;font-size:1rem}.statistics{flex-direction:column;gap:28px;display:flex}.summary-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.summary-cards-4{grid-template-columns:repeat(2,1fr)}.card{background:var(--surface);border-radius:var(--radius);text-align:center;border-top:4px solid #0000;flex-direction:column;gap:6px;padding:16px 12px;display:flex}.card span{color:var(--muted);font-size:.8rem}.card strong{font-size:1.1rem}.card-expense{border-top-color:var(--expense)}.card-earning{border-top-color:var(--earning)}.card-balance{border-top-color:var(--stats)}.card-balance.positive strong{color:var(--earning)}.card-balance.negative strong{color:var(--expense)}section h3{color:var(--muted);margin-bottom:12px;font-size:1rem}.breakdown{flex-direction:column;gap:12px;list-style:none;display:flex}.breakdown-row{justify-content:space-between;margin-bottom:4px;font-size:.95rem;display:flex}.cat-amount{font-weight:600}.bar-bg{background:#dfe6e9;border-radius:4px;height:6px}.bar-fill{border-radius:4px;height:6px;transition:width .4s}.bar-expense{background:var(--expense)}.bar-earning{background:var(--earning)}.empty{color:var(--muted);font-size:.9rem}.period-tabs{background:var(--surface);border-radius:var(--radius);gap:0;padding:3px;display:flex}.period-tab{border-radius:calc(var(--radius) - 1px);cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:none;flex:1;padding:9px 4px;font-family:inherit;font-size:.78rem;font-weight:700;transition:background .2s,color .2s,box-shadow .2s}.period-tab:hover{color:var(--text)}.period-tab.active{background:var(--navy);color:#fff;box-shadow:0 1px 4px #00000040}.card-saved{border-top-color:#face68}.card-saved.positive strong{color:#d4a820}.card-saved.negative strong{color:var(--expense)}.cat-toggle-row{cursor:pointer}.cat-toggle-row:hover .cat-name{color:var(--stats)}.cat-chevron{width:14px;color:var(--muted);font-size:.7rem;display:inline-block}.subcat-list{flex-direction:column;gap:8px;margin-top:8px;padding-left:14px;list-style:none;display:flex}.subcat-name{color:var(--muted);font-size:.88rem}.subcat-amount{color:var(--muted);font-size:.88rem;font-weight:500}.subcat-bar-bg{background:#eef0f1}.subcat-bar{height:4px}.auth-screen{padding:max(env(safe-area-inset-top), 48px) 24px max(env(safe-area-inset-bottom), 48px);background:radial-gradient(ellipse at 15% 20%, #5a9cb547 0%, transparent 48%), radial-gradient(ellipse at 85% 75%, #faac6838 0%, transparent 44%), radial-gradient(ellipse at 78% 8%, #fa68682e 0%, transparent 38%), radial-gradient(ellipse at 25% 88%, #5a9cb533 0%, transparent 40%), var(--navy);flex-direction:column;justify-content:center;align-items:center;gap:32px;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-header{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.auth-screen h1{color:#fff;letter-spacing:-.02em;font-size:2.4rem;font-weight:800}.auth-form{background:var(--surface);border:1px solid #5a9cb52e;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:28px 24px;display:flex;box-shadow:0 20px 56px #00000047}.auth-form h2{color:var(--text);margin-bottom:4px;font-size:1.2rem;font-weight:700}.auth-screen .auth-form input{background:var(--bg);color:var(--text);border:1.5px solid #5a9cb54d;border-radius:8px;outline:none;padding:15px 16px;font-family:inherit;font-size:1rem;transition:background .15s,border-color .15s}.auth-screen .auth-form input::placeholder{color:var(--muted)}.auth-screen .auth-form input:focus{background:var(--surface);border-color:var(--stats)}.auth-screen .btn-stats{background:var(--stats);color:#fff;border:none;border-radius:8px;margin-top:4px;padding:16px;font-family:inherit;font-weight:700;transition:opacity .15s;box-shadow:0 4px 16px #5a9cb566}.auth-screen .btn-stats:hover{opacity:.88}.auth-screen .btn-stats:disabled{opacity:.45;box-shadow:none}.auth-error{color:var(--expense);font-size:.9rem}.auth-hint{color:var(--muted);font-size:.9rem;line-height:1.5}.auth-switch{color:var(--stats);cursor:pointer;text-align:left;opacity:.8;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem}.auth-switch:hover{opacity:1;text-decoration:underline}.scan-screen{flex-direction:column;gap:24px;display:flex}.scan-area{border-radius:var(--radius);cursor:pointer;background:var(--surface);border:2px dashed #dfe6e9;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;transition:border-color .15s,background .15s;display:flex}.scan-area:hover{border-color:var(--stats);background:#eaf4ff}.scan-area p{color:var(--muted);text-align:center;font-size:.95rem}.scan-camera-icon{color:var(--muted)}.scan-camera-icon svg{width:48px;height:48px}.scan-loading{flex-direction:column;align-items:center;gap:16px;padding:48px 0;display:flex}.scan-spinner{border:3px solid #dfe6e9;border-top-color:var(--stats);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scan-loading p{color:var(--muted)}.scan-error{color:var(--expense);font-size:.9rem}.btn-scan{background:#636e72}.btn-entries{background:#8e44ad}.export-btn{cursor:pointer;color:var(--muted);background:0 0;border:1.5px solid #dfe6e9;border-radius:20px;margin-left:auto;padding:5px 12px;font-size:.8rem;font-weight:500;transition:all .15s}.export-btn:hover{border-color:var(--stats);color:var(--stats)}.export-btn:disabled{opacity:.5;cursor:default}.entries-screen{flex-direction:column;gap:16px;display:flex}.entries-list{flex-direction:column;gap:10px;list-style:none;display:flex}.entry-item{background:var(--surface);border-radius:var(--radius);border-left:4px solid #0000;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.entry-expense{border-left-color:var(--expense)}.entry-earning{border-left-color:var(--earning)}.entry-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.entry-label{font-size:.95rem;font-weight:500}.entry-store{color:var(--muted);font-weight:400}.entry-amount{white-space:nowrap;font-size:1rem;font-weight:700}.entry-amount-expense{color:var(--expense)}.entry-amount-earning{color:var(--earning)}.entry-footer{justify-content:space-between;align-items:center;display:flex}.entry-date{color:var(--muted);font-size:.8rem}.entry-actions{gap:12px;display:flex}.entry-action-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:.8rem}.entry-action-btn:hover{color:var(--text)}.entry-delete-btn:hover{color:var(--expense)}.entry-delete-btn.confirming{color:var(--expense);font-weight:600}.advanced-toggle{color:var(--stats);cursor:pointer;text-align:left;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:.88rem;font-weight:500}.advanced-toggle:hover{text-decoration:underline}.when-block{flex-direction:column;gap:10px;margin-top:8px;display:flex}.when-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.when-btn{background:var(--surface);color:var(--muted);cursor:pointer;border:2px solid #dfe6e9;border-radius:20px;padding:10px 18px;font-size:.92rem;font-weight:500;transition:all .15s}.when-btn:hover{border-color:var(--stats);color:var(--stats)}.when-btn-active{background:var(--stats);border-color:var(--stats);color:#fff}.when-btn-active:hover{color:#fff}.when-date{border-radius:var(--radius);border:2px solid #dfe6e9;outline:none;flex:1;min-width:140px;padding:10px 14px;font-size:.95rem;transition:border-color .15s}.when-date:focus{border-color:var(--stats)}.recurring-block{flex-direction:column;gap:12px;margin-top:8px;display:flex}.checkbox-row{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:.95rem;display:flex}.checkbox-row input{cursor:pointer;width:18px;height:18px}.recurring-fields{flex-direction:column;gap:12px;padding-left:26px;display:flex}.entry-inactive{opacity:.5}.settings-row{background:var(--surface);border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;padding:14px 16px;font-size:.95rem;font-weight:500;transition:background .15s;display:flex}.settings-row:hover{background:#f8f9fb}.settings-row-chevron{color:var(--muted);font-size:1.2rem}.theme-picker{flex-wrap:wrap;gap:6px;display:flex}.theme-swatch{background:var(--bg);cursor:pointer;border:2px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;padding:8px 6px;transition:border-color .15s;display:flex}.theme-swatch.active{border-color:var(--stats)}.theme-dots{gap:3px;display:flex}.theme-dots span{border-radius:50%;width:11px;height:11px;display:block}.theme-name{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.6rem;font-weight:700}.settings-section{flex-direction:column;gap:2px;display:flex}.settings-section-label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-top:4px;padding:0 4px;font-size:.7rem;font-weight:700}.settings-section-account{margin-top:8px}.settings-row-static{cursor:default}.settings-row-static:hover{background:var(--surface)}.settings-row-value{color:var(--muted);font-size:.9rem}.review-field-toggle{flex-direction:row;justify-content:space-between;align-items:center;padding:4px 0}.toggle-label-group{flex-direction:column;gap:3px;display:flex}.toggle-label-group label{margin:0}.toggle-label-sub{color:var(--muted);font-size:.78rem}.toggle-switch{cursor:pointer;background:#dfe6e9;border:none;border-radius:13px;flex-shrink:0;width:46px;height:26px;padding:0;transition:background .2s;position:relative}.toggle-switch.on{background:var(--earning)}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch.on .toggle-thumb{transform:translate(20px)}.webhook-section{background:var(--surface);border-radius:var(--radius);border:1.5px solid #dfe6e9;flex-direction:column;gap:10px;padding:16px;display:flex}.webhook-header{flex-direction:column;gap:3px;display:flex}.webhook-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.webhook-sub{color:var(--muted);font-size:.78rem}.webhook-key-input{background:var(--bg);width:100%;color:var(--text);border:1.5px solid #dfe6e9;border-radius:8px;outline:none;padding:10px 12px;font-family:monospace;font-size:.78rem}.webhook-actions{gap:8px;display:flex}.webhook-btn{flex:1;padding:10px;font-size:.85rem}.webhook-btn-secondary{background:var(--bg);color:var(--text);border:1.5px solid #dfe6e9}.shortcut-setup{flex-direction:column;gap:20px;display:flex}.shortcut-intro{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.shortcut-step{align-items:flex-start;gap:14px;display:flex}.shortcut-step-num{background:var(--stats);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.shortcut-step-body{flex-direction:column;flex:1;gap:8px;display:flex}.shortcut-step-title{color:var(--text);font-size:.95rem;font-weight:600}.shortcut-step-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.shortcut-step-list{color:var(--muted);margin:0;padding-left:18px;font-size:.88rem;line-height:1.9}.shortcut-open-btn{margin-top:2px}.shortcut-key-row{background:var(--surface);border:1.5px solid #dfe6e9;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.shortcut-key-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:monospace;font-size:.72rem;overflow:hidden}.shortcut-copy-btn{flex-shrink:0;padding:6px 14px;font-size:.82rem}.delete-btn{border-radius:var(--radius);color:var(--muted);cursor:pointer;background:0 0;border:1.5px solid #dfe6e9;padding:14px;font-size:.95rem;font-weight:500;transition:all .15s}.delete-btn:hover{border-color:var(--expense);color:var(--expense)}.delete-btn.confirming{border-color:var(--expense);color:var(--expense);font-weight:600}.scan-review{flex-direction:column;gap:24px;display:flex}.review-fields{flex-direction:column;gap:16px;display:flex}.review-field{flex-direction:column;gap:6px;display:flex}.review-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.review-optional{text-transform:none;letter-spacing:0;font-weight:400}.review-field select,.review-field input[type=text],.review-field input[type=number]{border-radius:var(--radius);background:var(--surface);appearance:none;border:2px solid #dfe6e9;outline:none;width:100%;padding:14px;font-size:1rem;transition:border-color .15s}.review-field select:focus,.review-field input:focus{border-color:var(--stats)}.review-field select:disabled{opacity:.4}.bottom-nav{background:var(--navy);width:100%;max-width:480px;padding:8px 4px max(10px, env(safe-area-inset-bottom));z-index:100;border-top:1px solid #ffffff0f;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-tab{cursor:pointer;color:#ffffff61;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-width:48px;padding:4px 10px;font-family:inherit;font-size:.62rem;font-weight:700;transition:color .15s;display:flex}.nav-tab svg{width:22px;height:22px}.nav-tab:hover{color:#ffffffa6}.nav-tab-active{color:#fff}.nav-add{background:var(--stats);cursor:pointer;color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:6px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #2563eb73}.nav-add:hover{transform:scale(1.07);box-shadow:0 6px 18px #2563eb8c}.nav-add:active{transform:scale(.94)}.nav-add svg{width:26px;height:26px}.nav-spacer{height:76px}.add-sheet-overlay{z-index:200;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.add-sheet{background:var(--surface);width:100%;max-width:480px;padding:16px 16px max(24px, env(safe-area-inset-bottom));border-radius:12px 12px 0 0;flex-direction:column;gap:10px;display:flex}.add-sheet-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;padding-bottom:4px;font-size:.72rem;font-weight:700}.add-sheet-btn{border-radius:var(--radius);cursor:pointer;color:#fff;border:none;padding:17px;font-family:inherit;font-size:1rem;font-weight:700;transition:opacity .15s}.add-sheet-btn:hover{opacity:.88}.add-sheet-expense{background:var(--expense)}.add-sheet-earning{background:var(--earning)}.add-sheet-cancel{border-radius:var(--radius);cursor:pointer;color:var(--muted);background:var(--bg);border:none;margin-top:2px;padding:14px;font-family:inherit;font-size:.95rem;font-weight:600}.donut-chart-wrap{height:190px;position:relative}.donut-center{text-align:center;pointer-events:none;width:110px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center-amount{color:var(--text);white-space:nowrap;font-size:1rem;font-weight:800;display:block}.donut-center-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.65rem}.month-trend-up{color:var(--expense);margin-top:2px;font-size:.72rem;font-weight:600;display:block}.month-trend-down{color:var(--earning);margin-top:2px;font-size:.72rem;font-weight:600;display:block}.month-card-sub{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.card-trend-up{color:var(--expense);margin-top:2px;font-size:.7rem;font-weight:700;display:block}.card-trend-down{color:var(--earning);margin-top:2px;font-size:.7rem;font-weight:700;display:block}.donut-legend{flex-direction:column;gap:8px;display:flex}.donut-legend-entry{flex-direction:column;gap:5px;display:flex}.donut-budget-bar{flex-direction:column;gap:3px;padding-left:18px;display:flex}.donut-budget-label{color:var(--muted);font-size:.72rem}.donut-legend-row{justify-content:space-between;align-items:center;display:flex}.donut-legend-left{align-items:center;gap:8px;display:flex}.donut-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.donut-legend-name{color:var(--text);font-size:.84rem;font-weight:500}.donut-legend-amount{color:var(--muted);font-size:.82rem;font-weight:700}.type-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.type-tab{border-radius:var(--radius);cursor:pointer;opacity:.3;border:none;padding:16px;font-family:inherit;font-size:1rem;font-weight:700;transition:opacity .18s}.type-tab-expense{background:var(--expense);color:#fff}.type-tab-earning{background:var(--earning);color:#fff}.type-tab.active{opacity:1}
