@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Syne:wght@700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080b14;--bg-2:#0d1117;--surface:#ffffff0a;--surface-2:#ffffff12;--surface-3:#ffffff1a;--green:#3dff54;--green-2:#00d4aa;--green-dim:#3dff5414;--green-border:#3dff5433;--green-glow:#3dff5426;--text:#f0f0f0;--text-muted:#6b7280;--text-dim:#9ca3af;--input-bg:#ffffff0d;--input-border:#ffffff14;--error:#ff4d6d;--warning:#fbbf24;--border:#ffffff0f;--radius:16px;--radius-sm:10px;--radius-lg:24px;--blur:blur(20px);--shadow:0 8px 32px #0006;--shadow-green:0 0 30px #3dff541a}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 10% 0,#3dff540f 0%,#0000 50%),radial-gradient(at 90% 100%,#00d4aa0f 0%,#0000 50%),radial-gradient(#6366f108 0%,#0000 70%);background-attachment:fixed;min-height:100vh;font-family:Space Grotesk,sans-serif}.auth{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.auth:before{content:"";pointer-events:none;background:radial-gradient(circle,#3dff540f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.auth:after{content:"";pointer-events:none;background:radial-gradient(circle,#00d4aa0d 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:-100px;right:-100px}.auth-logo{color:var(--green);letter-spacing:-.5px;z-index:1;align-items:center;gap:10px;margin-bottom:1.5rem;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.auth-badge{border:1px solid var(--green-border);color:var(--green);letter-spacing:.03em;z-index:1;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:linear-gradient(135deg,#3dff541a,#00d4aa1a);border-radius:999px;align-items:center;gap:6px;margin-bottom:1.25rem;padding:6px 16px;font-size:.75rem;font-weight:500;display:inline-flex}.auth h1{color:var(--text);text-align:center;letter-spacing:-1px;z-index:1;background:linear-gradient(135deg,#fff 0%,#a0a0a0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Syne,sans-serif;font-size:2.25rem;font-weight:800;line-height:1.15}.auth .subtitle{color:var(--text-muted);text-align:center;z-index:1;margin-bottom:2rem;font-size:.9rem}form{width:100%;max-width:420px;-webkit-backdrop-filter:var(--blur);border-radius:var(--radius-lg);z-index:1;box-shadow:var(--shadow), inset 0 1px 0 #ffffff0d;background:#ffffff0a;border:1px solid #ffffff14;flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.input-group input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:.8rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.95rem;transition:all .2s}.input-group input::placeholder{color:#fff3}.input-group input:focus{background:#3dff540a;border-color:#3dff544d;box-shadow:0 0 0 3px #3dff540f}button[type=submit]{color:#050a05;border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#3dff54 0%,#00d4aa 100%);border:none;width:100%;margin-top:.25rem;padding:.9rem;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #3dff5440}button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 6px 28px #3dff5459}button[type=submit]:active{transform:scale(.98)}button[type=submit]:disabled{opacity:.5;cursor:not-allowed;transform:none}.error{color:var(--error);border-radius:var(--radius-sm);text-align:center;z-index:1;background:#ff4d6d14;border:1px solid #ff4d6d33;width:100%;max-width:420px;padding:10px 14px;font-size:.85rem}.switch{color:var(--text-muted);z-index:1;margin-top:1.25rem;font-size:.85rem}.switch a{color:var(--green);font-weight:600;text-decoration:none}.switch a:hover{text-decoration:underline}.dashboard-layout{background:var(--bg);min-height:100vh;display:flex}.dashboard-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.dashboard-content{flex:1;padding:1.5rem 2rem;overflow-y:auto}.sidebar{width:68px;min-height:100vh;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-right:1px solid var(--border);z-index:50;background:#ffffff05;flex-direction:column;align-items:center;padding:1.25rem 0;display:flex;position:sticky;top:0}.sidebar-logo{justify-content:center;align-items:center;margin-bottom:2rem;display:flex}.sidebar-avatar{color:#050a05;background:linear-gradient(135deg,#3dff54,#00d4aa);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:2rem;font-family:Syne,sans-serif;font-size:.8rem;font-weight:800;display:flex;box-shadow:0 4px 16px #3dff544d}.sidebar-nav{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.sidebar-link{width:44px;height:44px;color:var(--text-muted);border-radius:12px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex;position:relative}.sidebar-link:hover{background:var(--surface-2);color:var(--text)}.sidebar-link.active{color:var(--green);background:linear-gradient(135deg,#3dff5426,#00d4aa26);box-shadow:0 0 20px #3dff541a}.sidebar-link.active:before{content:"";background:linear-gradient(180deg, var(--green), var(--green-2));border-radius:0 4px 4px 0;width:3px;height:50%;position:absolute;top:25%;left:-1px}.sidebar-logout{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.sidebar-logout:hover{color:var(--error);background:#ff4d6d1a}.sidebar-ai{border:1px solid var(--green-border);width:44px;height:44px;color:var(--green);cursor:pointer;background:linear-gradient(135deg,#3dff541f,#00d4aa1f);border-radius:12px;justify-content:center;align-items:center;margin-bottom:8px;transition:all .2s;display:flex;box-shadow:0 0 16px #3dff5414}.sidebar-ai:hover{background:linear-gradient(135deg,#3dff5433,#00d4aa33);transform:translateY(-1px);box-shadow:0 0 24px #3dff5426}.dash-header{-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--border);z-index:40;background:#080b14cc;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.dash-title{color:var(--text);letter-spacing:-.5px;background:linear-gradient(135deg,#fff 0%,#9ca3af 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800}.dash-header-right{align-items:center;gap:.75rem;display:flex}.dash-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);align-items:center;gap:8px;padding:.5rem 1rem;transition:all .2s;display:flex}.dash-search:focus-within{border-color:var(--green-border);box-shadow:0 0 0 3px var(--green-glow)}.dash-search input{color:var(--text);background:0 0;border:none;outline:none;width:180px;font-family:Space Grotesk,sans-serif;font-size:.875rem}.dash-search input::placeholder{color:var(--text-muted)}.dash-user{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);align-items:center;gap:10px;padding:.4rem .75rem;transition:all .2s;display:flex}.dash-user:hover{border-color:var(--green-border)}.dash-user-avatar{color:#050a05;background:linear-gradient(135deg,#3dff54,#00d4aa);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-family:Syne,sans-serif;font-size:.7rem;font-weight:800;display:flex}.dash-user-info{flex-direction:column;display:flex}.dash-user-name{color:var(--text);font-size:.8rem;font-weight:500;line-height:1.2}.dash-user-email{color:var(--text-muted);font-size:.7rem;line-height:1.2}.dash-bell{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-muted);cursor:pointer;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.dash-bell:hover{border-color:var(--green-border);color:var(--green);box-shadow:0 0 16px var(--green-glow)}.overview-grid{flex-direction:column;gap:1.25rem;display:flex}.revenue-card{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem;position:relative;overflow:hidden}.revenue-card:before{content:"";background:linear-gradient(90deg,#0000,#3dff544d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.revenue-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.revenue-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.4rem;font-size:.8rem;font-weight:500}.revenue-amount{color:var(--text);letter-spacing:-1px;background:linear-gradient(135deg,#fff,#9ca3af);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:baseline;gap:6px;font-family:Syne,sans-serif;font-size:2.25rem;font-weight:800;display:flex}.revenue-currency{color:var(--green);-webkit-text-fill-color:var(--green);font-size:1.1rem}.revenue-filters{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;align-items:center;gap:4px;padding:4px;display:flex}.filter-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:5px 14px;font-family:Space Grotesk,sans-serif;font-size:.8rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:var(--text)}.filter-btn.active{color:var(--green);border:1px solid var(--green-border);background:linear-gradient(135deg,#3dff5426,#00d4aa26)}.chart-wrapper{width:100%}.chart-tooltip{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#0d1117f2;padding:10px 14px}.chart-tooltip-label{color:var(--text-muted);margin-bottom:4px;font-size:.75rem}.chart-tooltip-value{color:var(--green);font-size:.95rem;font-weight:700}.bottom-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.bottom-card{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:1.5rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.bottom-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;position:absolute;top:0;left:0;right:0}.bottom-card:hover{border-color:var(--green-border);box-shadow:var(--shadow-green);transform:translateY(-2px)}.bottom-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.bottom-card-value{background:linear-gradient(135deg,#fff,#9ca3af);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:1.75rem;font-weight:800}.bottom-card-sub{color:var(--text-muted);font-size:.78rem}.expenses-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{background:linear-gradient(135deg,#fff,#9ca3af);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:1.25rem;font-weight:800}.section-sub{color:var(--text-muted);margin-top:2px;font-size:.8rem}.btn-add{color:#050a05;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,#3dff54,#00d4aa);border:none;padding:.65rem 1.4rem;font-family:Space Grotesk,sans-serif;font-size:.875rem;font-weight:700;transition:all .2s;box-shadow:0 4px 16px #3dff5433}.btn-add:hover{transform:translateY(-1px);box-shadow:0 6px 24px #3dff544d}.expense-form{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex;max-width:100%!important}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.expense-form select{border:1px solid var(--input-border);border-radius:var(--radius-sm);appearance:none;outline:none;width:100%;padding:.8rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.95rem;transition:all .2s;background:var(--input-bg)!important;color:var(--text)!important}.expense-form select:focus{border-color:#3dff544d;box-shadow:0 0 0 3px #3dff540f}.expense-form select option{color:var(--text);background:#0d1117}.expense-form .input-group input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:.8rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.95rem;transition:all .2s}.expense-form .input-group input:focus{border-color:#3dff544d;box-shadow:0 0 0 3px #3dff540f}.expense-form .input-group label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.btn-submit{color:#050a05;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,#3dff54,#00d4aa);border:none;align-self:flex-start;min-width:140px;padding:.75rem 1.5rem;font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:700;transition:all .2s;box-shadow:0 4px 16px #3dff5433}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 6px 24px #3dff544d}.expenses-list{flex-direction:column;gap:8px;display:flex}.expense-item{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem 1.25rem;transition:all .2s;display:flex}.expense-item:hover{border-color:var(--green-border);box-shadow:var(--shadow);transform:translate(2px)}.expense-category-badge{border:1px solid var(--green-border);color:var(--green);white-space:nowrap;letter-spacing:.04em;background:linear-gradient(135deg,#3dff541a,#00d4aa1a);border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700}.expense-info{flex:1}.expense-description{color:var(--text);font-size:.9rem;font-weight:500}.expense-date{color:var(--text-muted);margin-top:2px;font-size:.75rem}.expense-amount{color:var(--text);white-space:nowrap;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.btn-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:.8rem;transition:all .2s}.btn-delete:hover{color:var(--error);background:#ff4d6d1a}.empty-state{text-align:center;color:var(--text-muted);padding:5rem 2rem}.empty-state p{color:var(--text-dim);margin-bottom:8px;font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700}.empty-state span{color:var(--text-muted);font-size:.85rem}.loading-text{color:var(--text-muted);text-align:center;padding:2rem;font-size:.9rem}.budgets-list{flex-direction:column;gap:1rem;display:flex}.budget-card{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;transition:all .2s}.budget-card:hover{border-color:var(--green-border);box-shadow:var(--shadow-green)}.budget-card-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.budget-month{color:var(--text-muted);margin-top:4px;font-size:.75rem}.budget-amount{color:var(--text);font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.budget-amount.over{color:var(--error)}.budget-limit{color:var(--text-muted);font-size:.85rem;font-weight:400}.budget-remaining{color:var(--text-muted);margin-top:2px;font-size:.75rem}.progress-track{background:#ffffff0f;border-radius:999px;width:100%;height:6px;margin-bottom:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#3dff54,#00d4aa);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.progress-bar.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.progress-bar.danger{background:linear-gradient(90deg,#ff4d6d,#ef4444)}.progress-label{color:var(--text-muted);font-size:.75rem}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.settings-card{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.settings-card-title{color:var(--text);margin-bottom:4px;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.settings-card-sub{color:var(--text-muted);margin-bottom:1.5rem;font-size:.8rem}.success-msg{color:var(--green);border:1px solid var(--green-border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#3dff5414,#00d4aa14);margin-bottom:1rem;padding:10px 14px;font-size:.85rem}.goals-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.goal-card{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1.5rem;transition:all .2s;display:flex}.goal-card:hover{border-color:var(--green-border);box-shadow:var(--shadow-green);transform:translateY(-2px)}.goal-card.complete{border-color:var(--green-border);background:linear-gradient(135deg,#3dff540f,#00d4aa0f)}.goal-card-top{justify-content:space-between;align-items:flex-start;display:flex}.goal-title{color:var(--text);margin-bottom:4px;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.goal-days{color:var(--green);font-size:.75rem;font-weight:600}.goal-days.overdue{color:var(--error)}.goal-amounts{align-items:baseline;gap:6px;display:flex}.goal-saved{background:linear-gradient(135deg,#fff,#9ca3af);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:1.35rem;font-weight:800}.goal-target{color:var(--text-muted);font-size:.8rem}.goal-add-money{align-items:center;gap:8px;margin-top:4px;display:flex}.goal-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:.5rem .75rem;font-family:Space Grotesk,sans-serif;font-size:.875rem;transition:all .2s}.goal-input:focus{border-color:#3dff544d;box-shadow:0 0 0 3px #3dff540f}.btn-add-money{border:1px solid var(--green-border);color:var(--green);border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,#3dff541a,#00d4aa1a);width:100%;margin-top:4px;padding:.5rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.8rem;font-weight:600;transition:all .2s}.btn-add-money:hover{background:linear-gradient(135deg,#3dff542e,#00d4aa2e);transform:translateY(-1px)}.portfolio-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.portfolio-stat{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:all .2s;position:relative;overflow:hidden}.portfolio-stat:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;position:absolute;top:0;left:0;right:0}.portfolio-stat:hover{border-color:var(--green-border);transform:translateY(-2px)}.portfolio-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.75rem;font-weight:600}.portfolio-stat-value{background:linear-gradient(135deg,#fff,#9ca3af);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:1.35rem;font-weight:800}.portfolio-stat-value.positive{background:linear-gradient(135deg,#3dff54,#00d4aa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.portfolio-stat-value.negative{-webkit-text-fill-color:var(--error);color:var(--error)}.investments-list{flex-direction:column;gap:8px;display:flex}.investment-item{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem 1.25rem;transition:all .2s;display:flex}.investment-item:hover{border-color:var(--green-border);box-shadow:var(--shadow);transform:translate(2px)}.investment-left{flex:1;align-items:center;gap:1rem;display:flex}.investment-type-badge{color:#a78bfa;white-space:nowrap;letter-spacing:.04em;background:linear-gradient(135deg,#6366f11f,#8b5cf61f);border:1px solid #6366f133;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700}.investment-name{color:var(--text);font-size:.9rem;font-weight:500}.investment-invested{color:var(--text-muted);margin-top:2px;font-size:.75rem}.investment-right{text-align:right}.investment-value{color:var(--text);font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.investment-return{margin-top:2px;font-size:.8rem;font-weight:600}.investment-return.positive{color:var(--green)}.investment-return.negative{color:var(--error)}.skeleton{background:linear-gradient(90deg,#ffffff08 25%,#ffffff12 50%,#ffffff08 75%) 0 0/200% 100%;border-radius:6px;animation:1.8s infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.skeleton-expense-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.error-boundary{background:var(--bg);min-height:100vh;color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.error-boundary h2{font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800}.error-boundary p{color:var(--text-muted);font-size:.9rem}.error-boundary button{color:#050a05;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,#3dff54,#00d4aa);border:none;margin-top:.5rem;padding:.75rem 1.5rem;font-family:Space Grotesk,sans-serif;font-weight:700;box-shadow:0 4px 16px #3dff5433}.notif-wrapper,.dash-bell{position:relative}.notif-badge{color:#fff;background:linear-gradient(135deg,#ff4d6d,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 0 8px #ff4d6d66}.notif-dropdown{width:320px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);z-index:100;box-shadow:var(--shadow);background:#0d1117f2;animation:.15s fadeDown;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.notif-title{color:var(--text);font-family:Syne,sans-serif;font-size:.9rem;font-weight:700}.notif-count{color:var(--text-muted);font-size:.75rem}.notif-list{max-height:360px;overflow-y:auto}.notif-item{border-bottom:1px solid #ffffff08;align-items:flex-start;gap:10px;padding:.875rem 1.25rem;transition:background .15s;display:flex}.notif-item:hover{background:var(--surface-2)}.notif-item:last-child{border-bottom:none}.notif-item.danger{border-left:3px solid var(--error)}.notif-item.warning{border-left:3px solid var(--warning)}.notif-item.success{border-left:3px solid var(--green)}.notif-icon{flex-shrink:0;margin-top:1px;font-size:1.1rem}.notif-content{flex:1}.notif-item-title{color:var(--text);margin-bottom:2px;font-size:.825rem;font-weight:600}.notif-item-msg{color:var(--text-muted);font-size:.775rem;line-height:1.4}.notif-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:.85rem}.ai-panel{width:360px;min-height:100vh;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-left:1px solid var(--border);z-index:100;background:#080b14f2;flex-direction:column;animation:.25s cubic-bezier(.34,1.56,.64,1) slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.ai-panel-header{border-bottom:1px solid var(--border);background:#ffffff05;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.ai-panel-title{color:var(--text);align-items:center;gap:8px;font-family:Syne,sans-serif;font-size:.95rem;font-weight:700;display:flex}.ai-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--green)}50%{opacity:.5;box-shadow:0 0 4px var(--green)}}.ai-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:.85rem;transition:all .15s}.ai-close:hover{background:var(--surface-2);color:var(--text)}.ai-messages{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.ai-message{align-items:flex-start;gap:10px;display:flex}.ai-message.user{flex-direction:row-reverse}.ai-avatar{border:1px solid var(--green-border);width:30px;height:30px;color:var(--green);background:linear-gradient(135deg,#3dff5426,#00d4aa26);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex}.ai-bubble{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:14px;max-width:260px;padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.ai-message.user .ai-bubble{border-color:var(--green-border);background:linear-gradient(135deg,#3dff541a,#00d4aa1a)}.ai-typing{align-items:center;gap:4px;padding:1rem;display:flex}.ai-typing span{background:var(--green);border-radius:50%;width:6px;height:6px;animation:1.2s infinite bounce}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.ai-suggestions{flex-direction:column;gap:6px;padding:0 1.25rem 1rem;display:flex}.ai-suggestion{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-align:left;padding:.65rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.8rem;transition:all .2s}.ai-suggestion:hover{border-color:var(--green-border);color:var(--green);background:var(--green-dim);transform:translate(3px)}.ai-input-row{border-top:1px solid var(--border);background:#ffffff03;gap:8px;padding:1.25rem;display:flex}.ai-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:.65rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.875rem;transition:all .2s}.ai-input:focus{border-color:#3dff544d;box-shadow:0 0 0 3px #3dff540f}.ai-input::placeholder{color:#fff3}.ai-send{border-radius:var(--radius-sm);color:#050a05;cursor:pointer;background:linear-gradient(135deg,#3dff54,#00d4aa);border:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #3dff5433}.ai-send:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3dff544d}.ai-send:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (width<=768px){.dash-search,.dash-user-info,.dash-bell{display:none}.dash-header{padding:1rem}.dash-title{font-size:1.2rem}.dash-user{padding:.4rem}.dashboard-content{padding:1rem}.revenue-card-top{flex-direction:column;gap:1rem}.revenue-filters{justify-content:space-between;width:100%}.filter-btn{text-align:center;flex:1;padding:5px 6px;font-size:.75rem}.revenue-amount{font-size:1.5rem}.bottom-cards{grid-template-columns:1fr;gap:.75rem}.bottom-card-value{font-size:1.25rem}.expenses-header{flex-direction:column;align-items:flex-start;gap:.75rem}.btn-add{text-align:center;width:100%}.form-row{grid-template-columns:1fr}.budget-card-top{flex-wrap:wrap}.goals-grid,.portfolio-summary,.settings-grid{grid-template-columns:1fr}.ai-panel{width:100%}.investment-item{flex-wrap:wrap;gap:.75rem}.investment-right{text-align:left}}@media (width<=480px){.sidebar{width:52px}.dash-title{font-size:1rem}.bottom-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-card{padding:1rem .75rem}.bottom-card-value{font-size:1rem}.bottom-card-label{font-size:.7rem}}
