:root{--brand-primary: #0d9488;--brand-secondary: #f97316;--brand-tertiary: #fbbf24;--gradient-hero: linear-gradient(125deg, #0d9488 0%, #0f766e 40%, #f97316 100%);--gradient-primary: linear-gradient(125deg, #0d9488 0%, #14b8a6 100%);--gradient-success: linear-gradient(125deg, #16a34a 0%, #14b8a6 100%);--gradient-sunset: linear-gradient(125deg, #f97316 0%, #ef4444 100%);--gradient-ocean: linear-gradient(125deg, #0d9488 0%, #0284c7 100%);--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--neutral-950: #020617;--success-50: #ecfdf5;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--error-50: #fff1f2;--error-500: #f43f5e;--error-600: #e11d48;--error-700: #be123c;--info-50: #f0f9ff;--info-500: #0ea5e9;--info-600: #0284c7;--info-700: #0369a1;--glass-light: rgba(255, 255, 255, .7);--glass-medium: rgba(255, 255, 255, .5);--glass-dark: rgba(255, 255, 255, .3);--glass-blur: blur(20px);--glass-border: rgba(255, 255, 255, .18);--font-primary: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Courier, monospace;--font-display: "Space Grotesk", var(--font-primary);--text-display-2xl: 72px;--text-display-xl: 60px;--text-display-lg: 48px;--text-h1: 36px;--text-h2: 30px;--text-h3: 24px;--text-h4: 20px;--text-h5: 18px;--text-h6: 16px;--text-xl: 20px;--text-lg: 18px;--text-base: 16px;--text-sm: 14px;--text-xs: 12px;--text-2xs: 10px;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--font-thin: 100;--font-extralight: 200;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--space-0: 0;--space-px: 1px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-28: 112px;--space-32: 128px;--space-36: 144px;--space-40: 160px;--space-48: 192px;--space-64: 256px;--space-80: 320px;--space-96: 384px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 50px 100px -20px rgba(0, 0, 0, .25);--shadow-primary: 0 10px 24px -8px rgba(13, 148, 136, .5);--shadow-success: 0 8px 16px -4px rgba(16, 185, 129, .3);--shadow-warning: 0 8px 16px -4px rgba(245, 158, 11, .3);--shadow-error: 0 8px 16px -4px rgba(244, 63, 94, .3);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-inner-lg: inset 0 4px 8px 0 rgba(0, 0, 0, .1);--radius-none: 0;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--ease-in-sine: cubic-bezier(.12, 0, .39, 0);--ease-out-sine: cubic-bezier(.61, 1, .88, 1);--ease-in-out-sine: cubic-bezier(.37, 0, .63, 1);--ease-in-cubic: cubic-bezier(.32, 0, .67, 0);--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--ease-default: var(--ease-out-cubic);--ease-smooth: var(--ease-in-out-sine);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: 75ms;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .35s;--duration-slower: .5s;--duration-slowest: .7s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideLeft{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideRight{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #6366f180}50%{box-shadow:0 0 20px #6366f1cc}}.transitions-enabled *{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.no-transitions *{transition:none!important}@font-face{font-family:Inter Fallback;src:local("Arial");font-display:swap;size-adjust:94%;ascent-override:90%;descent-override:22%;line-gap-override:0%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-primary, "Inter", "Inter Fallback", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-h1);font-weight:var(--font-bold)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4)}h5{font-size:var(--text-h5)}h6{font-size:var(--text-h6)}p{margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}a{color:var(--brand-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:var(--brand-secondary);text-decoration:underline}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}code{font-family:var(--font-mono);font-size:.9em;padding:var(--space-1) var(--space-2);background:var(--neutral-100);border-radius:var(--radius-sm)}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;background:none;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full);border:3px solid var(--neutral-100)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}::selection{background:var(--brand-primary);color:#fff}::-moz-selection{background:var(--brand-primary);color:#fff}:focus{outline:2px solid var(--brand-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.text-center{text-align:center}.animate-fade-in{animation:fadeIn var(--duration-base) var(--ease-default)}.animate-slide-up{animation:slideUp var(--duration-base) var(--ease-default)}.animate-slide-down{animation:slideDown var(--duration-base) var(--ease-default)}.animate-scale-in{animation:scaleIn var(--duration-base) var(--ease-bounce)}.skeleton{background:linear-gradient(90deg,var(--neutral-200) 0px,var(--neutral-100) 40px,var(--neutral-200) 80px);background-size:600px;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.variance-positive,.status-positive{color:var(--success, #16d946)}.variance-negative,.status-negative{color:var(--error, #ff4757)}.variance-neutral{color:var(--text-secondary)}.balance-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d94881a,#0f162080);border:1px solid var(--border-accent);border-radius:14px;padding:var(--card-padding-md, 24px);backdrop-filter:blur(12px);margin-bottom:1rem;font-weight:700;letter-spacing:.12em;color:var(--text-secondary);transition:all .2s ease}.balance-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg),var(--shadow-glow);border-color:#0d948899}.balance-card h2{font-size:.875rem;text-transform:uppercase;opacity:.95;margin-bottom:.75rem;font-weight:600;letter-spacing:.1em;position:relative;z-index:1}.balance-card .amount{font-size:2.8rem;font-weight:800;position:relative;z-index:1;text-shadow:0 2px 12px rgba(0,0,0,.3);letter-spacing:-.02em;color:var(--text-primary);font-family:Space Grotesk,sans-serif}.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#0d948814,#0f162066);backdrop-filter:blur(12px);padding:var(--card-padding-md, 24px);border-radius:14px;box-shadow:var(--shadow-md);border:1px solid var(--border-accent);transition:all .2s ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--brand-gradient);opacity:0;transition:opacity .2s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#0d948880}.summary-card:hover:before{opacity:1}.summary-card h3{font-size:.75rem;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.75rem;font-weight:600;letter-spacing:.1em}.summary-card .amount{font-size:1.75rem;font-weight:700;letter-spacing:-.01em}.summary-card.income .amount{color:var(--color-income)}.summary-card.expense .amount{color:var(--color-expense)}.card{background:var(--color-card);backdrop-filter:blur(10px);border-radius:1.25rem;box-shadow:0 8px 32px #0000001a,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.05);margin-bottom:1.5rem;transition:all .3s ease}.card:hover{box-shadow:0 12px 40px #00000026,0 0 0 1px #ffffff1a}.card-header{padding:1.25rem 1.75rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:#ffffff05}.card-header h3{font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.card-body{padding:1.75rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text)}.form-group input,.form-group select{width:100%;padding:.875rem 1.125rem;border:1px solid var(--color-border);border-radius:.75rem;font-size:1rem;transition:all .2s ease;background:#ffffff08;color:var(--color-text)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);background:#ffffff0d;box-shadow:0 0 0 3px #10b9811a;transform:translateY(-1px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;letter-spacing:-.01em}.btn-primary{background:var(--gradient-primary);color:#fff;width:100%;box-shadow:0 4px 16px #10b9814d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn-primary:hover:before{width:200%;height:200%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #10b98166}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-delete{background:#ef44441a;color:var(--color-expense);padding:.625rem;border-radius:.5rem;transition:all .3s ease;border:1px solid transparent}.btn-delete:hover{background:#ef444433;border-color:#ef44444d;transform:scale(1.05)}.transaction-list{list-style:none}.transaction-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--color-border);transition:all .3s ease}.transaction-item:hover{background:#ffffff05;margin:0 -1.75rem;padding-left:1.75rem;padding-right:1.75rem;border-radius:.75rem}.transaction-item:last-child{border-bottom:none}.transaction-info{flex:1}.transaction-info h4{font-size:.9375rem;font-weight:500;margin-bottom:.25rem}.transaction-info span{font-size:.75rem;color:var(--color-text-light)}.transaction-amount{font-weight:600;margin-right:1rem}.transaction-amount.income{color:var(--color-income)}.transaction-amount.expense{color:var(--color-expense)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--color-text-light);background:#ffffff05;border-radius:1rem;border:2px dashed var(--color-border)}.loading{text-align:center;padding:2rem;color:var(--color-text-light)}.error{background:#ef44441a;color:var(--color-expense);padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1rem;border:1px solid rgba(239,68,68,.2);backdrop-filter:blur(10px)}.success{background:#10b9811a;color:var(--color-income);padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1rem;border:1px solid rgba(16,185,129,.2);backdrop-filter:blur(10px)}.category-tag{display:inline-block;padding:.25rem .625rem;background:#10b9811a;border-radius:.375rem;font-size:.75rem;color:var(--color-primary);border:1px solid rgba(16,185,129,.2);font-weight:600}.nav-tabs{display:flex;gap:.75rem;margin-bottom:2rem;padding:.5rem;background:var(--color-card);backdrop-filter:blur(10px);border-radius:1rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 32px #0000001a}.nav-tab{background:transparent;border:none;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;color:var(--color-text-light);cursor:pointer;border-radius:.625rem;transition:all .3s ease;position:relative;letter-spacing:-.01em}.nav-tab:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--gradient-primary);transform:translate(-50%);transition:width .3s ease}.nav-tab:hover{color:var(--color-primary);background:#10b9810d}.nav-tab.active{color:#fff;background:var(--gradient-primary);box-shadow:0 4px 16px #10b9814d}.nav-tab.active:before{width:0}.integrated-budget-tool{background:var(--color-card);border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.tool-header{text-align:center;margin-bottom:2rem}.tool-header h2{font-size:1.75rem;color:var(--color-text);margin-bottom:.5rem}.tool-header p{color:var(--color-text-light)}.instructions{background:#10b9811a;border-left:4px solid var(--color-primary);padding:1.25rem;margin-bottom:2rem;border-radius:.75rem;backdrop-filter:blur(10px);border:1px solid rgba(16,185,129,.2)}.instructions p{margin:0;color:var(--color-text)}.instructions h3{font-size:1rem;margin-bottom:.5rem}.instructions ol{margin:.5rem 0 0 1.5rem}.instructions li{margin-bottom:.25rem}.budget-section{margin-bottom:2rem}.budget-section h3{font-size:1.125rem;margin-bottom:1rem;color:var(--color-text)}.budget-table-container{overflow-x:auto}.budget-table{width:100%;border-collapse:collapse;background:#1e293b66}.budget-table th{background:var(--color-bg);padding:.75rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text);border-bottom:2px solid var(--color-border)}.budget-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.budget-table .category-cell{font-weight:500;color:var(--color-text);min-width:150px}.budget-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;min-width:100px}.budget-input:focus{outline:none;border-color:var(--color-primary)}.budget-summary{margin-top:2rem}.budget-summary h3{font-size:1.125rem;margin-bottom:1rem;color:var(--color-text)}.summary-table-container{overflow-x:auto}.budget-table .income-row{background:#10b9810d}.budget-table .expense-row{background:#ef44440d}.budget-table .balance-row{font-weight:600;background:var(--color-bg)}.budget-table .positive{color:var(--color-income)}.budget-table .negative{color:var(--color-expense)}.portfolio-rebalance-tool{background:var(--color-card);border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.input-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.input-group{display:flex;flex-direction:column}.input-group label{font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text)}.portfolio-input{padding:.875rem 1.125rem;border:1px solid var(--color-border);border-radius:.75rem;font-size:1rem;background:#ffffff08;color:var(--color-text);transition:all .2s ease}.portfolio-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff0d;box-shadow:0 0 0 3px #10b9811a}.allocation-warning{background:#ef44441a;color:var(--color-expense);padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1rem;border-left:4px solid var(--color-expense);backdrop-filter:blur(10px);border:1px solid rgba(239,68,68,.2)}.portfolio-table-container{overflow-x:auto;margin-bottom:2rem}.portfolio-table{width:100%;border-collapse:collapse;background:var(--color-card);backdrop-filter:blur(10px)}.portfolio-table th{background:#10b9811a;padding:.875rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text);border-bottom:2px solid var(--color-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.portfolio-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.portfolio-table .ticker-cell{font-weight:600;color:var(--color-primary)}.portfolio-table .formatted-ticker{color:var(--color-text-light);font-size:.875rem}.table-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;min-width:80px}.table-input:focus{outline:none;border-color:var(--color-primary)}.available-tickers{background:#ffffff08;backdrop-filter:blur(10px);padding:1.75rem;border-radius:1rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.05)}.available-tickers h3{font-size:1rem;margin-bottom:.5rem}.available-tickers p{color:var(--color-text-light);font-size:.875rem;margin-bottom:1rem}.ticker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.ticker-item{display:flex;flex-direction:column;background:#ffffff0d;backdrop-filter:blur(10px);padding:1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.ticker-item:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.ticker-name{font-weight:600;color:var(--color-primary);font-size:.9375rem}.ticker-formatted{color:var(--color-text-light);font-size:.75rem;margin:.25rem 0}.ticker-price{font-weight:500;color:var(--color-text);font-size:.875rem}.portfolio-summary{background:#ffffff08;backdrop-filter:blur(10px);padding:1.75rem;border-radius:1rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.05)}.portfolio-summary h3{font-size:1rem;margin-bottom:1rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-item{background:#ffffff0d;backdrop-filter:blur(10px);padding:1.25rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.summary-item:hover{background:#ffffff14;transform:translateY(-2px)}.summary-item label{display:block;font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;margin-bottom:.5rem}.summary-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}@media (max-width: 600px){.form-row,.summary-cards{grid-template-columns:1fr}.balance-card .amount{font-size:2.5rem}.nav-tabs{flex-direction:column;gap:.5rem;padding:.75rem}.nav-tab{width:100%;justify-content:center}.input-section,.ticker-list,.summary-grid{grid-template-columns:1fr}}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:var(--color-card);padding:.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.tab{flex:1;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .2s}.tab:hover{color:var(--color-text);background:var(--color-bg)}.tab.active{background:var(--color-primary);color:#fff}.networth-section{margin-top:2rem}.networth-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.networth-header h2{font-size:1.5rem;color:var(--color-text)}.networth-actions{display:flex;gap:.5rem}.btn-secondary{background:#94a3b81a;color:var(--color-text);border:1px solid rgba(148,163,184,.2);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#94a3b826;transform:translateY(-2px);box-shadow:0 4px 16px #94a3b833}.networth-summary{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.networth-card{background:var(--color-card);padding:2rem;border-radius:1rem;text-align:center;box-shadow:0 4px 12px #0000001a}.networth-card.total{background:var(--gradient-blue);color:#fff;box-shadow:0 20px 60px #3b82f64d}.networth-card.available{background:var(--gradient-primary);color:#fff;box-shadow:0 20px 60px #10b9814d}.networth-card h3{font-size:.875rem;text-transform:uppercase;opacity:.9;margin-bottom:.5rem}.networth-card .amount{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.networth-card .date-label{font-size:.875rem;opacity:.8}.accounts-section{margin-top:1.5rem}.section-total{font-weight:600;font-size:1.125rem;color:var(--color-income)}.section-total.liability{color:var(--color-expense)}.account-list{list-style:none}.account-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--color-border)}.account-item:last-child{border-bottom:none}.account-info{flex:1}.account-info h4{font-size:.9375rem;font-weight:500;margin-bottom:.25rem}.account-balance{font-weight:600;font-size:1.125rem;margin-right:1rem;color:var(--color-text)}.account-balance.liability{color:var(--color-expense)}.account-edit input{padding:.5rem;border:1px solid var(--color-primary);border-radius:.25rem;font-size:1rem;width:150px;margin-right:1rem}.snapshot-list{list-style:none}.snapshot-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--color-border)}.snapshot-item:last-child{border-bottom:none}.snapshot-info h4{font-size:.9375rem;font-weight:500;margin-bottom:.25rem}.snapshot-info span{font-size:.75rem;color:var(--color-text-light)}.snapshot-values{text-align:right}.networth-value{display:block;font-weight:600;font-size:1.125rem;color:var(--color-text);margin-bottom:.25rem}.available-value{font-size:.875rem;color:var(--color-text-light)}@media (max-width: 600px){.networth-summary{grid-template-columns:1fr}.networth-header{flex-direction:column;gap:1rem;align-items:stretch}.networth-actions{flex-direction:column}.networth-card .amount{font-size:2rem}}.main-nav{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.nav-btn{background:var(--color-card);border:2px solid var(--color-border);color:var(--color-text);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .2s}.nav-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.nav-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mortgage-calculator{max-width:900px;margin:0 auto}.mortgage-header{text-align:left;margin-bottom:2rem;padding:1.75rem;background:var(--color-card);backdrop-filter:blur(10px);border-radius:1.25rem;box-shadow:0 8px 32px #0000001a,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.05)}.mortgage-header h1{font-size:2rem;color:var(--color-text);margin-bottom:.5rem;font-weight:800;letter-spacing:-.02em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mortgage-header .attribution{font-size:.875rem;color:var(--color-text-light);margin:0}.mortgage-inputs{display:flex;flex-direction:column;gap:1rem}.input-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem;align-items:center}.input-row label{font-size:.9375rem;font-weight:500;color:var(--color-text)}.mortgage-input{padding:.875rem 1.125rem;border:1px solid var(--color-border);border-radius:.75rem;font-size:1rem;background:#ffffff08;transition:all .2s ease;text-align:right;color:var(--color-text)}.mortgage-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff0d;box-shadow:0 0 0 3px #10b9811a}.result-grid{display:flex;flex-direction:column;gap:.75rem}.result-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.result-row:last-child{border-bottom:none}.result-row.highlight{background:#10b9811a;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid rgba(16,185,129,.2);margin-top:.5rem;backdrop-filter:blur(10px)}.result-label{font-size:.9375rem;color:var(--color-text);font-weight:500}.result-value{font-size:1rem;font-weight:600;color:var(--color-primary);text-align:right;font-family:Courier New,monospace}.result-row.highlight .result-value{color:var(--color-income);font-size:1.125rem}@media (max-width: 768px){body,html{overflow-x:hidden;overflow-y:auto;position:relative}*{scrollbar-width:none}*::-webkit-scrollbar{display:none}*{touch-action:manipulation}button,a,nav,.mobile-tab-bar,.widget,.board-header{-webkit-user-select:none;user-select:none}.app-content,.timeline-scroll,.dashboard{-webkit-overflow-scrolling:touch}.mobile-tab-bar,.mobile-tab,.widget,.dashboard-grid{will-change:transform;transform:translateZ(0)}.app-shell{overscroll-behavior-y:contain}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;-webkit-text-size-adjust:100%}input,textarea,select{font-size:16px!important}.app-content,.timeline-scroll,.dashboard{touch-action:pan-y}button:not(.mobile-tab):not(.mobile-tab-bar *),[role=button]{min-height:44px}.app-content{overscroll-behavior-y:contain}.widget:hover,.card:hover,[class*=widget]:hover,[class*=card]:hover{transform:none!important;box-shadow:var(--shadow-md)!important}.widget,[class*=-widget],[class*=-card]{border-radius:16px}button:active:not(:disabled),.btn:active:not(:disabled),[role=button]:active{transform:scale(.98)!important;transition:transform .1s ease-out}.mobile-carousel{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:16px;padding-bottom:24px;-ms-overflow-style:none;scrollbar-width:none}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel>*{min-width:280px;max-width:85vw;scroll-snap-align:center;flex-shrink:0}}html,body,#root{width:100%!important;min-width:100%!important;max-width:100%!important}#root>.app-shell{width:100%!important;min-width:100%!important;max-width:100%!important}body.keyboard-visible .mobile-nav{display:none}html.native-platform{overscroll-behavior:none;position:fixed;width:100%;height:100%}html.native-platform body{overflow-y:auto;-webkit-overflow-scrolling:touch}
