:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211f;background:#edf5f2;font-synthesis:none;text-rendering:optimizeLegibility;--page: #edf5f2;--surface: rgb(255 255 255 / 88%);--surface-solid: #ffffff;--text: #17211f;--muted: #5f6f6b;--border: rgb(0 83 70 / 12%);--input: #f7faf9;--primary: #005346;--primary-light: #07806c;--danger: #991b1b;--shadow: 0 24px 80px rgb(0 83 70 / 14%)}:root[data-theme=dark]{color:#f8fafc;background:#071c18;--page: #071c18;--surface: rgb(15 50 44 / 82%);--surface-solid: #0f322c;--text: #f8fafc;--muted: #b8c9c4;--border: rgb(255 255 255 / 12%);--input: rgb(255 255 255 / 7%);--primary: #07806c;--primary-light: #0a9c83;--danger: #ef4444;--shadow: 0 24px 80px rgb(0 0 0 / 32%)}*{box-sizing:border-box}html{width:100%;overflow-x:clip}body{margin:0;width:100%;min-width:320px;min-height:100vh;overflow-x:clip;background:var(--page);color:var(--text);touch-action:manipulation;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.auth-screen,.splash-screen,.dashboard-shell{min-height:100vh;background:radial-gradient(circle at top,rgb(0 128 108 / 22%),transparent 38%),var(--page)}.auth-screen,.splash-screen{display:grid;place-items:center;padding:24px}.auth-card,.migration-card{width:min(100%,440px);padding:38px 28px;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card{text-align:center}.brand-mark{width:78px;height:78px;margin:0 auto 22px;display:grid;place-items:center;border-radius:24px;color:#fff;background:linear-gradient(145deg,var(--primary-light),#005346);box-shadow:0 14px 36px #00534661;font-size:24px;font-weight:800;letter-spacing:-1px}.eyebrow{margin:0 0 8px;color:#10a88e;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}:root[data-theme=dark] .eyebrow{color:#6ee7b7}h1,h2{letter-spacing:-.035em}h1{margin:0;font-size:clamp(32px,9vw,46px)}h2{margin:8px 0 0;font-size:28px}.auth-subtitle,.status-copy{margin:12px auto 24px;color:var(--muted);line-height:1.6}form{margin-top:22px;text-align:left}label{display:block;margin-top:16px}label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:750}input,.modal-form select{width:100%;min-height:50px;padding:0 15px;border:1px solid var(--border);border-radius:15px;outline:none;color:var(--text);background:var(--input)}input:focus,.modal-form select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #07806c24}.password-field{position:relative}.password-field input{padding-right:70px}.password-field button{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;color:var(--primary-light);background:transparent;font-size:12px;font-weight:800}.primary-button,.secondary-button,.danger-button{width:100%;min-height:48px;margin-top:12px;padding:11px 16px;border-radius:15px;font-weight:800}.primary-button{border:1px solid transparent;color:#fff;background:var(--primary)}.secondary-button{border:1px solid var(--border);color:var(--text);background:var(--surface-solid)}.danger-button{border:1px solid rgb(239 68 68 / 25%);color:var(--danger);background:transparent}.text-button{display:block;margin:16px auto 0;padding:4px;border:0;color:var(--primary-light);background:transparent;font-weight:750}.forgot-button{margin:10px 0 18px auto}.switch-copy{margin:24px 0 0;text-align:center;color:var(--muted);font-size:13px}.form-message{margin:20px 0 4px;padding:12px 14px;border-radius:14px;text-align:left;font-size:13px;line-height:1.5}.form-message.error{color:#b91c1c;background:#ef44441f}.form-message.warning{color:#a16207;background:#f59e0b24}.form-message.success{color:#047857;background:#10b98121}:root[data-theme=dark] .form-message.error{color:#fca5a5}:root[data-theme=dark] .form-message.warning{color:#fcd34d}:root[data-theme=dark] .form-message.success{color:#6ee7b7}.theme-button{position:fixed;top:18px;right:18px;z-index:2;padding:9px 13px;border:1px solid var(--border);border-radius:999px;color:var(--text);background:var(--surface);font-size:12px;font-weight:750}.splash-screen{text-align:center}.splash-screen h1{font-size:38px}.splash-screen p{color:var(--muted)}.splash-mark{animation:pulse 1.8s ease-in-out infinite}.loading-dots{display:flex;justify-content:center;gap:7px;margin-top:18px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--primary-light);animation:bounce 1.2s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.dashboard-shell{padding:24px}.dashboard-topbar{width:min(100%,960px);margin:0 auto 34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.dashboard-topbar>div:first-child{min-width:0}.dashboard-topbar h1{overflow-wrap:anywhere;font-size:clamp(26px,5vw,40px)}.topbar-actions{display:flex;align-items:center;gap:10px}.profile-initial,.compact-theme-button,.notification-button{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%}.profile-initial{border:0;color:#fff;background:var(--primary);font-size:19px;font-weight:800}.compact-theme-button{border:1px solid var(--border);color:var(--text);background:var(--surface);font-size:18px}.notification-button{position:relative;border:1px solid var(--border);color:var(--text);background:var(--surface);font-size:18px}.notification-button span{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border:2px solid var(--page);border-radius:999px;color:#fff;background:#dc2626;font-size:9px;font-weight:900}.dashboard-card{margin:0 auto;text-align:center}.dashboard-actions{margin-top:24px}.dashboard-content{width:min(100%,960px);margin:0 auto}.dashboard-heading-row{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}.dashboard-heading-row h2{margin:0}.month-filter{width:190px;min-width:0;margin:0}.month-filter span{font-size:12px;color:var(--muted)}.month-picker{display:grid!important;grid-template-columns:minmax(0,1fr) 76px;gap:7px}.month-picker select{width:100%;min-width:0;min-height:44px;padding:0 9px;border:1px solid var(--border);border-radius:13px;outline:none;color:var(--text);background:var(--input)}.month-picker select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #07806c24}.dashboard-controls{min-width:0;display:flex;align-items:end;gap:10px}.add-inflow-button{min-height:44px;padding:10px 16px;white-space:nowrap;border:0;border-radius:14px;color:#fff;background:var(--primary);font-weight:800}.add-expense-button{min-height:44px;padding:10px 16px;white-space:nowrap;border:0;border-radius:14px;color:#fff;background:#9f1917;font-weight:800}.manage-recurring-button{min-height:44px;padding:10px 14px;white-space:nowrap;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--surface);font-weight:800}.premium-dashboard-summary{--card-border: rgb(255 255 255 / 9%);--card-shadow: 0 22px 55px rgb(0 24 20 / 20%);--card-highlight: inset 0 1px 0 rgb(255 255 255 / 7%);position:relative;margin-top:24px}.premium-featured-grid,.premium-compact-grid{display:grid;min-width:0;gap:14px}.premium-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.premium-summary-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--card-border);background:linear-gradient(145deg,#ffffff0d,#ffffff03),var(--surface);box-shadow:var(--card-highlight),var(--card-shadow);isolation:isolate}.premium-featured-card{min-height:275px;padding:26px;display:flex;flex-direction:column;border-radius:30px}.premium-compact-card{min-height:205px;padding:22px;border-radius:26px}.premium-card-glow{position:absolute;width:220px;height:220px;top:-120px;right:-95px;border-radius:999px;background:var(--card-accent);filter:blur(55px);opacity:.18;z-index:-1}.premium-card-header,.premium-compact-heading,.premium-progress-row,.premium-card-footer{display:flex;align-items:center}.premium-card-header{justify-content:space-between}.premium-summary-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgb(255 255 255 / 8%);border-radius:18px;color:#fff;background:linear-gradient(145deg,#ffffff29,#ffffff08),color-mix(in srgb,var(--card-accent) 35%,transparent);box-shadow:inset 0 1px #ffffff21,0 12px 25px #0000001f;font-size:22px;font-weight:900}.premium-card-percentage{padding:7px 11px;border:1px solid rgb(255 255 255 / 8%);border-radius:999px;color:var(--card-text-accent);background:#ffffff0d;font-size:12px;font-weight:850}.premium-card-body{position:relative;z-index:2;margin-top:22px}.premium-card-body p,.premium-compact-heading p{margin:0;color:var(--card-text-accent);font-weight:800}.premium-card-body p{font-size:15px}.premium-card-body strong{display:block;margin-top:8px;overflow-wrap:anywhere;color:var(--text);font-size:clamp(30px,5vw,43px);line-height:1.08;letter-spacing:-.055em}.premium-card-body small,.premium-compact-card small{display:block;color:var(--muted);line-height:1.5}.premium-card-body small{margin-top:10px;font-size:13px}.premium-featured-chart{position:absolute;left:0;right:0;bottom:48px;height:72px;overflow:hidden;opacity:.68;pointer-events:none}.premium-featured-chart span{position:absolute;left:-5%;bottom:-48px;width:115%;height:100px;border-top:2px solid var(--card-accent);border-radius:50%;transform:rotate(-7deg)}.premium-featured-chart span:last-child{bottom:-61px;opacity:.35;transform:rotate(6deg)}.premium-card-footer{position:relative;z-index:2;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid rgb(255 255 255 / 7%);color:var(--card-text-accent);font-size:12px;font-weight:800}.premium-card-arrow{width:31px;height:31px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 60%,transparent);border-radius:999px;font-size:15px}.premium-compact-heading{min-width:0;gap:14px}.premium-compact-heading>div{min-width:0}.premium-compact-heading p{color:var(--muted);font-size:13px}.premium-compact-heading strong{display:block;margin-top:6px;overflow-wrap:anywhere;color:var(--text);font-size:clamp(23px,4vw,32px);line-height:1.12;letter-spacing:-.045em}.premium-compact-card small{margin-top:18px;font-size:12px}.premium-progress-row{gap:12px;margin-top:22px}.premium-progress-track{height:7px;flex:1;overflow:hidden;border-radius:999px;background:#ffffff14}.premium-progress-track span{display:block;height:100%;min-width:0;border-radius:inherit;background:var(--card-accent);box-shadow:0 0 15px color-mix(in srgb,var(--card-accent) 45%,transparent);transition:width .42s ease}.premium-progress-row b{min-width:36px;color:var(--card-text-accent);font-size:12px;text-align:right}.card-amber{--card-accent: #f5b82e;--card-text-accent: #ffd66f;background:radial-gradient(circle at 20% 10%,rgb(245 184 46 / 20%),transparent 45%),linear-gradient(145deg,#362d16,#132820 75%)}.card-emerald{--card-accent: #12d88a;--card-text-accent: #4aeda9;background:radial-gradient(circle at 20% 10%,rgb(18 216 138 / 19%),transparent 48%),linear-gradient(145deg,#064f3e,#062b25 75%)}.card-green{--card-accent: #1fcf8b;--card-text-accent: #79e9bd}.card-teal{--card-accent: #0fc99b;--card-text-accent: #62e7c3}.card-gold{--card-accent: #e0aa29;--card-text-accent: #f0cc68}.card-blue{--card-accent: #4ea4ff;--card-text-accent: #8bc6ff}.premium-insight{position:relative;min-width:0;margin-top:14px;padding:20px 22px;display:flex;align-items:center;gap:16px;overflow:hidden;border:1px solid var(--card-border);border-radius:25px;background:linear-gradient(135deg,#056d564d,#ffffff08),var(--surface);box-shadow:inset 0 1px #ffffff12,0 18px 40px #001e1924}.premium-insight-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgb(255 255 255 / 8%);border-radius:18px;background:#ffffff0f;font-size:24px}.premium-insight-content{position:relative;z-index:2;min-width:0}.premium-insight-eyebrow{display:block;margin-bottom:3px;color:#4ee3b0;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.premium-insight h2{margin:0;color:var(--text);font-size:17px}.premium-insight p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.premium-insight-decoration{position:absolute;right:-6px;bottom:-48px;color:#1dd3991f;font-size:130px;line-height:1;transform:rotate(-18deg)}.premium-insight-warning{border-color:#f5b82e4d}.premium-insight-warning .premium-insight-eyebrow{color:#ffd66f}.premium-insight-info{border-color:#4ea4ff4d}.premium-insight-info .premium-insight-eyebrow{color:#8bc6ff}.premium-insight-neutral{border-color:#94a3b83d}[data-theme=light] .premium-dashboard-summary{--card-border: rgb(5 83 70 / 12%);--card-shadow: 0 18px 45px rgb(5 83 70 / 10%);--card-highlight: inset 0 1px 0 rgb(255 255 255 / 75%)}[data-theme=light] .premium-summary-card,[data-theme=light] .premium-insight{background-color:var(--surface)}[data-theme=light] .premium-compact-card{background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--card-accent) 10%,transparent),transparent 45%),var(--surface)}[data-theme=light] .card-amber{background:radial-gradient(circle at 10% 0%,rgb(245 184 46 / 20%),transparent 48%),linear-gradient(145deg,#fffaf0,var(--surface))}[data-theme=light] .card-emerald{background:radial-gradient(circle at 10% 0%,rgb(18 216 138 / 16%),transparent 48%),linear-gradient(145deg,#effcf7,var(--surface))}[data-theme=light] .premium-summary-icon{color:var(--text);border-color:#0553461a}[data-theme=light] .premium-progress-track{background:#05534617}[data-theme=light] .premium-card-footer{border-color:#05534617}@media(max-width:760px){.premium-featured-grid,.premium-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-featured-card{min-height:245px;padding:21px;border-radius:26px}.premium-compact-card{min-height:190px;padding:19px;border-radius:23px}.premium-summary-icon{width:48px;height:48px;border-radius:16px;font-size:20px}.premium-card-body strong{font-size:clamp(27px,7vw,36px)}.premium-compact-heading{display:block}.premium-compact-heading>div{margin-top:14px}.premium-insight{align-items:flex-start}}@media(max-width:520px){.premium-dashboard-summary{margin-top:20px}.premium-featured-grid,.premium-compact-grid{gap:12px}.premium-featured-card{min-height:255px;padding:19px;border-radius:24px}.premium-compact-card{min-height:205px;padding:17px;border-radius:22px}.premium-card-body strong{font-size:clamp(25px,7.8vw,34px)}.premium-card-body p{font-size:13px}.premium-card-body small{font-size:11px}.premium-card-percentage{padding:6px 9px;font-size:10px}.premium-compact-heading strong{font-size:clamp(22px,6.5vw,29px)}.premium-insight{padding:18px;border-radius:22px}.premium-insight-icon{width:45px;height:45px;border-radius:15px;font-size:21px}}@media(max-width:390px){.premium-featured-grid,.premium-compact-grid{grid-template-columns:1fr}.premium-featured-card{min-height:235px}.premium-compact-card{min-height:auto}.premium-compact-heading{display:flex}.premium-compact-heading>div{margin-top:0}}.finance-tip{margin-top:12px;padding:17px;display:flex;align-items:center;gap:13px;border:1px solid var(--border);border-radius:19px;background:linear-gradient(145deg,rgb(7 128 108 / 10%),var(--surface))}.finance-tip>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:var(--input);font-size:20px}.finance-tip strong{display:block;font-size:12px}.finance-tip p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.data-status-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.data-status-grid article{padding:18px;display:flex;align-items:baseline;gap:9px;border:1px solid var(--border);border-radius:18px;color:var(--muted);background:var(--surface)}.data-status-grid strong{color:var(--text);font-size:24px}.data-status-grid span{font-size:13px}.dashboard-loading{min-height:330px;display:grid;place-content:center;text-align:center;color:var(--muted)}.dashboard-error{margin-bottom:16px}.transactions-section{margin-top:34px}.transactions-heading,.group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.transactions-heading>span{color:var(--muted);font-size:13px;font-weight:750}.transactions-heading h2{margin:0}.view-tabs{margin:18px 0 22px;padding:5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.view-tabs button{min-height:40px;padding:8px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-size:13px;font-weight:800}.view-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 7px 18px #0053463d}.transaction-groups{display:grid;gap:28px}.group-heading{margin-bottom:11px}.group-heading h3{margin:0;font-size:17px}.group-heading span{min-width:28px;padding:4px 8px;border-radius:999px;text-align:center;color:var(--muted);background:var(--input);font-size:11px;font-weight:800}.transaction-list{display:grid;gap:9px}.transaction-card{position:relative;min-width:0;padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;overflow:hidden;border:1px solid var(--border);border-radius:19px;background:var(--surface);box-shadow:0 8px 24px #00534612}.transaction-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#10b981}.transaction-card.expense-card.paid:before{background:#10b981}.transaction-card.expense-card.pending:before{background:#f59e0b}.transaction-card.expense-card.hold:before{background:#64748b}.transaction-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:var(--input);font-size:19px}.transaction-info{min-width:0}.transaction-info h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.transaction-info p{margin:5px 0 0;color:var(--muted);font-size:11px}.transaction-value{min-width:0;text-align:right}.transaction-value strong{display:block;font-size:16px;overflow-wrap:anywhere}.expense-status-select{max-width:92px;min-height:28px;margin-top:7px;padding:4px 22px 4px 7px;border:1px solid transparent;border-radius:999px;outline:none;font-size:10px;font-weight:850}.expense-status-select.paid{color:#047857;background:#10b98124}.expense-status-select.pending{color:#a16207;background:#f59e0b29}.expense-status-select.hold{color:#475569;background:#64748b29}:root[data-theme=dark] .expense-status-select.paid{color:#6ee7b7}:root[data-theme=dark] .expense-status-select.pending{color:#fcd34d}:root[data-theme=dark] .expense-status-select.hold{color:#cbd5e1}.transaction-actions{grid-column:2 / 4;display:flex;justify-content:flex-end;gap:7px}.transaction-actions button{width:33px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--input);font-size:15px;font-weight:800}.transaction-actions button:last-child{color:var(--danger)}.status-badge,.recurring-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:10px;font-weight:850}.status-badge{margin-top:7px;padding:5px 9px}.status-badge.income,.status-badge.paid{color:#047857;background:#10b98124}.status-badge.pending{color:#a16207;background:#f59e0b29}.status-badge.hold{color:#475569;background:#64748b29}:root[data-theme=dark] .status-badge.income,:root[data-theme=dark] .status-badge.paid{color:#6ee7b7}:root[data-theme=dark] .status-badge.pending{color:#fcd34d}:root[data-theme=dark] .status-badge.hold{color:#cbd5e1}.recurring-badge{margin-top:9px;padding:5px 9px;color:#2563eb;background:#3b82f61f}:root[data-theme=dark] .recurring-badge{color:#93c5fd}.recurring-symbol{margin-right:4px;font-size:13px}.transaction-empty{padding:50px 22px;text-align:center;border:1px dashed var(--border);border-radius:22px;background:var(--surface)}.transaction-empty>span{font-size:34px}.transaction-empty h3{margin:13px 0 5px}.transaction-empty p{margin:0;color:var(--muted);font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:5000;padding:18px;display:grid;place-items:center;overflow-y:auto;background:#020c0ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.react-modal{width:min(100%,440px);max-height:calc(100vh - 36px);overflow-y:auto;padding:24px;border:1px solid var(--border);border-radius:24px;outline:none;color:var(--text);background:var(--surface-solid);box-shadow:0 28px 90px #0006}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-header h2{margin:0;font-size:24px}.modal-header button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:var(--input);font-size:24px;line-height:1}.modal-form{margin-top:20px}.modal-form .form-message{margin-top:0}.modal-actions{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.modal-actions button{margin-top:0}.delete-button{width:100%;min-height:48px;padding:11px 16px;border:1px solid rgb(239 68 68 / 28%);border-radius:15px;color:#fff;background:#b91c1c;font-weight:800}.expense-save-button{width:100%;min-height:48px;padding:11px 16px;border:1px solid transparent;border-radius:15px;color:#fff;background:#9f1917;font-weight:800}.confirm-content{padding-top:22px;text-align:center}.confirm-content p{margin:15px auto 0;color:var(--muted);line-height:1.6}.confirm-icon{width:58px;height:58px;margin:0 auto;display:grid;place-items:center;border-radius:50%;color:#dc2626;background:#ef44441f;font-size:28px;font-weight:900}.field-help{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.recurring-manager-toolbar{margin-top:18px}.recurring-manager-toolbar p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.55}.manager-loading{padding:42px 0;text-align:center;color:var(--muted)}.transaction-empty.compact{padding:32px 18px}.recurring-template-list{margin-top:18px;display:grid;gap:9px}.recurring-template-card{padding:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:17px;background:var(--input)}.recurring-template-card h3{margin:0;font-size:14px}.recurring-template-card p{margin:5px 0 8px;color:var(--muted);font-size:11px}.template-state{font-size:10px;font-weight:850}.template-state.active{color:#059669}.template-state.paused{color:#d97706}:root[data-theme=dark] .template-state.active{color:#6ee7b7}:root[data-theme=dark] .template-state.paused{color:#fcd34d}.template-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px}.template-actions button{min-height:31px;padding:6px 9px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--surface-solid);font-size:10px;font-weight:800}.template-actions .template-delete{color:var(--danger)}.notifications-page{position:fixed;inset:0;z-index:4500;overflow-y:auto;color:var(--text);background:var(--page)}.notifications-header{position:sticky;top:0;z-index:2;height:72px;padding:0 20px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--page) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.notifications-header h1{text-align:center;font-size:22px}.notifications-header button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text);background:var(--surface);font-size:20px}.notifications-content{width:min(100% - 28px,720px);margin:0 auto;padding:24px 0 60px}.push-setting-card{min-width:0;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:center;gap:18px;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.push-setting-card>div{min-width:0}.push-setting-card h2{margin:0 0 5px;font-size:16px}.push-setting-card p{margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.5}.push-setting-card .switch-control{width:50px;min-width:50px;margin:0;justify-self:end}.switch-control{position:relative;width:50px;height:28px;flex:0 0 auto;margin:0}.switch-control input{position:absolute;opacity:0;pointer-events:none}.switch-control>span{position:absolute;inset:0;margin:0;border-radius:999px;background:#94a3b8;transition:background .2s ease}.switch-control span:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000040;transition:transform .2s ease}.switch-control input:checked+span{background:var(--primary-light)}.switch-control input:checked+span:after{transform:translate(22px)}.switch-control input:focus-visible+span{outline:3px solid rgb(7 128 108 / 25%)}.notification-section-heading{margin:30px 0 14px;display:flex;align-items:end;justify-content:space-between;gap:16px}.notification-section-heading h2{margin:0}.notification-section-heading>span{color:var(--muted);font-size:12px;font-weight:800}.notification-toolbar{margin-bottom:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notification-toolbar button{min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:13px;color:var(--text);background:var(--surface);font-size:12px;font-weight:800}.notification-toolbar button.danger{color:var(--danger)}.notification-toolbar button:disabled{opacity:.45;cursor:not-allowed}.notification-list{display:grid;gap:9px}.notification-item{padding:16px;display:grid;grid-template-columns:auto 1fr;gap:13px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.notification-item.unread{border-color:#07806c52;box-shadow:inset 4px 0 var(--primary-light)}.notification-item.read{opacity:.67}.notification-item-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#2563eb;background:#3b82f61f;font-size:20px}.notification-item h3{margin:0;font-size:14px}.notification-item p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.5}.notification-item time{display:block;color:var(--muted);font-size:10px}.notification-item button{margin-top:10px;padding:5px 9px;border:1px solid var(--border);border-radius:9px;color:var(--primary-light);background:var(--input);font-size:10px;font-weight:850}.drawer-backdrop{position:fixed;inset:0;z-index:4700;background:#020c0aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-drawer{position:absolute;inset:0 0 0 auto;width:min(88vw,390px);padding:24px 18px;display:flex;flex-direction:column;overflow-y:auto;outline:none;color:var(--text);background:var(--surface-solid);box-shadow:-22px 0 70px #00000057}.drawer-header{padding:4px 3px 22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.drawer-avatar,.settings-avatar{display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--primary);font-weight:850}.drawer-avatar{width:50px;height:50px;font-size:19px}.drawer-header h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.drawer-header p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px}.drawer-header>button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:var(--input);font-size:22px}.drawer-menu{margin-top:18px;display:grid;gap:7px}.drawer-menu button,.settings-list>button,.settings-static-row{width:100%;min-height:68px;padding:12px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid transparent;border-radius:16px;text-align:left;color:var(--text);background:transparent}.drawer-menu button:hover,.settings-list>button:hover{border-color:var(--border);background:var(--input)}.drawer-menu button>span,.settings-list>button>span,.settings-static-row>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--input);font-size:18px}.drawer-menu strong,.settings-list strong,.settings-static-row strong{display:block;font-size:13px}.drawer-menu small,.settings-list small,.settings-static-row small{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.4}.drawer-menu i,.settings-list i{color:var(--muted);font-size:20px;font-style:normal}.drawer-menu b,.settings-list b{min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#dc2626;font-size:9px}.drawer-logout,.settings-logout{min-height:48px;border:1px solid rgb(239 68 68 / 22%);border-radius:15px;color:var(--danger);background:#ef444414;font-weight:850}.drawer-logout{margin-top:auto}.drawer-version{margin:17px 0 0;text-align:center;color:var(--muted);font-size:9px}.settings-page{position:fixed;inset:0;z-index:4600;overflow-y:auto;color:var(--text);background:var(--page)}.settings-header{position:sticky;top:0;z-index:2;height:72px;padding:0 20px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--page) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.settings-header h1{text-align:center;font-size:22px}.settings-header button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text);background:var(--surface);font-size:20px}.settings-content{width:min(100% - 28px,680px);margin:0 auto;padding:24px 0 60px}.settings-profile-card{padding:20px;display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.settings-avatar{width:62px;height:62px;flex:0 0 auto;font-size:23px}.settings-profile-card h2{margin:0;font-size:19px}.settings-profile-card p{margin:4px 0 7px;color:var(--muted);font-size:11px}.settings-profile-card span{padding:4px 8px;border-radius:999px;color:#047857;background:#10b98121;font-size:9px;font-weight:850}:root[data-theme=dark] .settings-profile-card span{color:#6ee7b7}.settings-section-label{margin:26px 4px 9px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.settings-list{padding:5px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.settings-static-row em{color:#10b981;font-style:normal;font-weight:900}.settings-toggle-row{width:100%;min-width:0;min-height:68px;padding:12px 16px 12px 12px;display:grid;grid-template-columns:40px minmax(0,1fr) 50px;align-items:center;gap:11px;overflow:hidden}.settings-toggle-row>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--input);font-size:18px}.settings-toggle-row>div{grid-column:2;width:100%;min-width:0;overflow:hidden}.settings-toggle-row strong{display:block;font-size:13px}.settings-toggle-row small{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.4}.settings-toggle-row .switch-control{grid-column:3;width:50px;min-width:50px;margin:0;justify-self:end}.settings-note{margin:9px 5px 0;color:var(--muted);font-size:9px;line-height:1.5}.settings-logout{width:100%;margin-top:26px}.settings-footer{margin-top:36px;display:grid;gap:4px;text-align:center;color:var(--muted);font-size:10px}.settings-footer strong{color:var(--text);font-size:12px}.backup-settings-card{padding:17px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.backup-settings-heading{display:flex;align-items:center;gap:11px}.backup-settings-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--input);font-size:19px}.backup-settings-heading strong{display:block;font-size:14px}.backup-settings-heading small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.backup-action-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.backup-action-grid button,.backup-action-grid label{min-height:132px;margin:0;padding:16px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:17px;text-align:center;color:#fff;cursor:pointer}.backup-action-grid button{background:linear-gradient(145deg,#07806c,#005346)}.backup-action-grid label{background:linear-gradient(145deg,#2563eb,#1e3a8a)}.backup-action-grid label.disabled{opacity:.55;cursor:wait}.backup-action-grid input{display:none}.backup-action-grid span{font-size:27px}.backup-action-grid strong{margin-top:8px;font-size:12px}.backup-action-grid small{margin-top:4px;color:#ffffffb8;font-size:9px}.backup-privacy{margin:14px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.csv-export-button{width:100%;min-height:43px;margin-top:10px;border:1px solid var(--border);border-radius:13px;color:var(--text);background:var(--input);font-size:11px;font-weight:800}.info-page{position:fixed;inset:0;z-index:4650;overflow-y:auto;color:var(--text);background:var(--page)}.info-content{width:min(100% - 28px,680px);margin:0 auto;padding:24px 0 60px}.info-hero{padding:28px 20px;text-align:center;border:1px solid var(--border);border-radius:24px;background:var(--surface)}.info-hero img{width:82px;height:82px;border-radius:22px;box-shadow:0 12px 30px #0053463d}.info-hero>span:first-child{display:block;font-size:40px}.info-hero h2{margin:13px 0 5px}.info-hero p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.version-trigger{display:block;margin:10px auto 0;padding:4px 7px;border:0;color:var(--muted);background:transparent;font-size:9px}.info-hero.compact{padding:22px 18px}.info-hero.compact h2{font-size:21px}.faq-list{margin-top:16px;display:grid;gap:8px}.faq-item{overflow:hidden;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.faq-item>button{width:100%;min-height:58px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;text-align:left;color:var(--text);background:transparent;font-size:12px;font-weight:800}.faq-item>button i{color:var(--muted);font-size:17px;font-style:normal;transition:transform .2s ease}.faq-item.open>button i{transform:rotate(180deg)}.faq-item>div{padding:0 16px 16px;color:var(--muted);font-size:11px;line-height:1.6}.faq-item>div p{margin:0}.faq-item code{display:inline-block;margin-top:10px;padding:7px 10px;border-radius:9px;color:var(--primary-light);background:var(--input);font-weight:800}.about-info-card{margin-top:14px;padding:18px;border:1px solid var(--border);border-radius:19px;background:var(--surface)}.about-info-card h3{margin:0 0 7px;font-size:15px}.about-info-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.about-link-card{width:100%;min-height:68px;margin-top:9px;padding:12px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--border);border-radius:17px;text-align:left;text-decoration:none;color:var(--text);background:var(--surface)}.about-link-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--input);font-size:17px}.about-link-card strong{display:block;font-size:13px}.about-link-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.about-link-card i{color:var(--muted);font-style:normal}.about-footer{margin-top:30px;text-align:center;color:var(--muted);font-size:9px;line-height:1.8}.developer-panel{margin-top:14px;padding:18px;border:1px solid rgb(245 158 11 / 30%);border-radius:19px;background:#f59e0b14}.developer-panel>strong{font-size:13px}.developer-panel>p{margin:6px 0 12px;color:var(--muted);font-size:10px;line-height:1.5}.developer-panel>button{min-height:40px;padding:8px 13px;border:0;border-radius:12px;color:#fff;background:#b45309;font-size:11px;font-weight:800}.pull-refresh-indicator{position:fixed;top:0;left:50%;z-index:4400;min-height:38px;padding:7px 13px;display:flex;align-items:center;gap:7px;border-radius:0 0 14px 14px;color:#fff;background:var(--primary);opacity:0;transform:translate(-50%,-100%);transition:transform .25s ease,opacity .25s ease;font-size:10px;font-weight:800;pointer-events:none}.pull-refresh-indicator.active{opacity:1;transform:translate(-50%)}.pull-refresh-indicator span{display:inline-block;font-size:16px;animation:spin .8s linear infinite}.dashboard-topbar,.dashboard-content{transition:transform .25s ease}.dashboard-shell.pulling>.dashboard-topbar,.dashboard-shell.pulling>.dashboard-content{transform:translateY(38px)}@keyframes spin{to{transform:rotate(360deg)}}.app-lock-screen{position:fixed;inset:0;z-index:10000;padding:24px;display:grid;place-items:center;color:var(--text);background:color-mix(in srgb,var(--page) 94%,#005346 6%)}.app-lock-card{width:min(100%,420px);padding:38px 26px;text-align:center;border:1px solid var(--border);border-radius:28px;background:var(--surface-solid);box-shadow:var(--shadow)}.app-lock-card img{width:88px;height:88px;margin-bottom:21px;border-radius:24px;box-shadow:0 15px 35px #00534640}.app-lock-card h1{font-size:clamp(28px,8vw,40px)}.app-lock-card>p:not(.eyebrow){margin:12px 0 24px;color:var(--muted);font-size:13px;line-height:1.55}.app-lock-card button{width:100%;min-height:50px;border:0;border-radius:15px;color:#fff;background:var(--primary);font-weight:850}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 18px 44px #00534685}}@keyframes bounce{0%,80%,to{transform:scale(.65);opacity:.5}40%{transform:scale(1);opacity:1}}@media(max-width:520px){.auth-screen{padding:76px 14px 24px;align-items:start}.auth-card{padding:30px 20px;border-radius:24px}.dashboard-shell{padding:20px 14px}.dashboard-topbar{align-items:flex-start}.dashboard-topbar h1{font-size:clamp(26px,8vw,36px)}.topbar-actions{flex:0 0 auto;gap:7px}.profile-initial,.compact-theme-button,.notification-button{width:44px;height:44px}.dashboard-heading-row{align-items:stretch;flex-direction:column}.month-filter{width:min(100%,230px);align-self:flex-start}.dashboard-controls{width:100%;align-items:stretch;flex-direction:column}.featured-summary,.compact-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.summary-card,.featured-summary .summary-card{min-height:148px;padding:15px 12px;display:block}.summary-icon{width:36px;height:36px;margin-bottom:12px;border-radius:11px;font-size:17px}.summary-card p{font-size:11px}.summary-card strong{font-size:clamp(17px,5.4vw,24px)}.summary-card small{font-size:10px}.data-status-grid{grid-template-columns:1fr}.view-tabs{gap:3px}.view-tabs button{padding:7px 3px;font-size:11px}.transaction-card{padding:14px 11px;gap:9px}.transaction-icon{width:36px;height:36px;border-radius:11px;font-size:16px}.transaction-info h3{max-width:135px;font-size:13px}.transaction-value strong{font-size:13px}.react-modal{padding:20px;border-radius:22px}.recurring-template-card{align-items:stretch;flex-direction:column}.template-actions{justify-content:flex-start}.backup-action-grid button,.backup-action-grid label{min-height:118px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
