:root{--bg-base:#0a0e1a;--bg-surface:#0f1629;--bg-elevated:#141d35;--glass-bg:hsla(0,0%,100%,.045);--glass-border:hsla(0,0%,100%,.09);--glass-shadow:0 8px 32px rgba(0,0,0,.4);--accent:#5b8dee;--accent-light:#7aa5f5;--accent-dim:rgba(91,141,238,.15);--green:#34d399;--green-dim:rgba(52,211,153,.15);--red:#f87171;--red-dim:hsla(0,91%,71%,.15);--yellow:#fbbf24;--yellow-dim:rgba(251,191,36,.15);--purple:#a78bfa;--purple-dim:rgba(167,139,250,.15);--orange:#fb923c;--text-primary:#e8eaf6;--text-secondary:#8892b0;--text-muted:#4a5568;--sidebar-w:240px;--header-h:64px;--radius:14px;--radius-sm:8px;--transition:0.2s cubic-bezier(0.4,0,0.2,1);--editable-color:#93c5fd;--editable-bg:rgba(147,197,253,.06);--editable-border:rgba(147,197,253,.3)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:var(--bg-base);color:var(--text-primary);overflow-x:hidden}.app-shell,body{min-height:100vh}.app-shell,.sidebar{display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--glass-border);flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:200;padding:24px 0 calc(16px + env(safe-area-inset-bottom, 20px));overflow-y:auto;transition:transform var(--transition)}.sidebar.mobile-hidden{transform:translateX(-100%)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 20px 24px;border-bottom:1px solid var(--glass-border);flex-shrink:0}.brand-icon{font-size:28px;background:linear-gradient(135deg,var(--accent),var(--purple));-webkit-background-clip:text;background-clip:text}.brand-icon,.brand-title{-webkit-text-fill-color:transparent}.brand-title{font-size:20px;font-weight:800;background:linear-gradient(135deg,var(--accent-light),var(--purple));-webkit-background-clip:text;background-clip:text;letter-spacing:-.5px}.brand-sub{font-size:11px;color:var(--text-muted);margin-top:1px}.nav-menu{list-style:none;padding:16px 12px;flex:1 1;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all var(--transition);-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--glass-bg);color:var(--text-primary)}.nav-item.active{background:var(--accent-dim);color:var(--accent-light);font-weight:600}.nav-icon{font-size:18px}.sidebar-footer{padding:12px;border-top:1px solid var(--glass-border);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:199;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar-overlay.active{display:block}.main-content{margin-left:var(--sidebar-w);flex:1 1;min-width:0;min-height:100vh;padding-bottom:56px}.page-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(10,14,26,.88);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);padding:0 28px;height:var(--header-h);justify-content:space-between}.header-left,.page-header{display:flex;align-items:center;gap:12px}.hamburger{display:none;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:20px;width:38px;height:38px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.page-title{font-size:20px;font-weight:700;letter-spacing:-.4px}.page-subtitle{font-size:12px;color:var(--text-secondary);margin-top:1px}.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.kbd-hint{font-size:11px;color:var(--text-muted);white-space:nowrap}kbd{font-size:10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:4px;padding:2px 5px}.content-section{padding:24px 28px;display:flex;flex-direction:column;gap:20px;animation:fadeSlideIn .3s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow);min-width:0}.intro-hero{padding:36px;text-align:center;background:linear-gradient(135deg,rgba(91,141,238,.08),rgba(167,139,250,.08));border-color:rgba(91,141,238,.2)}.intro-icon{font-size:44px;margin-bottom:12px}.intro-hero h2{font-size:22px;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,var(--accent-light),var(--purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.intro-hero p{color:var(--text-secondary);line-height:1.7;max-width:560px;margin:0 auto;font-size:14px}.intro-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.intro-module{padding:22px;display:flex;flex-direction:column;gap:10px;transition:all var(--transition);cursor:default}.intro-module:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 40px rgba(91,141,238,.15)}.module-icon{font-size:28px}.intro-module h3{font-size:15px;font-weight:700}.intro-module p{font-size:13px;color:var(--text-secondary);line-height:1.6;flex:1 1}.module-formula{background:rgba(0,0,0,.3);border-radius:var(--radius-sm);padding:8px 12px;font-size:11px}.module-formula code{font-family:Fira Code,monospace;color:var(--accent-light)}.intro-tips{padding:22px}.intro-tips h3{font-size:15px;font-weight:600;margin-bottom:12px}.intro-tips ul{list-style:none;display:flex;flex-direction:column;gap:10px}.intro-tips li{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:10px}.badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:100px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.badge-blue{background:var(--accent-dim);color:var(--accent-light)}.badge-green{background:var(--green-dim);color:var(--green)}.badge-purple{background:var(--purple-dim);color:var(--purple)}.badge-orange{background:rgba(251,146,60,.15);color:var(--orange)}.params-and-charts{display:grid;grid-template-columns:290px 1fr;grid-gap:18px;gap:18px;align-items:start}.params-panel{padding:22px;display:flex;flex-direction:column;gap:14px}.params-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.params-note,.params-title{color:var(--text-secondary)}.params-note{font-size:13px;line-height:1.6}.param-group{gap:5px}.param-group,.param-label{display:flex;flex-direction:column}.param-label{font-size:13px;font-weight:500;gap:1px}.param-hint{font-size:11px;font-weight:400;color:var(--text-muted)}.input-wrapper{display:flex;align-items:center;background:var(--editable-bg);border:1px solid var(--editable-border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition)}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,141,238,.15)}.input-prefix,.input-suffix{padding:0 10px;font-size:13px;background:rgba(147,197,253,.08);align-self:stretch;display:flex;align-items:center;flex-shrink:0}.input-prefix,.input-suffix,.param-input{font-weight:600;color:var(--editable-color)}.param-input{background:transparent;border:none;outline:none;width:100%;padding:9px 12px;font-size:14px;font-family:Inter,sans-serif;min-width:0}.results-summary{display:flex;flex-direction:column;gap:8px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:var(--radius-sm);background:rgba(0,0,0,.2)}.result-label{font-size:12px;color:var(--text-muted)}.result-value{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-value.green{color:var(--green)}.result-value.blue{color:var(--accent-light)}.result-value.purple{color:var(--purple)}.result-value.red{color:var(--red)}.chart-panel{padding:22px}.chart-title{font-size:14px;font-weight:700;margin-bottom:14px}.chart-container{position:relative;height:280px}.table-panel{padding:22px;overflow:hidden}.table-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.table-header h3{font-size:14px;font-weight:700;flex:1 1}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.data-table th{text-align:right;padding:9px 12px;background:rgba(0,0,0,.25);color:var(--text-secondary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--glass-border)}.data-table th:first-child{text-align:left}.data-table td{text-align:right;padding:8px 12px;border-bottom:1px solid hsla(0,0%,100%,.04);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table td:first-child{text-align:left;font-weight:600}.data-table tbody tr:hover td{background:rgba(91,141,238,.05)}.data-table .row-positive td:first-child{border-left:2px solid var(--green)}.data-table .row-negative td:first-child{border-left:2px solid var(--red)}.data-table .row-depleted{opacity:.5}.cell-positive{color:var(--green)}.cell-negative{color:var(--red)}.retiros-grid{display:grid;grid-template-columns:290px 1fr;grid-gap:18px;gap:18px;align-items:start}.retiros-right{display:flex;flex-direction:column;gap:14px}.scenarios-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.scenario-card{padding:16px;text-align:center;transition:all var(--transition)}.scenario-card:hover{transform:translateY(-2px)}.scenario-icon{font-size:22px;margin-bottom:6px}.scenario-card h4{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.scenario-stat{margin-top:4px}.scenario-stat span{font-size:11px;color:var(--text-muted);display:block}.scenario-stat strong{font-size:15px;font-weight:700}.scenario-elsal{border-color:rgba(52,211,153,.2)}.scenario-ext{border-color:rgba(251,191,36,.2)}.scenario-mixto{border-color:rgba(91,141,238,.2)}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.metric-card{padding:14px;display:flex;flex-direction:column;gap:6px}.metric-label{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:17px;font-weight:800;color:var(--accent-light);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ret-anios-wrap{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.saldo-summary-params{display:flex;flex-direction:column;gap:8px}.sparam{display:flex;justify-content:space-between;align-items:center;font-size:13px}.sparam span{color:var(--text-muted)}.sparam strong{color:var(--text-primary);font-weight:600}.saldo-kpis{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.kpi-card{padding:13px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:4px}.kpi-label{font-size:10px;color:var(--text-muted);font-weight:600}.kpi-value{font-size:18px;font-weight:800}.kpi-green{background:var(--green-dim);border-color:rgba(52,211,153,.2)}.kpi-green .kpi-value{color:var(--green)}.kpi-red{background:var(--red-dim);border-color:hsla(0,91%,71%,.2)}.kpi-red .kpi-value{color:var(--red)}.kpi-blue{background:var(--accent-dim);border-color:rgba(91,141,238,.2)}.kpi-blue .kpi-value{color:var(--accent-light)}.kpi-yellow{background:var(--yellow-dim);border-color:rgba(251,191,36,.2)}.kpi-yellow .kpi-value{color:var(--yellow)}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:300;opacity:0;pointer-events:none;transition:opacity var(--transition)}.overlay.active{opacity:1;pointer-events:all}.formula-panel{position:fixed;right:0;top:0;bottom:0;width:min(460px,95vw);z-index:301;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--glass-border);background:var(--bg-surface)}.formula-panel.open{transform:translateX(0)}.formula-panel-header{padding:18px 22px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.formula-panel-header h2{font-size:17px;font-weight:700}.formula-panel-body{flex:1 1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:22px}.formula-section h3{font-size:13px;font-weight:700;color:var(--accent-light);margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--glass-border)}.formula-card{background:rgba(0,0,0,.25);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:13px 15px;margin-bottom:8px}.formula-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:7px}.formula-expr{font-size:15px;font-weight:600;color:var(--accent-light);font-family:Fira Code,Courier New,monospace;margin-bottom:7px;padding:7px 11px;background:rgba(91,141,238,.08);border-radius:6px;line-height:1.5}.formula-desc{font-size:12px;color:var(--text-muted);line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:400;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.modal-backdrop.active{display:flex}.modal{width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border-radius:var(--radius)}.modal-header{padding:18px 22px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:16px;font-weight:700}.modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.modal-footer{padding:14px 22px;border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.modal-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-field label{font-size:13px;font-weight:600}.modal-sql{background:rgba(0,0,0,.3);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:14px}.modal-sql p{font-size:12px;color:var(--text-muted);margin-bottom:8px}.modal-sql pre{font-size:11px;font-family:Fira Code,monospace;color:var(--green);white-space:pre-wrap;line-height:1.7}.input-row,.scenarios-list{display:flex;gap:8px}.scenarios-list{max-height:280px;overflow-y:auto;flex-direction:column;margin-top:8px}.scenario-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition)}.scenario-item:hover{background:var(--accent-dim);border-color:var(--accent)}.scenario-item-info{flex:1 1;min-width:0}.scenario-item-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scenario-item-date{font-size:11px;color:var(--text-muted);margin-top:2px}.scenario-item-actions{display:flex;gap:6px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;border:none;outline:none;transition:all var(--transition);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--accent),#4f7de8);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(91,141,238,.4)}.btn-ghost{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.btn-ghost:hover{background:hsla(0,0%,100%,.08);color:var(--text-primary)}.btn-sm{padding:5px 10px;font-size:12px}.btn-danger{background:var(--red-dim);border:1px solid hsla(0,91%,71%,.3);color:var(--red)}.divider{height:1px;background:var(--glass-border);margin:4px 0;border:none}.toast{position:fixed;bottom:20px;right:20px;z-index:600;padding:11px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;background:var(--bg-elevated);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transform:translateY(80px);opacity:0;transition:all .3s ease;pointer-events:none}.toast.visible{transform:translateY(0);opacity:1}.toast.success{border-color:var(--green);color:var(--green)}.toast.error{border-color:var(--red);color:var(--red)}.toast.info{border-color:var(--accent);color:var(--accent-light)}.autosave-badge{font-size:11px;font-weight:600;color:var(--green);background:var(--green-dim);border:1px solid rgba(52,211,153,.25);border-radius:100px;padding:3px 9px;animation:fadeInScale .2s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.header-btn .btn-label,.kbd-hint{display:none}}.tutorial-intro{background:rgba(91,141,238,.07);border:1px solid rgba(91,141,238,.2);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;color:var(--text-secondary);line-height:1.7}.tutorial-intro strong{color:var(--text-primary)}.tut-step{border:1px solid;border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.tut-step-header{gap:10px}.tut-num,.tut-step-header{display:flex;align-items:center}.tut-num{width:24px;height:24px;border:2px solid;border-radius:50%;font-size:12px;font-weight:800;justify-content:center;flex-shrink:0}.tut-step-icon{font-size:20px}.tut-step-title{font-size:14px;font-weight:700}.tut-list{padding-left:18px;display:flex;flex-direction:column;gap:7px;margin:0}.tut-list li{font-size:13px;color:var(--text-secondary);line-height:1.6}.tut-tip{background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-sm);padding:9px 12px;font-size:12px;color:var(--yellow);display:flex;gap:8px;line-height:1.5}.tutorial-tips{background:rgba(0,0,0,.25);border:1px solid var(--glass-border);border-radius:var(--radius);padding:16px}.tutorial-tips-title{font-size:13px;font-weight:700;color:var(--accent-light);margin-bottom:12px}.tutorial-tips ul{list-style:none;display:flex;flex-direction:column;gap:8px}.tutorial-tips li{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:10px}.tutorial-tips kbd{font-size:10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:4px;padding:2px 6px;color:var(--text-primary);white-space:nowrap}.app-footer{position:fixed;bottom:0;left:var(--sidebar-w);right:0;text-align:center;padding:7px 16px;font-size:12px;color:var(--text-muted);background:rgba(10,14,26,.92);border-top:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:150}.app-footer a{color:var(--accent-light);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:4px;margin-left:4px;transition:color var(--transition)}.app-footer a:hover{color:var(--purple)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:1024px){.intro-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.params-and-charts,.retiros-grid,.scenarios-grid{grid-template-columns:minmax(0,1fr)}.metrics-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:768px){:root{--header-h:56px}.sidebar{transform:translateX(-100%)}.sidebar.mobile-open{transform:translateX(0)}.main-content{margin-left:0}.hamburger{display:flex}.kbd-hint{display:none}.app-footer{left:0}.content-section{padding:16px}.page-header{padding:0 16px}.chart-container{height:220px}.intro-hero{padding:24px 16px}.intro-hero h2{font-size:18px}.intro-cards,.metrics-row,.saldo-kpis,.scenarios-grid{grid-template-columns:minmax(0,1fr)}.page-title{font-size:16px}.page-subtitle{display:none}.data-table{font-size:11px}.data-table td,.data-table th{padding:7px 9px}.result-value{font-size:13px}.hide-mobile{display:none!important}}@media (max-width:480px){.saldo-kpis,.scenarios-grid{grid-template-columns:minmax(0,1fr)}.intro-tips li{font-size:12px}}