:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#f9fafb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0}#root{height:100%;width:100%;display:flex;flex-direction:column}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}} h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #059669;--secondary-hover: #047857;--danger-color: #dc2626;--danger-hover: #b91c1c;--background: #f8fafc;--surface: #ffffff;--border-color: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}#root{background-color:var(--background)}.app-container{background:#fff;min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;padding:.5rem 1.5rem;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:50}.header-main{display:flex;align-items:center;gap:1rem;position:relative}.header-spacer{flex:1}.current-profile-badge{display:none}.current-profile-badge-modern{display:none;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#ffffff1f;border-radius:8px;border:1px solid rgba(255,255,255,.2);position:relative}@media(min-width:769px){.current-profile-badge-modern{display:flex}}.profile-name-modern{font-weight:600;color:#fff;font-size:.9rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-badge-pill{padding:.25rem .75rem;border-radius:12px;font-size:.7rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0003}.profile-modified-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#fbbf24;border:2px solid white;border-radius:50%;animation:pulse 2s infinite}.hamburger-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s}.hamburger-btn:hover{background:#fff3}.scenarios-select{flex:1;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:#fff;font-size:.95rem;cursor:pointer;max-width:400px}.scenarios-select:focus{outline:none;background:#fff3}.scenarios-select option{background:var(--primary-color);color:#fff}.scenarios-select optgroup{background:var(--primary-hover);font-weight:600}.btn-add-profile{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s;line-height:1}.btn-add-profile:hover{background:#ffffff40}.btn-save-db{background:#10b98133;border:1px solid rgba(16,185,129,.4);color:#fff;font-size:1.2rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s;line-height:1}.btn-save-db:hover{background:#10b9814d;border-color:#10b98199}.btn-save-cloud{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#fff;font-size:1.2rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s;line-height:1}.btn-save-cloud:hover{background:#3b82f64d;border-color:#3b82f699}.btn-save-local{background:#a855f733;border:1px solid rgba(168,85,247,.4);color:#fff;font-size:1.2rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s;line-height:1}.btn-save-local:hover{background:#a855f74d;border-color:#a855f799}.btn-edit-profile,.btn-delete-profile{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.2rem;padding:.4rem .6rem;border-radius:6px;cursor:pointer;transition:all .2s;line-height:1}.btn-edit-profile:hover{background:#fff3}.btn-delete-profile:hover{background:#ef44444d;border-color:#ef444480}.btn-reset-scenario{background:#fbbf2433;border:1px solid rgba(251,191,36,.4);color:#fff;font-size:1.2rem;padding:.4rem .6rem;border-radius:6px;cursor:pointer;transition:all .2s;line-height:1}.btn-reset-scenario:hover{background:#fbbf244d;border-color:#fbbf2499}.tab-navigation-mobile{position:absolute;top:100%;left:0;width:250px;background:var(--primary-color);border:1px solid rgba(255,255,255,.2);border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000004d;z-index:100}.tab-navigation-desktop{display:none;gap:.25rem;padding:0;border:none}@media(min-width:769px){.hamburger-btn,.tab-navigation-mobile{display:none}.tab-navigation-desktop{display:flex}}.tab-button-desktop{padding:.4rem .875rem;background:transparent;border:none;color:#ffffffd9;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;border-radius:6px;border-bottom:none;white-space:nowrap}.tab-button-desktop:hover{background:#ffffff1a;color:#fff}.tab-button-desktop.active{background:#fff3;color:#fff}.header-row{display:flex;align-items:center;gap:1rem;padding:.6rem 0}.header-left{display:flex;align-items:center;gap:.5rem}.header-center{flex:1;display:flex;justify-content:center}.header-right{display:flex;align-items:center;gap:.75rem}.app-header h1{margin:0 0 1rem;font-size:1.8rem;font-weight:700}.header-controls{display:flex;gap:2rem;flex-wrap:wrap;align-items:center}.menu-group{display:flex;align-items:center;gap:.5rem}.menu-group.compact{opacity:.9}.menu-group.compact .compact-select{min-width:140px;font-size:.9rem}.menu-group label{font-weight:600;white-space:nowrap;color:#fff}.compact-select{padding:.5rem .75rem;border:1px solid white;border-radius:4px;font-size:.9rem;background-color:#ffffff1a;color:#fff;cursor:pointer;min-width:150px}.compact-select:hover{background-color:#fff3}.compact-select:focus{outline:none;background-color:#ffffff4d}.compact-select option{background-color:var(--primary-color);color:#fff}.config-select-group{display:flex;gap:.5rem;align-items:center}.no-configs-text{color:#ffffffb3;font-size:.9rem}.selected-config-name{font-weight:600;color:#fff;margin-right:.5rem}.config-actions{display:flex;align-items:center;gap:.5rem}.btn-delete-mini{padding:.5rem .7rem;background-color:var(--danger-color);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;width:36px;height:36px}.btn-delete-mini:hover{background-color:var(--danger-hover);transform:scale(1.05)}.btn-rename-mini{padding:.4rem .55rem;background-color:#ffffff0f;color:#fff;border:none;border-radius:4px;font-size:.95rem;cursor:pointer}.btn-rename-mini:hover{background-color:#ffffff1f}.rename-inline{display:flex;gap:.4rem;align-items:center}.rename-input{padding:.4rem .6rem;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;color:#fff;min-width:160px}.btn-rename-save,.btn-rename-cancel{padding:.35rem .5rem;border-radius:4px;border:none;cursor:pointer}.btn-rename-save{background:var(--secondary-color);color:#fff}.btn-rename-cancel{background:#ffffff0f;color:#fff}.tab-button{padding:.75rem 1rem;background:transparent;border:none;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s;border-left:3px solid transparent;text-align:left;width:100%;display:flex;align-items:center;gap:.5rem}.tab-button:hover{background:#ffffff1a}.tab-button.active{background:#ffffff26;border-left-color:#fff}.tab-content{flex:1;padding:1rem}.tab-panel{animation:fadeIn .3s ease-in}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}.form-row-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.form-column{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:var(--surface);padding:1.25rem;border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.form-section h3{margin:0 0 .75rem;color:var(--text-primary);font-size:.95rem;font-weight:600}.form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.form-group:last-child{margin-bottom:0}.form-group label{font-weight:500;color:var(--text-primary);font-size:.85rem}input[type=text],input[type=number]{padding:.625rem .75rem;border:1.5px solid var(--border-color);border-radius:6px;font-size:.875rem;transition:all .2s;background:var(--surface)}.form-group input{max-width:160px}input[type=text]:focus,input[type=number]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}small{color:var(--text-secondary);font-size:.8rem;font-style:italic}.projections-section{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);padding:1.25rem;border-radius:8px;border:1px solid #d1fae5;box-shadow:var(--shadow-sm)}.projections-section h3{margin:0 0 .75rem;color:var(--text-primary);font-size:.95rem;font-weight:600}.projection-card{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.projection-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--surface);border-radius:6px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.projection-item .label{font-weight:500;color:var(--text-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.projection-item .label.positive{color:var(--secondary-color)}.projection-item .label.negative{color:var(--danger-color)}.projection-item .value{font-size:.9rem;font-weight:600;color:var(--primary-color)}.projection-item .value.positive{color:var(--secondary-color)}.projection-item .value.negative{color:var(--danger-color)}.button-group{display:flex;gap:1rem;flex-wrap:wrap}button{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-save{background-color:var(--primary-color);color:#fff;padding:.5rem .9rem;flex:initial;min-width:140px}.btn-save:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-reset{background-color:var(--danger-color);color:#fff;padding:.5rem .9rem;flex:initial}.btn-sync{background-color:#f3f4f6;color:var(--text-primary);border:1px solid var(--border-color)}.header-actions{margin-left:auto;display:flex;gap:.75rem;align-items:center}.btn-save-header{padding:.35rem .7rem;background-color:#fff;color:var(--primary-color);border-radius:6px;border:1px solid rgba(255,255,255,.15);font-weight:600;cursor:pointer;min-width:70px}.btn-login-header{padding:.35rem .7rem;background-color:#ffffff26;color:#fff;border-radius:6px;border:1px solid rgba(255,255,255,.3);font-weight:600;cursor:pointer;min-width:70px;transition:all .2s}.btn-login-header:hover{background-color:#ffffff40;border-color:#ffffff80}.btn-logout-header{padding:.35rem .7rem;background-color:#ef444426;color:#fff;border-radius:6px;border:1px solid rgba(239,68,68,.3);font-weight:600;cursor:pointer;transition:all .2s}.btn-logout-header:hover{background-color:#ef444440;border-color:#ef444480}.save-confirmation-header{color:#d1fae5;background-color:#ffffff0f;padding:.35rem .6rem;border-radius:6px;font-weight:600}.btn-reset:hover{background-color:var(--danger-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.save-confirmation{background-color:#d1fae5;color:#065f46;padding:.8rem;border-radius:6px;text-align:center;font-weight:500;border-left:4px solid var(--secondary-color);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.expenses-container{display:flex;flex-direction:column;gap:2rem}.expenses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.expense-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--surface);border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.expense-item label{font-weight:500;color:var(--text-primary);font-size:.9rem}.expense-item input{padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem}.expense-item input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.expenses-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--surface);border-radius:8px;border-left:4px solid var(--primary-color);box-shadow:var(--shadow-sm)}.summary-item.highlight{background:#fff;border:2px solid var(--secondary-color);border-left:4px solid var(--secondary-color);font-weight:600}.summary-item .label{color:var(--text-primary);font-weight:500}.summary-item .value{color:var(--primary-color);font-size:1.2rem;font-weight:600}.summary-item.highlight .value{color:var(--secondary-color)}.graph-container{display:flex;flex-direction:column;gap:1rem;max-width:100%}.graph-container h3{margin:0;color:var(--text-primary);font-size:1.1rem}.chart-wrapper{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;overflow-x:auto;box-shadow:var(--shadow-sm)}.chart{width:100%;max-width:800px;height:auto}.grid-line{stroke:var(--border-color);stroke-width:.5;stroke-dasharray:3,3}.axis-tick{stroke:var(--text-secondary);stroke-width:1}.axis-line{stroke:var(--text-primary);stroke-width:1.5}.axis-label{font-size:11px;fill:var(--text-secondary)}.axis-label-text{font-weight:600;fill:var(--text-primary);font-size:13px}.y-value,.x-value{font-size:11px;fill:var(--text-secondary)}.chart-line{stroke:var(--primary-color);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--primary-color)}.chart-table{background:var(--background);border-radius:8px;padding:1rem;overflow-x:auto}.chart-table table{width:100%;border-collapse:collapse}.chart-table th{text-align:left;padding:.8rem;font-weight:600;background:#fff;border-bottom:2px solid var(--border-color);color:var(--text-primary)}.chart-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.chart-table tr.retirement-year{background-color:#4f46e50d;font-weight:600}.amortization-container{display:flex;flex-direction:column;gap:1.5rem}.amortization-container h3{margin:0;color:var(--text-primary);font-size:1.2rem}.amortization-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.table-wrapper{background:var(--surface);border-radius:8px;overflow-x:auto;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.amortization-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}.amortization-table thead{background:var(--background);border-bottom:2px solid var(--border-color)}.amortization-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary)}.amortization-table td{padding:.8rem 1rem;border-bottom:1px solid var(--border-color);text-align:right;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amortization-table td:first-child,.amortization-table th:first-child{text-align:left}.amortization-table th,.amortization-table td{vertical-align:middle}.amortization-table tr.retirement-start{background-color:#4f46e50d;font-weight:600}.amortization-table tr.depleted{background-color:#ef44440d}.growth-cell{color:var(--secondary-color)}.withdrawal-cell{color:var(--danger-color)}.end-balance-cell{font-weight:600;color:var(--primary-color)}.end-balance-cell.negative{color:var(--danger-color)}@media(max-width:1024px){.form-grid{grid-template-columns:1fr}.expenses-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.feasibility-indicator{flex-direction:column;align-items:flex-start;gap:.5rem}.feasibility-icon{font-size:1.25rem}.graph-kpis{grid-template-columns:repeat(2,1fr)}.expense-category-tabs{flex-direction:row;border-right:none;border-bottom:2px solid var(--border-color);min-width:auto;overflow-x:auto}.expense-category-tab{border-left:none;border-bottom:3px solid transparent;padding:.75rem 1rem;flex-direction:column;align-items:center;text-align:center}.expense-category-tab.active{border-left:none;border-bottom-color:var(--primary-color)}.expense-category-tab .tab-total{font-size:.7rem}.expenses-modern{flex-direction:column}.total-badge-sidebar{margin-bottom:.5rem}.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.3rem;margin-bottom:.8rem}.header-controls{gap:1rem;flex-direction:column;align-items:flex-start}.tab-navigation{padding:0 1rem;overflow-x:auto}.tab-button{padding:.8rem 1rem;font-size:.9rem}.tab-content{padding:.75rem}.expenses-grid{grid-template-columns:1fr}.amortization-table{font-size:.8rem}.amortization-table th,.amortization-table td{padding:.5rem}.button-group{flex-direction:column}button{width:100%}.config-grid{grid-template-columns:1fr;gap:.75rem}.config-card{padding:.75rem}.projection-grid-compact{grid-template-columns:repeat(2,1fr);gap:.5rem}.expense-fields{grid-template-columns:1fr;gap:.75rem}}.expenses-modern{max-width:100%;margin:0;display:flex;gap:0}.expenses-content{flex:1;padding:1rem}.expense-category-tabs{display:flex;flex-direction:column;gap:0;margin-bottom:0;background:var(--background);border-right:2px solid var(--border-color);overflow-y:auto;min-width:280px}.total-badge-sidebar{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));box-shadow:var(--shadow-md);margin-bottom:1rem}.total-badge-sidebar .total-label{font-size:.75rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.total-badge-sidebar .total-value{font-size:1.75rem;color:#fff;font-weight:700;margin-top:.25rem}.expense-category-tab{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.875rem 1rem;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;transition:all .2s;white-space:nowrap;color:var(--text-secondary);font-weight:600;font-size:.875rem;text-align:left}.expense-category-tab:hover{background:#2563eb0d;color:var(--text-primary)}.expense-category-tab.active{color:var(--primary-color);border-left-color:var(--primary-color);background:#2563eb0d}.expense-category-tab .tab-icon{font-size:1.1rem}.expense-category-tab .tab-label{font-size:.875rem;flex:1}.expense-category-tab .tab-total{font-size:.75rem;color:var(--text-secondary);font-weight:500}.expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 0}.expenses-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.total-badge{display:flex;flex-direction:column;align-items:flex-end;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:8px;box-shadow:var(--shadow-md)}.total-label{font-size:.75rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.total-value{font-size:1.5rem;color:#fff;font-weight:700;margin-top:.25rem}.expense-category-card{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;box-shadow:var(--shadow-sm);transition:all .2s;width:100%}.category-header{display:none}.category-title{margin:0;color:var(--primary-color);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.category-icon{font-size:1.2rem}.btn-expand-category{padding:.4rem .8rem;background:var(--background);border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;font-weight:500;color:var(--primary-color);cursor:pointer;transition:all .2s}.btn-expand-category:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.expense-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;width:100%}.expense-field{display:flex;flex-direction:column;gap:.5rem}.expense-field label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.expense-icon{font-size:1.2rem}.expense-label{flex:1}.expense-input-wrapper{display:flex;gap:.5rem}.expense-input-wrapper input{flex:1;padding:.6rem .8rem;border:1.5px solid var(--border-color);border-radius:6px;font-size:.95rem;transition:all .2s;background:var(--surface);color:var(--text-primary)}.expense-input-wrapper input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;background:var(--surface)}.frequency-select{padding:.6rem;border:1.5px solid var(--border-color);border-radius:6px;font-size:.85rem;background:var(--surface);color:var(--text-primary);cursor:pointer;min-width:90px;transition:all .2s}.frequency-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.btn-advanced{width:100%;padding:1rem;background:linear-gradient(135deg,var(--secondary-color),var(--secondary-hover));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b98133}.btn-advanced:hover{transform:translateY(-2px);box-shadow:0 4px 16px #10b9814d}@media(max-width:768px){.expenses-header{flex-direction:column;align-items:flex-start;gap:1rem}.total-badge{align-self:stretch;align-items:center}.expense-fields{grid-template-columns:1fr}}.config-modern{max-width:100%;margin:0}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1rem}.config-card{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:.875rem;box-shadow:var(--shadow-sm);transition:all .2s}.config-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.card-icon{font-size:1.25rem}.card-header h3{margin:0;color:var(--text-primary);font-size:.95rem;font-weight:600}.config-fields{display:flex;flex-direction:column;gap:.625rem}.field-group{display:flex;flex-direction:column;gap:.375rem}.field-group label{font-weight:500;color:var(--text-primary);font-size:.8rem}.field-group small{color:var(--text-secondary);font-size:.75rem;font-style:italic;margin-top:.125rem}.slider-input{display:flex;align-items:center;gap:1rem}.slider{flex:1;height:6px;border-radius:3px;background:linear-gradient(to right,var(--primary-color),var(--secondary-color));outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--primary-color);cursor:pointer;box-shadow:0 2px 4px #0003}.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--primary-color);cursor:pointer;box-shadow:0 2px 4px #0003}.number-input{width:70px;padding:.5rem;border:1px solid var(--border-color);border-radius:6px;text-align:center;font-weight:600;color:var(--primary-color);background:#fff}.number-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.currency-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;background:#fff;color:var(--text-primary)}.currency-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.currency-input.readonly{background:var(--background);color:var(--text-secondary);cursor:not-allowed}.percent-input{display:flex;align-items:center;gap:.25rem}.percent-input span{font-weight:600;color:var(--text-primary)}.projections-modern{background:linear-gradient(135deg,#f0fdf4,#dbeafe);border:1px solid #bfdbfe;border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm)}.projections-modern h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.projection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.projection-stat{background:var(--surface);padding:1rem;border-radius:6px;border-left:3px solid var(--primary-color);display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm)}.projection-stat.success{border-left-color:var(--secondary-color)}.projection-stat.warning{border-left-color:var(--danger-color)}.stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-value{font-size:1.3rem;font-weight:700;color:var(--primary-color)}.projection-stat.success .stat-value{color:var(--secondary-color)}.projection-stat.warning .stat-value{color:var(--danger-color)}.graph-modern{max-width:100%;margin:0}.graph-modern.full-screen-mode{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--surface);z-index:1000;padding:.5rem;display:flex;flex-direction:column;overflow:hidden}.graph-modern.full-screen-mode .chart-container{flex:1;height:auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;margin:0;padding:0}.graph-modern.full-screen-mode .chart-svg{width:100%;height:100%;max-height:100%}.feasibility-indicator{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-weight:600;font-size:1rem;border-left:4px solid;box-shadow:var(--shadow-sm)}.feasibility-indicator.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-left-color:var(--secondary-color);color:#065f46}.feasibility-indicator.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left-color:#f59e0b;color:#92400e}.feasibility-indicator.danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left-color:var(--danger-color);color:#991b1b}.feasibility-icon{font-size:1.5rem}.feasibility-message{flex:1}.graph-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.5rem;position:relative;z-index:10}.kpi-card{background:var(--surface);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:8px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:0;box-shadow:var(--shadow-sm)}.kpi-card.success{border-left-color:var(--secondary-color)}.kpi-card.warning{border-left-color:var(--danger-color)}.kpi-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;line-height:1.4}.kpi-value{font-size:1.1rem;font-weight:700;color:var(--primary-color);line-height:1.2}.kpi-card.success .kpi-value{color:var(--secondary-color)}.kpi-card.warning .kpi-value{color:var(--danger-color)}.kpi-detail{font-size:.7rem;color:var(--text-secondary)}.graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color);position:relative;z-index:20}.graph-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.legend{display:flex;gap:1.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-primary)}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.accumulation{background:var(--secondary-color)}.legend-dot.withdrawal{background:var(--primary-color)}.legend-line{width:20px;height:3px;border-radius:2px}.chart-mode-toggle{display:flex;gap:0;background:var(--background);border-radius:8px;padding:4px;border:1px solid var(--border-color)}.mode-btn{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.mode-btn:hover{background:#4f46e51a;color:var(--primary-color)}.mode-btn.active{background:var(--primary-color);color:#fff;font-weight:600}.chart-container{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:.5rem;margin-bottom:.5rem;box-shadow:var(--shadow-sm);position:relative;height:auto;min-height:280px}.chart-tooltip-floating{background:#fff;border:2px solid var(--primary-color);border-radius:8px;padding:.6rem .8rem;box-shadow:0 4px 16px #0003;font-size:.85rem;color:var(--text-primary);pointer-events:none;min-width:160px}.chart-tooltip-floating div{margin:.2rem 0;color:var(--text-primary);white-space:nowrap;line-height:1.4}.chart-tooltip{position:absolute;top:10px;left:100px;background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;box-shadow:0 4px 12px #00000026;font-size:.9rem;z-index:10;pointer-events:none;color:var(--text-primary)}.chart-tooltip div{margin:.25rem 0;color:var(--text-primary)}.chart-svg{width:100%;height:auto}.retirement-line{stroke:var(--danger-color);stroke-width:2}.axis-title{fill:var(--text-primary);font-weight:600;font-size:14px}.milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.milestone-card{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm)}.milestone-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.milestone-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.milestone-age{font-size:.9rem;color:var(--text-secondary)}.amortization-modern{max-width:100%;margin:0}.amortization-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.amortization-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.amortization-toggle{display:flex;gap:0;background:var(--background);border-radius:6px;padding:4px;border:1px solid var(--border-color)}.toggle-btn{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;border-radius:4px;transition:all .2s}.toggle-btn:hover{background:#2563eb1a;color:var(--primary-color)}.toggle-btn.active{background:var(--primary-color);color:#fff}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.summary-card{background:var(--surface);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm)}.summary-card.success{border-left-color:var(--secondary-color)}.summary-card.danger{border-left-color:var(--danger-color)}.summary-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.summary-card.success .summary-value{color:var(--secondary-color)}.summary-card.danger .summary-value{color:var(--danger-color)}.table-container{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.amortization-table-modern{width:100%;border-collapse:collapse;font-size:.85rem}.amortization-table-modern thead{background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff}.amortization-table-modern th{padding:.875rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.amortization-table-modern td{padding:.75rem .875rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.amortization-table-modern tbody tr:hover{background:var(--background)}.amortization-table-modern tr.retirement-row{background:#4f46e514;font-weight:600}.amortization-table-modern tr.depleted-row{background:#ef444414}.amortization-table-modern td.growth{color:var(--secondary-color);font-weight:600}.amortization-table-modern td.income{color:#059669;font-weight:600}.amortization-table-modern td.withdrawal{color:var(--danger-color);font-weight:600;background:#fff}.amortization-table-modern td.ending{font-weight:700;color:var(--primary-color)}.amortization-table-modern td.ending.negative{color:var(--danger-color)}@media(max-width:768px){.config-grid{grid-template-columns:1fr}.graph-header{flex-direction:column;align-items:flex-start;gap:1rem}.table-container{overflow-x:auto}.amortization-table-modern{font-size:.8rem}.amortization-table-modern th,.amortization-table-modern td{padding:.6rem .5rem}.config-grid{grid-template-columns:1fr;gap:.75rem}.config-card{padding:.75rem}.projection-grid-compact{grid-template-columns:repeat(2,1fr);gap:.5rem}.expense-fields{grid-template-columns:1fr;gap:.75rem}.chart-container{padding:1rem .5rem}.legend{flex-direction:column;gap:.5rem}}@media(min-width:769px)and (max-width:1024px){.config-grid{grid-template-columns:repeat(2,1fr)}.projection-grid-compact{grid-template-columns:repeat(3,1fr)}.tab-content{padding:1.25rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-card{background:#fff;border-radius:16px;padding:3rem;max-width:420px;width:100%;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{margin:0 0 .5rem;color:var(--text-primary);font-size:1.8rem}.login-header p{margin:0;color:var(--text-secondary);font-size:.95rem}.login-buttons{display:flex;flex-direction:column;gap:1rem}.btn-social{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;background:#fff}.btn-social:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-social:disabled{opacity:.6;cursor:not-allowed}.btn-google{color:#1f1f1f;border-color:#dadce0}.btn-google:hover:not(:disabled){background:#f8f9fa;border-color:#d2d3d4}.btn-facebook{background:#1877f2;color:#fff;border-color:#1877f2}.btn-facebook:hover:not(:disabled){background:#166fe5;border-color:#166fe5}.btn-guest{background:#fff;color:var(--text-primary);border-color:var(--border-color)}.btn-guest:hover:not(:disabled){background:var(--background);border-color:var(--text-secondary)}.login-divider{display:flex;align-items:center;text-align:center;margin:.5rem 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.login-divider span{padding:0 1rem;color:var(--text-secondary);font-size:.85rem}.login-note{text-align:center;color:var(--text-secondary);font-size:.85rem;margin:.5rem 0 0;line-height:1.4}.login-error{background:#fee;color:#c33;padding:.875rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;text-align:center;border:1px solid #fcc}.login-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.user-menu-container{position:relative}.user-avatar-btn{background:none;border:none;cursor:pointer;padding:0}.user-avatar{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;border:2px solid rgba(255,255,255,.3);transition:all .2s}.user-avatar-btn:hover .user-avatar{border-color:#fff;transform:scale(1.05)}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:220px;z-index:100;overflow:hidden}.user-dropdown-header{padding:1rem;border-bottom:1px solid var(--border-color);background:var(--background)}.user-dropdown-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:.95rem}.user-dropdown-email{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-item{width:100%;padding:.75rem 1rem;border:none;background:#fff;cursor:pointer;transition:background .2s;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;font-size:.9rem;text-align:left}.user-dropdown-item:hover{background:var(--background)}.user-dropdown-item.logout{color:var(--danger-color);border-top:1px solid var(--border-color);font-weight:600}.user-dropdown-item.logout:hover{background:#ef44440d}@media(max-width:768px){.login-card{padding:2rem}}.projections-compact{background:linear-gradient(135deg,#f8fafc,#e0e7ff);border:1px solid var(--border-color);border-radius:8px;padding:.5rem .75rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000a}.projection-grid-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.projection-stat-compact{background:#fff;padding:.5rem .75rem;border-radius:6px;border-left:3px solid var(--primary-color);display:flex;flex-direction:column;gap:.25rem}.projection-stat-compact.success{border-left-color:var(--secondary-color)}.projection-stat-compact.warning{border-left-color:var(--danger-color)}.stat-label-compact{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.stat-value-compact{font-size:1rem;font-weight:700;color:var(--primary-color)}.projection-stat-compact.success .stat-value-compact{color:var(--secondary-color)}.projection-stat-compact.warning .stat-value-compact{color:var(--danger-color)}@media(max-width:768px){.projection-grid-compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-label-compact{font-size:.65rem}.stat-value-compact{font-size:.9rem}}.toast{position:fixed;bottom:2rem;right:2rem;background:var(--secondary-color);color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 16px #0003;font-weight:600;z-index:1000;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.toast{bottom:1rem;right:1rem;left:1rem;text-align:center}}.profile-tab-container{max-width:100%;margin:0}.demographics-container{max-width:800px;margin:0 auto}.demographics-header{margin-bottom:2rem}.demographics-header h2{margin:0 0 .5rem;color:var(--text-primary);font-size:1.75rem}.demographics-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.demographics-card{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:2rem;box-shadow:var(--shadow-sm)}.demographics-fields{display:flex;flex-direction:column;gap:1.25rem}.demographics-input{width:100%;padding:.75rem;border:1.5px solid var(--border-color);border-radius:6px;font-size:.95rem;transition:all .2s;background:#fff;color:var(--text-primary)}.demographics-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.age-display{color:var(--secondary-color);font-weight:600;font-style:normal}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.demographics-actions{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.btn-save-demographics{padding:.875rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.btn-save-demographics:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-save-demographics:disabled{background:var(--secondary-color);cursor:not-allowed;opacity:.8}.btn-save-demographics.has-changes{animation:pulse 2s infinite}.scenarios-container{max-width:1000px;margin:0 auto}.scenarios-header{margin-bottom:2rem}.scenarios-header h2{margin:0 0 .5rem;color:var(--text-primary);font-size:1.75rem}.scenarios-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.current-scenario-card{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid var(--primary-color);border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.current-scenario-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.current-label{font-size:.85rem;color:var(--primary-color);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.current-name{margin:.25rem 0 0;color:var(--text-primary);font-size:1.5rem}.current-actions{display:flex;gap:.75rem}.btn-save-scenario{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-save-scenario:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-save-scenario:disabled{background:var(--secondary-color);cursor:not-allowed}.btn-save-scenario.has-changes{animation:pulse 2s infinite}.btn-duplicate{padding:.75rem 1.5rem;background:#fff;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-duplicate:hover{background:var(--primary-color);color:#fff}.unsaved-warning{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:#fbbf2433;border-radius:6px;color:#92400e;font-weight:600}.warning-icon{font-size:1.25rem}.scenarios-list-card{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.scenarios-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.scenarios-list-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.btn-create-scenario{padding:.625rem 1.25rem;background:var(--secondary-color);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-create-scenario:hover{background:var(--secondary-hover);transform:translateY(-1px)}.empty-state{text-align:center;padding:3rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary)}.btn-create-first{padding:.875rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-create-first:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.scenarios-list{display:flex;flex-direction:column;gap:.75rem}.scenario-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--background);border:2px solid var(--border-color);border-radius:6px;transition:all .2s}.scenario-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.scenario-item.active{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:var(--primary-color)}.scenario-info{display:flex;align-items:center;gap:1rem}.scenario-icon{font-size:1.5rem}.scenario-details{display:flex;flex-direction:column;gap:.25rem}.scenario-name{font-weight:600;color:var(--text-primary);font-size:1rem}.scenario-meta{font-size:.85rem;color:var(--text-secondary)}.scenario-actions{display:flex;gap:.5rem}.btn-load{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-load:hover{background:var(--primary-hover)}.btn-icon{padding:.5rem;background:transparent;border:none;font-size:1.1rem;cursor:pointer;border-radius:4px;transition:all .2s}.btn-icon:hover{background:#0000000d}.btn-icon.btn-delete:hover{background:#ef44441a}.cloud-sync-banner{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f6;border-radius:8px}.cloud-icon{font-size:3rem}.cloud-content{flex:1}.cloud-content h4{margin:0 0 .25rem;color:var(--text-primary);font-size:1.1rem}.cloud-content p{margin:0;color:var(--text-secondary);font-size:.9rem}.btn-sign-in{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-sign-in:hover{background:#2563eb;transform:translateY(-1px)}.profile-selector-section{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.profile-selector-section h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.profile-selector-controls{display:flex;flex-direction:column;gap:.75rem}.profile-select-large{padding:.625rem .875rem;border:1.5px solid var(--border-color);border-radius:6px;font-size:.875rem;background:#fff;color:var(--text-primary);cursor:pointer;transition:all .2s}.profile-select-large:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.profile-select-large option{padding:.5rem}.profile-action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-profile-action{padding:.5rem .875rem;border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:var(--text-primary)}.btn-profile-action:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.btn-profile-action.save{background:#10b9811a;border-color:var(--secondary-color);color:var(--secondary-color)}.btn-profile-action.save:hover{background:var(--secondary-color);color:#fff}.btn-profile-action.cloud{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.btn-profile-action.cloud:hover{background:#3b82f6;color:#fff}.btn-profile-action.local{background:#a855f71a;border-color:#a855f7;color:#a855f7}.btn-profile-action.local:hover{background:#a855f7;color:#fff}.btn-profile-action.reset{background:#fbbf241a;border-color:#fbbf24;color:#fbbf24}.btn-profile-action.reset:hover{background:#fbbf24;color:#fff}.btn-profile-action.delete{background:#ef44441a;border-color:var(--danger-color);color:var(--danger-color)}.btn-profile-action.delete:hover{background:var(--danger-color);color:#fff}.btn-profile-action.edit{background:#6b72801a;border-color:#6b7280;color:#6b7280}.btn-profile-action.edit:hover{background:#6b7280;color:#fff}.demographics-section{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:var(--shadow-sm)}.demographics-section h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.demographics-section h4{margin:0;font-size:.875rem}@media(max-width:768px){.profile-action-buttons{flex-direction:column}.btn-profile-action{width:100%}}.btn-login-header{padding:.5rem 1.25rem;background:#fff;color:var(--primary-color);border-radius:6px;border:none;font-weight:600;cursor:pointer;font-size:.875rem;transition:all .2s;box-shadow:var(--shadow-sm)}.btn-login-header:hover{background:#fffffff2;transform:translateY(-1px);box-shadow:var(--shadow-md)}.splash-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.splash-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.splash-logo h1{margin:0;color:#fff;font-size:2rem}.btn-splash-login{padding:.75rem 2rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-splash-login:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:6rem 3rem;max-width:1400px;margin:0 auto;align-items:center}.hero-content h2{font-size:3.5rem;color:#fff;margin:0 0 1.5rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;color:#ffffffe6;margin-bottom:2rem;line-height:1.6}.btn-hero-cta{padding:1rem 3rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .2s}.btn-hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.hero-image img{width:100%;height:auto;border-radius:12px;box-shadow:0 20px 60px #0000004d;background:#e2e8f0}.hero-carousel{position:relative;width:100%;max-width:700px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.carousel-container{width:100%;overflow:hidden;height:500px}.carousel-slide{display:flex;transition:transform .5s ease-in-out;height:100%}.slide-item{min-width:100%;height:100%;overflow:hidden}.slide-content{transform:scale(.7);transform-origin:top left;width:142.857%;height:142.857%;pointer-events:none}.carousel-indicators{display:flex;justify-content:center;gap:.5rem;padding:1rem;background:#fffffff2}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid #667eea;background:transparent;cursor:pointer;transition:all .2s;padding:0}.carousel-dot:hover{background:#667eea4d}.carousel-dot.active{background:#667eea}.carousel-label{text-align:center;padding:.75rem;background:#667eea;color:#fff;font-weight:600;font-size:.875rem}.features-section{padding:6rem 3rem;background:#fff}.features-section h3{text-align:center;font-size:2.5rem;color:var(--text-primary);margin:0 0 4rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1400px;margin:0 auto}.feature-card{padding:2rem;background:var(--background);border-radius:12px;border:1px solid var(--border-color);transition:all .2s;text-decoration:none;color:inherit;display:block}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h4{font-size:1.25rem;color:var(--text-primary);margin:0 0 .75rem}.feature-card p{color:var(--text-secondary);line-height:1.6;margin:0}.cta-section{padding:6rem 3rem;background:linear-gradient(135deg,#667eea,#764ba2);text-align:center}.cta-section h3{font-size:2.5rem;color:#fff;margin:0 0 1rem}.cta-section p{font-size:1.25rem;color:#ffffffe6;margin:0 0 2rem}.btn-cta-large{padding:1.25rem 4rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:700;font-size:1.25rem;cursor:pointer;transition:all .2s}.btn-cta-large:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.splash-footer{padding:2rem;background:#0003;text-align:center;color:#fffc}.splash-footer p{margin:0}@media(max-width:768px){.splash-header{padding:1rem 1.5rem}.splash-logo h1{font-size:1.5rem}.hero-section{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2rem}.carousel-container{height:400px}.hero-content h2{font-size:2rem}.hero-subtitle{font-size:1rem}.features-section{padding:3rem 1.5rem}.features-section h3{font-size:1.75rem}.features-grid{grid-template-columns:1fr}.cta-section{padding:3rem 1.5rem}.cta-section h3{font-size:1.75rem}}.example-page{min-height:100vh;background:var(--background)}.example-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:3rem 2rem;color:#fff}.example-header-content{max-width:1200px;margin:0 auto}.btn-back{display:inline-block;padding:.5rem 1rem;background:#fff3;color:#fff;text-decoration:none;border-radius:6px;margin-bottom:1.5rem;transition:all .2s}.btn-back:hover{background:#ffffff4d}.example-header h1{margin:0 0 1rem;font-size:2.5rem}.example-description{font-size:1.125rem;margin:0 0 1.5rem;opacity:.95;line-height:1.6}.btn-try-it{display:inline-block;padding:.875rem 2rem;background:#fff;color:#667eea;text-decoration:none;border-radius:8px;font-weight:600;transition:all .2s}.btn-try-it:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.example-content{max-width:1400px;margin:0 auto;padding:2rem}.coming-soon{text-align:center;padding:4rem 2rem}.coming-soon h2{font-size:2.5rem;color:var(--text-primary);margin:0 0 1rem}.coming-soon p{font-size:1.125rem;color:var(--text-secondary);margin:0 0 2rem}.monte-carlo-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:800px;margin:3rem auto}.stat-box{padding:2rem;background:var(--surface);border-radius:12px;border:2px solid var(--border-color);box-shadow:var(--shadow-sm)}.stat-value{font-size:3rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.stat-label{font-size:1rem;color:var(--text-secondary);font-weight:500}.coming-soon-note{font-style:italic;color:var(--text-secondary)}.cloud-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:900px;margin:3rem auto}.cloud-feature{padding:2rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.cloud-icon{font-size:3rem;display:block;margin-bottom:1rem}.cloud-feature h3{font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.cloud-feature p{color:var(--text-secondary);margin:0;line-height:1.6}@media(max-width:768px){.example-header{padding:2rem 1.5rem}.example-header h1{font-size:1.75rem}.example-content{padding:1rem}}.btn-save-header{padding:.5rem 1rem;background:#fff;color:var(--primary-color);border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:var(--shadow-sm)}.btn-save-header:disabled{background:#fff9;cursor:not-allowed;opacity:.7}.btn-save-header.has-changes{background:var(--secondary-color);color:#fff;animation:pulse 2s infinite}.btn-save-header:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.modal-input{padding:.75rem;border:1.5px solid var(--border-color);border-radius:6px;font-size:.95rem;width:100%;background:#fff;color:var(--text-primary)}.modal-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.onboarding-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.onboarding-modal{background:#fff;border-radius:16px;max-width:600px;width:90%;padding:2.5rem;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease-out}.onboarding-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.onboarding-close:hover{background:var(--background);color:var(--text-primary)}.onboarding-content{text-align:center;margin-bottom:2rem}.onboarding-content h2{margin:0 0 1rem;color:var(--text-primary);font-size:1.75rem;line-height:1.3}.onboarding-content p{margin:0;color:var(--text-secondary);font-size:1.05rem;line-height:1.6}.onboarding-footer{display:flex;flex-direction:column;gap:1.5rem}.onboarding-dots{display:flex;justify-content:center;gap:.5rem}.onboarding-dot{width:10px;height:10px;border-radius:50%;background:var(--border-color);transition:all .3s}.onboarding-dot.active{background:var(--primary-color);width:24px;border-radius:5px}.onboarding-dot.completed{background:var(--secondary-color)}.onboarding-actions{display:flex;gap:1rem;justify-content:center}.btn-onboarding-back{padding:.75rem 1.5rem;background:#fff;color:var(--text-primary);border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-onboarding-back:hover{border-color:var(--text-secondary);background:var(--background)}.btn-onboarding-next{padding:.75rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.btn-onboarding-next:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}@media(max-width:768px){.onboarding-modal{padding:2rem 1.5rem}.onboarding-content h2{font-size:1.5rem}.onboarding-content p{font-size:.95rem}.onboarding-actions{flex-direction:column}.btn-onboarding-back,.btn-onboarding-next{width:100%}}.onboarding-form{margin-top:2rem;display:flex;flex-direction:column;gap:1.25rem}.onboarding-field{display:flex;flex-direction:column;gap:.5rem;text-align:left}.onboarding-field label{font-weight:600;color:var(--text-primary);font-size:.95rem}.onboarding-input{padding:.875rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s;background:#fff;color:var(--text-primary)}.onboarding-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.btn-onboarding-next:disabled{background:var(--border-color);cursor:not-allowed;opacity:.6}.btn-onboarding-next:disabled:hover{transform:none;box-shadow:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;min-width:400px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.25rem;color:#111827}.modal-close{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-body{padding:1.5rem;overflow-y:auto;color:#111827}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.modal-btn{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn-cancel{background:#f3f4f6;color:#374151}.modal-btn-cancel:hover{background:#e5e7eb}.modal-btn-primary{background:#4f46e5;color:#fff}.modal-btn-primary:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.modal-btn-danger{background:#ef4444;color:#fff}.modal-btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.modal-input{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:1rem;transition:all .2s}.modal-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.95rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.modal-content{min-width:90vw}}
