@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-variable-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-variable-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--gold: #f5a623;--gold-soft: rgba(245,166,35,.12);--gold-border: rgba(245,166,35,.28);--violet: #3B82F6;--violet-soft: rgba(59,130,246,.12);--income: #00d4aa;--income-soft: rgba(0,212,170,.1);--expense: #ff5c72;--expense-soft: rgba(255,92,114,.1);--warning: #ffb347;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--ease: cubic-bezier(.22,.68,0,1.2);--ease-out: cubic-bezier(0,0,.28,1);--t: .22s;--font-display: "Manrope", "IBM Plex Sans", system-ui, sans-serif}[data-theme=light],:root{--bg: #f2f1f8;--bg2: #e8e7f4;--card: #ffffff;--card2: #f7f6fd;--glass: rgba(255,255,255,.72);--glass-border: rgba(255,255,255,.9);--text: #130f2e;--text2: #5a5580;--text3: #67638e;--violet-text: #1D4ED8;--income-text: #00806a;--expense-text: #cc2340;--border: rgba(0,0,20,.07);--shadow-sm: 0 2px 12px rgba(20,60,140,.07);--shadow-md: 0 6px 28px rgba(20,60,140,.11);--shadow-lg: 0 16px 56px rgba(20,60,140,.16);--header-from: #0B1E3D;--header-mid: #14509E;--header-to: #1E6FEB;--scrollbar: #cfe0f8;--nav-bg: #ffffff;--nav-border: rgba(0,0,0,.06);--nav-text: #52618a;--nav-active-bg: rgba(59,130,246,.1);--nav-active-text: #1D4ED8;--chip-bg: #e4eefc;--chip-border: rgba(59,130,246,.15)}[data-theme=dark]{--bg: #08080f;--bg2: #0d0d1a;--card: #111122;--card2: #161628;--glass: rgba(14,14,28,.75);--glass-border: rgba(255,255,255,.07);--text: #f2f0ff;--text2: #9490c8;--text3: #8b86b0;--violet-text: #60A5FA;--income-text: #00d4aa;--expense-text: #ff5c72;--border: rgba(255,255,255,.07);--shadow-sm: 0 2px 12px rgba(0,0,0,.4);--shadow-md: 0 6px 28px rgba(0,0,0,.55);--shadow-lg: 0 16px 56px rgba(0,0,0,.7);--header-from: #050B14;--header-mid: #0E2B52;--header-to: #173B6E;--scrollbar: #1c2a40;--nav-bg: #111122;--nav-border: rgba(255,255,255,.05);--nav-text: #8b93b0;--nav-active-bg: rgba(59,130,246,.18);--nav-active-text: #93C5FD;--chip-bg: rgba(59,130,246,.1);--chip-border: rgba(59,130,246,.22)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:15px;line-height:1.5;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-form{background:var(--card);border-radius:var(--radius-xl);padding:40px 32px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.auth-form h2{font-size:1.6rem;font-weight:700;text-align:center;color:var(--text);margin-bottom:28px;letter-spacing:-.02em}.auth-tabs{display:flex;background:var(--bg2);border-radius:var(--radius-md);padding:4px;margin-bottom:28px;gap:4px}.auth-tab{flex:1;padding:9px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text2);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:all var(--t) var(--ease-out)}.auth-tab.active{background:var(--card);color:var(--violet-text);box-shadow:var(--shadow-sm);font-weight:600}.auth-error{background:var(--expense-soft);color:var(--expense);border-radius:var(--radius-sm);border:1px solid rgba(255,92,114,.2);padding:10px 14px;font-size:.82rem;margin-bottom:18px;text-align:center;display:none}.auth-success{background:var(--income-soft);color:var(--income);border-radius:var(--radius-sm);border:1px solid rgba(0,212,170,.2);padding:10px 14px;font-size:.82rem;margin-bottom:18px;display:none}.auth-form .form-group{margin-bottom:16px}.auth-form .form-group label{font-size:.8rem;font-weight:600}.container{width:100%;max-width:100%;padding:0;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.header{background:linear-gradient(160deg,var(--header-from) 0%,var(--header-mid) 55%,var(--header-to) 100%);padding:16px 20px 20px;position:relative;overflow:hidden;text-align:center}[data-theme=dark] .header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(59,130,246,.18) 0%,transparent 60%),radial-gradient(ellipse 40% 60% at 80% 20%,rgba(245,166,35,.12) 0%,transparent 60%);pointer-events:none}[data-theme=light] .header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,255,255,.18) 0%,transparent 70%);pointer-events:none}.theme-toggle{display:flex;justify-content:flex-end;margin-bottom:12px;gap:4px;position:relative;z-index:1}.theme-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;color:#ffffff8c;transition:all var(--t);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-btn:hover{background:#fff3;color:#fff}.theme-btn.active{background:#ffffff38;color:#fff;border-color:#ffffff4d}.header h1{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:#fff;letter-spacing:-.025em;margin-bottom:3px;position:relative;z-index:1}.header p{font-size:.78rem;color:#ffffff8c;margin-bottom:12px;font-weight:400;position:relative;z-index:1}.status-indicator{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:#fff9;background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:5px 12px;border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:1}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.connected{background:var(--income);box-shadow:0 0 8px var(--income)}.status-dot.connecting{background:var(--warning);animation:pulse 1.4s infinite}.status-dot.error{background:var(--expense)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.nav-tabs{background:var(--nav-bg);border-bottom:1px solid var(--nav-border);padding:10px 12px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{flex-shrink:0;padding:8px 14px;border:none;border-radius:20px;background:transparent;color:var(--nav-text);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--t) var(--ease-out);letter-spacing:.01em}.nav-tab:hover{background:var(--nav-active-bg);color:var(--nav-active-text)}.nav-tab.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:700}.nav-tab[data-page=ai-insights]{background:linear-gradient(135deg,#0b1e3d,#1e6feb 60%,#4fc3f7)!important;color:#fff!important;font-weight:600!important}.page{display:none;padding:18px 16px 100px}.page.active{display:block;animation:pageIn .25s var(--ease-out)}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:18px;letter-spacing:-.025em}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.72rem;font-weight:600;color:var(--text3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:12px 14px;background:var(--card2);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:inherit;font-size:.9rem;outline:none;box-shadow:inset 0 1px 2px #0000000d;transition:border-color var(--t),box-shadow var(--t),background var(--t);-moz-appearance:none;appearance:none;-webkit-appearance:none;font-weight:400}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:inset 0 1px 2px #0000000d,0 0 0 3px #3b82f624;background:var(--card)}input::placeholder,textarea::placeholder{color:var(--text3);font-weight:400}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239490c8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}textarea{min-height:80px;resize:vertical;line-height:1.5}.form-help{font-size:.7rem;color:var(--text3);margin-top:4px;display:block}.form-stack{display:flex;flex-direction:column;gap:2px}.form-grid{display:grid;grid-template-columns:1fr;gap:10px}.form-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.form-row input,.form-row select{flex:1;min-width:90px}.form-actions{display:flex;gap:10px;margin-top:16px}.amount-input{position:relative;display:flex;align-items:center}.rupee-symbol{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1rem;font-weight:700;pointer-events:none;z-index:5;font-family:JetBrains Mono,monospace}.amount-input input{padding:12px 14px 12px 52px!important}#amount,#edit-amount,.budget-limit-input{font-family:JetBrains Mono,monospace;font-size:1.05rem!important;font-weight:500}input[type=checkbox]{-moz-appearance:auto;appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;min-width:18px;flex-shrink:0;margin:0;padding:0;cursor:pointer;accent-color:var(--violet);border:none;background:transparent;box-shadow:none;border-radius:0}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:11px;cursor:pointer;padding:13px 15px;background:var(--card2);border:1.5px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--t);-webkit-user-select:none;user-select:none;width:100%}.checkbox-label:hover{border-color:var(--violet);background:var(--violet-soft)}.checkbox-text{font-size:.83rem;color:var(--text2);font-weight:400;line-height:1.4;flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:var(--radius-md);border:none;font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:all var(--t) var(--ease);white-space:nowrap;letter-spacing:.01em}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,#1e6feb,#3b9eff);color:#fff;box-shadow:0 4px 16px #3b82f659}.btn-primary:hover{background:linear-gradient(135deg,#1560c4,#2e86e8);box-shadow:0 6px 22px #3b82f67a;transform:translateY(-1px)}.btn-secondary{background:var(--card2);color:var(--text2);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--violet-soft);border-color:#3b82f659;color:var(--violet)}.btn-sm{padding:6px 12px!important;font-size:.73rem!important;border-radius:var(--radius-sm)!important}.transaction-form{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:20px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:wrap}.dashboard-header h2{font-size:1.1rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-.02em}#cycle-history{padding:8px 30px 8px 12px;font-size:.78rem;min-width:155px;max-width:210px;background:var(--card);border-color:var(--border)}.chart-container{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:18px;margin-bottom:14px}.chart-container h3{font-size:.82rem;font-weight:700;color:var(--text2);margin-bottom:16px;text-align:center;text-transform:uppercase;letter-spacing:.07em}.chart-container canvas{max-height:220px!important;height:220px!important;width:100%!important}.chart-container form.transaction-form{box-shadow:none;border:none;padding:0;background:transparent}.transactions-section{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:14px}.section-header{padding:13px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:var(--card2)}.section-header h3{font-size:.8rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.filter-controls{display:flex;flex-wrap:wrap;gap:6px}.filter-controls select{padding:6px 26px 6px 10px;font-size:.73rem;border-radius:var(--radius-sm);background-color:var(--card);min-width:118px}.transactions-list{padding:8px;max-height:500px;overflow-y:auto}.loading{text-align:center;color:var(--text3);padding:32px;font-size:.82rem}.transaction-item{border-radius:var(--radius-md);margin-bottom:6px;overflow:hidden;border:1px solid var(--border);transition:border-color var(--t)}.transaction-item:hover{border-color:var(--violet)}.transaction-swipe-wrapper{position:relative;overflow:hidden}.transaction-content{position:relative;z-index:1;background:var(--card);display:flex;justify-content:space-between;align-items:center;padding:12px 14px;will-change:transform;transition:background var(--t);gap:10px}.transaction-details{flex:1;min-width:0}.transaction-details strong{font-size:.82rem;font-weight:600;color:var(--text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-details small{display:block;font-size:.68rem;color:var(--text3);margin-top:3px;font-weight:400}.transaction-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.income{font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;color:var(--income-text)}.expense{font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;color:var(--expense-text)}.transaction-actions{display:flex;gap:8px}.tx-action-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-xs);min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.85rem;cursor:pointer;color:var(--text3);transition:all var(--t)}.edit-btn:hover{background:var(--violet-soft);border-color:#3b82f64d;color:var(--violet)}.delete-btn:hover{background:var(--expense-soft);border-color:#ff5c7240;color:var(--expense)}.recurring-badge{font-size:.62rem;margin-left:5px;background:var(--income-soft);color:var(--income);padding:1px 5px;border-radius:8px;font-weight:600;border:1px solid rgba(0,212,170,.2)}.swipe-delete-bg{position:absolute;right:0;top:0;bottom:0;width:80px;background:linear-gradient(90deg,transparent 0%,var(--expense) 40%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;cursor:pointer;z-index:0;border-radius:0 var(--radius-md) var(--radius-md) 0}.categories-section{display:flex;flex-direction:column;gap:14px}.add-category-form{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:18px;box-shadow:var(--shadow-sm)}.add-category-form h3{font-size:.82rem;font-weight:700;color:var(--text2);margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em}.categories-display{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:18px;box-shadow:var(--shadow-sm)}.category-group{margin-bottom:20px}.category-group:last-child{margin-bottom:0}.category-group h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);margin-bottom:12px;display:flex;align-items:center;gap:8px}.category-group h4:after{content:"";flex:1;height:1px;background:var(--border)}.category-grid{display:flex;flex-wrap:wrap;gap:8px}.category-item{display:flex;align-items:center;gap:7px;padding:7px 13px;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:20px;font-size:.8rem;color:var(--text2);transition:all var(--t) var(--ease);cursor:default;font-weight:500}.category-item:hover{border-color:var(--violet);color:var(--violet);background:var(--violet-soft);transform:translateY(-1px);box-shadow:0 3px 10px #3b82f626}.category-icon{font-size:.9rem}.category-name{font-weight:500}.budget-limits-container{display:flex;flex-direction:column;gap:8px}.budget-limit-row{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);gap:12px;transition:border-color var(--t)}.budget-limit-row:hover{border-color:var(--violet)}.budget-limit-row label{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:500;color:var(--text);margin:0;flex:1;text-transform:none;letter-spacing:0}.budget-input-wrap{display:flex;align-items:center;gap:4px;background:var(--card2);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 11px;width:120px;height:40px;transition:border-color var(--t)}.budget-input-wrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.budget-input-wrap .rupee-symbol{color:var(--gold);font-size:.82rem;position:static;top:auto;transform:none;font-family:JetBrains Mono,monospace;line-height:1}.budget-limit-input{border:none!important;outline:none!important;box-shadow:none!important;height:100%;width:100%;font-size:.88rem;font-family:JetBrains Mono,monospace;background:transparent!important;color:var(--text)!important;padding:0!important;-moz-appearance:textfield;appearance:textfield;-webkit-appearance:textfield}.budget-warnings-block{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.budget-warning-item{border-radius:var(--radius-md);padding:12px 14px;border:1px solid}.near-budget{background:#ffb34714;border-color:#ffb34740}.over-budget{background:var(--expense-soft);border-color:#ff5c7240}.budget-warning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.83rem;font-weight:600;color:var(--text)}.budget-badge{font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:10px;background:#0000001a;letter-spacing:.02em}.budget-bar-track{height:5px;background:#0000001a;border-radius:4px;overflow:hidden;margin-bottom:5px}.budget-bar-fill{height:100%;border-radius:4px;transition:width .5s var(--ease-out)}.budget-bar-labels{display:flex;justify-content:space-between;font-size:.67rem;color:var(--text2);font-family:JetBrains Mono,monospace}.recurring-suggestions-block{background:var(--income-soft);border:1px solid rgba(0,212,170,.2);border-radius:var(--radius-lg);padding:14px 15px;margin-bottom:14px}.recurring-suggestions-block h4{margin:0 0 10px;font-size:.76rem;font-weight:700;color:var(--income);text-transform:uppercase;letter-spacing:.07em}.recurring-suggestion-item{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(0,212,170,.12)}.recurring-suggestion-item:last-child{border-bottom:none}.recurring-info{display:flex;align-items:center;gap:9px}.recurring-icon{font-size:1rem}.recurring-info strong{font-size:.8rem;display:block;color:var(--text);font-weight:600}.recurring-info small{font-size:.68rem;color:var(--text3)}.ai-container{max-width:620px;margin:0 auto}.ai-card{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--radius-xl)!important;padding:26px!important;text-align:center;margin-bottom:14px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.ai-card:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(ellipse,rgba(59,130,246,.12) 0%,transparent 70%);pointer-events:none}.ai-card h3{color:var(--text)!important;font-size:1rem;font-weight:700;letter-spacing:-.02em}.ai-card p{color:var(--text2)!important;font-size:.82rem;line-height:1.65}.ai-result{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--radius-xl)!important;padding:20px!important;box-shadow:var(--shadow-sm)!important;color:var(--text)!important;line-height:1.65}#edit-modal-overlay{background:#000000a6!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.edit-modal{background:var(--card);border-radius:var(--radius-xl);padding:22px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:modalIn .22s var(--ease)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.edit-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.edit-modal-header h3{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.modal-close-btn{background:var(--card2);border:1px solid var(--border);border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;color:var(--text2);transition:all var(--t)}.modal-close-btn:hover{background:var(--expense-soft);color:var(--expense);border-color:#ff5c7233}footer{padding:11px 16px;display:flex;justify-content:center;border-top:1px solid var(--border);background:var(--nav-bg);position:fixed;bottom:0;left:0;right:0;width:100%;z-index:90;box-shadow:0 -4px 20px #00000012}.logout-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius-md);padding:7px 20px;color:var(--text3);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--t);letter-spacing:.01em}.logout-btn:hover{border-color:var(--expense);color:var(--expense);background:var(--expense-soft)}#toast-notification{border-radius:var(--radius-md)!important;font-family:IBM Plex Sans,sans-serif!important;font-weight:500!important;font-size:.83rem!important;letter-spacing:.01em!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chart-container h3[id]+form .form-group select{font-size:.86rem}@media(max-width:380px){.form-row{flex-direction:column}.form-row input,.form-row select,.form-row button{width:100%}.page{padding:14px 12px 100px}}@media(min-width:521px){.container,footer{border-left:1px solid var(--border);border-right:1px solid var(--border)}}@media(min-width:768px){.container{max-width:720px;margin:0 auto}footer{max-width:720px;left:50%;transform:translate(-50%)}}@media(max-width:768px){input,select,textarea,.budget-limit-input{font-size:16px!important}html,body{overflow-x:hidden}}@media(min-width:1024px){.container{max-width:960px}footer{max-width:960px}.form-stack{max-width:600px;margin:0 auto}}.cycle-select-wrap{min-width:165px}.cycle-select-wrap select{font-size:.78rem}.page-subtitle{color:var(--text2);font-size:.84rem;margin-bottom:18px;line-height:1.5}.ai-card-icon{font-size:2.6rem;margin-bottom:14px}.btn-ai{background:linear-gradient(135deg,#0b1e3d,#1e6feb 60%,#4fc3f7);color:#fff;border:none;box-shadow:0 4px 18px #3b82f661;padding:12px 24px;font-size:.9rem;margin-top:6px}.btn-ai:hover{background:linear-gradient(135deg,#081527,#1560c4 60%,#3aa9de);box-shadow:0 6px 24px #3b82f680;transform:translateY(-1px)}.ai-loading{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:18px;font-size:.82rem;color:var(--text2)}.ai-empty{text-align:center;color:var(--text2);font-size:.88rem;padding:16px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;z-index:1000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.confirm-modal{background:var(--card);border-radius:var(--radius-xl);padding:32px 24px;width:100%;max-width:320px;text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:modalIn .22s var(--ease)}.confirm-modal-icon{font-size:2.4rem;margin-bottom:12px}.confirm-modal h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:6px}.confirm-modal p{font-size:.82rem;color:var(--text2)}.btn-danger{background:var(--expense);color:#fff;box-shadow:0 4px 14px #ff5c7259}.btn-danger:hover{background:#e04060;box-shadow:0 6px 18px #ff5c7273}.insights-body{display:flex;flex-direction:column;gap:14px}.insight-section{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.insight-section-header{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--border);background:var(--card)}.insight-num{font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:600;color:var(--violet);background:var(--violet-soft);border:1px solid rgba(59,130,246,.2);padding:3px 7px;border-radius:6px;letter-spacing:.04em;flex-shrink:0}.insight-section-header h4{font-size:.82rem;font-weight:700;color:var(--text);letter-spacing:.01em;margin:0}.insight-content{padding:14px 15px}.insight-muted{font-size:.82rem;color:var(--text2);line-height:1.55}.insight-badge{padding:11px 14px;border-radius:var(--radius-sm);font-size:.83rem;line-height:1.5;border:1px solid}.insight-badge--green{background:var(--income-soft);border-color:#00d4aa40;color:var(--income)}.insight-badge--red{background:var(--expense-soft);border-color:#ff5c7240;color:var(--expense)}.insight-badge--amber{background:#f5a6231a;border-color:#f5a6234d;color:var(--gold)}.insight-anomaly-row{background:var(--expense-soft);border:1px solid rgba(255,92,114,.18);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px}.insight-anomaly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:.85rem;font-weight:600;color:var(--text)}.insight-anomaly-values{font-size:.78rem;color:var(--text2);font-family:JetBrains Mono,monospace}.insight-pill{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;letter-spacing:.02em}.insight-pill--red{background:var(--expense);color:#fff}.insight-pill--delta{color:var(--expense);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;margin-left:6px}.insight-action-row{background:var(--violet-soft);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px}.insight-action-label{font-size:.8rem;font-weight:700;color:var(--violet);margin-bottom:4px}.insight-action-body{font-size:.8rem;color:var(--text2);line-height:1.5}.insight-leak-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.insight-leak-label{flex:1;font-size:.88rem;font-weight:600;color:var(--text)}.insight-leak-pct{font-size:.75rem;color:var(--expense);font-weight:600}.insight-leak-amount{font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;color:var(--text)}.insight-macro-grid{display:flex;gap:10px;flex-wrap:wrap}.insight-macro-tile{flex:1;min-width:120px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;text-align:center}.insight-macro-val{font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:700;color:var(--text);line-height:1.1;margin-bottom:4px}.insight-macro-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:4px}.insight-macro-note{font-size:.7rem;color:var(--text2);line-height:1.4}.insight-day-grid{display:flex;gap:10px}.insight-day-tile{flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center}.insight-day-tile--alt{border-color:#f5a6234d;background:#f5a6230d}.insight-day-val{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:4px}.insight-day-label{font-size:.7rem;color:var(--text2)}.insight-bar-chart{display:flex;align-items:flex-end;gap:10px;height:104px;padding:0 2px 6px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--border);scroll-snap-type:x proximity}.insight-bar-col{flex:0 0 auto;width:42px;display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:flex-end;height:100%;scroll-snap-align:start}.insight-bar-val{font-size:.62rem;color:var(--text3);font-family:JetBrains Mono,monospace;line-height:1;white-space:nowrap}.insight-bar-fill{width:100%;background:linear-gradient(180deg,var(--expense) 0%,var(--expense-soft) 100%);border-radius:6px 6px 2px 2px;transition:height .4s var(--ease-out)}.insight-bar-fill--active{background:linear-gradient(180deg,var(--violet) 0%,var(--violet-soft) 100%);box-shadow:0 0 0 1px var(--violet)}.insight-bar-label{font-size:.6rem;color:var(--text3);text-align:center;white-space:nowrap;line-height:1;display:flex;align-items:center;gap:3px}.insight-bar-current-dot{width:5px;height:5px;border-radius:50%;background:var(--violet);flex-shrink:0}.summary{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px;background:var(--card)}.summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:13px 16px;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none;background:var(--card2)}.summary-row .k{font-size:.82rem;color:var(--text2);font-weight:500}.summary-row .v{font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.summary-row .v.income{color:var(--income-text)}.summary-row .v.expense{color:var(--expense-text)}.summary-row .v-stack{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.summary-row--closing{padding-top:15px;padding-bottom:15px}.summary-row--closing .k{font-weight:700;color:var(--text)}.v--closing{font-size:1.3rem;font-weight:700}.v-sub{font-size:.66rem;color:var(--text3);font-weight:500}.predictive{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);border-left:4px solid var(--violet);background:var(--card);margin-bottom:16px}.predictive-dot{width:8px;height:8px;border-radius:50%;background:var(--violet);margin-top:6px;flex-shrink:0}.predictive-body{min-width:0}.predictive-lead{font-size:.86rem;font-weight:600;color:var(--text);margin:0;line-height:1.4}.run-rate-note{font-size:.74rem;color:var(--text2);margin:5px 0 0;line-height:1.45}.transactions-list{border-top:1px solid var(--border);padding:0 4px}.transaction-item{border:none;border-radius:0;margin-bottom:0;border-bottom:1px solid var(--border)}.transaction-item:last-child{border-bottom:none}.transaction-item:hover{border-color:var(--border)}.transaction-content{background:var(--card);padding:12px 8px}.transaction-content:hover{background:var(--card2)}.category-item,.account-item{background:transparent;border:1px solid var(--text3);color:var(--text2)}.category-item:hover{background:transparent;border-color:var(--violet);color:var(--violet);box-shadow:none}.account-item{padding-right:6px}.account-delete-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin:-4px -6px -4px 2px;border:none;border-radius:50%;background:transparent;color:var(--text3);font-size:1.1rem;line-height:1;cursor:pointer;transition:background var(--t),color var(--t)}.account-delete-btn:hover,.account-delete-btn:focus-visible{background:var(--expense-soft);color:var(--expense)}:focus-visible{outline:2px solid var(--violet, #3B82F6);outline-offset:2px;border-radius:4px}.nav-tab:focus-visible,.btn:focus-visible,.theme-btn:focus-visible,.tx-action-btn:focus-visible{outline:2px solid var(--violet, #3B82F6);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scan-bill{margin-bottom:14px}.scan-bill-btn{position:relative;width:100%;min-height:44px;cursor:pointer;justify-content:center}.scan-bill-btn:focus-within{outline:2px solid var(--violet);outline-offset:2px}.scan-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.scan-chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;cursor:pointer}.scan-chip.active{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet)}.auth-link{display:block;margin:14px auto 0;background:none;border:0;color:var(--violet-text);font:inherit;min-height:44px;text-decoration:underline;cursor:pointer}.auth-legal{margin-top:12px;font-size:.78rem;color:var(--text2);text-align:center}.auth-legal a{color:var(--violet-text)}.onboarding-card{border:1px solid var(--violet);border-radius:var(--radius-md);padding:16px;margin-bottom:18px}.onboarding-card h3{margin-bottom:8px}footer[role=contentinfo]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}h1,h2,h3,h4{font-family:var(--font-display)}.chart-container h3,.section-header h3{font-size:1.02rem;font-weight:700;color:var(--text);text-transform:none;text-align:left;letter-spacing:-.02em;margin-bottom:12px}.section-header h3{margin-bottom:0}.summary-row .v{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.auth-form h2{letter-spacing:-.03em}.dash-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 18px 16px;margin-bottom:14px}.dash-title{font-family:var(--font-display);font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 4px}.dash-sub{font-size:.8rem;line-height:1.55;color:var(--text2);margin:0 0 12px}.dash-sub b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.dash-fineprint{font-size:.7rem;line-height:1.5;color:var(--text3);margin:14px 0 0}.dash-canvas{position:relative;height:240px}.tone-good{color:var(--income-text)!important}.tone-bad{color:var(--expense-text)!important}.health-top{display:flex;gap:18px;align-items:center;margin-bottom:14px}.health-ring{width:104px;height:104px;flex-shrink:0}.health-ring-track{fill:none;stroke:var(--border);stroke-width:9}.health-ring-fill{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dasharray .6s var(--ease-out)}.health-ring--good .health-ring-fill{stroke:var(--income)}.health-ring--warn .health-ring-fill{stroke:var(--warning)}.health-ring--bad .health-ring-fill{stroke:var(--expense)}.health-ring-value{font-family:var(--font-display);font-size:30px;font-weight:800;fill:var(--text);letter-spacing:-.03em}.health-ring-of{font-size:10px;fill:var(--text3)}.health-summary{min-width:0}.health-verdict{font-family:var(--font-display);font-size:1.35rem;font-weight:800;letter-spacing:-.03em;margin:0 0 4px}.health-verdict--good{color:var(--income-text)}.health-verdict--warn{color:#9a5b00}[data-theme=dark] .health-verdict--warn{color:var(--warning)}.health-verdict--bad{color:var(--expense-text)}.health-list{list-style:none;display:grid;gap:14px}.health-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.health-item-label{font-size:.82rem;font-weight:600;color:var(--text)}.health-item-figure{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.health-bar{height:5px;border-radius:99px;background:var(--border);margin:6px 0;overflow:hidden}.health-bar-fill{height:100%;border-radius:99px}.health-bar-fill--good{background:var(--income)}.health-bar-fill--warn{background:var(--warning)}.health-bar-fill--bad{background:var(--expense)}.health-item-detail{font-size:.74rem;line-height:1.5;color:var(--text2);margin:0}.action-list{list-style:none;display:grid;gap:10px;margin-top:4px}.action{border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-md);padding:12px 14px}.action--high{border-left-color:var(--expense)}.action--medium{border-left-color:var(--warning)}.action--info{border-left-color:var(--violet)}.action--good{border-left-color:var(--income)}.action-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.action-tag{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text2)}.action-impact{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.action-title{font-family:var(--font-display);font-size:.92rem;font-weight:700;letter-spacing:-.015em;color:var(--text);margin:0 0 3px}.action-detail{font-size:.78rem;line-height:1.55;color:var(--text2);margin:0}.cat-list{list-style:none;display:grid;gap:14px}.cat-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.cat-name{font-size:.85rem;font-weight:600;color:var(--text)}.cat-amount{font-family:var(--font-display);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.cat-bar{position:relative;height:5px;border-radius:99px;background:var(--border);margin:6px 0}.cat-bar-fill{height:100%;border-radius:99px;background:var(--violet)}.cat-limit{position:absolute;top:-3px;width:2px;height:11px;background:var(--text);border-radius:1px}.cat-limit--over{background:var(--expense)}.cat-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.72rem;color:var(--text2)}.cat-flag--up{color:var(--expense-text);font-weight:600}.cat-flag--down{color:var(--income-text);font-weight:600}@media(max-width:380px){.health-top{flex-direction:column;align-items:flex-start}}
