/* ============================================================================
   NICC · BEZ · Panel de pestañas del resumen de cumplimiento (nicc-pc-*)
   Generalidades / Acciones del proyecto / Presentación de botones / Cliente
   externo. Marcado en tpl/thread_box_config.php, comportamiento en
   scripts/plan-config.js. Tokens de css/nicc-tokens.css; azul de la paleta de
   plan-presentacion.css.
   ============================================================================ */
.nicc-pc {
    --nicc-pc-azul: #0b5d8c;
    --nicc-pc-azul-suave: #e8f1f8;
    margin: 12px 0 16px;
    font-family: var(--nicc-font);
    color: var(--nicc-ink);
    text-align: left;
}

/* ── Pestañas ───────────────────────────────────────────────────────────── */
.nicc-pc-tablist {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 1px solid var(--nicc-line);
}
.nicc-pc-tab {
    flex: none;
    min-height: 44px;
    padding: 8px 16px;
    margin-bottom: -1px;
    font: inherit;
    font-size: var(--nicc-fs-body);
    font-weight: var(--nicc-fw-medium);
    color: var(--nicc-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--nicc-radius-sm) var(--nicc-radius-sm) 0 0;
    cursor: pointer;
    white-space: nowrap;
    transition: color .2s var(--nicc-ease-out), background .2s var(--nicc-ease-out);
}
.nicc-pc-tab[aria-selected="true"] {
    color: var(--nicc-pc-azul);
    background: var(--nicc-white);
    border-color: var(--nicc-line) var(--nicc-line) var(--nicc-white);
    box-shadow: inset 0 3px 0 var(--nicc-pc-azul);
}
.nicc-pc-tab:focus-visible,
.nicc-pc-panel:focus-visible { outline: 2px solid var(--nicc-pc-azul); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
    .nicc-pc-tab:hover { color: var(--nicc-pc-azul); background: var(--nicc-pc-azul-suave); }
}

/* ── Panel ──────────────────────────────────────────────────────────────── */
.nicc-pc-panel {
    padding: var(--nicc-s4) var(--nicc-s2) var(--nicc-s2);
    max-width: 960px;
}
.nicc-pc-panel[hidden] { display: none; }
.nicc-pc-titulo {
    margin: var(--nicc-s5) 0 var(--nicc-s2);
    font-family: var(--nicc-font);
    font-size: var(--nicc-fs-3);
    font-weight: var(--nicc-fw-bold);
    color: var(--nicc-navy);
}
.nicc-pc-titulo:first-child { margin-top: 0; }
.nicc-pc-intro,
.nicc-pc-lista,
.nicc-pc-resena,
.nicc-pc-nota,
.nicc-pc-icono dd {
    font-size: var(--nicc-fs-body);
    line-height: 1.5;
    max-width: 70ch;
}
.nicc-pc-intro { margin: 0 0 var(--nicc-s3); color: var(--nicc-muted); }
.nicc-pc-lista { margin: 0; padding-left: 1.2em; }
.nicc-pc-lista li { margin-bottom: var(--nicc-s2); }

/* ── Generalidades: iconos ──────────────────────────────────────────────── */
.nicc-pc-iconos { margin: 0; display: grid; gap: var(--nicc-s2); }
.nicc-pc-icono {
    display: grid;
    grid-template-columns: minmax(150px, 190px) 1fr;
    gap: var(--nicc-s3);
    align-items: start;
    padding: var(--nicc-s3);
    background: var(--nicc-bg-soft);
    border-radius: var(--nicc-radius-sm);
}
.nicc-pc-icono dt { display: flex; align-items: center; gap: var(--nicc-s2); font-weight: var(--nicc-fw-medium); }
.nicc-pc-icono dd { margin: 0; }
.nicc-pc-ico-fila { display: inline-flex; gap: var(--nicc-s1); flex: none; }
.nicc-pc-ico { width: 24px; height: 24px; flex: none; }

/* ── Acciones: tarjetas ─────────────────────────────────────────────────── */
.nicc-pc-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--nicc-s3); }
.nicc-pc-tarjeta--ancha { grid-column: 1 / -1; }
.nicc-pc-tarjeta {
    display: flex;
    flex-direction: column;
    gap: var(--nicc-s2);
    padding: var(--nicc-s4);
    background: var(--nicc-white);
    border: 1px solid var(--nicc-line);
    border-radius: var(--nicc-radius);
}
.nicc-pc-tarjeta-titulo { margin: 0; font-family: var(--nicc-font); font-size: var(--nicc-fs-3); font-weight: var(--nicc-fw-bold); color: var(--nicc-navy); }
.nicc-pc-resena,
.nicc-pc-nota { margin: 0; }
.nicc-pc-nota { color: var(--nicc-muted); font-size: var(--nicc-fs-sm); }
.nicc-pc-boton { margin-top: auto; padding-top: var(--nicc-s2); }
.nicc-pc-boton .bds_inline_button,
.nicc-pc-boton .color-agregar-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--nicc-s2);
    box-sizing: border-box;
    width: auto;
    min-height: 44px;
    margin: 0;
    padding: 0 var(--nicc-s4);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid var(--nicc-line);
    border-radius: var(--nicc-radius-sm);
    text-shadow: none;
    transition: background .2s var(--nicc-ease-out), border-color .2s var(--nicc-ease-out), color .2s var(--nicc-ease-out);
}
.nicc-pc-boton .bds_inline_button {
    color: var(--nicc-pc-azul) !important;
    background: var(--nicc-pc-azul-suave);
    border-color: var(--nicc-pc-azul);
}
.nicc-pc-boton .bds_inline_button:hover,
.nicc-pc-boton .bds_inline_button:focus-visible {
    color: var(--nicc-white) !important;
    background: var(--nicc-pc-azul);
    box-shadow: none;
}
.nicc-pc-boton .color-agregar-btn:hover { background: var(--nicc-bg-soft); }
.nicc-pc-boton .bds_inline_button:focus-visible,
.nicc-pc-boton .color-agregar-btn:focus-visible { outline: 2px solid var(--nicc-pc-azul); outline-offset: 2px; }

/* ── Presentación: el menú de plan-presentacion.css va sin marco propio ─── */
.nicc-pc-panel .nicc-pp-menu { margin: 0; padding: 0; border: 0; box-shadow: none; }

/* ── Cliente externo ────────────────────────────────────────────────────── */
.nicc-pc .nicc-pc-grupo { width: 100%; box-sizing: border-box; margin: 0 0 var(--nicc-s4); padding: 0; border: 0; min-width: 0; text-align: left; }
.nicc-pc .nicc-pc-grupo legend {
    float: none;
    width: auto;
    text-align: left;
    padding: 0;
    margin-bottom: var(--nicc-s2);
    font-size: var(--nicc-fs-body);
    font-weight: var(--nicc-fw-bold);
    color: var(--nicc-navy);
}
.nicc-pc-opciones { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--nicc-s2); }
.nicc-pc-opcion {
    display: flex;
    align-items: center;
    gap: var(--nicc-s3);
    min-height: 44px;
    padding: var(--nicc-s2) var(--nicc-s3);
    border: 1px solid var(--nicc-line);
    border-radius: var(--nicc-radius-sm);
    font-size: var(--nicc-fs-body);
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    overflow-wrap: anywhere;
    transition: border-color .2s var(--nicc-ease-out), background .2s var(--nicc-ease-out);
}
.nicc-pc-opcion input { width: 18px; height: 18px; flex: none; accent-color: var(--nicc-pc-azul); }
.nicc-pc-opcion:has(input:checked) { background: var(--nicc-pc-azul-suave); border-color: var(--nicc-pc-azul); }
.nicc-pc-opcion:has(input:focus-visible) { outline: 2px solid var(--nicc-pc-azul); outline-offset: 2px; }
.nicc-pc-guardar-fila { display: flex; align-items: center; gap: var(--nicc-s3); flex-wrap: wrap; }

@media (max-width: 600px) {
    .nicc-pc-icono { grid-template-columns: 1fr; gap: var(--nicc-s1); }
    .nicc-pc-panel { padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .nicc-pc-tab, .nicc-pc-opcion { transition: none; }
}
