@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.toast-container{z-index:9999;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed;top:20px;right:20px}.toast{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);pointer-events:auto;min-width:320px;max-width:440px;padding:12px 16px;animation:.3s toastSlideIn;display:flex;box-shadow:0 10px 40px #0000001f}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.toast-icon.success{color:#10b981;background:#10b9811a}.toast-icon.error{color:#ef4444;background:#ef44441a}.toast-icon.warning{color:#f59e0b;background:#f59e0b1a}.toast-icon.info{color:#0ea5e9;background:#0ea5e91a}[data-theme=dark] .toast-icon.success{color:#34d399;background:#34d39926}[data-theme=dark] .toast-icon.error{color:#f87171;background:#f8717126}[data-theme=dark] .toast-icon.warning{color:#fbbf24;background:#fbbf2426}[data-theme=dark] .toast-icon.info{color:#38bdf8;background:#38bdf826}.toast-content{flex:1}.toast-message{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500;line-height:1.4}.toast-close{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.toast-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.toast-progress{border-radius:0 0 var(--radius-md) var(--radius-md);height:3px;animation:4s linear forwards toastProgress;position:absolute;bottom:0;left:0}.toast-progress.success{background:#10b981}.toast-progress.error{background:#ef4444}.toast-progress.warning{background:#f59e0b}.toast-progress.info{background:#0ea5e9}@keyframes toastProgress{0%{width:100%}to{width:0%}}.sidebar{width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);height:100vh;padding:var(--space-lg) 0;z-index:100;transition:width var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-logo{padding:0 var(--space-lg);margin-bottom:var(--space-2xl);align-items:center;gap:var(--space-sm);display:flex}.sidebar-logo h2{font-size:var(--font-size-xl);background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.sidebar-nav{padding:0 var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-link{align-items:center;gap:var(--space-md);padding:10px var(--space-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:all var(--transition-fast);cursor:pointer;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-link.active{color:var(--color-accent-primary);background:#0ea5e91a;font-weight:600}[data-theme=dark] .sidebar-link.active{background:#38bdf81a}.sidebar-link-icon{flex-shrink:0;align-items:center;font-size:20px;display:flex}.sidebar-badge{background:var(--color-danger);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:flex}.sidebar-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);margin-top:auto}.sidebar-user{align-items:center;gap:var(--space-md);display:flex}.sidebar-avatar{border-radius:var(--radius-full);background:var(--color-accent-gradient);color:#fff;width:36px;height:36px;font-weight:700;font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-info{overflow:hidden}.sidebar-user-name{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user-email{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-logout{color:var(--color-text-muted);padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-left:auto;font-size:18px;display:flex}.sidebar-logout:hover{color:var(--color-danger);background:#ef44441a}.sidebar-section{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:var(--space-lg) var(--space-lg) var(--space-sm);font-size:11px;font-weight:700}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--color-border) 37%, var(--color-bg-elevated) 63%);background-size:800px 100%;flex-shrink:0;animation:1.6s ease-in-out infinite skeleton-shimmer}.skeleton-mt-sm{margin-top:var(--space-sm)}.skeleton-mt-md{margin-top:var(--space-md)}.skeleton-mt-lg{margin-top:var(--space-lg)}.skeleton-page{gap:var(--space-lg);flex-direction:column;display:flex}.skeleton-header{justify-content:space-between;align-items:flex-start;display:flex}.skeleton-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.skeleton-stats-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.skeleton-stat{gap:var(--space-xs);flex-direction:column;display:flex}.skeleton-two-col{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.skeleton-grid-3{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.skeleton-chart{gap:var(--space-md);flex-direction:column;align-items:center;display:flex;padding:var(--space-xl)!important}.skeleton-row{align-items:center;gap:var(--space-md);width:100%;margin-top:var(--space-sm);display:flex}.skeleton-summary-row{justify-content:space-around;align-items:center;gap:var(--space-xl);display:flex}.skeleton-tx-row{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);display:flex}.skeleton-tx-row:last-child{border-bottom:none}@media (width<=768px){.skeleton-stats-grid{grid-template-columns:repeat(2,1fr)}.skeleton-two-col,.skeleton-grid-3{grid-template-columns:1fr}}.dash-welcome{background:var(--color-accent-gradient);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-2xl);color:#fff;margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.dash-welcome:after{content:"";background:#ffffff0f;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.dash-welcome-left h2{font-size:var(--font-size-2xl);margin-bottom:4px;font-weight:700}.dash-welcome-left p{font-size:var(--font-size-sm);opacity:.85}.dash-welcome-right{gap:var(--space-xl);display:flex}.dash-welcome-stat{text-align:center}.dash-welcome-stat-value{font-size:var(--font-size-2xl);font-weight:700}.dash-welcome-stat-label{font-size:var(--font-size-xs);opacity:.8;margin-top:2px}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.stat-card-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.stat-card-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.stat-card-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.stat-card-icon.blue{color:#0ea5e9;background:#0ea5e91a}.stat-card-icon.green{color:#10b981;background:#10b9811a}.stat-card-icon.red{color:#ef4444;background:#ef44441a}.stat-card-icon.teal{color:#06b6d4;background:#06b6d41a}[data-theme=dark] .stat-card-icon.blue{color:#38bdf8;background:#38bdf826}[data-theme=dark] .stat-card-icon.green{color:#34d399;background:#34d39926}[data-theme=dark] .stat-card-icon.red{color:#f87171;background:#f8717126}[data-theme=dark] .stat-card-icon.teal{color:#2dd4bf;background:#2dd4bf26}.stat-card-value{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700}.stat-card-change{border-radius:var(--radius-full);align-items:center;gap:2px;margin-top:4px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.stat-card-change.up{color:var(--color-success);background:#10b9811a}.stat-card-change.down{color:var(--color-danger);background:#ef44441a}.dashboard-main{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.dashboard-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.dashboard-card.full-width{grid-column:1/-1}.dashboard-card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dashboard-card-title{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.dashboard-card-link{font-size:var(--font-size-xs);color:var(--color-accent-primary);cursor:pointer;transition:opacity var(--transition-fast);font-weight:600}.dashboard-card-link:hover{opacity:.7}.recent-list{flex-direction:column;gap:2px;display:flex}.recent-item{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.recent-item:last-child{border-bottom:none}.recent-item-emoji{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.recent-item-info{flex:1;overflow:hidden}.recent-item-desc{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.recent-item-date{color:var(--color-text-muted);font-size:11px}.recent-item-amount{font-size:var(--font-size-sm);white-space:nowrap;font-weight:600}.recent-item-amount.income{color:var(--color-income)}.recent-item-amount.expense{color:var(--color-expense)}.dash-budget-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.dash-budget-item:last-child{border-bottom:none}.dash-budget-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.dash-budget-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.dash-budget-pct{font-size:var(--font-size-xs);font-weight:600}.dash-budget-bar{background:var(--color-border);border-radius:3px;height:5px;margin-bottom:3px;overflow:hidden}.dash-budget-fill{border-radius:3px;height:100%;transition:width .8s}.dash-budget-amounts{color:var(--color-text-muted);justify-content:space-between;font-size:11px;display:flex}.dash-goal-item{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.dash-goal-item:last-child{border-bottom:none}.dash-goal-emoji{flex-shrink:0;font-size:22px}.dash-goal-info{flex:1}.dash-goal-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.dash-goal-bar{background:var(--color-border);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.dash-goal-fill{border-radius:2px;height:100%}.dash-goal-pct{font-size:var(--font-size-sm);text-align:right;min-width:44px;font-weight:700}.dash-quick-actions{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.dash-quick-btn{align-items:center;gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;display:flex}.dash-quick-btn:hover{border-color:var(--color-accent-primary);transform:translateY(-2px)}.dash-quick-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.dash-quick-label{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:600}.dash-accounts-list{gap:var(--space-sm);flex-direction:column;display:flex}.dash-account-row{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.dash-account-row:last-child{border-bottom:none}.dash-account-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dash-account-name{font-size:var(--font-size-sm);color:var(--color-text-primary);flex:1;font-weight:500}.dash-account-balance{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main{grid-template-columns:1fr}.dash-welcome-right{display:none}.dash-quick-actions{grid-template-columns:repeat(2,1fr)}}.accounts-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.accounts-summary{align-items:center;gap:var(--space-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-lg);display:flex}.summary-item{flex-direction:column;gap:2px;display:flex}.summary-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.summary-value{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700}.summary-value.primary{color:var(--color-accent-primary)}.summary-value.success{color:var(--color-success)}.summary-value.danger{color:var(--color-danger)}.summary-divider{background:var(--color-border);width:1px;height:36px}.accounts-overview{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.accounts-overview-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.accounts-overview-title{font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--space-lg);font-weight:600}.accounts-dist-list{gap:var(--space-sm);flex-direction:column;display:flex}.accounts-dist-row{align-items:center;gap:var(--space-md);display:flex}.accounts-dist-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.accounts-dist-name{font-size:var(--font-size-sm);color:var(--color-text-primary);flex:1;font-weight:500}.accounts-dist-bar-wrap{background:var(--color-border);border-radius:2px;width:80px;height:4px;overflow:hidden}.accounts-dist-bar-fill{border-radius:2px;height:100%}.accounts-dist-amount{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:right;min-width:85px;font-weight:600}.accounts-dist-pct{color:var(--color-text-muted);text-align:right;min-width:36px;font-size:11px}.accounts-quick{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.accounts-quick-btn{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated);cursor:pointer;transition:all var(--transition-fast);display:flex}.accounts-quick-btn:hover{border-color:var(--color-accent-primary);transform:translateY(-1px)}.accounts-quick-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.accounts-quick-text{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.accounts-quick-sub{color:var(--color-text-muted);font-size:11px}.accounts-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.account-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.account-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.account-card:before{content:"";background:var(--card-accent,var(--color-accent-primary));border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.account-card-top{margin-bottom:var(--space-lg);align-items:flex-start;display:flex}.account-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.account-card-name{font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:4px;font-weight:600}.account-card-type{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.account-card-type.bank{color:#0ea5e9;background:#0ea5e91a}.account-card-type.credit{color:#a855f7;background:#a855f71a}.account-card-type.cash{color:#10b981;background:#10b9811a}.account-card-type.investment{color:#f59e0b;background:#f59e0b1a}[data-theme=dark] .account-card-type.bank{color:#38bdf8;background:#38bdf826}[data-theme=dark] .account-card-type.credit{color:#c084fc;background:#c084fc26}[data-theme=dark] .account-card-type.cash{color:#34d399;background:#34d39926}[data-theme=dark] .account-card-type.investment{color:#fbbf24;background:#fbbf2426}.account-action-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:18px;display:flex}.account-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.account-dropdown{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:160px;padding:var(--space-xs);z-index:50;animation:.15s fadeIn;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #0000001f}.dropdown-item{align-items:center;gap:var(--space-sm);width:100%;font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:8px 12px;display:flex}.dropdown-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.dropdown-item.danger:hover{color:var(--color-danger);background:#ef44441a}.account-card-balance-section{margin-bottom:var(--space-md);justify-content:space-between;align-items:baseline;display:flex}.account-card-balance{font-size:var(--font-size-2xl);color:var(--color-text-primary);font-weight:700}.account-card-change{font-size:var(--font-size-xs);border-radius:var(--radius-full);align-items:center;gap:2px;padding:3px 8px;font-weight:600;display:flex}.account-card-change.up{color:var(--color-success);background:#10b9811a}.account-card-change.down{color:var(--color-danger);background:#ef44441a}.account-card-last{background:var(--color-bg-elevated);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.account-last-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:10px;font-weight:600}.account-last-row{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.account-last-desc{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.account-last-amount{font-size:var(--font-size-sm);font-weight:600}.account-last-amount.income{color:var(--color-income)}.account-last-amount.expense{color:var(--color-expense)}.account-last-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.account-card-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.account-card-bar-fill{height:100%;transition:width var(--transition-slow);border-radius:2px}.account-card-details{gap:6px var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.account-detail-item{flex-direction:column;gap:1px;display:flex}.account-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:10px;font-weight:600}.account-detail-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.account-card-last-tx{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--color-border)}.account-last-tx-row{align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);min-height:20px;display:flex}.account-last-tx-label{color:var(--color-text-muted);white-space:nowrap;font-weight:600}.account-last-tx-desc{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);flex:1;overflow:hidden}.account-last-tx-amount{white-space:nowrap;font-weight:700}.account-last-tx-amount.income{color:var(--color-income,#10b981)}.account-last-tx-amount.expense{color:var(--color-expense,#ef4444)}.account-view-all-btn{width:100%;margin-top:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent-primary);font-size:var(--font-size-xs);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:6px 0;font-weight:600;transition:all .15s;display:flex}.account-view-all-btn:hover{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.modal-overlay{top:0;left:calc(-1 * var(--sidebar-width));z-index:9999;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s fadeIn;display:flex;position:fixed}[data-theme=dark] .modal-overlay{background:#000000b3}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;padding:var(--space-2xl);animation:.25s modalSlideIn;overflow-y:auto;box-shadow:0 24px 80px #0003}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-lg);font-weight:700}.modal-actions{gap:var(--space-md);margin-top:var(--space-xl);display:flex}.modal-actions .btn{flex:1}.form-select{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-size:var(--font-size-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;cursor:pointer;padding:12px 16px}.form-select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #0ea5e926}@media (width<=1200px){.accounts-grid{grid-template-columns:1fr 1fr}.accounts-summary{flex-wrap:wrap}.accounts-overview,.accounts-quick{grid-template-columns:1fr}}@media (width<=768px){.accounts-grid{grid-template-columns:1fr}}.tx-stats{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.tx-stat-card{align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);display:flex}.tx-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.tx-stat-icon.income{color:#10b981;background:#10b9811a}.tx-stat-icon.expense{color:#ef4444;background:#ef44441a}.tx-stat-icon.net{color:#0ea5e9;background:#0ea5e91a}[data-theme=dark] .tx-stat-icon.income{color:#34d399;background:#34d39926}[data-theme=dark] .tx-stat-icon.expense{color:#f87171;background:#f8717126}[data-theme=dark] .tx-stat-icon.net{color:#38bdf8;background:#38bdf826}.tx-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.tx-stat-value{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-top:2px;font-weight:700}.tx-stat-value.income{color:var(--color-income)}.tx-stat-value.expense{color:var(--color-expense)}.tx-filters{justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);display:flex}.tx-filter-section{align-items:center;gap:var(--space-md);display:flex}.tx-filter-item{align-items:center;gap:6px;display:flex}.tx-type-btns{background:var(--color-bg-input);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.tx-type-btn{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:6px;padding:7px 16px;font-weight:600}.tx-type-btn.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 4px #00000014}.tx-type-btn.active.income-btn{color:var(--color-income)}.tx-type-btn.active.expense-btn{color:var(--color-expense)}.tx-filter-select{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);appearance:none;cursor:pointer;padding:7px 12px}.tx-filter-select:focus{border-color:var(--color-accent-primary);outline:none}.tx-search-wrap{min-width:240px;position:relative}.tx-search-icon{color:var(--color-text-muted);font-size:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tx-search{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);padding:8px 12px 8px 36px}.tx-search:focus{border-color:var(--color-accent-primary);outline:none}.tx-search::placeholder{color:var(--color-text-muted)}.tx-list-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.tx-list{flex-direction:column;display:flex}.tx-row{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast);display:flex}.tx-row:last-child{border-bottom:none}.tx-row:hover{background:var(--color-bg-elevated)}.tx-row-emoji{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.tx-row-main{flex:1;min-width:0}.tx-row-desc{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px;font-weight:600}.tx-row-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);align-items:center;gap:6px;display:flex}.tx-row-cat{font-weight:600}.tx-row-dot{opacity:.3}.tx-row-date{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:5px;min-width:110px;display:flex}.tx-row-amount{font-size:var(--font-size-md);white-space:nowrap;text-align:right;min-width:110px;font-weight:700}.tx-row-amount.income{color:var(--color-income)}.tx-row-amount.expense{color:var(--color-expense)}.tx-row-actions{opacity:0;min-width:66px;transition:opacity var(--transition-fast);justify-content:flex-end;gap:2px;display:flex}.tx-row:hover .tx-row-actions{opacity:1}.tx-act-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:15px;display:flex}.tx-act-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.tx-act-btn.delete:hover{color:var(--color-danger);background:#ef44441a}.tx-pagination{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.tx-page-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tx-page-btns{gap:var(--space-xs);display:flex}.tx-page-btn{width:34px;height:34px;font-size:var(--font-size-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);border:1px solid var(--color-border);transition:all var(--transition-fast);justify-content:center;align-items:center;font-weight:500;display:flex}.tx-page-btn:hover:not(:disabled):not(.active){background:var(--color-bg-hover);color:var(--color-text-primary)}.tx-page-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.tx-page-btn:disabled{opacity:.3;cursor:not-allowed}.tx-empty{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--color-text-muted)}.tx-empty-icon{margin-bottom:var(--space-md);opacity:.4;font-size:52px}.tx-modal-header{margin-bottom:var(--space-lg)}.tx-modal-type{gap:var(--space-sm);margin-bottom:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.tx-modal-type-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-md);border:2px solid var(--color-border);color:var(--color-text-secondary);transition:all var(--transition-fast);padding:14px;font-weight:600;display:flex}.tx-modal-type-btn:hover{border-color:var(--color-border-hover)}.tx-modal-type-btn.active.income{border-color:var(--color-income);color:var(--color-income);background:#10b98114}.tx-modal-type-btn.active.expense{border-color:var(--color-expense);color:var(--color-expense);background:#ef444414}.tx-modal-amount-wrap{padding:var(--space-lg) 0;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;gap:4px;display:flex}.tx-modal-currency{font-size:var(--font-size-3xl);color:var(--color-text-muted);font-weight:300}.tx-modal-amount-input{font-size:var(--font-size-4xl);color:var(--color-text-primary);text-align:center;width:200px;font-weight:700;font-family:var(--font-family);background:0 0;border:none;outline:none}.tx-modal-amount-input::placeholder{color:var(--color-text-muted)}@media (width<=1100px){.tx-stats{grid-template-columns:1fr}.tx-filters{flex-direction:column;align-items:stretch}.tx-filter-section{flex-wrap:wrap}.tx-row-date{display:none}}.budget-stats{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.budget-stat-card{align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);display:flex}.budget-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.budget-stat-icon.total{color:#0ea5e9;background:#0ea5e91a}.budget-stat-icon.spent{color:#f59e0b;background:#f59e0b1a}.budget-stat-icon.remaining{color:#10b981;background:#10b9811a}[data-theme=dark] .budget-stat-icon.total{color:#38bdf8;background:#38bdf826}[data-theme=dark] .budget-stat-icon.spent{color:#fbbf24;background:#fbbf2426}[data-theme=dark] .budget-stat-icon.remaining{color:#34d399;background:#34d39926}.budget-stat-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:500}.budget-stat-value{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-top:2px;font-weight:700}.budget-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.budget-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.budget-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.budget-card.exceeded{border-color:#ef44444d}.budget-card-top{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.budget-card-emoji{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.budget-card-info{flex:1}.budget-card-name{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.budget-card-period{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.budget-card-actions{opacity:0;transition:opacity var(--transition-fast);gap:2px;display:flex}.budget-card:hover .budget-card-actions{opacity:1}.budget-act-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:15px;display:flex}.budget-act-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.budget-act-btn.delete:hover{color:var(--color-danger);background:#ef44441a}.budget-card-body{align-items:center;gap:var(--space-xl);margin-bottom:var(--space-lg);display:flex}.budget-ring-wrap{flex-shrink:0;width:80px;height:80px;position:relative}.budget-ring{width:80px;height:80px;transform:rotate(-90deg)}.budget-ring-bg{fill:none;stroke:var(--color-border);stroke-width:6px}.budget-ring-fill{fill:none;stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .6s}.budget-ring-text{font-size:var(--font-size-sm);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.budget-card-amounts{flex:1}.budget-amount-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.budget-amount-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.budget-amount-val{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.budget-amount-val.spent{color:var(--color-warning)}.budget-amount-val.remaining{color:var(--color-success)}.budget-amount-val.over{color:var(--color-danger)}.budget-bar{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.budget-bar-fill{border-radius:3px;height:100%;transition:width .6s}.budget-exceeded-badge{color:var(--color-danger);border-radius:var(--radius-full);margin-top:var(--space-sm);background:#ef444414;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.budget-card-add{background:var(--color-bg-elevated);border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);justify-content:center;align-items:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;min-height:260px;display:flex}.budget-card-add:hover{border-color:var(--color-accent-primary);background:#0ea5e90a}.budget-card-add-icon{border-radius:var(--radius-full);width:52px;height:52px;color:var(--color-accent-primary);background:#0ea5e91a;justify-content:center;align-items:center;font-size:24px;display:flex}.budget-card-add-text{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.budget-card-add-sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (width<=1100px){.budget-stats,.budget-grid{grid-template-columns:1fr}}.settings-layout{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.settings-full-width{grid-column:1/-1}.settings-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.settings-section-header{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated);display:flex}.settings-section-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.settings-section-icon.profile{color:#0ea5e9;background:#0ea5e91a}.settings-section-icon.appearance{color:#a855f7;background:#a855f71a}.settings-section-icon.notification{color:#f59e0b;background:#f59e0b1a}.settings-section-icon.security{color:#ef4444;background:#ef44441a}.settings-section-icon.preferences{color:#10b981;background:#10b9811a}[data-theme=dark] .settings-section-icon.profile{color:#38bdf8;background:#38bdf826}[data-theme=dark] .settings-section-icon.appearance{color:#c084fc;background:#c084fc26}[data-theme=dark] .settings-section-icon.notification{color:#fbbf24;background:#fbbf2426}[data-theme=dark] .settings-section-icon.security{color:#f87171;background:#f8717126}[data-theme=dark] .settings-section-icon.preferences{color:#34d399;background:#34d39926}.settings-section-title{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.settings-section-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px}.settings-section-body{padding:var(--space-lg);flex:1}.settings-row{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.settings-row:last-child{border-bottom:none}.settings-row-left{flex-direction:column;gap:1px;display:flex}.settings-row-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.settings-row-hint{color:var(--color-text-muted);font-size:11px}.toggle-switch{cursor:pointer;flex-shrink:0;width:44px;height:24px;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background:var(--color-border-hover);transition:background var(--transition-fast);border-radius:12px;position:absolute;inset:0}.toggle-slider:before{content:"";width:18px;height:18px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-slider{background:var(--color-accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.settings-avatar-section{align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-md);display:flex}.settings-avatar{border-radius:var(--radius-full);background:var(--color-accent-gradient);color:#fff;width:56px;height:56px;font-size:var(--font-size-xl);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.settings-avatar-info h3{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.settings-avatar-info p{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px}.settings-avatar-btn{margin-top:var(--space-xs);border-radius:var(--radius-sm);color:var(--color-accent-primary);cursor:pointer;transition:all var(--transition-fast);background:#0ea5e914;border:1px solid #0ea5e933;padding:4px 12px;font-size:11px;font-weight:500}.settings-avatar-btn:hover{background:#0ea5e926}.settings-select{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);appearance:none;cursor:pointer;min-width:130px;padding:6px 12px}.settings-select:focus{border-color:var(--color-accent-primary);outline:none}.settings-form-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.settings-save-row{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.settings-danger{border-color:#ef444433}.settings-danger .settings-section-header{background:#ef444408;border-bottom-color:#ef444426}.btn-danger{color:var(--color-danger);font-size:var(--font-size-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;background:#ef44441a;border:1px solid #ef444433;padding:6px 14px;font-weight:600}.btn-danger:hover{background:#ef444426}@media (width<=900px){.settings-layout{grid-template-columns:1fr}.settings-full-width{grid-column:1}}.goals-stats{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.goals-stat-card{align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);display:flex}.goals-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.goals-stat-icon.count{color:#0ea5e9;background:#0ea5e91a}.goals-stat-icon.saved{color:#10b981;background:#10b9811a}.goals-stat-icon.target{color:#f59e0b;background:#f59e0b1a}.goals-stat-icon.avg{color:#a855f7;background:#a855f71a}[data-theme=dark] .goals-stat-icon.count{color:#38bdf8;background:#38bdf826}[data-theme=dark] .goals-stat-icon.saved{color:#34d399;background:#34d39926}[data-theme=dark] .goals-stat-icon.target{color:#fbbf24;background:#fbbf2426}[data-theme=dark] .goals-stat-icon.avg{color:#c084fc;background:#c084fc26}.goals-stat-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:500}.goals-stat-value{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-top:2px;font-weight:700}.goals-filter-bar{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.goals-filter-btn{font-size:var(--font-size-sm);border-radius:var(--radius-full);color:var(--color-text-secondary);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:flex}.goals-filter-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.goals-filter-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.goals-filter-count{border-radius:var(--radius-full);background:#00000014;padding:1px 6px;font-size:11px;font-weight:700}.goals-filter-btn.active .goals-filter-count{background:#ffffff40}.goals-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.goal-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.goal-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.goal-card.completed{border-color:#10b9814d}.goal-completed-overlay{pointer-events:none;background:linear-gradient(135deg,#10b98105,#0000);position:absolute;inset:0}.goal-card-top{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.goal-card-emoji{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.goal-card-info{flex:1}.goal-card-name{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.goal-card-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.goal-card-badge{border-radius:var(--radius-full);padding:2px 8px;font-size:10px;font-weight:600}.goal-card-actions{opacity:0;transition:opacity var(--transition-fast);gap:2px;display:flex}.goal-card:hover .goal-card-actions{opacity:1}.goal-act-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:14px;display:flex}.goal-act-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.goal-act-btn.delete:hover{color:var(--color-danger);background:#ef44441a}.goal-card-body{align-items:center;gap:var(--space-xl);margin-bottom:var(--space-lg);display:flex}.goal-ring-wrap{flex-shrink:0;position:relative}.goal-ring{transform:rotate(-90deg)}.goal-ring-bg{fill:none;stroke:var(--color-border);stroke-width:6px}.goal-ring-fill{fill:none;stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .8s}.goal-ring-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.goal-ring-pct{font-weight:700;line-height:1}.goal-ring-label{color:var(--color-text-muted);margin-top:2px;font-size:9px}.goal-card-amounts{flex:1}.goal-amount-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.goal-amount-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.goal-amount-val{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.goal-amount-val.current{color:var(--color-accent-primary)}.goal-amount-val.remaining{color:var(--color-warning)}.goal-milestone-wrap{margin-bottom:var(--space-md)}.goal-milestone-bar{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.goal-milestone-fill{border-radius:3px;height:100%;transition:width .8s}.goal-milestone-dots{justify-content:space-between;margin-top:6px;padding:0 2px;display:flex}.goal-milestone-dot{border:2px solid var(--color-border);background:var(--color-bg-card);width:10px;height:10px;transition:all var(--transition-fast);border-radius:50%;position:relative}.goal-milestone-dot.reached{border-color:currentColor}.goal-milestone-label{color:var(--color-text-muted);white-space:nowrap;font-size:9px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.goal-details{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-sm);flex-direction:column;gap:4px;display:flex}.goal-detail-item{font-size:var(--font-size-xs);color:var(--color-text-secondary);align-items:center;gap:8px;padding:3px 0;display:flex}.goal-detail-item svg{opacity:.6;flex-shrink:0;font-size:13px}.goal-detail-item.highlight{color:var(--color-accent-primary);font-weight:600}.goal-detail-item.highlight svg{opacity:1}.goal-detail-date{color:var(--color-text-muted)}.goal-bar{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.goal-bar-fill{border-radius:3px;height:100%;transition:width .8s}.goal-contribute-btn{width:100%;font-size:var(--font-size-sm);border-radius:var(--radius-sm);color:var(--color-accent-primary);cursor:pointer;transition:all var(--transition-fast);background:#0ea5e90f;border:1px solid #0ea5e926;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:600;display:flex}.goal-contribute-btn:hover{background:#0ea5e91f;border-color:#0ea5e94d}[data-theme=dark] .goal-contribute-btn{color:#38bdf8;background:#38bdf814;border-color:#38bdf826}.goal-completed-badge{width:100%;font-size:var(--font-size-sm);border-radius:var(--radius-sm);color:var(--color-success);text-align:center;background:#10b98114;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:600;display:flex}.goal-card-add{background:var(--color-bg-elevated);border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);justify-content:center;align-items:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;min-height:400px;display:flex}.goal-card-add:hover{border-color:var(--color-accent-primary);background:#0ea5e90a}.goal-card-add-icon{border-radius:var(--radius-full);width:52px;height:52px;color:var(--color-accent-primary);background:#0ea5e91a;justify-content:center;align-items:center;font-size:24px;display:flex}.goal-card-add-text{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.goal-card-add-sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.contribute-modal-info{text-align:center;padding:var(--space-md) 0;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.contribute-modal-name{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:600}.contribute-modal-progress{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:4px}.contribute-amount-wrap{padding:var(--space-md) 0;justify-content:center;align-items:center;gap:4px;display:flex}.contribute-currency{font-size:var(--font-size-3xl);color:var(--color-text-muted);font-weight:300}.contribute-input{font-size:var(--font-size-4xl);color:var(--color-text-primary);text-align:center;width:180px;font-weight:700;font-family:var(--font-family);background:0 0;border:none;outline:none}.contribute-input::placeholder{color:var(--color-text-muted)}.contribute-quick-btns{gap:var(--space-sm);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.contribute-quick-btn{font-size:var(--font-size-xs);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);padding:8px;font-weight:600}.contribute-quick-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:#0ea5e90a}@media (width<=1200px){.goals-stats{grid-template-columns:repeat(2,1fr)}.goals-grid{grid-template-columns:1fr}}.reports-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);display:flex}.reports-period-btns{background:var(--color-bg-input);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.reports-period-btn{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:6px;padding:7px 16px;font-weight:600}.reports-period-btn.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 4px #00000014}.reports-toolbar-right{align-items:center;gap:var(--space-md);display:flex}.reports-date-display{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:6px;font-weight:500;display:flex}.reports-export-btns{gap:var(--space-sm);display:flex}.reports-export-btn{font-size:var(--font-size-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:5px;padding:7px 14px;font-weight:600;display:flex}.reports-export-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.reports-export-btn.primary{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.reports-export-btn.primary:hover{opacity:.9}.reports-hero{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(5,1fr);display:grid}.reports-hero-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);position:relative;overflow:hidden}.reports-hero-card:after{content:"";height:3px;position:absolute;top:0;left:0;right:0}.reports-hero-card.income:after{background:#10b981}.reports-hero-card.expense:after{background:#ef4444}.reports-hero-card.net:after{background:#0ea5e9}.reports-hero-card.rate:after{background:#a855f7}.reports-hero-card.daily:after{background:#f59e0b}.reports-hero-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-weight:500}.reports-hero-value{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700}.reports-hero-sub{align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:600;display:flex}.reports-hero-sub.up{color:var(--color-success)}.reports-hero-sub.down{color:var(--color-danger)}.reports-hero-icon{opacity:.07;font-size:32px;position:absolute;bottom:12px;right:12px}.reports-grid{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.reports-chart-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.reports-chart-card.full-width{grid-column:1/-1}.reports-chart-card.span-3{grid-column:span 1}.reports-chart-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.reports-chart-title{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600}.reports-chart-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.reports-chart-badge{border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);padding:4px 10px;font-size:11px;font-weight:600}.cat-list{flex-direction:column;gap:6px;display:flex}.cat-row{align-items:center;gap:var(--space-sm);padding:6px 0;display:flex}.cat-emoji{text-align:center;flex-shrink:0;width:28px;font-size:18px}.cat-info{flex:1}.cat-name{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:3px;font-weight:500}.cat-bar-wrap{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.cat-bar-fill{border-radius:2px;height:100%;transition:width .6s}.cat-amount{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:right;min-width:80px;font-weight:600}.cat-pct{color:var(--color-text-muted);text-align:right;min-width:36px;font-size:11px}.daily-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.daily-cell{aspect-ratio:1;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:relative}.daily-cell.has-data{cursor:pointer}.daily-cell.level-0{background:var(--color-bg-elevated)}.daily-cell.level-1{color:#10b981;background:#10b98126}.daily-cell.level-2{color:#f59e0b;background:#f59e0b33}.daily-cell.level-3{color:#ef4444;background:#ef444426}.daily-cell.level-4{color:#ef4444;background:#ef44444d}.daily-header{color:var(--color-text-muted);text-align:center;padding-bottom:4px;font-size:11px;font-weight:600}.daily-legend{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);color:var(--color-text-muted);justify-content:flex-end;font-size:11px;display:flex}.daily-legend-box{border-radius:2px;width:12px;height:12px}.top-tx-row{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-border);padding:8px 0;display:flex}.top-tx-row:last-child{border-bottom:none}.top-tx-rank{border-radius:var(--radius-full);background:var(--color-bg-elevated);width:24px;height:24px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.top-tx-rank.gold{color:#f59e0b;background:#f59e0b26}.top-tx-rank.silver{color:#64748b;background:#94a3b826}.top-tx-rank.bronze{color:#b45309;background:#b4530926}.top-tx-info{flex:1}.top-tx-desc{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.top-tx-date{color:var(--color-text-muted);font-size:11px}.top-tx-amount{font-size:var(--font-size-sm);color:var(--color-expense);font-weight:700}.income-source-row{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-border);padding:8px 0;display:flex}.income-source-row:last-child{border-bottom:none}.income-source-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.income-source-info{flex:1}.income-source-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.income-source-count{color:var(--color-text-muted);font-size:11px}.income-source-amount{font-size:var(--font-size-sm);color:var(--color-income);font-weight:700}.compare-row{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-border);padding:10px 0;display:flex}.compare-row:last-child{border-bottom:none}.compare-label{font-size:var(--font-size-sm);color:var(--color-text-primary);flex:1;font-weight:500}.compare-current,.compare-prev{text-align:right;min-width:90px;font-size:var(--font-size-sm);font-weight:600}.compare-current{color:var(--color-text-primary)}.compare-prev{color:var(--color-text-muted)}.compare-change{text-align:right;min-width:60px;font-size:11px;font-weight:700}.compare-change.up{color:var(--color-success)}.compare-change.down{color:var(--color-danger)}.savings-gauge{padding:var(--space-lg) 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.savings-gauge-ring{width:140px;height:140px;position:relative}.savings-gauge-svg{width:140px;height:140px;transform:rotate(-90deg)}.savings-gauge-bg{fill:none;stroke:var(--color-border);stroke-width:10px}.savings-gauge-fill{fill:none;stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset 1s}.savings-gauge-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.savings-gauge-pct{font-size:var(--font-size-2xl);font-weight:800}.savings-gauge-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.savings-detail-list{width:100%;margin-top:var(--space-lg)}.savings-detail-row{font-size:var(--font-size-sm);justify-content:space-between;padding:4px 0;display:flex}.savings-detail-label{color:var(--color-text-secondary)}.savings-detail-value{color:var(--color-text-primary);font-weight:600}@media (width<=1200px){.reports-hero{grid-template-columns:repeat(2,1fr)}.reports-grid{grid-template-columns:1fr}.reports-toolbar{flex-wrap:wrap}}@media (width<=768px){.reports-hero{grid-template-columns:1fr}}.notif-tabs{background:var(--color-bg-input);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);gap:2px;width:fit-content;padding:3px;display:flex}.notif-tab{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:6px;align-items:center;gap:6px;padding:7px 16px;font-weight:600;display:flex}.notif-tab.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 4px #00000014}.notif-badge{border-radius:var(--radius-full);background:var(--color-danger);color:#fff;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4}.notif-list-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.notif-row{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast);cursor:pointer;display:flex}.notif-row:last-child{border-bottom:none}.notif-row:hover{background:var(--color-bg-elevated)}.notif-row.unread{background:#0ea5e908}.notif-icon-wrap{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:2px;font-size:18px;display:flex}.notif-icon-wrap.warning{color:#f59e0b;background:#f59e0b1a}.notif-icon-wrap.success{color:#10b981;background:#10b9811a}.notif-icon-wrap.info{color:#0ea5e9;background:#0ea5e91a}.notif-icon-wrap.error{color:#ef4444;background:#ef44441a}[data-theme=dark] .notif-icon-wrap.warning{color:#fbbf24;background:#fbbf2426}[data-theme=dark] .notif-icon-wrap.success{color:#34d399;background:#34d39926}[data-theme=dark] .notif-icon-wrap.info{color:#38bdf8;background:#38bdf826}[data-theme=dark] .notif-icon-wrap.error{color:#f87171;background:#f8717126}.notif-content{flex:1;min-width:0}.notif-title{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px;font-weight:600}.notif-message{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.notif-time{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;margin-top:2px;font-size:11px}.notif-unread-dot{background:var(--color-accent-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-actions-bar{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.notif-empty{text-align:center;padding:var(--space-3xl);color:var(--color-text-muted)}.notif-empty-icon{opacity:.4;margin-bottom:var(--space-md);font-size:48px}.currency-card-main{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-lg)}.currency-card-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.currency-card-icon{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1);justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.currency-card-title{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:700}.currency-card-sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.currency-popular{gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.currency-pill{font-size:var(--font-size-sm);border:1.5px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:6px 14px;font-weight:600;transition:all .15s;display:flex}.currency-pill:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.currency-pill.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.currency-converter{gap:var(--space-lg);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.currency-input-box{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.currency-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:11px;font-weight:700;display:block}.currency-input-row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.currency-symbol{font-size:var(--font-size-xl);color:var(--color-text-muted);min-width:24px;font-weight:700}.currency-amount-input{width:100%;font-size:var(--font-size-3xl);color:var(--color-text-primary);background:0 0;border:none;outline:none;font-weight:800}.currency-amount-input::placeholder{color:var(--color-text-muted);opacity:.4}.currency-input-row.result{min-height:48px}.currency-result-value{font-size:var(--font-size-3xl);color:var(--color-accent-primary);font-weight:800}.currency-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;padding:8px 12px}.currency-swap{background:var(--color-accent-primary);color:#fff;border:3px solid var(--color-bg-card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;transition:all .2s;display:flex;box-shadow:0 4px 12px #0ea5e94d}.currency-swap:hover{background:var(--color-accent-hover);transform:rotate(180deg)}.currency-rate-info{justify-content:center;align-items:center;gap:var(--space-sm);margin-top:var(--space-xl);padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-accent-primary);background:#0ea5e90f;font-weight:500;display:flex}.currency-rate-date{color:var(--color-text-muted);font-weight:400}.currency-table-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.currency-table-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.currency-table-title{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:700}.currency-table-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.currency-table-badge{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:99px;padding:4px 12px;font-size:11px;font-weight:600}.currency-table-body{flex-direction:column;display:flex}.currency-table-row{padding:10px var(--space-md);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;transition:background .1s;display:flex}.currency-table-row:hover{background:var(--color-bg-elevated)}.currency-table-row.active{background:#0ea5e914}.currency-table-left{align-items:center;gap:var(--space-sm);display:flex}.currency-table-flag{font-size:20px}.currency-table-code{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-primary);min-width:36px}.currency-table-name{font-size:var(--font-size-xs);color:var(--color-text-muted)}.currency-table-value{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.currency-loading{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-2xl);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.currency-spin{animation:1s linear infinite cspin}@keyframes cspin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=700px){.currency-converter{grid-template-columns:1fr}.currency-swap{justify-self:center;transform:rotate(90deg)}.currency-swap:hover{transform:rotate(270deg)}.currency-result-value,.currency-amount-input{font-size:var(--font-size-2xl)}}.recurring-stats{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.recurring-stat-card{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex}.recurring-stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.recurring-stat-icon.active{color:#10b981;background:#10b9811a}.recurring-stat-icon.income{color:#0ea5e9;background:#0ea5e91a}.recurring-stat-icon.expense{color:#ef4444;background:#ef44441a}.recurring-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.recurring-stat-value{font-size:var(--font-size-xl);font-weight:800}.recurring-list-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.recurring-row{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast);display:flex}.recurring-row:last-child{border-bottom:none}.recurring-row:hover{background:var(--color-bg-elevated)}.recurring-row.inactive{opacity:.5}.recurring-row-emoji{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.recurring-row-main{flex:1;min-width:0}.recurring-row-desc{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px;font-weight:600}.recurring-row-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);align-items:center;gap:6px;display:flex}.recurring-freq-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:700}.recurring-freq-badge.DAILY{color:#6366f1;background:#6366f11a}.recurring-freq-badge.WEEKLY{color:#0ea5e9;background:#0ea5e91a}.recurring-freq-badge.MONTHLY{color:#10b981;background:#10b9811a}.recurring-freq-badge.YEARLY{color:#f59e0b;background:#f59e0b1a}.recurring-row-next{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;min-width:100px}.recurring-row-amount{font-size:var(--font-size-md);white-space:nowrap;text-align:right;min-width:100px;font-weight:700}.recurring-row-amount.income{color:var(--color-income)}.recurring-row-amount.expense{color:var(--color-expense)}.recurring-row-actions{align-items:center;gap:2px;display:flex}.recurring-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.import-steps{gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.import-step{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);flex:1;padding:10px 16px;font-weight:600;display:flex}.import-step.active{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:#6366f10f}.import-step.done{color:#10b981;background:#10b9810f;border-color:#10b981}.import-step-num{background:var(--color-bg-elevated);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:flex}.import-step.active .import-step-num{background:var(--color-accent-primary);color:#fff}.import-step.done .import-step-num{color:#fff;background:#10b981}.import-upload-area{padding:var(--space-2xl);border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);text-align:center;cursor:pointer;transition:all .15s}.import-upload-area:hover{border-color:var(--color-accent-primary);background:#6366f10a}.import-upload-area.dragging{border-color:var(--color-accent-primary);background:#6366f114}.import-preview-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.import-preview-table{border-collapse:collapse;width:100%;font-size:var(--font-size-xs)}.import-preview-table th{text-align:left;background:var(--color-bg-elevated);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border);padding:8px 12px;font-weight:700}.import-preview-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);padding:8px 12px}.import-preview-table tr:last-child td{border-bottom:none}.import-mapping-row{align-items:center;gap:var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:10px 16px;display:flex}.import-mapping-label{font-size:var(--font-size-sm);min-width:100px;color:var(--color-text-primary);font-weight:600}.import-mapping-row select{flex:1}.import-result-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-xl);text-align:center}.import-result-stats{justify-content:center;gap:var(--space-xl);margin:var(--space-lg) 0;display:flex}.import-result-stat{text-align:center}.import-result-stat-value{font-size:var(--font-size-2xl);font-weight:800}.import-result-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;font-weight:600}.wake-overlay{z-index:10000;padding:var(--space-lg);background:var(--color-bg-primary);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wake-card{text-align:center;gap:var(--space-lg);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--glass-shadow);padding:var(--space-xl);flex-direction:column;align-items:center;display:flex}.wake-spinner{border-radius:var(--radius-full);border:4px solid var(--color-border);border-top-color:var(--color-accent-primary);width:44px;height:44px;animation:1s linear infinite wake-spin}.wake-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.wake-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}.wake-bar{border-radius:var(--radius-full);background:var(--color-bg-elevated);width:100%;height:8px;overflow:hidden}.wake-bar-fill{border-radius:var(--radius-full);background:var(--color-accent-gradient);height:100%;transition:width 1s linear}.wake-bar-failed .wake-bar-fill{background:var(--color-danger)}.wake-meta{width:100%;color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;display:flex}.wake-retry{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border-hover);color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0}.wake-retry:hover{background:var(--color-bg-hover)}.wake-retry:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@keyframes wake-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.wake-spinner{border-top-color:var(--color-border);border-right-color:var(--color-accent-primary);animation:none}.wake-bar-fill{transition:none}}:root{--color-bg-primary:#f0f4f8;--color-bg-secondary:#fff;--color-bg-card:#fff;--color-bg-elevated:#f8fafc;--color-bg-hover:#e2e8f0;--color-bg-input:#f1f5f9;--color-text-primary:#1e293b;--color-text-inverse:#fff;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-accent-primary:#0ea5e9;--color-accent-hover:#0284c7;--color-accent-secondary:#06b6d4;--color-accent-gradient:linear-gradient(135deg, #0ea5e9, #06b6d4, #10b981);--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-income:#10b981;--color-expense:#ef4444;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-border-focus:#0ea5e980;--glass-bg:#ffffffd9;--glass-border:#e2e8f0cc;--glass-shadow:0 4px 24px #0000000f, 0 1px 2px #0000000a;--glass-blur:blur(20px);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--header-height:64px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--sidebar-width:260px;--sidebar-collapsed-width:72px}[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-card:#1e293b;--color-bg-elevated:#334155;--color-bg-hover:#334155;--color-bg-input:#0f172a;--color-text-primary:#f1f5f9;--color-text-inverse:#0f172a;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-accent-primary:#38bdf8;--color-accent-hover:#0ea5e9;--color-accent-secondary:#2dd4bf;--color-accent-gradient:linear-gradient(135deg, #38bdf8, #2dd4bf, #34d399);--color-border:#ffffff14;--color-border-hover:#ffffff26;--color-border-focus:#38bdf880;--glass-bg:#1e293bcc;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--color-accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);padding:var(--space-xl);transition:margin-left var(--transition-base);flex:1}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:var(--font-size-3xl);background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.page-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-top:var(--space-xs)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-slow) forwards}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--space-xl)}.auth-layout{min-height:100vh;padding:var(--space-xl);background:linear-gradient(135deg,#e0f2fe 0%,#f0f4f8 25%,#ecfdf5 50%,#f0f4f8 75%,#e0e7ff 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}[data-theme=dark] .auth-layout{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%)}[data-theme=dark] .btn-primary{box-shadow:0 4px 15px #38bdf840}[data-theme=dark] .btn-primary:hover{box-shadow:0 6px 20px #38bdf859}[data-theme=dark] .form-input:focus{background:var(--color-bg-input);box-shadow:0 0 0 3px #38bdf826}.auth-layout:before{content:"";background:radial-gradient(circle,#0ea5e91f,#0000 70%);border-radius:50%;width:500px;height:500px;animation:7s ease-in-out infinite float;position:absolute;top:-150px;right:-150px}.auth-layout:after{content:"";background:radial-gradient(circle,#10b9811a,#0000 70%);border-radius:50%;width:400px;height:400px;animation:9s ease-in-out infinite reverse float;position:absolute;bottom:-100px;left:-100px}.auth-card{z-index:1;width:100%;max-width:440px;position:relative}.auth-logo{text-align:center;margin-bottom:var(--space-2xl)}.auth-logo h1{font-size:var(--font-size-3xl);background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.auth-logo p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.auth-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--space-xs);font-weight:700}.auth-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-xl)}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.form-input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-size:var(--font-size-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:12px 16px}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-accent-primary);background:#fff;outline:none;box-shadow:0 0 0 3px #0ea5e926}.form-input.error{border-color:var(--color-danger)}.form-error{font-size:var(--font-size-xs);color:var(--color-danger)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--font-size-md);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;border:none;padding:12px 24px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-accent-gradient);color:#fff;box-shadow:0 4px 15px #0ea5e940}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e959}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-full{width:100%}.btn-ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.text-center{text-align:center}.text-sm{font-size:var(--font-size-sm)}.text-muted{color:var(--color-text-secondary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}
