@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");:root{--bg-primary:#08090c;--bg-secondary:#0f121a;--bg-surface:rgba(18,24,38,.6);--bg-card:rgba(22,28,45,.45);--border-color:hsla(0,0%,100%,.07);--border-glow:rgba(99,102,241,.15);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#6366f1;--accent-secondary:#0ea5e9;--accent-success:#10b981;--accent-danger:#ef4444;--accent-warning:#f59e0b;--gradient-brand:linear-gradient(135deg,#6366f1,#0ea5e9);--gradient-brand-hover:linear-gradient(135deg,#4f46e5,#0284c7);--gradient-success:linear-gradient(135deg,#059669,#10b981);--gradient-danger:linear-gradient(135deg,#dc2626,#ef4444);--gradient-card:linear-gradient(145deg,rgba(25,33,53,.5),rgba(12,17,29,.3));--shadow-sm:0 2px 8px -2px rgba(0,0,0,.5);--shadow-md:0 8px 30px -4px rgba(0,0,0,.6);--shadow-glow:0 0 24px rgba(99,102,241,.15);--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--font-title:"Outfit","Plus Jakarta Sans",sans-serif;--font-body:"Plus Jakarta Sans",sans-serif;--sidebar-width:280px;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s ease}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);background-image:radial-gradient(at 0 0,rgba(99,102,241,.1) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(14,165,233,.08) 0,transparent 50%),radial-gradient(at 50% 50%,#08090c 0,rgba(8,9,12,.95) 100%);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}.app-container{display:flex;min-height:100vh;position:relative}.main-content{flex-grow:1;margin-left:var(--sidebar-width);padding:40px;transition:var(--transition-smooth);width:calc(100% - var(--sidebar-width));position:relative;z-index:1}.glass-panel{background:var(--bg-surface);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:var(--shadow-md)}.glass-card,.glass-panel{border:1px solid var(--border-color);border-radius:var(--radius-md)}.glass-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);padding:24px;transition:var(--transition-smooth);position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,hsla(0,0%,100%,.02),transparent);pointer-events:none}.glass-card:hover{transform:translateY(-4px);border-color:hsla(0,0%,100%,.12);box-shadow:var(--shadow-md),var(--shadow-glow)}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:600;letter-spacing:-.02em}h1{font-size:2.2rem;font-weight:800;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.page-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:30px}.sidebar{width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;z-index:10;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:rgba(8,10,16,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar-logo{padding:30px 24px;gap:12px}.logo-icon,.sidebar-logo{display:flex;align-items:center}.logo-icon{width:36px;height:36px;border-radius:10px;justify-content:center;color:#fff;box-shadow:var(--shadow-glow)}.logo-icon,.logo-text{background:var(--gradient-brand);font-weight:800;font-family:var(--font-title)}.logo-text{font-size:1.3rem;letter-spacing:-.03em;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-menu{flex-grow:1;padding:0 16px;overflow-y:auto;gap:24px}.menu-section,.sidebar-menu{display:flex;flex-direction:column}.menu-section{gap:6px}.menu-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700;padding-left:12px;margin-bottom:4px}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.92rem;font-weight:500;transition:var(--transition-fast);cursor:pointer;border:1px solid transparent}.menu-item:hover{color:var(--text-primary);background:hsla(0,0%,100%,.03)}.menu-item.active{color:var(--text-primary);background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.25);box-shadow:inset 0 0 12px rgba(99,102,241,.05)}.menu-item-icon{font-size:1.1rem}.sidebar-footer{padding:24px;border-top:1px solid var(--border-color);font-size:.75rem;color:var(--text-muted);text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border-radius:var(--radius-sm);background:rgba(8,10,16,.5);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;transition:var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.form-select option{background-color:var(--bg-secondary);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition-fast);border:1px solid transparent;font-family:var(--font-body);text-decoration:none}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--gradient-brand-hover);transform:translateY(-1px)}.btn-secondary{background:hsla(0,0%,100%,.05);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:hsla(0,0%,100%,.08)}.btn-danger{background:var(--gradient-danger);color:#fff}.btn-danger:hover{transform:translateY(-1px)}.table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color)}.custom-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.custom-table th{background:hsla(0,0%,100%,.02);color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.custom-table td,.custom-table th{padding:16px 20px;border-bottom:1px solid var(--border-color)}.custom-table td{color:var(--text-primary);transition:var(--transition-fast)}.custom-table tbody tr:hover td{background:hsla(0,0%,100%,.01)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px;margin-bottom:40px}.stats-card{display:flex;flex-direction:column;justify-content:space-between}.stats-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;margin-bottom:8px}.stats-value{font-size:1.8rem;font-weight:800;font-family:var(--font-title);letter-spacing:-.01em;margin-bottom:6px}.stats-value.positive{color:var(--accent-success)}.stats-value.negative{color:var(--accent-danger)}.stats-subtext{font-size:.75rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.modal-content{width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:30px;border-radius:var(--radius-md);position:relative}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;transition:var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.badge-expense{background:rgba(239,68,68,.12);color:#f87171;border:1px solid rgba(239,68,68,.2)}.badge-income{background:rgba(16,185,129,.12);color:#34d399;border:1px solid rgba(16,185,129,.2)}.badge-transfer{background:rgba(14,165,233,.12);color:#38bdf8;border:1px solid rgba(14,165,233,.2)}.chart-container{height:220px;display:flex;align-items:flex-end;justify-content:space-around;padding:20px 0;border-bottom:1px solid var(--border-color)}.chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;flex-grow:1;height:100%;justify-content:flex-end}.chart-bar{width:32px;border-top-left-radius:6px;border-top-right-radius:6px;background:var(--gradient-brand);min-height:4px;transition:var(--transition-smooth);position:relative;cursor:pointer}.chart-bar:hover{filter:brightness(1.1);box-shadow:0 0 12px rgba(99,102,241,.4)}.chart-bar-label{font-size:.72rem;color:var(--text-secondary);margin-top:10px;text-align:center;white-space:nowrap}.chart-bar-value{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:.7rem;font-weight:700;color:var(--text-primary);opacity:0;transition:var(--transition-fast);background:var(--bg-secondary);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);pointer-events:none}.chart-bar:hover .chart-bar-value{opacity:1}.category-report-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.category-report-info{display:flex;justify-content:space-between;width:100%;font-size:.9rem;margin-bottom:6px}.progress-bar-bg{width:100%;height:6px;background:hsla(0,0%,100%,.05);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--gradient-brand);border-radius:3px;transition:var(--transition-smooth)}.tabs-header{display:flex;gap:8px;border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:1px}.tab-btn{padding:12px 20px;background:none;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:var(--transition-fast);font-family:var(--font-body)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-secondary);border-bottom-color:var(--accent-secondary)}@media (max-width:991px){:root{--sidebar-width:80px}.logo-text,.menu-item-text,.menu-title,.sidebar-footer{display:none}.sidebar-logo{justify-content:center;padding:20px 0}.menu-item{justify-content:center;padding:12px}.menu-item-icon{font-size:1.3rem}.main-content{padding:20px}}