/* Capacidad Adaptativa · medición, simulación, comparación · V2.22 */
.ca-dyn-root{margin-top:18px;color:#e6f4fb;font-size:13px}
.ca-dyn-root *{box-sizing:border-box}
.ca-dyn-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 16px}
.ca-dyn-steps button{
 display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;
 border-radius:11px;border:1px solid #315567;background:#0c293a;
 color:#a9c5d3;font-size:12.5px;cursor:pointer;padding:10px 9px;
}
.ca-dyn-steps button small{color:#72b7ba;font-weight:850;letter-spacing:1px}
.ca-dyn-steps button.is-active{
 background:linear-gradient(115deg,#1a5568,#12505c);border-color:#4abeb0;color:#effffc;font-weight:800;
 box-shadow:0 3px 14px rgba(17,162,151,.1)
}
.ca-dyn-steps button:hover{border-color:#55c5b5}
.ca-dyn-workspace,.ca-dyn-results{display:grid;gap:14px}
.ca-dyn-panel{background:linear-gradient(130deg,#0e2b3e,#0a2333);padding:25px;border-radius:16px;border:1px solid rgba(112,177,196,.26);min-width:0}
.ca-dyn-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}
.ca-dyn-section-heading small,.ca-dyn-evidence>summary small{
 display:block;color:#77dbcb;font-weight:800;letter-spacing:1px;font-size:10px;margin-bottom:7px;
}
.ca-dyn-section-heading h2{font-size:22px;line-height:1.24;margin:0 0 6px;letter-spacing:-.35px;color:#edfaff}
.ca-dyn-section-heading p{line-height:1.6;color:#acc8d5;margin:0;max-width:820px;font-size:13px}
.ca-dyn-source-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:17px}
.ca-dyn-source-row label,.ca-dyn-settings label{color:#b9d6df;font-size:12px;font-weight:700;max-width:480px;min-width:220px}
.ca-dyn-source-row select,.ca-dyn-settings select{background:#13384c;border:1px solid #3b6c7d;color:#e1f7ff;border-radius:9px;padding:10px;margin-top:6px}
.ca-dyn-stocks,.ca-dyn-result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.ca-dyn-stock,.ca-dyn-result-summary article{
 background:#12364a;border:1px solid rgba(116,181,197,.21);border-radius:12px;
 padding:16px;min-width:0;display:flex;flex-direction:column;gap:7px
}
.ca-dyn-stock>span,.ca-dyn-result-summary small{color:#bed9e3;font-size:11.5px;font-weight:650}
.ca-dyn-stock b,.ca-dyn-result-summary b{font-size:27px;line-height:1.15;letter-spacing:-.6px;color:#e7fff9;font-variant-numeric:tabular-nums}
.ca-dyn-stock small{color:#89b9c8;font-size:10px;line-height:1.45}
.ca-dyn-assumption{
 margin-top:15px;display:flex;align-items:flex-start;gap:10px;
 background:rgba(225,182,91,.07);border:1px solid rgba(225,182,91,.3);
 padding:12px 14px;border-radius:10px;cursor:pointer
}
.ca-dyn-assumption input{flex:none;margin-top:4px}
.ca-dyn-assumption span{display:flex;flex-direction:column;gap:5px}
.ca-dyn-assumption strong{font-size:12px;color:#f5dda6}
.ca-dyn-assumption small{color:#c4c4b9;font-size:11px;line-height:1.45}
.ca-dyn-footer-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}
.ca-dyn-footer-actions button{border-radius:10px;font-size:12px;padding:11px 16px;cursor:pointer}
.ca-dyn-evidence{padding:0}
.ca-dyn-evidence>summary{
 cursor:pointer;display:flex;justify-content:space-between;align-items:center;
 gap:15px;list-style:none;padding:19px 24px;
}
.ca-dyn-evidence>summary::-webkit-details-marker{display:none}
.ca-dyn-evidence>summary strong{display:block;color:#e3f9ff;font-size:16px}
.ca-dyn-evidence>summary em{font-style:normal;color:#9fbfcd;display:block;margin-top:7px;font-size:12px;line-height:1.5}
.ca-dyn-disclosure-arrow{font-size:22px;color:#8cd7cb;transition:transform .2s}
.ca-dyn-evidence[open] .ca-dyn-disclosure-arrow{transform:rotate(180deg)}
.ca-dyn-evidence-body{padding:3px 20px 22px}
.ca-dyn-evidence-body .panel{background:#102e41}
.ca-dyn-settings{display:flex;flex-wrap:wrap;align-items:end;gap:15px;margin-bottom:20px}
.ca-dyn-data-note{flex:1;min-width:240px;display:flex;flex-direction:column;gap:5px;border-left:2px solid #369c93;padding:5px 14px}
.ca-dyn-data-note strong{color:#b4e9e0;font-size:12px}
.ca-dyn-data-note span{color:#a3c7d2;font-size:11px;line-height:1.5}
.ca-dyn-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ca-dyn-slider{padding:18px;border:1px solid #2c5263;border-radius:12px;background:#123347}
.ca-dyn-slider-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ca-dyn-slider-head strong{font-size:12.5px;color:#e9f5f9}
.ca-dyn-slider-head output{min-width:44px;text-align:center;border-radius:7px;background:#205b6a;padding:6px 8px;color:#8af4dc;font-size:13px;font-weight:800}
.ca-dyn-slider input[type=range]{width:100%;margin:14px 0 4px;accent-color:#59dfcc;cursor:pointer}
.ca-dyn-slider-ends{display:flex;justify-content:space-between;color:#8cabb8}
.ca-dyn-slider-ends small{font-size:10.5px}
.ca-dyn-footnote{color:#a0bdc9;font-size:11.5px;line-height:1.65;margin-top:18px}
.ca-dyn-prior{color:#9fb8c4;font-size:11px;text-align:right;margin-top:12px}
.ca-dyn-empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:11px;padding:55px 20px}
.ca-dyn-empty p{max-width:560px;color:#afc8d2;line-height:1.65}
.ca-dyn-result-summary{margin-bottom:18px}
.ca-dyn-chart{border:1px solid #244b61;background:#0c2636;border-radius:12px;padding:13px 14px;min-width:0}
.ca-dyn-chart-title{color:#d6edf4;font-weight:750;font-size:12px;margin-bottom:9px}
.ca-dyn-chart svg{display:block;width:100%;height:auto}
.ca-dyn-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.ca-dyn-legend{display:flex;gap:20px;flex-wrap:wrap;color:#b4cdd7;font-size:11px;margin-bottom:14px}
.ca-dyn-legend span{display:flex;align-items:center;gap:7px}
.ca-dyn-legend i{width:25px;height:0;border-top:3px solid #4fe0c7;display:inline-block}
.ca-dyn-legend .ca-dyn-legend-base{border-top-color:#8396a7;border-top-style:dashed}
.ca-dyn-comparison-table{display:grid;margin-top:17px;border:1px solid #244e63;border-radius:11px;overflow:hidden}
.ca-dyn-comparison-table>div{display:grid;grid-template-columns:minmax(110px,2fr) repeat(3,minmax(70px,1fr));gap:8px;align-items:center;padding:12px 13px;border-top:1px solid rgba(111,167,187,.17)}
.ca-dyn-comparison-table>div:first-child{border-top:0}
.ca-dyn-comp-head{background:#153c4f;color:#add4dd;font-size:11px}
.ca-dyn-comparison-table span,.ca-dyn-comparison-table strong{font-size:11.5px;color:#bfd5de}
.ca-dyn-comparison-table strong{color:#81e9ce}
.ca-dyn-trace{border:1px solid #31586a;border-radius:10px;padding:12px;margin-top:20px}
.ca-dyn-trace summary{cursor:pointer;color:#d6e8ef;font-size:12px;font-weight:700}
.ca-dyn-trace p{font-size:11px;color:#adc4ce;line-height:1.6;margin:7px 0}
@media(max-width:950px){
 .ca-dyn-stocks,.ca-dyn-result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .ca-dyn-panel{padding:17px}
 .ca-dyn-steps{gap:4px}
 .ca-dyn-steps button{font-size:10px;gap:4px;padding:9px 4px;flex-direction:column}
 .ca-dyn-sliders,.ca-dyn-chart-grid{grid-template-columns:1fr}
 .ca-dyn-comparison-table{overflow-x:auto}
 .ca-dyn-comparison-table>div{min-width:420px}
 .ca-dyn-evidence>summary{padding:17px}
 .ca-dyn-result-summary b,.ca-dyn-stock b{font-size:23px}
}

/* Medición real: nunca representar valores ausentes como cifras del modelo. */
.ca-dyn-empty-state{
  padding:32px 18px;border-radius:12px;text-align:center;
  border:1px dashed rgba(104,182,195,.37);background:rgba(20,70,88,.13);
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.ca-dyn-empty-state strong{font-size:16px;color:#e5faf8}
.ca-dyn-empty-state p{margin:0;max-width:580px;color:#abc7d3;line-height:1.65;font-size:12px}
.ca-dyn-root button:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}

/* V2.24 · banco único y trazabilidad de balance categórico */
.ca-assigned-row,.ca-pool-row{border:1px solid rgba(117,183,203,.2);border-radius:10px;padding:11px 12px;background:#123449;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}
.ca-assigned-row>div,.ca-pool-info{min-width:0;flex:1}
.ca-assigned-row strong,.ca-pool-info strong{display:block;font-size:12px;line-height:1.5;color:#edf8fc;overflow-wrap:anywhere}
.ca-assigned-row small,.ca-pool-info small{display:block;color:#9cbec9;font-size:10.5px;line-height:1.5;margin-top:3px}
.ca-pool-hint{color:#80dec9!important}
.ca-assigned-row button.secondary{flex:none;padding:5px 9px;border-radius:8px}
.ca-unassigned-pool{margin-top:15px;padding:14px;border-radius:12px;background:#0d2a3b;border:1px solid rgba(118,185,195,.29)}
.ca-unassigned-pool>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#e2f7fa}
.ca-unassigned-pool>summary strong{font-size:13px}
.ca-unassigned-pool>summary small{font-size:11px;color:#9dbcc5}
.ca-pool-controls{margin-top:13px;max-width:350px}
.ca-pool-row label{font-size:11px;min-width:148px;color:#b8dce3}
.ca-pool-row select{margin-top:4px;background:#163d4d;color:#e7f7ff;border-color:#35667a}
.ca-count-card .metric{font-size:25px;line-height:1.4;white-space:normal}
.ca-count-summary{font-size:11px;color:#83ddcb;margin-top:10px;line-height:1.65}
.ca-count-question{padding:9px 0;border-bottom:1px solid rgba(135,187,199,.17)}
.ca-count-question:last-child{border-bottom:0}
.ca-count-question strong{display:block;color:#e8f9ff;font-size:11px;line-height:1.5}
.ca-count-question small{display:block;color:#a8c9d3;font-size:10.5px;line-height:1.6;margin-top:3px}
@media(max-width:620px){.ca-pool-row{align-items:stretch;flex-direction:column}.ca-pool-row label{width:100%;min-width:0}}
