@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0b1120;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--ocean-light:#38bdf8;--ocean-main:#0ea5e9;--ocean-dark:#0284c7;--accent-income:#10b981;--accent-expense:#ef4444;--border-color:#ffffff1a;--border-light:#ffffff0d;--glass-bg:#0f172a99}[data-theme=carbon]{--bg-primary:#0a0a0a;--bg-secondary:#121212;--bg-tertiary:#1e1e1e;--text-primary:#fff;--text-secondary:#a0a0a0;--text-tertiary:#606060;--ocean-light:#fff;--ocean-main:#e0e0e0;--ocean-dark:#333;--accent-income:#4ade80;--accent-expense:#f87171;--border-color:#ffffff14;--border-light:#ffffff0a;--glass-bg:#141414cc}[data-theme=swiss]{--bg-primary:#fff;--bg-secondary:#f4f4f4;--bg-tertiary:#e5e5e5;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-tertiary:#7a7a7a;--ocean-light:red;--ocean-main:#d90000;--ocean-dark:#900;--accent-income:#22c55e;--accent-expense:#dc2626;--border-color:#0000001a;--border-light:#0000000d;--glass-bg:#ffffffe6}:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-glow:0 0 20px #0ea5e966}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}#root{width:100%;min-height:100vh;display:flex}a{color:var(--ocean-main);text-decoration:none;transition:color .2s}a:hover{color:var(--ocean-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}button{font-family:var(--font-sans);cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-sans)}.main-content>div{animation:.4s cubic-bezier(.16,1,.3,1) fadeIn}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:border-color .3s,box-shadow .3s}.glass-panel:hover{border-color:#ffffff26;box-shadow:0 20px 25px -5px #00000080}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-container{width:100%;height:100vh;display:flex}.main-content{flex-direction:column;flex:1;gap:2rem;padding:2rem;display:flex;overflow-y:auto}.login-container{background-color:var(--bg-primary);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-glow-bg{z-index:0;pointer-events:none;background:radial-gradient(circle,#0ea5e926 0%,#0b112000 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-card{z-index:1;flex-direction:column;gap:2.5rem;width:100%;max-width:420px;padding:3rem 2.5rem;display:flex;position:relative}.login-header{text-align:center}.icon-wrapper{background:#0ea5e91a;border-radius:50%;margin-bottom:1.5rem;padding:1rem;display:inline-flex;box-shadow:0 0 20px #0ea5e933}.login-header h1{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:.5rem;font-size:2rem;font-weight:600}.login-header p{color:var(--text-secondary);font-size:1rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-group input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:#0003;outline:none;padding:1rem 1.25rem;font-size:1rem;transition:all .2s}.input-group input:focus{border-color:var(--ocean-main);box-shadow:0 0 0 3px #0ea5e933}.input-group input::placeholder{color:var(--text-tertiary)}.error-message{color:var(--accent-expense);text-align:center;border-radius:var(--radius-sm);background:#ef44441a;padding:.75rem;font-size:.875rem}.login-button{background:linear-gradient(135deg, var(--ocean-main) 0%, var(--ocean-dark) 100%);color:#fff;border-radius:var(--radius-md);padding:1rem;font-size:1rem;font-weight:500;transition:all .2s;box-shadow:0 4px 12px #0ea5e94d}.login-button:hover{background:linear-gradient(135deg, var(--ocean-light) 0%, var(--ocean-main) 100%);transform:translateY(-2px);box-shadow:0 6px 16px #0ea5e966}.login-button:active{transform:translateY(0)}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0b1120cc;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-color);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.modal-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600}.close-btn{color:var(--text-tertiary);border-radius:50%;padding:.5rem;transition:all .2s}.close-btn:hover{color:var(--text-primary);background:#ffffff1a}.type-toggle{border-radius:var(--radius-md);background:#0000004d;margin-bottom:2rem;padding:.25rem;display:flex}.toggle-btn{color:var(--text-secondary);border-radius:var(--radius-sm);flex:1;padding:.75rem;font-weight:500;transition:all .2s}.toggle-btn.active.expense{background:var(--accent-expense);color:#fff;box-shadow:0 4px 12px #ef44444d}.toggle-btn.active.income{background:var(--accent-income);color:#fff;box-shadow:0 4px 12px #10b9814d}.entry-form{flex-direction:column;gap:1.5rem;display:flex}.amount-input-group{color:var(--text-primary);border-bottom:2px solid var(--border-light);justify-content:center;align-items:center;padding-bottom:1rem;font-size:3rem;font-weight:700;display:flex}.amount-input-group input{color:inherit;text-align:center;background:0 0;border:none;width:100%;font-size:3rem;font-weight:700}.amount-input-group input:focus{outline:none}.amount-input-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-input-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.input-with-icon{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-secondary);background:#0003;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.input-with-icon input,.input-with-icon select{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.875rem}.input-group input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:#0003;padding:1rem}.input-group input:focus{border-color:var(--ocean-main);outline:none}.submit-entry-btn{background:var(--ocean-main);color:#fff;border-radius:var(--radius-md);margin-top:1rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.submit-entry-btn:hover{background:var(--ocean-light);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e94d}.voice-entry-container{align-items:center;display:flex;position:relative}.voice-mic-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);cursor:pointer;width:48px;height:48px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.voice-mic-btn:hover{background:var(--ocean-dark);color:#fff;transform:scale(1.05)}.voice-mic-btn.listening{background:var(--accent-expense);color:#fff;border-color:var(--accent-expense);animation:1.5s infinite pulse-red}@keyframes pulse-red{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 15px #ef444400}to{box-shadow:0 0 #ef444400}}.voice-feedback-overlay{z-index:1000;width:280px;padding:1.25rem;animation:.3s ease-out slide-up;position:absolute;bottom:60px;right:0}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.voice-feedback-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.voice-feedback-header h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ocean-main);margin:0;font-size:.85rem}.close-voice{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none}.transcript-text{color:var(--text-primary);margin-bottom:1rem;font-size:.95rem;font-style:italic;line-height:1.4}.parsing-loader{color:var(--text-tertiary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.parsed-summary{border-top:1px solid var(--border-light);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.parsed-row{justify-content:space-between;font-size:.9rem;display:flex}.parsed-row .label{color:var(--text-tertiary)}.parsed-row .value{color:var(--text-primary);font-weight:600}.confirm-voice-btn{background:var(--accent-income);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.75rem;font-weight:600;display:flex}.voice-error{color:var(--accent-expense);margin-top:.5rem;font-size:.85rem}.theme-toggle-btn{border:1px solid var(--border-light);background:var(--bg-secondary);margin-top:.5rem;transition:all .2s}.theme-toggle-btn:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary)}.theme-toggle-btn svg{color:var(--ocean-light)}.sidebar{border-right:1px solid var(--border-color);border-radius:0;flex-direction:column;width:280px;height:100vh;padding:2rem 1.5rem;display:flex;box-shadow:4px 0 24px #0003}.sidebar-header{align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.app-logo{border-radius:8px;width:40px;height:40px;box-shadow:0 0 15px #38bdf84d}.sidebar-header h2{z-index:1;color:var(--text-primary);letter-spacing:-.025em;background:linear-gradient(to right, #fff, var(--ocean-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;position:relative}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:1rem;padding:.875rem 1rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.nav-item:hover{color:var(--text-primary);background:#ffffff14;transform:translate(6px)}.nav-item.active{color:#fff;background:var(--ocean-main);transform:translate(4px);box-shadow:0 4px 15px #0ea5e966}.nav-item svg{transition:transform .3s}.nav-item:hover svg{transform:scale(1.15)}.sidebar-footer{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.action-row{gap:.5rem;width:100%;display:flex}.new-transaction-btn{background:var(--ocean-main);color:#fff;flex:1;justify-content:center}.new-transaction-btn:hover{background:var(--ocean-light);color:#fff}.logout-btn:hover{color:var(--accent-expense);background:#ef44441a}.purge-btn{color:#fbbf24;border:1px dashed #fbbf24;margin-bottom:.5rem}.purge-btn:hover{color:#f59e0b;background:#fbbf241a}.top-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.workspace-info h1{color:var(--text-primary);font-size:1.5rem;font-weight:600}.date-display{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.user-profile .avatar{background:var(--bg-tertiary);width:40px;height:40px;color:var(--ocean-light);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.page-content{flex-direction:column;flex:1;animation:.4s forwards fadeIn;display:flex}.dashboard-container{flex-direction:column;gap:2rem;display:flex}.ai-insight-section{border-radius:var(--radius-lg);background:linear-gradient(135deg,#38bdf81a 0%,#8b5cf61a 100%);border:1px solid #38bdf833;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.ai-insight-header{align-items:center;gap:.75rem;display:flex}.ai-insight-header h3{text-transform:uppercase;letter-spacing:.1em;color:var(--ocean-main);margin:0;font-size:.85rem}.ai-glow-icon{color:var(--ocean-main);filter:drop-shadow(0 0 5px var(--ocean-main));animation:2s infinite alternate pulse-glow}@keyframes pulse-glow{0%{opacity:.6;transform:scale(1)}to{opacity:1;filter:drop-shadow(0 0 10px var(--ocean-main));transform:scale(1.1)}}.ai-insight-content p{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:500;line-height:1.6}.loading-spinner-small{border:2px solid #38bdf833;border-top:2px solid var(--ocean-main);border-radius:50%;width:12px;height:12px;margin-left:.5rem;animation:1s linear infinite spin}.custom-4-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.metric-card{background:var(--bg-secondary);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.highlight-card{background:linear-gradient(135deg, var(--ocean-dark) 0%, var(--ocean-main) 100%);box-shadow:var(--shadow-glow);border:none}.highlight-card h3,.highlight-card .metric-value{color:#fff!important}.metric-header{justify-content:space-between;align-items:center;display:flex}.metric-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.metric-value{color:var(--text-primary);letter-spacing:-.05em;font-size:2rem;font-weight:700}.metric-subtext{color:var(--text-tertiary);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.metric-subtext.positive{color:var(--accent-income)}.metric-subtext.negative{color:var(--accent-expense)}.metric-subtext.text-white{color:#fffc}.dashboard-main{gap:1.5rem;display:grid}.charts-grid{grid-template-columns:2fr 3fr}.split-grid{grid-template-columns:1fr 1fr}@media (width<=1024px){.custom-4-grid{grid-template-columns:repeat(2,1fr)}.charts-grid,.split-grid{grid-template-columns:1fr}}@media (width<=600px){.custom-4-grid{grid-template-columns:1fr}}.chart-section,.category-section,.timeline-section{background:var(--glass-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem}.chart-section h3,.category-section h3,.timeline-section h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.pie-chart-container,.combo-chart-container{justify-content:center;align-items:center;width:100%;display:flex}.empty-state{color:var(--text-tertiary);text-align:center;padding:2rem;font-style:italic}.timeline-list{flex-direction:column;gap:1.2rem;display:flex}.timeline-item{border-bottom:1px solid #ffffff0d;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.dark-panel{border:none;color:#fff!important;background:#253347!important}.dark-panel h3{color:#fff}.dark-panel .timeline-item{border-bottom:1px solid #ffffff1a}.icon-badge{background:var(--ocean-dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.timeline-content{flex:1;justify-content:space-between;align-items:center;display:flex}.timeline-title{font-size:.95rem;font-weight:500}.mock-badge{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:4px;margin-top:4px;margin-left:8px;padding:1px 6px;font-size:.65rem;display:inline-block}.timeline-amount{font-family:monospace;font-weight:600}.timeline-amount.income{color:var(--accent-income)}.timeline-amount.expense{color:var(--text-secondary)}.category-list{flex-direction:column;gap:1.5rem;display:flex}.category-item{flex-direction:column;gap:.5rem;display:flex}.cat-info{justify-content:space-between;font-size:.9rem;display:flex}.cat-name{color:var(--text-primary);font-weight:500}.cat-amounts{color:var(--text-secondary);font-family:monospace}.progress-bar-bg{background:#0000000d;border-radius:6px;width:100%;height:12px;overflow:hidden}.progress-bar-fill{border-radius:6px;height:100%;transition:width .5s ease-out}.calendar-container{flex-direction:column;gap:1.5rem;display:flex}.calendar-header{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.month-selector{align-items:center;gap:1.5rem;display:flex}.month-selector h2{color:var(--text-primary);text-align:center;min-width:140px;font-size:1.25rem;font-weight:600}.month-selector button{border-radius:var(--radius-md);background:#ffffff0d;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.month-selector button:hover{color:var(--ocean-light);background:#0ea5e933}.legend{gap:1.5rem;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.dot{border-radius:50%;width:10px;height:10px}.dot.past{background:var(--ocean-main)}.dot.projected{border:2px dashed var(--ocean-light);background:0 0}.calendar-grid{background:var(--border-light);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.weekday-header{text-align:center;color:var(--text-tertiary);background:var(--bg-secondary);padding:1rem;font-size:.875rem;font-weight:600}.calendar-day{background:var(--bg-primary);flex-direction:column;gap:.5rem;min-height:120px;padding:.75rem;transition:background .2s;display:flex}.calendar-day:hover{background:var(--bg-secondary)}.calendar-day.empty{background:var(--bg-secondary);opacity:.5}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--ocean-main);background:#0ea5e90d}.calendar-day.has-projected{background-image:repeating-linear-gradient(45deg,#0000,#0000 10px,#0ea5e905 10px 20px)}.day-number{color:var(--text-secondary);font-weight:500}.calendar-day.today .day-number{color:var(--ocean-light);font-weight:700}.day-summary{flex-direction:column;gap:.25rem;font-family:monospace;font-size:.8rem;font-weight:600;display:flex}.day-income{color:var(--accent-income)}.day-expense{color:var(--accent-expense)}.day-dots{align-items:center;gap:.25rem;margin-top:auto;display:flex}.tx-dot{border-radius:50%;width:8px;height:8px}.tx-dot.income{background:var(--accent-income)}.tx-dot.expense{background:var(--accent-expense)}.tx-dot.projected-dot{background:0 0;border:1px dashed}.tx-dot.income.projected-dot{border-color:var(--accent-income)}.tx-dot.expense.projected-dot{border-color:var(--accent-expense)}.tx-more{color:var(--text-tertiary);font-size:.7rem;font-weight:700}.report-panel{padding:1.5rem}.report-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.report-desc{color:var(--text-tertiary);margin-bottom:1.5rem;font-size:.875rem}.report-stats{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.stat-box{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#0003;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.stat-box.highlight-stat{border-color:var(--ocean-main);background:#0ea5e90d}.stat-box span{color:var(--text-secondary);font-size:.875rem}.stat-box strong{font-family:monospace;font-size:1.5rem}.stat-box strong.positive{color:var(--accent-income)}.stat-box strong.negative{color:var(--accent-expense)}.income-engine-container{flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.engine-header{justify-content:space-between;align-items:center;display:flex}.add-stream-btn{background:var(--ocean-main);color:#fff;border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex}.add-stream-btn:hover{background:var(--ocean-light);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e94d}.streams-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.stream-card{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.stream-header{align-items:center;gap:1rem;display:flex}.stream-title-group h3{margin:0;font-size:1.125rem}.mock-label{text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em;background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:.625rem}.stream-amount{color:var(--text-primary);font-size:1.75rem;font-weight:700}.stream-amount span{color:var(--text-tertiary);font-size:.875rem;font-weight:400}.stream-meta{gap:1.5rem;display:flex}.meta-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.stream-actions{gap:.75rem;margin-top:.5rem;display:flex}.edit-btn{background:var(--bg-tertiary);color:var(--text-primary);flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.edit-btn:hover{background:#ffffff1a}.delete-btn{width:44px;height:44px;color:var(--accent-expense);background:#ef44441a;justify-content:center;align-items:center;display:flex}.delete-btn:hover{background:#ef444433}.empty-streams{color:var(--text-tertiary);text-align:center;flex-direction:column;grid-column:1/-1;align-items:center;gap:1rem;padding:4rem;display:flex}.engine-stats{flex-direction:column;gap:1rem;padding:2rem;display:flex}.stats-main{justify-content:space-between;align-items:baseline;display:flex}.gross-amount{color:var(--ocean-light);text-shadow:0 0 20px #0ea5e933;font-size:2.5rem;font-weight:800}.gross-desc{color:var(--text-tertiary);margin:0;font-size:.875rem}.stream-form{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.stream-form .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.stream-form .input-group{flex-direction:column;gap:.5rem;display:flex}.stream-form label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.stream-form input,.stream-form select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:.875rem;font-size:1rem}.amount-input{align-items:center;display:flex;position:relative}.amount-input span{color:var(--text-tertiary);position:absolute;left:1rem}.amount-input input{width:100%;padding-left:2rem}.save-stream-btn{background:var(--ocean-main);color:#fff;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;padding:1rem;font-weight:700;display:flex}.save-stream-btn:hover{background:var(--ocean-light);box-shadow:0 8px 20px #0ea5e966}.vaults-container{flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.vaults-header{justify-content:space-between;align-items:center;display:flex}.add-vault-btn{background:var(--ocean-main);color:#fff;border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex}.vaults-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.vault-card{border-left:4px solid var(--vault-color);flex-direction:column;gap:1.25rem;padding:1.5rem;transition:transform .2s;display:flex}.vault-card:hover{transform:translateY(-4px)}.vault-card-header{justify-content:space-between;align-items:flex-start;display:flex}.vault-icon-wrapper{width:48px;height:48px;color:var(--vault-color);background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #0000001a}.vault-actions{opacity:0;gap:.5rem;transition:opacity .2s;display:flex}.vault-card:hover .vault-actions{opacity:1}.icon-btn{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:#ffffff0d;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover{color:var(--text-primary);background:#ffffff1a}.icon-btn.delete-variant:hover{color:var(--accent-expense);background:#ef444433}.vault-name-row{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.vault-name-row h3{margin:0;font-size:1.25rem}.vault-percentage{color:var(--vault-color);font-size:.875rem;font-weight:700}.vault-progress-bg{background:#ffffff1a;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden}.vault-progress-inner{background:var(--vault-color);height:100%;box-shadow:0 0 10px var(--vault-color);transition:width .6s cubic-bezier(.4,0,.2,1)}.vault-amounts{justify-content:space-between;margin-bottom:1rem;display:flex}.amount-item{flex-direction:column;display:flex}.amount-item .label{text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em;font-size:.75rem}.amount-item .value{font-size:1.125rem;font-weight:600}.allocation-zone{gap:.5rem;display:flex}.allocation-zone input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:.75rem;font-size:.875rem}.allocate-btn{background:var(--vault-color);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;display:flex}.vault-form{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.icon-selector,.color-selector{flex-wrap:wrap;gap:.75rem;display:flex}.icon-option{background:var(--bg-secondary);width:44px;height:44px;color:var(--text-tertiary);border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-option.selected{border-color:var(--ocean-main);color:var(--ocean-main);background:#0ea5e91a}.color-option{border:2px solid #fff;border-radius:50%;width:32px;height:32px;transition:transform .2s;box-shadow:0 0 0 2px #0000}.color-option.selected{box-shadow:0 0 0 2px var(--ocean-main);transform:scale(1.2)}.save-vault-btn{background:var(--ocean-main);color:#fff;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:1rem;font-weight:700;display:flex}.subs-container{flex-direction:column;gap:2rem;padding:1.5rem;animation:.4s ease-out fadeIn;display:flex}.subs-header{justify-content:space-between;align-items:center;display:flex}.total-subs-card{background:linear-gradient(135deg,#38bdf81a 0%,#0ea5e91a 100%);border:1px solid #38bdf84d;flex-direction:column;padding:1rem 1.5rem;display:flex}.total-subs-card .label{text-transform:uppercase;color:var(--ocean-light);letter-spacing:.1em;font-size:.75rem}.total-subs-card .value{color:#fff;font-size:1.75rem;font-weight:800}.subs-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.sub-card{flex-direction:column;gap:1.25rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.sub-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000004d}.sub-card-header{justify-content:space-between;align-items:flex-start;display:flex}.sub-info{align-items:center;gap:1rem;display:flex}.sub-icon{width:40px;height:40px;color:var(--ocean-light);background:#0ea5e91a;border-radius:12px;justify-content:center;align-items:center;display:flex}.sub-info h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.sub-category{color:var(--text-tertiary);font-size:.8rem}.sub-cost{text-align:right}.sub-cost .monthly{color:#fff;font-size:1.25rem;font-weight:700;display:block}.sub-cost .period{color:var(--text-tertiary);font-size:.75rem}.sub-metrics{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);gap:1.5rem;padding:.75rem 0;display:flex}.sub-metric{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.sub-action .view-history-btn{border:1px solid var(--border-light);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-size:.85rem;transition:all .2s;display:flex}.view-history-btn:hover{background:var(--bg-tertiary);color:#fff;border-color:var(--text-tertiary)}.no-subs-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.no-subs-state h3{color:var(--text-primary);margin:0}.no-subs-state p{max-width:400px}.budgeting-container{flex-direction:column;gap:2rem;padding:1.5rem;animation:.4s ease-out fadeIn;display:flex}.budgeting-header{justify-content:space-between;align-items:center;display:flex}.success-toast{border:1px solid var(--accent-income);color:var(--accent-income);background:#10b9811a;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;animation:.3s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.budget-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.budget-settings-card{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.card-top{align-items:center;gap:1rem;display:flex}.cat-icon-wrapper{width:40px;height:40px;color:var(--ocean-light);background:#0ea5e91a;border-radius:12px;justify-content:center;align-items:center;display:flex}.cat-info h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.cat-info .period{color:var(--text-tertiary);font-size:.75rem}.input-row{gap:.5rem;display:flex}.amount-input{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#0003;flex:1;align-items:center;padding:0 .75rem;display:flex}.amount-input .currency{color:var(--text-tertiary);font-weight:600}.amount-input input{color:#fff;background:0 0;border:none;width:100%;padding:.75rem .5rem;font-family:inherit;font-size:1rem;font-weight:600}.amount-input input:focus{outline:none}.save-limit-btn{background:var(--ocean-main);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;transition:all .2s;display:flex}.save-limit-btn:hover{background:var(--ocean-light);transform:translateY(-2px)}.budget-footer-info{color:var(--text-tertiary);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.budgeting-pro-tip{border:1px dashed var(--ocean-light);align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex}.budgeting-pro-tip svg{color:var(--ocean-light)}.tip-content h4{color:var(--text-primary);margin:0;font-size:1rem}.tip-content p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.9rem;line-height:1.4}.forecasting-container{flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.forecasting-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.growth-toggle{background:#ffffff08;border-radius:999px;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.growth-toggle svg.active{color:#fbbf24;filter:drop-shadow(0 0 5px #fbbf2480)}.toggle-switch{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:11px;width:44px;height:22px;transition:all .3s;position:relative}.toggle-switch.on{background:var(--ocean-main)}.switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;top:1px;left:2px}.toggle-switch.on .switch-thumb{left:22px}.metrics-summary{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.metric-card{flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.metric-card.highlight{border-color:var(--ocean-light);background:linear-gradient(135deg,#0ea5e90d,#0000)}.metric-top{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.metric-value{color:var(--text-primary);align-items:baseline;gap:.5rem;font-size:2.25rem;font-weight:700;display:flex}.metric-value .unit{color:var(--text-tertiary);font-size:.875rem;font-weight:400}.metric-hint{color:var(--text-tertiary);margin:0;font-size:.75rem}.forecast-chart-section{padding:2rem}.chart-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.chart-header h3{margin:0;font-size:1.25rem}.chart-legend{color:var(--text-tertiary);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.chart-legend .dot{background:var(--ocean-light);border-radius:50%;width:8px;height:8px}.vault-projections h3{margin-bottom:1.5rem}.vault-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.vault-forecast-card{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.v-header{justify-content:space-between;align-items:center;display:flex}.v-name{color:var(--text-primary);font-weight:600}.v-time{color:var(--ocean-light);font-size:.75rem;font-weight:600}.v-progress-track{background:#ffffff0d;border-radius:3px;height:6px;overflow:hidden}.v-progress-bar{height:100%;box-shadow:0 0 10px var(--vault-color);border-radius:3px}.v-footer{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.v-advice{opacity:.7;font-style:italic}.forecasting-alert{background:#fbbf2405;border:1px solid #fbbf2433;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.forecasting-alert svg{color:#fbbf24}.forecasting-alert p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}
