/* Ajustes propios de OptiumV-options sobre optiumv.css. */
svg.icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav-group a svg.icon,.sidebar-bottom>a svg.icon{stroke-width:1.6}
.nav-soon{margin-left:auto;font-size:7px;letter-spacing:.6px;padding:3px 5px;border-radius:4px;color:#94a1b3;border:1px solid #2b3646}
.flash{display:flex;gap:8px;align-items:center;padding:12px 15px;margin-bottom:18px;border-radius:8px;font-size:12px;border:1px solid #23977024;background:#2397700a;color:var(--positive)}
.positive{color:var(--positive)}.negative{color:var(--negative)}
.calc-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}
.calc-results{display:grid;gap:22px;min-width:0}
.calc-results .metric-grid{margin-bottom:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 22px 22px}
.form-grid label{font-size:11px;font-weight:500;display:grid;gap:7px;align-content:start}
.form-grid label.wide,.form-grid .wide{grid-column:1/-1}
.form-grid label small,.form-hint{font-size:10px;font-weight:400;color:var(--muted);line-height:1.6}
.form-grid input,.form-grid select,.form-grid textarea{padding:9px 11px;font-size:12px}
.form-section{grid-column:1/-1;font-size:9px;letter-spacing:.8px;color:var(--muted);padding-top:6px;border-top:1px solid var(--border);margin-top:4px}
.field-error{color:var(--negative);font-size:10px}
.strategy-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.strategy-picker label{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:var(--surface-alt)}
.strategy-picker label:has(input:checked){border-color:#deb163;background:#e9b86014;box-shadow:0 0 0 3px #e9b86012}
.strategy-picker input{position:absolute;opacity:0;pointer-events:none}
.strategy-picker strong{font-size:11px;font-weight:600}
.strategy-picker span{font-size:9px;color:var(--muted)}
.payoff{padding:4px 18px 16px}
.payoff svg{width:100%;height:auto;display:block}
.payoff .grid line{stroke:var(--border);stroke-dasharray:3 5}
.payoff text{fill:var(--muted);font-size:10px;font-family:inherit}
.payoff .zero{stroke:var(--secondary);stroke-opacity:.5}
.payoff .expiry{fill:none;stroke:#e9b860;stroke-width:2.4}
.payoff .today{fill:none;stroke:#60a5fa;stroke-width:1.6;stroke-dasharray:5 4}
.payoff .gain{fill:var(--positive);fill-opacity:.12}
.payoff .loss{fill:var(--negative);fill-opacity:.12}
.payoff .marker line{stroke:var(--secondary);stroke-opacity:.45;stroke-dasharray:2 3}
.payoff .marker text{fill:var(--secondary);font-weight:600}
.payoff-legend{display:flex;gap:16px;font-size:10px;color:var(--muted)}
.payoff-legend i{display:inline-block;width:14px;height:0;border-top:2.4px solid #e9b860;vertical-align:middle;margin-right:6px}
.payoff-legend i.today{border-top:1.6px dashed #60a5fa}
.legs-table td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.status-links{display:flex;gap:2px}
.status-links a{padding:5px 9px;font-size:9px;border-radius:4px;color:var(--muted)}
.status-links a.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 5px #1923340d}
.auth-form .field-error{display:block;margin-top:4px}
@media (max-width:1100px){.calc-layout{grid-template-columns:1fr}}
@media (max-width:600px){.form-grid,.strategy-picker{grid-template-columns:1fr}}
.market-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.market-controls .segmented button{display:inline-flex;align-items:center;padding:5px 9px;font-size:10px;cursor:pointer}
.market-controls .segmented button.selected{color:var(--accent)}
.market-plot{position:relative;padding:4px 10px 12px 14px;min-height:390px}
.market-plot svg{display:block;width:100%;height:auto;touch-action:pan-y}
.market-plot .grid line{stroke:var(--border);stroke-dasharray:3 5}
.market-plot text{fill:var(--muted);font-size:11px;font-family:inherit}
.market-plot .mk-line{fill:none;stroke:#e9b860;stroke-width:2.2}
.market-plot .mk-up line,.market-plot .mk-up rect{stroke:var(--positive);fill:var(--positive)}
.market-plot .mk-down line,.market-plot .mk-down rect{stroke:var(--negative);fill:var(--negative)}
.market-plot .mk-last{stroke:#e9b860;stroke-opacity:.5;stroke-dasharray:2 4}
.market-plot .mk-cross{stroke:var(--secondary);stroke-opacity:.4;stroke-dasharray:3 3}
.market-plot .mk-dot{fill:#e9b860;stroke:var(--surface);stroke-width:2}
.mk-tooltip{position:absolute;top:18px;pointer-events:none;z-index:3;min-width:170px}
.lang-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt)}
.lang-switch button{padding:4px 7px;font-size:9px;font-weight:600;border-radius:4px;color:var(--muted);cursor:pointer;letter-spacing:.4px}
.lang-switch button.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 5px #1923340d}
.auth-lang{position:absolute;top:22px;right:26px}
.auth-form-panel{position:relative}
@media (max-width:700px){.market-plot{min-height:260px;padding:4px 4px 10px}}
.instrument-switch button{padding:6px 11px;font-size:10px;font-weight:600;cursor:pointer}
.instrument-switch button.selected{color:var(--accent)}
.market-status.closed>span:first-child{background:var(--muted);box-shadow:none;animation:none}
.market-plot .mk-session{stroke:var(--secondary);stroke-opacity:.25;stroke-dasharray:none}
.metric-detail [data-field=basis]{color:var(--muted)}
.flash.error{color:var(--negative);border-color:#c7647530;background:#c7647509}
.accounts-list .badge{flex:none}
.connection-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.connection-actions form{display:contents}
.secret-line{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--secondary)}
.button.danger{background:var(--negative);border-color:var(--negative);color:#fff}
.key-warning{border-color:#dcac5940;background:#dcac590d}
.account-picker{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.account-picker select{width:auto;padding:7px 10px;font-size:11px}
.series-panel{margin-bottom:18px}
.series-panel .panel-title h2{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.leg-line{display:block;color:var(--muted);font-size:10px;margin-top:3px;white-space:nowrap}
.leg-line b{font-weight:600;color:var(--secondary)}
.single-row td{background:var(--surface-alt)}
.progress-bar{display:block;width:84px;height:4px;border-radius:3px;background:var(--border);margin:5px 0 0 auto;overflow:hidden}
.progress-bar i{display:block;height:100%;background:var(--positive)}
.progress-bar.loss i{background:var(--negative)}
.data-stamp{font-size:10px;color:var(--muted)}
.series-actions{display:flex;align-items:center;gap:12px;text-align:right}
.chart-toggle.selected{background:var(--accent-soft,rgba(233,184,96,.16));color:#c8922f}
.range-chart{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0 6px;margin-bottom:6px}
.range-chart .payoff-legend{padding:0 18px;flex-wrap:wrap}
.range-chart .payoff-legend i.spot{border-top:1.6px solid #60a5fa}
.zone-key{display:inline-block;width:12px;height:9px;border-radius:2px;vertical-align:middle;margin-right:6px}
.zone-key.gain,.range-plot .zone.gain{fill:var(--positive);background:var(--positive);opacity:.14}
.zone-key.loss,.range-plot .zone.loss{fill:var(--negative);background:var(--negative);opacity:.1}
.zone-key.gain{opacity:.35}.zone-key.loss{opacity:.3}
.range-plot .zone.flat{fill:none}
.range-plot{position:relative}
.range-plot .strikes line{stroke:var(--secondary);stroke-opacity:.5}
.range-plot .strikes text{fill:var(--secondary);font-weight:600}
.range-plot .spot-marker line{stroke:#60a5fa;stroke-width:1.6}
.range-plot .spot-marker text{fill:#60a5fa;font-weight:600}
.range-plot .hover-line{stroke:var(--secondary);stroke-opacity:.4;stroke-dasharray:3 3}
.range-plot .hover-dot{fill:#e9b860;stroke:var(--surface);stroke-width:2}
.range-plot svg{touch-action:pan-y}
.range-tooltip{position:absolute;top:30px;pointer-events:none}
.zone-list{display:flex;flex-wrap:wrap;gap:8px;padding:2px 18px 8px}
.zone-item{display:flex;flex-direction:column;gap:2px;padding:7px 11px;border-radius:8px;border:1px solid var(--border);border-left:3px solid var(--positive);font-size:11px;min-width:150px}
.zone-item.loss{border-left-color:var(--negative)}
.zone-item span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.zone-item small{color:var(--muted)}
.range-chart .data-stamp{padding:0 18px;margin:0}
.candle-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-right:18px}
.candle-plot{min-height:360px}
.candle-plot .zone.gain{fill:var(--positive);opacity:.1}
.candle-plot .zone.loss{fill:var(--negative);opacity:.08}
.candle-plot .strike-line{stroke:var(--secondary);stroke-opacity:.35;stroke-width:1}
.candle-plot .strike-label{fill:var(--secondary);font-weight:600;font-size:10px}
.candle-plot .be-line{stroke:var(--secondary);stroke-opacity:.7;stroke-dasharray:5 4}
.candle-plot .be-label{fill:var(--secondary);font-weight:700;font-size:10px}
.payoff-legend i.breakeven{border-top:1.6px dashed var(--secondary)}
.payoff-legend i.strike{border-top:1px solid var(--secondary);opacity:.5}
.period-switch{display:inline-flex;margin:0 0 16px}
.period-switch a{padding:5px 11px;font-size:10px;border-radius:4px;color:var(--muted)}
.period-switch a.selected{background:var(--surface);color:var(--text);box-shadow:0 1px 5px #1923340d}
.series-net{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.payoff-legend i.event{border-top:1.6px dotted #60a5fa}
.candle-plot .event-line{stroke:#60a5fa;stroke-width:1.4;stroke-dasharray:2 3}
.candle-plot .event-label{fill:#60a5fa;font-weight:700;font-size:10px}
.cumulative-plot .trade-dot{stroke:var(--surface);stroke-width:1.5}
.cumulative-plot .trade-dot.dot-win{fill:var(--positive)}
.cumulative-plot .trade-dot.dot-loss{fill:var(--negative)}
.paste-zone{display:flex;flex-direction:column;align-items:center;gap:6px;margin:18px;padding:34px 18px;border:2px dashed var(--border);border-radius:12px;text-align:center;cursor:pointer;color:var(--muted);font-size:11px;transition:border-color .15s,background .15s}
.paste-zone strong{color:var(--text);font-size:14px}
.paste-zone:focus,.paste-zone.over{outline:none;border-color:#e9b860;background:rgba(233,184,96,.06)}
.paste-zone.busy{opacity:.7;pointer-events:none}
.paste-status{color:#c8922f;font-weight:600}
.field-error{color:var(--negative);margin:0 18px 14px}
.chain-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;align-items:start}
@media (max-width:1100px){.chain-grid{grid-template-columns:1fr}}
.chain-table input[type=text],.chain-table select{width:100%;min-width:70px;padding:5px 7px;font-size:12px}
.chain-table td.numeric input{text-align:right}
.chain-table input[type=radio]{accent-color:#e9b860}
.chain-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:14px 18px}
.chain-params label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted)}
.chain-params input{padding:6px 8px;font-size:12px}
.chain-params small{font-size:9px}
.chain-actions{padding:0 18px 18px;display:flex;justify-content:flex-end}
.chain-image img{display:block;width:calc(100% - 36px);margin:0 18px 12px;border:1px solid var(--border);border-radius:8px}
.chain-text{margin:0 18px 16px;font-size:11px;color:var(--muted)}
.chain-text pre{white-space:pre-wrap;font-size:10px;max-height:260px;overflow:auto;background:var(--surface-alt);padding:10px;border-radius:6px}

/* Conector Claude */
.connector-steps{margin:0;padding:6px 22px 22px 40px;display:grid;gap:12px;font-size:12px;line-height:1.6}
.connector-url{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.connector-url code{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);font-size:12px;word-break:break-all}
.authorize-panel{max-width:560px;padding:22px}
.authorize-panel p{font-size:13px;line-height:1.6;margin:0 0 12px}
.scope-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;font-size:12px}
.scope-list li{display:flex;gap:8px;align-items:center}
.scope-list svg{color:var(--positive)}

/* Preguntar a Claude */
.ask-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px;font-size:11px;color:var(--muted)}
.ask-panel{padding:18px 22px}
.ask-panel label{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;margin-bottom:10px}
.ask-panel label svg,.ask-claude svg{color:#c4a166}
.ask-input{display:flex;gap:10px;flex-wrap:wrap}
.ask-input input{flex:1 1 260px}
.ask-panel .form-hint{margin-top:8px}
