.energy-diagram{background:var(--surface)}.energy-diagram .section-heading>p{max-width:470px}.flow-shell{border:1px solid var(--line);border-radius:16px;padding:32px;background:var(--card)}.flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:35px}.flow-mode{font-size:13px;font-weight:600;color:var(--accent);background:var(--chip);padding:9px 16px;border:1px solid var(--line);border-radius:30px}.flow-options{display:flex;gap:20px;flex-wrap:wrap}.flow-options label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.flow-options input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.flow-grid{display:grid;grid-template-columns:1fr 65px 1fr 65px 1fr;align-items:center;gap:12px 0}.flow-node{position:relative;display:flex;gap:15px;align-items:flex-start;min-height:132px;text-align:left;color:var(--text);border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:24px 18px}.flow-node[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.flow-node strong{display:block;font-size:17px;line-height:1.4;margin-bottom:8px}.flow-node small{display:block;font-size:13px;line-height:1.65;color:var(--muted)}.flow-number{position:absolute;top:-12px;left:16px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:700}.flow-icon{flex-shrink:0;width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.flow-connector{position:relative;text-align:center;font-size:11px;color:var(--muted);line-height:1.4}.flow-connector:before{content:'';display:block;height:2px;background:var(--accent);margin:0 5px 9px}.flow-connector:after{content:'';position:absolute;top:-3px;right:5px;border-left:7px solid var(--accent);border-top:4px solid transparent;border-bottom:4px solid transparent}.flow-vertical{height:40px;display:grid;place-items:center;font-size:12px;color:var(--accent)}.flow-battery-link{grid-column:3}.flow-grid-link{grid-column:5}.flow-battery{grid-column:3;border-style:dashed}.flow-grid-node{grid-column:5}.flow-battery.is-off{opacity:.55}.flow-detail{margin-top:26px;border-top:1px solid var(--line);padding:22px 0 0;min-height:110px}.flow-detail h3{font-size:19px;margin:0 0 10px}.flow-detail p{font-size:15px;color:var(--muted);margin:0;max-width:850px}.flow-extra{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.flow-extra>div{border:1px solid var(--line);padding:20px 24px;border-radius:10px;background:var(--card)}.flow-extra strong{font-size:15px}.flow-extra p{font-size:14px;color:var(--muted);margin:8px 0 0}.energy-note{font-size:12px;color:var(--muted);margin:22px 0 0}.energy-note a{text-decoration:underline;text-underline-offset:3px}.simulator .section-heading>p{max-width:430px}.sim-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:35px;align-items:start}.sim-form{padding:30px;box-shadow:none}.sim-form h3{font-size:21px;margin:0 0 8px}.sim-example{font-size:13px;color:var(--muted);margin-bottom:25px}.sim-fields{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}.sim-fields label{font-size:13px}.sim-fields small{font-size:11px;display:block;color:var(--muted);line-height:1.5;margin-top:6px}.sim-fields input,.sim-fields select{font-size:16px}.sim-form details{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.sim-form summary{font-size:14px;font-weight:600;cursor:pointer;margin-bottom:20px}.sim-check{display:flex;align-items:center;gap:10px;font-size:14px}.sim-check input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.sim-form .button{margin-top:12px}.sim-reset{display:block;margin:14px auto 0;background:none;border:0;text-decoration:underline;color:var(--muted);font-size:13px;padding:8px}.sim-results{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.sim-result-top{background:var(--blue);color:#fff;padding:30px}.sim-result-top p{font-size:13px;margin:0 0 8px}.sim-result-top strong{display:block;font-family:Comfortaa;font-size:38px;line-height:1.3}.sim-result-top small{font-size:12px;display:block;margin-top:12px;color:#fff}.sim-metrics{display:grid;grid-template-columns:1fr 1fr;padding:25px 30px;gap:24px}.sim-metrics span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.sim-metrics strong{font-size:22px;font-weight:600;line-height:1.35;display:block;overflow-wrap:anywhere}.sim-chart{padding:0 24px 24px}.sim-chart h3{font-family:Inter;font-size:15px;margin:0 0 12px}.sim-chart svg{display:block;width:100%;height:auto;color:var(--muted);overflow:visible}.sim-chart .chart-grid{stroke:var(--line);stroke-width:1}.sim-chart .chart-zero{stroke:var(--muted);stroke-dasharray:4 5}.sim-chart .chart-line{fill:none;stroke:var(--accent);stroke-width:3}.sim-chart text{font:12px Inter,Arial;fill:currentColor}.sim-results details{padding:20px 30px;border-top:1px solid var(--line)}.sim-results summary{font-size:14px;cursor:pointer}.sim-table-wrap{overflow:auto;margin-top:16px;max-height:280px}.sim-results table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}.sim-results th,.sim-results td{text-align:right;padding:9px 7px;border-bottom:1px solid var(--line);white-space:nowrap}.sim-results th:first-child,.sim-results td:first-child{text-align:left}.sim-method{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px}.sim-method summary{cursor:pointer;color:var(--text);font-size:14px;font-weight:600}.sim-method p{margin:12px 0 0}.sim-currency-note{font-size:12px;color:var(--accent);margin:0 0 18px}.sim-status{font-size:13px;color:var(--muted);margin:18px 30px}.sim-contact{padding:0 30px 25px}.sim-contact a{font-size:14px}.simulator [hidden]{display:none!important}
@media(max-width:1100px){.flow-node{padding:22px 14px;gap:10px}.flow-icon{width:25px;height:25px}.flow-node strong{font-size:15px}.flow-grid{grid-template-columns:1fr 45px 1fr 45px 1fr}.sim-layout{gap:22px}.sim-form{padding:24px}.header nav{gap:16px;font-size:13px}}
@media(max-width:850px){.sim-layout{grid-template-columns:1fr}.flow-shell{padding:25px}.flow-grid{grid-template-columns:1fr;gap:12px}.flow-node{min-height:auto;width:100%;padding:23px;gap:16px}.flow-connector{height:34px;font-size:12px;display:flex;gap:10px;align-items:center;justify-content:center}.flow-connector:before{width:2px;height:24px;margin:0}.flow-connector:after{display:none}.flow-battery-link,.flow-grid-link,.flow-battery,.flow-grid-node{grid-column:1}.flow-battery-link{grid-row:6}.flow-battery{grid-row:7}.flow-grid-link{grid-row:8}.flow-grid-node{grid-row:9}.flow-extra{grid-template-columns:1fr}.flow-toolbar{margin-bottom:28px;gap:20px}.flow-options{gap:15px}.flow-detail{min-height:0}.flow-grid-link:after{content:'Conexión al sistema de consumo';font-size:12px}.flow-grid-link{display:flex;gap:8px;justify-content:center}}
@media(max-width:450px){.flow-shell{padding:23px 18px}.sim-fields{grid-template-columns:1fr}.sim-form{padding:24px 20px}.sim-result-top{padding:26px 22px}.sim-result-top strong{font-size:30px}.sim-metrics{padding:24px 22px;gap:24px 15px}.sim-metrics strong{font-size:20px}.sim-chart{padding:0 15px 20px}.sim-results details{padding:20px}.flow-mode{font-size:12px}.flow-options label{font-size:13px}.flow-icon{width:30px;height:30px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sim-results.is-stale .sim-status{color:var(--accent);font-weight:600}.sim-method a{text-decoration:underline;text-underline-offset:3px}
/* Simulador: controles simples y proyección visible */
.simulator{background:var(--surface)}.sim-heading{display:block;text-align:center;max-width:760px;margin:0 auto 48px}.sim-heading .eyebrow{justify-content:center;color:var(--accent)}.sim-heading h2{font-size:clamp(30px,3vw,42px)}.sim-heading>p{max-width:640px!important;margin:0 auto}.sim-layout{gap:28px;grid-template-columns:1fr 1fr;align-items:stretch}.sim-form{background:var(--card);border-radius:18px;padding:30px}.sim-form h3,.sim-results-title{font-family:Inter,Arial,sans-serif;font-size:20px;letter-spacing:-.02em}.sim-example{font-size:14px}.sim-slider-field{margin:28px 0}.sim-slider-field>label{display:flex;justify-content:space-between;gap:14px;font-size:14px;font-weight:500;margin:0 0 14px}.sim-slider-field output{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.sim-slider-field input[type=range]{appearance:none;display:block;width:100%;height:8px;border:0;border-radius:8px;padding:0;margin:20px 0;background:linear-gradient(to right,var(--accent) var(--range-fill,30%),var(--line) var(--range-fill,30%));cursor:pointer}.sim-slider-field input[type=range]::-webkit-slider-thumb{appearance:none;width:23px;height:23px;border:3px solid var(--card);background:var(--accent);border-radius:50%;box-shadow:0 2px 8px #0002}.sim-slider-field input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid var(--card);background:var(--accent);border-radius:50%}.sim-slider-field input:disabled{opacity:.4;cursor:default}.sim-range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.sim-help,.sim-location small{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px;display:block;font-weight:400}.sim-location{font-size:14px}.sim-location select{font-size:14px;margin-top:12px}.sim-advisory{padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:var(--chip);font-size:13px;color:var(--text);margin:24px 0}.sim-form .sim-advanced{margin-top:24px}.sim-fields label{font-size:14px}.sim-fields small{font-size:12px}.sim-results{border-radius:18px;border-color:#b9dca9;background:linear-gradient(145deg,var(--card),#eff9e9)}.sim-results-title{margin:30px 30px 24px}.sim-result-top{background:transparent;color:var(--text);padding:0 30px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.sim-result-top p{font-size:14px;margin:0;flex:1}.sim-result-top strong{font-family:Inter,Arial,sans-serif;font-size:24px;color:var(--accent)}.sim-result-top small{color:var(--muted);margin:0;flex-basis:100%;font-size:12px}.sim-metrics{display:flex;flex-direction:column;gap:22px;padding:0 30px 30px}.sim-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:20px}.sim-metrics span{font-size:14px;margin:0}.sim-metrics strong{font-size:21px;text-align:right}.sim-metrics #sim-balance{color:#267218}.sim-chart h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase}.chart-bar-positive{fill:#449f29}.chart-bar-negative{fill:#d94b50}.sim-status{font-size:12px}.sim-results.is-stale{border-color:var(--accent)}:root[data-theme=dark] .sim-results{background:linear-gradient(145deg,var(--card),#142214);border-color:#314d26}:root[data-theme=dark] .sim-metrics #sim-balance{color:var(--green)}:root[data-theme=dark] .chart-bar-positive{fill:#7ef927}:root[data-theme=dark] .chart-bar-negative{fill:#ff7b80}
@media(max-width:850px){.sim-layout{grid-template-columns:1fr}.sim-heading{text-align:left}.sim-heading .eyebrow{justify-content:flex-start}}
@media(max-width:450px){.sim-form{padding:25px 20px}.sim-results-title{margin:25px 22px}.sim-result-top{padding:0 22px 20px}.sim-result-top strong{font-size:22px}.sim-metrics{padding:0 22px 25px}.sim-metrics strong{font-size:18px}.sim-slider-field>label{font-size:13px}.sim-metrics span{font-size:13px}.sim-heading h2{font-size:30px}}
