:root{--ink:#f8fafc;--canvas:#0f172a;--canvas-raised:#101a34;--surface:#15213d;--surface-hover:#1a2a4c;--line:rgba(226,232,240,.12);--line-strong:rgba(226,232,240,.22);--muted:#9aa9c5;--blue:#3b82f6;--blue-deep:#1e40af;--green:#34d399;--green-deep:#059669;--red:#fb7185;--amber:#fbbf24;--shadow:0 18px 40px rgba(2,6,23,.28);--adm-color-primary:#34d399;--adm-color-success:#34d399;--adm-color-warning:#fbbf24;--adm-color-danger:#fb7185;--adm-color-text:#f8fafc;--adm-color-text-secondary:#9aa9c5;--adm-color-border:rgba(226,232,240,.16);color-scheme:dark}html[data-theme]{background:var(--theme-page)}html[data-theme=mint]{--theme-page:#e3f4ed;--theme-surface:#fbfffd;--theme-soft:#d2f2e8;--theme-border:#c6e0d7;--theme-text:#173b39;--theme-muted:#68857d;--theme-primary:#087d73;--theme-primary-soft:#d5f4e6;--theme-shadow:rgba(35,91,74,.08);--theme-income-soft:#ddf7e8;--theme-expense-soft:#ffe9ea;--adm-color-primary:#08af9f;--adm-color-success:#119c71;--adm-color-warning:#d99218;--adm-color-danger:#d9485f;--adm-color-text:#18324b;--adm-color-text-secondary:#617891;--adm-color-border:#dbe7f1}html[data-theme=classic]{--theme-page:#f4f6fb;--theme-surface:#fff;--theme-soft:#e8f1ff;--theme-border:#d6dbea;--theme-text:#1f2937;--theme-muted:#59627a;--theme-primary:#1479ed;--theme-primary-soft:#e9f1ff;--theme-shadow:rgba(41,54,90,.12);--theme-income-soft:#e9f1ff;--theme-expense-soft:#e9f1ff;--adm-color-primary:#1479ed;--adm-color-success:#119c71;--adm-color-warning:#d99218;--adm-color-danger:#d9485f;--adm-color-text:#1f2937;--adm-color-text-secondary:#59627a;--adm-color-border:#d6dbea}html[data-theme=sakura]{--theme-page:#fff4f7;--theme-surface:#fffafd;--theme-soft:#ffe3ec;--theme-border:#f2c8d5;--theme-text:#452631;--theme-muted:#926575;--theme-primary:#d64f83;--theme-primary-soft:#ffe3ec;--theme-shadow:rgba(170,72,108,.12);--theme-income-soft:#ffe3ec;--theme-expense-soft:#ffe3ec;--adm-color-primary:#d64f83;--adm-color-success:#119c71;--adm-color-warning:#d99218;--adm-color-danger:#d9485f;--adm-color-text:#452631;--adm-color-text-secondary:#926575;--adm-color-border:#f2c8d5}.profile-settings>.legacy-profile-button,.profile-settings>label{display:none}.profile-summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:0 2px;border-bottom:1px solid #e0eee8;color:#6b877e;font-size:13px}.profile-summary-row strong{min-width:0;overflow:hidden;color:#173b39;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.profile-settings .edit-profile-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:3px;border-radius:9px;font-weight:700}.settings-dialog-body{display:grid;gap:13px}.settings-action-row,.settings-method-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:62px;padding:0 15px;border:1px solid #c7e0d6;border-radius:10px;color:#315e54;background:#f5fcf9;text-align:left}.settings-action-row:hover,.settings-method-card:hover{border-color:#7bc9b8;background:#e9f8f2}.settings-action-row>span{display:flex;align-items:center;gap:10px}.settings-action-row svg{color:#087d73}.settings-method-card{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.settings-method-card b{color:#173b39}.settings-method-card span{color:#759088;font-size:12px}.settings-method-card>svg{grid-column:2;grid-row:1/span 2}.settings-dialog-label{display:grid;gap:7px;color:#55766d;font-size:13px;font-weight:700}.settings-dialog-hint{margin:0;color:#6d8980;font-size:13px;line-height:1.6}.settings-email-readonly{display:grid;gap:5px;padding:12px 14px;border:1px solid #d3e7df;border-radius:9px;background:#eef9f4}.settings-email-readonly span{color:#719087;font-size:12px}.settings-email-readonly strong{overflow:hidden;color:#173b39;text-overflow:ellipsis}.settings-dialog-error{margin:0;color:#c84350;font-size:13px;font-weight:700;line-height:1.5}.settings-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}@media (max-width:640px){.settings-code-row{grid-template-columns:1fr}}.receipt-paper-meta>div{display:grid;gap:3px}.receipt-paper-meta small{color:#78948b;font-size:11px}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Fira Sans,Microsoft YaHei,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:2px solid var(--theme-primary,#087d73);outline-offset:2px}input:focus-visible{outline:none}.brand-lockup,.section-title,.transaction-actions,.transaction-main,.voice-head{display:flex;align-items:center}.brand-lockup{gap:11px}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(52,211,153,.5);border-radius:10px;color:var(--green);background:rgba(5,150,105,.12);overflow:hidden}.brand-logo-image{display:block;width:100%;height:100%;border-radius:22%;-o-object-fit:contain;object-fit:contain}.brand-name{margin:0;font-size:16px;font-weight:700}.brand-subtitle,.data-note,.ledger-caption,.section-meta,.transaction-date{color:var(--muted);font-size:12px}.brand-subtitle{margin:2px 0 0}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:rgba(15,23,42,.64);transition:color .18s ease,background .18s ease,border-color .18s ease}.icon-button:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-hover)}.icon-button.danger:hover{color:var(--red);border-color:rgba(251,113,133,.42)}.toast-container{position:fixed;top:30px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:calc(100vw - 32px);width:420px}.toast-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08);pointer-events:auto;animation:toast-slide-in .3s cubic-bezier(.16,1,.3,1);border:1px solid var(--theme-border,rgba(0,0,0,.06));background:var(--theme-surface,#fff);color:var(--theme-text,#1f2937)}.toast-closing{animation:toast-slide-out .3s cubic-bezier(.4,0,1,1) forwards}.toast-icon{flex-shrink:0}.toast-content{flex:1;font-size:14px;font-weight:500;line-height:1.5;word-break:break-word}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--theme-muted,#6b7280);cursor:pointer;transition:background .15s,color .15s}.toast-close:hover{background:var(--theme-soft,rgba(0,0,0,.05));color:var(--theme-text,#1f2937)}.toast-success .toast-icon{color:var(--theme-primary,#059669)}.toast-error .toast-icon{color:var(--adm-color-danger,#d9485f)}.toast-warning .toast-icon{color:var(--adm-color-warning,#d99218)}.toast-info .toast-icon{color:var(--theme-primary,#087d73)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.96)}}@media (max-width:480px){.toast-container{top:48px;width:calc(100vw - 16px)}}.auth-shell{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at 12% 18%,rgba(30,64,175,.35),transparent 34%),#0b1120}.auth-layout{display:grid;width:min(900px,100%);grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);background:#101a34;box-shadow:0 28px 80px rgba(2,6,23,.46)}.auth-intro{display:flex;flex-direction:column;justify-content:space-between;min-height:480px;padding:36px;background:linear-gradient(150deg,#1e3a8a,#10214a 58%,#0b1530)}.auth-title{max-width:11ch;margin:20px 0 0;font-size:34px;line-height:1.08}.auth-description{max-width:28ch;margin:16px 0 0;color:#b8c9e6;line-height:1.6}.auth-status{color:#93c5fd;font-family:Fira Code,monospace;font-size:12px}.auth-form-wrap{padding:36px}.auth-form-title{margin:0;font-size:22px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:24px 0}.auth-form{display:grid;gap:16px}.field-label{display:grid;gap:7px;color:#c6d2e7;font-size:13px}.auth-submit{min-height:44px;border:0;border-radius:7px;color:#06281f;background:var(--green);font-weight:700;transition:background .18s ease,transform .18s ease}.auth-submit:hover{background:#6ee7b7;transform:translateY(-1px)}.auth-shell{padding:24px}.auth-layout{width:min(920px,100%);grid-template-columns:minmax(300px,.88fr) minmax(360px,1.12fr)}.auth-intro{min-height:548px;padding:42px 38px}.auth-title{max-width:12ch;margin-top:28px;font-size:38px;line-height:1.14}.auth-description{max-width:26ch;font-size:15px}.auth-trust{display:flex;align-items:center;gap:9px;color:#b8c9e6;font-size:13px}.auth-trust svg{color:var(--green)}.auth-form-wrap{padding:42px 38px}.auth-form-heading h2{margin:0;font-size:26px;line-height:1.2}.auth-form-heading p:last-child{margin:10px 0 0;color:var(--muted);font-size:14px}.auth-kicker{margin:0 0 8px;color:#7dd3fc;font:500 11px Fira Code,monospace}.auth-tabs{margin:30px 0 24px;padding:4px;border:1px solid var(--line);border-radius:8px;background:rgba(8,15,31,.5)}.auth-tabs button{min-height:40px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-weight:600;transition:color .18s ease,background .18s ease}.auth-tabs button:hover{color:var(--ink)}.auth-tabs button.is-active{color:#06281f;background:var(--green)}.auth-field{display:grid;gap:7px}.auth-field-label{display:flex;align-items:center;gap:8px;color:#c6d2e7;font-size:13px;font-weight:500}.auth-field-label svg{color:#7dd3fc}.auth-input-wrap{display:flex;min-height:46px;border:1px solid var(--line-strong);border-radius:7px;background:#0d172d;transition:border-color .18s ease,box-shadow .18s ease}.auth-input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.24)}.auth-input-wrap.has-error{border-color:var(--red)}.auth-input-wrap input{width:100%;min-width:0;border:0;outline:0;border-radius:7px;color:var(--ink);background:transparent;padding:0 13px}.auth-input-wrap input::-moz-placeholder{color:#71809b}.auth-input-wrap input::placeholder{color:#71809b}.auth-password-wrap input{padding-right:2px}.auth-input-wrap:has(.email-code-button) input{padding-right:8px}.email-code-button{min-width:112px;margin:5px;border:0;border-radius:5px;color:#fff;background:#1266d4;font-size:13px;font-weight:600;transition:background .18s ease,opacity .18s ease}.email-code-button:hover:not(:disabled){background:#0f55b5}.email-code-button:disabled{cursor:not-allowed;opacity:.55}.password-visibility{display:grid;width:46px;flex:0 0 46px;place-items:center;border:0;border-radius:7px;color:var(--muted);background:transparent;transition:color .18s ease,background .18s ease}.password-visibility:hover{color:var(--ink);background:hsla(0,0%,100%,.05)}.auth-field-error{color:#fda4af;font-size:12px;line-height:1.4}.auth-submit{margin-top:4px;min-height:46px}.auth-submit:disabled{cursor:wait;opacity:.68;transform:none}@media (max-width:640px){.auth-shell{padding:0}.auth-layout{min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0}.auth-intro{padding:28px 24px}.auth-title{margin-top:16px;font-size:29px}.auth-status{margin-top:28px}.auth-form-wrap{padding:28px 24px}.auth-intro{min-height:auto}.auth-form-heading h2{font-size:24px}}.finance-app{min-height:100svh;color:#173b39;background:#e3f4ed}.finance-header{position:sticky;z-index:80;top:14px;gap:20px;width:min(1400px,calc(100% - 48px));min-height:62px;margin:0 auto}.finance-brand,.finance-header{display:flex;align-items:center;background:transparent}.finance-brand{flex:0 0 auto;gap:10px;padding:0;border:0;color:#163b38;text-align:left}.finance-brand .brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;color:#fff;background:#09bfae}.finance-brand b,.finance-brand small{display:block}.finance-brand b{font-size:15px}.finance-brand small{margin-top:2px;color:#76938c;font:10px Fira Code,monospace}.finance-header nav{display:flex;align-items:center;gap:3px;margin-left:auto;padding:5px;border:1px solid rgba(202,225,216,.92);border-radius:10px;background:rgba(251,255,253,.9);box-shadow:0 10px 24px rgba(31,81,68,.13);backdrop-filter:blur(16px)}.nav-item{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:0;border-radius:7px;color:#55736c;background:transparent;font-size:14px;font-weight:650;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.nav-item:hover{color:#087d73;background:#eefaf6}.nav-item.active{color:#076f66;background:#dff4ec;box-shadow:inset 0 0 0 1px rgba(93,197,174,.34)}.nav-item:focus-visible{outline:3px solid rgba(8,125,115,.35);outline-offset:2px}.header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.finance-app .icon-button{display:grid;width:38px;height:38px;place-items:center;color:#45675f}.finance-app .icon-button,.profile-button{border:1px solid #c6e0d7;border-radius:8px;background:#fff}.profile-button{display:inline-flex;align-items:center;gap:7px;min-height:38px;max-width:160px;padding:0 11px;color:#315b52;overflow:hidden}.profile-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-content{width:min(1400px,calc(100% - 48px));margin:0 auto;padding:38px 0 64px}.page-heading,.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 22px}.page-heading p,.section-heading p{margin:0 0 5px;color:#718d85;font-size:13px}.page-heading h1,.section-heading h2{margin:0;color:#163b38;font-size:30px;line-height:1.15}.primary-command{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:0;border-radius:7px;color:#fff;background:#08af9f;font-weight:700}.home-hero{justify-content:space-between;gap:30px;padding:32px 34px;border:1px solid #bde2d5;border-radius:10px;background:#d2f2e8}.home-hero,.page-kicker{display:flex;align-items:center}.page-kicker{gap:7px;margin:0;color:#39766b;font-size:13px}.home-hero h1{margin:12px 0 8px;font-size:34px}.home-hero p:last-child{margin:0;color:#53786f}.budget-orbit{position:relative;display:grid;width:132px;height:132px;flex:0 0 132px;place-content:center;border:0;border-radius:50%;color:#163b38;background:#e5f8f2;overflow:hidden}.budget-orbit span,.budget-orbit strong{z-index:1}.budget-orbit strong{font:700 28px Fira Code,monospace}.budget-orbit span{margin-top:3px;color:#57766f;font-size:12px}.budget-orbit i,.budget-ring i{position:absolute;inset:0;border-radius:inherit;background:conic-gradient(#09bfae var(--budget),#b2d9ce 0);-webkit-mask:radial-gradient(transparent 58%,#000 60%);mask:radial-gradient(transparent 58%,#000 60%)}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border:1px solid #c3dfd5;border-radius:8px;overflow:hidden;background:#fafffd}.summary{min-height:105px;padding:20px 24px;border-right:1px solid #d9ebe4}.summary:last-child{border-right:0}.summary p{margin:0;color:#68857d;font-size:13px}.summary strong{display:block;margin-top:10px;font:600 25px Fira Code,monospace}.summary.income strong{color:#0b9b62}.summary.expense strong{color:#e95460}.summary.balance strong{color:#087d73}.analysis-grid,.home-grid,.settings-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:20px}.asset-panel,.budget-panel,.finance-app .surface{min-width:0;border:1px solid #c6e0d7;border-radius:8px;background:#fbfffd;box-shadow:0 8px 22px rgba(35,91,74,.06)}.surface-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:0 20px;border-bottom:1px solid #dfede7}.surface-title h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.surface-title h2 svg{color:#08a998}.surface-title span{color:#78948d;font:11px Fira Code,monospace}.quick-entry{padding-bottom:18px}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 20px 0;padding:4px;border-radius:8px;background:#edf7f3}.type-switch button{min-height:38px;border:0;border-radius:6px;color:#6d8780;background:transparent;font-weight:700}.type-switch .expense.active{color:#cb4753;background:#ffe9ea}.type-switch .income.active{color:#087d58;background:#ddf7e8}.entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px}.budget-panel label,.entry-fields label,.profile-settings label{display:grid;gap:6px;color:#56756c;font-size:12px;font-weight:600}.entry-fields select{min-height:42px;border:1px solid #c6ddd4;border-radius:7px;color:#173b39;background:#fff;padding:0 10px}.voice-card{padding-bottom:20px}.voice-card>p{margin:18px 20px;color:#67827b;line-height:1.6}.voice-input{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0 20px}.voice-start{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);min-height:42px;margin:12px 20px 0;border:1px solid #91d9cf;border-radius:7px;color:#087d73;background:#effbf7;font-weight:700}.voice-result{display:grid;gap:6px;margin:14px 20px 0;padding:13px;border-radius:7px;background:#eefaf6}.voice-result span{color:#638078;font-size:12px}.section-heading{margin-top:32px}.section-heading h2{font-size:21px}.search-field{display:flex;align-items:center;gap:8px;min-height:40px;width:min(280px,100%);padding:0 11px;border:1px solid #c7ddd5;border-radius:7px;color:#76918a;background:#fff}.search-field input{width:100%;border:0;outline:0;color:#173b39;background:transparent}.transaction-list{overflow:hidden}.transaction-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;min-height:74px;padding:12px 20px;border-bottom:1px solid #e0eee8}.transaction-item:last-child{border:0}.transaction-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:8px}.transaction-icon.expense{color:#db5661;background:#ffebec}.transaction-icon.income{color:#07865c;background:#def8ec}.transaction-item b,.transaction-item small{display:block}.transaction-item small{margin-top:4px;color:#748e87;font-size:12px}.transaction-item strong{font-family:Fira Code,monospace}.transaction-item strong.income{color:#07865c}.transaction-item strong.expense{color:#dc5460}.text-danger,.transaction-item button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:6px;color:#9a7777;background:transparent}.text-danger:hover,.transaction-item button:hover{color:#db4b58;background:#fff0f1}.automatic-transaction-badge{display:inline-block;margin-left:7px;padding:1px 5px;border:1px solid #9bd7c5;border-radius:4px;color:#087d73;background:#eaf8f2;font-size:10px;font-weight:600;line-height:16px;vertical-align:1px}.analysis-grid{grid-template-columns:repeat(2,1fr)}.chart-card>div:last-child{height:310px;padding:16px}.insight-card{display:grid;gap:11px;margin-top:20px;padding-bottom:18px}.insight-card>p,.insight-card>span{margin:0 20px;color:#4b6f65;line-height:1.65}.insight-card>span{padding:10px 12px;border-radius:6px;background:#eef9f5;font-size:13px}.stats-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 20px;padding:14px;border:1px solid #c6e0d7;border-radius:8px;background:#fbfffd;box-shadow:0 8px 22px rgba(35,91,74,.06)}.stats-filter-mode{display:flex;gap:3px;padding:3px;border-radius:7px;background:#e8f5f0}.stats-filter-mode button{min-height:38px;padding:0 13px;border:0;border-radius:5px;color:#638078;background:transparent;font-size:13px;font-weight:700}.stats-filter-mode button.active{color:#087d73;background:#fff;box-shadow:0 1px 4px rgba(35,91,74,.13)}.stats-filter-field{display:grid;gap:5px;min-width:148px;color:#668178;font-size:12px;font-weight:700}.stats-filter-field input,.stats-filter-field select{min-height:38px;border:1px solid #c4ddd4;border-radius:7px;color:#173b39;background:#fff;padding:0 10px;font:600 13px Fira Sans,Microsoft YaHei,sans-serif}.stats-range-fields{display:flex;align-items:end;gap:8px}.stats-range-divider{padding-bottom:10px;color:#78948d;font-size:13px}.stats-ledger-field{margin-left:auto}.chart-card .chart-empty{display:grid;height:100%;margin:0;place-items:center;color:#78948d;font-size:14px}.asset-panel{display:grid;gap:7px;padding:25px 28px;background:#d5f3e9}.asset-panel p,.asset-panel span{margin:0;color:#547a70}.asset-panel strong{font:700 38px Fira Code,monospace}.asset-panel span{font-size:13px}.inline-create{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:20px;padding:16px 20px}.inline-create .surface-title{grid-column:1/-1;margin:-16px -20px 0}.inline-create>div{display:flex;gap:8px}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.account-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:18px}.account-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#087d73;background:#d8f4ec}.account-card h3,.account-card p{margin:0}.account-card p{margin-top:4px;color:#6e8981;font-size:12px}.account-card strong{font:600 17px Fira Code,monospace}.account-card strong.negative{color:#da5160}.category-panel{margin-top:20px}.category-chips{display:flex;flex-wrap:wrap;gap:9px;padding:18px 20px}.category-chips span{padding:7px 10px;border-radius:99px;font-size:13px}.category-chips .expense{color:#ca4d58;background:#ffebed}.category-chips .income{color:#087b58;background:#ddf8ea}.budget-panel{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:center;padding:28px}.budget-ring{position:relative;display:grid;width:180px;aspect-ratio:1;place-content:center;border-radius:50%;background:#e6f6f0;text-align:center;overflow:hidden}.budget-ring span,.budget-ring strong{z-index:1}.budget-ring strong{font:700 35px Fira Code,monospace}.budget-ring span{color:#608078}.budget-panel>div:last-child{display:grid;gap:13px}.budget-panel p{display:flex;justify-content:space-between;gap:15px;margin:0;color:#668178}.budget-panel p b{color:#173b39;font-family:Fira Code,monospace}.budget-panel label{max-width:360px;margin-top:7px}.budget-note{display:flex;align-items:center;gap:13px;margin-top:20px;padding:20px}.budget-note svg{color:#08aa99}.budget-note h3,.budget-note p{margin:0}.budget-note p{margin-top:4px;color:#708b84;font-size:13px}.profile-settings{display:grid;gap:15px;padding:0 20px 20px}.profile-settings .surface-title{margin:0 -20px}.settings-list{overflow:hidden}.setting-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:0 20px;border-bottom:1px solid #e1eee9;color:#4d7067}.setting-row:last-child{border-bottom:0}.setting-row-label{flex:1 1 auto}.setting-row b{flex:0 0 auto;margin-left:auto;color:#087d73;font-family:Fira Code,monospace;text-align:right;white-space:nowrap}.empty-copy{margin:0;padding:30px;color:#79938c;font-size:14px;text-align:center}@media (max-width:900px){.finance-header{gap:12px;width:min(calc(100% - 28px),760px)}.finance-header nav{overflow-x:auto}.finance-brand small,.profile-button span{display:none}.home-grid,.settings-grid{grid-template-columns:1fr}.account-grid{grid-template-columns:repeat(2,1fr)}.finance-content{width:min(100% - 28px,760px);padding-top:24px}}@media (max-width:640px){.finance-header{top:8px;min-height:54px;gap:8px;width:min(calc(100% - 20px),760px)}.finance-brand{display:none}.finance-header nav{flex:1;min-width:0;padding:4px}.nav-item{flex:0 0 auto;min-height:40px;padding:0 11px;font-size:13px}.header-tools{margin-left:0}.home-hero{padding:23px}.home-hero h1{font-size:27px}.budget-orbit{width:98px;height:98px;flex-basis:98px}.budget-orbit strong{font-size:21px}.summary-strip{grid-template-columns:1fr}.summary{min-height:74px;padding:13px 17px;border-right:0;border-bottom:1px solid #d9ebe4}.summary strong{margin-top:5px;font-size:21px}.analysis-grid,.entry-fields{grid-template-columns:1fr}.stats-filter-bar,.stats-range-fields{align-items:stretch;flex-direction:column}.stats-filter-bar{gap:12px}.stats-filter-field,.stats-ledger-field{width:100%;margin-left:0}.stats-range-divider{display:none}.page-heading h1{font-size:26px}.section-heading{align-items:start;flex-direction:column}.search-field{width:100%}.account-grid,.budget-panel{grid-template-columns:1fr}.budget-panel{gap:22px}.budget-ring{width:150px}.inline-create{grid-template-columns:1fr}.inline-create>div{justify-content:end}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.home-view{display:flex;flex-direction:column}.home-view .home-hero{order:1}.home-view .summary-strip{order:2}.home-view .section-heading{order:3;margin-top:24px}.home-view .transaction-list{order:4}.home-fab-stack{position:fixed;z-index:40;right:max(24px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px}.home-fab{position:relative;display:grid;width:62px;height:62px;place-items:center;border:0;border-radius:50%;color:#fff;box-shadow:0 12px 28px rgba(19,73,62,.25);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.home-fab:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(19,73,62,.3)}.home-fab:focus-visible{outline:3px solid #0b7d73;outline-offset:4px}.home-fab.entry,.home-fab.voice,.home-fab.voice.listening{background:#11a99a}.home-fab.voice i{position:absolute;inset:-5px;border:2px solid #11a99a;border-radius:50%;animation:voice-pulse 1.3s ease-out infinite}.home-view .summary-strip{margin-bottom:8px}.voice-listening-panel{position:fixed;z-index:41;right:max(24px,env(safe-area-inset-right));bottom:104px;width:min(360px,calc(100vw - 48px));padding:16px;border:1px solid #9edacc;border-radius:10px;background:rgba(251,255,253,.97);box-shadow:0 16px 36px rgba(21,79,66,.2);backdrop-filter:blur(14px)}.voice-listening-status{display:flex;align-items:center;gap:11px}.voice-listening-status>span{display:flex;align-items:center;gap:3px;width:34px;height:34px;justify-content:center;border-radius:50%;background:#d8f4ec}.voice-listening-status i{width:3px;height:12px;border-radius:99px;background:#087d73;animation:voice-level .8s ease-in-out infinite alternate}.voice-listening-status i:nth-child(2){height:20px;animation-delay:.16s}.voice-listening-status i:nth-child(3){height:8px;animation-delay:.3s}.voice-listening-status b,.voice-listening-status small{display:block}.voice-listening-status b{color:#173b39;font-size:14px}.voice-listening-status small{margin-top:2px;color:#69867d;font-size:12px}.voice-listening-panel p{min-height:52px;margin:14px 0;color:#315b52;font-size:14px;line-height:1.7}.voice-listening-panel p em{display:inline-block;width:2px;height:16px;margin-left:2px;vertical-align:-3px;background:#087d73;animation:voice-caret .9s step-end infinite}.voice-listening-panel button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;border:1px solid #b6dcd1;border-radius:7px;color:#426960;background:#f2fbf7;font-weight:700}.voice-listening-panel button:hover{color:#075e57;border-color:#7ccbb9;background:#e2f6ee}.voice-listening-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.voice-listening-panel .voice-finish-button{border-color:#087d73;color:#fff;background:#087d73}.voice-listening-panel .voice-finish-button:hover{color:#fff;background:#075e57}.voice-parsing-spinner svg{animation:voice-spin 1s linear infinite}@keyframes voice-pulse{0%{transform:scale(.78);opacity:.9}to{transform:scale(1.22);opacity:0}}@keyframes voice-level{0%{transform:scaleY(.55);opacity:.55}to{transform:scaleY(1);opacity:1}}@keyframes voice-caret{50%{opacity:0}}@keyframes voice-spin{to{transform:rotate(1turn)}}.entry-dialog-overlay,.voice-result-overlay{position:fixed;z-index:105;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.45);backdrop-filter:blur(5px)}.entry-dialog{width:min(540px,100%);max-height:calc(100svh - 40px);overflow:auto;border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.entry-dialog>header{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 22px;border-bottom:1px solid #cde6dc}.entry-dialog h2,.entry-dialog p{margin:0}.entry-dialog h2{color:#173b39;font-size:25px}.entry-dialog>header p{margin-top:3px;color:#6d8a81;font:12px Fira Code,monospace}.entry-dialog>header button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#41665d;background:#d1e9df}.entry-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:18px 22px 0;padding:4px;border-radius:8px;background:#d8eee6}.entry-type-switch button{min-height:40px;border:0;border-radius:6px;color:#668279;background:transparent;font-weight:700}.entry-type-switch .expense.active{color:#cb4753;background:#ffe9ea}.entry-type-switch .income.active{color:#087d58;background:#ddf7e8}.entry-dialog-amount{display:flex;align-items:center;justify-content:center;gap:8px;min-height:132px;margin:18px 22px 0;border:1px solid #c7dfd5;border-radius:9px;background:#fbfffd}.entry-dialog-amount span{font:700 32px Fira Code,monospace}.entry-dialog-fields,.entry-dialog-note{display:grid;margin:18px 22px 0;border:1px solid #c7dfd5;border-radius:9px;background:#fbfffd}.entry-dialog-fields>button{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:0 15px;border:0;border-bottom:1px solid #dcebe5;color:#648078;background:transparent;text-align:left}.entry-dialog-fields>button:last-child{border-bottom:0}.entry-dialog-fields b{overflow:hidden;color:#087d73;font-family:Fira Code,monospace;text-align:right;text-overflow:ellipsis;white-space:nowrap}.entry-dialog-note{gap:7px;padding:14px}.entry-dialog-note span{color:#648078;font-size:13px}.entry-dialog footer{margin-top:20px;padding:18px 22px;border-top:1px solid #cde6dc;background:#fbfffd}.voice-result-dialog{position:relative;width:min(410px,100%);padding:34px 28px 30px;border:1px solid #b8ddd1;border-radius:10px;background:#fbfffd;box-shadow:0 28px 72px rgba(16,54,48,.28);text-align:center}.voice-result-close{position:absolute;top:14px;right:14px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#52766d;background:#e7f4ee}.voice-result-close:hover{color:#075e57;background:#d8eee5}.voice-result-mark{display:grid;width:62px;height:62px;margin:0 auto 12px;place-items:center;border-radius:50%;color:#078a5e;background:#dff7ed}.voice-result-dialog>p{margin:0;color:#087d73;font-size:22px;font-weight:700}.voice-result-dialog>h2{margin:8px 0 23px;color:#173b39;font-size:25px;line-height:1.32;overflow-wrap:anywhere}.voice-result-dialog dl{display:grid;gap:0;margin:0;border:1px solid #c7dfd5;border-radius:8px;background:#f8fffc;text-align:left}.voice-result-dialog dl>div{display:grid;grid-template-columns:70px 1fr;gap:12px;min-height:46px;align-items:center;padding:0 14px;border-bottom:1px solid #dcebe5}.voice-result-dialog dl>div:last-child{border-bottom:0}.voice-result-dialog dt{color:#6c8980}.voice-result-dialog dd{margin:0;color:#173b39;font-weight:700}.voice-result-dialog dd.expense{color:#d95360}.voice-result-dialog dd.income{color:#078a5e}.voice-result-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:22px}.voice-result-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;border-radius:8px;font-weight:700}.voice-edit-action{border:1px solid #a9d7ca;color:#087d73;background:#effaf6}.voice-confirm-action{border:1px solid #087d73;color:#fff;background:#087d73;box-shadow:0 8px 17px rgba(25,80,69,.18)}.voice-confirm-action:hover{background:#075e57}.calendar-overlay,.category-overlay,.choice-overlay{z-index:120}@media (max-width:640px){.home-view .section-heading{margin-top:20px}.home-fab-stack{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));gap:10px}.home-fab{width:58px;height:58px}.entry-dialog-overlay{align-items:center;padding:14px}.voice-result-overlay{align-items:center;padding:16px}.entry-dialog{max-height:calc(100svh - 20px);border-radius:12px}.voice-result-dialog{width:min(410px,100%);max-height:calc(100svh - 32px);overflow:auto;border-radius:10px;padding:28px 20px 25px}.entry-dialog>header{padding-right:16px;padding-left:16px}.entry-dialog-amount,.entry-dialog-fields,.entry-dialog-note,.entry-type-switch{margin-right:16px;margin-left:16px}.entry-dialog footer{padding-right:16px;padding-left:16px}}.finance-app .date-select-button{display:flex;align-items:center;width:100%;min-height:42px;gap:9px;padding:0 11px;border:1px solid #c6ddd4;border-radius:7px;color:#173b39;background:#fff;font-variant-numeric:tabular-nums;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.finance-app .date-select-button svg:first-child{flex:0 0 auto;color:#087d73}.finance-app .date-select-button span{flex:1}.finance-app .date-select-button svg:last-child{color:#6f8b83}.finance-app .date-select-button:hover{border-color:#8acabd;background:#fafffd}.finance-app .date-select-button:focus-visible{border-color:#087d73;outline:0;box-shadow:0 0 0 3px rgba(8,125,115,.14)}@media (min-width:641px){body:has(.entry-dialog-overlay),html:has(.entry-dialog-overlay){overflow:hidden;overscroll-behavior:none}}@media (max-width:640px){body:has(.entry-dialog-overlay),html:has(.entry-dialog-overlay){overflow:hidden;overscroll-behavior:none}}@media (max-width:640px){body:has(.budget-category-overlay),body:has(.budget-dialog-overlay),body:has(.total-budget-overlay),html:has(.budget-category-overlay),html:has(.budget-dialog-overlay),html:has(.total-budget-overlay){overflow:hidden;overscroll-behavior:none}}@media (min-width:641px){body:has(.budget-category-overlay),body:has(.budget-dialog-overlay),body:has(.total-budget-overlay),html:has(.budget-category-overlay),html:has(.budget-dialog-overlay),html:has(.total-budget-overlay){overflow:hidden;overscroll-behavior:none}}.auth-shell{min-height:100svh;padding:32px;background:#f4f8fc;color:#13233c}.auth-layout{width:min(1080px,100%);min-height:650px;grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);border:1px solid #dce7f3;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 22px 55px rgba(45,78,118,.14)}.auth-intro{min-height:650px;padding:54px;color:#13233c;background:#dff1ff}.auth-intro .brand-mark{border-color:#b7d7f3;color:#1266d4;background:#fff}.auth-intro .brand-name{color:#13233c}.auth-intro .brand-subtitle{color:#647b96}.auth-title{max-width:10ch;margin-top:36px;font-size:42px;line-height:1.12}.auth-description{margin-top:16px;color:#48637f;font-size:16px}.auth-ledger-visual{display:grid;gap:15px;width:min(370px,100%);margin-top:34px;padding:22px;border:1px solid #c6def1;border-radius:10px;background:#fff;box-shadow:0 16px 28px rgba(48,104,156,.12)}.auth-art-header,.auth-art-row,.auth-art-total{display:flex;align-items:center}.auth-art-header{gap:6px}.auth-art-header span{width:7px;height:7px;border-radius:50%;background:#9eb6ca}.auth-art-header span:first-child{background:#fb7185}.auth-art-header span:nth-child(2){background:#fbbf24}.auth-art-header span:last-child{background:#34d399}.auth-art-rule{height:1px;background:#e5edf5}.auth-art-row{gap:10px;min-height:22px}.art-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%}.art-dot-coral{background:#fb7185}.art-dot-blue{background:#3b82f6}.art-dot-green{background:#34d399}.auth-art-row b{width:42%;height:7px;border-radius:4px;background:#dbe8f4}.auth-art-row em{width:23%;height:7px;margin-left:auto;border-radius:4px;background:#c6d9ea}.auth-art-total{justify-content:space-between;padding-top:13px;border-top:1px solid #e5edf5}.auth-art-total span{width:30%;height:7px;border-radius:4px;background:#9cb8d2}.auth-art-total strong{width:34%;height:11px;border-radius:5px;background:#34d399}.auth-trust{color:#48637f}.auth-trust svg{color:#1266d4}.auth-form-wrap{padding:58px 52px;background:#fff}.auth-form-heading h2{color:#13233c;font-size:30px}.auth-form-heading p:last-child{color:#667d96}.auth-tabs{margin:34px 0 26px;border-color:#dce7f3;background:#f4f8fc}.auth-tabs button{color:#667d96}.auth-tabs button:hover{color:#13233c;background:#e8f2fb}.auth-tabs button.is-active{color:#fff;background:#1266d4}.auth-field-label{color:#314b67}.auth-field-label svg{color:#1266d4}.auth-input-wrap{min-height:48px;border-color:#c9d9e8;background:#fff}.auth-input-wrap:focus-within{border-color:var(--theme-primary,#087d73);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary,#087d73) 15%,transparent)}.auth-input-wrap.has-error{border-color:#e11d48}.auth-input-wrap input{color:#13233c}.auth-input-wrap input::-moz-placeholder{color:#8194a8}.auth-input-wrap input::placeholder{color:#8194a8}.auth-input-wrap input:-webkit-autofill,.auth-input-wrap input:-webkit-autofill:focus,.auth-input-wrap input:-webkit-autofill:hover{-webkit-text-fill-color:#13233c;box-shadow:inset 0 0 0 1000px #fff;caret-color:#13233c}.password-visibility{color:#647b96}.password-visibility:hover{color:#1266d4;background:#edf5fc}.auth-field-error{color:#be123c}.auth-submit{min-height:48px;color:#fff;background:#1266d4}.auth-submit:hover{background:#0f55b5}@media (max-width:760px){.auth-shell{display:block;padding:0;background:#fff}.auth-layout{min-height:100svh;grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}.auth-intro{min-height:auto;padding:28px 24px 20px;background:#dff1ff}.auth-title{max-width:none;margin-top:22px;font-size:31px}.auth-description{margin-bottom:0;font-size:14px}.auth-ledger-visual{display:none}.auth-trust{margin-top:20px}.auth-form-wrap{padding:28px 24px 44px}.auth-form-heading h2{font-size:26px}.auth-tabs{margin:24px 0 22px}.email-code-button{min-width:102px;font-size:12px}}.category-select-button{display:flex;align-items:center;justify-content:space-between;min-height:42px;width:100%;padding:0 11px;border:1px solid #c6ddd4;border-radius:7px;color:#173b39;background:#fff;text-align:left}.budget-page-actions{display:flex;align-items:center;gap:9px}.budget-period-toggle{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #c7ddd5;border-radius:8px;background:#f7fcfa}.budget-period-toggle button{min-width:54px;min-height:34px;border:0;border-radius:6px;color:#668279;background:transparent;font-size:13px;font-weight:700}.budget-period-toggle button.active{color:#087d73;background:#dff5ed;box-shadow:0 1px 2px rgba(35,91,74,.08)}.budget-add-button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:8px;color:#fff;background:#08af9f;box-shadow:0 5px 12px rgba(8,175,159,.22)}.budget-add-button:hover{background:#078f82}.budget-overview{margin-bottom:28px;grid-template-columns:minmax(0,1fr) 220px}.budget-overview>.budget-overview-ring{order:2;justify-self:end}.budget-readonly{max-width:400px;padding:10px 12px;border:1px solid #e6d19d;border-radius:7px;background:#fff8e8;color:#796134!important;font-size:12px;line-height:1.55}.budget-items-section{margin-top:4px}.budget-items-section .section-heading{margin:0 0 14px}.budget-items-add{display:none}.budget-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.budget-item-card{min-width:0;padding:17px;border:1px solid #c8e0d7;border-radius:8px;background:#fbfffd;box-shadow:0 7px 18px rgba(35,91,74,.05)}.budget-item-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.budget-category-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;color:#087d73;background:#daf4eb}.budget-item-head b,.budget-item-head small{display:block}.budget-item-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173b39}.budget-item-head small{margin-top:3px;color:#77928a;font-size:11px}.budget-item-head button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:6px;color:#8a7777;background:transparent}.budget-item-head button:hover{color:#d54e59;background:#fff0f1}.budget-item-amount{margin-top:20px;color:#77928a;font-family:Fira Code,monospace}.budget-item-amount strong{color:#173b39;font-size:20px}.budget-progress{height:7px;margin-top:13px;overflow:hidden;border-radius:4px;background:#e3efe9}.budget-progress i{display:block;height:100%;border-radius:inherit;background:#10b99f}.budget-item-card p{margin:9px 0 0;color:#708a82;font-size:11px}.budget-empty{display:grid;min-height:176px;grid-column:1/-1;justify-items:center;align-content:center;gap:9px;border:1px dashed #b7d9ce;border-radius:8px;color:#6b897f;background:#f8fffc;text-align:center}.budget-empty svg{color:#08aa99}.budget-empty b{color:#315c52}.budget-empty span{font-size:13px}.budget-empty button{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:5px;padding:0 12px;border:0;border-radius:7px;color:#087d73;background:#ddf5ed;font-weight:700}.budget-dialog-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.36);backdrop-filter:blur(4px)}.budget-dialog{width:min(440px,100%);border:1px solid #b9ddd1;border-radius:9px;background:#f9fffc;box-shadow:0 24px 62px rgba(16,54,48,.25)}.budget-dialog header{display:flex;align-items:start;justify-content:space-between;padding:21px 22px 17px;border-bottom:1px solid #dcece6}.budget-dialog header p{margin:0;color:#729087;font-size:12px}.budget-dialog header h2{margin:4px 0 0;color:#173b39;font-size:22px}.budget-dialog header>button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;color:#53746b;background:#e1f1eb;font-size:23px}.budget-dialog-derived,.budget-dialog>label{display:grid;gap:7px;margin:18px 22px 0;color:#53746b;font-size:13px;font-weight:700}.budget-dialog select{min-height:42px;padding:0 10px;border:1px solid #c6ddd4;border-radius:7px;color:#173b39;background:#fff}.budget-dialog-period{display:grid;grid-template-columns:1fr 1fr;gap:7px}.budget-dialog-period button{min-height:40px;border:1px solid #c7ddd5;border-radius:7px;color:#668279;background:#fff;font-weight:700}.budget-dialog-period button.active{border-color:#77cdbd;color:#087d73;background:#e0f6ee}.budget-dialog-derived{padding:14px;border:1px solid #e6d19d;border-radius:7px;background:#fff9eb}.budget-dialog-derived strong{color:#6d501d;font:700 22px Fira Code,monospace}.budget-dialog-derived small{color:#806a3b;font-weight:400;line-height:1.5}.budget-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding:16px 22px;border-top:1px solid #dcece6}.budget-category-select{display:flex;align-items:center;justify-content:space-between;min-height:42px;width:100%;padding:0 11px;border:1px solid #c6ddd4;border-radius:7px;color:#173b39;background:#fff;text-align:left}.budget-category-overlay{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.36);backdrop-filter:blur(4px)}.budget-category-modal{width:min(560px,100%);border:1px solid #b9ddd1;border-radius:9px;background:#f9fffc;box-shadow:0 24px 62px rgba(16,54,48,.25)}.budget-category-modal header{display:flex;align-items:start;justify-content:space-between;padding:21px 22px 17px;border-bottom:1px solid #dcece6}.budget-category-modal header p{margin:0;color:#729087;font-size:12px}.budget-category-modal header h2{margin:4px 0 0;color:#173b39;font-size:22px}.budget-category-modal header>button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;color:#53746b;background:#e1f1eb;font-size:23px}.budget-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;padding:22px}.budget-category-grid button{display:grid;justify-items:center;gap:7px;min-height:94px;border:1px solid transparent;border-radius:8px;color:#46685f;background:transparent}.budget-category-grid button.selected,.budget-category-grid button:hover{border-color:#81d3c5;color:#087d73;background:#e8f8f3}.budget-category-grid button span{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;color:#087d73;background:#dcf5ec}.budget-category-grid button b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.budget-delete-button{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 44px);min-height:43px;margin:0 22px 20px;border:1px solid #efaaa9;border-radius:7px;color:#d9485f;background:#fff8f8;font-weight:700}.budget-delete-button:hover{border-color:#dd7a82;background:#fff0f1}.budget-dialog footer{align-items:center;justify-content:space-between;padding:18px 22px;background:#fbfffd}.budget-dialog footer .budget-dialog-cancel,.budget-dialog footer .budget-dialog-save{min-width:132px;min-height:46px;border-radius:8px;font-size:16px;font-weight:700}.budget-dialog footer .budget-dialog-cancel{border-color:#bfd8cf;color:#40675d;background:#fff}.budget-dialog footer .budget-dialog-cancel:hover{border-color:#77bda9;color:#087d73;background:#effaf6}.budget-dialog footer .budget-dialog-save{border:0;color:#fff;background:#08af9f;box-shadow:0 7px 16px rgba(8,175,159,.24)}.budget-dialog footer .budget-dialog-save:hover{background:#078f82;box-shadow:0 9px 20px rgba(8,143,130,.28)}.edit-total-budget-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:-moz-max-content;width:max-content;min-height:42px;margin-top:7px;padding:0 15px;border:1px solid #83cebe;border-radius:8px;color:#087d73;background:#e7f8f2;font-weight:700;justify-self:end}.edit-total-budget-button:hover{border-color:#0aab99;background:#d8f4eb}.budget-summary-spent b{color:#d94d5b!important}.budget-summary-total b{color:#1667c8!important}.budget-summary-remaining b{color:#087d58!important}.budget-summary-remaining.is-negative b{color:#d94d5b!important}.budget-overview.is-over-budget .budget-ring{background:#fff0f1}.budget-overview.is-over-budget .budget-ring i{background:conic-gradient(#e65562 var(--budget),#f2c2c6 0)}.budget-overview.is-over-budget .budget-ring strong{color:#d94d5b}.total-budget-overlay{position:fixed;z-index:85;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.38);backdrop-filter:blur(5px)}.total-budget-dialog{width:min(560px,100%);min-height:480px;padding:0 34px 28px;border:1px solid #b9ddd1;border-radius:10px;background:#e5f6ef;box-shadow:0 26px 70px rgba(16,54,48,.28)}.total-budget-dialog header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:104px}.total-budget-dialog header h2{margin:0;color:#173b39;font-size:27px;text-align:center}.total-budget-dialog header button{justify-self:end;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;color:#fff;background:#56746c;font-size:33px;line-height:1}.total-budget-dialog>p{margin:0 0 25px;color:#617f76;font-size:16px}.total-budget-dialog>label{display:flex;align-items:center;gap:13px;min-height:104px;padding:0 25px;border:1px solid #bdd8cf;border-radius:9px;background:#fafffd;box-shadow:0 7px 18px rgba(35,91,74,.06)}.total-budget-dialog>label>span{color:#617c74;font:700 28px Fira Code,monospace}.total-budget-save{min-height:56px;margin-top:58px;border-radius:9px;font-size:20px;font-weight:700;box-shadow:0 9px 20px rgba(8,175,159,.25)}.total-budget-clear{display:block;margin:23px auto 0;border:0;color:#dc4c59;background:transparent;font-size:17px;font-weight:700}.total-budget-clear:hover{color:#bd3644;text-decoration:underline}.budget-item-card.is-over-budget{border-color:#efb0b6;background:#fffafb}.budget-item-card.is-over-budget .budget-item-amount strong,.budget-item-card.is-over-budget p{color:#d94d5b}.budget-item-card.is-over-budget .budget-progress{background:#f8dadd}.budget-item-card.is-over-budget .budget-progress i{background:#e65562}.calendar-overlay,.choice-overlay,.transaction-edit-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.4);backdrop-filter:blur(5px)}.calendar-dialog{position:relative;width:min(700px,100%);padding:24px 28px 30px;border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.calendar-dialog header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}.calendar-dialog header button,.calendar-next,.calendar-prev{display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;color:#456a61;background:#f8fffc}.calendar-dialog header button{align-self:start;justify-self:end;transform:translateY(-8px)}.calendar-dialog header span{color:#648078;font-size:17px}.calendar-dialog h2{margin:4px 0 0;color:#173b39;font-size:34px}.calendar-next,.calendar-prev{position:absolute;top:74px}.calendar-prev{left:28px}.calendar-next{right:28px}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-weekdays{margin-top:36px;color:#607c74;font-weight:700}.calendar-weekdays span:first-child{color:#d95561}.calendar-days{gap:8px 4px;margin-top:16px}.calendar-days button{height:50px;border:0;border-radius:50%;color:#173b39;background:transparent;font-size:18px}.calendar-days button:hover{background:#dff4ec}.calendar-days button.selected{color:#fff;background:#08af9f}.calendar-days button.other-month{color:#9ab0a9}.choice-dialog{width:min(480px,100%);border:1px solid #b8ddd1;border-radius:10px;background:#f9fffc;box-shadow:0 28px 72px rgba(16,54,48,.28)}.choice-dialog header{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid #dcece6}.choice-dialog h2{margin:0;color:#173b39;font-size:22px}.choice-dialog header button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;color:#456a61;background:#e2f1eb}.choice-dialog>div{display:grid;gap:8px;padding:16px}.choice-dialog>div>button{min-height:48px;padding:0 14px;border:1px solid #c7dfd5;border-radius:8px;color:#315a50;background:#fff;text-align:left;font-weight:700}.choice-dialog>div>button.selected{border-color:#75d1bf;color:#087d73;background:#e1f6ee}.choice-dialog p{margin:8px;color:#718c84;text-align:center}.transaction-edit-dialog{width:min(600px,100%);border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.transaction-edit-dialog>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:0 22px}.transaction-edit-dialog>header h2{margin:0;color:#173b39;font-size:25px}.transaction-edit-dialog>header button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#456a61;background:#d1e9df}.transaction-edit-dialog>header .transaction-done{justify-self:end;width:auto;height:auto;color:#08a998;background:transparent;font-size:18px;font-weight:700}.transaction-edit-amount{display:flex;align-items:center;justify-content:center;gap:8px;min-height:140px;margin:0 22px;border:1px solid #c7dfd5;border-radius:9px;background:#fbfffd}.transaction-edit-amount span{font:700 32px Fira Code,monospace}.transaction-edit-fields,.transaction-edit-note{display:grid;margin:18px 22px 0;border:1px solid #c7dfd5;border-radius:9px;background:#fbfffd}.transaction-edit-fields>button,.transaction-edit-fields>label,.transaction-time-readonly{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:0 15px;border:0;border-bottom:1px solid #dcebe5;color:#648078;background:transparent;text-align:left}.transaction-edit-fields>button:last-child,.transaction-edit-fields>label:last-child,.transaction-time-readonly:last-child{border-bottom:0}.transaction-edit-fields b,.transaction-time-readonly b{justify-self:end;color:#087d73;font-family:Fira Code,monospace}.transaction-edit-note{gap:8px;padding:15px}.transaction-edit-note>span{color:#648078}.transaction-item strong{display:grid;justify-items:end}.all-records-list article strong small,.transaction-item .transaction-time{display:block;margin-top:4px;color:#78938b;font:11px Fira Code,monospace}.all-records-list article strong{display:grid;justify-items:end}.transaction-edit-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding:18px 22px;border-top:1px solid #cde5da;background:#fbfffd}.transaction-edit-dialog footer .transaction-edit-cancel,.transaction-edit-dialog footer .transaction-edit-save{min-width:132px;min-height:46px;border-radius:8px;font-size:16px;font-weight:700}.transaction-edit-dialog footer .transaction-edit-cancel{border-color:#bfd8cf;color:#40675d;background:#fff}.transaction-edit-dialog footer .transaction-edit-cancel:hover{border-color:#77bda9;color:#087d73;background:#effaf6}.transaction-edit-dialog footer .transaction-edit-save{border:0;color:#fff;background:#08af9f;box-shadow:0 7px 16px rgba(8,175,159,.24)}.transaction-edit-dialog footer .transaction-edit-save:hover{background:#078f82}.transaction-edit-delete{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 44px);min-height:43px;margin:0 22px 20px;border:1px solid #efaaa9;border-radius:7px;color:#d9485f;background:#fff8f8;font-weight:700}.transaction-edit-delete:hover{border-color:#dd7a82;background:#fff0f1}.transaction-edit-dialog footer{justify-content:flex-end}.transaction-edit-dialog>header button:last-child{justify-self:end}.transaction-edit-dialog footer .transaction-edit-save{width:100%}@media (max-width:640px){.calendar-overlay,.choice-overlay,.transaction-edit-overlay{align-items:center;padding:14px}.calendar-dialog,.choice-dialog,.transaction-edit-dialog{border-radius:12px}.calendar-dialog{width:min(700px,100%);max-height:calc(100svh - 20px);overflow:auto;padding:20px 16px 24px}.calendar-prev{left:16px}.calendar-days button{height:42px}.transaction-edit-amount{min-height:118px}.choice-overlay.choice-overlay-center{align-items:center}}.home-date-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;color:#39766b;background:transparent;font-size:13px}.home-date-button:hover{color:#087d73}.home-date-button svg:last-child{opacity:.7}.records-heading-actions{display:flex;align-items:center;gap:9px}.all-records-button{min-height:40px;padding:0 14px;border:1px solid #8bcbbc;border-radius:7px;color:#087d73;background:#e5f8f1;font-weight:700}.all-records-button:hover{border-color:#0aab99;background:#d8f4eb}.all-records-overlay{position:fixed;z-index:95;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.4);backdrop-filter:blur(5px)}.all-records-dialog{width:min(720px,100%);max-height:calc(100svh - 40px);overflow:auto;border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.all-records-dialog>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 22px;border-bottom:1px solid #cde6dc}.all-records-dialog>header h2{margin:0;color:#173b39;font-size:24px}.all-records-dialog>header button{justify-self:end;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#41665d;background:#d1e9df}.records-month-nav{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;padding:18px 30px 12px}.records-month-nav>button:not(.records-month-title){display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;color:#456a61;background:#f4fcf8}.records-month-nav>button:last-child{justify-self:end}.records-month-title{border:0;color:#173b39;background:transparent;font-size:25px;font-weight:700}.records-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 30px 16px}.records-filter button{min-height:40px;border:1px solid #bdd9cf;border-radius:8px;color:#628077;background:#fafffd;font-weight:700}.records-filter button.active{border-color:#75d1bf;color:#087d73;background:#d9f4eb}.records-filter button.active.expense{border-color:#f0a3aa;color:#d34b57;background:#ffeaec}.records-filter button.active.income{border-color:#82dbaa;color:#087b58;background:#e2f8eb}.records-month-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 30px 18px}.records-month-summary div{padding:13px 16px;border:1px solid #c7dfd5;border-radius:8px;background:#fafffd}.records-month-summary span,.records-month-summary strong{display:block}.records-month-summary span{color:#708b83;font-size:12px}.records-month-summary strong{margin-top:6px;font:700 22px Fira Code,monospace}.records-month-summary div:first-child strong{color:#df4e5b}.records-month-summary div:last-child strong{color:#078a5e}.all-records-list{padding:0 30px 28px}.all-records-list section{margin-top:18px}.all-records-list h3{margin:0 0 9px;color:#54766d;font-size:18px}.all-records-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:66px;margin-top:8px;padding:10px 13px;border:1px solid #c7dfd5;border-radius:8px;background:#fbfffd}.all-records-list article>span{display:grid;width:36px;height:36px;place-items:center;border-radius:8px}.all-records-list article>span.expense{color:#d95360;background:#ffeaec}.all-records-list article>span.income{color:#078a5e;background:#e1f8eb}.all-records-list b,.all-records-list small{display:block}.all-records-list small{margin-top:3px;color:#718c84;font-size:12px}.all-records-list article strong{font-family:Fira Code,monospace}.all-records-list article strong.expense{color:#d95360}.all-records-list article strong.income{color:#078a5e}.all-records-empty{padding:26px 0;color:#718c84;text-align:center}.records-month-picker{margin:0 30px 13px;padding:15px;border:1px solid #b9ddd1;border-radius:8px;background:#f8fffc}.records-month-picker>div{display:flex;align-items:center;justify-content:space-between}.records-month-picker>div button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;color:#087d73;background:#e1f4ec}.records-month-picker>div strong{color:#173b39;font-size:20px}.records-month-picker section{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.records-month-picker section button{min-height:40px;border:1px solid #d1e5dd;border-radius:7px;color:#54766d;background:#fff;font-weight:700}.records-month-picker section button.active{border-color:#0bb6a3;color:#fff;background:#08af9f}@media (max-width:640px){.records-heading-actions{width:100%}.records-heading-actions .search-field{flex:1;width:auto}.all-records-overlay{align-items:center;padding:14px}.all-records-dialog{max-height:calc(100svh - 20px);border-radius:12px}.all-records-list,.records-filter,.records-month-summary{padding-left:16px;padding-right:16px}.all-records-list article{min-height:60px}.records-month-nav{padding-left:16px;padding-right:16px}}.records-month-picker-overlay{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.4);backdrop-filter:blur(5px)}.records-month-picker-dialog{width:min(430px,100%);max-height:min(520px,calc(100svh - 80px));overflow:auto;padding:18px 18px 20px;border:1px solid #b9ddd1;border-radius:12px;background:#f8fffc;box-shadow:0 24px 60px rgba(16,54,48,.25)}.records-month-picker-head,.records-month-picker-year{display:flex;align-items:center;justify-content:space-between}.records-month-picker-head{min-height:38px;color:#173b39;font-size:18px}.records-month-picker-head button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;color:#41665d;background:#d1e9df}.records-month-picker-year{margin-top:12px}.records-month-picker-year button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;color:#087d73;background:#e1f4ec}.records-month-picker-year strong{color:#173b39;font-size:20px}.records-month-picker-dialog section{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.records-month-picker-dialog section button{position:relative;min-height:44px;border:1px solid #d1e5dd;border-radius:7px;color:#54766d;background:#fff;font-weight:700}.records-month-picker-dialog section button.active{border-color:#0bb6a3;color:#fff;background:#08af9f}.records-month-picker-dialog section button i{position:absolute;bottom:6px;left:50%;width:5px;height:5px;transform:translateX(-50%);border-radius:50%;background:#08a894}.records-month-picker-dialog section button.active i{background:#fff}@media (max-width:560px){.total-budget-overlay{align-items:center;padding:12px 12px calc(12px + var(--kb-inset, 0px))}.total-budget-dialog{min-height:430px;max-height:calc(100svh - 24px - var(--kb-inset, 0px));overflow:auto;padding:0 22px 24px;border-radius:12px}.total-budget-dialog>label{min-height:82px}.total-budget-save{margin-top:42px}}@media (max-width:520px){.budget-category-overlay{align-items:center;padding:14px}.budget-category-modal{border-radius:12px}.budget-category-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:860px){.budget-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.page-heading:has(.budget-page-actions){align-items:flex-start}.budget-page-actions{flex:0 0 auto}.budget-item-grid{grid-template-columns:1fr}.budget-overview{grid-template-columns:minmax(0,1fr) auto;gap:14px}.budget-ring{width:150px;margin:auto}.budget-dialog-overlay{align-items:center;padding:14px}.budget-dialog{border-radius:10px}}.category-overlay{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px;background:rgba(16,54,48,.38);backdrop-filter:blur(4px)}.category-modal{width:min(700px,100%);max-height:min(720px,calc(100svh - 48px));overflow:auto;border:1px solid #b8dfd3;border-radius:10px;background:#e1f5ed;box-shadow:0 24px 64px rgba(16,54,48,.25)}.category-modal header{display:flex;align-items:start;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #c7e5da}.category-modal header p{margin:0;color:#64867c;font-size:12px}.category-modal header h2{margin:5px 0 0;font-size:23px}.category-modal header>button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;color:#40665d;background:#c9e6db;font-size:26px}.category-tabs{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:18px 26px}.category-tabs button{min-height:38px;border:1px solid #b9dcd1;border-radius:7px;color:#58776e;background:#f6fffb;font-weight:700}.category-tabs .expense.active{border-color:#f3a0a6;color:#d34b57;background:#ffe7e9}.category-tabs .income.active{border-color:#82dbaa;color:#078653;background:#e2f9eb}.category-tabs .manage-toggle{padding:0 14px;color:#087d73;background:#d9f5ed}.category-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 12px;padding:8px 26px 28px}.category-choice{display:grid;justify-items:center;gap:8px;border:0;color:#456a61;background:transparent}.category-choice>span{position:relative;display:grid;width:82px;height:72px;place-items:center;border:1px solid #b6d9ce;border-radius:8px;color:#177f72;background:#f9fffc}.category-choice.selected>span{border:2px solid #10bca8;background:#d6f3e9}.category-choice>span i{position:absolute;top:-8px;right:-8px;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#fff;background:#e25561;font:700 17px/1 sans-serif;font-style:normal}.category-choice b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.new-category-button{display:flex;align-items:center;gap:7px;margin:0 26px 26px auto;min-height:42px;padding:0 17px;border:0;border-radius:7px;color:#fff;background:#08b7a5;font-weight:700}.new-category-form{display:grid;gap:18px;padding:8px 26px 26px}.new-category-form label{display:grid;gap:7px;color:#52736a;font-size:13px;font-weight:600}.new-category-form>div:last-child{display:flex;justify-content:end;gap:8px}.icon-option-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.icon-option-grid button{display:grid;width:46px;height:46px;place-items:center;border:1px solid #bddbd1;border-radius:7px;color:#537a70;background:#fbfffd}.icon-option-grid button.selected{border:2px solid #0bb5a5;color:#087d73;background:#d8f4eb}@media (max-width:520px){.category-overlay{padding:14px;align-items:center}.category-modal{max-height:calc(100svh - 24px);border-radius:12px}.category-picker-grid{grid-template-columns:repeat(3,1fr)}.category-choice>span{width:76px}.icon-option-grid{grid-template-columns:repeat(6,1fr)}}.account-edit-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #b8ddd1;border-radius:7px;color:#087d73;background:#f7fffb}.account-edit-button:hover{border-color:#67c7b4;color:#075e57;background:#dff5ed}.account-edit-button:focus-visible{outline:3px solid rgba(8,125,115,.18);outline-offset:2px}.account-detail-overlay{position:fixed;z-index:96;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.4);backdrop-filter:blur(5px)}.account-detail-dialog{width:min(760px,100%);max-height:calc(100svh - 40px);overflow:auto;border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.account-detail-dialog>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 22px;border-bottom:1px solid #cde6dc}.account-detail-dialog>header h2{margin:0;color:#173b39;font-size:24px}.account-detail-dialog>header button{justify-self:end;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#41665d;background:#d1e9df}.account-detail-dialog>header button:hover{color:#173b39;background:#bddfd3}.account-detail-balance{display:flex;align-items:center;gap:14px;margin:20px 30px 0;padding:17px 18px;border:1px solid #b8ddd1;border-radius:8px;background:#fbfffd}.account-detail-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:8px;color:#087d73;background:#d8f4ec}.account-detail-balance span,.account-detail-balance strong{display:block}.account-detail-balance span{color:#5b7d73;font-size:13px;font-weight:700}.account-detail-balance strong{margin-top:4px;color:#173b39;font:700 25px Fira Code,monospace}.account-detail-balance strong.negative{color:#d95360}.account-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 30px 2px}.account-action-grid button{display:grid;justify-items:center;gap:6px;min-height:76px;padding:10px 6px;border:1px solid #b9ddd1;border-radius:8px;color:#236a5e;background:#fafffd;font-size:12px}.account-action-grid button:hover{border-color:#69c9b7;background:#e4f7f0}.account-action-grid span{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:#087d73;background:#d8f3ea}.account-action-grid button.danger{color:#c34b58}.account-action-grid button.danger span{color:#d34b57;background:#ffe8ea}.account-action-overlay{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.42);backdrop-filter:blur(5px)}.account-action-dialog{width:min(500px,100%);max-height:calc(100svh - 40px);overflow:auto;border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.account-action-dialog>header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 22px;border-bottom:1px solid #cde6dc}.account-action-dialog>header p{margin:0 0 3px;color:#6d8a81;font-size:12px;font-weight:700}.account-action-dialog>header h2{margin:0;color:#173b39;font-size:22px}.account-action-dialog>header button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#41665d;background:#d1e9df}.account-action-description,.transfer-hint{margin:20px 24px 0;color:#628077;line-height:1.6}.account-action-dialog>label{display:grid;gap:7px;margin:18px 24px 0;color:#55766d;font-size:13px;font-weight:700}.account-action-dialog footer{margin-top:24px;padding:18px 24px;border-top:1px solid #cde6dc;background:#fbfffd}.transfer-account-list{margin:17px 24px 0}.transfer-account-list h3{margin:0 0 8px;color:#55766d;font-size:13px}.transfer-account-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;width:100%;min-height:57px;gap:10px;margin-top:7px;padding:9px 12px;border:1px solid #c7dfd5;border-radius:8px;color:#365f55;background:#fbfffd;text-align:left}.transfer-account-list button.selected{border:2px solid #12bba7;background:#ddf6ee}.transfer-account-list button>span{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:#087d73;background:#d8f4ec}.transfer-account-list b,.transfer-account-list small{display:block}.transfer-account-list small{margin-top:2px;color:#728e86;font-size:11px}.transfer-account-list i{color:#087d73;font-size:12px;font-style:normal;font-weight:700}.transfer-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:20px 24px 0;padding:14px;border:1px solid #bdddd2;border-radius:8px;background:#fafffd;color:#087d73}.transfer-route>div:last-child{text-align:right}.transfer-route b,.transfer-route small,.transfer-route span{display:block}.transfer-route small,.transfer-route span{color:#708b83;font-size:11px}.transfer-route b{margin:3px 0;color:#173b39;font-size:14px}.transfer-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}.transfer-estimate{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;margin:14px 24px 0;padding:13px 14px;border:1px solid #9bd8ca;border-radius:8px;background:#f9fffc}.transfer-estimate span{color:#5d7c73;font-size:13px}.transfer-estimate strong{color:#087d73;font:700 21px Fira Code,monospace}.transfer-estimate small{grid-column:1/-1;color:#78938b;font:12px Fira Code,monospace}.account-month-nav{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;padding:18px 30px 12px}.account-month-nav button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;color:#456a61;background:#f4fcf8}.account-month-nav button:hover{color:#075e57;background:#dff5ed}.account-month-nav button:last-child{justify-self:end}.account-month-nav strong{color:#173b39;font-size:25px;text-align:center}.account-month-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 30px 17px}.account-month-summary div{min-width:0;padding:13px 15px;border:1px solid #c7dfd5;border-radius:8px;background:#fafffd}.account-month-summary span,.account-month-summary strong{display:block}.account-month-summary span{color:#708b83;font-size:12px}.account-month-summary strong{margin-top:6px;overflow:hidden;color:#173b39;font:700 18px Fira Code,monospace;text-overflow:ellipsis;white-space:nowrap}.account-month-summary strong.income{color:#078a5e}.account-month-summary strong.expense{color:#df4e5b}.account-records-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 30px 16px}.account-records-filter button{min-height:40px;border:1px solid #bdd9cf;border-radius:8px;color:#628077;background:#fafffd;font-weight:700}.account-records-filter button.active{border-color:#75d1bf;color:#087d73;background:#d9f4eb}.account-records-filter button.active.expense{border-color:#f0a3aa;color:#d34b57;background:#ffeaec}.account-records-filter button.active.income{border-color:#82dbaa;color:#087b58;background:#e2f8eb}.account-detail-list{padding:0 30px 28px}.account-detail-list section{margin-top:18px}.account-detail-list h3{margin:0 0 9px;color:#54766d;font-size:18px}.account-detail-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;margin-top:8px;padding:10px 13px;border:1px solid #c7dfd5;border-radius:8px;background:#fbfffd}.account-detail-list article>span{display:grid;width:36px;height:36px;place-items:center;border-radius:8px}.account-detail-list article>span.expense{color:#d95360;background:#ffeaec}.account-detail-list article>span.income{color:#078a5e;background:#e1f8eb}.account-detail-list b,.account-detail-list small{display:block}.account-detail-list article small,.account-detail-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-detail-list article small{margin-top:3px;color:#718c84;font-size:12px}.account-detail-list article strong{display:grid;justify-items:end;font-family:Fira Code,monospace}.account-detail-list article strong.expense{color:#d95360}.account-detail-list article strong.income{color:#078a5e}.account-detail-list article strong small{color:#78938b;font:11px Fira Code,monospace}.account-detail-empty{padding:26px 0;color:#718c84;text-align:center}@media (max-width:640px){.account-detail-overlay{align-items:end;padding:10px}.account-detail-dialog{max-height:calc(100svh - 20px);border-radius:12px 12px 8px 8px}.account-detail-balance{margin:16px 16px 0}.account-detail-list,.account-month-nav,.account-month-summary,.account-records-filter{padding-left:16px;padding-right:16px}.account-month-summary strong{font-size:16px}.account-detail-list article{min-height:60px}.account-action-grid{margin-right:16px;margin-left:16px}.account-action-overlay{align-items:center;padding:14px}.account-action-dialog{width:min(500px,calc(100vw - 28px));max-height:calc(100svh - 28px);border-radius:12px}.account-action-dialog.transfer-dialog{overflow:auto}.account-action-dialog>header{flex:0 0 auto;padding-right:16px;padding-left:16px}.account-action-description,.account-action-dialog>label,.transfer-account-list,.transfer-hint,.transfer-route{margin-right:16px;margin-left:16px}.account-action-dialog footer{position:sticky;bottom:0;padding-right:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:16px}}html{overscroll-behavior-x:none}body,html{min-width:320px;overflow-x:hidden;background:#e3f4ed}*{scrollbar-width:none}::-webkit-scrollbar{display:none;width:0;height:0;-webkit-appearance:none}.finance-app{min-width:0;min-height:100dvh;padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}@media (max-width:640px){.finance-header{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.finance-content{width:min(calc(100% - 28px),760px)}.finance-header nav{scrollbar-width:none;-webkit-overflow-scrolling:touch}.finance-header nav::-webkit-scrollbar{display:none}.page-heading{gap:14px}.page-heading>div{min-width:0}.account-card strong,.asset-panel strong,.page-heading h1,.page-heading p{overflow-wrap:anywhere}.account-month-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.account-month-summary div{padding:12px 10px}.account-detail-list article>div{min-width:0}.category-panel{display:none}}.account-add-fab{display:none}@media (max-width:768px){.account-add-fab{position:fixed;z-index:85;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));display:grid;place-items:center;transform:translateX(-50%)}.account-add-fab:active{transform:translateX(-50%) scale(.96)}.account-add-inline,.budget-page-actions .budget-add-button{display:none}.budget-items-add{display:grid;flex:none;width:34px;height:34px;place-items:center;border:0;border-radius:8px;color:#fff;background:#08af9f;box-shadow:0 4px 10px rgba(8,175,159,.22)}}@media (max-width:640px){.budget-items-section .section-heading{flex-direction:row;align-items:center}}@media (pointer:coarse){.finance-app [role=button],.finance-app button{min-height:44px}.account-detail-dialog>header button,.account-month-nav button,.all-records-dialog>header button,.calendar-dialog header button,.choice-dialog header button,.finance-app .account-edit-button,.finance-app .icon-button,.records-month-nav>button:not(.records-month-title),.transaction-edit-dialog>header button{width:44px;height:44px}.account-detail-dialog,.all-records-dialog{-webkit-overflow-scrolling:touch}}.account-detail-dialog,.all-records-dialog,.budget-category-modal,.budget-dialog,.calendar-dialog,.category-modal,.choice-dialog,.finance-app,.total-budget-dialog,.transaction-edit-dialog{color-scheme:light}.account-type-overlay,.currency-picker-overlay,.ledger-create-overlay{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,54,48,.4);backdrop-filter:blur(5px)}.account-type-dialog,.currency-picker-dialog,.ledger-create-dialog{width:min(560px,100%);max-height:calc(100svh - 40px);overflow:auto;border:1px solid #b8ddd1;border-radius:10px;background:#e6f6ef;box-shadow:0 28px 72px rgba(16,54,48,.28)}.ledger-create-dialog>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 22px;border-bottom:1px solid #cde6dc}.ledger-create-dialog>header h2{margin:0;color:#173b39;font-size:24px}.account-type-dialog>header button,.currency-picker-dialog>header button,.ledger-create-dialog>header button{justify-self:end;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#41665d;background:#d1e9df}.ledger-create-icon{display:grid;width:58px;height:58px;margin:22px auto 8px;place-items:center;border:1px solid #a7d9cb;border-radius:50%;color:#087d73;background:#f9fffc}.ledger-create-dialog>label{display:grid;gap:7px;margin:16px 24px 0;color:#55766d;font-size:13px;font-weight:700}.ledger-create-dialog>label>button{display:flex;align-items:center;justify-content:space-between;padding:0 13px;text-align:left}.ledger-create-dialog footer{margin-top:24px;padding:18px 24px;border-top:1px solid #cde6dc;background:#fbfffd}.currency-picker-dialog>header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 20px;border-bottom:1px solid #cde6dc}.account-type-dialog h2,.currency-picker-dialog h2{margin:0;color:#173b39;font-size:22px}.currency-picker-dialog header small{display:block;margin-top:3px;color:#708b83;font-size:11px}.currency-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:16px}.currency-picker-list>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:62px;padding:10px;border:1px solid #c7dfd5;border-radius:8px;color:#365f55;background:#fbfffd;text-align:left}.currency-picker-list>button.selected{border:2px solid #12bba7;color:#087d73;background:#ddf6ee}.account-type-dialog span,.currency-picker-list span{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;color:#087d73;background:#ddf5ed}.currency-picker-list b,.currency-picker-list small{display:block}.currency-picker-list small{margin-top:2px;color:#728e86;font-size:11px}.currency-picker-list em{color:#52766c;font:600 13px Fira Code,monospace;font-style:normal}.currency-picker-dialog footer{padding:0 16px 16px}.currency-picker-dialog footer button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;border:1px solid #9bd3c5;border-radius:8px;color:#087d73;background:#f8fffc;font-weight:700}.account-type-dialog>header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 20px;border-bottom:1px solid #cde6dc}.account-type-dialog>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px}.account-type-dialog>div>button{display:grid;justify-items:center;gap:8px;min-height:104px;padding:12px 8px;border:1px solid #c7dfd5;border-radius:8px;color:#55766d;background:#fbfffd}.account-type-dialog>div>button.selected{border:2px solid #12bba7;color:#087d73;background:#ddf6ee}.account-type-dialog b{font-size:13px}@media (max-width:640px){.account-type-overlay,.currency-picker-overlay,.ledger-create-overlay{align-items:center;padding:14px}.account-type-dialog,.currency-picker-dialog,.ledger-create-dialog{max-height:calc(100svh - 20px);border-radius:12px}.ledger-create-dialog>label{margin-right:16px;margin-left:16px}.ledger-create-dialog footer{padding-right:16px;padding-left:16px}.currency-picker-list{grid-template-columns:1fr}.account-type-dialog>div{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-fields{grid-template-columns:1fr}}.entry-dialog-overlay{z-index:105}.calendar-overlay,.category-overlay,.choice-overlay,.currency-picker-overlay{z-index:130}.calendar-days button{position:relative;display:grid;place-items:center}.calendar-days button>span{position:relative;z-index:1}.calendar-days button.has-record i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:#08a998}.calendar-days button.selected.has-record i{background:#fff}.calendar-days button.other-month.has-record i{background:#9ab0a9}@media (max-width:430px){.budget-overview{gap:12px}.budget-overview>.budget-overview-ring>div{width:108px!important;height:108px!important}.budget-overview>.budget-overview-ring svg{width:100%;height:100%}.budget-overview>.budget-overview-ring strong{font-size:22px!important}.budget-overview-summary p{font-size:14px}}@media (max-width:340px){.budget-overview{grid-template-columns:1fr;gap:14px}.budget-overview>.budget-overview-ring{order:0}}