/* PONTE11 v5.2 - Sistema visual institucional Light Mode.
   Esta hoja contiene únicamente presentación: no altera lógica ni eventos. */
:root{
  --p11-bg:#F8FAFC;--p11-surface:#FFFFFF;--p11-border:#E2E8F0;
  --p11-text:#0F172A;--p11-text-2:#475569;--p11-label:#64748B;
  --p11-primary:#1E3A8A;--p11-action:#2563EB;--p11-action-hover:#1D4ED8;
  --p11-ok:#059669;--p11-ok-2:#10B981;--p11-bad:#DC2626;--p11-bad-2:#EF4444;
  --p11-warn:#D97706;--p11-warn-2:#F59E0B;--p11-shadow:0 1px 3px rgba(15,23,42,.06);
}
html,body{background:var(--p11-bg)!important;color:var(--p11-text)!important}
body{color-scheme:light}
header{background:var(--p11-surface)!important;border-color:var(--p11-border)!important;box-shadow:var(--p11-shadow)}
h1,h2,h3,h4,h5,h6{color:var(--p11-text)!important}
h1,.brand-title{color:var(--p11-primary)!important}
main{background:transparent!important}
section,.app-module,.dashboard-card,.card-metrica,.card-empresa,.rf-instrument-card,.ca-panel,.academic-panel,.academic-company-slot,.academic-case-card,.project-rate-panel,.confirm-box,.contenedor-grafico,.timeline-payback,.value-gauge,.cashflow-detail,.resultado-busqueda,.fila-activo,.portfolio-option,.selection-card,.choice-panel,.p11-company-analysis-root .p11-kpi,.p11-company-analysis-root .p11-chart-card{background:var(--p11-surface)!important;border-color:var(--p11-border)!important;box-shadow:var(--p11-shadow);color:var(--p11-text)!important}
.selection-card:hover{border-color:var(--p11-action)!important}
.selection-card small{color:var(--p11-label)!important}
.tag-perfil{background:#EFF6FF;color:var(--p11-primary)}
.v42-panel,.v42-metric,.audit-flag{background:var(--p11-surface)!important;border-color:var(--p11-border)!important}
.v42-metric strong{color:var(--p11-text)!important}
.v42-metric span,.v42-bars em,.audit-flag span,.audit-flag em{color:var(--p11-text-2)!important}
.v42-bars i{background:var(--p11-border)!important}
.copilot-launcher{background:var(--p11-surface)!important;color:var(--p11-action)!important;border-color:var(--p11-action)!important}
.copilot-panel{background:var(--p11-surface)!important;border-color:var(--p11-border)!important}
.copilot-head,.copilot-mode,.copilot-compose{border-color:var(--p11-border)!important}
.copilot-note{background:#F1F5F9!important;color:var(--p11-text-2)!important}
.copilot-message.user{background:var(--p11-action)!important;color:#FFFFFF!important}
.copilot-message.assistant{background:#F1F5F9!important;color:var(--p11-text)!important}
.copilot-message.assistant code,.copilot-message.assistant pre{background:#E2E8F0!important;color:var(--p11-text)!important}
.copilot-dot{background:var(--p11-label)!important}
.copilot-message.error{background:#FEF2F2!important;color:var(--p11-bad)!important}
.cp-control-strip,.cp-block,.cp-model-head,.cp-chart-card{background:var(--p11-surface)!important;border-color:var(--p11-border)!important}
.cp-block summary,.cp-model-head span{color:var(--p11-text-2)!important}
.cp-model-state.ok{background:#ECFDF5!important;color:var(--p11-ok)!important}
.cp-model-state.warn{background:#FFF7ED!important;color:var(--p11-warn)!important}
.cp-mc-summary{border-color:var(--p11-border)!important}
.academic-privacy-text{color:var(--p11-text-2)!important}
section,.app-module,.dashboard-card,.rf-instrument-card,.ca-panel,.academic-panel{border-radius:10px!important}
.module-heading,.corporate-intelligence,.academic-tab-panel,.cashflow-detail,.company-category-row th{border-color:var(--p11-border)!important}
.module-heading h2,.dashboard-title h3,.ca-panel h3,.academic-panel h3,.academic-panel h4,.academic-case-card h4,.card-empresa h4,.rf-instrument-card h4,.interpretation-box h4{color:var(--p11-primary)!important}
p,small,label,.muted,.chart-help,.fuente-datos,.cfo-label,.nombre,.subtitulo,.governance-note,.p11-chart-reason{color:var(--p11-text-2)!important}
label,.cfo-label{color:var(--p11-label)!important}
a{color:var(--p11-action)}
input,select,textarea,.input-key,.input-buscar,.input-monto,.fila-activo input[type=number]{background:var(--p11-surface)!important;color:var(--p11-text)!important;border-color:#CBD5E1!important;box-shadow:none!important}
input::placeholder,textarea::placeholder{color:#94A3B8!important}
input:focus,select:focus,textarea:focus,.input-key:focus,.input-buscar:focus,.input-monto:focus{outline:2px solid rgba(37,99,235,.18)!important;outline-offset:1px;border-color:var(--p11-action)!important}
input:disabled,select:disabled,textarea:disabled{background:#F1F5F9!important;color:#94A3B8!important;cursor:not-allowed}
.btn-conectar{background:var(--p11-action)!important;color:#FFFFFF!important;border:1px solid var(--p11-action)!important;box-shadow:none!important}
.btn-conectar:hover:not(:disabled){background:var(--p11-action-hover)!important;border-color:var(--p11-action-hover)!important}
.btn-conectar:active:not(:disabled){transform:translateY(1px)}
.btn-conectar:disabled{background:#E2E8F0!important;border-color:#E2E8F0!important;color:#94A3B8!important}
.btn-secundario,.btn-mini,.metodo-btn{background:#FFFFFF!important;color:var(--p11-primary)!important;border:1px solid #CBD5E1!important}
.btn-secundario:hover:not(:disabled),.btn-mini:hover,.metodo-btn:hover{background:#EFF6FF!important;border-color:#93C5FD!important}
.btn-secundario:focus,.btn-conectar:focus,.btn-mini:focus{outline:2px solid rgba(37,99,235,.25)!important;outline-offset:2px}
.btn-mini.quitar{color:var(--p11-bad)!important;border-color:#FECACA!important;background:#FEF2F2!important}
.auth-tab.active,.metodo-btn.activo,.foreign-period-options .is-active{background:#EFF6FF!important;border-color:var(--p11-action)!important;color:var(--p11-action)!important}
.status-ok,.positivo,.metric-good .metric-value,.num-positive{color:var(--p11-ok)!important}
.status-err,.negativo,.metric-critical .metric-value,.num-negative{color:var(--p11-bad)!important}
.status-wait,.metric-warning .metric-value{color:var(--p11-warn)!important}
.badge-live,.sum-ok{background:#ECFDF5!important;color:var(--p11-ok)!important;border-color:#A7F3D0!important}
.badge-hist,.sum-mal{background:#FFF7ED!important;color:var(--p11-warn)!important;border-color:#FED7AA!important}
.badge,.metric-status{border:1px solid var(--p11-border)}
.tabla-ratios,table.tabla-stress,.correlation-table{color:var(--p11-text)!important}
.tabla-ratios th,table.tabla-stress th,.correlation-table th{background:#F1F5F9!important;color:#334155!important;border-color:var(--p11-border)!important}
.tabla-ratios td,table.tabla-stress td,.correlation-table td{border-color:var(--p11-border)!important;color:var(--p11-text)!important}
.tabla-ratios tbody tr:hover,table.tabla-stress tbody tr:hover{background:#F8FAFC!important}
.company-category-row th{background:#EFF6FF!important;color:var(--p11-primary)!important}
.table-scroll{border-radius:8px}
.contenedor-grafico,.chart-container-bars{border-color:var(--p11-border)!important}
.bar{background:var(--p11-action)!important}.bar-label{color:var(--p11-label)!important}
.dist-track,.scenario-axis,.compare-track,.tornado-track{background:#E2E8F0!important}
.dist-fill,.tornado-bar{background:var(--p11-action)!important}
.scenario-bar.positive{background:var(--p11-ok)!important}.scenario-bar.negative{background:var(--p11-bad)!important}
.compare-track i{background:var(--p11-action)!important}.compare-track.alt i{background:#64748B!important}
.interpretation-box{background:#EFF6FF!important;border-color:#BFDBFE!important;color:var(--p11-text-2)!important}
.goovernance-note,.governance-note{background:#F8FAFC!important;border-color:var(--p11-border)!important;color:var(--p11-text-2)!important}
.upload-dropzone{background:#F8FAFC!important;border-color:#94A3B8!important}
.portfolio-option:hover{border-color:var(--p11-action)!important;box-shadow:0 6px 18px rgba(15,23,42,.08)!important}
.rf-card-head h3{color:var(--p11-text)!important}
.allocation-donut{background:conic-gradient(var(--p11-action) calc(var(--fixed)*1%),#94A3B8 0)!important;box-shadow:inset 0 0 0 1px var(--p11-border)!important}
.allocation-donut>div{background:#FFFFFF!important}.allocation-donut span{color:var(--p11-label)!important}
.sensitivity-cell.positive{background:rgba(5,150,105,.08)!important}.sensitivity-cell.negative{background:rgba(220,38,38,.08)!important}
.correlation-table td{background:rgba(37,99,235,calc(.05 + var(--corr-strength)*.22))!important;color:var(--p11-text)!important}.correlation-table td.corr-negative{background:rgba(100,116,139,calc(.05 + var(--corr-strength)*.20))!important}
.ca-result{background:#F8FAFC!important;border-color:var(--p11-border)!important;color:#334155!important}.ca-alert{background:#FFF7ED!important;border-left-color:var(--p11-warn)!important}.ca-alert p{color:var(--p11-text-2)!important}
.confirm-overlay{background:rgba(15,23,42,.42)!important}.confirm-box{box-shadow:0 20px 55px rgba(15,23,42,.16)!important}.confirm-box p{color:var(--p11-text-2)!important}
#pantallaAcceso{background:var(--p11-bg)!important}.acceso-box{background:#FFFFFF!important;border-color:var(--p11-border)!important;box-shadow:0 16px 45px rgba(15,23,42,.08)!important;color:var(--p11-text)!important}
.foreign-search-results{background:#FFFFFF!important}.foreign-search-item{color:var(--p11-text)!important}
.foreign-period-options{display:none;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.foreign-period-options.is-visible{display:flex}.foreign-period-options>span{font-size:12px;font-weight:700;color:var(--p11-label)}
/* Semántica financiera: color + etiqueta/símbolo; nunca sólo color. */
.metric-status.status-ok::before,.status-ok.metric-status::before{content:'▲ ';}.metric-status.status-err::before,.status-err.metric-status::before{content:'▼ ';}.metric-status.status-wait::before,.status-wait.metric-status::before{content:'! ';}
/* Formularios en lectura solamente se distinguen sin parecer deshabilitados. */
input[readonly]{background:#F8FAFC!important;color:#334155!important}
/* Reduce saturación de sombras/gradientes heredados. */
[style*="box-shadow"]{box-shadow:var(--p11-shadow)!important}
/* La marca puede conservar su logotipo; el naranja heredado no se usa para estados neutrales. */
.ticker,.equity-accent{color:var(--p11-primary)!important}.benchmark-accent{color:#64748B!important}
/* Inline accent colors below were tuned for a near-black background and lose contrast on white;
   these substitute darker, brand-consistent equivalents without touching every call site. */
[style*="color:#4ade80"],[style*="color: #4ade80"]{color:#059669!important}
[style*="color:#f87171"],[style*="color: #f87171"]{color:#DC2626!important}
[style*="color:#facc15"],[style*="color: #facc15"]{color:#D97706!important}
[style*="color:#60a5fa"],[style*="color: #60a5fa"]{color:#2563EB!important}
[style*="color:#f97316"],[style*="color: #f97316"]{color:#D8301E!important}
[style*="color:#a78bfa"],[style*="color: #a78bfa"]{color:#7C3AED!important}
/* Panel de auditoría */
#panelAuditoria{background:#FFFFFF!important;color:var(--p11-text)!important;border-color:var(--p11-border)!important}
@media(max-width:700px){.foreign-period-options{align-items:stretch}.foreign-period-options .btn-secundario{flex:1}}
.dictamen-apta{background:#ECFDF5!important;border-color:#A7F3D0!important}
.dictamen-riesgo{background:#FFF7ED!important;border-color:#FED7AA!important}
.dictamen-noapta{background:#FEF2F2!important;border-color:#FECACA!important}
.fi-card{background:var(--p11-surface)!important;border-color:var(--p11-border)!important}
.fi-card em{color:var(--p11-text-2)!important}
.dist-row b{color:var(--p11-text-2)!important}
.equity-histogram-bars{border-color:var(--p11-border)!important}
.equity-regime-result,.equity-alert{background:var(--p11-surface)!important}
.live-legend,.equity-growth-detail{color:var(--p11-text-2)!important}
.equity-alert b{color:var(--p11-warn)!important}
.equity-growth-detail b{color:var(--p11-ok)!important}
.rf-instrument-card .campo-cuenta input[readonly]{font-weight:700;color:#334155!important}
.subsection-label{font-size:11px;color:var(--p11-label);text-transform:uppercase;margin:0 0 6px}
.divider-top{border-top:1px solid var(--p11-border);padding-top:10px;margin-top:14px}
#institutionalDetail{border:1px solid var(--p11-border);border-radius:8px;padding:12px;min-height:160px}
#svgBacktest line,#svgVivoEq line{stroke:var(--p11-border)}
#svgVivoEq text{fill:var(--p11-label)}
.foreign-company-header{background:var(--p11-surface);border-color:var(--p11-border)}
.metric-trace{color:var(--p11-label)}
