@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:wght@700;800&display=swap";.sidebar{background:var(--black2);z-index:100;flex-direction:column;width:260px;height:100vh;padding:32px 16px;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.sidebar-logo{color:#fff;letter-spacing:-.3px;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:20px;padding:0 10px 28px;font-size:16px;font-weight:800;display:flex}.logo-icon-wrap{width:30px;height:30px;color:var(--black2);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex}.sidebar-section-label{color:#ffffff4d;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;padding:0 10px;font-size:10px;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-item{border-radius:var(--radius3);color:#ffffff73;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:#fffc;background:#ffffff0f}.nav-item.active{color:var(--black2);background:#fff;font-weight:600}.nav-dot{background:var(--black2);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-divider{background:#ffffff14;height:1px;margin:16px 4px}.sidebar-user{border-radius:var(--radius2);background:#ffffff0f;border:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:20px;padding:12px 10px;display:flex}.user-avatar{width:34px;height:34px;color:var(--black2);background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.user-name{color:#fff;font-size:13px;font-weight:600}.user-email{color:#ffffff59;white-space:nowrap;text-overflow:ellipsis;max-width:150px;margin-top:1px;font-size:11px;overflow:hidden}.logout-btn{border-radius:var(--radius3);color:#fff6;background:0 0;border:1px solid #ffffff1a;align-items:center;gap:10px;width:100%;margin-bottom:16px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.logout-btn:hover{color:#fca5a5;background:#dc262626;border-color:#dc26264d}.sidebar-footer{border-top:1px solid #ffffff14;padding:14px 10px 0}.sidebar-footer-label{color:#fff3;font-size:11px;line-height:1.9}.sidebar-badge{color:#4ade80;background:#4ade8026;border:1px solid #4ade8033;border-radius:20px;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.mobile-topbar{background:var(--black2);z-index:98;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:none;position:fixed;top:0;left:0;right:0}.mobile-logo{color:#fff;align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.mobile-logo-ic{width:26px;height:26px;color:var(--black2);background:#fff;border-radius:7px;justify-content:center;align-items:center;font-size:12px;display:flex}.hamburger{color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.mobile-bottomnav{background:var(--black2);z-index:98;border-top:1px solid #ffffff14;justify-content:space-around;align-items:center;height:64px;padding:0 8px;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:#ffffff59;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 20px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.bottom-nav-item.active{color:#fff;background:#ffffff1a}@media (width<=768px){.sidebar{z-index:200;width:280px;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 30px #0000004d}.sidebar-overlay{display:block}.mobile-topbar,.mobile-bottomnav{display:flex}}.theme-toggle-btn{border-radius:var(--radius3);color:#ffffff80;background:0 0;border:1px solid #ffffff1a;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.theme-toggle-btn:hover{color:#ffffffe6;background:#ffffff14}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:default;flex-direction:column;gap:10px;padding:22px;display:flex}.stat-top{justify-content:space-between;align-items:flex-start;display:flex}.stat-label{color:var(--gray2);text-transform:uppercase;letter-spacing:.6px;font-size:12px;font-weight:500}.stat-icon-wrap{background:var(--bg3);width:30px;height:30px;color:var(--gray2);border-radius:8px;justify-content:center;align-items:center;display:flex}.stat-value{color:var(--black);letter-spacing:-.8px;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:1}.stat-sub{color:var(--gray3);font-size:12px;font-weight:400}.modal-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{border:1px solid var(--border);background:#fff;border-radius:20px;width:100%;max-width:480px;padding:28px;box-shadow:0 24px 64px #0000001f}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h3{color:var(--black);letter-spacing:-.4px;font-size:20px;font-weight:800}.modal-close{background:var(--bg3);border:1px solid var(--border);color:var(--gray2);border-radius:8px;align-items:center;padding:7px;transition:all .2s;display:flex}.modal-close:hover{background:var(--redbg);color:var(--red);border-color:var(--redborder)}.modal-type-toggle{background:var(--bg3);border-radius:12px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.modal-type-toggle button{color:var(--gray2);background:0 0;border:none;border-radius:9px;flex:1;padding:9px;font-size:14px;font-weight:600;transition:all .2s}.modal-type-toggle button.active{background:var(--black);color:#fff}.modal-fields{flex-direction:column;gap:14px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-fields textarea{resize:none}.modal-error{color:var(--red);background:var(--redbg);border:1px solid var(--redborder);border-radius:8px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:500}.modal-actions{gap:10px;margin-top:22px;display:flex}.btn-cancel{border-radius:var(--radius2);border:1px solid var(--border2);color:var(--gray1);background:0 0;flex:1;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.btn-cancel:hover{background:var(--bg3)}.btn-save{border-radius:var(--radius2);background:var(--black);color:#fff;border:none;flex:2;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.btn-save:hover{background:var(--black2);transform:translateY(-1px);box-shadow:0 4px 16px #0003}.btn-save:disabled{opacity:.4;transform:none}.category-suggestion{color:#0369a1;cursor:pointer;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;font-size:13px;transition:all .2s;display:flex}.category-suggestion:hover{background:#e0f2fe}.category-suggestion strong{font-weight:700}[data-theme=dark] .category-suggestion{color:#60a5fa;background:#3b82f61a;border-color:#3b82f640}.category-grid{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.cat-chip{border:1px solid var(--border);background:var(--bg3);color:var(--gray2);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:7px 13px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.cat-chip:hover{border-color:var(--border2);color:var(--black)}.cat-chip.active{background:var(--black);border-color:var(--black);color:var(--bg2);font-weight:700}[data-theme=dark] .cat-chip.active{color:#0a0a0a;background:#fff;border-color:#fff}.dashboard{width:100%;max-width:1400px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:36px;display:flex}.page-greeting{color:var(--gray2);margin-bottom:4px;font-size:13px;font-weight:500}.page-header h1{letter-spacing:-1px;color:var(--black);margin-bottom:6px;font-size:32px;font-weight:900;line-height:1}.page-sub{color:var(--gray3);font-size:13px;font-weight:400}.btn-primary{background:var(--black);color:#fff;border-radius:var(--radius2);letter-spacing:-.1px;border:none;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{background:var(--black2);transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.btn-primary:active{transform:scale(.98)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.charts-row{grid-template-columns:340px 1fr;gap:16px;margin-bottom:18px;display:grid}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.chart-card-header{margin-bottom:18px}.chart-card h3{color:var(--black);text-transform:uppercase;letter-spacing:.6px;font-size:13px;font-weight:700}.empty-chart{color:var(--gray3);text-align:center;padding:50px 0;font-size:14px}.pie-legend{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;display:flex}.legend-item{color:var(--gray1);align-items:center;gap:10px;font-size:13px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-val{color:var(--black);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:700}.recent-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.recent-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.recent-card-header h3{text-transform:uppercase;letter-spacing:.6px;font-size:13px;font-weight:700}.recent-count{color:var(--gray3);background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.recent-list{flex-direction:column;display:flex}.recent-item{border-radius:var(--radius2);cursor:default;align-items:center;gap:14px;padding:12px 10px;transition:background .15s;display:flex}.recent-item:hover{background:var(--bg3)}.recent-cat-badge{background:var(--bg3);border:1px solid var(--border);width:38px;height:38px;color:var(--gray1);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.recent-title{color:var(--black);font-size:14px;font-weight:600}.recent-meta{color:var(--gray3);margin-top:2px;font-size:12px}.recent-amount{letter-spacing:-.3px;font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:800}.recent-amount.income{color:var(--green)}.recent-amount.expense{color:var(--red)}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.charts-row{grid-template-columns:1fr}.page-header h1{font-size:24px}}.transactions{width:100%;max-width:1400px}.filters-bar{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.search-wrap{flex:1;min-width:200px;position:relative}.search-icon{color:var(--gray3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{padding-left:36px!important}.month-input{width:155px}.filters-bar select{width:145px}.cat-pills{flex-wrap:wrap;gap:7px;margin-bottom:20px;display:flex}.pill{border:1px solid var(--border);color:var(--gray2);background:#fff;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s}.pill:hover{border-color:var(--black);color:var(--black)}.pill.active{background:var(--black);border-color:var(--black);color:#fff}.tx-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.tx-table{border-collapse:collapse;width:100%;font-size:14px}.tx-table thead tr{background:var(--bg3);border-bottom:1px solid var(--border)}.tx-table th{text-align:left;color:var(--gray3);text-transform:uppercase;letter-spacing:.8px;padding:13px 18px;font-size:10px;font-weight:700}.tx-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 18px}.tx-table tbody tr:last-child td{border-bottom:none}.tx-table tbody tr:hover{background:var(--bg3)}.tx-title{color:var(--black);font-size:14px;font-weight:600}.tx-note{color:var(--gray3);margin-top:3px;font-size:12px}.tx-date{color:var(--gray2);font-size:13px;font-weight:500}.cat-tag{background:var(--bg3);color:var(--gray1);border:1px solid var(--border);border-radius:20px;padding:3px 11px;font-size:12px;font-weight:600}.type-tag{text-transform:capitalize;border-radius:20px;padding:3px 11px;font-size:12px;font-weight:700}.type-tag.expense{background:var(--redbg);color:var(--red);border:1px solid var(--redborder)}.type-tag.income{background:var(--greenbg);color:var(--green);border:1px solid var(--greenborder)}.tx-amount{letter-spacing:-.3px;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.tx-amount.income{color:var(--green)}.tx-amount.expense{color:var(--red)}.tx-actions{gap:6px;display:flex}.tx-actions button{background:var(--bg3);border:1px solid var(--border);color:var(--gray3);border-radius:8px;align-items:center;padding:7px;transition:all .15s;display:flex}.tx-actions button:hover{color:var(--black);border-color:var(--black);background:#fff}.tx-actions button.del:hover{color:var(--red);border-color:var(--redborder);background:var(--redbg)}.empty-state{color:var(--gray3);flex-direction:column;align-items:center;gap:10px;padding:70px;display:flex}@media (width<=768px){.filters-bar{flex-direction:column}.filters-bar select,.month-input{width:100%}.tx-table thead th:nth-child(3),.tx-table thead th:nth-child(4),.tx-table tbody td:nth-child(3),.tx-table tbody td:nth-child(4){display:none}}.btn-export{background:var(--bg3);color:var(--gray1);border:1px solid var(--border);border-radius:var(--radius2);align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-export:hover{background:var(--black);color:var(--bg2);border-color:var(--black)}.budgets{width:100%;max-width:1400px}.budget-add-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:22px 24px}.budget-add-card h3{text-transform:uppercase;letter-spacing:.6px;color:var(--gray2);align-items:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.budget-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.budget-form select{width:180px}.budget-form input{flex:1;min-width:160px}.budget-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.budget-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:default;padding:22px;transition:all .2s}.budget-card:hover{box-shadow:var(--shadow2);transform:translateY(-2px)}.budget-card.over{border-color:var(--redborder)}.budget-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.budget-cat{letter-spacing:-.3px;color:var(--black);font-size:16px;font-weight:800}.budget-status{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.budget-status.ok{background:var(--greenbg);color:var(--green);border:1px solid var(--greenborder)}.budget-status.over{background:var(--redbg);color:var(--red);border:1px solid var(--redborder)}.budget-amounts{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.spent{letter-spacing:-.5px;color:var(--black);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.limit{color:var(--gray3);font-size:12px;font-weight:500}.progress-bar{background:var(--bg4);border-radius:4px;height:4px;margin-bottom:10px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .7s cubic-bezier(.34,1.56,.64,1)}.budget-pct{color:var(--gray3);font-size:12px;font-weight:500}.budget-empty{color:var(--gray3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:12px;padding:70px;font-size:14px;display:flex}@media (width<=768px){.budget-grid{grid-template-columns:1fr}.budget-form{flex-direction:column}.budget-form select,.budget-form input{width:100%}}.profile{width:100%;max-width:900px}.profile-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.profile-card:first-child{grid-column:1/-1}.profile-avatar-section{align-items:center;gap:18px;display:flex}.profile-avatar{background:var(--black);width:64px;height:64px;color:var(--bg);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:900;display:flex}.profile-name{color:var(--black);letter-spacing:-.4px;font-size:20px;font-weight:800}.profile-email-label{color:var(--gray3);margin-top:3px;font-size:14px}.profile-card-header{border-bottom:1px solid var(--border);color:var(--gray2);align-items:center;gap:8px;margin-bottom:20px;padding-bottom:14px;display:flex}.profile-card-header h3{text-transform:uppercase;letter-spacing:.6px;color:var(--gray2);font-size:12px;font-weight:700}.profile-fields{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{color:var(--gray3);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.profile-success{color:var(--green);background:var(--greenbg);border:1px solid var(--greenborder);border-radius:8px;align-items:center;gap:6px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.profile-error{color:var(--red);background:var(--redbg);border:1px solid var(--redborder);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:500}.profile-save-btn{background:var(--black);width:100%;color:var(--bg2);border-radius:var(--radius2);border:none;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.profile-save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.profile-save-btn:disabled{opacity:.4;transform:none}@media (width<=768px){.profile-grid{grid-template-columns:1fr}.profile-card:first-child{grid-column:1}}.accounts{width:100%;max-width:1400px}.btn-secondary{background:var(--bg2);color:var(--black);border:1px solid var(--border2);border-radius:var(--radius2);align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover{background:var(--bg3);transform:translateY(-1px)}.net-worth-card{background:var(--black2);border-radius:var(--radius);color:#fff;margin-bottom:24px;padding:28px 32px;position:relative;overflow:hidden}.net-worth-card:before{content:"";background:#ffffff0a;border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.net-worth-label{color:#fff6;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:11px;font-weight:700}.net-worth-value{color:#fff;letter-spacing:-1.5px;margin-bottom:8px;font-size:42px;font-weight:900;line-height:1}.net-worth-sub{color:#fff6;font-size:13px}.accounts-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.account-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;transition:all .2s;position:relative}.account-card:hover{box-shadow:var(--shadow2);border-color:var(--border2);transform:translateY(-3px)}.account-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.account-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.account-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex}.account-card:hover .account-actions{opacity:1}.account-actions button{background:var(--bg3);border:1px solid var(--border);color:var(--gray2);border-radius:7px;align-items:center;padding:6px;transition:all .15s;display:flex}.account-actions button:hover{color:var(--black);border-color:var(--border2)}.account-actions button.del:hover{color:var(--red);border-color:var(--redborder);background:var(--redbg)}.account-name{color:var(--black);letter-spacing:-.3px;margin-bottom:3px;font-size:16px;font-weight:800}.account-type{color:var(--gray3);margin-bottom:12px;font-size:12px;font-weight:500}.account-balance{letter-spacing:-.8px;font-size:24px;font-weight:900}.account-default-badge{background:var(--bg3);border:1px solid var(--border);color:var(--gray2);border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:14px;right:14px}.account-add-card{border:2px dashed var(--border2);border-radius:var(--radius);color:var(--gray3);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:160px;padding:22px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.account-add-card:hover{border-color:var(--black);color:var(--black);background:var(--bg3)}.color-picker{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:all .15s}.color-dot.active{border-color:var(--black);transform:scale(1.2)}.color-dot:hover{transform:scale(1.1)}.checkbox-label{color:var(--gray2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-label input{cursor:pointer;width:auto}@media (width<=768px){.accounts-grid{grid-template-columns:1fr 1fr}.net-worth-value{font-size:30px}}.recurring{width:100%;max-width:1400px}.recurring-list{flex-direction:column;gap:10px;display:flex}.recurring-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:18px 20px;transition:all .2s;display:flex}.recurring-card:hover{border-color:var(--border2);transform:translate(4px)}.recurring-card.paused{opacity:.5}.recurring-card-left{align-items:center;gap:14px;display:flex}.recurring-freq-badge{border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700}.recurring-title{color:var(--black);font-size:15px;font-weight:700}.recurring-meta{color:var(--gray3);margin-top:2px;font-size:12px}.recurring-next{color:var(--gray3);margin-top:3px;font-size:11px;font-weight:500}.recurring-card-right{align-items:center;gap:14px;display:flex}.recurring-amount{letter-spacing:-.3px;font-size:16px;font-weight:800}.recurring-amount.income{color:var(--green)}.recurring-amount.expense{color:var(--red)}.recurring-actions{gap:6px;display:flex}.recurring-actions button{background:var(--bg3);border:1px solid var(--border);color:var(--gray3);border-radius:7px;align-items:center;padding:7px;transition:all .15s;display:flex}.recurring-actions button:hover{color:var(--black);border-color:var(--border2)}.recurring-actions button.del:hover{color:var(--red);border-color:var(--redborder);background:var(--redbg)}.empty-recurring{color:var(--gray3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:80px;display:flex}.empty-recurring p{font-size:15px;font-weight:500}.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.recurring-card{flex-direction:column;align-items:flex-start;gap:12px}.recurring-card-right{justify-content:space-between;width:100%}}.bills{width:100%;max-width:1400px}.bills-stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.bill-stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;transition:all .2s}.bill-stat-card:hover{box-shadow:var(--shadow2);transform:translateY(-2px)}.bill-stat-label{color:var(--gray3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px;font-weight:700}.bill-stat-value{letter-spacing:-.5px;font-size:24px;font-weight:800}.bills-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.bills-list{flex-direction:column;gap:10px;display:flex}.bill-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:18px 20px;transition:all .2s;display:flex}.bill-card:hover{border-color:var(--border2);transform:translate(4px)}.bill-card.overdue{border-left:3px solid var(--red)}.bill-card.paid{opacity:.6}.bill-card-left{align-items:center;gap:14px;display:flex}.bill-cat-icon{background:var(--bg3);border:1px solid var(--border);width:42px;height:42px;color:var(--gray1);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.bill-title{color:var(--black);font-size:15px;font-weight:700}.bill-meta{color:var(--gray3);margin-top:2px;font-size:12px}.bill-days{margin-top:3px;font-size:11px;font-weight:600}.bill-card-right{align-items:center;gap:12px;display:flex}.bill-amount{color:var(--black);letter-spacing:-.3px;font-size:16px;font-weight:800}.bill-status-badge{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.bill-actions{gap:6px;display:flex}.bill-actions button{background:var(--bg3);border:1px solid var(--border);color:var(--gray3);border-radius:7px;align-items:center;padding:7px;transition:all .15s;display:flex}.bill-actions button:hover{color:var(--black);border-color:var(--border2)}.bill-actions button.del:hover{color:var(--red);border-color:var(--redborder);background:var(--redbg)}.pay-btn:hover{color:var(--green)!important;border-color:var(--greenborder)!important;background:var(--greenbg)!important}:root{--amber:#d97706;--amberbg:#fffbeb}@media (width<=768px){.bills-stats-row{grid-template-columns:repeat(2,1fr)}.bill-card{flex-direction:column;align-items:flex-start;gap:12px}.bill-card-right{justify-content:space-between;width:100%}}.auth-page{background:var(--bg);width:100vw;min-height:100vh;display:flex}.auth-left{background:var(--black2);flex-direction:column;flex:1;justify-content:space-between;padding:52px;display:flex;position:relative;overflow:hidden}.auth-left-pattern{background-image:radial-gradient(circle at 1px 1px,#ffffff0a 1px,#0000 0);background-size:32px 32px;position:absolute;inset:0}.auth-brand{color:#fff;letter-spacing:-.3px;z-index:1;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex;position:relative}.auth-logo{width:36px;height:36px;color:var(--black2);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:flex}.auth-hero{z-index:1;position:relative}.auth-hero h1{color:#fff;letter-spacing:-1.5px;margin-bottom:16px;font-size:44px;font-weight:900;line-height:1.1}.auth-hero p{color:#ffffff73;max-width:400px;font-size:16px;line-height:1.7}.auth-features{z-index:1;flex-direction:column;gap:14px;display:flex;position:relative}.auth-feature{color:#ffffff8c;align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex}.auth-feature-dot{background:#ffffff4d;border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-right{background:var(--bg);justify-content:center;align-items:center;width:480px;padding:40px;display:flex}.auth-card{border:1px solid var(--border);width:100%;box-shadow:var(--shadow2);background:#fff;border-radius:24px;padding:36px}.auth-card-header{margin-bottom:24px}.auth-card-header h2{color:var(--black);letter-spacing:-.6px;margin-bottom:6px;font-size:26px;font-weight:900}.auth-card-header p{color:var(--gray3);font-size:14px;font-weight:400}.auth-tabs{background:var(--bg3);border-radius:12px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.auth-tabs button{color:var(--gray2);background:0 0;border:none;border-radius:9px;flex:1;padding:9px;font-size:14px;font-weight:600;transition:all .2s}.auth-tabs button.active{background:var(--black);color:#fff}.auth-fields{flex-direction:column;gap:16px;margin-bottom:8px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--gray3);text-transform:uppercase;letter-spacing:.7px;font-size:11px;font-weight:700}.pw-wrap{position:relative}.pw-wrap input{padding-right:44px}.pw-toggle{color:var(--gray3);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--black)}.auth-error{background:var(--redbg);border:1px solid var(--redborder);color:var(--red);border-radius:10px;margin:12px 0;padding:11px 14px;font-size:13px;font-weight:500}.auth-submit{background:var(--black);color:#fff;letter-spacing:-.1px;border:none;border-radius:12px;width:100%;margin-top:16px;padding:14px;font-size:15px;font-weight:700;transition:all .2s}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 4px 20px #0003}.auth-submit:disabled{opacity:.4;transform:none}.auth-switch{text-align:center;color:var(--gray3);justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:13px;display:flex}.auth-switch button{color:var(--black);background:0 0;border:none;padding:0;font-size:13px;font-weight:700}.auth-switch button:hover{text-decoration:underline}@media (width<=900px){.auth-left{display:none}.auth-right{width:100%;padding:24px}}@media (width<=480px){.auth-right{padding:16px}.auth-card{padding:24px 20px}}.app-layout{background:var(--bg);width:100vw;min-height:100vh;display:flex}.main-content{flex:1;width:calc(100vw - 260px);min-height:100vh;margin-left:260px;padding:48px 52px}@media (width<=768px){.main-content{width:100vw;margin-left:0;padding:76px 20px 100px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--bg2:#fff;--bg3:#f5f5f5;--bg4:#efefef;--card:#fff;--border:#e8e8e8;--border2:#d4d4d4;--black:#0a0a0a;--black2:#171717;--gray1:#404040;--gray2:#737373;--gray3:#a3a3a3;--gray4:#d4d4d4;--green:#16a34a;--greenbg:#f0fdf4;--greenborder:#bbf7d0;--red:#dc2626;--redbg:#fff1f2;--redborder:#fecdd3;--radius:16px;--radius2:12px;--radius3:8px;--shadow:0 1px 2px #0000000a, 0 4px 16px #0000000a;--shadow2:0 2px 8px #00000014, 0 8px 32px #0000000f}body{background:var(--bg);color:var(--black);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}input,select,textarea{background:var(--bg2);border:1px solid var(--border);color:var(--black);border-radius:var(--radius3);outline:none;width:100%;padding:11px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--black);box-shadow:0 0 0 3px #0a0a0a14}input::placeholder,textarea::placeholder{color:var(--gray3)}select option{color:var(--black);background:#fff}button{cursor:pointer;font-family:Inter,sans-serif}[data-theme=dark]{--bg:#0a0a0a;--bg2:#111;--bg3:#1a1a1a;--bg4:#222;--card:#141414;--border:#2a2a2a;--border2:#383838;--black:#f5f5f5;--black2:#e5e5e5;--gray1:#d4d4d4;--gray2:#a3a3a3;--gray3:#737373;--gray4:#404040;--shadow:0 1px 2px #0000004d, 0 4px 16px #0003;--shadow2:0 2px 8px #0006, 0 8px 32px #0000004d}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--bg3);border-color:var(--border);color:var(--black)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--gray1);box-shadow:0 0 0 3px #ffffff0f}[data-theme=dark] .app-layout{background:var(--bg)}[data-theme=dark] .modal-box,[data-theme=dark] .tx-table-wrap,[data-theme=dark] .auth-card,[data-theme=dark] .chart-card,[data-theme=dark] .stat-card,[data-theme=dark] .recent-card{background:var(--card)}[data-theme=dark] .recent-item:hover{background:var(--bg3)}[data-theme=dark] .budget-card,[data-theme=dark] .budget-add-card,[data-theme=dark] .profile-card{background:var(--card)}[data-theme=dark] .tx-table thead tr,[data-theme=dark] .tx-table tbody tr:hover{background:var(--bg3)}[data-theme=dark] select option{background:var(--bg3);color:var(--black)}[data-theme=dark] .sidebar{background:#000;border-right-color:#ffffff0f}[data-theme=dark] .mobile-topbar{background:#000;border-bottom-color:#ffffff0f}[data-theme=dark] .mobile-bottomnav{background:#000;border-top-color:#ffffff0f}[data-theme=dark] .pill{background:var(--bg3);border-color:var(--border);color:var(--gray2)}[data-theme=dark] .pill.active{background:var(--black);color:var(--bg);border-color:var(--black)}[data-theme=dark] .cat-tag,[data-theme=dark] .btn-export{background:var(--bg3);color:var(--gray1);border-color:var(--border)}[data-theme=dark] .btn-export:hover{background:var(--black);color:var(--bg)}[data-theme=dark] .recent-count{background:var(--bg3);border-color:var(--border);color:var(--gray2)}*{transition:background-color .2s,border-color .2s,color .1s}[data-theme=dark] .btn-primary:hover{background:#e5e5e5}[data-theme=dark] .user-avatar,[data-theme=dark] .logo-icon-wrap{color:#0a0a0a;background:#fff}[data-theme=dark] .stat-icon-wrap{background:var(--bg4);color:var(--gray2)}[data-theme=dark] .recent-cat-badge{background:var(--bg3);border-color:var(--border);color:var(--gray1)}[data-theme=dark] .profile-avatar{color:#0a0a0a;background:#fff}[data-theme=dark] .tx-actions button{background:var(--bg3);border-color:var(--border)}[data-theme=dark] .modal-type-toggle{background:var(--bg3)}[data-theme=dark] .modal-type-toggle button.active{color:#0a0a0a;background:#fff}[data-theme=dark] .auth-tabs{background:var(--bg3)}[data-theme=dark] .auth-tabs button.active{color:#0a0a0a;background:#fff}[data-theme=dark] .budget-add-card h3{color:var(--gray2)}[data-theme=dark] .profile-save-btn{color:#0a0a0a;background:#fff}[data-theme=dark] .logout-btn{border-color:#dc26264d}[data-theme=dark] .nav-item.active{background:#fff;color:#0a0a0a!important}[data-theme=dark] .nav-item.active svg{color:#0a0a0a!important;stroke:#0a0a0a!important}[data-theme=dark] .nav-dot{background:#0a0a0a!important}[data-theme=dark] .btn-primary{color:#0a0a0a!important;background:#fff!important}[data-theme=dark] .btn-primary svg{color:#0a0a0a!important;stroke:#0a0a0a!important}[data-theme=dark] .logo-icon-wrap{color:#0a0a0a!important;background:#fff!important}[data-theme=dark] .logo-icon-wrap svg{color:#0a0a0a!important;stroke:#0a0a0a!important}[data-theme=dark] .user-avatar,[data-theme=dark] .profile-avatar,[data-theme=dark] .profile-save-btn,[data-theme=dark] .auth-submit,[data-theme=dark] .auth-tabs button.active,[data-theme=dark] .modal-type-toggle button.active{color:#0a0a0a!important;background:#fff!important}[data-theme=dark] .pill.active{color:#0a0a0a!important;background:#fff!important;border-color:#fff!important}[data-theme=dark] .bottom-nav-item.active{color:#fff!important;background:#ffffff1a!important}[data-theme=dark] .mobile-logo,[data-theme=dark] .hamburger{color:#fff!important}[data-theme=dark] .sidebar-save-btn,[data-theme=dark] .btn-save{color:#0a0a0a!important;background:#fff!important}[data-theme=dark] .btn-save svg{color:#0a0a0a!important}
