@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#111827b3;--bg-card-hover:#111827e6;--bg-surface:#1f2937;--bg-input:#1a2236;--bg-sidebar:#0d1117;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--primary:#6366f1;--primary-hover:#818cf8;--primary-glow:#6366f126;--income:#10b981;--income-glow:#10b98126;--expense:#f43f5e;--expense-glow:#f43f5e26;--warning:#f59e0b;--warning-glow:#f59e0b26;--ai-accent:#8b5cf6;--ai-glow:#8b5cf626;--border:#ffffff0f;--border-hover:#ffffff1f;--border-input:#ffffff1a;--border-focus:var(--primary);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-glow-primary:0 0 20px var(--primary-glow);--shadow-glow-income:0 0 20px var(--income-glow);--shadow-glow-expense:0 0 20px var(--expense-glow);--sidebar-width:260px;--navbar-height:64px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:100vw;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}#root{width:100%;max-width:100%;min-height:100vh;overflow-x:hidden}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit;font-size:.9375rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutToRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes progressFill{0%{width:0%}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-fade-in-up{animation:.5s forwards fadeInUp}.stagger-children>*{opacity:0;animation:.4s forwards fadeInUp}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.app-layout{width:100%;max-width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:100;height:100vh;transition:transform var(--transition-base), width var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0}.app-main{margin-left:var(--sidebar-width);min-width:0;max-width:100%;min-height:100vh;transition:margin-left var(--transition-base);flex-direction:column;flex:1;display:flex}.app-navbar{height:var(--navbar-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:50;transition:padding var(--transition-base), height var(--transition-base);background:#0a0e1ad9;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.app-content{flex:1;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:2rem}.sidebar-brand{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem;display:flex}.sidebar-brand-text{min-width:0}.sidebar-brand-text h1{background:linear-gradient(135deg, var(--primary), var(--ai-accent));-webkit-text-fill-color:transparent;letter-spacing:-.02em;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.sidebar-brand-text span{color:var(--text-muted);white-space:nowrap;margin-top:2px;font-size:.75rem;font-weight:400;display:block}.sidebar-close-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;display:none}.sidebar-close-btn:hover{color:var(--text-primary);background:#ffffff0f}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.sidebar-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:1.25rem .75rem .375rem;font-size:.6875rem;font-weight:600}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.75rem;margin-bottom:3px;padding:.625rem .75rem;font-size:.875rem;font-weight:500;display:flex}.sidebar-link:hover{color:var(--text-primary);background:#ffffff0a}.sidebar-link.active{background:var(--primary-glow);color:#fff;border-left:3px solid var(--primary);padding-left:calc(.75rem - 3px);font-weight:600}.sidebar-link .icon{flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex}.sidebar-footer{border-top:1px solid var(--border);padding:1rem .75rem}.navbar-left{align-items:center;gap:1rem;display:flex}.navbar-right{align-items:center;gap:.875rem;min-width:0;display:flex}.navbar-user{align-items:center;gap:.625rem;min-width:0;display:flex}.navbar-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary), var(--ai-accent));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:600;display:flex}.navbar-username{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.875rem;font-weight:500;overflow:hidden}.navbar-logout-btn{flex-shrink:0;align-items:center;gap:.375rem;display:inline-flex}.hamburger-btn{color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;display:none}.hamburger-btn:hover{background:#ffffff0f}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);padding:1.5rem}.card:hover{border-color:var(--border-hover)}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.summary-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);padding:1.5rem;position:relative;overflow:hidden}.summary-card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.summary-card.income:before{background:var(--income)}.summary-card.expense:before{background:var(--expense)}.summary-card.balance:before{background:var(--primary)}.summary-card.budget:before{background:var(--warning)}.summary-card.ai:before{background:var(--ai-accent)}.summary-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.summary-card .card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;font-size:1.25rem;display:flex}.summary-card.income .card-icon{background:var(--income-glow)}.summary-card.expense .card-icon{background:var(--expense-glow)}.summary-card.balance .card-icon{background:var(--primary-glow)}.summary-card.budget .card-icon{background:var(--warning-glow)}.summary-card .card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.375rem;font-size:.8125rem;font-weight:500}.summary-card .card-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.2}.summary-card.income .card-value{color:var(--income)}.summary-card.expense .card-value{color:var(--expense)}.summary-card.balance .card-value{color:var(--primary-hover)}.summary-card.budget .card-value{color:var(--warning)}.summary-card .card-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.data-table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:#0003;padding:.875rem 1.25rem;font-size:.75rem;font-weight:600}.data-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:.875rem 1.25rem;font-size:.875rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#ffffff05}.data-table tbody tr:last-child td{border-bottom:none}.amount-positive{color:var(--income);font-weight:600}.amount-negative{color:var(--expense);font-weight:600}.btn{border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow-primary)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.btn-danger{color:var(--expense);background:#f43f5e1a;border:1px solid #f43f5e33}.btn-danger:hover{background:#f43f5e33}.btn-ghost{color:var(--text-secondary);background:0 0;padding:.5rem}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff0f}.btn-icon.danger:hover{background:var(--expense-glow);color:var(--expense);border-color:#f43f5e4d}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all var(--transition-fast);padding:.625rem .875rem}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow)}.form-input::placeholder{color:var(--text-muted)}.form-select{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;padding:.625rem 2.5rem .625rem .875rem}.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow)}.form-error{color:var(--expense);margin-top:.25rem;font-size:.8125rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);width:90%;max-width:480px;max-height:90vh;animation:.2s scaleIn;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{font-size:1.125rem;font-weight:600}.modal-close{color:var(--text-muted);transition:color var(--transition-fast);background:0 0;padding:.25rem;font-size:1.25rem}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.toast-container{z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:.625rem;display:flex;position:fixed;bottom:1.75rem;right:1.75rem}.toast{pointer-events:auto;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:.75rem;min-width:320px;max-width:440px;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) slideInFromRight;display:flex;box-shadow:0 12px 32px -4px #000000a6,0 0 0 1px #ffffff14}.toast.toast-exit{animation:.25s forwards slideOutToRight}.toast-success{color:#34d399;background:#0d211bf5;border:1px solid #10b98173;box-shadow:0 12px 32px -4px #000000a6,0 0 24px #10b9812e}.toast-error{color:#fb7185;background:#260e16f5;border:1px solid #f43f5e73;box-shadow:0 12px 32px -4px #000000a6,0 0 24px #f43f5e2e}.toast-warning{color:#fbbf24;background:#261c0cf5;border:1px solid #f59e0b73;box-shadow:0 12px 32px -4px #000000a6,0 0 24px #f59e0b2e}.toast-close{color:inherit;opacity:.65;cursor:pointer;transition:opacity var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:.25rem;display:inline-flex}.toast-close:hover{opacity:1;background:#ffffff1a}.pagination{justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.pagination-info{color:var(--text-muted);margin:0 .75rem;font-size:.8125rem}.budget-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);padding:1.5rem}.budget-card:hover{border-color:var(--border-hover)}.budget-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.budget-category{color:var(--text-primary);font-size:1rem;font-weight:600}.budget-amounts{color:var(--text-secondary);font-size:.8125rem}.budget-bar-track{border-radius:var(--radius-full);background:#ffffff0f;height:8px;margin:.75rem 0;overflow:hidden}.budget-bar-fill{border-radius:var(--radius-full);height:100%;transition:width 1s;animation:1s progressFill}.budget-bar-fill.safe{background:var(--income)}.budget-bar-fill.caution{background:var(--warning)}.budget-bar-fill.danger{background:var(--expense)}.budget-footer{justify-content:space-between;align-items:center;display:flex}.budget-percentage{font-size:.875rem;font-weight:600}.budget-remaining{color:var(--text-muted);font-size:.8125rem}.budget-warning{color:var(--expense);background:var(--expense-glow);border-radius:var(--radius-sm);align-items:center;gap:.375rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-text{color:var(--text-muted);font-size:.875rem}.shimmer{background:linear-gradient(90deg, var(--bg-surface) 25%, #ffffff0d 50%, var(--bg-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.75rem;display:flex}.page-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.9375rem}.page-greeting{letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.page-greeting-sub{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title{font-size:1.125rem;font-weight:600}.badge{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-income{background:var(--income-glow);color:var(--income)}.badge-expense{background:var(--expense-glow);color:var(--expense)}.badge-warning{background:var(--warning-glow);color:var(--warning)}.badge-ai{background:var(--ai-glow);color:var(--ai-accent)}.category-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.category-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.category-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.category-info{align-items:center;gap:.75rem;display:flex}.category-dot{border-radius:50%;width:12px;height:12px}.category-name{font-size:.9375rem;font-weight:500}.category-actions{gap:.25rem;display:flex}.auth-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.auth-container:before{content:"";background:radial-gradient(circle at 30% 20%, var(--primary-glow) 0%, transparent 50%), radial-gradient(circle at 70% 80%, var(--ai-glow) 0%, transparent 50%);width:200%;height:200%;animation:8s ease-in-out infinite pulse;position:absolute;top:-50%;left:-50%}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);z-index:1;width:100%;max-width:420px;padding:2.5rem;animation:.3s scaleIn;position:relative}.auth-brand{text-align:center;margin-bottom:2rem}.auth-brand h1{background:linear-gradient(135deg, var(--primary), var(--ai-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.auth-brand p{color:var(--text-muted);font-size:.9375rem}.auth-form .btn-primary{width:100%;margin-top:.5rem;padding:.75rem;font-size:.9375rem;font-weight:600}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.875rem}.auth-footer a{font-weight:500}.ai-hero{border-radius:var(--radius-xl);text-align:center;background:linear-gradient(135deg,#8b5cf614 0%,#6366f114 100%);border:1px solid #8b5cf626;margin-bottom:2rem;padding:3rem}.ai-hero h2{margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.ai-hero p{color:var(--text-secondary);margin-bottom:1.5rem}.btn-ai{background:linear-gradient(135deg, var(--ai-accent), var(--primary));color:#fff;border-radius:var(--radius-md);transition:all var(--transition-base);padding:.875rem 2rem;font-size:1rem;font-weight:600}.btn-ai:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf64d}.btn-ai:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.ai-result{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);animation:.5s fadeInUp;overflow:hidden}.ai-result-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.ai-result-header h3{font-size:1.125rem;font-weight:600}.ai-result-body{padding:1.5rem}.ai-analysis-text{color:var(--text-secondary);white-space:pre-wrap;font-size:.9375rem;line-height:1.8}.ai-powered-badge{background:var(--ai-glow);border-radius:var(--radius-full);color:var(--ai-accent);border:1px solid #8b5cf633;align-items:center;gap:.375rem;margin-top:1.5rem;padding:.375rem .875rem;font-size:.75rem;font-weight:500;display:inline-flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.filter-bar .form-select,.filter-bar .form-input{width:auto;min-width:180px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state .empty-icon{border:1px solid var(--border);width:56px;height:56px;color:var(--text-muted);background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.empty-state p{color:var(--text-muted);max-width:300px;font-size:.875rem}.budget-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.bar-chart{flex-direction:column;gap:.875rem;display:flex}.bar-item{align-items:center;gap:1rem;display:flex}.bar-label{min-width:100px;color:var(--text-secondary);text-align:right;font-size:.8125rem;font-weight:500}.bar-track{border-radius:var(--radius-sm);background:#ffffff0a;flex:1;height:24px;overflow:hidden}.bar-fill{border-radius:var(--radius-sm);color:#fff;white-space:nowrap;align-items:center;height:100%;padding:0 .5rem;font-size:.75rem;font-weight:600;transition:width .8s;display:flex}.bar-value{min-width:80px;color:var(--text-primary);font-size:.875rem;font-weight:600}.report-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;display:grid}.report-year-input{width:110px}.dashboard-transactions-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem;display:grid}.dashboard-quick-actions{flex-wrap:wrap;gap:.875rem;margin-top:2.5rem;display:flex}@media (width<=1199px){:root{--sidebar-width:215px}.app-sidebar{width:215px}.app-main{margin-left:215px}.app-content{padding:1.5rem}.app-navbar{padding:0 1.5rem}.summary-cards{grid-template-columns:repeat(2,1fr)}.budget-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.category-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.dashboard-transactions-grid{grid-template-columns:1fr;gap:1.5rem}}@media (width<=768px){.app-sidebar{z-index:200;width:280px;max-width:85vw;transform:translate(-100%);box-shadow:0 0 40px #000000b3}.app-sidebar.open{transform:translate(0)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:199;background:#000000a6;position:fixed;inset:0}.sidebar-close-btn{display:flex}.app-main{width:100%;min-width:0;margin-left:0!important}.hamburger-btn{display:flex}.app-navbar{height:60px;padding:0 1rem}.app-content{width:100%;padding:1.25rem 1rem}.page-header{flex-direction:column;align-items:stretch;gap:.875rem}.page-header .btn-primary{justify-content:center;width:100%;height:42px}.page-title{font-size:1.375rem}.page-subtitle{font-size:.8125rem}.page-greeting{font-size:1.35rem}.summary-cards{grid-template-columns:1fr;gap:.875rem}.category-grid{grid-template-columns:1fr;gap:.75rem}.budget-grid{grid-template-columns:1fr;gap:.875rem}.filter-bar{flex-direction:column;align-items:stretch;gap:.75rem}.filter-bar .form-select,.filter-bar .form-input,.filter-bar .report-year-input{min-width:auto;width:100%!important}.data-table-container{border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{min-width:560px}.data-table th,.data-table td{white-space:nowrap;padding:.75rem .875rem;font-size:.8125rem}.dashboard-transactions-grid{grid-template-columns:1fr;gap:1.5rem}.dashboard-quick-actions{flex-direction:column;gap:.75rem}.dashboard-quick-actions .btn{justify-content:center;width:100%;height:42px}.ai-hero{padding:1.75rem 1.25rem}.ai-hero h2{font-size:1.35rem}.ai-hero p{margin-bottom:1.25rem;font-size:.875rem}.btn-ai{justify-content:center;width:100%;height:44px}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:calc(100vw - 2rem);margin:0 auto;padding:1.25rem}.auth-card{padding:2rem 1.5rem}}@media (width<=640px){.toast-container{bottom:1rem;left:1rem;right:1rem}.toast{min-width:unset;width:100%;max-width:100%}}@media (width<=480px){.app-content{padding:.875rem .75rem}.navbar-username,.navbar-logout-text{display:none}.navbar-logout-btn{justify-content:center;min-width:36px;height:36px;padding:.5rem}.auth-container{padding:1rem .75rem}.auth-card{border-radius:var(--radius-lg);padding:1.5rem 1.125rem}.auth-brand h1{font-size:1.35rem}.auth-brand p{font-size:.8125rem}.bar-item{flex-direction:column;align-items:stretch;gap:.375rem}.bar-label{text-align:left;min-width:auto;font-size:.75rem}.bar-value{text-align:right;min-width:auto;font-size:.8125rem}.pagination{gap:.375rem;font-size:.75rem}.pagination .btn-sm{padding:.375rem .625rem;font-size:.75rem}.category-card,.budget-card{padding:1rem}}@media (width<=360px){.app-navbar{padding:0 .75rem}.navbar-avatar{width:32px;height:32px;font-size:.8125rem}.auth-card{padding:1.25rem .875rem}.page-title{font-size:1.25rem}.summary-card{padding:1.125rem}.summary-card .card-value{font-size:1.25rem}}
