﻿
/*
 SIGCP — F1-I5-S7-005
 Identidad visual corporativa
*/

:root {
    --sigcp-navy: #142B46;
    --sigcp-navy-light: #1D3C5C;
    --sigcp-teal: #168B91;
    --sigcp-background: #F3F6FA;
    --sigcp-white: #FFFFFF;
    --sigcp-text: #26384C;
    --sigcp-muted: #708297;
    --sigcp-border: #DCE5EE;
}

body.sigcp-body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    background: var(--sigcp-background);
    color: var(--sigcp-text);
}

/* ENCABEZADO */

.sigcp-topbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    min-height: 70px;
    padding: 10px 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: var(--sigcp-navy);
    color: var(--sigcp-white);
    box-shadow: 0 2px 12px rgba(20,43,70,.14);
}

.sigcp-brand {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

    .sigcp-brand a {
        color: #FFFFFF;
        font-size: 1.35rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-decoration: none;
    }

    .sigcp-brand span {
        color: #C3D3E3;
        font-size: .75rem;
    }

.sigcp-account {
    margin-left: auto;
}

    .sigcp-account a {
        color: #FFFFFF !important;
    }

        .sigcp-account a:hover {
            color: #6DE0DF !important;
        }

    .sigcp-account ul {
        margin: 0;
        list-style: none;
    }

/* ESTRUCTURA */

.sigcp-shell {
    display: flex;
    min-height: calc(100vh - 70px);
}

.sigcp-sidebar {
    width: 258px;
    flex: 0 0 258px;
    padding: 18px 12px;
    background: #FFFFFF;
    border-right: 1px solid var(--sigcp-border);
}

.sigcp-main {
    flex: 1;
    min-width: 0;
}

.sigcp-content {
    max-width: 1600px;
    margin: 0 auto;
    padding: 28px 30px;
}

/* MENÚ */

.sigcp-menu-label {
    padding: 18px 12px 7px;
    color: var(--sigcp-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.sigcp-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 2px 0;
    padding: 11px 12px;
    border-radius: 9px;
    color: #30465D;
    font-weight: 500;
    text-decoration: none;
    transition: background .15s, color .15s;
}

    .sigcp-nav-link:hover,
    .sigcp-nav-link:focus {
        background: #E8F5F6;
        color: #126F77;
        text-decoration: none;
    }

    .sigcp-nav-link.activo {
        background: #DFF1F2;
        color: #126F77;
        font-weight: 700;
        border-left: 3px solid var(--sigcp-teal);
    }

.sigcp-nav-icon {
    width: 20px;
    text-align: center;
    font-size: 18px;
}

/* CONTENIDO */

.sigcp-content .panel,
.sigcp-content .card {
    background: #FFFFFF;
    border: 1px solid var(--sigcp-border);
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(20,43,70,.05);
}

.sigcp-content .btn-primary {
    background: var(--sigcp-navy-light);
    border-color: var(--sigcp-navy-light);
}

    .sigcp-content .btn-primary:hover {
        background: var(--sigcp-navy);
        border-color: var(--sigcp-navy);
    }

.sigcp-content input,
.sigcp-content select,
.sigcp-content textarea {
    max-width: 100%;
}

.sigcp-content .table {
    background: #FFFFFF;
}

    .sigcp-content .table thead {
        background: #EDF2F7;
    }

/* PIE DE PÁGINA */

.sigcp-footer {
    margin-top: 40px;
    padding: 18px 0;
    color: var(--sigcp-muted);
    border-top: 1px solid var(--sigcp-border);
    font-size: .85rem;
}

/* RESPONSIVE */

.sigcp-menu-toggle {
    display: none;
    padding: 5px 12px;
    background: transparent;
    color: #FFFFFF;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 6px;
    font-size: 1.25rem;
}

@media (max-width: 850px) {

    .sigcp-topbar {
        flex-wrap: wrap;
    }

    .sigcp-brand span {
        max-width: 210px;
    }

    .sigcp-menu-toggle {
        display: block;
        margin-left: auto;
    }

    .sigcp-account {
        width: 100%;
        margin-left: 0;
    }

    .sigcp-sidebar {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        z-index: 1020;
        max-height: calc(100vh - 70px);
        overflow: auto;
        box-shadow: 4px 10px 20px rgba(20,43,70,.15);
    }

        .sigcp-sidebar.sigcp-open {
            display: block;
        }

    .sigcp-content {
        padding: 18px 14px;
    }
}


/*
 SIGCP — F1-I5-S7-013
 Navegación corporativa jerárquica
*/

.sigcp-nav-group {
    margin: 3px 0;
}

.sigcp-nav-group-title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 9px;
    color: #30465d;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
    transition: background .15s ease;
}

/* Ocultar marcador nativo del elemento details */

.sigcp-nav-group-title {
    list-style-type: none;
}

    /* El indicador visual se controla con
   la clase sigcp-nav-chevron */

    .sigcp-nav-group-title:hover,
    .sigcp-nav-group-title:focus-visible {
        background: #e8f5f6;
        color: #126f77;
    }

.sigcp-nav-group[open] > .sigcp-nav-group-title {
    background: #f0f6f9;
    color: #142b46;
}

.sigcp-nav-group-title > span:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.sigcp-nav-chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid #708297;
    border-bottom: 2px solid #708297;
    transform: rotate(45deg);
    transition: transform .15s ease;
}

.sigcp-nav-group[open] .sigcp-nav-chevron {
    transform: rotate(225deg);
}

.sigcp-nav-submenu {
    margin: 3px 0 8px 20px;
    padding-left: 10px;
    border-left: 1px solid #dce5ee;
}

    .sigcp-nav-submenu .sigcp-nav-link {
        font-size: 13px;
        padding: 10px 12px;
    }

.sigcp-nav-hint {
    margin: 8px 6px;
    padding: 9px 10px;
    border-radius: 7px;
    background: #f3f6fa;
    color: #708297;
    font-size: 11px;
    line-height: 1.6;
}

.sigcp-nav-group-title:focus-visible,
.sigcp-nav-submenu a:focus-visible {
    outline: 2px solid #168b91;
    outline-offset: 2px;
}

@media (max-width: 850px) {
    .sigcp-nav-group-title {
        padding: 13px 12px;
    }

    .sigcp-nav-submenu .sigcp-nav-link {
        padding: 12px;
    }
}
/* =====================================================
   SIGCP - F1-I5-S8-003E.8E
   ESTANDARIZACIÓN CORPORATIVA DE TABLAS
   ===================================================== */

/* SIGCP - Sistema de diseño corporativo
   Tablas, estados y acciones
   Versión F1-I5-S8-003E.8E */

:root {
    --sigcp-primary: #142e4c;
    --sigcp-primary-hover: #20466c;
    --sigcp-border: #e1e7ef;
    --sigcp-background: #f4f7fb;
    --sigcp-muted: #64748b;
    --sigcp-row-hover: #edf4fa;
}

/* Contenedor de tabla */

.sigcp-table-container {
    border: 1px solid var(--sigcp-border);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.sigcp-table-scroll {
    width: 100%;
    overflow-x: auto;
}

/* Tabla corporativa */

.sigcp-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.875rem;
}

    .sigcp-table thead th {
        background-color: var(--sigcp-primary);
        color: #fff;
        font-size: 0.78rem;
        font-weight: 600;
        letter-spacing: 0.025em;
        padding: 14px 15px;
        border: 0;
        white-space: nowrap;
        vertical-align: middle;
    }

    .sigcp-table tbody td {
        padding: 13px 15px;
        color: #24364a;
        border-bottom: 1px solid var(--sigcp-border);
        vertical-align: middle;
        background-color: #fff;
    }

    .sigcp-table tbody tr:nth-child(even) td {
        background-color: #f8fafc;
    }

    .sigcp-table tbody tr:hover td {
        background-color: var(--sigcp-row-hover);
    }

    .sigcp-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .sigcp-table .sigcp-cell-id {
        font-weight: 600;
        color: var(--sigcp-muted);
        font-variant-numeric: tabular-nums;
    }

    .sigcp-table .sigcp-cell-primary {
        font-weight: 600;
        color: var(--sigcp-primary);
    }

    .sigcp-table .sigcp-cell-actions {
        text-align: right;
        white-space: nowrap;
    }

/* Estados */

.sigcp-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

    .sigcp-status::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: currentColor;
    }

.sigcp-status-active {
    background: #e6f4ea;
    color: #17683a;
}

.sigcp-status-inactive {
    background: #edf0f4;
    color: #596779;
}

.sigcp-status-pending {
    background: #fff3d6;
    color: #875a00;
}

.sigcp-status-suspended {
    background: #fff0e5;
    color: #a24a13;
}

.sigcp-status-retired {
    background: #f0e9eb;
    color: #87434d;
}

/* Botones de acciones en tablas */

.sigcp-table-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: 7px;
}

.sigcp-btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.sigcp-btn-primary {
    background: var(--sigcp-primary);
    color: #fff;
    border: 1px solid var(--sigcp-primary);
}

    .sigcp-btn-primary:hover {
        background: var(--sigcp-primary-hover);
        color: #fff;
    }

.sigcp-btn-danger {
    background: #fff;
    color: #b42332;
    border: 1px solid #dc9ca5;
}

    .sigcp-btn-danger:hover {
        background: #b42332;
        border-color: #b42332;
        color: #fff;
    }

.sigcp-btn-action:focus-visible {
    outline: 3px solid #80b9f4;
    outline-offset: 2px;
}

/* Pie de tabla */

.sigcp-table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #f8fafc;
    border-top: 1px solid var(--sigcp-border);
    color: var(--sigcp-muted);
    font-size: 0.82rem;
}

/* Adaptación a pantallas pequeñas */

@media (max-width: 768px) {
    .sigcp-table {
        min-width: 850px;
    }

        .sigcp-table thead th,
        .sigcp-table tbody td {
            padding: 11px 12px;
        }
}


/* ===================================================
   SIGCP - F1-I5-S8-003E.8H
   TARJETAS CORPORATIVAS
   =================================================== */

:root {
    --sigcp-card-accent: #173b61;
    --sigcp-card-border: #e3eaf2;
    --sigcp-card-muted: #687b90;
}

/* Contenedor principal */

.sigcp-card {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--sigcp-card-border);
    border-radius: 12px;
    box-shadow: 0 3px 8px rgba(15, 38, 65, 0.025), 0 12px 28px rgba(15, 38, 65, 0.035);
    overflow: hidden;
    margin-bottom: 22px;
}

    /* Acento institucional superior */

    .sigcp-card::before {
        content: "";
        display: block;
        height: 3px;
        background: var(--sigcp-card-accent);
    }

/* Encabezado */

.sigcp-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 19px 22px;
    border-bottom: 1px solid #edf1f6;
    background: #ffffff;
}

.sigcp-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.sigcp-card-icon {
    width: 39px;
    height: 39px;
    flex-shrink: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    background: #eaf0f7;
    color: #173b61;
    font-size: 17px;
}

.sigcp-card-title {
    margin: 0;
    color: #183451;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}

.sigcp-card-subtitle {
    margin: 3px 0 0;
    color: var(--sigcp-card-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

/* Contenido */

.sigcp-card-body {
    padding: 22px;
}

/* Pie */

.sigcp-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px 22px;
    border-top: 1px solid #edf1f6;
    background: #fbfcfe;
    font-size: 0.85rem;
}

/* Insignia de contador */

.sigcp-card-counter {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px;
    border-radius: 999px;
    background: #edf2f8;
    color: #274768;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

/* Tarjetas pequeñas de indicadores */

.sigcp-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.sigcp-stat {
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #e7edf4;
    border-radius: 9px;
}

.sigcp-stat-value {
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
    color: #173b61;
    font-variant-numeric: tabular-nums;
}

.sigcp-stat-label {
    margin-top: 5px;
    color: #64748b;
    font-size: 0.77rem;
}

/* Ajustes de formularios dentro de tarjetas */

.sigcp-card .form-label {
    color: #30445c;
    font-size: 0.83rem;
    font-weight: 600;
}

.sigcp-card .form-control,
.sigcp-card .form-select {
    border-color: #d8e2ec;
    border-radius: 7px;
    min-height: 38px;
}

    .sigcp-card .form-control:focus,
    .sigcp-card .form-select:focus {
        border-color: #5a83ab;
        box-shadow: 0 0 0 3px rgba(23, 59, 97, 0.10);
    }

/* Responsive */

@media (max-width: 768px) {
    .sigcp-card-header,
    .sigcp-card-body,
    .sigcp-card-footer {
        padding: 16px;
    }

    .sigcp-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* SIGCP - F1-I5-S8-003E.8I
   Cuatro indicadores corporativos */

.sigcp-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 992px) {
    .sigcp-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .sigcp-stat-grid {
        grid-template-columns: 1fr;
    }
}

/* SIGCP PersonaCampana — capa visual aditiva, sin cambios de lógica. */
.sigcp-camp-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 18px
}

    .sigcp-camp-header h2 {
        margin: 3px 0 7px;
        color: #142e4c;
        font-size: 1.8rem;
        font-weight: 700
    }

    .sigcp-camp-header p {
        margin: 0;
        color: #64748b
    }

.sigcp-camp-eyebrow {
    display: block;
    font-size: .77rem;
    letter-spacing: .07em;
    font-weight: 700;
    color: #64748b
}

.sigcp-camp-header-actions, .sigcp-camp-footer, .sigcp-camp-links {
    display: flex;
    gap: 9px;
    align-items: center;
    flex-wrap: wrap
}

.sigcp-camp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 7px;
    border: 1px solid transparent;
    text-decoration: none !important;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
    transition: background .15s,border-color .15s,color .15s
}

.sigcp-camp-btn-primary {
    background: #142e4c;
    color: #fff !important;
    border-color: #142e4c
}

    .sigcp-camp-btn-primary:hover {
        background: #20466c;
        border-color: #20466c
    }

.sigcp-camp-btn-secondary, .sigcp-camp-btn-outline {
    background: #fff;
    color: #294766 !important;
    border-color: #aab9ca
}

    .sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
        background: #edf4fa
    }

.sigcp-camp-btn-danger {
    background: #fff;
    color: #b42332 !important;
    border-color: #dc9ca5
}

    .sigcp-camp-btn-danger:hover {
        background: #b42332;
        color: #fff !important
    }

.sigcp-camp-btn:focus-visible {
    outline: 3px solid #80b9f4;
    outline-offset: 2px
}

.sigcp-camp-card {
    margin-bottom: 22px
}

.sigcp-camp-table-wrap {
    width: 100%;
    overflow-x: auto
}

.sigcp-camp-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: .875rem
}

    .sigcp-camp-table thead th {
        background: #142e4c;
        color: #fff;
        font-weight: 600;
        font-size: .78rem;
        letter-spacing: .02em;
        padding: 14px 15px;
        text-align: left;
        white-space: nowrap
    }

    .sigcp-camp-table tbody td {
        padding: 13px 15px;
        border-bottom: 1px solid #e1e7ef;
        vertical-align: middle;
        overflow-wrap: anywhere
    }

    .sigcp-camp-table tbody tr:nth-child(even) {
        background: #f8fafc
    }

    .sigcp-camp-table tbody tr:hover {
        background: #edf4fa
    }

    .sigcp-camp-table tbody tr:last-child td {
        border-bottom: 0
    }

    .sigcp-camp-table td:last-child {
        white-space: nowrap
    }

.sigcp-camp-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap
}

    .sigcp-camp-status:before {
        content: '';
        height: 7px;
        width: 7px;
        background: currentColor;
        border-radius: 50%
    }

.sigcp-camp-status-active {
    background: #e6f4ea;
    color: #17683a
}

.sigcp-camp-status-history {
    background: #edf0f4;
    color: #596779
}

.sigcp-camp-form label {
    font-weight: 600;
    color: #30445c;
    font-size: .84rem
}

.sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
    max-width: 100%;
    border-color: #d8e2ec;
    border-radius: 7px
}

    .sigcp-camp-form input:focus, .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
        border-color: #5a83ab;
        box-shadow: 0 0 0 3px rgba(23,59,97,.1)
    }

.sigcp-camp-details {
    line-height: 1.7
}

.sigcp-camp-footer {
    margin-top: 16px
}

@media(max-width:768px) {
    .sigcp-camp-header {
        align-items: stretch
    }

    .sigcp-camp-header-actions {
        width: 100%
    }

    .sigcp-camp-table {
        min-width: 780px
    }
}
/* SIGCP · Detalle del usuario · estilos locales y corporativos */
.sigcp-usuario-detalle .sigcp-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 9px;
    background: #eaf0f7;
    color: #183b63;
}

    .sigcp-usuario-detalle .sigcp-card-icon svg {
        width: 19px;
        height: 19px;
        display: block;
    }

.sigcp-usuario-detalle .sigcp-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sigcp-usuario-detalle .sigcp-card-body > .row.g-4 {
    row-gap: 22px !important;
}

    .sigcp-usuario-detalle .sigcp-card-body > .row.g-4 > div {
        line-height: 1.5;
    }

    .sigcp-usuario-detalle .sigcp-card-body > .row.g-4 .text-muted.small {
        margin-bottom: 5px;
    }

.sigcp-usuario-detalle .sigcp-card-body .btn.btn-sm {
    padding: 6px 11px;
    font-size: 12px;
    line-height: 1.4;
    border-radius: 5px;
}

.sigcp-usuario-detalle .sigcp-ud-role-state,
.sigcp-usuario-detalle .sigcp-ud-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

    .sigcp-usuario-detalle .sigcp-ud-role-state::before,
    .sigcp-usuario-detalle .sigcp-ud-status::before {
        content: "";
        width: 6px;
        height: 6px;
        min-width: 6px;
        border-radius: 50%;
        background: currentColor;
    }

.sigcp-usuario-detalle .sigcp-ud-role-state--active {
    background: #e6f5ec;
    color: #08703c;
}

.sigcp-usuario-detalle .sigcp-ud-role-state--inactive {
    background: #eef1f5;
    color: #617187;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-active {
    background: #e6f5ec;
    color: #08703c;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-inactive,
.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-retired {
    background: #eef1f5;
    color: #617187;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-pending {
    background: #fff2d6;
    color: #956000;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-suspended {
    background: #fce8e8;
    color: #aa2833;
}
/* SIGCP · Detalle del usuario · estilos locales y corporativos */
.sigcp-usuario-detalle .sigcp-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 9px;
    background: #eaf0f7;
    color: #183b63;
}

    .sigcp-usuario-detalle .sigcp-card-icon svg {
        width: 19px;
        height: 19px;
        display: block;
    }

.sigcp-usuario-detalle .sigcp-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sigcp-usuario-detalle .sigcp-card-body .btn.btn-sm {
    padding: 6px 11px;
    font-size: 12px;
    line-height: 1.4;
    border-radius: 5px;
}

.sigcp-usuario-detalle .sigcp-ud-role-state,
.sigcp-usuario-detalle .sigcp-ud-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

    .sigcp-usuario-detalle .sigcp-ud-role-state::before,
    .sigcp-usuario-detalle .sigcp-ud-status::before {
        content: "";
        width: 6px;
        height: 6px;
        min-width: 6px;
        border-radius: 50%;
        background: currentColor;
    }

.sigcp-usuario-detalle .sigcp-ud-role-state--active {
    background: #e6f5ec;
    color: #08703c;
}

.sigcp-usuario-detalle .sigcp-ud-role-state--inactive {
    background: #eef1f5;
    color: #617187;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-active {
    background: #e6f5ec;
    color: #08703c;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-inactive,
.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-retired {
    background: #eef1f5;
    color: #617187;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-pending {
    background: #fff2d6;
    color: #956000;
}

.sigcp-usuario-detalle .sigcp-ud-status.sigcp-status-suspended {
    background: #fce8e8;
    color: #aa2833;
}

/* Ajuste 02: divisores horizontales, sin aumentar el espacio entre campos. */
.sigcp-usuario-detalle .sigcp-card-body > .row.g-4 {
    --bs-gutter-y: 0;
}

    .sigcp-usuario-detalle .sigcp-card-body > .row.g-4 > .col-md-6 {
        padding-top: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid #e6edf4;
    }

        .sigcp-usuario-detalle .sigcp-card-body > .row.g-4 > .col-md-6:nth-last-child(-n+2) {
            border-bottom: 0;
        }
/* Encabezados azul corporativo con esquinas superiores redondeadas. */
.sigcp-usuario-detalle .sigcp-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

    .sigcp-usuario-detalle .sigcp-table thead th:first-child {
        border-top-left-radius: 8px;
    }

    .sigcp-usuario-detalle .sigcp-table thead th:last-child {
        border-top-right-radius: 8px;
    }

/* SIGCP - Detalle de usuario
   Ajuste compacto de información general */

.sigcp-usuario-detalle .sigcp-detalle-grid > *,
.sigcp-usuario-detalle .sigcp-detail-grid > * {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Alternativa para filas organizadas con Bootstrap */
.sigcp-usuario-detalle .sigcp-info-row {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* PERSONA 360 CONSOLIDADO */
/* SIGCP · Personas 360 · Migración visual aditiva.
   Requiere sigcp-corporativo.css; no modifica reglas globales. */
.sigcp-p360-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    margin: 0 0 22px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--sigcp-border,#dce5ee)
}

.sigcp-p360-eyebrow {
    display: block;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
    color: var(--sigcp-muted,#708297);
    margin-bottom: 5px
}

.sigcp-p360-title {
    font-size: 1.65rem;
    font-weight: 750;
    line-height: 1.25;
    color: var(--sigcp-navy,#142b46);
    margin: 0
}

.sigcp-p360 {
    color: var(--sigcp-text,#26384c)
}

    .sigcp-p360 .sigcp-card, .sigcp-p360-form-panel {
        background: #fff;
        border: 1px solid var(--sigcp-border,#dce5ee);
        border-radius: 12px;
        box-shadow: 0 4px 18px rgba(20,43,70,.055);
        margin-bottom: 20px;
        overflow: hidden
    }

        .sigcp-p360 .sigcp-card::before {
            content: "";
            display: block;
            height: 3px;
            background: var(--sigcp-navy,#142b46)
        }

    .sigcp-p360 .sigcp-card-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
        padding: 16px 20px;
        background: #fff;
        border-bottom: 1px solid #edf1f6;
        font-weight: 700;
        color: #183451
    }

    .sigcp-p360 .sigcp-card-body {
        padding: 20px
    }

    .sigcp-p360 .sigcp-card-footer {
        padding: 14px 20px;
        background: #fbfcfe;
        border-top: 1px solid #edf1f6
    }

    .sigcp-p360 .sigcp-card .card-title {
        font-size: 1rem;
        font-weight: 700;
        color: #183451
    }

    .sigcp-p360 .form-group {
        margin-bottom: 16px
    }

        .sigcp-p360 .form-group > label, .sigcp-p360 .control-label, .sigcp-p360 label.form-label {
            font-weight: 650;
            color: #30445c;
            font-size: .85rem;
            margin-bottom: 6px
        }

    .sigcp-p360 input.form-control, .sigcp-p360 select.form-control, .sigcp-p360 textarea.form-control, .sigcp-p360 .form-select {
        max-width: 100%;
        border: 1px solid #d8e2ec;
        border-radius: 7px;
        min-height: 38px
    }

    .sigcp-p360 textarea.form-control {
        min-height: 84px
    }

    .sigcp-p360 .form-control:focus, .sigcp-p360 .form-select:focus {
        border-color: #5a83ab;
        box-shadow: 0 0 0 3px rgba(23,59,97,.10)
    }

    .sigcp-p360 .sigcp-table-scroll {
        overflow-x: auto;
        width: 100%
    }

    .sigcp-p360 .sigcp-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: .875rem
    }

        .sigcp-p360 .sigcp-table thead th {
            background: var(--sigcp-primary,#142e4c);
            color: #fff;
            padding: 12px 14px;
            font-size: .78rem;
            font-weight: 650;
            vertical-align: middle;
            white-space: nowrap;
            border: 0
        }

        .sigcp-p360 .sigcp-table tbody td {
            padding: 11px 14px;
            vertical-align: middle;
            border-bottom: 1px solid #e1e7ef;
            color: #24364a
        }

        .sigcp-p360 .sigcp-table tbody tr:nth-child(even) {
            background: #f8fafc
        }

        .sigcp-p360 .sigcp-table tbody tr:hover {
            background: #edf4fa
        }

    .sigcp-p360 .btn, .sigcp-p360-button {
        font-size: .8rem;
        font-weight: 600;
        border-radius: 6px;
        line-height: 1.35
    }

        .sigcp-p360 .btn.btn-sm {
            padding: 6px 11px;
            font-size: .78rem
        }

    .sigcp-p360 .btn-primary {
        background: var(--sigcp-navy,#142b46);
        border-color: var(--sigcp-navy,#142b46)
    }

        .sigcp-p360 .btn-primary:hover {
            background: #20466c;
            border-color: #20466c
        }

    .sigcp-p360 .btn-danger {
        background: #fff;
        color: #b42332;
        border-color: #dc9ca5
    }

        .sigcp-p360 .btn-danger:hover {
            background: #b42332;
            border-color: #b42332;
            color: #fff
        }

    .sigcp-p360 .btn:disabled {
        cursor: not-allowed;
        opacity: .5
    }

    .sigcp-p360 .alert {
        border-radius: 9px;
        font-size: .875rem
    }

    .sigcp-p360 dl dt {
        color: #52667c;
        font-weight: 650
    }

    .sigcp-p360 dl dd {
        color: #24364a
    }

    .sigcp-p360 .field-validation-error, .sigcp-p360 .validation-summary-errors {
        font-size: .82rem
    }

@media(max-width:768px) {
    .sigcp-p360-header {
        align-items: stretch
    }

    .sigcp-p360-title {
        font-size: 1.4rem
    }

    .sigcp-p360 .sigcp-card-body {
        padding: 16px
    }

    .sigcp-p360 .sigcp-table {
        min-width: 650px
    }
}

/* P360 · Formularios compactos, 2 campos por fila y tarjeta contextual.
   CSS separado de Razor, sin cambiar nombres ni valores de controles. */
.sigcp-p360-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
    gap: 20px;
    align-items: start;
}

    .sigcp-p360-workspace > .sigcp-p360-form-panel {
        min-width: 0;
        margin: 0
    }

    .sigcp-p360-workspace .sigcp-card-body {
        padding: 18px 20px
    }

    .sigcp-p360-workspace form,
    .sigcp-p360-workspace form .form-horizontal,
    .sigcp-p360-workspace form #bloqueUbicacionIdentificada {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px 18px;
        align-items: start;
    }

        .sigcp-p360-workspace form > *,
        .sigcp-p360-workspace form .form-horizontal > *,
        .sigcp-p360-workspace form #bloqueUbicacionIdentificada > * {
            grid-column: 1/-1;
            min-width: 0
        }

        .sigcp-p360-workspace form > .form-group,
        .sigcp-p360-workspace form .form-horizontal > .form-group,
        .sigcp-p360-workspace form #bloqueUbicacionIdentificada > .form-group {
            grid-column: auto
        }

    .sigcp-p360-workspace .form-group {
        margin: 0;
        min-width: 0
    }

        .sigcp-p360-workspace .form-group > .form-control,
        .sigcp-p360-workspace .form-group > .form-select,
        .sigcp-p360-workspace .form-group > select,
        .sigcp-p360-workspace .form-group > input:not([type=checkbox]):not([type=radio]),
        .sigcp-p360-workspace .form-group > textarea {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box
        }

        .sigcp-p360-workspace .form-group textarea {
            resize: vertical
        }

        .sigcp-p360-workspace .form-group:has(textarea) {
            grid-column: 1/-1
        }

        .sigcp-p360-workspace .form-group:has(.checkbox) {
            grid-column: 1/-1
        }

        .sigcp-p360-workspace .form-group.mt-3,
        .sigcp-p360-workspace form > .mt-3,
        .sigcp-p360-workspace form .form-horizontal > .mt-3 {
            grid-column: 1/-1
        }

    .sigcp-p360-workspace form .sigcp-card {
        grid-column: 1/-1;
        margin-bottom: 0
    }

        .sigcp-p360-workspace form .sigcp-card .sigcp-card-body {
            display: grid;
            grid-template-columns: repeat(2,minmax(0,1fr));
            gap: 12px 18px
        }

            .sigcp-p360-workspace form .sigcp-card .sigcp-card-body > .form-group {
                grid-column: auto
            }

            .sigcp-p360-workspace form .sigcp-card .sigcp-card-body > :not(.form-group) {
                grid-column: 1/-1
            }

.sigcp-p360-aside {
    position: sticky;
    top: 90px;
    min-width: 0
}

.sigcp-p360-aside-card {
    padding: 22px;
    border: 1px solid var(--sigcp-border,#dce5ee);
    border-radius: 12px;
    background: linear-gradient(160deg,#f9fbfe 0%,#eef4f9 100%);
    box-shadow: 0 4px 16px rgba(20,43,70,.045);
}

.sigcp-p360-aside-kicker {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    color: var(--sigcp-teal,#168b91)
}

.sigcp-p360-aside h3 {
    font-size: 1.13rem;
    font-weight: 750;
    line-height: 1.35;
    color: var(--sigcp-navy,#142b46);
    margin: 10px 0
}

.sigcp-p360-aside p {
    font-size: .86rem;
    line-height: 1.65;
    color: #536980;
    margin: 0
}

.sigcp-p360-aside-note {
    border-top: 1px solid #d8e3ee;
    margin-top: 18px;
    padding-top: 15px
}

    .sigcp-p360-aside-note strong {
        display: block;
        font-size: .8rem;
        color: #183451;
        margin-bottom: 7px
    }

@media(max-width:1100px) {
    .sigcp-p360-workspace {
        grid-template-columns: minmax(0,1fr)
    }

    .sigcp-p360-aside {
        position: static
    }
}

@media(max-width:620px) {
    .sigcp-p360-workspace form,
    .sigcp-p360-workspace form .form-horizontal,
    .sigcp-p360-workspace form #bloqueUbicacionIdentificada,
    .sigcp-p360-workspace form .sigcp-card .sigcp-card-body {
        grid-template-columns: minmax(0,1fr)
    }
}

/* P360 - navegación horizontal, distintivos y encabezados institucionales */
.sigcp-p360-eyebrow {
    color: var(--sigcp-teal,#168b91);
    font-weight: 800;
    letter-spacing: .1em
}

.sigcp-p360-tabs {
    margin: 0 0 20px;
    background: #fff;
    border: 1px solid #dce5ee;
    border-radius: 11px;
    box-shadow: 0 3px 12px rgba(20,43,70,.045);
    overflow: hidden
}

.sigcp-p360-tabs-scroll {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: thin
}

.sigcp-p360-tab {
    flex: 1 0 auto;
    text-align: center;
    padding: 14px 16px;
    border-bottom: 3px solid transparent;
    text-decoration: none !important;
    color: #425b75;
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
    transition: background .16s,color .16s,border-color .16s
}

    .sigcp-p360-tab:hover, .sigcp-p360-tab:focus-visible {
        background: #eaf4f6;
        color: #126f77
    }

    .sigcp-p360-tab.is-active {
        background: #e3f2f3;
        color: #126f77;
        border-bottom-color: #168b91
    }

.sigcp-p360-section {
    scroll-margin-top: 160px
}

.sigcp-p360-general .sigcp-card-header {
    border-bottom: 1px solid #edf1f6
}

.sigcp-p360-general .sigcp-card-icon {
    font-size: 18px
}

.sigcp-p360-general .sigcp-card-body {
    padding: 18px 22px
}

.sigcp-p360 .sigcp-table thead th:first-child {
    border-top-left-radius: 9px
}

.sigcp-p360 .sigcp-table thead th:last-child {
    border-top-right-radius: 9px
}

.sigcp-p360 .sigcp-table {
    border-collapse: separate;
    border-spacing: 0
}

.sigcp-p360 .sigcp-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap
}

    .sigcp-p360 .sigcp-status::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: currentColor
    }

.sigcp-p360 .sigcp-status-active {
    background: #e6f4ea;
    color: #17683a
}

.sigcp-p360 .sigcp-status-inactive {
    background: #edf0f4;
    color: #596779
}

.sigcp-p360-required {
    color: #b42332;
    font-weight: 800;
    margin-left: 4px
}

.sigcp-p360-required-label {
    display: inline-flex;
    align-items: baseline;
    gap: 2px
}

@media(max-width:768px) {
    .sigcp-p360-tab {
        padding: 12px 14px;
        flex: 0 0 auto
    }
}

/* P360 · Tarjeta única y navegación horizontal institucional */
.sigcp-p360-module-card {
    background: #fff;
    border: 1px solid var(--sigcp-border,#dce5ee);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(20,43,70,.05);
    margin: 16px 0
}

    .sigcp-p360-module-card .sigcp-p360-tabs {
        background: var(--sigcp-navy,#142b46);
        border-radius: 11px 11px 0 0;
        padding: 0 10px;
        margin: 0;
        border: 0
    }

    .sigcp-p360-module-card .sigcp-p360-tabs-scroll {
        display: flex;
        overflow-x: auto;
        gap: 4px;
        scrollbar-width: thin
    }

    .sigcp-p360-module-card .sigcp-p360-tab {
        color: #e7eff8 !important;
        background: transparent;
        border: 0;
        border-radius: 8px 8px 0 0;
        padding: 15px 17px;
        white-space: nowrap;
        font-size: .82rem;
        font-weight: 650;
        text-decoration: none;
        transition: background .15s,color .15s
    }

        .sigcp-p360-module-card .sigcp-p360-tab:hover {
            background: #e7edf3;
            color: #142b46 !important
        }

        .sigcp-p360-module-card .sigcp-p360-tab.is-active {
            background: #edf1f5;
            color: #142b46 !important;
            box-shadow: inset 0 -3px 0 #168b91
        }

        .sigcp-p360-module-card .sigcp-p360-tab:focus-visible {
            outline: 2px solid #168b91;
            outline-offset: -3px
        }

    .sigcp-p360-module-card .sigcp-p360-section {
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin: 0 !important
    }

        .sigcp-p360-module-card .sigcp-p360-section::before {
            display: none !important
        }

        .sigcp-p360-module-card .sigcp-p360-section > .sigcp-card-header {
            border-radius: 0;
            padding: 18px 20px
        }

        .sigcp-p360-module-card .sigcp-p360-section[hidden] {
            display: none !important
        }

.sigcp-p360-section-overview {
    padding: 18px 20px 0
}

.sigcp-p360-context {
    border: 1px solid #dfe7f0;
    border-left: 3px solid #168b91;
    background: #f7f9fc;
    border-radius: 8px;
    padding: 12px 15px
}

    .sigcp-p360-context strong {
        display: block;
        font-size: .84rem;
        color: #173b61;
        margin-bottom: 4px
    }

    .sigcp-p360-context p {
        margin: 0;
        font-size: .82rem;
        color: #617187
    }

.sigcp-p360-person-icon svg {
    width: 21px;
    height: 21px;
    display: block
}

@media(max-width:768px) {
    .sigcp-p360-module-card .sigcp-p360-tab {
        padding: 13px 12px
    }

    .sigcp-p360-section-overview {
        padding: 14px 14px 0
    }
}

/* P360: corrección de acciones y tarjetas anidadas */
.sigcp-p360-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

    .sigcp-p360-header-actions .btn {
        font-size: .78rem;
        padding: 6px 11px;
        white-space: nowrap
    }

.sigcp-p360-form-fields, .sigcp-p360-form-fields-body {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important
}

    .sigcp-p360-form-fields::before, .sigcp-p360-form-fields-body::before {
        display: none !important
    }

.sigcp-p360-workspace form .sigcp-p360-form-fields {
    grid-column: 1/-1
}

.sigcp-p360-workspace form .sigcp-p360-form-fields-body {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px 18px
}

    .sigcp-p360-workspace form .sigcp-p360-form-fields-body > .form-group {
        grid-column: auto
    }

    .sigcp-p360-workspace form .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px 18px
    }

    .sigcp-p360-workspace form .sigcp-p360-form-fields-body > :not(.form-group):not(#bloqueUbicacionIdentificada) {
        grid-column: 1/-1
    }

.sigcp-p360-workspace form .mt-3 {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start
}

    .sigcp-p360-workspace form .mt-3 > .btn, .sigcp-p360-workspace form .mt-3 > button, .sigcp-p360-workspace form .mt-3 > a {
        display: inline-flex !important;
        width: auto !important;
        max-width: max-content !important;
        flex: 0 0 auto !important;
        padding: 6px 13px !important;
        font-size: .8rem !important;
        min-height: 32px !important
    }

@media(max-width:620px) {
    .sigcp-p360-workspace form .sigcp-p360-form-fields-body, .sigcp-p360-workspace form .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada {
        grid-template-columns: 1fr
    }
}

/* Panel MVC integrado: sin tarjetas anidadas ni botones extendidos */
.sigcp-p360-panel-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 14px 18px;
    border-bottom: 1px solid #e2e8f0
}

    .sigcp-p360-panel-toolbar h3 {
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
        color: #152d49
    }

.sigcp-p360-inline-body {
    padding: 18px
}

    .sigcp-p360-inline-body .sigcp-p360-workspace {
        display: block !important
    }

    .sigcp-p360-inline-body .sigcp-p360-form-panel {
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: none !important
    }

    .sigcp-p360-inline-body .sigcp-p360-aside {
        display: none !important
    }

    .sigcp-p360-inline-body form .btn, .sigcp-p360-inline-body form button[type=submit], .sigcp-p360-inline-body form a.btn {
        display: inline-flex !important;
        width: auto !important;
        max-width: max-content !important;
        flex: 0 0 auto !important;
        padding: 6px 13px !important;
        min-height: 32px !important
    }

    .sigcp-p360-inline-body form .mt-3 {
        display: flex !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        align-items: center !important
    }

    .sigcp-p360-inline-body .sigcp-card {
        border: 0 !important;
        box-shadow: none !important
    }

/* Fase 6 · Forzar dos campos por fila en formularios integrados, sin cambiar
   names/ids MVC ni los valores de los controles. */
@media(min-width:720px) {
    .sigcp-p360-inline-body form .form-horizontal,
    .sigcp-p360-inline-body form,
    .sigcp-p360-inline-body form #bloqueUbicacionIdentificada {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 16px 20px !important;
        align-items: start !important;
    }

        .sigcp-p360-inline-body form .form-horizontal > .form-group,
        .sigcp-p360-inline-body form > .form-group,
        .sigcp-p360-inline-body form #bloqueUbicacionIdentificada > .form-group {
            grid-column: auto !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            margin: 0 !important;
        }

            .sigcp-p360-inline-body form .form-horizontal > .form-group:has(textarea),
            .sigcp-p360-inline-body form > .form-group:has(textarea) {
                grid-column: 1/-1 !important
            }

        .sigcp-p360-inline-body form .form-horizontal > :not(.form-group),
        .sigcp-p360-inline-body form > :not(.form-group) {
            grid-column: 1/-1 !important
        }
}

.sigcp-p360-inline-body form .form-control,
.sigcp-p360-inline-body form input:not([type=checkbox]):not([type=radio]),
.sigcp-p360-inline-body form select,
.sigcp-p360-inline-body form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box
}

.sigcp-p360-inline-body form .mt-3,
.sigcp-p360-inline-body form .sigcp-p360-form-actions {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    align-items: center !important
}

.sigcp-p360-record-detail {
    padding: 18px;
    margin: 16px 18px 20px;
    background: #f7f9fc;
    border: 1px solid #dce5ee;
    border-radius: 10px
}

.sigcp-p360-record-detail-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #dce5ee;
    padding-bottom: 12px
}

    .sigcp-p360-record-detail-head h3 {
        font-size: 1rem;
        font-weight: 700;
        margin: 0;
        color: #152d49
    }

.sigcp-p360-record-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px 22px;
    margin: 16px 0
}

    .sigcp-p360-record-grid dt {
        font-size: .78rem;
        font-weight: 500;
        color: #667b91
    }

    .sigcp-p360-record-grid dd {
        font-size: .87rem;
        font-weight: 600;
        color: #16314e;
        overflow-wrap: anywhere;
        margin: 4px 0 0
    }

.sigcp-p360-record-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

@media(max-width:719px) {
    .sigcp-p360-record-grid {
        grid-template-columns: 1fr
    }
}

/* Fase 7: dimensiones explícitas del ícono de identidad; evita SVG gigante. */
.sigcp-p360-identity-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    flex: 0 0 38px !important;
    overflow: hidden !important
}

    .sigcp-p360-identity-icon svg {
        display: block !important;
        width: 19px !important;
        height: 19px !important;
        max-width: 19px !important;
        max-height: 19px !important;
        flex: none !important
    }
/* Filas específicas de caracterización y autorizaciones. */
.sigcp-p360-inline-body form .p360-f7-row {
    display: grid !important;
    gap: 16px 20px !important;
    grid-column: 1/-1 !important;
    width: 100% !important;
    align-items: center !important
}

.sigcp-p360-inline-body form .p360-f7-two {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important
}

.sigcp-p360-inline-body form .p360-f7-three {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important
}

.sigcp-p360-inline-body form .p360-f7-row > .form-group {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    grid-column: auto !important
}

    .sigcp-p360-inline-body form .p360-f7-row > .form-group:has(textarea) {
        grid-column: 1/-1 !important
    }

.sigcp-p360-inline-body form .p360-f7-row .form-check {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 36px !important
}

.sigcp-p360-inline-body form .p360-f7-row .form-check-input {
    position: static !important;
    margin: 0 !important;
    width: 16px !important;
    height: 16px !important
}

.sigcp-p360-inline-body form #bloqueUbicacionIdentificada[hidden] {
    display: none !important
}

.sigcp-p360-inline-body form #bloqueUbicacionIdentificada:not([hidden]) {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    grid-column: 1/-1 !important
}

.sigcp-p360-inline-body form .mt-3, .sigcp-p360-inline-body form .sigcp-p360-form-actions {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    grid-column: 1/-1 !important
}

@media(max-width:719px) {
    .sigcp-p360-inline-body form .p360-f7-two, .sigcp-p360-inline-body form .p360-f7-three, .sigcp-p360-inline-body form #bloqueUbicacionIdentificada:not([hidden]) {
        grid-template-columns: 1fr !important
    }
}

/* P360-20261023: cuadrícula estable para Educación y Laboral integrados.
   Selectores por nombres MVC, sin alterar el binding ni el POST. */
@media (min-width: 768px) {
    .sigcp-p360-inline-body form:has([name="Educacion.IdPersona"]),
    .sigcp-p360-inline-body form:has([name="Laboral.IdPersona"]) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 20px !important;
        row-gap: 13px !important;
        align-items: start !important;
    }

        .sigcp-p360-inline-body form:has([name="Educacion.IdPersona"]) > .form-group,
        .sigcp-p360-inline-body form:has([name="Laboral.IdPersona"]) > .form-group {
            grid-column: auto !important;
            min-width: 0 !important;
            width: auto !important;
            margin: 0 !important;
            display: block !important;
        }

            .sigcp-p360-inline-body form:has([name="Educacion.IdPersona"]) > .form-group:has(textarea),
            .sigcp-p360-inline-body form:has([name="Laboral.IdPersona"]) > .form-group:has(textarea),
            .sigcp-p360-inline-body form:has([name="Educacion.IdPersona"]) > .validation-summary-errors,
            .sigcp-p360-inline-body form:has([name="Laboral.IdPersona"]) > .validation-summary-errors,
            .sigcp-p360-inline-body form:has([name="Educacion.IdPersona"]) > .mt-3,
            .sigcp-p360-inline-body form:has([name="Laboral.IdPersona"]) > .mt-3 {
                grid-column: 1 / -1 !important;
            }
}
/* Ubicación: no dejar un hueco cuando se despliegan los tres selectores. */
.sigcp-p360-inline-body .sigcp-p360-form-fields-body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 15px 20px !important;
    align-items: start !important;
}

    .sigcp-p360-inline-body .sigcp-p360-form-fields-body > .form-group {
        grid-column: auto !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    .sigcp-p360-inline-body .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 15px 20px !important;
    }

        .sigcp-p360-inline-body .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada[hidden],
        .sigcp-p360-inline-body .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada[style*="display: none"] {
            display: none !important;
        }

    .sigcp-p360-inline-body .sigcp-p360-form-fields-body > .form-group:has(textarea) {
        grid-column: 1 / -1 !important;
    }

@media (max-width: 767px) {
    .sigcp-p360-inline-body .sigcp-p360-form-fields-body,
    .sigcp-p360-inline-body .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* P360-CIERRE-UX-01: estilos permanentes para vistas cargadas por fetch.
   Los estilos <style> de la respuesta MVC no se ejecutan al extraer solo el panel. */
.sigcp-p360-inline-body form .p360-caracterizacion-grid {
    display: grid !important;
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    gap: 16px 20px !important;
    align-items: start !important;
}

    .sigcp-p360-inline-body form .p360-caracterizacion-grid > .p360-caracterizacion-field {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        grid-column: span 3 !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .sigcp-p360-inline-body form .p360-caracterizacion-grid > .p360-c-three {
        grid-column: span 2 !important;
    }

    .sigcp-p360-inline-body form .p360-caracterizacion-grid > .p360-c-full {
        grid-column: 1/-1 !important;
    }

    .sigcp-p360-inline-body form .p360-caracterizacion-grid > .p360-c-actions {
        display: flex !important;
        grid-column: 1/-1 !important;
        gap: 8px !important;
    }

    .sigcp-p360-inline-body form .p360-caracterizacion-grid .form-check {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 38px;
    }

    .sigcp-p360-inline-body form .p360-caracterizacion-grid .form-check-input {
        position: static !important;
        margin: 0 !important;
        width: 16px !important;
    }
/* Electoral: distribución en 6 columnas; cada campo ocupa 2 o 3. */
.sigcp-p360-inline-body form .p360-electoral-grid {
    display: grid !important;
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    gap: 15px 20px !important;
    align-items: start !important;
}

    .sigcp-p360-inline-body form .p360-electoral-grid > .form-group {
        grid-column: span 3 !important;
        order: initial !important;
        min-width: 0 !important;
    }

    .sigcp-p360-inline-body form .p360-electoral-grid > #bloqueUbicacionIdentificada:not([hidden]) {
        display: grid !important;
        grid-column: 1/-1 !important;
        order: initial !important;
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 15px 20px !important;
    }

    .sigcp-p360-inline-body form .p360-electoral-grid > #bloqueUbicacionIdentificada[hidden] {
        display: none !important;
    }

    .sigcp-p360-inline-body form .p360-electoral-grid > .form-group:has(textarea) {
        grid-column: 1/-1 !important;
    }

    .sigcp-p360-inline-body form .p360-electoral-grid > .sigcp-p360-electoral-actions {
        grid-column: 1/-1 !important;
    }

.sigcp-p360-single-record {
    padding: 16px 20px 24px;
}

.sigcp-p360-single-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.sigcp-p360-record-fields {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.sigcp-p360-record-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    overflow-wrap: anywhere;
}

    .sigcp-p360-record-field > span {
        font-size: .8rem;
        color: #58708a;
    }

.sigcp-p360-record-extra {
    grid-column: 1/-1;
}

@media(max-width:760px) {
    .sigcp-p360-inline-body form .p360-caracterizacion-grid,
    .sigcp-p360-inline-body form .p360-electoral-grid {
        grid-template-columns: minmax(0,1fr) !important;
    }

        .sigcp-p360-inline-body form .p360-caracterizacion-grid > .p360-caracterizacion-field,
        .sigcp-p360-inline-body form .p360-electoral-grid > .form-group {
            grid-column: 1/-1 !important;
        }

        .sigcp-p360-inline-body form .p360-electoral-grid > #bloqueUbicacionIdentificada:not([hidden]),
        .sigcp-p360-record-fields {
            grid-template-columns: minmax(0,1fr) !important;
        }
}

/* Detalle corporativo: tarjetas de autorizaciones y ubicacion electoral */
.sigcp-p360-section .sigcp-p360-single-record {
    margin: 14px 18px 22px;
}

.sigcp-p360-section .sigcp-p360-single-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

    .sigcp-p360-section .sigcp-p360-single-heading h3 {
        font-size: 1.08rem;
        font-weight: 750;
        color: #142e4c;
        margin: 0;
    }

.sigcp-p360-section .sigcp-p360-single-record .sigcp-p360-record-detail {
    margin: 0;
    padding: 22px;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-top: 3px solid #008f96;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 8px 24px rgba(18,43,72,.05);
}

.sigcp-p360-section .sigcp-p360-record-fields {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px 16px;
}

.sigcp-p360-section .sigcp-p360-record-field {
    background: #f3f7fb;
    border: 1px solid #e0e9f2;
    border-radius: 9px;
    padding: 13px 15px;
    min-width: 0;
}

    .sigcp-p360-section .sigcp-p360-record-field span {
        display: block;
        font-size: .77rem;
        color: #60758c;
        margin-bottom: 5px;
    }

    .sigcp-p360-section .sigcp-p360-record-field strong {
        display: block;
        font-size: .9rem;
        color: #142e4c;
        overflow-wrap: anywhere;
        line-height: 1.45;
    }

.sigcp-p360-section .sigcp-p360-record-actions {
    padding-top: 17px;
    margin-top: 17px;
    border-top: 1px solid #dce6f0;
}
/* Caracterizacion: campos cortos equilibrados; textos largos ocupan ancho completo */
.sigcp-p360-inline-body form .p360-f7-row {
    gap: 16px !important;
}

    .sigcp-p360-inline-body form .p360-f7-row > .form-group {
        min-width: 0;
    }

        .sigcp-p360-inline-body form .p360-f7-row > .form-group textarea {
            width: 100%;
        }

@media(max-width:720px) {
    .sigcp-p360-section .sigcp-p360-record-fields {
        grid-template-columns: 1fr;
    }

    .sigcp-p360-section .sigcp-p360-single-heading {
        flex-wrap: wrap;
    }
}

/* SIGCP Personas 360 - confirmación de baja; capa independiente */
.sigcp-baja-dialog {
    border: 1px solid var(--sigcp-border,#dce5ee);
    border-radius: 12px;
    padding: 0;
    width: min(94vw,500px);
    max-height: 90vh;
    box-shadow: 0 18px 55px rgba(20,43,70,.25);
    color: var(--sigcp-text,#26384c)
}

    .sigcp-baja-dialog::backdrop {
        background: rgba(15,32,52,.6)
    }

.sigcp-baja-modal-header, .sigcp-baja-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px
}

.sigcp-baja-modal-header {
    border-bottom: 1px solid var(--sigcp-border,#dce5ee)
}

    .sigcp-baja-modal-header h3 {
        font-size: 1.05rem;
        margin: 0;
        color: var(--sigcp-navy,#142b46)
    }

.sigcp-baja-modal-body {
    padding: 20px;
    line-height: 1.55
}

.sigcp-baja-confirmacion {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    cursor: pointer;
    font-weight: 600
}

    .sigcp-baja-confirmacion input {
        margin-top: 5px
    }

.sigcp-baja-modal-footer {
    justify-content: flex-end;
    background: #f8fafc;
    border-top: 1px solid var(--sigcp-border,#dce5ee)
}

    .sigcp-baja-modal-footer [disabled] {
        opacity: .45;
        cursor: not-allowed
    }

/* Origen: Details.cshtml */
/* P360: restauración autocontenida de tarjeta, sin depender de CSS global */
.sigcp-p360 .sigcp-p360-identity {
    padding: 18px 20px 20px;
    background: #fff;
    border-bottom: 1px solid #dce5ef
}

.sigcp-p360 .sigcp-p360-identity-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px
}

    .sigcp-p360 .sigcp-p360-identity-heading h3 {
        margin: 0;
        font-size: 16px;
        font-weight: 700;
        color: #142d4a
    }

    .sigcp-p360 .sigcp-p360-identity-heading p {
        margin: 3px 0 0;
        font-size: 12px;
        color: #60758f
    }

.sigcp-p360 .sigcp-p360-identity-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    max-width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eaf0f6;
    border-radius: 10px;
    color: #173554
}

    .sigcp-p360 .sigcp-p360-identity-icon svg {
        width: 19px !important;
        height: 19px !important;
        max-width: 19px !important;
        max-height: 19px !important;
        flex: none
    }

.sigcp-p360 .sigcp-p360-identity-grid {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(0,1.25fr) minmax(160px,.6fr);
    gap: 10px
}

.sigcp-p360 .sigcp-p360-identity-stat {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 15px 16px;
    background: #f5f8fc;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    min-width: 0
}

    .sigcp-p360 .sigcp-p360-identity-stat > span {
        font-size: 11px;
        color: #667e9b
    }

    .sigcp-p360 .sigcp-p360-identity-stat strong {
        font-size: 13px;
        color: #102c50;
        overflow-wrap: anywhere
    }

.sigcp-p360 .sigcp-p360-status-pill {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 11px;
    background: #e8f5ec;
    color: #167044
}

    .sigcp-p360 .sigcp-p360-status-pill.is-inactive {
        background: #f1f2f4;
        color: #5b6574
    }

@media(max-width:760px) {
    .sigcp-p360 .sigcp-p360-identity-grid {
        grid-template-columns: 1fr
    }
}
/* Origen: CaracterizacionCrear.cshtml */
.sigcp-p360 .p360-caracterizacion-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 16px 20px;
    align-items: start;
}

    .sigcp-p360 .p360-caracterizacion-grid > .form-group {
        margin: 0;
        min-width: 0;
        grid-column: span 3;
    }

    .sigcp-p360 .p360-caracterizacion-grid > .p360-c-three {
        grid-column: span 2;
    }

    .sigcp-p360 .p360-caracterizacion-grid > .p360-c-full {
        grid-column: 1/-1;
    }

    .sigcp-p360 .p360-caracterizacion-grid .form-control {
        width: 100%;
        max-width: none;
    }

    .sigcp-p360 .p360-caracterizacion-grid .form-check {
        display: flex;
        align-items: center;
        gap: 8px;
        padding-top: 26px;
    }

    .sigcp-p360 .p360-caracterizacion-grid .form-check-input {
        position: static;
        margin: 0;
    }

    .sigcp-p360 .p360-caracterizacion-grid > .p360-c-actions {
        display: flex;
        gap: 8px;
        align-items: center;
        flex-wrap: wrap;
    }

@media(max-width:760px) {
    .sigcp-p360 .p360-caracterizacion-grid {
        grid-template-columns: 1fr;
    }

        .sigcp-p360 .p360-caracterizacion-grid > .form-group {
            grid-column: 1/-1;
        }
}
/* Origen: AutorizacionCrear.cshtml */
.sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group {
    min-width: 0;
    margin: 0 0 14px
}

.sigcp-p360 .sigcp-p360-form-panel .form-control {
    width: 100%;
    max-width: none
}

.sigcp-p360 .sigcp-p360-form-panel .form-group.mt-3 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    flex-wrap: wrap;
    grid-column: 1/-1
}

    .sigcp-p360 .sigcp-p360-form-panel .form-group.mt-3 .btn {
        margin: 0
    }

.sigcp-p360 .sigcp-p360-form-panel .form-horizontal {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    column-gap: 18px;
    align-items: start
}

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group:nth-of-type(1) {
        order: 1
    }

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group:nth-of-type(2) {
        order: 2
    }

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group:nth-of-type(5) {
        order: 3
    }

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group:nth-of-type(4) {
        order: 4
    }

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group:nth-of-type(6) {
        order: 5;
        grid-column: 1/-1
    }

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group:nth-of-type(3) {
        order: 6;
        grid-column: 1/-1
    }

    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group.mt-3 {
        order: 7
    }

@media(max-width:760px) {
    .sigcp-p360 .sigcp-p360-form-panel .form-horizontal {
        display: block
    }

        .sigcp-p360 .sigcp-p360-form-panel .form-horizontal > .form-group {
            padding-top: 0 !important
        }
}
/* Origen: ElectoralCrear.cshtml */
.sigcp-p360 .sigcp-p360-form-fields-body {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px 18px;
    align-items: start
}

    .sigcp-p360 .sigcp-p360-form-fields-body > .form-group {
        margin: 0;
        min-width: 0
    }

        .sigcp-p360 .sigcp-p360-form-fields-body > .form-group:nth-of-type(4) {
            order: 5;
            grid-column: 1/-1
        }

        .sigcp-p360 .sigcp-p360-form-fields-body > .form-group:nth-of-type(5) {
            order: 4
        }

        .sigcp-p360 .sigcp-p360-form-fields-body > .form-group:nth-of-type(6) {
            order: 6;
            grid-column: 1/-1
        }

    .sigcp-p360 .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada {
        order: 5;
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 18px
    }

        .sigcp-p360 .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada[hidden], .sigcp-p360 .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada[style*="display: none"] {
            display: none !important
        }

        .sigcp-p360 .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada > .form-group {
            margin: 0;
            min-width: 0
        }

    .sigcp-p360 .sigcp-p360-form-fields-body .form-control {
        width: 100%;
        max-width: none
    }

.sigcp-p360 .sigcp-p360-electoral-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap
}

@media(max-width:760px) {
    .sigcp-p360 .sigcp-p360-form-fields-body, .sigcp-p360 .sigcp-p360-form-fields-body > #bloqueUbicacionIdentificada {
        grid-template-columns: 1fr
    }

        .sigcp-p360 .sigcp-p360-form-fields-body > .form-group {
            grid-column: 1/-1 !important
        }
}
/* Consolidación P360: diseño de tarjeta coherente con Información general */
.sigcp-p360-section .sigcp-p360-single-record .sigcp-p360-record-detail {
    border-top: 1px solid #dce5ef;
    box-shadow: none;
    padding: 18px 20px;
    background: #fff
}

.sigcp-p360-section .sigcp-p360-single-heading {
    border-bottom: 1px solid #dce5ef;
    background: #fff
}

.sigcp-p360-section .sigcp-p360-record-fields {
    grid-template-columns: minmax(0,1.25fr) minmax(0,1.25fr) minmax(150px,.6fr);
    gap: 10px
}

.sigcp-p360-section .sigcp-p360-record-field {
    background: #f3f7fb;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    padding: 13px 15px
}

.sigcp-p360-section .sigcp-p360-record-extra {
    grid-column: 1/-1
}
/* No alterar estructura DOM: el grid nativo conserva TODOS los campos */
.sigcp-p360 .p360-caracterizacion-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 16px 20px;
    align-items: start
}

    .sigcp-p360 .p360-caracterizacion-grid > .form-group {
        grid-column: span 3;
        min-width: 0;
        margin: 0
    }

    .sigcp-p360 .p360-caracterizacion-grid > .p360-c-three {
        grid-column: span 2
    }

    .sigcp-p360 .p360-caracterizacion-grid > .p360-c-full, .sigcp-p360 .p360-caracterizacion-grid > .p360-c-actions {
        grid-column: 1/-1
    }

    .sigcp-p360 .p360-caracterizacion-grid .form-control {
        width: 100%;
        max-width: none
    }

@media(max-width:1000px) {
    .sigcp-p360-section .sigcp-p360-record-fields {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:720px) {
    .sigcp-p360-section .sigcp-p360-record-fields, .sigcp-p360 .p360-caracterizacion-grid {
        grid-template-columns: minmax(0,1fr)
    }

        .sigcp-p360 .p360-caracterizacion-grid > .form-group {
            grid-column: 1/-1
        }
}


/* SIGCP PERSONAS 360 | CORRECCIÓN CORPORATIVA DE CIERRE | 2026-10-23
   Alcance deliberadamente limitado a la tarjeta de Persona 360. */
.sigcp-p360-module-card {
    position: relative;
}

    .sigcp-p360-module-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: #142b46;
        z-index: 2;
        pointer-events: none
    }

    .sigcp-p360-module-card .sigcp-p360-identity {
        padding-top: 19px
    }
    /* Un solo contenedor visual: la sección de detalle no genera otra tarjeta. */
    .sigcp-p360-module-card .sigcp-p360-section {
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin: 0 !important
    }

    .sigcp-p360-module-card .sigcp-p360-single-record {
        margin: 0 16px 18px !important;
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: #fff !important
    }

    .sigcp-p360-module-card .sigcp-p360-single-heading {
        padding: 15px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #dce5ef !important
    }

    .sigcp-p360-module-card .sigcp-p360-single-record .sigcp-p360-record-detail {
        padding: 16px 0 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: #fff !important
    }

    .sigcp-p360-module-card .sigcp-p360-record-fields {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 12px !important
    }

    .sigcp-p360-module-card .sigcp-p360-record-field {
        border: 1px solid #dce5ef !important;
        border-radius: 8px !important;
        background: #f3f7fb !important;
        padding: 13px 15px !important
    }

    .sigcp-p360-module-card .sigcp-p360-record-extra {
        grid-column: 1/-1 !important
    }

    .sigcp-p360-module-card .sigcp-p360-record-actions {
        margin-top: 16px !important;
        padding-top: 14px !important;
        border-top: 1px solid #dce5ef !important;
        display: flex !important;
        gap: 8px !important
    }
    /* Formularios AJAX: neutralizar CSS heredado que antepone los botones a los campos. */
    .sigcp-p360-module-card .sigcp-p360-inline-body form {
        display: block !important
    }

        .sigcp-p360-module-card .sigcp-p360-inline-body form .sigcp-p360-form-actions-normalized {
            display: flex !important;
            gap: 9px !important;
            align-items: center !important;
            flex-wrap: wrap !important;
            margin-top: 18px !important;
            padding-top: 8px !important;
            order: 999 !important;
            grid-column: 1/-1 !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body form .p360-c-actions:empty,
        .sigcp-p360-module-card .sigcp-p360-inline-body form .form-group.mt-3:empty {
            display: none !important
        }
    /* Caracterización: secuencia DOM original, 2 columnas; observaciones y acciones al final. */
    .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 15px 20px !important;
        align-items: start !important
    }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid > .form-group {
            display: block !important;
            grid-column: auto !important;
            order: initial !important;
            min-width: 0 !important;
            margin: 0 !important;
            visibility: visible !important;
            opacity: 1 !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid > .p360-c-three {
            grid-column: auto !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid > .p360-c-full {
            grid-column: 1/-1 !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid > .p360-c-actions {
            grid-column: 1/-1 !important;
            display: none !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid .form-control {
            width: 100% !important;
            max-width: none !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid .form-check {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            min-height: 38px !important
        }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid .form-check-input {
            position: static !important;
            margin: 0 !important
        }
    /* Eliminar tarjeta interna de las vistas cargadas dentro de la tarjeta principal. */
    .sigcp-p360-module-card .sigcp-p360-inline-body .sigcp-p360-form-panel,
    .sigcp-p360-module-card .sigcp-p360-inline-body .sigcp-card,
    .sigcp-p360-module-card .sigcp-p360-inline-body .sigcp-card-body {
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important
    }

    .sigcp-p360-module-card .sigcp-p360-inline-body .sigcp-p360-aside {
        display: none !important
    }

@media(max-width:760px) {
    .sigcp-p360-module-card .sigcp-p360-record-fields, .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid {
        grid-template-columns: 1fr !important
    }

        .sigcp-p360-module-card .sigcp-p360-inline-body .p360-caracterizacion-grid > .form-group {
            grid-column: 1/-1 !important
        }
}

/* P360 ETAPA 1: tarjeta de identidad independiente y tarjeta de navegación independiente.
   Sin alteraciones de eventos, AJAX, selectores ni comportamiento JS. */
.sigcp-p360 > .sigcp-p360-module-card:first-of-type {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
}

    .sigcp-p360 > .sigcp-p360-module-card:first-of-type::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: #142b46;
        pointer-events: none;
        z-index: 2;
    }

    .sigcp-p360 > .sigcp-p360-module-card:first-of-type > .sigcp-p360-identity {
        padding-top: 20px;
    }

.sigcp-p360 > .sigcp-p360-navigation-card {
    margin-top: 0;
    position: relative;
}

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-tabs {
        border-radius: 11px 11px 0 0;
    }

    .sigcp-p360 > .sigcp-p360-navigation-card::before {
        display: none;
    }

@media(max-width:760px) {
    .sigcp-p360 > .sigcp-p360-module-card:first-of-type {
        margin-bottom: 14px;
    }
}

/* PERSONAS 360 - ETAPA 2: tarjeta corporativa exclusiva de navegación.
   La tarjeta de Información general permanece independiente.
   No se modifican estructura, enlaces, identificadores ni JavaScript. */
.sigcp-p360 > .sigcp-p360-navigation-card {
    display: block;
    position: relative;
    margin: 22px 0 0;
    padding-top: 3px;
    background: #fff;
    border: 1px solid #dce5ee;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(20,43,70,.06);
}

    .sigcp-p360 > .sigcp-p360-navigation-card::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: #142b46;
        z-index: 2;
        pointer-events: none;
    }

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-tabs {
        margin: 0;
        border: 0;
        border-radius: 0;
        background: #142b46;
    }

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-section {
        background: #fff;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

@media(max-width:760px) {
    .sigcp-p360 > .sigcp-p360-navigation-card {
        margin-top: 16px;
    }
}

/* P360 - CIERRE VISUAL: dos tarjetas corporativas independientes.
   Reglas limitadas a Details; no se modifica JavaScript ni otras vistas. */
.sigcp-p360 > .sigcp-p360-navigation-card {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    padding-top: 3px;
    border: 1px solid var(--sigcp-card-border, #e3eaf2) !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 3px 8px rgba(15,38,65,.025), 0 12px 28px rgba(15,38,65,.035) !important;
    overflow: hidden;
}

    .sigcp-p360 > .sigcp-p360-navigation-card::before {
        display: block !important;
        height: 3px;
        background: var(--sigcp-card-accent, #173b61);
    }

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-tabs {
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: var(--sigcp-navy, #142b46) !important;
    }

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-section {
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

        .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-section::before {
            display: none !important;
        }
/* Una sola pestaña seleccionada; hover no simula selección adicional. */
.sigcp-p360-navigation-card .sigcp-p360-tab:not(.is-active):hover {
    background: #213d5c !important;
    color: #fff !important;
    box-shadow: none !important;
}

.sigcp-p360-navigation-card .sigcp-p360-tab.is-active,
.sigcp-p360-navigation-card .sigcp-p360-tab.is-active:hover {
    background: #edf1f5 !important;
    color: #142b46 !important;
    box-shadow: inset 0 -3px 0 #168b91 !important;
}
/* Estado de persona: indicador circular como en Usuarios registrados. */
.sigcp-p360 .sigcp-p360-identity-stat .sigcp-p360-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    vertical-align: middle;
}

    .sigcp-p360 .sigcp-p360-identity-stat .sigcp-p360-status-pill::before {
        content: "";
        display: inline-block;
        width: 7px;
        height: 7px;
        min-width: 7px;
        border-radius: 50%;
        background: currentColor;
    }

/* Persona 360: tarjeta exterior claramente independiente de la barra de navegación.
   Solo presentación. Los enlaces, data-attributes y scripts permanecen intactos. */
.sigcp-p360 > .sigcp-p360-navigation-card {
    padding-top: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    border: 1px solid #dce5ee !important;
    box-shadow: 0 4px 18px rgba(20,43,70,.055) !important;
    overflow: hidden !important;
}

    .sigcp-p360 > .sigcp-p360-navigation-card::before {
        position: static !important;
        height: 3px !important;
        background: #142b46 !important;
    }

.sigcp-p360-navigation-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 20px;
    background: #fff;
    border-bottom: 1px solid #edf1f6;
}

.sigcp-p360-navigation-heading-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eaf0f7;
    color: #173b61;
    border-radius: 9px;
    font-size: 23px;
    font-weight: 700;
}

.sigcp-p360-navigation-heading h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #183451;
}

.sigcp-p360-navigation-heading p {
    margin: 3px 0 0;
    font-size: .8rem;
    color: #687b90;
}

.sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-tabs {
    margin: 16px 20px 0 !important;
    border: 0 !important;
    border-radius: 9px 9px 0 0 !important;
    overflow: hidden !important;
    background: #142b46 !important;
}

.sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-section {
    margin: 0 20px 20px !important;
    width: auto !important;
    border: 1px solid #e3eaf2 !important;
    border-top: 0 !important;
    border-radius: 0 0 9px 9px !important;
    box-shadow: none !important;
    overflow: hidden;
}

@media (max-width: 768px) {
    .sigcp-p360-navigation-heading {
        padding: 14px;
    }

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-tabs {
        margin: 12px 12px 0 !important;
    }

    .sigcp-p360 > .sigcp-p360-navigation-card > .sigcp-p360-section {
        margin: 0 12px 12px !important;
    }
}
/* SIGCP — P360-UX-002A | Complemento de confirmación corporativa */
.sigcp-baja-dialog {
    background: #fff;
    overflow: hidden;
    max-width: 520px;
    width: calc(100% - 32px);
    max-height: min(90vh,760px);
}

    .sigcp-baja-dialog[open] {
        display: block;
    }

    .sigcp-baja-dialog .sigcp-baja-modal-header {
        background: #fff;
        padding: 20px 22px;
    }

.sigcp-baja-modal-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.sigcp-baja-modal-icon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #fff0ed;
    color: #a62d36;
    font-size: 23px;
    font-weight: 800;
}

.sigcp-baja-modal-eyebrow {
    display: block;
    color: #718197;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    margin-bottom: 4px;
}

.sigcp-baja-dialog .sigcp-baja-modal-header h3 {
    font-size: 1.08rem;
    line-height: 1.35;
}

.sigcp-baja-modal-x {
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #708297;
    border-radius: 6px;
    width: 32px;
    height: 32px;
    font-size: 24px;
    cursor: pointer;
}

    .sigcp-baja-modal-x:hover, .sigcp-baja-modal-x:focus-visible {
        background: #edf2f7;
        color: #142b46;
    }

.sigcp-baja-dialog .sigcp-baja-modal-body {
    padding: 20px 22px 24px;
}

.sigcp-baja-modal-message {
    margin: 0 0 17px;
    color: #34465a;
}

.sigcp-baja-modal-summary {
    padding: 14px 16px;
    border: 1px solid #e0e8f0;
    border-radius: 9px;
    background: #f7f9fc;
    display: grid;
    gap: 12px;
}

    .sigcp-baja-modal-summary > div {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }

    .sigcp-baja-modal-summary span {
        color: #65778c;
        font-size: .82rem;
    }

    .sigcp-baja-modal-summary strong {
        color: #1b3654;
        font-size: .84rem;
        overflow-wrap: anywhere;
    }

.sigcp-baja-modal-note {
    margin: 15px 0;
    font-size: .84rem;
    color: #65778c;
}

.sigcp-baja-dialog .sigcp-baja-confirmacion {
    padding: 12px 13px;
    border: 1px solid #e5c8cc;
    border-radius: 8px;
    background: #fff9f9;
    font-size: .86rem;
    line-height: 1.45;
}

    .sigcp-baja-dialog .sigcp-baja-confirmacion input {
        accent-color: #a62d36;
        flex: 0 0 auto;
    }

.sigcp-baja-dialog .sigcp-baja-modal-footer {
    padding: 15px 22px;
}

.sigcp-baja-dialog .btn {
    font-size: .8rem;
}

.sigcp-baja-dialog :focus-visible {
    outline: 2px solid #168b91;
    outline-offset: 2px;
}

@media(max-width:520px) {
    .sigcp-baja-dialog .sigcp-baja-modal-header, .sigcp-baja-dialog .sigcp-baja-modal-body, .sigcp-baja-dialog .sigcp-baja-modal-footer {
        padding-left: 15px;
        padding-right: 15px;
    }

    .sigcp-baja-dialog .sigcp-baja-modal-footer {
        flex-wrap: wrap;
    }
}


/* ==========================================================
   SIGCP · Persona 360 · Detalle de caracterización (small)
   Solo presentación. No altera reglas globales ni permisos.
   ========================================================== */
.sigcp-p360 .sigcp-p360-caracterizacion-detalle {
    background: #fff;
    border: 1px solid #e0e8f0;
    border-radius: 0 0 9px 9px;
    overflow: hidden;
}

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-encabezado {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
        padding: 12px 17px;
        background: #fff;
        border-bottom: 1px solid #e7edf4;
        font-size: 13px;
        color: #142b46;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-body {
        padding: 15px 17px 17px;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-estado {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        margin-bottom: 12px;
        padding: 4px 9px;
        border-radius: 999px;
        background: #e6f5ec;
        color: #08703c;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.3;
    }

        .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-estado.inactivo {
            background: #eef1f5;
            color: #617187;
        }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 22px;
        margin: 0;
        padding: 0;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-campo {
        min-width: 0;
        margin: 0;
        padding: 10px 2px;
        border-bottom: 1px solid #edf1f6;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-campo-full {
        grid-column: 1 / -1;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-campo dt {
        margin: 0 0 3px;
        color: #66788d;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.35;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-campo dd {
        margin: 0;
        color: #173451;
        font-size: 12px;
        font-weight: 650;
        line-height: 1.45;
        overflow-wrap: anywhere;
        white-space: pre-wrap;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-acciones {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 7px;
        margin-top: 14px;
    }

        .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-acciones .sigcp-btn-action {
            min-height: 27px;
            padding: 5px 10px;
            border-radius: 5px;
            font-size: 11px;
            line-height: 1.3;
        }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-encabezado .btn.btn-sm {
        padding: 5px 10px;
        font-size: 11px;
    }

@media (max-width: 650px) {
    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-campo-full {
        grid-column: 1;
    }

    .sigcp-p360 .sigcp-p360-caracterizacion-detalle .sigcp-p360-caracterizacion-body {
        padding: 12px 14px 15px;
    }
}
