/* Datos físicos · lectura alineada con el explorador de Estadísticas */
.fis-tab-shell {
    display: flex;
    flex-direction: column;
    gap: 14px;
    color: #234c6d;
}

.fis-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.2fr);
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid #dce5ed;
    border-radius: 8px;
    background: #f6f8fb;
}

.fis-filter-group {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.fis-filter-label {
    color: #496a83;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.fis-filter-panel .pf-wy-toggle,
.fis-filter-panel .fis-pos-bar {
    margin: 0;
}

.fis-filter-panel .pf-wy-toggle,
.fis-filter-panel .fis-pos-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.fis-filter-panel .pf-wy-btn,
.fis-filter-panel .fis-pos-btn,
.fis-filter-panel .fis-pos-static {
    flex: 0 0 auto;
    min-height: 36px;
    border-radius: 5px;
    padding: 7px 12px;
    font-size: 12px;
    box-shadow: none;
}

.fis-filter-panel .fis-pos-btn {
    padding-right: 7px;
}

.fis-filter-panel .fis-pos-btn-n,
.fis-filter-panel .fis-pos-static .fis-pos-btn-n {
    height: 20px;
    border-radius: 4px;
    font-size: 10px;
}

.fis-filter-empty {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    color: #8798a6;
    font-size: 12px;
}

.fis-profile-explorer {
    display: flex;
    flex-direction: column;
}

/* Perfil SkillCorner avanzado: cinco capacidades con igual jerarquía. */
.fis-profile-main {
    align-items: stretch;
}

.fis-area-radar {
    width: 100%;
    min-height: 390px;
}

.fis-capacity-list {
    display: grid;
    gap: 7px;
    padding: 8px 18px 18px;
}

.fis-capacity-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 55px;
    padding: 9px 12px;
    border: 1px solid #dde6ed;
    border-left: 3px solid var(--capacity-color, #15466b);
    border-radius: 6px;
    background: #fbfcfd;
}

.fis-capacity-row > div:first-child {
    display: grid;
    gap: 2px;
}

.fis-capacity-row strong {
    color: #123c5d;
    font-size: 13px;
}

.fis-capacity-row span {
    color: #6f8190;
    font-size: 10px;
    line-height: 1.3;
}

.fis-capacity-score {
    min-width: 45px;
    color: var(--capacity-color, #15466b);
    font-family: var(--font-condensed, sans-serif);
    font-size: 22px;
    font-weight: 800;
    text-align: right;
}

.fis-capacity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
    border-top: 1px solid #dce5ec;
    background: #f5f8fa;
}

.fis-capacity-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d9e3ea;
    border-radius: 7px;
    background: #fff;
}

.fis-capacity-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.fis-capacity-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-height: 69px;
    padding: 12px 15px;
    color: #fff;
    background: linear-gradient(110deg, #123f61 0%, #1b587d 100%);
}

.fis-capacity-card-head h3 {
    margin: 0;
    color: #fff;
    font-size: 16px;
}

.fis-capacity-card-head p {
    max-width: 470px;
    margin: 3px 0 0;
    color: rgba(255,255,255,.75);
    font-size: 10px;
    line-height: 1.35;
}

.fis-capacity-card-head > strong {
    flex: 0 0 auto;
    font-family: var(--font-condensed, sans-serif);
    font-size: 25px;
}

.fis-capacity-card .fis-metric-list {
    border: 0;
    border-radius: 0;
}

@media (max-width: 1000px) {
    .fis-capacity-grid { grid-template-columns: 1fr; }
    .fis-capacity-card:last-child:nth-child(odd) { grid-column: auto; }
}

.fis-context-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid #dce5ed;
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    overflow: hidden;
    background: #fff;
}

.fis-context-item {
    min-width: 0;
    padding: 11px 15px;
    border-right: 1px solid #e5ebf0;
}

.fis-context-item:last-child { border-right: 0; }
.fis-context-item small {
    display: block;
    margin-bottom: 3px;
    color: #8192a1;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .065em;
    text-transform: uppercase;
}
.fis-context-item strong {
    display: block;
    overflow: hidden;
    color: #173f60;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fis-global-stage {
    overflow: hidden;
    border: 1px solid #dce5ed;
    border-radius: 0 0 10px 10px;
    background: #fff;
}

.fis-stage-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 20px 13px;
    background: #123f63;
    text-align: center;
}

.fis-stage-heading small {
    color: #bad5e8;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .14em;
}
.fis-stage-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 23px;
}

.fis-profile-explorer .fis-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr);
    gap: 0;
    align-items: stretch;
}

.fis-profile-explorer .fis-radar-card,
.fis-profile-explorer .fis-table-card {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.fis-profile-explorer .fis-table-card {
    border-left: 1px solid #e5ebf0;
}

.fis-card-heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 12px 18px;
    border-bottom: 1px solid #e1e8ef;
    background: #f7f9fb;
    text-align: center;
}
.fis-card-heading h3 {
    margin: 0;
    color: #174e7a;
    font-size: 22px;
}
.fis-card-heading span {
    position: absolute;
    right: 18px;
    max-width: 180px;
    color: #7b8c9c;
    font-size: 9px;
    line-height: 1.25;
    text-align: right;
}

.fis-profile-explorer .wy-radar-graph {
    margin: 0 auto;
}

.fis-metric-list {
    padding: 8px 16px 15px;
}
.fis-metric-head,
.fis-metric-row {
    display: grid;
    grid-template-columns: minmax(150px, 1.15fr) minmax(90px, .62fr) minmax(130px, .9fr);
    gap: 12px;
    align-items: center;
}
.fis-metric-head {
    padding: 7px 10px;
    color: #8192a1;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.fis-metric-head span:nth-child(n+2) { text-align: right; }

.fis-metric-row {
    width: 100%;
    min-height: 43px;
    padding: 7px 10px;
    border: 0;
    border-top: 1px solid #e8eef3;
    background: #fff;
    color: #294e69;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .12s ease, transform .12s ease;
}
.fis-metric-row:nth-child(odd) { background: #fafbfd; }
.fis-metric-row:hover,
.fis-metric-row:focus-visible {
    z-index: 1;
    outline: none;
    background: #edf5fa;
    transform: translateX(2px);
}
.fis-metric-row-na { cursor: default; opacity: .65; }
.fis-metric-name { font-size: 12px; font-weight: 650; }
.fis-metric-value {
    color: #173f60;
    font-size: 12px;
    font-weight: 750;
    text-align: right;
    white-space: nowrap;
}
.fis-metric-percentile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 28px;
    border-radius: 4px;
    background: #eef2f5;
    color: #183344;
    text-align: right;
}
.fis-metric-percentile strong {
    display: block;
    padding: 6px 9px;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}
.fis-metric-fill {
    position: absolute;
    z-index: -1;
    inset: 0 auto 0 0;
    opacity: .68;
}
.fis-metric-percentile.fis-pct-na { padding: 6px 9px; }

.fis-color-key { margin: 14px 0 12px; }
.fis-method-note {
    display: flex;
    align-items: center;
    gap: 7px 14px;
    padding: 11px 15px;
    border: 1px solid #dce5ed;
    border-radius: 7px;
    background: #f7f9fb;
    color: #6f8394;
    font-size: 11px;
}
.fis-method-note strong { color: #234c6d; }
.fis-method-secondary {
    margin-left: auto;
    color: #496a83;
    font-weight: 650;
    white-space: nowrap;
}

/* Distribución física: mismo gráfico univariante que Estadísticas. */
.fis-modal-box {
    width: min(840px, 94vw);
    max-width: 840px;
    max-height: 90vh;
}
.fis-modal-inner { padding: 8px 10px 4px; }
.fis-modal-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 0 0 13px;
    border-bottom: 1px solid #e1e8ef;
}
.fis-modal-heading small {
    color: #7990a2;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .13em;
}
.fis-modal-heading h2 {
    margin: 3px 0 0;
    color: #173f60;
    font-size: 26px;
}
.fis-modal-pct { flex: 0 0 auto; text-align: center; }
.fis-modal-pct strong {
    display: block;
    font-size: 34px;
    line-height: .95;
    font-variant-numeric: tabular-nums;
}
.fis-modal-pct span {
    color: #8293a2;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .1em;
}
.fis-modal-context {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    padding: 10px 0 2px;
    color: #718699;
    font-size: 11px;
}
.fis-modal-context strong { color: #234c6d; }
.fis-modal-chart {
    margin-top: 7px;
    border: 1px solid #e0e8ef;
    border-radius: 8px;
    overflow: hidden;
    background: #f8fafc;
}
.fis-modal-chart .opta-univariate { border-bottom: 0; }
.fis-modal-foot {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 12px 24px;
    align-items: center;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 7px;
    background: #f2f7fb;
}
.fis-modal-foot div small,
.fis-modal-foot div strong { display: block; }
.fis-modal-foot div small {
    color: #7b8f9f;
    font-size: 9px;
    text-transform: uppercase;
}
.fis-modal-foot div strong { margin-top: 2px; color: #174e7a; font-size: 17px; }
.fis-modal-foot p { margin: 0; color: #718699; font-size: 11px; line-height: 1.4; }

@media (max-width: 1050px) {
    .fis-filter-panel { grid-template-columns: 1fr; }
    .fis-profile-explorer .fis-grid { grid-template-columns: 1fr; }
    .fis-profile-explorer .fis-table-card { border-left: 0; border-top: 1px solid #e5ebf0; }
}

@media (max-width: 720px) {
    .fis-context-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fis-context-item { border-bottom: 1px solid #e5ebf0; }
    .fis-card-heading { align-items: flex-start; flex-direction: column; }
    .fis-card-heading span { position: static; max-width: none; text-align: left; }
    .fis-metric-head, .fis-metric-row {
        grid-template-columns: minmax(120px, 1fr) 80px 105px;
        gap: 7px;
    }
    .fis-method-note { align-items: flex-start; flex-direction: column; }
    .fis-method-secondary { margin-left: 0; }
    .fis-modal-foot { grid-template-columns: 1fr 1fr; }
    .fis-modal-foot p { grid-column: 1 / -1; }
}

/* Segunda pasada: una única barra de control y menos estratos verticales. */
.fis-tab-shell { gap: 10px; }

.fis-filter-panel {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 9px 12px;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(19, 63, 96, .04);
}

.fis-filter-group {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 9px;
}

.fis-filter-group-position {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 18px;
    border-left: 1px solid #dce5ed;
}

.fis-filter-label {
    flex: 0 0 auto;
    font-size: 10px;
}

.fis-filter-panel .pf-wy-toggle,
.fis-filter-panel .fis-pos-btns {
    gap: 5px;
}

.fis-filter-panel .pf-wy-btn,
.fis-filter-panel .fis-pos-btn,
.fis-filter-panel .fis-pos-static {
    min-height: 32px;
    padding: 5px 10px;
}

.fis-filter-panel .fis-pos-btn { padding-right: 5px; }
.fis-filter-panel .fis-pos-btn-n,
.fis-filter-panel .fis-pos-static .fis-pos-btn-n {
    height: 18px;
    padding: 0 6px;
    font-size: 9px;
}

.fis-global-stage { border-radius: 9px; }

/* Ficha física: lectura directa de percentiles, sin radar redundante. */
.fis-profile-explorer .fis-stage-heading {
    align-items:flex-start;
    background:#fff;
    border-bottom:1px solid #dce5ed;
    padding:15px 18px 12px;
    text-align:left;
}
.fis-profile-explorer .fis-stage-heading small{color:#70879a}
.fis-profile-explorer .fis-stage-heading h2{color:#123f62;font-size:22px}
.fis-profile-explorer .fis-context-strip{
    border:0;
    border-bottom:1px solid #e1e8ee;
    border-radius:0;
}
.fis-global-summary{
    align-items:stretch;
    background:#fff;
    border-bottom:1px solid #dce5ed;
    display:grid;
    grid-template-columns:190px minmax(0,1fr) auto;
    min-height:112px;
    padding:14px 18px;
}
.fis-global-score{
    align-items:center;
    background:#f7f9fa;
    border:0;
    border-left:4px solid var(--score-color);
    border-radius:5px;
    cursor:pointer;
    display:grid;
    grid-template-columns:1fr auto;
    padding:10px 14px;
    text-align:left;
}
.fis-global-score:hover{background:#eef4f7}
.fis-global-score>span{
    color:#587186;
    font-size:10px;
    font-weight:850;
    letter-spacing:.07em;
}
.fis-global-score>strong{
    color:var(--score-color);
    font-family:var(--font-condensed,sans-serif);
    font-size:39px;
    grid-row:1/3;
    grid-column:2;
    line-height:1;
    padding-left:12px;
}
.fis-global-score>small{color:#6e8293;font-size:10px;font-weight:700}
.fis-global-copy{
    align-self:center;
    padding:4px 24px;
}
.fis-global-copy strong{color:#173f60;font-size:15px}
.fis-global-copy p{
    color:#667c8e;
    font-size:11px;
    line-height:1.45;
    margin:4px 0 0;
    max-width:720px;
}
.fis-sample-warning{
    align-self:center;
    background:#fff7df;
    border-left:3px solid #d6a229;
    display:flex;
    flex-direction:column;
    gap:2px;
    max-width:250px;
    padding:9px 12px;
}
.fis-sample-warning strong{color:#79590d;font-size:11px}
.fis-sample-warning span{color:#826d3a;font-size:10px;line-height:1.35}
.fis-profile-explorer .fis-capacity-grid{
    align-items:stretch;
    background:#f4f7f9;
    display:grid;
    gap:9px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    overflow-x:auto;
    padding:12px;
}
.fis-profile-explorer .fis-capacity-card{
    border:1px solid #d9e3ea;
    border-radius:6px;
    display:flex;
    flex-direction:column;
    min-width:0;
}
.fis-profile-explorer .fis-capacity-card:last-child:nth-child(odd){grid-column:auto}
.fis-profile-explorer .fis-capacity-card-head{
    background:#f8fafb;
    border:0;
    border-top:3px solid var(--score-color);
    color:#173f60;
    min-height:102px;
    padding:11px 11px 9px;
}
.fis-profile-explorer .fis-capacity-card-head h3{color:#123f62;font-size:14px}
.fis-profile-explorer .fis-capacity-card-head p{
    color:#718394;
    display:-webkit-box;
    font-size:9px;
    line-height:1.35;
    margin-top:4px;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}
.fis-capacity-rank-button{
    cursor:pointer;
    font-family:inherit;
    text-align:left;
    width:100%;
}
.fis-capacity-rank-button:hover{background:#eef4f7}
.fis-capacity-heading-score{
    align-items:flex-end;
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
}
.fis-capacity-heading-score strong{
    color:var(--score-color);
    font-family:var(--font-condensed,sans-serif);
    font-size:24px;
    line-height:1;
}
.fis-capacity-heading-score small{color:#718394;font-size:8px;margin-top:4px;white-space:nowrap}
.fis-compact-metrics{display:flex;flex:1;flex-direction:column}
.fis-compact-metric{
    align-items:center;
    background:#fff;
    border:0;
    border-top:1px solid #e7edf2;
    color:#294e69;
    cursor:pointer;
    display:grid;
    font-family:inherit;
    gap:7px;
    grid-template-columns:minmax(0,1fr) auto;
    min-height:49px;
    padding:7px 10px;
    text-align:left;
    width:100%;
}
.fis-compact-metric:hover{background:#f2f7fa}
.fis-compact-metric.disabled{cursor:default;opacity:.62}
.fis-compact-metric-name{font-size:9.5px;font-weight:700;line-height:1.25}
.fis-compact-metric-reading{align-items:flex-end;display:flex;flex-direction:column;white-space:nowrap}
.fis-compact-metric-reading strong{color:#173f60;font-size:10px}
.fis-compact-metric-reading i{font-size:11px;font-style:normal;font-weight:900}
.fis-profile-explorer .fis-stage-footer{border-top:1px solid #dce5ed}
.fis-modal-analysis{
    align-items:stretch;
    display:grid;
    grid-template-columns:minmax(0,1fr) 285px;
}
.fis-modal-leaders{
    border-left:1px solid #dfe7ed;
    padding:12px 14px;
}
.fis-modal-leaders-title{
    align-items:flex-end;
    border-bottom:1px solid #dfe7ed;
    display:flex;
    justify-content:space-between;
    padding:0 2px 8px;
}
.fis-modal-leaders-title strong{color:#173f60;font-size:12px}
.fis-modal-leaders-title span{color:#8091a0;font-size:9px}
.fis-modal-leader{
    align-items:center;
    border-bottom:1px solid #edf1f4;
    display:grid;
    gap:8px;
    grid-template-columns:20px minmax(0,1fr) 30px;
    min-height:43px;
    padding:5px 2px;
}
.fis-modal-leader>span{color:#91a0ad;font-size:9px;text-align:center}
.fis-modal-leader>div{display:flex;flex-direction:column;min-width:0}
.fis-modal-leader strong,.fis-modal-leader small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fis-modal-leader strong{color:#234963;font-size:10px}
.fis-modal-leader small{color:#81919e;font-size:8px}
.fis-modal-leader>b{color:#147157;font-size:12px;text-align:right}
.fis-modal-leader.target{background:#edf6fb}
@media(max-width:1250px){
    .fis-profile-explorer .fis-capacity-grid{grid-template-columns:repeat(5,minmax(205px,1fr))}
    .fis-global-summary{grid-template-columns:180px minmax(0,1fr)}
    .fis-sample-warning{grid-column:1/-1;margin-top:8px;max-width:none}
}
@media(max-width:850px){
    .fis-global-summary{grid-template-columns:1fr}
    .fis-global-copy{padding:13px 2px 2px}
    .fis-modal-analysis{grid-template-columns:1fr}
    .fis-modal-leaders{border-left:0;border-top:1px solid #dfe7ed}
}

/* Match the statistical explorer: one global stage, radar, distribution and detail. */
.fis-profile-explorer .fis-stage-heading{
    align-items:center;
    background:#123f63;
    border-bottom:0;
    padding:10px 20px 13px;
    text-align:center;
}
.fis-profile-explorer .fis-stage-heading small{color:#bad5e8}
.fis-profile-explorer .fis-stage-heading h2{color:#fff;font-size:23px}
.fis-overview-grid{
    align-items:stretch;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.fis-overview-card{background:#fff;min-width:0}
.fis-overview-card+.fis-overview-card{border-left:1px solid #e5ebf0}
.fis-section-heading{
    align-items:center;
    background:#f7f9fb;
    border-bottom:1px solid #e1e8ef;
    display:flex;
    justify-content:center;
    min-height:58px;
    padding:12px 18px;
    position:relative;
    text-align:center;
}
.fis-section-heading h3{color:#174e7a;font-size:22px;margin:0}
.fis-section-heading span{color:#7b8c9c;font-size:9px;position:absolute;right:18px}
.fis-overview-radar .fis-area-radar{height:390px;min-height:390px}
.fis-overview-distribution .fis-global-summary{
    border-bottom:1px solid #e1e8ef;
    grid-template-columns:170px minmax(0,1fr);
    min-height:116px;
    padding:12px 16px;
}
.fis-overview-distribution .fis-global-copy{padding:4px 0 4px 18px}
.fis-overview-distribution .fis-global-copy p{font-size:10px}
.fis-overview-distribution .fis-sample-warning{
    grid-column:1/-1;
    margin-top:8px;
    max-width:none;
}
.fis-distribution-title{
    color:#627c91;
    font-size:10px;
    font-weight:750;
    letter-spacing:.08em;
    padding:11px 16px 0;
    text-transform:uppercase;
}
.fis-overview-distribution .opta-univariate{border-bottom:0;height:255px}
.fis-distribution-empty{color:#8193a2;font-size:11px;padding:70px 20px;text-align:center}
.fis-capacity-section-heading{
    align-items:center;
    background:#fff;
    border-top:1px solid #dce5ed;
    border-bottom:1px solid #dce5ed;
    display:flex;
    justify-content:space-between;
    padding:13px 16px 11px;
}
.fis-capacity-section-heading small{
    color:#8496a5;
    display:block;
    font-size:8px;
    font-weight:800;
    letter-spacing:.12em;
}
.fis-capacity-section-heading h3{color:#173f60;font-size:18px;margin:2px 0 0}
.fis-capacity-section-heading>span{color:#738899;font-size:10px}
@media(max-width:1050px){
    .fis-overview-grid{grid-template-columns:1fr}
    .fis-overview-card+.fis-overview-card{border-left:0;border-top:1px solid #e5ebf0}
}
@media(max-width:700px){
    .fis-section-heading span{position:static;margin-left:10px}
    .fis-capacity-section-heading{align-items:flex-start;flex-direction:column;gap:4px}
}

.fis-stage-heading {
    min-height: 48px;
    padding: 7px 18px 9px;
}
.fis-stage-heading h2 { font-size: 21px; }

.fis-context-strip {
    display: flex;
    align-items: stretch;
    justify-content: center;
    border: 0;
    border-bottom: 1px solid #e4ebf1;
    border-radius: 0;
    background: #f7f9fb;
}

.fis-context-item {
    flex: 0 1 190px;
    padding: 8px 15px;
    border-right: 1px solid #e2e9ef;
    text-align: center;
}
.fis-context-item small { margin-bottom: 1px; font-size: 8px; }
.fis-context-item strong { font-size: 12px; }

.fis-card-heading { min-height: 50px; padding: 9px 16px; }
.fis-card-heading h3 { font-size: 20px; }
.fis-profile-explorer .fis-grid {
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
}
.fis-profile-explorer .wy-radar-graph,
.fis-profile-explorer .wy-radar-graph .js-plotly-plot {
    max-height: 430px;
}
.fis-profile-explorer .fis-radar-card {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0;
}

.fis-metric-list { padding: 5px 14px 10px; }
.fis-metric-head { padding: 5px 9px; }
.fis-metric-row { min-height: 39px; padding: 5px 9px; }

.fis-stage-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 43px;
    padding: 7px 14px;
    border-top: 1px solid #e3eaf0;
    background: #f8fafc;
}

.fis-stage-footer .fis-color-key {
    flex: 0 0 auto;
    margin: 0;
}
.fis-stage-footer .fis-color-key i { width: 95px; }

.fis-stage-footer .fis-method-note {
    flex: 1 1 auto;
    justify-content: flex-end;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: right;
}
.fis-stage-footer .fis-method-secondary { margin-left: 6px; }

@media (max-width: 1050px) {
    .fis-filter-panel { align-items: flex-start; flex-direction: column; gap: 9px; }
    .fis-filter-group-position {
        width: 100%;
        padding: 9px 0 0;
        border-left: 0;
        border-top: 1px solid #dce5ed;
    }
    .fis-profile-explorer .fis-grid { grid-template-columns: 1fr; }
    .fis-stage-footer { align-items: flex-start; flex-direction: column; gap: 7px; }
    .fis-stage-footer .fis-method-note { justify-content: flex-start; text-align: left; }
}

@media (max-width: 720px) {
    .fis-filter-group { align-items: flex-start; flex-direction: column; }
    .fis-context-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fis-context-item { text-align: left; }
}

/* Selectores equivalentes a los del explorador de Estadísticas. */
.fis-filter-panel {
    display: grid;
    grid-template-columns: .75fr 1.2fr 1.2fr;
    align-items: end;
    gap: 14px;
    padding: 14px 16px;
    background: #f6f8fb;
    box-shadow: none;
}

.fis-filter-group,
.fis-filter-group-position {
    min-width: 0;
    width: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    padding: 0;
    border: 0;
}

.fis-filter-label {
    color: #496a83;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.fis-dd { width: 100%; min-width: 0; }
.fis-dd .Select-control,
.fis-dd .Select__control {
    min-height: 38px;
    border: 1px solid #ccd9e4;
    border-radius: 5px;
    background: #fff;
    box-shadow: none;
    font-size: 13px;
}
.fis-dd .Select-placeholder,
.fis-dd .Select-value-label,
.fis-dd .Select__single-value { color: #234c6d !important; }
.fis-dd .Select-menu-outer,
.fis-dd .Select__menu { z-index: 60; }

.fis-reference-pill {
    padding: 3px 7px;
    border: 1px solid #cddce7;
    border-radius: 4px;
    background: #fff;
    color: #496a83;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .fis-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .fis-filter-panel { grid-template-columns: 1fr; }
    .fis-filter-group,
    .fis-filter-group-position { width: 100%; padding: 0; border: 0; }
}

/* Ficha física: misma jerarquía visual que el explorador estadístico. */
.fis-profile-explorer .fis-overview-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    align-items: start;
}

.fis-profile-explorer .fis-section-heading-blue,
.fis-profile-explorer .fis-capacity-section-heading {
    min-height: 48px;
    padding: 9px 16px;
    border: 0;
    background: #123f63;
}

.fis-profile-explorer .fis-section-heading-blue h3,
.fis-profile-explorer .fis-capacity-section-heading h3 {
    margin: 0;
    color: #fff;
    font-size: 18px;
    letter-spacing: .01em;
}

.fis-profile-explorer .fis-heading-percentile {
    position: absolute;
    right: 15px;
    min-width: 48px;
    padding: 5px 9px;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 4px;
    background: rgba(255,255,255,.12);
    color: #fff;
    cursor: pointer;
    font-family: var(--font-condensed, sans-serif);
    font-size: 15px;
    font-weight: 800;
}

.fis-profile-explorer .fis-heading-percentile:hover {
    background: rgba(255,255,255,.22);
}

.fis-profile-explorer .fis-overview-radar .fis-area-radar,
.fis-profile-explorer .fis-overview-radar .fis-area-radar .js-plotly-plot {
    height: 455px;
    min-height: 455px;
}

.fis-profile-explorer .fis-overview-distribution .opta-univariate {
    height: 190px;
    margin: 0;
    border: 0;
}

.fis-overview-leaders {
    padding: 0 14px 10px;
    background: #fff;
}

.fis-overview-leader {
    display: grid;
    grid-template-columns: 24px minmax(0,1fr) 38px;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 4px 5px;
    border-top: 1px solid #e7edf2;
}

.fis-overview-leader > span {
    color: #8b9cab;
    font-size: 9px;
    text-align: center;
}

.fis-overview-leader > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.fis-overview-leader strong,
.fis-overview-leader small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fis-overview-leader strong { color: #214861; font-size: 10px; }
.fis-overview-leader small { color: #81919e; font-size: 8px; }
.fis-overview-leader b { color: #147157; font-size: 11px; text-align: right; }
.fis-overview-leader.target { background: #edf6fb; }

.fis-profile-explorer .fis-capacity-section-heading {
    justify-content: center;
    border-top: 1px solid #0d3452;
    text-align: center;
}

.fis-profile-explorer .fis-capacity-card-head {
    align-items: center;
    min-height: 49px;
    padding: 8px 10px;
    border: 0;
    background: #174a70;
    color: #fff;
}

.fis-profile-explorer .fis-capacity-card-head h3 {
    color: #fff;
    font-size: 13px;
}

.fis-profile-explorer .fis-capacity-heading-score {
    align-items: center;
    min-width: 43px;
    padding: 4px 6px;
    border-radius: 4px;
    background: #fff;
}

.fis-profile-explorer .fis-capacity-heading-score strong {
    color: var(--score-color);
    font-size: 19px;
}

.fis-profile-explorer .fis-capacity-heading-score small {
    margin-top: 1px;
    color: #758898;
    font-size: 6.5px;
}

.fis-profile-explorer .fis-stage-footer {
    min-height: 38px;
    padding: 5px 13px;
}

/* Modal físico compacto: cabecera azul y el gráfico ocupa el espacio útil. */
.fis-modal-box {
    width: min(760px, 94vw);
    max-width: 760px;
    padding: 0;
    overflow: hidden auto;
}

.fis-modal-box > .les-modal-close {
    z-index: 3;
    top: 10px;
    right: 10px;
    color: #fff;
}

.fis-modal-box > .les-modal-close:hover {
    background: rgba(255,255,255,.16);
    color: #fff;
}

.fis-modal-inner { padding: 0; }

.fis-modal-heading {
    min-height: 55px;
    padding: 10px 56px 10px 16px;
    border: 0;
    background: #123f63;
    align-items: center;
}

.fis-modal-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 20px;
}

.fis-modal-pct {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.fis-modal-pct strong {
    padding: 4px 7px;
    border-radius: 4px;
    background: #fff;
    font-size: 22px;
}

.fis-modal-pct span { color: #bad5e8; font-size: 7px; }

.fis-modal-context {
    gap: 5px 13px;
    padding: 7px 14px;
    border-bottom: 1px solid #dfe7ed;
    background: #f5f8fa;
    font-size: 9px;
}

.fis-modal-analysis { grid-template-columns: minmax(0,1fr) 235px; }

.fis-modal-chart {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.fis-modal-chart .opta-univariate {
    height: 190px;
    border: 0;
}

.fis-modal-leaders { padding: 8px 10px; }
.fis-modal-leaders-title { padding-bottom: 5px; }
.fis-modal-leader { min-height: 34px; padding: 3px 2px; }

.fis-modal-foot {
    display: flex;
    gap: 22px;
    margin: 0;
    padding: 8px 14px;
    border-radius: 0;
    border-top: 1px solid #dfe7ed;
    background: #f5f8fa;
}

.fis-modal-foot div strong { font-size: 13px; }

@media (max-width: 1050px) {
    .fis-profile-explorer .fis-overview-grid { grid-template-columns: 1fr; }
    .fis-profile-explorer .fis-overview-card + .fis-overview-card {
        border-left: 0;
        border-top: 1px solid #e5ebf0;
    }
}

@media (max-width: 700px) {
    .fis-modal-analysis { grid-template-columns: 1fr; }
    .fis-modal-leaders { border-left: 0; border-top: 1px solid #dfe7ed; }
}

/* Ficha física: una sola cabecera corporativa y contenido neutro. */
.fis-profile-explorer .fis-stage-heading {
    justify-content: center;
    min-height: 54px;
    padding: 10px 18px;
}

.fis-profile-explorer .fis-stage-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 25px;
    letter-spacing: .01em;
    text-align: center;
}

.fis-profile-explorer .fis-context-strip {
    border-bottom: 1px solid #dce6ed;
    background: #f5f8fa;
}

.fis-profile-explorer .fis-overview-card {
    background: #fff;
}

.fis-profile-explorer .fis-overview-label {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    padding: 7px 15px;
    border-bottom: 1px solid #e2e9ee;
    background: #fff;
}

.fis-profile-explorer .fis-overview-label h3 {
    margin: 0;
    color: #173f5e;
    font-size: 17px;
    font-weight: 750;
}

.fis-profile-explorer .fis-overview-label .fis-heading-percentile {
    position: static;
    min-width: 43px;
    padding: 3px 8px;
    border: 1px solid #cad9e4;
    background: #f5f8fa;
    color: #153f60;
    font-size: 17px;
}

.fis-profile-explorer .fis-overview-label .fis-heading-percentile:hover {
    border-color: #8eb4cd;
    background: #eaf2f7;
}

.fis-profile-explorer .fis-capacity-grid {
    gap: 10px;
    padding: 12px;
    border-top: 1px solid #dfe7ed;
    background: #f4f7f9;
}

.fis-profile-explorer .fis-capacity-card {
    overflow: hidden;
    border: 1px solid #d7e1e8;
    border-top: 3px solid var(--score-color);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(16, 54, 82, .06);
}

.fis-profile-explorer .fis-capacity-card-head {
    min-height: 58px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #e2e9ee;
    background: #fff;
    color: #153f60;
}

.fis-profile-explorer .fis-capacity-card-head:hover {
    background: #f8fafb;
}

.fis-profile-explorer .fis-capacity-card-head h3 {
    color: #153f60;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.05;
}

.fis-profile-explorer .fis-capacity-heading-score {
    min-width: 38px;
    padding: 0;
    border: 0;
    background: transparent;
}

.fis-profile-explorer .fis-capacity-heading-score strong {
    color: var(--score-color);
    font-size: 25px;
    line-height: 1;
}

.fis-profile-explorer .fis-compact-metric {
    min-height: 43px;
    padding: 7px 11px;
}

.fis-profile-explorer .fis-compact-metric-name {
    color: #294d67;
    font-size: 10.5px;
    line-height: 1.22;
}

.fis-profile-explorer .fis-overview-leader b {
    color: #147157;
    font-size: 12px;
}

/* Capacidades: cinco cabeceras propias, sin una barra general repetida. */
.fis-profile-explorer .fis-capacity-card {
    border-top: 0;
}

.fis-profile-explorer .fis-capacity-card-head {
    min-height: 58px;
    padding: 9px 12px;
    border-bottom: 0;
    background: #174a70;
    color: #fff;
}

.fis-profile-explorer .fis-capacity-card-head:hover {
    background: #123f63;
}

.fis-profile-explorer .fis-capacity-card-head h3 {
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.05;
}

.fis-profile-explorer .fis-capacity-heading-score {
    min-width: 45px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 4px;
    background: rgba(255,255,255,.12);
}

.fis-profile-explorer .fis-capacity-heading-score strong {
    color: #fff;
    font-size: 25px;
    font-weight: 850;
    line-height: 1;
}

.fis-profile-explorer .fis-compact-metrics {
    background: #fff;
}

.fis-profile-explorer .fis-compact-metric {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 48px;
    padding: 8px 12px;
    border-bottom-color: #e2e9ee;
}

.fis-profile-explorer .fis-compact-metric-name {
    color: #173f60;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.25;
}

.fis-profile-explorer .fis-compact-metric-reading {
    gap: 2px;
}

.fis-profile-explorer .fis-compact-metric-reading strong {
    color: #31556e;
    font-size: 11px;
    font-weight: 650;
}

.fis-profile-explorer .fis-compact-metric-reading i {
    min-width: 30px;
    padding: 2px 4px;
    border-radius: 3px;
    background: #f1f5f8;
    font-size: 12px;
    text-align: center;
}

/* Acabado definitivo: lectura editorial compacta, sin apariencia de panel industrial. */
.fis-profile-explorer .fis-capacity-grid {
    gap: 8px;
    padding: 10px;
    background: #f6f8fa;
}

.fis-profile-explorer .fis-capacity-card {
    border: 1px solid #dbe4ea;
    border-radius: 4px;
    box-shadow: none;
}

.fis-profile-explorer .fis-capacity-card-head {
    min-height: 42px;
    padding: 6px 10px;
    border: 0;
    border-radius: 3px 3px 0 0;
    background: #153f60;
}

.fis-profile-explorer .fis-capacity-card-head:hover {
    background: #194b70;
}

.fis-profile-explorer .fis-capacity-card-head h3 {
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: .005em;
    line-height: 1.1;
    text-overflow: ellipsis;
}

.fis-profile-explorer .fis-capacity-heading-score {
    min-width: auto;
    min-height: auto;
    padding: 0 0 0 9px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.28);
    border-radius: 0;
    background: transparent;
}

.fis-profile-explorer .fis-capacity-heading-score strong {
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    line-height: 1;
}

.fis-profile-explorer .fis-compact-metric {
    min-height: 39px;
    padding: 5px 9px;
    gap: 6px;
    border-top: 1px solid #e8edf1;
    background: #fff;
}

.fis-profile-explorer .fis-compact-metric:first-child {
    border-top: 0;
}

.fis-profile-explorer .fis-compact-metric:hover {
    background: #f5f8fa;
}

.fis-profile-explorer .fis-compact-metric-name {
    color: #294b63;
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.18;
}

.fis-profile-explorer .fis-compact-metric-reading {
    min-width: 62px;
    align-items: baseline;
    flex-direction: row;
    justify-content: flex-end;
    gap: 6px;
}

.fis-profile-explorer .fis-compact-metric-reading strong {
    color: #708493;
    font-size: 9.5px;
    font-weight: 600;
}

.fis-profile-explorer .fis-compact-metric-reading i {
    min-width: 25px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 12px;
    font-weight: 850;
    text-align: right;
}
