.auth-brand-logo{border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;font-weight:500;display:inline-flex}.auth-brand-name{color:#111827;width:150px;height:30px;font-size:17px;font-weight:700}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:13px;line-height:1.5}.form-label-row{justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;display:flex}.form-label-row label{margin-bottom:0}.auth-forgot-placeholder{color:#2563eb;font-size:12px;font-weight:600}@media (width<=900px){.auth-brand-panel{padding:50px 5%}.auth-login-panel{padding:40px 5%}.auth-brand-message{margin-top:80px}.auth-brand-message h1{font-size:44px}}@media (width<=700px){.auth-page{display:block}.auth-brand-panel{display:none}.auth-login-panel{align-items:flex-start;width:100%;min-height:100vh;padding:30px 22px}.auth-login-container{max-width:410px;margin:0 auto;padding-top:15px}.auth-mobile-brand{display:inline-flex}.auth-header h2{font-size:28px}}@media (width<=480px){.auth-login-panel{padding:25px 18px}.auth-mobile-brand{margin-bottom:40px}.auth-header h2{font-size:26px}.auth-header p{font-size:13px}.auth-register{flex-wrap:wrap}}.google-login-wrapper>div{width:100%}.google-login-wrapper iframe{max-width:100%}.auth-page{background:#f5f7fb;min-height:100vh;display:flex}.auth-brand-panel{box-sizing:border-box;background:linear-gradient(145deg,#eef4ff 0%,#f8fbff 55%,#fff 100%);align-items:center;width:50%;min-height:100vh;padding:60px 7%;display:flex}.auth-brand-content{width:100%;max-width:560px}.auth-brand,.auth-mobile-brand{color:#111827;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-family:inherit;display:inline-flex}.auth-brand-logo{color:#fff;background:#2563eb;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:19px;font-weight:500;display:inline-flex;box-shadow:0 6px 16px #2563eb33}.auth-brand-name{color:#111827;font-size:17px;font-weight:700}.auth-brand-message{margin-top:110px}.auth-brand-eyebrow,.auth-eyebrow{color:#2563eb;letter-spacing:1.2px;font-size:11px;font-weight:700;display:inline-block}.auth-brand-message h1{color:#111827;letter-spacing:-2.5px;margin:14px 0 20px;font-size:clamp(42px,4.5vw,64px);font-weight:750;line-height:1.04}.auth-brand-message p{color:#667085;max-width:520px;margin:0;font-size:16px;line-height:1.7}.auth-brand-benefits{flex-direction:column;gap:14px;margin-top:36px;display:flex}.auth-brand-benefit{color:#475467;align-items:center;gap:10px;font-size:13px;display:flex}.auth-benefit-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-flex}.auth-login-panel{box-sizing:border-box;background:#fff;justify-content:center;align-items:center;width:50%;min-height:100vh;padding:50px 7%;display:flex}.auth-login-container{width:100%;max-width:410px}.auth-mobile-brand{margin-bottom:45px;display:none}.auth-header{margin-bottom:30px}.auth-header h2{color:#111827;letter-spacing:-.7px;margin:10px 0 8px;font-size:32px;font-weight:700;line-height:1.2}.auth-header p{color:#667085;margin:0;font-size:14px;line-height:1.6}.auth-error,.auth-success{border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:13px;line-height:1.5}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.auth-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.auth-form{width:100%}.form-group input{box-sizing:border-box;color:#101828;background:#fff;border:1px solid #d0d5dd;border-radius:9px;outline:none;width:100%;height:48px;padding:0 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:#98a2b3}.form-group input:hover{border-color:#b8c0cc}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.auth-password-wrapper{position:relative}.auth-password-wrapper input{padding-right:44px}.auth-password-toggle{color:#98a2b3;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover{color:#344054;background:#f2f4f7}.auth-password-toggle svg{font-size:16px}.auth-submit-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:9px;width:100%;height:48px;margin-top:4px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.auth-submit-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px #2563eb33}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-register{color:#667085;justify-content:center;gap:5px;margin-top:25px;font-size:13px;display:flex}.auth-register button,.auth-back-button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:600}.auth-register button:hover,.auth-back-button:hover{text-decoration:underline}.auth-divider{text-align:center;margin:30px 0;position:relative}.auth-divider:before{content:"";background:#eaecf0;height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{z-index:1;color:#98a2b3;background:#fff;padding:0 12px;font-size:12px;position:relative}.auth-back-button{color:#667085;justify-content:center;align-items:center;gap:7px;width:100%;font-weight:500;display:flex}.auth-back-button:hover{color:#2563eb}.auth-login-footer{text-align:center;color:#98a2b3;margin:30px 0 0;font-size:11px}@media (width<=900px){.auth-brand-panel{padding:50px 5%}.auth-login-panel{padding:40px 5%}.auth-brand-message{margin-top:80px}.auth-brand-message h1{font-size:44px}}@media (width<=700px){.auth-page{display:block}.auth-brand-panel{display:none}.auth-login-panel{align-items:flex-start;width:100%;min-height:100vh;padding:30px 22px}.auth-login-container{max-width:410px;margin:0 auto;padding-top:15px}.auth-mobile-brand{display:inline-flex}.auth-header h2{font-size:28px}}@media (width<=480px){.auth-login-panel{padding:25px 18px}.auth-mobile-brand{margin-bottom:40px}.auth-header h2{font-size:26px}.auth-header p{font-size:13px}.auth-register{flex-wrap:wrap}}.google-login-wrapper{justify-content:center;width:100%;display:flex}.google-login-status{text-align:center;color:#667085;margin-top:10px;font-size:12px}.dashboard-page{width:100%;padding-bottom:30px}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.dashboard-header h2{color:#111827;margin:0;font-size:24px;font-weight:700}.dashboard-header p{color:#6b7280;margin:6px 0 0;font-size:13px}.dashboard-month-selector{background:#fff;border:1px solid #e5e7eb;border-radius:9px;align-items:center;gap:6px;padding:4px;display:flex}.dashboard-month-arrow{color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;font-size:17px;display:flex}.dashboard-month-arrow:hover{color:#111827;background:#f3f4f6}.dashboard-month-value{color:#111827;justify-content:center;align-items:center;gap:7px;min-width:140px;padding:0 7px;font-size:12px;font-weight:600;display:flex}.dashboard-month-value svg{color:#6b7280;font-size:14px}.dashboard-current-month-wrapper{justify-content:flex-end;margin-top:-7px;margin-bottom:16px;display:flex}.dashboard-current-month-button{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.dashboard-current-month-button:hover{color:#111827;text-decoration:underline}.dashboard-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.dashboard-summary-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:132px;padding:18px}.dashboard-summary-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-summary-card-top>span{color:#6b7280;font-size:11px;font-weight:500}.dashboard-summary-card>strong{color:#111827;margin-top:14px;font-size:22px;font-weight:700;display:block}.dashboard-summary-card>small{color:#9ca3af;margin-top:5px;font-size:10px;line-height:1.4;display:block}.dashboard-summary-icon{border-radius:8px;justify-content:center;align-items:center;width:31px;height:31px;font-size:14px;display:flex}.expense-icon{color:#dc2626;background:#fef2f2}.savings-icon{color:#2563eb;background:#eff6ff}.rate-icon{color:#4b5563;background:#f3f4f6}.negative-icon{color:#dc2626;background:#fef2f2}.savings-card>strong{color:#059669}.negative-card>strong{color:#dc2626}.zero-savings-card>strong{color:#6b7280}.zero-savings-icon{color:#6b7280;background:#f3f4f6}.dashboard-analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.dashboard-panel{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:13px;min-width:0;padding:20px}.dashboard-full-panel{margin-bottom:16px}.dashboard-panel-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.dashboard-panel-header h3{color:#111827;margin:0;font-size:15px;font-weight:650}.dashboard-panel-header p{color:#9ca3af;margin:5px 0 0;font-size:10px}.dashboard-chart-placeholder{color:#6b7280;text-align:center;background:#fafafa;border:1px dashed #d1d5db;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:280px;display:flex}.dashboard-chart-placeholder span{font-size:13px;font-weight:600}.dashboard-chart-placeholder small{color:#9ca3af;font-size:10px}.dashboard-trend-placeholder{min-height:300px}.dashboard-budget-placeholder{color:#6b7280;background:#fafafa;border:1px dashed #d1d5db;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:150px;display:flex}.dashboard-budget-placeholder span{font-size:13px;font-weight:600}.dashboard-budget-placeholder small{color:#9ca3af;font-size:10px}.dashboard-data-status{color:#6b7280;background:#f9fafb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:10px;display:flex}.dashboard-data-status span:first-child{color:#059669;font-weight:600}.dashboard-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:400px;font-size:13px;display:flex}.dashboard-loading-spinner{border:3px solid #e5e7eb;border-top-color:#111827;border-radius:50%;width:25px;height:25px;animation:.8s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-error{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;padding:30px;display:flex}.dashboard-error strong{color:#b91c1c;font-size:14px}.dashboard-error span{color:#dc2626;max-width:500px;font-size:11px}.dashboard-error button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:7px;min-height:36px;margin-top:8px;padding:0 14px;font-size:11px;font-weight:600}@media (width<=1100px){.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analytics-grid{grid-template-columns:1fr}}@media (width<=700px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-month-selector{box-sizing:border-box;justify-content:space-between;width:100%}.dashboard-month-value{flex:1}.dashboard-current-month-wrapper{justify-content:center;margin-top:0}.dashboard-summary-grid{grid-template-columns:1fr}.dashboard-panel{padding:15px}.dashboard-chart-placeholder{min-height:240px}.dashboard-trend-placeholder{min-height:250px}}.dashboard-income-expense-chart{width:100%;min-height:280px}.dashboard-chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;min-width:130px;padding:10px 12px;display:flex;box-shadow:0 6px 18px #00000014}.dashboard-chart-tooltip-label{color:#6b7280;font-size:10px}.dashboard-chart-tooltip strong{color:#111827;font-size:13px}.dashboard-empty-chart{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:280px;display:flex}.dashboard-empty-chart span{font-size:13px;font-weight:600}.dashboard-empty-chart small{color:#9ca3af;font-size:10px}.dashboard-summary-card.expense-card>strong{color:red}.dashboard-category-expense-chart{width:100%;min-height:280px}.dashboard-monthly-trend-chart{width:100%;min-height:300px}.dashboard-trend-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:155px;padding:10px 12px;box-shadow:0 6px 18px #00000014}.dashboard-trend-tooltip-title{color:#111827;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.dashboard-trend-tooltip-row{justify-content:space-between;align-items:center;gap:18px;margin-top:5px;font-size:10px;display:flex}.dashboard-trend-tooltip-row span{color:#6b7280}.dashboard-trend-tooltip-row strong{color:#111827;font-size:11px}.dashboard-budget-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.dashboard-budget-summary-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:9px;padding:14px}.dashboard-budget-summary-item span{color:#6b7280;font-size:10px;display:block}.dashboard-budget-summary-item strong{color:#111827;margin-top:6px;font-size:15px;display:block}.budget-negative-value{color:#dc2626!important}.dashboard-budget-overall{margin-bottom:18px}.dashboard-budget-overall-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.dashboard-budget-overall-header span{color:#6b7280;font-size:10px}.dashboard-budget-overall-header strong{color:#111827;font-size:11px}.dashboard-budget-progress{background:#f3f4f6;border-radius:999px;width:100%;height:8px;overflow:hidden}.dashboard-budget-progress-fill{border-radius:inherit;min-width:0;height:100%;transition:width .35s}.budget-progress-normal{background:#16a34a}.budget-progress-warning{background:#f59e0b}.budget-progress-exceeded{background:#dc2626}.dashboard-critical-budget{box-sizing:border-box;border:1px solid;border-radius:9px;justify-content:space-between;align-items:center;gap:15px;min-height:55px;margin-bottom:18px;padding:12px 14px;display:flex}.dashboard-critical-budget.on-track{background:#f0fdf4;border-color:#bbf7d0}.dashboard-critical-budget.warning{background:#fffbeb;border-color:#fde68a}.dashboard-critical-budget.exceeded{background:#fef2f2;border-color:#fecaca}.dashboard-critical-budget-content{align-items:center;gap:10px;min-width:0;display:flex}.dashboard-critical-budget-label{white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:600}.dashboard-critical-budget.on-track .dashboard-critical-budget-label{color:#15803d;background:#dcfce7}.dashboard-critical-budget.warning .dashboard-critical-budget-label{color:#b45309;background:#fef3c7}.dashboard-critical-budget.exceeded .dashboard-critical-budget-label{color:#b91c1c;background:#fee2e2}.dashboard-critical-budget-content strong{color:#111827;white-space:nowrap;font-size:11px}.dashboard-critical-budget-content small{color:#6b7280;white-space:nowrap;font-size:9px}.dashboard-critical-budget-percentage{color:#111827;white-space:nowrap;font-size:12px;font-weight:700}.dashboard-budget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-budget-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:0;padding:15px;transition:box-shadow .2s,transform .2s}.dashboard-budget-card:hover{transform:translateY(-1px);box-shadow:0 5px 15px #0000000f}.dashboard-budget-card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.dashboard-budget-card-header>div{min-width:0}.dashboard-budget-card-header h4{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:600;overflow:hidden}.dashboard-budget-card-header span{border-radius:5px;margin-top:5px;padding:3px 6px;font-size:8px;font-weight:600;display:inline-block}.dashboard-budget-card.on-track .dashboard-budget-card-header span{color:#15803d;background:#dcfce7}.dashboard-budget-card.warning .dashboard-budget-card-header span{color:#b45309;background:#fef3c7}.dashboard-budget-card.exceeded .dashboard-budget-card-header span{color:#b91c1c;background:#fee2e2}.dashboard-budget-card-header>strong{color:#111827;white-space:nowrap;font-size:12px}.dashboard-budget-amount{align-items:baseline;gap:4px;margin-bottom:9px;display:flex}.dashboard-budget-amount strong{color:#111827;font-size:15px}.dashboard-budget-amount span{color:#9ca3af;font-size:9px}.dashboard-budget-card-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:9px;display:flex}.dashboard-budget-card-footer span{color:#9ca3af;font-size:9px}.dashboard-budget-card-footer strong{color:#374151;font-size:10px}.dashboard-budget-card.exceeded .dashboard-budget-card-footer strong{color:#dc2626}.dashboard-no-budget{text-align:center;background:#fafafa;border:1px dashed #d1d5db;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:190px;padding:30px;display:flex}.dashboard-no-budget-icon{color:#6b7280;background:#f3f4f6;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;margin-bottom:4px;font-size:15px;font-weight:700;display:flex}.dashboard-no-budget strong{color:#374151;font-size:13px}.dashboard-no-budget span{color:#9ca3af;max-width:430px;font-size:10px;line-height:1.5}@media (width<=1100px){.dashboard-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.dashboard-budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-budget-grid{grid-template-columns:1fr}.dashboard-critical-budget{flex-direction:column;align-items:flex-start}.dashboard-critical-budget-content{flex-wrap:wrap}.dashboard-critical-budget-percentage{align-self:flex-end}}@media (width<=450px){.dashboard-budget-summary{grid-template-columns:1fr}}.sidebar{z-index:1000;background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:250px;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;height:80px;padding:0 24px;display:flex}.logo-icon{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.logo-text{color:#6b7280;flex-direction:column;font-size:15px;line-height:18px;display:flex}.logo-text strong{color:#111827;font-size:16px}.sidebar-section{padding:24px 14px 0}.sidebar-section-title{letter-spacing:.08em;color:#9ca3af;margin-bottom:10px;padding:0 12px;font-size:11px;font-weight:700}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-link{color:#6b7280;border-radius:9px;align-items:center;gap:13px;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.sidebar-link:hover{color:#111827;background:#f3f4f6}.sidebar-link.active{color:#fff;background:#111827}.sidebar-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:18px;display:flex}.sidebar-link-label{white-space:nowrap}.account-section{margin-top:8px}.sidebar-bottom{border-top:1px solid #f0f0f0;margin-top:auto;padding:14px}.logout-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:13px;width:100%;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;transition:background-color .2s,color .2s;display:flex}.logout-button:hover{color:#dc2626;background:#fef2f2}@media (width<=900px){.sidebar{width:220px}.sidebar-logo{padding:0 18px}}@media (width<=768px){.sidebar{width:70px}.sidebar-logo{justify-content:center;height:70px;padding:0}.logo-text{display:none}.sidebar-section{padding-left:8px;padding-right:8px}.sidebar-section-title{display:none}.sidebar-link{justify-content:center;padding:0}.sidebar-link-label{display:none}.sidebar-link-icon{font-size:19px}.logout-button{justify-content:center;padding:0}.logout-button .sidebar-link-label{display:none}}.sidebar-logo{box-sizing:border-box;align-items:center;min-height:48px;padding:0 18px;display:flex}.sidebar-logo .brand-logo-horizontal{width:165px;height:auto}.app-header{z-index:1000;box-sizing:border-box;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:80px;padding:0 30px;display:flex;position:fixed;top:0;left:250px;right:0}.header-left{align-items:center;gap:15px;display:flex}.header-title{color:#111827;margin:0;font-size:21px;font-weight:700}.header-subtitle{color:#9ca3af;margin-top:4px;font-size:12px}.header-right{align-items:center;gap:18px;display:flex}.notification-button{color:#4b5563;cursor:pointer;background:#f9fafb;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;display:flex;position:relative}.notification-button:hover{background:#f3f4f6}.notification-button{position:relative}.notification-count-badge{box-sizing:border-box;color:#fff;background:#ef4444;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-7px;right:-8px}.header-divider{background:#e5e7eb;width:1px;height:35px}.profile-button{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px;display:flex}.profile-avatar{color:#fff;background:#111827;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.profile-info{flex-direction:column;align-items:flex-start;display:flex}.profile-name{color:#111827;font-size:13px;font-weight:600}.profile-role{color:#9ca3af;margin-top:2px;font-size:11px}.profile-chevron{color:#9ca3af;font-size:15px}.mobile-menu-button{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:none}@media (width<=900px){.app-header{padding:0 20px;left:220px}}@media (width<=768px){.app-header{height:70px;padding:0 15px;left:70px}.mobile-menu-button{display:flex}.header-subtitle,.profile-info,.profile-chevron{display:none}.header-right{gap:10px}.header-divider{display:none}}.app-layout{background:#f5f7fa;min-height:100vh}.app-main{min-height:100vh;margin-left:250px}.app-content{box-sizing:border-box;min-height:100vh;padding:110px 30px 30px}@media (width<=900px){.app-main{margin-left:220px}.app-content{padding:105px 25px 25px}}@media (width<=768px){.app-main{margin-left:70px}.app-content{padding:100px 15px 20px}}.landing-page{color:#111827;background:#fff;width:100%;min-height:100vh;font-family:inherit;overflow-x:hidden}.landing-container{width:min(1180px,100% - 48px);margin:0 auto}.landing-navbar{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border-bottom:1px solid #e5e7ebcc;width:100%;position:sticky;top:0}.landing-navbar-inner{justify-content:space-between;align-items:center;gap:30px;height:72px;display:flex}.landing-brand{color:#111827;white-space:nowrap;align-items:center;gap:9px;font-size:16px;font-weight:750;text-decoration:none;display:inline-flex}.landing-brand-icon{color:#fff;background:#2563eb;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 5px 14px #2563eb33}.landing-brand-icon svg{font-size:17px}.landing-nav{align-items:center;gap:30px;display:flex}.landing-nav a{color:#6b7280;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.landing-nav a:hover{color:#111827}.landing-nav-actions{align-items:center;gap:16px;display:flex}.landing-login-link{color:#374151;font-size:13px;font-weight:600;text-decoration:none}.landing-login-link:hover{color:#2563eb}.landing-nav-button{color:#fff;background:#2563eb;border-radius:8px;justify-content:center;align-items:center;height:38px;padding:0 17px;font-size:12px;font-weight:650;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 5px 14px #2563eb2e}.landing-nav-button:hover{background:#1d4ed8;transform:translateY(-1px)}.landing-hero{background:radial-gradient(circle at 75% 20%,#dbeafeb8,#0000 32%),linear-gradient(#fff 0%,#f8fbff 100%);padding:105px 0 90px;position:relative;overflow:hidden}.landing-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);align-items:center;gap:70px;display:grid}.landing-eyebrow{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:20px;align-items:center;gap:7px;width:fit-content;margin-bottom:22px;padding:7px 11px;font-size:11px;font-weight:650;display:inline-flex}.landing-eyebrow-dot{background:#2563eb;border-radius:50%;width:6px;height:6px}.landing-hero-content h1{color:#111827;letter-spacing:-2.8px;max-width:620px;margin:0;font-size:clamp(44px,5vw,68px);font-weight:780;line-height:1.02}.landing-hero-content h1 span{color:#2563eb}.landing-hero-description{color:#6b7280;max-width:570px;margin:25px 0 0;font-size:16px;line-height:1.7}.landing-hero-actions{align-items:center;gap:12px;margin-top:30px;display:flex}.landing-primary-button{color:#fff;background:#2563eb;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:46px;padding:0 20px;font-size:13px;font-weight:650;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 20px #2563eb2e}.landing-primary-button:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 12px 24px #2563eb38}.landing-primary-button svg{font-size:15px}.landing-secondary-button{color:#374151;background:#fff;border:1px solid #dbe1e9;border-radius:8px;justify-content:center;align-items:center;height:46px;padding:0 20px;font-size:13px;font-weight:650;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.landing-secondary-button:hover{background:#f9fafb;border-color:#cbd5e1}.landing-hero-note{color:#9ca3af;align-items:center;gap:7px;margin-top:18px;font-size:11px;display:flex}.landing-hero-note svg{color:#16a34a;font-size:13px}.landing-dashboard-wrapper{width:100%;position:relative}.landing-dashboard-glow{filter:blur(30px);background:radial-gradient(#2563eb2e,#0000 65%);position:absolute;inset:10% -5% -10%}.landing-dashboard-card{box-sizing:border-box;background:#fffffff5;border:1px solid #e5e7eb;border-radius:18px;width:100%;padding:20px;position:relative;transform:perspective(1200px)rotateY(-3deg)rotateX(1deg);box-shadow:0 30px 70px #0f172a1f}.landing-dashboard-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.landing-dashboard-header div:first-child{flex-direction:column;gap:4px;display:flex}.landing-dashboard-header span{color:#9ca3af;font-size:9px}.landing-dashboard-header strong{color:#111827;font-size:13px}.landing-dashboard-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:9px;font-weight:700;display:flex}.landing-dashboard-kpis{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.landing-kpi{background:#fafbfc;border:1px solid #eef0f3;border-radius:10px;padding:12px}.landing-kpi span{color:#9ca3af;font-size:8px;display:block}.landing-kpi strong{color:#111827;margin-top:5px;font-size:15px;display:block}.landing-kpi small{color:#9ca3af;margin-top:5px;font-size:7px;display:block}.landing-kpi small.positive{color:#16a34a}.landing-chart-card{background:#fff;border:1px solid #eef0f3;border-radius:11px;padding:14px}.landing-chart-header{justify-content:space-between;align-items:center;display:flex}.landing-chart-header div{flex-direction:column;gap:3px;display:flex}.landing-chart-header span{color:#6b7280;font-size:8px}.landing-chart-header strong{color:#111827;font-size:10px}.landing-chart-header svg{color:#2563eb;font-size:16px}.landing-chart{height:145px;margin-top:15px;position:relative;overflow:hidden}.landing-chart-line{background:#f1f5f9;height:1px;position:absolute;left:0;right:0}.landing-chart-line.line-one{top:20%}.landing-chart-line.line-two{top:50%}.landing-chart-line.line-three{top:80%}.landing-chart-bars{justify-content:space-between;align-items:flex-end;gap:14px;height:100%;display:flex;position:absolute;bottom:0;left:5%;right:5%}.landing-chart-bars span{opacity:.8;background:linear-gradient(#60a5fa,#2563eb);border-radius:5px 5px 2px 2px;width:100%;max-width:34px}.landing-dashboard-bottom{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.landing-mini-card{box-sizing:border-box;background:#fafbfc;border:1px solid #eef0f3;border-radius:10px;align-items:center;gap:10px;min-height:62px;padding:10px;display:flex;position:relative}.landing-mini-icon{color:#2563eb;background:#eff6ff;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.landing-mini-icon svg{font-size:13px}.landing-mini-card span{color:#9ca3af;font-size:7px;display:block}.landing-mini-card strong{color:#374151;margin-top:3px;font-size:10px;display:block}.landing-progress{background:#e5e7eb;border-radius:4px;height:3px;position:absolute;bottom:6px;left:10px;right:10px;overflow:hidden}.landing-progress span{background:#2563eb;border-radius:4px;height:100%}.landing-intro{text-align:center;padding:100px 0 80px}.landing-section-label{color:#2563eb;letter-spacing:1.4px;margin:0 0 12px;font-size:10px;font-weight:750}.landing-intro h2{color:#111827;letter-spacing:-1.5px;max-width:700px;margin:0 auto;font-size:clamp(30px,4vw,46px);line-height:1.1}.landing-section-description{color:#6b7280;max-width:650px;margin:20px auto 0;font-size:15px;line-height:1.7}.landing-features{background:#f8fafc;padding:90px 0}.landing-section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:40px;display:flex}.landing-section-heading h2{color:#111827;letter-spacing:-1.4px;max-width:650px;margin:0;font-size:clamp(28px,3.5vw,42px);line-height:1.1}.landing-section-heading>p{color:#6b7280;max-width:360px;margin:0;font-size:13px;line-height:1.6}.landing-feature-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.landing-feature-card{box-sizing:border-box;background:#fff;border:1px solid #e8edf3;border-radius:16px;min-height:290px;padding:25px;transition:transform .2s,box-shadow .2s}.landing-feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0f172a12}.landing-feature-card.large{grid-column:span 1}.landing-feature-icon{color:#2563eb;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:20px;display:flex}.landing-feature-icon svg{font-size:18px}.landing-feature-card h3{color:#111827;letter-spacing:-.3px;margin:0;font-size:18px}.landing-feature-card>p{color:#6b7280;max-width:500px;margin:10px 0 0;font-size:12px;line-height:1.7}.landing-feature-visual{background:#fafbfc;border:1px solid #eef0f3;border-radius:10px;margin-top:24px;padding:12px}.transactions-visual div{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.transactions-visual div:last-child{border-bottom:none}.transactions-visual span{color:#6b7280;font-size:8px}.transactions-visual strong{color:#374151;font-size:8px}.landing-budget-visual{margin-top:25px}.landing-budget-top{justify-content:space-between;margin-bottom:9px;display:flex}.landing-budget-top span{color:#9ca3af;font-size:8px}.landing-budget-top strong{color:#2563eb;font-size:9px}.landing-budget-track{background:#e5e7eb;border-radius:10px;width:100%;height:7px;overflow:hidden}.landing-budget-track span{border-radius:inherit;background:#2563eb;width:72%;height:100%;display:block}.landing-goal-visual{margin-top:25px}.landing-goal-visual>div:first-child{justify-content:space-between;gap:10px;margin-bottom:9px;display:flex}.landing-goal-visual span{color:#6b7280;font-size:8px}.landing-goal-visual strong{color:#374151;font-size:8px}.landing-goal-track{background:#e5e7eb;border-radius:10px;height:7px;overflow:hidden}.landing-goal-track span{background:#16a34a;width:70%;height:100%;display:block}.landing-insight-visual{background:#f8fafc;border-radius:10px;flex-direction:column;margin-top:24px;padding:16px;display:flex}.landing-insight-visual span{color:#9ca3af;font-size:8px}.landing-insight-visual strong{color:#111827;letter-spacing:-1px;margin-top:5px;font-size:27px}.landing-insight-visual small{color:#16a34a;margin-top:3px;font-size:8px}.landing-notification-visual{grid-template-columns:1fr 1fr;gap:10px;margin-top:23px;display:grid}.landing-notification-visual>div{background:#fafbfc;border:1px solid #eef0f3;border-radius:9px;grid-template-columns:28px 1fr;column-gap:8px;padding:11px;display:grid}.landing-notification-icon{color:#2563eb;background:#eff6ff;border-radius:7px;grid-row:span 2;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.landing-notification-icon svg{font-size:12px}.landing-notification-visual span{color:#9ca3af;font-size:7px}.landing-notification-visual strong{color:#374151;margin-top:3px;font-size:8px;line-height:1.4}.landing-how{background:#fff;padding:110px 0}.landing-section-heading.centered{text-align:center;max-width:700px;margin:0 auto 60px;display:block}.landing-section-heading.centered h2{max-width:650px;margin:0 auto}.landing-section-heading.centered>p:last-child{max-width:540px;margin:17px auto 0}.landing-steps{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.landing-step{border-top:1px solid #e5e7eb;padding:25px;position:relative}.landing-step-number{color:#2563eb;letter-spacing:1px;margin-bottom:30px;font-size:11px;font-weight:750}.landing-step h3{color:#111827;margin:0;font-size:21px}.landing-step p{color:#6b7280;margin:10px 0 0;font-size:12px;line-height:1.7}.landing-cta{padding:20px 0 100px}.landing-cta-card{color:#fff;background:radial-gradient(circle at 80% 20%,#60a5fa40,#0000 35%),#172554;border-radius:20px;justify-content:space-between;align-items:center;gap:40px;padding:50px 55px;display:flex;overflow:hidden}.landing-cta-card .landing-section-label{color:#93c5fd}.landing-cta-card h2{color:#fff;letter-spacing:-1.5px;max-width:650px;margin:0;font-size:clamp(28px,4vw,43px);line-height:1.1}.landing-cta-card p:last-child{color:#bfdbfe;margin:14px 0 0;font-size:13px}.landing-footer{background:#fff;border-top:1px solid #eef0f3}.landing-footer-inner{justify-content:space-between;align-items:center;gap:20px;min-height:78px;display:flex}.landing-footer .landing-brand{font-size:13px}.landing-footer .landing-brand-icon{border-radius:7px;width:27px;height:27px}.landing-footer .landing-brand-icon svg{font-size:14px}.landing-footer p{color:#9ca3af;margin:0;font-size:9px}@media (width<=1050px){.landing-hero-grid{grid-template-columns:1fr;gap:55px}.landing-hero-content{text-align:center;max-width:720px;margin:0 auto}.landing-eyebrow{margin-left:auto;margin-right:auto}.landing-hero-content h1{margin:0 auto}.landing-hero-description{margin-left:auto;margin-right:auto}.landing-hero-actions,.landing-hero-note{justify-content:center}.landing-dashboard-wrapper{max-width:760px;margin:0 auto}}@media (width<=800px){.landing-nav{display:none}.landing-section-heading{display:block}.landing-section-heading>p{margin-top:15px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card.large{grid-column:span 1}.landing-steps{grid-template-columns:1fr}.landing-step{padding:22px 0}.landing-cta-card{flex-direction:column;align-items:flex-start;padding:40px 30px}}@media (width<=600px){.landing-container{width:min(100% - 32px,1180px)}.landing-navbar-inner{height:64px}.landing-brand{font-size:14px}.landing-nav-actions{gap:9px}.landing-login-link{font-size:11px}.landing-nav-button{height:34px;padding:0 12px;font-size:10px}.landing-hero{padding:70px 0 60px}.landing-hero-content h1{letter-spacing:-2px;font-size:43px}.landing-hero-description{font-size:13px}.landing-hero-actions{flex-direction:column;align-items:stretch}.landing-primary-button,.landing-secondary-button{width:100%}.landing-dashboard-card{border-radius:13px;padding:12px;transform:none}.landing-dashboard-kpis,.landing-dashboard-bottom{grid-template-columns:1fr}.landing-chart-bars{gap:7px}.landing-chart-bars span{max-width:22px}.landing-intro,.landing-features,.landing-how{padding:70px 0}.landing-feature-card{min-height:auto;padding:20px}.landing-notification-visual{grid-template-columns:1fr}.landing-cta{padding-bottom:70px}.landing-cta-card{padding:35px 24px}.landing-footer-inner{flex-direction:column;justify-content:center;align-items:flex-start;padding:18px 0}}.footer-p{gap:15px;display:flex}.footer-text-p{color:#9ca3af;font-size:10px;text-decoration:none}.categories-page{width:100%}.categories-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.categories-header h2{color:#111827;margin:0;font-size:24px;font-weight:700}.categories-header p{color:#6b7280;margin-top:6px;font-size:13px}.add-category-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.add-category-button:hover{background:#1f2937}.categories-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:13px}.category-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:25px;padding:24px}.section-heading{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:16px;display:flex}.section-heading h3{color:#111827;margin:0;font-size:17px}.section-heading p{color:#9ca3af;margin-top:5px;font-size:12px}.category-count{color:#374151;background:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.category-list,.child-category-list{flex-direction:column;display:flex}.category-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:10px 0;display:flex}.category-row:last-child{border-bottom:none}.category-info{align-items:center;gap:12px;display:flex}.category-icon{border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:flex}.income-icon{color:#059669;background:#ecfdf5}.category-info h4{color:#111827;margin:0;font-size:14px;font-weight:600}.category-info span{color:#9ca3af;text-transform:capitalize;margin-top:3px;font-size:11px;display:block}.category-actions{align-items:center;gap:6px;display:flex}.edit-button,.delete-button{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.edit-button{color:#4b5563;background:#f3f4f6}.edit-button:hover{color:#111827;background:#e5e7eb}.delete-button{color:#dc2626;background:#fef2f2}.delete-button:hover{background:#fee2e2}.expense-category-groups{flex-direction:column;gap:15px;display:flex}.expense-group{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.expense-group-header{background:#f9fafb;justify-content:space-between;align-items:center;min-height:62px;padding:10px 15px;display:flex}.expense-group-header h4{color:#111827;text-transform:capitalize;margin:0;font-size:14px;font-weight:700}.expense-group-header span{color:#9ca3af;text-transform:capitalize;margin-top:3px;font-size:11px;display:block}.child-category-list{padding:0 15px}.child-row{min-height:56px}.category-dot{background:#9ca3af;border-radius:50%;flex-shrink:0;width:8px;height:8px}.no-children{color:#9ca3af;padding:16px;font-size:12px}.empty-category{text-align:center;color:#9ca3af;padding:30px;font-size:13px}.categories-loading{color:#6b7280;justify-content:center;align-items:center;min-height:300px;font-size:14px;display:flex}.category-modal-overlay{z-index:2000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.category-modal{background:#fff;border-radius:14px;width:100%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 50px #00000026}.modal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.modal-header h3{color:#111827;margin:0;font-size:18px}.modal-header p{color:#9ca3af;margin-top:5px;font-size:12px}.modal-close-button{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:flex}.modal-close-button:hover{background:#e5e7eb}.category-form{padding:24px}.form-group{margin-bottom:18px}.form-group label{color:#374151;margin-bottom:7px;font-size:13px;font-weight:600;display:flex}.form-group input,.form-group select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;height:44px;padding:0 12px;font-size:13px}.form-group input:focus,.form-group select:focus{border-color:#111827}.type-options{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.type-option{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:10px;align-items:center;gap:10px;min-height:52px;padding:0 16px;font-size:13px;font-weight:500;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.type-option input[type=radio]{accent-color:#111827;cursor:pointer;border:none;flex:0 0 16px;width:16px;height:16px;margin:0;padding:0}.type-option:has(input[type=radio]:checked){background:#f9fafb;border-color:#111827;display:flex;box-shadow:0 0 0 1px #111827}.type-option span{line-height:1}.type-option:hover{background:#f9fafb;border-color:#9ca3af}.form-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:18px 24px 0;padding:11px 13px;font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.cancel-button,.save-category-button{cursor:pointer;border-radius:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600}.cancel-button{color:#374151;background:#fff;border:1px solid #d1d5db}.cancel-button:hover{background:#f9fafb}.save-category-button{color:#fff;background:#111827;border:none}.save-category-button:hover{background:#1f2937}.cancel-button:disabled,.save-category-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.categories-header{flex-direction:column;align-items:flex-start}.add-category-button{width:100%}.category-section{padding:18px}.category-modal-overlay{padding:12px}.category-modal{max-height:calc(100vh - 24px)}.modal-header,.category-form{padding:18px}.form-error{margin-left:18px;margin-right:18px}.type-options{grid-template-columns:1fr}.category-row{gap:10px}.category-info{min-width:0}.category-info h4{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-actions{flex-shrink:0}}.transactions-page{width:100%}.transactions-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.transactions-header h2{color:#111827;margin:0;font-size:24px;font-weight:700}.transactions-header p{color:#6b7280;margin-top:6px;font-size:13px}.add-transaction-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.add-transaction-button:hover{background:#1f2937}.transactions-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:13px}.transaction-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.summary-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.summary-card-top>span{color:#6b7280;font-size:12px;font-weight:500}.summary-icon{border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:flex}.income-summary-icon{color:#059669;background:#ecfdf5}.expense-summary-icon{color:#dc2626;background:#fef2f2}.balance-summary-icon{color:#374151;background:#f3f4f6}.summary-card strong{font-size:20px;font-weight:700;display:block}.income-value{color:#059669}.expense-value{color:#dc2626}.balance-positive{color:#111827}.balance-negative{color:#dc2626}.transactions-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.transactions-card-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.transactions-card-header h3{color:#111827;margin:0;font-size:16px}.transactions-card-header p{color:#9ca3af;margin-top:5px;font-size:12px}.transaction-filters{background:#f3f4f6;border-radius:8px;gap:5px;padding:4px;display:flex}.transaction-filter{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:32px;padding:0 12px;font-size:12px;font-weight:500}.transaction-filter:hover{color:#111827}.transaction-filter.active{color:#111827;background:#fff;box-shadow:0 1px 3px #00000014}.transactions-table-wrapper{width:100%;overflow-x:auto}.transactions-table{border-collapse:collapse;width:100%;min-width:800px}.transactions-table th{color:#6b7280;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;background:#f9fafb;padding:13px 18px;font-size:11px;font-weight:600}.transactions-table td{vertical-align:middle;border-top:1px solid #f3f4f6;padding:15px 18px}.transactions-table tbody tr:hover{background:#fafafa}.transaction-date{color:#374151;white-space:nowrap;font-size:12px}.transaction-category{align-items:center;gap:10px;display:flex}.transaction-category-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.income-transaction-icon{color:#059669;background:#ecfdf5}.expense-transaction-icon{color:#dc2626;background:#fef2f2}.transaction-category strong{color:#111827;font-size:13px;font-weight:600;display:block}.transaction-category span{color:#9ca3af;text-transform:capitalize;margin-top:3px;font-size:10px;display:block}.transaction-type{border-radius:6px;align-items:center;min-height:25px;padding:0 9px;font-size:10px;font-weight:600;display:inline-flex}.income-type{color:#059669;background:#ecfdf5}.expense-type{color:#dc2626;background:#fef2f2}.transaction-description{text-overflow:ellipsis;white-space:nowrap;color:#6b7280;max-width:180px;font-size:12px;display:block;overflow:hidden}.amount-column{text-align:right!important}.transaction-amount{white-space:nowrap;font-size:13px}.income-amount{color:#059669}.expense-amount{color:#dc2626}.actions-column{text-align:right!important}.transaction-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.transaction-edit-button,.transaction-delete-button{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.transaction-edit-button{color:#4b5563;background:#f3f4f6}.transaction-edit-button:hover{color:#111827;background:#e5e7eb}.transaction-delete-button{color:#dc2626;background:#fef2f2}.transaction-delete-button:hover{background:#fee2e2}.transactions-empty{text-align:center;flex-direction:column;align-items:center;padding:60px 20px;display:flex}.empty-icon{color:#6b7280;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:15px;font-weight:700;display:flex}.transactions-empty h4{color:#111827;margin:0;font-size:15px}.transactions-empty p{color:#9ca3af;margin-top:6px;font-size:12px}.empty-add-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:7px;align-items:center;gap:7px;min-height:38px;margin-top:18px;padding:0 14px;font-size:12px;font-weight:600;display:flex}.transactions-loading{color:#6b7280;justify-content:center;align-items:center;min-height:300px;font-size:14px;display:flex}.transaction-modal-overlay{z-index:2000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.transaction-modal{background:#fff;border-radius:14px;width:100%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 50px #00000026}.transaction-modal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.transaction-modal-header h3{color:#111827;margin:0;font-size:18px}.transaction-modal-header p{color:#9ca3af;margin-top:5px;font-size:12px}.transaction-modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:flex}.transaction-modal-close:hover{background:#e5e7eb}.transaction-form-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:18px 24px 0;padding:11px 13px;font-size:12px}.transaction-form{padding:24px}.transaction-form-group{margin-bottom:18px}.transaction-form-group>label{color:#374151;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:13px;font-weight:600;display:flex}.transaction-form-group>label span{color:#9ca3af;font-size:10px;font-weight:400}.transaction-form-group input[type=text],.transaction-form-group input[type=number],.transaction-form-group input[type=date],.transaction-form-group select,.transaction-form-group textarea{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;font-size:13px}.transaction-form-group input[type=text],.transaction-form-group input[type=number],.transaction-form-group input[type=date],.transaction-form-group select{height:44px;padding:0 12px}.transaction-form-group textarea{resize:vertical;min-height:80px;padding:11px 12px}.transaction-form-group input:focus,.transaction-form-group select:focus,.transaction-form-group textarea:focus{border-color:#111827}.transaction-type-options{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.transaction-type-option{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:9px;align-items:center;gap:9px;min-height:48px;padding:0 14px;font-size:13px;font-weight:500;transition:border-color .2s,background .2s,color .2s;display:flex}.transaction-type-option input[type=radio]{accent-color:#111827;cursor:pointer;flex:0 0 16px;width:16px;height:16px;margin:0}.transaction-type-option.selected{color:#111827;background:#f9fafb;border-color:#111827;box-shadow:0 0 0 1px #111827}.transaction-type-option:first-child.selected{color:#059669}.transaction-type-option:last-child.selected{color:#dc2626}.transaction-type-option:has(input:disabled){cursor:default;opacity:.9}.amount-input-wrapper{position:relative}.amount-input-wrapper>span{color:#6b7280;font-size:14px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.amount-input-wrapper input{padding-left:30px!important}.transaction-modal-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.transaction-cancel-button,.transaction-save-button{cursor:pointer;border-radius:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600}.transaction-cancel-button{color:#374151;background:#fff;border:1px solid #d1d5db}.transaction-cancel-button:hover{background:#f9fafb}.transaction-save-button{color:#fff;background:#111827;border:none}.transaction-save-button:hover{background:#1f2937}.transaction-cancel-button:disabled,.transaction-save-button:disabled,.transaction-modal-close:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.transactions-header{flex-direction:column;align-items:flex-start}.add-transaction-button{width:100%}.transaction-summary{grid-template-columns:1fr}.transactions-card-header{flex-direction:column;align-items:flex-start}.transaction-filters{width:100%}.transaction-filter{flex:1}.transactions-table-wrapper{overflow-x:auto}.transaction-modal-overlay{padding:12px}.transaction-modal{max-height:calc(100vh - 24px)}.transaction-modal-header,.transaction-form{padding:18px}.transaction-form-error{margin-left:18px;margin-right:18px}.transaction-type-options{grid-template-columns:1fr}}.transaction-month-filter{box-sizing:border-box;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:6px;height:34px;padding:0 9px;display:flex}.transaction-month-filter svg{flex-shrink:0;font-size:13px}.transaction-month-filter input{color:#374151;cursor:pointer;background:0 0;border:none;outline:none;height:30px;padding:0;font-family:inherit;font-size:9px}.budgets-page{width:100%}.budgets-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.budgets-header h2{color:#111827;margin:0;font-size:24px;font-weight:700}.budgets-header p{color:#6b7280;margin-top:6px;font-size:13px}.add-budget-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.add-budget-button:hover{background:#1f2937}.budgets-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:13px}.budget-month-bar{align-items:center;gap:12px;width:fit-content;margin:0 auto 20px;display:flex}.month-navigation-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:23px;line-height:1;display:flex}.month-navigation-button:hover{background:#f9fafb}.selected-month{flex-direction:column;align-items:center;min-width:160px;display:flex}.selected-month span{color:#9ca3af;font-size:10px}.selected-month strong{color:#111827;margin-top:3px;font-size:15px}.budget-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.budget-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px}.budget-summary-card span{color:#6b7280;margin-bottom:8px;font-size:11px;display:block}.budget-summary-card strong{color:#111827;font-size:18px;display:block}.budget-summary-spent{color:#dc2626!important}.budget-summary-remaining{color:#059669!important}.budget-summary-negative{color:#dc2626!important}.budget-summary-warning{color:#d97706!important}.budget-summary-normal{color:#059669!important}.budgets-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.budget-card{background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:20px;transition:box-shadow .2s,transform .2s;position:relative}.budget-card:hover{transform:translateY(-1px);box-shadow:0 8px 25px #0000000f}.budget-card.warning{border-color:#f3d49b}.budget-card.exceeded{border-color:#fecaca}.budget-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.budget-card-header h3{color:#111827;margin:0;font-size:15px;font-weight:650}.budget-card-header>div:first-child>span{color:#9ca3af;text-transform:capitalize;margin-top:4px;font-size:10px;display:block}.budget-card-actions{gap:5px;display:flex}.budget-edit-button,.budget-delete-button{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;display:flex}.budget-edit-button{color:#4b5563;background:#f3f4f6}.budget-edit-button:hover{color:#111827;background:#e5e7eb}.budget-delete-button{color:#dc2626;background:#fef2f2}.budget-delete-button:hover{background:#fee2e2}.budget-card-amount{margin-top:22px}.budget-card-amount strong{color:#111827;font-size:23px;font-weight:700;display:block}.budget-card-amount span{color:#9ca3af;margin-top:3px;font-size:10px;display:block}.budget-progress-section{margin-top:20px}.budget-progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.budget-progress-header span{color:#6b7280;font-size:11px}.budget-progress-header strong{color:#374151;font-size:11px}.budget-progress-track{background:#f3f4f6;border-radius:20px;width:100%;height:7px;overflow:hidden}.budget-progress-bar{border-radius:inherit;background:#111827;height:100%;transition:width .3s}.budget-card.warning .budget-progress-bar{background:#d97706}.budget-card.exceeded .budget-progress-bar{background:#dc2626}.budget-card-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:18px;padding-top:15px;display:flex}.budget-card-footer>div:first-child span{color:#9ca3af;margin-bottom:4px;font-size:10px;display:block}.budget-card-footer>div:first-child strong{color:#111827;font-size:13px}.budget-card-footer>div:first-child .negative-remaining{color:#dc2626}.budget-status{border-radius:6px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;font-weight:600;display:flex}.normal-status{color:#059669;background:#ecfdf5}.warning-status{color:#d97706;background:#fffbeb}.exceeded-status{color:#dc2626;background:#fef2f2}.budget-alert-info{color:#9ca3af;margin-top:14px;font-size:10px}.budget-alert-info strong{color:#6b7280}.budgets-empty{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:13px;flex-direction:column;align-items:center;padding:65px 20px;display:flex}.budgets-empty-icon{color:#6b7280;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-weight:700;display:flex}.budgets-empty h3{color:#111827;margin:15px 0 0;font-size:15px}.budgets-empty p{color:#9ca3af;margin-top:6px;font-size:12px}.empty-budget-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:7px;align-items:center;gap:7px;min-height:38px;margin-top:18px;padding:0 14px;font-size:12px;font-weight:600;display:flex}.budgets-loading{color:#6b7280;justify-content:center;align-items:center;min-height:300px;font-size:14px;display:flex}.budget-modal-overlay{z-index:2000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.budget-modal{background:#fff;border-radius:14px;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 50px #00000026}.budget-modal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.budget-modal-header h3{color:#111827;margin:0;font-size:18px}.budget-modal-header p{color:#9ca3af;margin-top:5px;font-size:12px}.budget-modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:flex}.budget-modal-close:hover{background:#e5e7eb}.budget-form-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:18px 24px 0;padding:11px 13px;font-size:12px}.budget-form{padding:24px}.budget-form-group{margin-bottom:18px}.budget-form-group>label{color:#374151;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:13px;font-weight:600;display:flex}.budget-form-group>label span{color:#9ca3af;font-size:10px;font-weight:400}.budget-form-group select,.budget-form-group input[type=month],.budget-form-group input[type=number]{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;height:44px;padding:0 12px;font-size:13px}.budget-form-group select:focus,.budget-form-group input:focus{border-color:#111827}.budget-amount-input{position:relative}.budget-amount-input>span{color:#6b7280;font-size:14px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.budget-amount-input input{padding-left:30px!important}.budget-alert-input{position:relative}.budget-alert-input input{padding-right:40px!important}.budget-alert-input>span{color:#6b7280;font-size:13px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.budget-form-group small{color:#9ca3af;margin-top:6px;font-size:10px;line-height:1.5;display:block}.budget-modal-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.budget-cancel-button,.budget-save-button{cursor:pointer;border-radius:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600}.budget-cancel-button{color:#374151;background:#fff;border:1px solid #d1d5db}.budget-cancel-button:hover{background:#f9fafb}.budget-save-button{color:#fff;background:#111827;border:none}.budget-save-button:hover{background:#1f2937}.budget-cancel-button:disabled,.budget-save-button:disabled,.budget-modal-close:disabled{opacity:.6;cursor:not-allowed}@media (width<=1100px){.budgets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.budgets-header{flex-direction:column;align-items:flex-start}.add-budget-button{width:100%}.budget-summary,.budgets-grid{grid-template-columns:1fr}.budget-month-bar{margin-left:auto;margin-right:auto}.budget-modal-overlay{padding:12px}.budget-modal{max-height:calc(100vh - 24px)}.budget-modal-header,.budget-form{padding:18px}.budget-form-error{margin-left:18px;margin-right:18px}}.currency-restriction-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.currency-restriction-card{background:var(--card-background,#fff);text-align:center;border-radius:16px;width:min(600px,100% - 40px);padding:32px;box-shadow:0 20px 60px #0003}.currency-restriction-icon{background:#0000000f;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;font-size:24px;font-weight:700;display:flex}.currency-restriction-card h3{margin:0 0 10px;font-size:20px}.currency-restriction-card p{opacity:.75;margin:0 0 24px;line-height:1.6}.currency-restriction-card button{cursor:pointer;border:none;border-radius:8px;padding:11px 20px;font-weight:600}.income-page{width:100%}.income-page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.income-page-title{color:#111827;margin:0;font-size:21px;font-weight:700}.income-page-subtitle{color:#9ca3af;margin:5px 0 0;font-size:11px}.income-add-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:11px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.income-add-button:hover{background:#1f2937;transform:translateY(-1px)}.income-add-button svg{font-size:15px}.income-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.income-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.income-summary-card-top{justify-content:space-between;align-items:center;display:flex}.income-summary-label{color:#6b7280;font-size:10px;font-weight:500}.income-summary-value{color:#16a34a;margin-top:8px;font-size:20px;font-weight:700;display:block}.income-summary-description{color:#9ca3af;margin-top:5px;font-size:9px;display:block}.income-filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:13px;display:flex}.income-filter-search{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:180px;height:36px;padding:0 10px;display:flex}.income-filter-search svg{color:#9ca3af;flex-shrink:0;font-size:15px}.income-filter-search input{color:#374151;background:0 0;border:none;outline:none;width:100%;font-size:10px}.income-filter-search input::placeholder{color:#9ca3af}.income-filter-field{min-width:150px}.income-filter-field select,.income-filter-date input{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;width:100%;height:36px;padding:0 9px;font-size:10px}.income-filter-field select:focus,.income-filter-date input:focus,.income-filter-search:focus-within{border-color:#9ca3af}.income-filter-date{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:6px;width:145px;height:36px;padding:0 8px;display:flex}.income-filter-date svg{color:#9ca3af;flex-shrink:0;font-size:14px}.income-filter-date input{border:none;height:auto;padding:0}.income-table-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.income-table-header{border-bottom:1px solid #f3f4f6;padding:16px 18px}.income-table-header h3{color:#111827;margin:0;font-size:13px;font-weight:600}.income-table-header p{color:#9ca3af;margin:4px 0 0;font-size:9px}.income-table-wrapper{width:100%;overflow-x:auto}.income-table{border-collapse:collapse;width:100%;min-width:650px}.income-table th{color:#6b7280;text-align:left;white-space:nowrap;background:#fafafa;border-bottom:1px solid #e5e7eb;height:42px;padding:0 18px;font-size:9px;font-weight:600}.income-table td{color:#374151;border-bottom:1px solid #f3f4f6;height:55px;padding:0 18px;font-size:10px}.income-table tbody tr:last-child td{border-bottom:none}.income-empty-cell{color:#9ca3af!important;text-align:center!important;height:160px!important}@media (width<=1000px){.income-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.income-filter-panel{flex-wrap:wrap}.income-filter-search{flex-basis:100%}}@media (width<=700px){.income-page-header{flex-direction:column;align-items:flex-start}.income-add-button{width:100%}.income-summary-grid{grid-template-columns:1fr}.income-filter-panel{flex-direction:column;align-items:stretch}.income-filter-search,.income-filter-field,.income-filter-date{flex-basis:auto;width:100%;min-width:0}}.income-error-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:18px;padding:11px 13px;font-size:10px}.income-category-badge{color:#15803d;background:#f0fdf4;border-radius:5px;align-items:center;padding:4px 7px;font-size:9px;font-weight:600;display:inline-flex}.income-description{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:250px;display:block;overflow:hidden}.income-amount{color:#16a34a;white-space:nowrap;font-size:11px}.income-action-buttons{align-items:center;gap:5px;display:flex}.income-action-button{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.income-action-button:hover{color:#111827;background:#e5e7eb}.income-delete-button:hover{color:#dc2626;background:#fef2f2}.income-table-state{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:160px;display:flex}.income-empty-title{color:#374151;font-size:11px;font-weight:600}.income-empty-description{color:#9ca3af;text-align:center;font-size:9px}.income-table-error{color:#dc2626;font-size:10px}.income-loading-spinner{border:2px solid #e5e7eb;border-top-color:#111827;border-radius:50%;width:20px;height:20px;margin-bottom:3px;animation:.7s linear infinite income-spin}@keyframes income-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.income-date-value{color:#374151;white-space:nowrap;font-size:10px}.income-modal-overlay{z-index:1000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.income-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 50px #00000026}.income-modal-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 20px;display:flex}.income-modal-header h3{color:#111827;margin:0;font-size:15px;font-weight:700}.income-modal-header p{color:#9ca3af;margin:4px 0 0;font-size:9px}.income-modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:6px;flex-shrink:0;width:28px;height:28px;font-size:19px;line-height:1}.income-modal-close:hover{color:#111827;background:#e5e7eb}.income-form{padding:20px}.income-form-group{margin-bottom:16px}.income-form-group label{color:#374151;margin-bottom:6px;font-size:10px;font-weight:600;display:block}.income-form-group input,.income-form-group select,.income-form-group textarea{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;width:100%;font-family:inherit;font-size:10px;transition:border-color .2s,box-shadow .2s}.income-form-group input,.income-form-group select{height:38px;padding:0 10px}.income-form-group textarea{resize:vertical;min-height:85px;padding:10px}.income-form-group input:focus,.income-form-group select:focus,.income-form-group textarea:focus{border-color:#9ca3af;box-shadow:0 0 0 2px #9ca3af1f}.income-amount-input{background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;height:38px;display:flex;overflow:hidden}.income-amount-input:focus-within{border-color:#9ca3af;box-shadow:0 0 0 2px #9ca3af1f}.income-amount-input span{color:#6b7280;padding-left:10px;font-size:11px;font-weight:600}.income-amount-input input{outline:none;height:100%;padding-left:6px;box-shadow:none!important;border:none!important}.income-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:15px;padding:9px 10px;font-size:9px}.income-form-actions{justify-content:flex-end;gap:8px;padding-top:3px;display:flex}.income-cancel-button,.income-save-button{cursor:pointer;border-radius:7px;min-width:85px;height:36px;padding:0 13px;font-size:10px;font-weight:600}.income-cancel-button{color:#6b7280;background:#fff;border:1px solid #e5e7eb}.income-cancel-button:hover{color:#374151;background:#f9fafb}.income-save-button{color:#fff;background:#111827;border:none}.income-save-button:hover{background:#1f2937}.income-cancel-button:disabled,.income-save-button:disabled,.income-modal-close:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.income-modal-overlay{padding:12px}.income-modal{max-height:calc(100vh - 24px)}.income-modal-header,.income-form{padding:15px}.income-form-actions{flex-direction:column-reverse}.income-cancel-button,.income-save-button{width:100%}}.income-delete-overlay{z-index:1100;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.income-delete-modal{box-sizing:border-box;text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:22px;box-shadow:0 20px 50px #00000026}.income-delete-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 13px;font-size:18px;display:flex}.income-delete-content h3{color:#111827;margin:0;font-size:15px;font-weight:700}.income-delete-content>p{color:#6b7280;margin:6px 0 0;font-size:10px;line-height:1.5}.income-delete-summary{background:#fafafa;border:1px solid #f3f4f6;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding:11px;display:grid}.income-delete-summary div{flex-direction:column;gap:3px;display:flex}.income-delete-summary span{color:#9ca3af;font-size:8px}.income-delete-summary strong{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.income-delete-summary .income-delete-amount{color:#dc2626}.income-delete-warning{color:#dc2626!important;margin-top:12px!important;font-size:9px!important}.income-delete-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.income-confirm-delete-button{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:7px;min-width:105px;height:36px;padding:0 13px;font-size:10px;font-weight:600}.income-confirm-delete-button:hover{background:#b91c1c}.income-confirm-delete-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=500px){.income-delete-overlay{padding:12px}.income-delete-modal{padding:18px}.income-delete-summary{grid-template-columns:1fr}.income-delete-summary div{align-items:center}.income-delete-actions{flex-direction:column-reverse}.income-delete-actions button{width:100%}}.expense-page{width:100%}.expense-page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.expense-page-title{color:#111827;margin:0;font-size:20px;font-weight:700}.expense-page-subtitle{color:#9ca3af;margin:5px 0 0;font-size:11px}.expense-add-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:10px;font-weight:600;transition:background .2s,transform .2s;display:flex}.expense-add-button svg{font-size:14px}.expense-add-button:hover{background:#1f2937;transform:translateY(-1px)}.expense-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px;display:grid}.expense-summary-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;justify-content:center;min-height:105px;padding:17px;display:flex}.expense-summary-label{color:#6b7280;font-size:10px;font-weight:500}.expense-summary-value{color:#dc2626;margin-top:7px;font-size:20px;font-weight:700}.expense-summary-description{color:#9ca3af;margin-top:5px;font-size:8px}.expense-filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:13px;display:flex}.expense-filter-search{box-sizing:border-box;color:#9ca3af;border:1px solid #e5e7eb;border-radius:6px;flex:1;align-items:center;gap:7px;min-width:180px;height:34px;padding:0 9px;display:flex}.expense-filter-search svg{flex-shrink:0;font-size:13px}.expense-filter-search input{color:#374151;background:0 0;border:none;outline:none;width:100%;height:100%;font-family:inherit;font-size:9px}.expense-filter-field select,.expense-filter-date input{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:6px;outline:none;height:34px;padding:0 9px;font-family:inherit;font-size:9px}.expense-filter-field select{cursor:pointer;min-width:145px}.expense-parent-category{color:#374151;white-space:nowrap;font-size:8px;font-weight:600}.expense-filter-date{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:6px;width:145px;height:36px;padding:0 8px;display:flex}.expense-filter-date svg{font-size:12px}.expense-filter-date input{border:none;padding-left:0}.expense-filter-date input:focus{box-shadow:none;outline:none}.expense-error-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;margin-bottom:15px;padding:10px 12px;font-size:9px}.expense-table-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.expense-table-header{border-bottom:1px solid #f3f4f6;padding:16px 18px}.expense-table-header h3{color:#111827;margin:0;font-size:12px;font-weight:700}.expense-table-header p{color:#9ca3af;margin:4px 0 0;font-size:8px}.expense-table-wrapper{width:100%;overflow-x:auto}.expense-table{border-collapse:collapse;width:100%;min-width:850px}.expense-table th{color:#6b7280;text-align:left;white-space:nowrap;background:#fafafa;border-bottom:1px solid #f3f4f6;padding:11px 14px;font-size:8px;font-weight:600}.expense-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:13px 14px;font-size:9px}.expense-table tbody tr:last-child td{border-bottom:none}.expense-table tbody tr:hover{background:#fafafa}.expense-date-value{color:#374151;white-space:nowrap;font-size:9px}.expense-category-badge{color:#b91c1c;white-space:nowrap;background:#fef2f2;border-radius:5px;align-items:center;padding:4px 7px;font-size:8px;font-weight:600;display:inline-flex}.expense-description{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:9px;display:block;overflow:hidden}.expense-amount{color:#dc2626;white-space:nowrap;font-size:10px;font-weight:700}.expense-action-buttons{align-items:center;gap:6px;display:flex}.expense-action-button{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;transition:background .2s,color .2s;display:flex}.expense-action-button:hover{color:#111827;background:#e5e7eb}.expense-delete-button:hover{color:#dc2626;background:#fef2f2}.expense-empty-cell{text-align:center;height:160px}.expense-table-state{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:160px;display:flex}.expense-empty-title{color:#374151;font-size:11px;font-weight:600}.expense-empty-description{color:#9ca3af;text-align:center;font-size:9px}.expense-table-error{color:#dc2626;font-size:10px}.expense-loading-spinner{border:2px solid #e5e7eb;border-top-color:#111827;border-radius:50%;width:20px;height:20px;margin-bottom:3px;animation:.7s linear infinite expense-spin}@keyframes expense-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.expense-modal-overlay{z-index:1000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.expense-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 50px #00000026}.expense-modal-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 20px;display:flex}.expense-modal-header h3{color:#111827;margin:0;font-size:15px;font-weight:700}.expense-modal-header p{color:#9ca3af;margin:4px 0 0;font-size:9px}.expense-modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:6px;flex-shrink:0;width:28px;height:28px;font-size:19px;line-height:1}.expense-modal-close:hover{color:#111827;background:#e5e7eb}.expense-form{padding:20px}.expense-form-group{margin-bottom:16px}.expense-form-group label{color:#374151;margin-bottom:6px;font-size:10px;font-weight:600;display:block}.expense-form-group input,.expense-form-group select,.expense-form-group textarea{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;width:100%;font-family:inherit;font-size:10px;transition:border-color .2s,box-shadow .2s}.expense-form-group input,.expense-form-group select{height:38px;padding:0 10px}.expense-form-group textarea{resize:vertical;min-height:85px;padding:10px}.expense-form-group input:focus,.expense-form-group select:focus,.expense-form-group textarea:focus{border-color:#9ca3af;box-shadow:0 0 0 2px #9ca3af1f}.expense-amount-input{background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;height:38px;display:flex;overflow:hidden}.expense-amount-input:focus-within{border-color:#9ca3af;box-shadow:0 0 0 2px #9ca3af1f}.expense-amount-input span{color:#6b7280;padding-left:10px;font-size:11px;font-weight:600}.expense-amount-input input{outline:none;height:100%;padding-left:6px;box-shadow:none!important;border:none!important}.expense-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:15px;padding:9px 10px;font-size:9px}.expense-form-actions{justify-content:flex-end;gap:8px;padding-top:3px;display:flex}.expense-cancel-button,.expense-save-button{cursor:pointer;border-radius:7px;min-width:85px;height:36px;padding:0 13px;font-size:10px;font-weight:600}.expense-cancel-button{color:#6b7280;background:#fff;border:1px solid #e5e7eb}.expense-cancel-button:hover{color:#374151;background:#f9fafb}.expense-save-button{color:#fff;background:#111827;border:none}.expense-save-button:hover{background:#1f2937}.expense-cancel-button:disabled,.expense-save-button:disabled,.expense-modal-close:disabled{opacity:.6;cursor:not-allowed}.expense-delete-overlay{z-index:1100;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.expense-delete-modal{box-sizing:border-box;text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:22px;box-shadow:0 20px 50px #00000026}.expense-delete-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 13px;font-size:18px;display:flex}.expense-delete-content h3{color:#111827;margin:0;font-size:15px;font-weight:700}.expense-delete-content>p{color:#6b7280;margin:6px 0 0;font-size:10px;line-height:1.5}.expense-delete-summary{background:#fafafa;border:1px solid #f3f4f6;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding:11px;display:grid}.expense-delete-summary div{flex-direction:column;gap:3px;display:flex}.expense-delete-summary span{color:#9ca3af;font-size:8px}.expense-delete-summary strong{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.expense-delete-summary .expense-delete-amount{color:#dc2626}.expense-delete-warning{color:#dc2626!important;margin-top:12px!important;font-size:9px!important}.expense-delete-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.expense-confirm-delete-button{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:7px;min-width:105px;height:36px;padding:0 13px;font-size:10px;font-weight:600}.expense-confirm-delete-button:hover{background:#b91c1c}.expense-confirm-delete-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=1100px){.expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.expense-filter-panel{flex-wrap:wrap}.expense-filter-search{flex:1;min-width:180px;padding:10px}}@media (width<=600px){.expense-page-header{flex-direction:column;align-items:flex-start}.expense-add-button{width:100%}.expense-summary-grid{grid-template-columns:1fr}.expense-filter-panel{flex-direction:column;align-items:stretch}.expense-filter-search{width:100%;min-width:0}.expense-filter-field select,.expense-filter-date{width:100%}.expense-modal-overlay{padding:12px}.expense-modal{max-height:calc(100vh - 24px)}.expense-modal-header,.expense-form{padding:15px}.expense-form-actions{flex-direction:column-reverse}.expense-cancel-button,.expense-save-button{width:100%}.expense-delete-overlay{padding:12px}.expense-delete-modal{padding:18px}.expense-delete-summary{grid-template-columns:1fr}.expense-delete-summary div{align-items:center}.expense-delete-actions{flex-direction:column-reverse}.expense-delete-actions button{width:100%}}.savings-page{width:100%}.savings-page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.savings-page-title{color:#111827;margin:0;font-size:24px;font-weight:700}.savings-page-subtitle{color:#9ca3af;margin:6px 0 0;font-size:13px}.savings-add-button,.savings-primary-button,.savings-secondary-button,.savings-danger-button,.savings-empty-button{cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;transition:background .2s,transform .2s,opacity .2s;display:flex}.savings-add-button{color:#fff;background:#111827;border-radius:9px;min-height:42px;padding:0 18px;font-size:13px;font-weight:600}.savings-add-button:hover{background:#1f2937;transform:translateY(-1px)}.savings-primary-button{color:#fff;background:#111827;border-radius:8px;min-height:42px;padding:0 18px;font-size:12px;font-weight:600}.savings-primary-button:hover{background:#1f2937}.savings-secondary-button{color:#374151;background:#f3f4f6;border-radius:8px;min-height:42px;padding:0 18px;font-size:12px;font-weight:600}.savings-secondary-button:hover{background:#e5e7eb}.savings-danger-button{color:#fff;background:#dc2626;border-radius:8px;min-height:42px;padding:0 18px;font-size:12px;font-weight:600}.savings-danger-button:hover{background:#b91c1c}.savings-primary-button:disabled,.savings-secondary-button:disabled,.savings-danger-button:disabled,.savings-add-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.savings-alert{border-radius:8px;align-items:center;gap:10px;min-height:42px;margin-bottom:20px;padding:0 13px;font-size:12px;display:flex}.savings-alert button{cursor:pointer;width:28px;height:28px;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.savings-alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.savings-alert-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.savings-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px;display:grid}.savings-summary-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:14px;min-height:105px;padding:20px;display:flex}.savings-summary-icon{color:#111827;background:#f3f4f6;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:flex}.savings-summary-label{color:#9ca3af;margin:0 0 5px;font-size:11px}.savings-summary-value{color:#111827;margin:0;font-size:18px;font-weight:700}.savings-content{width:100%}.savings-state{color:#6b7280;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;min-height:250px;padding:30px;font-size:14px;display:flex}.savings-empty-state{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:40px;display:flex}.savings-empty-icon{color:#374151;background:#f3f4f6;border-radius:14px;justify-content:center;align-items:center;width:55px;height:55px;margin-bottom:15px;font-size:24px;display:flex}.savings-empty-state h3{color:#111827;margin:0;font-size:17px;font-weight:700}.savings-empty-state p{color:#9ca3af;max-width:350px;margin:8px 0 20px;font-size:13px;line-height:1.5}.savings-empty-button{color:#fff;background:#111827;border-radius:8px;min-height:40px;padding:0 16px;font-size:12px;font-weight:600}.savings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.saving-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:22px;transition:box-shadow .2s,transform .2s}.saving-card:hover{transform:translateY(-1px);box-shadow:0 8px 25px #1118270f}.saving-card-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.saving-card-title{color:#111827;margin:0;font-size:17px;font-weight:700}.saving-card-date{color:#9ca3af;margin:5px 0 0;font-size:11px}.saving-status{white-space:nowrap;border-radius:20px;justify-content:center;align-items:center;min-height:26px;padding:0 9px;font-size:10px;font-weight:600;display:inline-flex}.saving-status-on_track{color:#16a34a;background:#f0fdf4}.saving-status-completed{color:#2563eb;background:#eff6ff}.saving-status-behind{color:#dc2626;background:#fef2f2}.saving-card-amounts{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.saving-card-amounts div,.saving-card-footer div{flex-direction:column;display:flex}.saving-card-amounts span,.saving-card-footer span{color:#9ca3af;margin-bottom:4px;font-size:10px}.saving-card-amounts strong{color:#111827;font-size:16px;font-weight:700}.saving-saved-value{color:#16a34a!important}.saving-progress-section{margin-bottom:20px}.saving-progress-header{color:#6b7280;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.saving-progress-header strong{color:#111827;font-weight:700}.saving-progress-track{background:#f3f4f6;border-radius:20px;width:100%;height:8px;overflow:hidden}.saving-progress-bar{border-radius:inherit;background:#111827;height:100%;transition:width .4s}.saving-progress-completed{background:#16a34a}.saving-card-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:20px;padding-top:15px;display:flex}.saving-card-footer strong{color:#374151;font-size:12px;font-weight:600}.saving-card-actions{border-top:1px solid #f3f4f6;align-items:center;gap:8px;margin-top:18px;padding-top:15px;display:flex}.saving-action-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:10px;font-weight:600;transition:background .2s,border-color .2s;display:flex}.saving-action-button:hover{background:#f9fafb;border-color:#d1d5db}.saving-action-contribute{color:#fff;background:#111827;border-color:#111827}.saving-action-contribute:hover{background:#1f2937;border-color:#1f2937}.saving-action-button:disabled{opacity:.5;cursor:not-allowed}.saving-icon-button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;display:flex}.saving-icon-button+.saving-icon-button{margin-left:0}.saving-icon-button:hover{color:#111827;background:#f9fafb}.saving-delete-button:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.savings-modal-overlay{z-index:2000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.savings-modal{box-sizing:border-box;background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 20px 50px #1118272e}.savings-modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.savings-modal-header h3{color:#111827;margin:0;font-size:18px;font-weight:700}.savings-modal-header p{color:#9ca3af;margin:5px 0 0;font-size:11px}.savings-modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.savings-modal-close:hover{color:#111827;background:#e5e7eb}.savings-form{flex-direction:column;gap:16px;display:flex}.savings-form-group{flex-direction:column;gap:7px;display:flex}.savings-form-group label{color:#374151;font-size:11px;font-weight:600}.savings-form-group input,.savings-form-group select,.savings-form-group textarea{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;min-height:42px;padding:0 12px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.savings-form-group textarea{resize:vertical;height:auto;min-height:80px;padding-top:10px;padding-bottom:10px}.savings-form-group input:focus,.savings-form-group select:focus,.savings-form-group textarea:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #1118270d}.savings-form-group input::placeholder,.savings-form-group textarea::placeholder{color:#d1d5db}.savings-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.savings-input-wrapper{position:relative}.savings-input-wrapper>span{color:#9ca3af;font-size:12px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.savings-input-wrapper input{padding-left:28px}.savings-modal-actions{border-top:1px solid #f3f4f6;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;padding-top:18px;display:flex}.savings-delete-modal{text-align:center;max-width:420px}.savings-delete-icon{color:#dc2626;background:#fef2f2;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto 15px;font-size:21px;display:flex}.savings-delete-modal h3{color:#111827;margin:0;font-size:18px}.savings-delete-modal p{color:#6b7280;margin:10px 0 0;font-size:12px;line-height:1.6}.savings-delete-modal .savings-modal-actions{border-top:none;justify-content:center;margin-top:20px}.contribution-goal-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.contribution-goal-info>div{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;padding:12px}.contribution-goal-info span{color:#9ca3af;margin-bottom:4px;font-size:9px;display:block}.contribution-goal-info strong{color:#111827;font-size:12px}.selected-income-box{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.selected-income-box div{flex-direction:column;display:flex}.selected-income-box span{color:#60a5fa;margin-bottom:4px;font-size:9px}.selected-income-box strong{color:#1e40af;font-size:13px}.contribution-preview{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.contribution-preview>svg{color:#16a34a;flex-shrink:0;font-size:17px}.contribution-preview div{flex-direction:column;gap:2px;display:flex}.contribution-preview span{color:#9ca3af;font-size:10px}.contribution-preview strong{color:#111827;font-size:12px}.savings-history-modal{max-width:620px}.history-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.history-summary-grid>div{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;padding:13px}.history-summary-grid span{color:#9ca3af;margin-bottom:4px;font-size:9px;display:block}.history-summary-grid strong{color:#111827;font-size:14px}.contribution-list{flex-direction:column;gap:8px;max-height:330px;display:flex;overflow-y:auto}.contribution-item{background:#fff;border:1px solid #f3f4f6;border-radius:9px;align-items:center;gap:12px;padding:12px;display:flex}.contribution-item-icon{color:#16a34a;background:#f0fdf4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.contribution-item-main{flex:1;min-width:0}.contribution-item-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.contribution-item-top strong{color:#111827;font-size:13px}.contribution-item-top span{color:#9ca3af;font-size:10px}.contribution-item-main p{color:#6b7280;margin:4px 0 2px;font-size:10px}.contribution-item-main small{color:#9ca3af;font-size:9px}.history-state{color:#9ca3af;justify-content:center;align-items:center;min-height:180px;font-size:12px;display:flex}.history-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:180px;display:flex}.history-empty>svg{color:#9ca3af;margin-bottom:10px;font-size:25px}.history-empty h4{color:#374151;margin:0;font-size:13px}.history-empty p{color:#9ca3af;margin:5px 0 0;font-size:10px}@media (width<=1100px){.savings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.savings-page-header{flex-direction:column;align-items:flex-start}.savings-add-button{width:100%}.savings-summary-grid{grid-template-columns:1fr;gap:12px}.savings-grid{grid-template-columns:1fr;gap:15px}.saving-card{padding:18px}.saving-card-header{flex-direction:column}.saving-status{align-self:flex-start}.saving-card-actions{flex-wrap:wrap}.saving-action-button{flex:1;min-width:100px}.saving-icon-button{margin-left:0}.savings-modal-overlay{align-items:flex-start;padding:15px}.savings-modal{max-height:calc(100vh - 30px);padding:18px}.savings-form-row,.contribution-goal-info,.history-summary-grid{grid-template-columns:1fr}.contribution-item-top{flex-direction:column;align-items:flex-start;gap:3px}}@media (width<=480px){.savings-page-title{font-size:21px}.saving-card-amounts{gap:10px}.saving-card-amounts strong{font-size:14px}.saving-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.saving-action-button,.saving-icon-button{width:100%}.savings-modal-actions{flex-direction:column-reverse}.savings-modal-actions button{width:100%}}.profile-page{box-sizing:border-box;background:0 0;width:100%;min-height:100%;padding:10px}.profile-page-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:18px;display:flex}.profile-page-header h2{color:#111827;margin:0;font-size:24px;font-weight:700}.profile-page-header p{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.5}.profile-alert{box-sizing:border-box;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;margin-bottom:14px;padding:0 12px;font-size:9px;font-weight:500;display:flex}.profile-alert svg{flex-shrink:0;font-size:13px}.profile-alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.profile-alert-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.profile-form{width:100%}.profile-card{box-sizing:border-box;background:#fff;border:1px solid #eef0f3;border-radius:10px;width:100%;margin-bottom:16px;padding:18px;box-shadow:0 1px 3px #0f172a08}.profile-overview-card{justify-content:space-between;align-items:center;gap:25px;display:flex}.profile-avatar-section{align-items:center;gap:14px;min-width:0;display:flex}.profile-main-avatar{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;display:flex;overflow:hidden}.profile-main-avatar img{object-fit:cover;width:100%;height:100%;display:block}.profile-main-avatar svg{font-size:25px}.profile-overview-content{min-width:0}.profile-overview-content h3{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:700;overflow:hidden}.profile-overview-content p{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;overflow:hidden}.profile-overview-content span{color:#2563eb;background:#eff6ff;border-radius:5px;margin-top:6px;padding:3px 7px;font-size:8px;font-weight:600;display:inline-block}.profile-avatar-picker{flex-shrink:0}.profile-section-label{color:#374151;margin-bottom:8px;font-size:9px;font-weight:600}.profile-avatar-options{align-items:center;gap:8px;display:flex}.profile-avatar-option{cursor:pointer;background:#f3f4f6;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:2px;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.profile-avatar-option:hover{transform:translateY(-1px)}.profile-avatar-option.selected{border-color:#2563eb}.profile-avatar-option img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.profile-card-header{margin-bottom:17px}.profile-card-header h3{color:#111827;margin:0;font-size:14px;font-weight:700}.profile-card-header p{color:#9ca3af;margin:4px 0 0;font-size:10px}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.profile-field{min-width:0}.profile-field-full{grid-column:1/-1}.profile-field label{color:#374151;margin-bottom:6px;font-size:9px;font-weight:600;display:block}.profile-input-wrapper{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:8px;width:100%;height:36px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.profile-input-wrapper:focus-within{border-color:#93c5fd;box-shadow:0 0 0 2px #2563eb14}.profile-input-wrapper svg{color:#9ca3af;flex-shrink:0;font-size:13px}.profile-input-wrapper input,.profile-input-wrapper select{color:#374151;background:0 0;border:none;outline:none;width:100%;min-width:0;height:100%;padding:0;font-family:inherit;font-size:9px}.profile-input-wrapper input::placeholder{color:#b0b6c0}.profile-input-wrapper select{cursor:pointer}.profile-input-readonly{background:#f9fafb}.profile-input-readonly input{color:#6b7280;cursor:not-allowed}.profile-field-note{color:#9ca3af;margin-top:4px;font-size:7px;display:block}.profile-actions{justify-content:flex-end;width:100%;padding-bottom:20px;display:flex}.profile-save-button{color:#fff;cursor:pointer;background:#000;border:none;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-width:125px;height:36px;padding:0 14px;font-family:inherit;font-size:9px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.profile-save-button:hover:not(:disabled){background:#1e1e1e;transform:translateY(-1px)}.profile-save-button:disabled{opacity:.6;cursor:not-allowed}.profile-save-button svg{font-size:13px}.profile-loading{color:#6b7280;justify-content:center;align-items:center;width:100%;min-height:250px;font-size:10px;display:flex}@media (width<=800px){.profile-overview-card{flex-direction:column;align-items:flex-start}.profile-avatar-picker{width:100%}}@media (width<=600px){.profile-page{padding:12px}.profile-card{padding:14px}.profile-form-grid{grid-template-columns:1fr;gap:13px}.profile-field-full{grid-column:auto}.profile-avatar-section{width:100%}.profile-avatar-options{flex-wrap:wrap}.profile-actions{justify-content:stretch}.profile-save-button{width:100%}}.settings-page{box-sizing:border-box;background:0 0;width:100%;min-height:100%;padding:5px}.settings-page-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:18px;display:flex}.settings-page-header h2{color:#111827;margin:0;font-size:18px;font-weight:700}.settings-page-header p{color:#6b7280;margin:5px 0 0;font-size:9px;line-height:1.5}.settings-alert{box-sizing:border-box;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;margin-bottom:14px;padding:0 12px;font-size:9px;font-weight:500;display:flex}.settings-alert svg{flex-shrink:0;font-size:13px}.settings-alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.settings-alert-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.settings-form{width:100%}.settings-card{box-sizing:border-box;background:#fff;border:1px solid #eef0f3;border-radius:10px;width:100%;margin-bottom:16px;padding:18px;box-shadow:0 1px 3px #0f172a08}.settings-card-header{margin-bottom:4px}.settings-card-header h3{color:#111827;margin:0;font-size:12px;font-weight:700}.settings-card-header p{color:#9ca3af;margin:4px 0 0;font-size:8px;line-height:1.5}.settings-options{width:100%}.settings-row{box-sizing:border-box;border-bottom:1px solid #f1f3f5;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:62px;padding:12px 0;display:flex}.settings-row:last-child{border-bottom:none;padding-bottom:5px}.settings-row-info{align-items:center;gap:11px;min-width:0;display:flex}.settings-row-icon{color:#2563eb;background:#eff6ff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.settings-row-icon svg{font-size:14px}.settings-row-info h4{color:#374151;margin:0;font-size:9px;font-weight:600}.settings-row-info p{color:#9ca3af;max-width:600px;margin:4px 0 0;font-size:8px;line-height:1.4}.settings-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;flex-shrink:0;width:165px;height:34px;padding:0 9px;font-family:inherit;font-size:8px}.settings-select:focus{border-color:#93c5fd;box-shadow:0 0 0 2px #2563eb14}.settings-toggle{cursor:pointer;background:#d1d5db;border:none;border-radius:20px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .15s;position:relative}.settings-toggle span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000026}.settings-toggle.active{background:#2563eb}.settings-toggle.active span{transform:translate(16px)}.settings-security-row{justify-content:space-between;align-items:center;gap:20px;width:100%;padding-top:14px;display:flex}.settings-secondary-button{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:7px;flex-shrink:0;height:34px;padding:0 12px;font-family:inherit;font-size:8px;font-weight:600}.settings-secondary-button:hover{background:#eff6ff}.settings-actions{justify-content:flex-end;width:100%;padding-bottom:20px;display:flex}.settings-save-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-width:125px;height:36px;padding:0 14px;font-family:inherit;font-size:9px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.settings-save-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.settings-save-button:disabled{opacity:.6;cursor:not-allowed}.settings-save-button svg{font-size:13px}.settings-loading{color:#6b7280;justify-content:center;align-items:center;width:100%;min-height:250px;font-size:10px;display:flex}@media (width<=700px){.settings-row,.settings-row-info{align-items:flex-start}.settings-select{width:145px}}@media (width<=600px){.settings-page{padding:12px}.settings-card{padding:14px}.settings-row{flex-direction:column;align-items:flex-start;gap:10px}.settings-row-info,.settings-select{width:100%}.settings-toggle{align-self:flex-end}.settings-security-row{flex-direction:column;align-items:flex-start}.settings-secondary-button{width:100%}.settings-actions{justify-content:stretch}.settings-save-button{width:100%}}.change-password-overlay{z-index:9999;box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.change-password-modal{box-sizing:border-box;background:#fff;border:1px solid #eef0f3;border-radius:12px;width:min(420px,100%);max-height:calc(100vh - 40px);padding:20px;overflow-y:auto;box-shadow:0 20px 50px #0f172a29}.change-password-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.change-password-header h3{color:#111827;margin:0;font-size:14px;font-weight:700;line-height:1.4}.change-password-header p{color:#9ca3af;margin:4px 0 0;font-size:8px;line-height:1.5}.change-password-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .15s,color .15s;display:flex}.change-password-close:hover:not(:disabled){color:#111827;background:#f3f4f6}.change-password-close:disabled{opacity:.5;cursor:not-allowed}.change-password-close svg{font-size:14px}.change-password-alert{box-sizing:border-box;border-radius:7px;align-items:center;gap:7px;width:100%;min-height:34px;margin-bottom:14px;padding:7px 9px;font-size:8px;line-height:1.4;display:flex}.change-password-alert svg{flex-shrink:0;font-size:13px}.change-password-alert.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.change-password-alert.success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.change-password-form{width:100%}.change-password-field{width:100%;margin-bottom:15px}.change-password-field label{color:#374151;margin-bottom:6px;font-size:8px;font-weight:600;display:block}.change-password-field small{color:#9ca3af;margin-top:5px;font-size:7px;line-height:1.4;display:block}.change-password-input-wrapper{width:100%;position:relative}.change-password-input-wrapper input{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;width:100%;height:36px;padding:0 38px 0 10px;font-family:inherit;font-size:9px;transition:border-color .15s,box-shadow .15s}.change-password-input-wrapper input::placeholder{color:#c4c8cf}.change-password-input-wrapper input:focus{border-color:#93c5fd;box-shadow:0 0 0 2px #2563eb14}.change-password-input-wrapper input:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.change-password-eye{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.change-password-eye:hover:not(:disabled){color:#374151;background:#f3f4f6}.change-password-eye:disabled{opacity:.5;cursor:not-allowed}.change-password-eye svg{font-size:13px}.change-password-actions{border-top:1px solid #f1f3f5;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:15px;display:flex}.change-password-cancel{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;height:34px;padding:0 13px;font-family:inherit;font-size:8px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.change-password-cancel:hover:not(:disabled){color:#374151;background:#f9fafb;border-color:#d1d5db}.change-password-cancel:disabled{opacity:.6;cursor:not-allowed}.change-password-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:7px;min-width:105px;height:34px;padding:0 13px;font-family:inherit;font-size:8px;font-weight:600;transition:background .15s,transform .15s}.change-password-submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.change-password-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=480px){.change-password-overlay{align-items:flex-end;padding:12px}.change-password-modal{border-radius:12px;width:100%;max-height:calc(100vh - 24px);padding:18px}.change-password-header{margin-bottom:16px}.change-password-actions{flex-direction:column-reverse;align-items:stretch}.change-password-cancel,.change-password-submit{width:100%}}.notifications-page{box-sizing:border-box;background:#f5f7fb;width:100%;min-height:calc(100vh - 92px);padding:10px}.notifications-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:100%;overflow:hidden}.notifications-header{border-bottom:1px solid #eef0f4;padding:20px}.notifications-header h1{color:#111827;margin:0;font-size:26px;font-weight:700;line-height:1.3}.notifications-header p{color:#6b7280;margin:7px 0 0;font-size:14px;line-height:1.5}.notifications-empty-state{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:50px 30px;display:flex}.notifications-empty-icon{background:#eef4ff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:20px;font-size:28px;display:flex}.notifications-empty-state h2{color:#1f2937;margin:0 0 9px;font-size:19px;font-weight:650;line-height:1.4}.notifications-empty-state p{color:#8a94a6;width:min(460px,100%);margin:0;font-size:14px;line-height:1.6}@media (width<=768px){.notifications-page{padding:24px 18px 30px}.notifications-header{padding:24px 22px 20px}.notifications-header h1{font-size:23px}.notifications-empty-state{min-height:340px;padding:40px 20px}}@media (width<=480px){.notifications-page{padding:18px 14px 24px}.notifications-card{border-radius:12px}.notifications-header{padding:20px 18px 18px}.notifications-header h1{font-size:21px}.notifications-header p{font-size:13px}.notifications-empty-state{padding:35px 18px}.notifications-empty-icon{width:60px;height:60px;font-size:24px}}.notifications-loading{color:#6b7280;justify-content:center;align-items:center;min-height:350px;font-size:14px;display:flex}.notifications-error{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:350px;padding:30px;display:flex}.notifications-error button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.notifications-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.notifications-unread-count{color:#2563eb;background:#eef4ff;border-radius:20px;flex-shrink:0;padding:7px 12px;font-size:13px;font-weight:600}.notifications-list{width:100%}.notification-item{box-sizing:border-box;border-bottom:1px solid #eef0f4;align-items:flex-start;gap:16px;padding:20px 30px;transition:background-color .2s,transform .2s;display:flex}.notification-item:last-child{border-bottom:none}.notification-item[role=button]{cursor:pointer}.notification-item[role=button]:hover{background:#f8fafc}.notification-item.unread{background:#f8fbff}.notification-item.unread:hover{background:#f2f7ff}.notification-icon{background:#eef4ff;border-radius:12px;flex:0 0 46px;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:flex}.notification-content{flex:1;min-width:0}.notification-title-row{align-items:center;gap:8px;display:flex}.notification-title-row h3{color:#1f2937;margin:0;font-size:15px;font-weight:650;line-height:1.4}.notification-content p{color:#6b7280;margin:6px 0 8px;font-size:14px;line-height:1.55}.notification-date{color:#9ca3af;font-size:12px}.notification-unread-dot{background:#2563eb;border-radius:50%;flex:0 0 7px;width:7px;height:7px}@media (width<=768px){.notification-item{padding:20px 22px}}@media (width<=480px){.notifications-header{flex-direction:column;align-items:flex-start}.notifications-unread-count{font-size:12px}.notification-item{gap:12px;padding:18px}.notification-icon{flex-basis:40px;width:40px;height:40px;font-size:18px}.notification-title-row h3{font-size:14px}.notification-content p{font-size:13px}}.notifications-mark-all-button{color:#2563eb;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:7px 0;font-size:13px;font-weight:600}.notifications-mark-all-button:hover{text-decoration:underline}.notifications-mark-all-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=480px){.notifications-mark-all-button{padding-top:0}}.monthly-summary-notification{box-sizing:border-box;background:#fff;border-bottom:1px solid #eef0f4;width:100%;transition:background-color .2s,box-shadow .2s}.monthly-summary-notification:last-child{border-bottom:none}.monthly-summary-notification.unread{background:#f8fbff}.monthly-summary-notification.unread:hover{background:#f4f8ff}.monthly-summary-header{cursor:pointer;box-sizing:border-box;align-items:center;gap:16px;padding:20px 30px;transition:background-color .2s;display:flex}.monthly-summary-header:hover{background:#f8fafc}.monthly-summary-icon{background:#eef4ff;border-radius:13px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:21px;display:flex}.monthly-summary-header-content{flex:1;min-width:0}.monthly-summary-title-row{align-items:center;gap:8px;display:flex}.monthly-summary-title-row h3{color:#1f2937;margin:0;font-size:15px;font-weight:650;line-height:1.4}.monthly-summary-intro{color:#6b7280;margin:6px 0 0;font-size:14px;line-height:1.5}.monthly-summary-header-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.monthly-summary-header-right .notification-date{white-space:nowrap}.monthly-summary-chevron{color:#6b7280;background:#f3f4f6;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:17px;font-weight:600;line-height:1;transition:transform .2s,background-color .2s;display:flex}.monthly-summary-header:hover .monthly-summary-chevron{color:#374151;background:#e9eef7}.monthly-summary-body{background:#fbfcfe;border-top:1px solid #eef0f4;padding:0 30px 26px;animation:.2s monthlySummaryOpen}@keyframes monthlySummaryOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.monthly-summary-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:22px;display:grid}.summary-kpi{box-sizing:border-box;background:#fff;border:1px solid #e6eaf0;border-radius:12px;min-width:0;padding:17px}.summary-kpi-label{color:#8a94a6;margin-bottom:8px;font-size:12px;font-weight:600;line-height:1.4;display:block}.summary-kpi strong{color:#172033;font-size:18px;font-weight:700;line-height:1.35;display:block}.summary-kpi small{color:#8a94a6;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;line-height:1.4;display:block;overflow:hidden}.summary-kpi.income{border-left:3px solid #22c55e}.summary-kpi.expenses{border-left:3px solid #ef4444}.summary-kpi.savings{border-left:3px solid #2563eb}.summary-kpi.highest{border-left:3px solid #f59e0b}.monthly-summary-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.summary-detail{box-sizing:border-box;background:#fff;border:1px solid #e6eaf0;border-radius:12px;align-items:flex-start;gap:12px;min-width:0;padding:17px;display:flex}.summary-detail-icon{border-radius:10px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.summary-detail-icon.budget{background:#eef4ff}.summary-detail-icon.contribution{background:#ecfdf5}.summary-detail-icon.goals{background:#fff7ed}.summary-detail-content{flex:1;min-width:0}.summary-detail-content h4{color:#1f2937;margin:0 0 5px;font-size:13px;font-weight:650;line-height:1.4}.summary-detail-content p{color:#8a94a6;margin:0;font-size:12px;line-height:1.5}.summary-detail-content p strong{color:#374151;font-weight:650}.summary-detail-value{color:#172033;margin-bottom:3px;font-size:15px;font-weight:700;display:block}.summary-progress{background:#e9edf3;border-radius:10px;width:100%;height:6px;margin-top:10px;overflow:hidden}.summary-progress-bar{border-radius:inherit;background:#2563eb;min-width:0;height:100%;transition:width .35s}.summary-status{margin-top:7px;font-size:11px;font-weight:600;display:inline-block}.summary-status.success{color:#16a34a}.summary-status.warning{color:#d97706}.monthly-summary-highest-category{background:#fff;border:1px solid #e6eaf0;border-radius:11px;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:15px 17px;display:flex}.monthly-summary-highest-category>div{flex-direction:column;gap:4px;min-width:0;display:flex}.monthly-summary-highest-category span{color:#8a94a6;font-size:11px;font-weight:500}.monthly-summary-highest-category strong{color:#374151;font-size:13px;font-weight:650}.monthly-summary-footer{border-top:1px solid #e9edf3;justify-content:flex-end;align-items:center;gap:16px;margin-top:20px;padding-top:18px;display:flex}.summary-view-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 15px;font-size:12px;font-weight:600;transition:background-color .2s,transform .2s}.summary-view-button:hover{background:#1d4ed8;transform:translateY(-1px)}.summary-read-button{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:9px 0;font-size:12px;font-weight:600}.summary-read-button:hover{color:#2563eb}.monthly-summary-notification.expanded{box-shadow:inset 3px 0 #2563eb}.monthly-summary-notification.expanded .monthly-summary-icon{background:#e7efff}@media (width<=1000px){.monthly-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-summary-details{grid-template-columns:1fr}}@media (width<=768px){.monthly-summary-header{gap:12px;padding:18px 22px}.monthly-summary-icon{flex-basis:44px;width:44px;height:44px}.monthly-summary-header-right{gap:8px}.monthly-summary-header-right .notification-date{display:none}.monthly-summary-body{padding:0 22px 22px}.monthly-summary-kpis{gap:10px}.summary-kpi{padding:14px}.summary-kpi strong{font-size:16px}}@media (width<=480px){.monthly-summary-header{align-items:flex-start;padding:17px 18px}.monthly-summary-icon{border-radius:10px;flex-basis:40px;width:40px;height:40px;font-size:18px}.monthly-summary-title-row h3{font-size:14px}.monthly-summary-intro{font-size:12px;line-height:1.45}.monthly-summary-chevron{width:25px;height:25px;font-size:15px}.monthly-summary-body{padding:0 18px 20px}.monthly-summary-kpis{grid-template-columns:1fr;gap:9px;padding-top:17px}.summary-kpi{padding:13px 14px}.summary-kpi strong{font-size:16px}.monthly-summary-details{gap:9px;margin-top:12px}.summary-detail{padding:14px}.monthly-summary-highest-category{flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px}.monthly-summary-footer{flex-direction:column;align-items:stretch;gap:8px;margin-top:14px;padding-top:14px}.summary-view-button{width:100%}.summary-read-button{padding:7px 0}}.privacy-page{color:#101828;box-sizing:border-box;background:#f5f7fb;min-height:100vh;padding:60px 20px}.privacy-container{box-sizing:border-box;background:#fff;border:1px solid #eaecf0;border-radius:14px;width:100%;max-width:900px;margin:0 auto;padding:50px}.privacy-header{border-bottom:1px solid #eaecf0;margin-bottom:45px;padding-bottom:25px}.privacy-header h1{color:#111827;letter-spacing:-.8px;margin:0 0 10px;font-size:38px;line-height:1.2}.privacy-header p{color:#667085;margin:0;font-size:14px}.privacy-container section{margin-bottom:35px}.privacy-container h2{color:#111827;margin:0 0 14px;font-size:21px;line-height:1.35}.privacy-container p{color:#475467;margin:0 0 14px;font-size:15px;line-height:1.75}.privacy-container ul{margin:10px 0 0;padding-left:25px}.privacy-container li{color:#475467;margin-bottom:8px;font-size:15px;line-height:1.6}@media (width<=700px){.privacy-page{padding:20px 12px}.privacy-container{border-radius:10px;padding:30px 22px}.privacy-header h1{font-size:30px}.privacy-container h2{font-size:19px}.privacy-container p,.privacy-container li{font-size:14px}}.terms-page{color:#101828;box-sizing:border-box;background:#f5f7fb;min-height:100vh;padding:60px 20px}.terms-container{box-sizing:border-box;background:#fff;border:1px solid #eaecf0;border-radius:14px;width:100%;max-width:900px;margin:0 auto;padding:50px}.terms-header{border-bottom:1px solid #eaecf0;margin-bottom:45px;padding-bottom:25px}.terms-header h1{color:#111827;letter-spacing:-.8px;margin:0 0 10px;font-size:38px;font-weight:700;line-height:1.2}.terms-header p{color:#667085;margin:0;font-size:14px}.terms-container section{margin-bottom:35px}.terms-container section:last-child{margin-bottom:0}.terms-container h2{color:#111827;margin:0 0 14px;font-size:21px;font-weight:650;line-height:1.35}.terms-container p{color:#475467;margin:0 0 14px;font-size:15px;line-height:1.75}.terms-container p:last-child{margin-bottom:0}.terms-container ul{margin:10px 0 0;padding-left:25px}.terms-container li{color:#475467;margin-bottom:8px;font-size:15px;line-height:1.6}.terms-container li:last-child{margin-bottom:0}.terms-container strong{color:#344054;font-weight:600}@media (width<=900px){.terms-page{padding:40px 18px}.terms-container{padding:40px}}@media (width<=700px){.terms-page{padding:20px 12px}.terms-container{border-radius:10px;padding:30px 22px}.terms-header{margin-bottom:35px}.terms-header h1{font-size:30px}.terms-container section{margin-bottom:30px}.terms-container h2{font-size:19px}.terms-container p,.terms-container li{font-size:14px;line-height:1.7}}@media (width<=480px){.terms-page{padding:15px 10px}.terms-container{padding:25px 18px}.terms-header h1{font-size:27px}.terms-header p{font-size:13px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}body{color:#1f2937;background:#f5f7fa;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font-family:inherit}.logoSmall,.logoSmallText{width:100%}
