/* Emprende - mejoras visuales y compactas (Bootstrap 3 + DataTables) */
.page-emprende .dataTables_filter {
    display: none;
}

.page-emprende .error {
    color: #dd4b39;
}

.page-emprende .empre-header-panel {
    padding-bottom: 12px;
}

.page-emprende .empre-top-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-emprende .empre-top-actions-left,
.page-emprende .empre-top-actions-right {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.page-emprende .btn-emprende-head {
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 4px;
    font-weight: 600;
}

.page-emprende .empre-search-row {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
}

.page-emprende .empre-search-group {
    width: 100%;
    max-width: 360px;
}

.page-emprende .empre-search-group .input-group-addon,
.page-emprende .empre-search-group .form-control {
    height: 46px;
}

.page-emprende .empre-search-group .form-control {
    padding: 10px 12px;
    font-size: 15px;
}

.page-emprende .emprende-table-wrap {
    overflow-x: auto;
}

.page-emprende .empre-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px 0;
    padding: 10px 12px;
    border: 1px solid #e2e6ea;
    border-radius: 6px;
    background: #fafbfd;
}

.page-emprende .empre-table-panel .dataTables_wrapper .dt-buttons .btn {
    border-radius: 4px;
    min-height: 34px;
    padding: 6px 12px;
    font-weight: 600;
    font-size: 14px;
}

.page-emprende .empre-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4b5663;
}

.page-emprende .empre-table-panel .dataTables_wrapper .dataTables_length select {
    border-radius: 4px;
    height: 34px;
    padding: 6px 8px;
}

.page-emprende .empre-table-panel .tablaEmprende > thead > tr > th {
    background: #f2f5f9;
    color: #2a3647;
    border-bottom: 2px solid #d4dbe3;
    font-weight: 700;
    padding: 11px 10px;
    vertical-align: middle;
    white-space: nowrap;
    font-size: 15px;
}

.page-emprende .empre-table-panel .tablaEmprende > tbody > tr,
.page-emprende .empre-table-panel .tablaEmprende > tbody > tr > td {
    height: auto !important;
}

.page-emprende .empre-table-panel .tablaEmprende > tbody > tr > td {
    padding: 12px 10px;
    vertical-align: middle;
    line-height: 1.35;
    font-size: 14px;
    white-space: nowrap;
}

.page-emprende .empre-table-panel table.dataTable tbody tr:hover {
    background-color: #f7fbff;
}

.page-emprende .empre-table-panel .empre-status-label {
    display: inline-block;
    border-radius: 12px;
    font-size: 11px;
    padding: 3px 9px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.page-emprende .empre-table-panel .status-ganador {
    background-color: #00a65a;
}

.page-emprende .empre-table-panel .status-activo {
    background-color: #00c0ef;
}

.page-emprende .empre-table-panel .status-inactivo {
    background-color: #dd4b39;
}

.page-emprende .empre-table-panel .status-default {
    background-color: #777;
}

.page-emprende .empre-table-panel .btnActivarBeneficiario {
    min-height: 24px;
    min-width: 82px;
    padding: 2px 9px;
    border-radius: 14px;
    font-weight: 700;
    border: 0;
    font-size: 11px;
}

.page-emprende .empre-row-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    white-space: nowrap;
    gap: 4px;
}

.page-emprende .empre-table-panel .btnEmpAction {
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 4px;
    line-height: 1.2;
    font-weight: 600;
    font-size: 11px;
}

.page-emprende .empre-table-panel .btnEmpAction.btnEliminarBeneficiario {
    min-width: 26px;
    padding-left: 6px;
    padding-right: 6px;
}

.page-emprende .empre-table-panel .tablaEmprende > tbody > tr > td:last-child {
    white-space: nowrap;
}

.page-emprende #modalAgregarBeneficiarioEmprende .select2-programa-beneficiario + .select2-container .select2-selection--single {
    min-height: 46px;
}

.page-emprende #modalAgregarBeneficiarioEmprende .select2-programa-beneficiario + .select2-container .select2-selection__rendered {
    white-space: normal;
    line-height: 1.25;
    padding-top: 8px;
    padding-bottom: 8px;
}

.page-emprende #modalAgregarBeneficiarioEmprende .select2-programa-beneficiario + .select2-container .select2-selection__arrow {
    min-height: 46px;
}

@media (max-width: 991px) {
    .page-emprende .empre-top-actions {
        align-items: flex-start;
    }

    .page-emprende .empre-top-actions-right {
        width: 100%;
        justify-content: flex-start;
    }

    .page-emprende .empre-search-row {
        justify-content: flex-start;
    }

    .page-emprende .empre-search-group {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .page-emprende .btn-emprende-head {
        width: 100%;
        text-align: center;
    }

    .page-emprende .empre-top-actions-left,
    .page-emprende .empre-top-actions-right {
        width: 100%;
    }

    .page-emprende .empre-table-panel .dataTables_wrapper > .row:first-child {
        padding: 6px;
    }

    .page-emprende .empre-table-panel .dataTables_wrapper .dt-buttons {
        margin-bottom: 4px;
    }
}

/* Inicio - tarjetas de modulos */
.page-inicio .content-header {
    padding-bottom: 4px;
}

.page-inicio .content-header > h1 {
    color: #233d58;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.page-inicio .inicio-modules-row > [class*="col-"] {
    margin-bottom: 16px;
}

.page-inicio .inicio-modules-wrap .inicio-modules-row {
    margin-left: -7px;
    margin-right: -7px;
}

.page-inicio .caja {
    border-radius: 14px;
    border: 1px solid #dbe6f2;
    box-shadow: 0 12px 24px rgba(24, 43, 64, 0.12);
    background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
    min-height: 420px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.page-inicio .caja:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(24, 43, 64, 0.18);
}

    .page-inicio .caja .inner {
        padding: 16px 16px 10px;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
}

.page-inicio .caja .titulos {
    border-left: 4px solid #ff8a00;
    left: auto;
    padding-left: 10px;
    margin: 0 0 8px;
}

.page-inicio .caja .titulos h3 {
    color: #5d6f82;
    font-weight: 700;
    line-height: 1.08;
}

.page-inicio .caja .imagen {
    width: 180px;
    height: 150px;
    max-width: 100%;
    position: static;
    object-fit: contain;
    margin: 6px auto 10px;
}

.page-inicio .caja .subtitulos {
    margin: 0 0 6px;
}

.page-inicio .caja .subtitulos small {
    letter-spacing: 0;
    color: #ff7a00;
}

.page-inicio .caja .subtitulos.subtitulos-card {
    margin: 4px 0 8px;
    color: #ff7a00;
    font-size: 28px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.page-inicio .caja p.texto {
    margin: 0;
    color: #ff7a00;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
}

.page-inicio .caja h1.texto {
    margin: 0 0 8px;
    color: #ff7a00;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
}

.page-inicio .caja > .small-box-footer {
    margin: 0 14px 14px;
    border-radius: 10px;
    background: linear-gradient(90deg, #ff8a00 0%, #ff7a00 100%);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.01em;
    border: 1px solid rgba(170, 84, 6, 0.16);
    box-shadow: 0 8px 14px rgba(255, 122, 0, 0.2);
}

.page-inicio .caja > .small-box-footer:hover {
    background: linear-gradient(90deg, #ff9823 0%, #ff830f 100%);
    color: #fff;
}

@media (max-width: 991px) {
    .page-inicio .caja {
        min-height: 390px;
    }
}

@media (max-width: 767px) {
    .page-inicio .caja {
        min-height: 0;
    }

    .page-inicio .caja .imagen {
        width: 150px;
        height: 126px;
    }

    .page-inicio .caja .subtitulos.subtitulos-card {
        font-size: 24px;
    }
}

/* Usuarios - interfaz profesional */
.page-usuarios .users-content {
    padding-top: 6px;
}

.page-usuarios .users-main-box {
    border-top: 0;
    border-radius: 14px;
    border: 1px solid #d8e3ef;
    overflow: hidden;
    box-shadow: 0 12px 26px rgba(20, 40, 64, 0.1);
}

.page-usuarios .users-toolbar {
    padding: 10px 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    border-bottom: 1px solid #dce7f2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.page-usuarios .users-toolbar-main {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;
}

.page-usuarios .btn-users-add {
    border-radius: 9px;
    min-height: 34px;
    padding: 6px 12px;
    font-weight: 700;
    font-size: 12px;
    box-shadow: 0 6px 12px rgba(43, 123, 191, 0.22);
}

.page-usuarios .btn-users-add .fa {
    margin-right: 6px;
}

.page-usuarios .users-toolbar-stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: auto;
    justify-content: flex-end;
}

.page-usuarios .users-stat-card {
    min-width: 96px;
    border: 1px solid #d4e1ee;
    border-radius: 9px;
    background: #fff;
    padding: 6px 9px;
}

.page-usuarios .users-stat-label {
    display: block;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.07em;
    color: #62809d;
    font-weight: 700;
    line-height: 1.1;
}

.page-usuarios .users-stat-value {
    display: block;
    margin-top: 2px;
    font-size: 20px;
    line-height: 1.1;
    color: #1d3f63;
    font-weight: 800;
}

.page-usuarios .users-stat-card-ok {
    background: #edf9f2;
    border-color: #c7e9d4;
}

.page-usuarios .users-stat-card-off {
    background: #fff1f2;
    border-color: #f3cfd3;
}

.page-usuarios .users-table-panel {
    padding: 10px 12px 12px;
}

.page-usuarios .users-table-wrap {
    overflow-x: hidden;
}

.page-usuarios .users-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid #dbe7f2;
    border-radius: 9px;
    background: #fbfdff;
}

.page-usuarios .users-table-panel .dataTables_wrapper .dataTables_length label,
.page-usuarios .users-table-panel .dataTables_wrapper .dataTables_filter label {
    margin-bottom: 0;
    color: #3f5871;
    font-weight: 600;
}

.page-usuarios .users-table-panel .dataTables_wrapper .dataTables_length select,
.page-usuarios .users-table-panel .dataTables_wrapper .dataTables_filter input {
    height: 32px;
    border-radius: 8px;
    border-color: #cbd9e8;
    font-size: 12px;
}

.page-usuarios .users-main-table > thead > tr > th {
    background: #f1f6fc;
    color: #243c56;
    border-bottom: 2px solid #d1deec;
    font-size: 13px;
    font-weight: 700;
    padding: 9px 8px;
    vertical-align: middle;
    white-space: normal;
    line-height: 1.25;
}

.page-usuarios .users-main-table > tbody > tr > td {
    padding: 8px 8px;
    font-size: 13px;
    color: #2f4a66;
    vertical-align: middle;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
}

.page-usuarios .users-main-table > tbody > tr:nth-child(even) > td {
    background: #fcfeff;
}

.page-usuarios .users-main-table.dataTable tbody tr:hover > td {
    background: #f4f9ff;
}

.page-usuarios .users-main-table {
    width: 100% !important;
    table-layout: fixed;
}

.page-usuarios .users-main-table > thead > tr > th:nth-child(1),
.page-usuarios .users-main-table > tbody > tr > td:nth-child(1) {
    width: 42px;
    text-align: center;
}

.page-usuarios .users-main-table > thead > tr > th:nth-child(5),
.page-usuarios .users-main-table > tbody > tr > td:nth-child(5),
.page-usuarios .users-main-table > thead > tr > th:nth-child(7),
.page-usuarios .users-main-table > tbody > tr > td:nth-child(7),
.page-usuarios .users-main-table > thead > tr > th:nth-child(9),
.page-usuarios .users-main-table > tbody > tr > td:nth-child(9) {
    text-align: center;
    white-space: nowrap;
}

.page-usuarios .users-avatar-thumb {
    width: 34px !important;
    height: 34px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #cfdaea;
    background: #fff;
}

.page-usuarios .users-profile-pill {
    display: inline-block;
    border-radius: 999px;
    background: #eef4fb;
    border: 1px solid #d3dfec;
    color: #35516c;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 700;
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-usuarios .users-state-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    border-radius: 999px;
    min-width: 112px;
    min-height: 28px;
    padding: 5px 10px 5px 42px;
    font-weight: 700;
    font-size: 11px;
    border: 1px solid #c7d4e3;
    background: #eef2f7;
    color: #4b6077;
    line-height: 1;
    transition: all 0.2s ease;
}

.page-usuarios .users-state-toggle::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 50%;
    width: 24px;
    height: 14px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: #b2c0cf;
    transition: background 0.2s ease;
}

.page-usuarios .users-state-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 11px;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    transition: left 0.2s ease;
}

.page-usuarios .users-state-toggle.btn-success {
    background: #eaf8f1;
    border-color: #bde5ce;
    color: #1f7b45;
}

.page-usuarios .users-state-toggle.btn-success::before {
    background: #18a855;
}

.page-usuarios .users-state-toggle.btn-success::after {
    left: 22px;
}

.page-usuarios .users-state-toggle.btn-danger {
    background: #fff1f1;
    border-color: #f0c4c6;
    color: #b53b44;
}

.page-usuarios .users-state-toggle.btn-danger::before {
    background: #de5a63;
}

.page-usuarios .users-state-toggle:focus,
.page-usuarios .users-state-toggle:active {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(47, 121, 184, 0.16);
}

.page-usuarios .users-action-group {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    white-space: nowrap;
    justify-content: center;
}

.page-usuarios .users-action-group .btn {
    min-height: 24px;
    border-radius: 7px;
    font-weight: 700;
    font-size: 10px;
    padding: 3px 8px;
}

.page-usuarios .users-action-group .btnVerPermisosUsuario {
    min-width: 62px;
}

.page-usuarios .aos-perm-badge,
.users-view-modal .aos-perm-badge {
    display: inline-block;
    min-width: 88px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2px;
    text-align: center;
    line-height: 1.2;
}

.page-usuarios .aos-perm-badge.is-allowed,
.users-view-modal .aos-perm-badge.is-allowed {
    color: #0f5132;
    background: #d1f4e6;
    border-color: #a6e5cc;
}

.page-usuarios .aos-perm-badge.is-blocked,
.users-view-modal .aos-perm-badge.is-blocked {
    color: #842029;
    background: #f8d7da;
    border-color: #f1aeb5;
}

.page-usuarios .user-data-grid,
.users-view-modal .user-data-grid {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 8px 12px;
    align-items: center;
}

.page-usuarios .user-data-label,
.users-view-modal .user-data-label {
    color: #60748a;
    font-weight: 600;
    margin: 0;
}

.page-usuarios .user-data-value,
.users-view-modal .user-data-value {
    margin: 0;
    font-weight: 700;
    color: #2f3e4d;
}

.users-modal .modal-content {
    border-radius: 14px;
    border: 1px solid #d7e2ef;
    overflow: hidden;
    box-shadow: 0 20px 38px rgba(18, 40, 64, 0.24);
}

.users-modal .users-modal-header {
    background: linear-gradient(135deg, #2f79b8 0%, #3d94d3 100%);
    color: #fff;
    border-bottom: 0;
    padding: 12px 14px;
}

.users-modal .users-modal-header .modal-title {
    font-weight: 700;
    letter-spacing: 0.01em;
}

.users-modal .users-modal-header .close {
    color: #fff;
    opacity: 0.9;
}

.users-modal .users-modal-body {
    padding: 14px 14px 10px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.users-modal .users-form-body {
    padding: 0;
}

.users-modal .users-form-body .form-group {
    margin-bottom: 12px;
}

.users-modal .users-form-body .input-group-addon {
    background: #f3f8fe;
    border-color: #cfdceb;
    color: #3a5c7f;
    border-radius: 8px 0 0 8px;
}

.users-modal .users-form-body .form-control {
    height: 40px;
    border-color: #cfdceb;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
}

.users-modal .users-form-body select.form-control {
    padding-right: 26px;
}

.users-modal .users-form-label {
    display: block;
    margin: 0 0 7px;
    color: #506a83;
    font-weight: 700;
}

.users-modal .users-perm-group {
    margin-top: 2px;
    border: 1px solid #d9e4f0;
    border-radius: 10px;
    background: #fbfdff;
    padding: 10px;
}

.users-modal .users-perm-options {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.users-modal .users-check {
    margin: 0;
    font-weight: 600;
    color: #40586f;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #d7e2ef;
    border-radius: 999px;
    background: #fff;
}

.users-modal .users-check input[type="checkbox"] {
    margin-top: 0;
}

.users-modal .users-photo-block {
    border: 1px solid #d9e4f0;
    border-radius: 10px;
    background: #fbfdff;
    padding: 10px;
}

.users-modal .users-photo-title {
    margin-bottom: 8px;
}

.users-modal .users-photo-preview {
    width: 96px;
    height: 96px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid #ccd9e8;
    background: #fff;
}

.users-modal .users-modal-footer {
    border-top: 1px solid #dbe6f2;
    background: #f8fbff;
    padding: 10px 14px;
}

.users-modal .users-btn-cancel,
.users-modal .users-btn-submit {
    min-height: 36px;
    border-radius: 8px;
    font-weight: 700;
    padding: 7px 14px;
}

.page-usuarios .error,
.users-modal .error {
    color: #dc3545;
    font-weight: 600;
    margin-top: 5px;
    display: inline-block;
}

@media (max-width: 991px) {
    .page-usuarios .users-toolbar {
        align-items: flex-start;
    }

    .page-usuarios .users-toolbar-main {
        width: 100%;
    }

    .page-usuarios .users-toolbar-stats {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }

    .page-usuarios .users-stat-card {
        flex: 1 1 100px;
    }

    .page-usuarios .user-data-grid {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (max-width: 767px) {
    .page-usuarios .btn-users-add {
        width: 100%;
    }

    .page-usuarios .users-main-table > tbody > tr > td {
        white-space: normal;
    }

    .users-modal .users-modal-footer .pull-left {
        float: none !important;
        width: 100%;
        margin-bottom: 8px;
    }

    .users-modal .users-modal-footer .users-btn-submit {
        width: 100%;
    }
}

/* All Carpetas */
.page-all-carpetas .dataTables_filter {
    margin: 0;
}

.page-all-carpetas .box {
    border-top: 0;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #d9e4ef;
    box-shadow: 0 16px 34px rgba(18, 36, 59, 0.08);
}

.page-all-carpetas .allcarp-header-panel {
    padding: 16px 18px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fe 100%);
    border-bottom: 1px solid #dfe8f2;
}

.page-all-carpetas .allcarp-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}

.page-all-carpetas .allcarp-header-title .box-title {
    font-size: 22px;
    font-weight: 700;
    color: #1f3550;
}

.page-all-carpetas .allcarp-header-subtitle {
    margin: 4px 0 0;
    color: #5f758d;
    font-size: 14px;
}

.page-all-carpetas .allcarp-header-tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-all-carpetas .allcarp-header-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #cde0f3;
    background: #f4f9ff;
    color: #335b84;
    font-size: 12px;
    font-weight: 700;
}

.page-all-carpetas .allcarp-metrics {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.page-all-carpetas .allcarp-metric-card {
    min-width: 150px;
    flex: 1 1 150px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #d5e2ef;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.page-all-carpetas .allcarp-metric-label {
    display: block;
    color: #6b8097;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.page-all-carpetas .allcarp-metric-value {
    margin-top: 3px;
    display: inline-block;
    color: #1d3f6a;
    font-size: 26px;
    line-height: 1.1;
    font-weight: 800;
}

.page-all-carpetas .allcarp-table-panel {
    padding: 12px 14px 16px;
}

.page-all-carpetas .allcarp-table-shell {
    overflow-x: visible;
}

.page-all-carpetas .allcarp-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 12px 0;
    padding: 10px 12px;
    border: 1px solid #dbe6f2;
    border-radius: 10px;
    background: linear-gradient(180deg, #fcfdff 0%, #f6f9fe 100%);
}

.page-all-carpetas .allcarp-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4b5663;
}

.page-all-carpetas .allcarp-table-panel .dataTables_wrapper .dataTables_length select {
    height: 34px;
    border-radius: 8px;
    border-color: #c8d7e7;
}

.page-all-carpetas .allcarp-table-panel .dataTables_wrapper .dataTables_filter input {
    height: 36px;
    border-radius: 9px;
    border-color: #c8d7e7;
    min-width: 200px;
}

.page-all-carpetas .allcarp-table > thead > tr > th {
    background: linear-gradient(180deg, #f3f7fc 0%, #ebf2fa 100%);
    color: #213750;
    border-bottom: 2px solid #cfdcec;
    font-weight: 700;
    padding: 11px 10px;
    vertical-align: middle;
    white-space: normal;
    font-size: 14px;
}

.page-all-carpetas .allcarp-table {
    width: 100% !important;
    table-layout: fixed;
}

.page-all-carpetas .allcarp-table > tbody > tr > td {
    padding: 12px 10px;
    vertical-align: middle;
    font-size: 13px;
    white-space: normal;
    word-break: break-word;
    border-top-color: #e4ebf4;
}

.page-all-carpetas .allcarp-table > tbody > tr:nth-child(even) > td {
    background: #fcfdff;
}

.page-all-carpetas .allcarp-table.dataTable tbody tr:hover {
    background-color: #eef6ff;
}

.page-all-carpetas .allcarp-table > thead > tr > th:nth-child(1) {
    width: 64px;
}

.page-all-carpetas .allcarp-table > thead > tr > th:nth-child(3),
.page-all-carpetas .allcarp-table > tbody > tr > td:nth-child(3) {
    width: 200px;
    text-align: center;
}

.page-all-carpetas .allcarp-program-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.page-all-carpetas .allcarp-program-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #eaf3ff;
    color: #2f70b2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.page-all-carpetas .allcarp-program-copy {
    min-width: 0;
}

.page-all-carpetas .allcarp-program-name {
    display: block;
    color: #1d4575;
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.page-all-carpetas .allcarp-program-region {
    display: block;
    margin-top: 2px;
    color: #6f8398;
    font-size: 12px;
    line-height: 1.2;
}

.page-all-carpetas .btn-allcarp-open {
    min-height: 36px;
    border-radius: 9px;
    font-weight: 700;
    padding: 7px 14px;
    box-shadow: 0 6px 14px rgba(30, 136, 83, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-all-carpetas .btn-allcarp-open:hover,
.page-all-carpetas .btn-allcarp-open:focus {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(30, 136, 83, 0.25);
}

.page-all-carpetas .allcarp-empty-row {
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #647b92;
    padding: 26px 12px !important;
    background: #f8fbff;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .dataTables_wrapper > .row:first-child,
.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .dataTables_wrapper .dataTables_info,
.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .dataTables_wrapper .dataTables_paginate {
    display: none !important;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > thead {
    display: none;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    margin: 0 0 10px;
    border: 1px solid #d8e5f2;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(25, 60, 96, 0.07);
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr > td {
    display: block;
    width: auto !important;
    border: 0;
    padding: 0;
    background: transparent !important;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr > td:nth-child(1) {
    display: none;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr > td:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr > td:nth-child(3) {
    flex: 0 0 auto;
    padding: 0;
    text-align: right;
}

.page-all-carpetas .allcarp-table-panel.allcarp-list-mode .btn-allcarp-open {
    width: auto;
    min-width: 168px;
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 10px;
    justify-content: center;
    font-size: 14px;
}

@media (max-width: 767px) {
    .page-all-carpetas .allcarp-header-panel {
        padding: 12px 10px 10px;
    }

    .page-all-carpetas .allcarp-header-title .box-title {
        font-size: 18px;
    }

    .page-all-carpetas .allcarp-metrics {
        gap: 8px;
    }

    .page-all-carpetas .allcarp-metric-card {
        min-width: 0;
        flex-basis: calc(50% - 4px);
    }

    .page-all-carpetas .allcarp-metric-value {
        font-size: 22px;
    }

    .page-all-carpetas .allcarp-table-panel .dataTables_wrapper > .row:first-child {
        padding: 8px;
    }

    .page-all-carpetas .allcarp-table-panel .dataTables_wrapper .dataTables_filter input {
        min-width: 140px;
    }

    .page-all-carpetas .allcarp-program-name {
        font-size: 13px;
    }

    .page-all-carpetas .allcarp-program-region {
        font-size: 11px;
    }

    .page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr > td:nth-child(2) {
        padding: 12px 12px 8px;
    }

    .page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr > td:nth-child(3) {
        padding: 0 12px 12px;
    }

    .page-all-carpetas .allcarp-table-panel.allcarp-list-mode .allcarp-table > tbody > tr {
        display: block;
        padding: 0;
    }

    .page-all-carpetas .allcarp-table-panel.allcarp-list-mode .btn-allcarp-open {
        width: 100%;
    }
}

/* Carpetas (Hosting / Drive) */
.page-carpetas .box {
    border-top: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(31, 45, 61, 0.08);
}

.page-carpetas .carpetas-topbar {
    padding: 12px 14px 10px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.page-carpetas .btn-carpetas-back {
    min-height: 36px;
    border-radius: 6px;
    padding: 7px 14px;
    font-weight: 700;
}

.page-carpetas .box-body {
    padding-top: 10px;
}

.page-carpetas .carpetas-aos-table > thead > tr > th {
    background: #f5f8fc;
    color: #2a3f55;
    border-bottom: 1px solid #dbe5ef;
}

.page-carpetas .carpetas-aos-table > thead > tr:nth-child(2) > td {
    vertical-align: middle;
    padding: 10px 8px;
}

.page-carpetas .carpetas-aos-icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(12, 41, 69, 0.15));
}

.page-carpetas .carpetas-storage-panel {
    border-radius: 10px;
    border-color: #d5e2ef !important;
    box-shadow: 0 6px 16px rgba(22, 51, 82, 0.08);
}

.page-carpetas .carpetas-storage-panel--compact {
    margin-bottom: 8px !important;
}

.page-carpetas .carpetas-storage-body {
    padding: 14px 16px 10px !important;
}

.page-carpetas .carpetas-storage-panel--compact .carpetas-storage-body {
    padding: 10px 14px 8px !important;
}

.page-carpetas .carpetas-divider--compact {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
}

.page-carpetas .carpetas-field-label {
    font-weight: 700 !important;
    color: #35516d !important;
    letter-spacing: 0.4px;
    margin-bottom: 6px !important;
}

.page-carpetas #filtroOrigenStorage,
.page-carpetas #idPrograma {
    border-radius: 6px;
    border-color: #cfdbe8;
}

.page-carpetas #filtroOrigenStorage {
    height: 34px;
}

.page-carpetas #idPrograma {
    height: 42px;
}

.page-carpetas .btn-carpetas-zip {
    min-width: 186px !important;
    border-radius: 7px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(60, 141, 188, 0.2);
}

.page-carpetas .btn-carpetas-download {
    min-height: 32px;
    border-radius: 8px;
    border: 1px solid #c4d5e7 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f3f7fc 100%) !important;
    color: #35516f !important;
    font-weight: 700;
    padding: 6px 12px;
    box-shadow: 0 3px 10px rgba(36, 62, 90, 0.12);
    transition: all 0.18s ease;
}

.page-carpetas .btn-carpetas-download .fa {
    margin-right: 4px;
}

.page-carpetas .btn-carpetas-download:hover,
.page-carpetas .btn-carpetas-download:focus {
    border-color: #7fb0db !important;
    background: linear-gradient(180deg, #eef6ff 0%, #e3f0fd 100%) !important;
    color: #214b78 !important;
    box-shadow: 0 7px 14px rgba(43, 97, 149, 0.2);
    transform: translateY(-1px);
}

.page-carpetas .btn-carpetas-download:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(36, 62, 90, 0.15);
}

.page-carpetas #cancelarZip {
    border-radius: 7px;
    font-weight: 600;
}

.page-carpetas #descargasPartes .alert {
    border-radius: 8px;
    font-weight: 600;
}

.page-carpetas .carpetas-divider {
    margin: 8px 0 14px;
    border-top-color: #dbe6f2;
}

.page-carpetas .carpetas-drive-container .panel-primary {
    border-radius: 10px;
    border-color: #2f82ba;
    overflow: hidden;
}

.page-carpetas .carpetas-drive-container .panel-primary > .panel-heading {
    background: linear-gradient(120deg, #2f82ba 0%, #3c8dbc 100%);
    border-color: #2f82ba;
}

.page-carpetas #driveBreadcrumb {
    border-radius: 8px !important;
    border-color: #d5e2ef !important;
    background: #f8fbff !important;
}

.page-carpetas .drive-panel-main {
    box-shadow: 0 10px 24px rgba(20, 48, 79, 0.12);
    margin-top: 0 !important;
}

.page-carpetas .drive-panel-body {
    padding: 10px 12px 12px;
}

.page-carpetas .drive-header-shell {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.page-carpetas .drive-header-left {
    flex: 1 1 auto;
    min-width: 260px;
}

.page-carpetas .drive-header-right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.page-carpetas .drive-inline-search-wrap {
    min-width: 240px;
    max-width: 340px;
}

.page-carpetas .drive-level-programas .drive-header-right {
    flex: 0 1 390px;
}

.page-carpetas .drive-level-programas .drive-shortcut-group {
    display: none !important;
}

.page-carpetas .drive-level-programas .drive-inline-search-wrap {
    width: 240px;
    min-width: 220px;
    max-width: 260px;
}

.page-carpetas .drive-shortcut-group .btn,
.page-carpetas .drive-go-up-btn {
    font-weight: 600;
}

.page-carpetas .drive-meta-pill {
    display: none;
}

.page-carpetas .drive-inline-search-wrap .input-group-addon {
    background: #f2f6fb;
    border-color: #c8d8e8;
    color: #4b6885;
}

.page-carpetas .drive-inline-search-wrap .form-control {
    border-color: #c8d8e8;
}

.page-carpetas .drive-inline-search-wrap .btn {
    border-color: #c8d8e8;
}

.page-carpetas .drive-breadcrumb-box {
    margin-bottom: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #d5e2ef !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
    min-height: 40px;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.page-carpetas .drive-breadcrumb-box::-webkit-scrollbar {
    height: 7px;
}

.page-carpetas .drive-breadcrumb-box::-webkit-scrollbar-thumb {
    background: #9fb6cd;
    border-radius: 999px;
}

.page-carpetas .drive-breadcrumb-link {
    color: #2f79b8;
    font-weight: 600;
}

.page-carpetas .drive-crumb-sep {
    color: #8aa0b6;
    margin: 0 6px;
}

.page-carpetas .drive-crumb-current {
    color: #1f3550;
    font-weight: 700;
}

.page-carpetas .drive-go-up-btn {
    border-radius: 7px;
    font-weight: 700;
    min-height: 31px;
}

.page-carpetas .drive-meta-pill {
    display: none !important;
    align-items: center;
    min-height: 30px;
    border-radius: 999px;
    padding: 0 10px;
    font-size: 12px;
    letter-spacing: 0.02em;
    font-weight: 700;
}

.page-carpetas .drive-meta-pill-folders {
    background: #edf4fb !important;
    color: #315779 !important;
    border: 1px solid #c4d7ea;
}

.page-carpetas .drive-meta-pill-files {
    background: #f6f8fb !important;
    color: #455a70 !important;
    border: 1px solid #d5deea;
}

.page-carpetas .drive-loading-box {
    border: 1px solid #cae2f2;
    border-radius: 8px;
    background: #edf7ff;
    color: #255f93;
    padding: 8px 10px;
    font-weight: 600;
}

.page-carpetas #driveList .table {
    margin-bottom: 0;
}

.page-carpetas #driveList .table > thead > tr > th {
    background: #f2f6fb;
    border-bottom: 2px solid #d6e1ee;
    color: #2a3f55;
    font-weight: 700;
}

.page-carpetas #driveList .table > tbody > tr > td {
    vertical-align: middle;
    padding: 7px 8px;
}

.page-carpetas #driveList .btn {
    border-radius: 6px;
    font-weight: 600;
}

.page-carpetas .drive-upload-panel {
    border-radius: 8px;
    background: #ffffff;
}

.page-carpetas .drive-upload-panel-body {
    padding: 10px 12px !important;
}

.page-carpetas .drive-upload-title {
    font-weight: 700 !important;
    color: #2f4f67 !important;
    letter-spacing: 0.2px;
}

.page-carpetas .drive-upload-submit-btn {
    border-radius: 7px;
    font-weight: 700;
    min-height: 34px;
    width: auto;
    min-width: 180px;
    flex: 0 0 auto;
}

.page-carpetas .drive-upload-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.page-carpetas .drive-upload-input {
    flex: 1 1 auto;
    min-width: 220px;
}

.page-carpetas .drive-list-shell {
    margin-top: 4px;
}

.page-carpetas .drive-level-programas .drive-list-shell,
.page-carpetas .drive-level-beneficiarios .drive-list-shell {
    width: min(80%);
    margin-left: auto;
    margin-right: auto;
}

.page-carpetas .drive-table-wrap {
    border: 1px solid #d9e3ea;
    border-radius: 6px;
    overflow-x: hidden;
    overflow-y: hidden;
    background: #fff;
    min-height: 0;
}

.page-carpetas .drive-table {
    margin-bottom: 0;
    background: #fff;
    table-layout: fixed;
    width: 100% !important;
    min-width: 0;
}

.page-carpetas .drive-table-folders col.drive-col-index,
.page-carpetas .drive-table-documents col.drive-col-index {
    width: 44px;
}

.page-carpetas .drive-table-folders col.drive-col-actions {
    width: 120px;
}

.page-carpetas .drive-table-documents col.drive-col-verification {
    width: 130px;
}

.page-carpetas .drive-table-documents col.drive-col-observation {
    width: 210px;
}

.page-carpetas .drive-table-documents col.drive-col-actions {
    width: 260px;
}

.page-carpetas .drive-table > thead > tr > th {
    background: #f5f8fb;
    font-size: 12px;
    padding: 9px 10px;
    vertical-align: middle;
}

.page-carpetas .drive-table > tbody > tr > td {
    padding: 9px 10px;
    vertical-align: middle;
}

.page-carpetas .drive-col-index {
    width: 50px;
    text-align: center;
}

.page-carpetas .drive-col-verification {
    width: 130px;
}

.page-carpetas .drive-col-observation {
    width: 210px;
}

.page-carpetas .drive-col-actions {
    width: 140px;
    min-width: 0;
}

.page-carpetas .drive-table-folders .drive-col-actions {
    width: 120px;
}

.page-carpetas .drive-table-documents .drive-col-actions {
    width: 260px;
}

.page-carpetas .drive-name-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 26px;
    width: 100%;
    min-width: 0;
}

.page-carpetas .drive-name-icon {
    width: 18px;
    text-align: center;
    font-size: 16px;
}

.page-carpetas .drive-name-icon-folder {
    color: #d39a24;
}

.page-carpetas .drive-name-icon-file {
    color: #7b8a99;
}

.page-carpetas .drive-name-text {
    font-weight: 700;
    color: #2b4761;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-carpetas .drive-actions-cell {
    white-space: nowrap;
    text-align: center;
}

.page-carpetas .drive-actions-group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
}

.page-carpetas .drive-actions-group .btn {
    min-width: 78px;
    padding: 5px 9px;
    font-size: 12px;
    border-radius: 7px !important;
}

.page-carpetas .drive-table-folders .drive-actions-group {
    max-width: 150px;
}

.page-carpetas .drive-table-folders .drive-actions-group .btn {
    min-width: 72px;
}

.page-carpetas .drive-table-documents > tbody > tr > td:nth-child(3),
.page-carpetas .drive-table-documents > tbody > tr > td:nth-child(4) {
    font-size: 12px;
    color: #3f5367;
}

.page-carpetas .drive-table-documents > tbody > tr > td:nth-child(4) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-carpetas .drive-quick-actions {
    border: 1px solid #d9e3ea;
    border-radius: 6px;
    background: #fff;
    margin: 0 0 10px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.page-carpetas .drive-quick-actions-title {
    color: #2f4f67;
    font-size: 12px;
    font-weight: 700;
    margin-right: 4px;
}

.page-carpetas .drive-quick-btn {
    border-radius: 6px !important;
    font-weight: 700;
    min-width: 112px;
}

.page-carpetas .drive-empty-state {
    border: 1px dashed #c7daeb;
    border-radius: 10px;
    background: #f8fcff;
    color: #3a5a77;
    padding: 16px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.page-carpetas .drive-empty-state > i {
    color: #3c8dbc;
    font-size: 18px;
}

.page-carpetas .drive-list-pagination {
    margin-top: 10px;
}

.page-carpetas .carpetas-main-table {
    width: 100% !important;
    table-layout: fixed;
}

.page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(1),
.page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(1) {
    width: 25%;
}

.page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(2),
.page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(2) {
    width: 25%;
}

.page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(3),
.page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(3) {
    width: 38%;
}

.page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(4),
.page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(4) {
    width: 12%;
}

.page-carpetas .carpetas-main-table--simple > thead > tr > th:nth-child(1),
.page-carpetas .carpetas-main-table--simple > tbody > tr > td:nth-child(1) {
    width: 36%;
}

.page-carpetas .carpetas-main-table--simple > thead > tr > th:nth-child(2),
.page-carpetas .carpetas-main-table--simple > tbody > tr > td:nth-child(2) {
    width: 46%;
}

.page-carpetas .carpetas-main-table--simple > thead > tr > th:nth-child(3),
.page-carpetas .carpetas-main-table--simple > tbody > tr > td:nth-child(3) {
    width: 18%;
}

.page-carpetas .dataTables_wrapper > .row:first-child {
    margin: 0 0 10px;
    padding: 9px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fafbfd;
}

.page-carpetas .dataTables_wrapper .dt-buttons {
    display: none !important;
}

.page-carpetas .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4b5663;
}

.page-carpetas .dataTables_wrapper .dataTables_filter input {
    height: 34px;
    border-radius: 6px;
    border-color: #c9d7e6;
    min-width: 220px;
}

.page-carpetas .carpetas-main-table > thead > tr > th {
    background: #f2f6fb;
    color: #2a3f55;
    border-bottom: 2px solid #d6e1ee;
    font-weight: 700;
    white-space: normal;
    word-break: break-word;
    font-size: 14px;
}

.page-carpetas .carpetas-main-table > tbody > tr > td {
    padding: 8px 8px;
    vertical-align: middle;
    font-size: 13px;
    white-space: normal;
    word-break: break-word;
}

.page-carpetas .carpetas-main-table .btn-group {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    max-width: 100%;
    white-space: nowrap;
}

.page-carpetas .carpetas-main-table .btn-group .btn {
    float: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 9px;
    white-space: nowrap;
    line-height: 1.15;
    min-height: 31px;
    max-width: 100%;
}

.page-carpetas #btnEjecucionRecursos {
    display: none !important;
}

.page-carpetas .carpetas-main-table.dataTable tbody tr:hover {
    background-color: #f7fbff;
}

.page-carpetas .drive-table-wrap .dataTables_scroll,
.page-carpetas .drive-table-wrap .dataTables_scrollHead,
.page-carpetas .drive-table-wrap .dataTables_scrollBody {
    width: 100% !important;
}

.page-carpetas .drive-table-wrap .dataTables_wrapper {
    overflow-x: hidden !important;
}

.page-carpetas .drive-table-wrap .dataTables_scrollBody {
    border-bottom: 1px solid #d8e2ee !important;
    border-radius: 0 0 8px 8px;
    overflow-x: hidden !important;
}

@media (max-width: 991px) {
    .page-carpetas .dataTables_wrapper .dataTables_filter input {
        min-width: 170px;
    }

    .page-carpetas #idPrograma {
        height: 40px;
    }

    .page-carpetas .carpetas-main-table .btn-group {
        flex-wrap: wrap;
    }

    .page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(1),
    .page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(1) {
        width: 30%;
    }

    .page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(2),
    .page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(2) {
        width: 20%;
    }

    .page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(3),
    .page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(3) {
        width: 36%;
    }

    .page-carpetas .carpetas-main-table--beneficiario > thead > tr > th:nth-child(4),
    .page-carpetas .carpetas-main-table--beneficiario > tbody > tr > td:nth-child(4) {
        width: 14%;
    }

    .page-carpetas .drive-header-shell {
        flex-direction: column;
        align-items: stretch;
    }

    .page-carpetas .drive-header-right {
        justify-content: flex-start;
    }

    .page-carpetas .drive-inline-search-wrap {
        min-width: 240px;
        max-width: 100%;
    }

    .page-carpetas .drive-table-documents col.drive-col-actions {
        width: 260px;
    }
}

@media (max-width: 767px) {
    .page-carpetas .carpetas-topbar {
        padding: 10px;
    }

    .page-carpetas .btn-carpetas-back {
        width: 100%;
    }

    .page-carpetas .carpetas-storage-body {
        padding: 10px !important;
    }

    .page-carpetas .btn-carpetas-zip,
    .page-carpetas #cancelarZip {
        width: 100%;
        margin-left: 0 !important;
        margin-bottom: 8px;
    }

    .page-carpetas .dataTables_wrapper > .row:first-child {
        padding: 8px;
    }

    .page-carpetas .dataTables_wrapper .dataTables_filter input {
        min-width: 130px;
    }

    .page-carpetas .drive-breadcrumb-box {
        font-size: 12px;
    }

    .page-carpetas .drive-header-right {
        gap: 6px;
    }

    .page-carpetas .drive-inline-search-wrap {
        width: 100%;
        min-width: 100%;
    }

    .page-carpetas .drive-upload-row {
        flex-direction: column;
        align-items: stretch;
    }

    .page-carpetas .drive-upload-input {
        width: 100%;
        min-width: 100%;
    }

    .page-carpetas .drive-upload-submit-btn {
        width: 100%;
        min-width: 100%;
    }

    .page-carpetas .drive-go-up-btn,
    .page-carpetas .drive-meta-pill {
        width: 100%;
        justify-content: center;
    }

    .page-carpetas .drive-actions-group .btn {
        min-width: 74px;
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* Modal Plan Inversion Emprende */
.modal-planinv-emprende .emp-plan-modal-dialog {
    margin-top: 30px;
    max-width: 980px;
    width: calc(100% - 24px);
}

.modal-planinv-emprende .emp-plan-modal-content {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #cfe0ef;
    box-shadow: 0 14px 30px rgba(20, 45, 78, 0.22);
}

.modal-planinv-emprende .emp-plan-modal-header {
    border-bottom: 0;
    padding: 14px 18px;
}

.modal-planinv-emprende .emp-plan-modal-header .modal-title {
    font-weight: 700;
    letter-spacing: 0.2px;
}

.modal-planinv-emprende .emp-plan-modal-header .close {
    opacity: 0.9;
    color: #fff;
}

.modal-planinv-emprende .emp-plan-modal-body {
    padding: 16px 18px 10px;
    background: #f8fbff;
}

.modal-planinv-emprende .emp-plan-modal-box {
    background: #fff;
    border: 1px solid #e0eaf4;
    border-radius: 10px;
    padding: 14px 14px 10px;
}

.modal-planinv-emprende .emp-plan-counter-wrap {
    margin-bottom: 10px;
}

.modal-planinv-emprende .emp-plan-counter-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid #d4e6f7;
    border-radius: 12px;
    background: linear-gradient(120deg, #f5fbff 0%, #ffffff 100%);
    box-shadow: 0 4px 12px rgba(32, 76, 121, 0.12);
}

.modal-planinv-emprende .emp-plan-counter-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #2f8ac4;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 4px 10px rgba(33, 113, 170, 0.26);
}

.modal-planinv-emprende .emp-plan-counter-content {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.modal-planinv-emprende .emp-plan-counter-label {
    font-size: 14px;
    font-weight: 700;
    color: #3b5167;
    text-transform: uppercase;
    letter-spacing: 0.9px;
}

.modal-planinv-emprende .emp-plan-counter-number {
    min-width: 72px;
    height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    background: #e8f3ff;
    color: #1f4c73;
    border: 1px solid #c2d8ef;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
}

.modal-planinv-emprende .emp-plan-modal-row {
    margin-bottom: 2px;
}

.modal-planinv-emprende .emp-plan-modal-input .input-group-addon {
    background: #f7f9fc;
    color: #4f6276;
    border-color: #d8e4f0;
}

.modal-planinv-emprende .emp-plan-modal-input .form-control {
    border-color: #d8e4f0;
    color: #2a3f54;
}

.modal-planinv-emprende .emp-plan-modal-input .form-control:focus {
    border-color: #5bb4f3;
    box-shadow: 0 0 0 2px rgba(91, 180, 243, 0.12);
}

.modal-planinv-emprende .emp-plan-modal-list .emp-plan-desc-row + .emp-plan-desc-row {
    margin-top: 8px;
}

.modal-planinv-emprende .emp-plan-modal-list .emp-plan-desc-row .form-control {
    border-right: 0;
}

.modal-planinv-emprende .emp-plan-modal-list .emp-plan-remove {
    min-width: 44px;
    height: 46px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-color: #d9534f;
    font-size: 12px;
    font-weight: 700;
}

.modal-planinv-emprende .emp-plan-modal-actions {
    margin-top: 14px;
}

.modal-planinv-emprende .emp-plan-modal-add {
    min-width: 138px;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    border: 1px solid #1e9459;
    box-shadow: 0 6px 14px rgba(0, 166, 90, 0.2);
    background: linear-gradient(120deg, #11a765 0%, #009f5b 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.modal-planinv-emprende .emp-plan-modal-add:hover,
.modal-planinv-emprende .emp-plan-modal-add:focus {
    background: linear-gradient(120deg, #0f9d5f 0%, #008d50 100%);
    border-color: #167a49;
    color: #fff;
    transform: translateY(-1px);
}

.modal-planinv-emprende .emp-plan-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 16px;
}

.modal-planinv-emprende .btn-emp-plan-cancel,
.modal-planinv-emprende .btn-emp-plan-save {
    min-width: 130px;
    border-radius: 7px;
    font-weight: 700;
}

@media (max-width: 767px) {
    .modal-planinv-emprende .emp-plan-modal-dialog {
        width: calc(100% - 10px);
        margin-top: 10px;
    }

    .modal-planinv-emprende .emp-plan-counter-card {
        align-items: flex-start;
        padding: 12px;
    }

    .modal-planinv-emprende .emp-plan-counter-content {
        width: calc(100% - 52px);
    }

    .modal-planinv-emprende .emp-plan-counter-label {
        font-size: 12px;
    }

    .modal-planinv-emprende .emp-plan-counter-number {
        font-size: 22px;
        min-width: 62px;
        height: 38px;
    }

    .modal-planinv-emprende .btn-emp-plan-cancel,
    .modal-planinv-emprende .btn-emp-plan-save,
    .modal-planinv-emprende .emp-plan-modal-add {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-planinv-emprende .modal-footer .pull-left {
        float: none !important;
    }
}

/* Modal Editar Beneficiario Emprende */
.modal-edit-beneficiario-emprende .emp-edit-modal-dialog {
    width: calc(100% - 24px);
    max-width: 1120px;
    margin-top: 16px;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-content {
    border-radius: 14px;
    border: 1px solid #cfe0f2;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(21, 47, 79, 0.22);
}

.modal-edit-beneficiario-emprende .emp-edit-modal-header {
    background: linear-gradient(120deg, #2f82ba 0%, #3c8dbc 100%);
    color: #fff;
    border-bottom: 0;
    padding: 14px 18px 10px;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-header .modal-title {
    margin: 0;
    font-weight: 700;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-header .close {
    color: #fff;
    opacity: 0.9;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-subtitle {
    margin: 4px 0 0;
    font-size: 13px;
    opacity: 0.94;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-body {
    background: #f4f8fc;
    padding: 14px 16px;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-form {
    background: #fff;
    border: 1px solid #dfe9f3;
    border-radius: 12px;
    padding: 14px 12px 8px;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-form br {
    display: none;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-form .row {
    margin-bottom: 10px;
}

.modal-edit-beneficiario-emprende .emp-edit-modal-form .form-group {
    margin-bottom: 10px;
}

.modal-edit-beneficiario-emprende .input-group {
    width: 100%;
}

.modal-edit-beneficiario-emprende .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-edit-beneficiario-emprende .form-control,
.modal-edit-beneficiario-emprende select.form-control {
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
}

.modal-edit-beneficiario-emprende .form-control:focus,
.modal-edit-beneficiario-emprende select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-edit-beneficiario-emprende .emp-edit-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 16px;
}

.modal-edit-beneficiario-emprende .emp-edit-btn-cancel,
.modal-edit-beneficiario-emprende .emp-edit-btn-save {
    min-width: 136px;
    border-radius: 8px;
    font-weight: 700;
}

.modal-edit-beneficiario-emprende .emp-edit-btn-save {
    box-shadow: 0 8px 18px rgba(60, 141, 188, 0.22);
}

@media (max-width: 991px) {
    .modal-edit-beneficiario-emprende .emp-edit-modal-dialog {
        width: calc(100% - 14px);
    }

    .modal-edit-beneficiario-emprende .emp-edit-modal-body {
        max-height: calc(100vh - 165px);
        padding: 10px;
    }
}

@media (max-width: 767px) {
    .modal-edit-beneficiario-emprende .emp-edit-modal-header {
        padding: 12px 12px 10px;
    }

    .modal-edit-beneficiario-emprende .emp-edit-modal-subtitle {
        font-size: 12px;
    }

    .modal-edit-beneficiario-emprende .emp-edit-btn-cancel,
    .modal-edit-beneficiario-emprende .emp-edit-btn-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-edit-beneficiario-emprende .modal-footer .pull-left {
        float: none !important;
    }
}

/* Modal Rendicion Emprende */
.modal-rendicion-emprende .emp-rend-modal-dialog {
    width: 92%;
    max-width: 1520px;
    margin: 14px auto;
}

.modal-rendicion-emprende .emp-rend-modal-content {
    border-radius: 14px;
    border: 1px solid #cfe0f2;
    overflow: hidden;
    box-shadow: 0 20px 46px rgba(21, 47, 79, 0.25);
}

.modal-rendicion-emprende .emp-rend-modal-header {
    background: linear-gradient(120deg, #2f82ba 0%, #3c8dbc 100%);
    color: #fff;
    border-bottom: 0;
    padding: 14px 18px 10px;
}

.modal-rendicion-emprende .emp-rend-modal-header .modal-title {
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.2px;
}

.modal-rendicion-emprende .emp-rend-modal-header .close {
    color: #fff;
    opacity: 0.9;
}

.modal-rendicion-emprende .emp-rend-modal-subtitle {
    margin: 4px 0 0;
    font-size: 13px;
    opacity: 0.94;
}

.modal-rendicion-emprende .emp-rend-modal-body {
    background: #f4f8fc;
    padding: 14px 16px;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.modal-rendicion-emprende .emp-rend-modal-form {
    background: #fff;
    border: 1px solid #dfe9f3;
    border-radius: 12px;
    padding: 14px 12px 8px;
}

.modal-rendicion-emprende .emp-rend-section {
    margin-bottom: 14px;
    padding: 12px 12px 10px;
    border: 1px solid #e1ebf4;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.modal-rendicion-emprende .emp-rend-section-header {
    margin-bottom: 12px;
}

.modal-rendicion-emprende .emp-rend-section-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5fd;
    color: #2f648d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modal-rendicion-emprende .emp-rend-section-title {
    margin: 0;
    color: #25455f;
    font-size: 16px;
    font-weight: 700;
}

.modal-rendicion-emprende .emp-rend-row {
    margin-left: -8px;
    margin-right: -8px;
}

.modal-rendicion-emprende .emp-rend-row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 10px;
    color: #60758a;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.modal-rendicion-emprende .emp-rend-row .input-group,
.modal-rendicion-emprende .emp-rend-row .input-group input,
.modal-rendicion-emprende .emp-rend-row .input-group select,
.modal-rendicion-emprende .emp-rend-row .input-group textarea,
.modal-rendicion-emprende .emp-rend-row input.form-control,
.modal-rendicion-emprende .emp-rend-row select.form-control,
.modal-rendicion-emprende .emp-rend-row textarea.form-control {
    text-transform: none;
    letter-spacing: normal;
    font-weight: 400;
}

.modal-rendicion-emprende .emp-rend-spacer {
    height: 4px;
}

.modal-rendicion-emprende .emp-rend-folio {
    margin-top: 2px;
    border: 1px solid #d8e6f4;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.modal-rendicion-emprende .emp-rend-folio .input-group-addon {
    background: #edf5fd;
    color: #2e5f88;
    border-right: 1px solid #d1e1f1;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.modal-rendicion-emprende .emp-rend-folio .form-control {
    background: #f8fbff;
    color: #1f4669;
    font-weight: 700;
}

.modal-rendicion-emprende .emp-rend-folio-hidden {
    display: none !important;
}

.modal-rendicion-emprende .input-group {
    width: 100%;
}

.modal-rendicion-emprende .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-rendicion-emprende .form-control,
.modal-rendicion-emprende select.form-control {
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
    font-weight: 400;
}

.modal-rendicion-emprende .form-control:focus,
.modal-rendicion-emprende select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-rendicion-emprende .emp-rend-fin-grid {
    margin-bottom: 2px;
}

.modal-rendicion-emprende .emp-rend-fin-grid > [class*="col-"] {
    color: #60758a;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.modal-rendicion-emprende .emp-rend-fin-grid .input-group,
.modal-rendicion-emprende .emp-rend-fin-grid .input-group input,
.modal-rendicion-emprende .emp-rend-fin-grid .input-group select,
.modal-rendicion-emprende .emp-rend-fin-grid .input-group textarea {
    text-transform: none;
    letter-spacing: normal;
    font-weight: 400;
}

.modal-rendicion-emprende .descripInversion textarea,
.modal-rendicion-emprende #datosTransferenciaEmp,
.modal-rendicion-emprende #datosTransferenciaEmpReem {
    min-height: 110px;
    resize: vertical;
}

.modal-rendicion-emprende .emp-rend-account-block {
    background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
    border: 1px solid #d8e7f5;
    border-radius: 12px;
    padding: 12px 12px 8px;
    margin-top: 8px;
}

.modal-rendicion-emprende .emp-rend-account-block h4 {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: #2b5479;
    letter-spacing: 0.5px;
}

.modal-rendicion-emprende .emp-rend-account-block hr {
    margin: 8px 0 12px;
    border-top-color: #d9e6f3;
}

.modal-rendicion-emprende .emp-rend-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 14px;
}

.modal-rendicion-emprende .emp-rend-btn-cancel,
.modal-rendicion-emprende .emp-rend-btn-save {
    min-width: 136px;
    border-radius: 8px;
    font-weight: 700;
}

.modal-rendicion-emprende .emp-rend-btn-save {
    box-shadow: 0 8px 18px rgba(60, 141, 188, 0.22);
}

.modal-rendicion-emprende .select2-container .select2-selection--single {
    height: 46px;
    border-color: #d6e2ee;
    border-radius: 6px;
}

.modal-rendicion-emprende .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    color: #243c55;
    font-weight: 400;
}

.modal-rendicion-emprende .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px;
}

.modal-rendicion-emprende .select2-container--open {
    z-index: 1065;
}

.modal-rendicion-emprende .select2-dropdown {
    z-index: 1066;
}

@media (max-width: 991px) {
    .modal-rendicion-emprende .emp-rend-modal-dialog {
        width: calc(100% - 14px);
    }

    .modal-rendicion-emprende .emp-rend-modal-body {
        max-height: calc(100vh - 165px);
        padding: 10px;
    }

    .modal-rendicion-emprende .emp-rend-modal-form {
        padding: 10px 8px 4px;
    }
}

@media (max-width: 767px) {
    .modal-rendicion-emprende .emp-rend-modal-header {
        padding: 12px 12px 10px;
    }

    .modal-rendicion-emprende .emp-rend-modal-subtitle {
        font-size: 12px;
    }

    .modal-rendicion-emprende .emp-rend-btn-cancel,
    .modal-rendicion-emprende .emp-rend-btn-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-rendicion-emprende .modal-footer .pull-left {
        float: none !important;
    }
}

/* Proveedores */
.page-proveedores .content-header {
    padding-bottom: 8px;
}

.page-proveedores .content {
    padding-top: 8px;
}

.page-proveedores .proveedores-shell {
    border-top: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 28px rgba(22, 42, 61, 0.08);
}

.page-proveedores .proveedores-header {
    padding: 0;
    border-bottom: 0;
}

.page-proveedores .proveedores-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: linear-gradient(135deg, #173b59 0%, #245d7d 100%);
    color: #fff;
}

.page-proveedores .proveedores-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-proveedores .proveedores-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.page-proveedores .proveedores-subtitle {
    margin: 8px 0 0;
    max-width: 760px;
    font-size: 14px;
    line-height: 1.55;
    opacity: 0.92;
}

.page-proveedores .proveedores-hero-actions {
    flex-shrink: 0;
}

.page-proveedores .btn-proveedores-main {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
}

.page-proveedores .proveedores-body {
    padding: 18px;
    background: linear-gradient(180deg, #f7fbff 0%, #f3f7fb 100%);
}

.page-proveedores .proveedores-table-card {
    background: #fff;
    border: 1px solid #dfe8f1;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(22, 42, 61, 0.04);
}

.page-proveedores .proveedores-table-card .dataTables_wrapper > .row:first-child {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #e4ecf3;
    border-radius: 10px;
    background: #f8fbfe;
}

.page-proveedores .proveedores-table-card .dataTables_filter label,
.page-proveedores .proveedores-table-card .dataTables_length label {
    margin-bottom: 0;
    color: #4b6278;
    font-weight: 600;
}

.page-proveedores .proveedores-table-card .dataTables_filter input,
.page-proveedores .proveedores-table-card .dataTables_length select {
    height: 34px;
    border-radius: 6px;
    border: 1px solid #d3dfeb;
    box-shadow: none;
}

.page-proveedores .tabla-proveedores-ux > thead > tr > th {
    padding: 12px 10px;
    background: #f3f7fb;
    color: #26384a;
    border-bottom: 2px solid #d5dee8;
    font-size: 13px;
    font-weight: 700;
}

.page-proveedores .tabla-proveedores-ux > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.4;
}

.page-proveedores .tabla-proveedores-ux > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-proveedores .tabla-proveedores-ux > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-proveedores .proveedores-table-card .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    border: 1px solid #d8e3ef !important;
    background: #fff !important;
    color: #2b4f75 !important;
}

.page-proveedores .proveedores-table-card .dataTables_paginate .paginate_button.current {
    background: #1f4f88 !important;
    border-color: #1f4f88 !important;
    color: #fff !important;
}

.page-proveedores .tabla-proveedores-ux > tbody > tr > td:last-child {
    text-align: center;
}

.page-proveedores .proveedores-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-proveedores .proveedores-actions .btn {
    min-height: 34px;
    border-radius: 8px;
    border-width: 1px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(18, 36, 53, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.page-proveedores .proveedores-actions .btn:hover,
.page-proveedores .proveedores-actions .btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(18, 36, 53, 0.14);
}

.page-proveedores .proveedores-actions .btnEditarProveedor {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
}

.page-proveedores .proveedores-actions .btnEditarProveedor i {
    font-size: 12px;
}

.page-proveedores .proveedores-actions .btnEliminarProveedor {
    width: 34px;
    padding: 0;
}

.modal-proveedores .proveedores-modal-dialog {
    width: 92%;
    max-width: 760px;
    margin: 18px auto;
}

.modal-proveedores .proveedores-modal-content {
    border: 1px solid #d7e2ec;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 22px 48px rgba(21, 41, 58, 0.22);
}

.modal-proveedores .proveedores-modal-header {
    padding: 16px 20px 12px;
    border-bottom: 0;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%);
    color: #fff;
}

.modal-proveedores .proveedores-modal-header .modal-title {
    margin: 0;
    font-weight: 700;
}

.modal-proveedores .proveedores-modal-header .close {
    color: #fff;
    opacity: 0.92;
    text-shadow: none;
}

.modal-proveedores .proveedores-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.92;
}

.modal-proveedores .proveedores-modal-body {
    padding: 18px 20px 14px;
    background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
}

.modal-proveedores .proveedores-modal-form {
    padding: 0;
}

.modal-proveedores .proveedores-form-section {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e1ebf4;
    border-radius: 14px;
    background: #fff;
}

.modal-proveedores .proveedores-form-section-head {
    margin-bottom: 12px;
}

.modal-proveedores .proveedores-form-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5fd;
    color: #2f648d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modal-proveedores .proveedores-form-title {
    margin: 0;
    color: #25455f;
    font-size: 16px;
    font-weight: 700;
}

.modal-proveedores .proveedores-form-row {
    margin-left: -8px;
    margin-right: -8px;
}

.modal-proveedores .proveedores-form-row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.modal-proveedores .proveedores-form-spacer {
    height: 4px;
}

.modal-proveedores .form-group {
    margin-bottom: 14px;
}

.modal-proveedores .input-group {
    width: 100%;
}

.modal-proveedores .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-proveedores .form-control,
.modal-proveedores select.form-control {
    height: 46px;
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
}

.modal-proveedores .form-control:focus,
.modal-proveedores select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-proveedores .proveedores-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 18px 16px;
}

.modal-proveedores .btn-proveedores-cancel,
.modal-proveedores .btn-proveedores-save {
    min-width: 138px;
    border-radius: 6px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .page-proveedores .proveedores-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-proveedores .proveedores-hero-actions {
        width: 100%;
    }

    .page-proveedores .btn-proveedores-main {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .page-proveedores .proveedores-body {
        padding: 12px;
    }

    .modal-proveedores .proveedores-modal-dialog {
        width: calc(100% - 12px);
    }

    .modal-proveedores .proveedores-modal-body {
        padding: 12px;
    }

    .modal-proveedores .btn-proveedores-cancel,
    .modal-proveedores .btn-proveedores-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-proveedores .modal-footer .pull-left {
        float: none !important;
    }
}

/* Ejecutivos */
.page-ejecutivos .content-header {
    padding-bottom: 8px;
}

.page-ejecutivos .content {
    padding-top: 8px;
}

.page-ejecutivos .ejecutivos-shell {
    border-top: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 28px rgba(22, 42, 61, 0.08);
}

.page-ejecutivos .ejecutivos-header {
    padding: 0;
    border-bottom: 0;
}

.page-ejecutivos .ejecutivos-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: linear-gradient(135deg, #173b59 0%, #245d7d 100%);
    color: #fff;
}

.page-ejecutivos .ejecutivos-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-ejecutivos .ejecutivos-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.page-ejecutivos .ejecutivos-subtitle {
    margin: 8px 0 0;
    max-width: 760px;
    font-size: 14px;
    line-height: 1.55;
    opacity: 0.92;
}

.page-ejecutivos .ejecutivos-hero-actions {
    flex-shrink: 0;
}

.page-ejecutivos .btn-ejecutivos-main {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
}

.page-ejecutivos .ejecutivos-body {
    padding: 18px;
    background: linear-gradient(180deg, #f7fbff 0%, #f3f7fb 100%);
}

.page-ejecutivos .ejecutivos-table-card {
    background: #fff;
    border: 1px solid #dfe8f1;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(22, 42, 61, 0.04);
}

.page-ejecutivos .ejecutivos-table-card .dataTables_wrapper > .row:first-child {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #e4ecf3;
    border-radius: 10px;
    background: #f8fbfe;
}

.page-ejecutivos .ejecutivos-table-card .dataTables_filter label,
.page-ejecutivos .ejecutivos-table-card .dataTables_length label {
    margin-bottom: 0;
    color: #4b6278;
    font-weight: 600;
}

.page-ejecutivos .ejecutivos-table-card .dataTables_filter input,
.page-ejecutivos .ejecutivos-table-card .dataTables_length select {
    height: 34px;
    border-radius: 6px;
    border: 1px solid #d3dfeb;
    box-shadow: none;
}

.page-ejecutivos .tabla-ejecutivos-ux > thead > tr > th {
    padding: 12px 10px;
    background: #f3f7fb;
    color: #26384a;
    border-bottom: 2px solid #d5dee8;
    font-size: 13px;
    font-weight: 700;
}

.page-ejecutivos .tabla-ejecutivos-ux > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.4;
}

.page-ejecutivos .tabla-ejecutivos-ux > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-ejecutivos .tabla-ejecutivos-ux > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-ejecutivos .ejecutivos-table-card .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    border: 1px solid #d8e3ef !important;
    background: #fff !important;
    color: #2b4f75 !important;
}

.page-ejecutivos .ejecutivos-table-card .dataTables_paginate .paginate_button.current {
    background: #1f4f88 !important;
    border-color: #1f4f88 !important;
    color: #fff !important;
}

.page-ejecutivos .tabla-ejecutivos-ux > tbody > tr > td:last-child {
    text-align: center;
}

.page-ejecutivos .ejecutivos-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-ejecutivos .ejecutivos-actions .btn {
    min-height: 34px;
    border-radius: 8px;
    border-width: 1px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(18, 36, 53, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.page-ejecutivos .ejecutivos-actions .btn:hover,
.page-ejecutivos .ejecutivos-actions .btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(18, 36, 53, 0.14);
}

.page-ejecutivos .ejecutivos-actions .btnEditarEjecutivo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
}

.page-ejecutivos .ejecutivos-actions .btnEditarEjecutivo i {
    font-size: 12px;
}

.page-ejecutivos .ejecutivos-actions .btnEliminarEjecutivo {
    width: 34px;
    padding: 0;
}

.modal-ejecutivos .ejecutivos-modal-dialog {
    width: 92%;
    max-width: 680px;
    margin: 18px auto;
}

.modal-ejecutivos .ejecutivos-modal-content {
    border: 1px solid #d7e2ec;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 22px 48px rgba(21, 41, 58, 0.22);
}

.modal-ejecutivos .ejecutivos-modal-header {
    padding: 16px 20px 12px;
    border-bottom: 0;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%);
    color: #fff;
}

.modal-ejecutivos .ejecutivos-modal-header .modal-title {
    margin: 0;
    font-weight: 700;
}

.modal-ejecutivos .ejecutivos-modal-header .close {
    color: #fff;
    opacity: 0.92;
    text-shadow: none;
}

.modal-ejecutivos .ejecutivos-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.92;
}

.modal-ejecutivos .ejecutivos-modal-body {
    padding: 18px 20px 14px;
    background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
}

.modal-ejecutivos .ejecutivos-modal-form {
    padding: 0;
}

.modal-ejecutivos .ejecutivos-form-section {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e1ebf4;
    border-radius: 14px;
    background: #fff;
}

.modal-ejecutivos .ejecutivos-form-section-head {
    margin-bottom: 12px;
}

.modal-ejecutivos .ejecutivos-form-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5fd;
    color: #2f648d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modal-ejecutivos .ejecutivos-form-title {
    margin: 0;
    color: #25455f;
    font-size: 16px;
    font-weight: 700;
}

.modal-ejecutivos .form-group {
    margin-bottom: 14px;
}

.modal-ejecutivos .input-group {
    width: 100%;
}

.modal-ejecutivos .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-ejecutivos .form-control,
.modal-ejecutivos select.form-control {
    height: 46px;
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
}

.modal-ejecutivos .form-control:focus,
.modal-ejecutivos select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-ejecutivos .ejecutivos-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 18px 16px;
}

.modal-ejecutivos .btn-ejecutivos-cancel,
.modal-ejecutivos .btn-ejecutivos-save {
    min-width: 138px;
    border-radius: 6px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .page-ejecutivos .ejecutivos-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-ejecutivos .ejecutivos-hero-actions {
        width: 100%;
    }

    .page-ejecutivos .btn-ejecutivos-main {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .page-ejecutivos .ejecutivos-body {
        padding: 12px;
    }

    .modal-ejecutivos .ejecutivos-modal-dialog {
        width: calc(100% - 12px);
    }

    .modal-ejecutivos .ejecutivos-modal-body {
        padding: 12px;
    }

    .modal-ejecutivos .btn-ejecutivos-cancel,
    .modal-ejecutivos .btn-ejecutivos-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-ejecutivos .modal-footer .pull-left {
        float: none !important;
    }
}

/* Categorias */
.page-categorias .content-header {
    padding-bottom: 8px;
}

.page-categorias .content {
    padding-top: 8px;
}

.page-categorias .categorias-shell {
    border-top: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 28px rgba(22, 42, 61, 0.08);
}

.page-categorias .categorias-header {
    padding: 0;
    border-bottom: 0;
}

.page-categorias .categorias-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: linear-gradient(135deg, #173b59 0%, #245d7d 100%);
    color: #fff;
}

.page-categorias .categorias-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-categorias .categorias-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.page-categorias .categorias-subtitle {
    margin: 8px 0 0;
    max-width: 760px;
    font-size: 14px;
    line-height: 1.55;
    opacity: 0.92;
}

.page-categorias .categorias-hero-actions {
    flex-shrink: 0;
}

.page-categorias .btn-categorias-main {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
}

.page-categorias .categorias-body {
    padding: 18px;
    background: linear-gradient(180deg, #f7fbff 0%, #f3f7fb 100%);
}

.page-categorias .categorias-table-card {
    background: #fff;
    border: 1px solid #dfe8f1;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(22, 42, 61, 0.04);
}

.page-categorias .categorias-table-card .dataTables_wrapper > .row:first-child {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #e4ecf3;
    border-radius: 10px;
    background: #f8fbfe;
}

.page-categorias .categorias-table-card .dataTables_filter label,
.page-categorias .categorias-table-card .dataTables_length label {
    margin-bottom: 0;
    color: #4b6278;
    font-weight: 600;
}

.page-categorias .categorias-table-card .dataTables_filter input,
.page-categorias .categorias-table-card .dataTables_length select {
    height: 34px;
    border-radius: 6px;
    border: 1px solid #d3dfeb;
    box-shadow: none;
}

.page-categorias .tabla-categorias-ux > thead > tr > th {
    padding: 12px 10px;
    background: #f3f7fb;
    color: #26384a;
    border-bottom: 2px solid #d5dee8;
    font-size: 13px;
    font-weight: 700;
}

.page-categorias .tabla-categorias-ux > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.4;
}

.page-categorias .tabla-categorias-ux > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-categorias .tabla-categorias-ux > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-categorias .categorias-table-card .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    border: 1px solid #d8e3ef !important;
    background: #fff !important;
    color: #2b4f75 !important;
}

.page-categorias .categorias-table-card .dataTables_paginate .paginate_button.current {
    background: #1f4f88 !important;
    border-color: #1f4f88 !important;
    color: #fff !important;
}

.page-categorias .tabla-categorias-ux > tbody > tr > td:last-child {
    text-align: center;
}

.page-categorias .categorias-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-categorias .categorias-actions .btn {
    min-height: 34px;
    border-radius: 8px;
    border-width: 1px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(18, 36, 53, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.page-categorias .categorias-actions .btn:hover,
.page-categorias .categorias-actions .btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(18, 36, 53, 0.14);
}

.page-categorias .categorias-actions .btnEditarCategoria {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
}

.page-categorias .categorias-actions .btnEditarCategoria i {
    font-size: 12px;
}

.page-categorias .categorias-actions .btnEliminarCategoria {
    width: 34px;
    padding: 0;
}

.modal-categorias .categorias-modal-dialog {
    width: 92%;
    max-width: 620px;
    margin: 18px auto;
}

.modal-categorias .categorias-modal-content {
    border: 1px solid #d7e2ec;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 22px 48px rgba(21, 41, 58, 0.22);
}

.modal-categorias .categorias-modal-header {
    padding: 16px 20px 12px;
    border-bottom: 0;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%);
    color: #fff;
}

.modal-categorias .categorias-modal-header .modal-title {
    margin: 0;
    font-weight: 700;
}

.modal-categorias .categorias-modal-header .close {
    color: #fff;
    opacity: 0.92;
    text-shadow: none;
}

.modal-categorias .categorias-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.92;
}

.modal-categorias .categorias-modal-body {
    padding: 18px 20px 14px;
    background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
}

.modal-categorias .categorias-modal-form {
    padding: 0;
}

.modal-categorias .categorias-form-section {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e1ebf4;
    border-radius: 14px;
    background: #fff;
}

.modal-categorias .categorias-form-section-head {
    margin-bottom: 12px;
}

.modal-categorias .categorias-form-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5fd;
    color: #2f648d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modal-categorias .categorias-form-title {
    margin: 0;
    color: #25455f;
    font-size: 16px;
    font-weight: 700;
}

.modal-categorias .form-group {
    margin-bottom: 0;
}

.modal-categorias .input-group {
    width: 100%;
}

.modal-categorias .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-categorias .form-control,
.modal-categorias select.form-control {
    height: 46px;
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
}

.modal-categorias .form-control:focus,
.modal-categorias select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-categorias .categorias-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 18px 16px;
}

.modal-categorias .btn-categorias-cancel,
.modal-categorias .btn-categorias-save {
    min-width: 138px;
    border-radius: 6px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .page-categorias .categorias-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-categorias .categorias-hero-actions {
        width: 100%;
    }

    .page-categorias .btn-categorias-main {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .page-categorias .categorias-body {
        padding: 12px;
    }

    .modal-categorias .categorias-modal-dialog {
        width: calc(100% - 12px);
    }

    .modal-categorias .categorias-modal-body {
        padding: 12px;
    }

    .modal-categorias .btn-categorias-cancel,
    .modal-categorias .btn-categorias-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-categorias .modal-footer .pull-left {
        float: none !important;
    }
}

/* Sub items */
.page-subitems .content-header {
    padding-bottom: 8px;
}

.page-subitems .content {
    padding-top: 8px;
}

.page-subitems .subitems-shell {
    border-top: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 28px rgba(22, 42, 61, 0.08);
}

.page-subitems .subitems-header {
    padding: 0;
    border-bottom: 0;
}

.page-subitems .subitems-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: linear-gradient(135deg, #173b59 0%, #245d7d 100%);
    color: #fff;
}

.page-subitems .subitems-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-subitems .subitems-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.page-subitems .subitems-subtitle {
    margin: 8px 0 0;
    max-width: 760px;
    font-size: 14px;
    line-height: 1.55;
    opacity: 0.92;
}

.page-subitems .subitems-hero-actions {
    flex-shrink: 0;
}

.page-subitems .btn-subitems-main {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
}

.page-subitems .subitems-body {
    padding: 18px;
    background: linear-gradient(180deg, #f7fbff 0%, #f3f7fb 100%);
}

.page-subitems .subitems-table-card {
    background: #fff;
    border: 1px solid #dfe8f1;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(22, 42, 61, 0.04);
}

.page-subitems .subitems-table-card .dataTables_wrapper > .row:first-child {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #e4ecf3;
    border-radius: 10px;
    background: #f8fbfe;
}

.page-subitems .subitems-table-card .dataTables_filter label,
.page-subitems .subitems-table-card .dataTables_length label {
    margin-bottom: 0;
    color: #4b6278;
    font-weight: 600;
}

.page-subitems .subitems-table-card .dataTables_filter input,
.page-subitems .subitems-table-card .dataTables_length select {
    height: 34px;
    border-radius: 6px;
    border: 1px solid #d3dfeb;
    box-shadow: none;
}

.page-subitems .tabla-subitems-ux > thead > tr > th {
    padding: 12px 10px;
    background: #f3f7fb;
    color: #26384a;
    border-bottom: 2px solid #d5dee8;
    font-size: 13px;
    font-weight: 700;
}

.page-subitems .tabla-subitems-ux > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.4;
}

.page-subitems .tabla-subitems-ux > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-subitems .tabla-subitems-ux > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-subitems .subitems-table-card .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    border: 1px solid #d8e3ef !important;
    background: #fff !important;
    color: #2b4f75 !important;
}

.page-subitems .subitems-table-card .dataTables_paginate .paginate_button.current {
    background: #1f4f88 !important;
    border-color: #1f4f88 !important;
    color: #fff !important;
}

.page-subitems .tabla-subitems-ux > tbody > tr > td:last-child {
    text-align: center;
}

.page-subitems .subitems-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-subitems .subitems-actions .btn {
    min-height: 34px;
    border-radius: 8px;
    border-width: 1px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(18, 36, 53, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.page-subitems .subitems-actions .btn:hover,
.page-subitems .subitems-actions .btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(18, 36, 53, 0.14);
}

.page-subitems .subitems-actions .btnEditarSubItem {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
}

.page-subitems .subitems-actions .btnEditarSubItem i {
    font-size: 12px;
}

.page-subitems .subitems-actions .btnEliminarSubItem {
    width: 34px;
    padding: 0;
}

.modal-subitems .subitems-modal-dialog {
    width: 92%;
    max-width: 700px;
    margin: 18px auto;
}

.modal-subitems .subitems-modal-content {
    border: 1px solid #d7e2ec;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 22px 48px rgba(21, 41, 58, 0.22);
}

.modal-subitems .subitems-modal-header {
    padding: 16px 20px 12px;
    border-bottom: 0;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%);
    color: #fff;
}

.modal-subitems .subitems-modal-header .modal-title {
    margin: 0;
    font-weight: 700;
}

.modal-subitems .subitems-modal-header .close {
    color: #fff;
    opacity: 0.92;
    text-shadow: none;
}

.modal-subitems .subitems-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.92;
}

.modal-subitems .subitems-modal-body {
    padding: 18px 20px 14px;
    background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
}

.modal-subitems .subitems-modal-form {
    padding: 0;
}

.modal-subitems .subitems-form-section {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e1ebf4;
    border-radius: 14px;
    background: #fff;
}

.modal-subitems .subitems-form-section-head {
    margin-bottom: 12px;
}

.modal-subitems .subitems-form-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5fd;
    color: #2f648d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modal-subitems .subitems-form-title {
    margin: 0;
    color: #25455f;
    font-size: 16px;
    font-weight: 700;
}

.modal-subitems .form-group {
    margin-bottom: 14px;
}

.modal-subitems .input-group {
    width: 100%;
}

.modal-subitems .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-subitems .form-control,
.modal-subitems select.form-control {
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
}

.modal-subitems .form-control:focus,
.modal-subitems select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-subitems textarea.form-control {
    min-height: 120px;
    resize: vertical;
}

.modal-subitems .subitems-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 18px 16px;
}

.modal-subitems .btn-subitems-cancel,
.modal-subitems .btn-subitems-save {
    min-width: 138px;
    border-radius: 6px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .page-subitems .subitems-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-subitems .subitems-hero-actions {
        width: 100%;
    }

    .page-subitems .btn-subitems-main {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .page-subitems .subitems-body {
        padding: 12px;
    }

    .modal-subitems .subitems-modal-dialog {
        width: calc(100% - 12px);
    }

    .modal-subitems .subitems-modal-body {
        padding: 12px;
    }

    .modal-subitems .btn-subitems-cancel,
    .modal-subitems .btn-subitems-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-subitems .modal-footer .pull-left {
        float: none !important;
    }
}

/* Centro costo */
.page-centrocosto .content-header {
    padding-bottom: 8px;
}

.page-centrocosto .content {
    padding-top: 8px;
}

.page-centrocosto .centrocosto-shell {
    border-top: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 30px rgba(22, 42, 61, 0.09);
}

.page-centrocosto .centrocosto-header {
    padding: 0;
    border-bottom: 0;
}

.page-centrocosto .centrocosto-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%);
    color: #fff;
}

.page-centrocosto .centrocosto-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-centrocosto .centrocosto-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.page-centrocosto .centrocosto-subtitle {
    margin: 8px 0 0;
    max-width: 840px;
    font-size: 14px;
    line-height: 1.55;
    opacity: 0.92;
}

.page-centrocosto .centrocosto-hero-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.page-centrocosto .btn-centrocosto-main,
.page-centrocosto .btn-centrocosto-secondary {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 6px;
    font-weight: 700;
}

.page-centrocosto .centrocosto-body {
    padding: 18px;
    background: linear-gradient(180deg, #f7fbff 0%, #f3f7fb 100%);
}

.page-centrocosto .centrocosto-filters-card {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #dfe8f1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(22, 42, 61, 0.04);
}

.page-centrocosto .centrocosto-filter-group {
    display: flex;
    flex-direction: column;
    min-width: 180px;
    gap: 4px;
}

.page-centrocosto .centrocosto-filter-group label {
    margin: 0;
    color: #496076;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.page-centrocosto .centrocosto-filter-group .form-control {
    height: 36px;
    border-color: #d3dfeb;
    border-radius: 8px;
    box-shadow: none;
}

.page-centrocosto .centrocosto-filter-year {
    min-width: 120px;
}

.page-centrocosto .centrocosto-filters-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.page-centrocosto .centrocosto-badge-info {
    background: #eaf3ff;
    color: #2d5583;
    border: 1px solid #cfe1f7;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 700;
}

.page-centrocosto .centrocosto-table-card {
    background: #fff;
    border: 1px solid #dfe8f1;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(22, 42, 61, 0.04);
}

.page-centrocosto .centrocosto-table-card .dataTables_wrapper > .row:first-child {
    display: none;
}

.page-centrocosto .centrocosto-table-card .dataTables_wrapper > .row:last-child {
    margin-top: 10px;
}

.page-centrocosto .centrocosto-table-card .dataTables_scrollHead {
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}

.page-centrocosto .centrocosto-table-card .dataTables_scrollBody {
    border-bottom: 1px solid #e4ecf3;
}

.page-centrocosto .tabla-centrocosto-ux > thead > tr > th {
    padding: 12px 10px;
    background: #f3f7fb;
    color: #26384a;
    border-bottom: 2px solid #d5dee8;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.page-centrocosto .tabla-centrocosto-ux > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.42;
}

.page-centrocosto .tabla-centrocosto-ux > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-centrocosto .tabla-centrocosto-ux > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-centrocosto .tabla-centrocosto-ux > tbody > tr > td:last-child {
    text-align: center;
}

.page-centrocosto .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    border: 1px solid #d8e3ef !important;
    background: #fff !important;
    color: #2b4f75 !important;
}

.page-centrocosto .dataTables_paginate .paginate_button.current {
    background: #1f4f88 !important;
    border-color: #1f4f88 !important;
    color: #fff !important;
}

.page-centrocosto .centrocosto-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-centrocosto .centrocosto-actions .btn {
    min-height: 34px;
    border-radius: 8px;
    border-width: 1px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(18, 36, 53, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.page-centrocosto .centrocosto-actions .btn:hover,
.page-centrocosto .centrocosto-actions .btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(18, 36, 53, 0.14);
}

.page-centrocosto .centrocosto-actions .btnEditarCentroCosto {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
}

.page-centrocosto .centrocosto-actions .btnEliminarCentroCosto {
    width: 34px;
    padding: 0;
}

.modal-centrocosto .centrocosto-modal-dialog {
    width: 94%;
    max-width: 1180px;
    margin: 18px auto;
}

.modal-centrocosto .centrocosto-modal-content {
    border: 1px solid #d7e2ec;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 52px rgba(21, 41, 58, 0.22);
}

.modal-centrocosto .centrocosto-modal-header {
    padding: 16px 20px 12px;
    border-bottom: 0;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%);
    color: #fff;
}

.modal-centrocosto .centrocosto-modal-header .modal-title {
    margin: 0;
    font-weight: 700;
}

.modal-centrocosto .centrocosto-modal-header .close {
    color: #fff;
    opacity: 0.92;
    text-shadow: none;
}

.modal-centrocosto .centrocosto-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.92;
}

.modal-centrocosto .centrocosto-modal-body {
    padding: 18px 20px 14px;
    background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
    max-height: calc(100vh - 170px);
    overflow-y: auto;
}

.modal-centrocosto .centrocosto-modal-form {
    padding: 0;
}

.modal-centrocosto .centrocosto-form-section {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e1ebf4;
    border-radius: 14px;
    background: #fff;
}

.modal-centrocosto .centrocosto-form-section-head {
    margin-bottom: 12px;
}

.modal-centrocosto .centrocosto-form-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5fd;
    color: #2f648d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modal-centrocosto .centrocosto-form-title {
    margin: 0;
    color: #25455f;
    font-size: 16px;
    font-weight: 700;
}

.modal-centrocosto .centrocosto-fin-section h4 {
    margin: 0 0 12px;
    color: #24465f;
    font-size: 16px;
    font-weight: 700;
}

.modal-centrocosto .centrocosto-fin-section hr {
    margin: 16px 0;
    border-top-color: #dce6f0;
}

.modal-centrocosto .input-group {
    width: 100%;
}

.modal-centrocosto .input-group-addon {
    background: #f6f9fc;
    color: #4b6379;
    border-color: #d6e2ee;
    min-width: 40px;
}

.modal-centrocosto .form-control,
.modal-centrocosto select.form-control {
    border-color: #d6e2ee;
    color: #243c55;
    box-shadow: none;
}

.modal-centrocosto .form-control:focus,
.modal-centrocosto select.form-control:focus {
    border-color: #76bae8;
    box-shadow: 0 0 0 2px rgba(118, 186, 232, 0.12);
}

.modal-centrocosto .modal-body .row > [class*="col-"] {
    margin-bottom: 12px;
}

.modal-centrocosto .modal-footer.centrocosto-modal-footer {
    border-top: 1px solid #dfeaf5;
    background: #f9fbfe;
    padding: 12px 18px 16px;
}

.modal-centrocosto .btn-centrocosto-cancel,
.modal-centrocosto .btn-centrocosto-save {
    min-width: 146px;
    border-radius: 6px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .page-centrocosto .centrocosto-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-centrocosto .centrocosto-hero-actions {
        width: 100%;
    }

    .page-centrocosto .btn-centrocosto-main,
    .page-centrocosto .btn-centrocosto-secondary {
        width: 100%;
        text-align: center;
    }

    .page-centrocosto .centrocosto-filters-actions {
        margin-left: 0;
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 767px) {
    .page-centrocosto .centrocosto-body {
        padding: 12px;
    }

    .page-centrocosto .centrocosto-filter-group {
        min-width: 100%;
    }

    .modal-centrocosto .centrocosto-modal-dialog {
        width: calc(100% - 12px);
    }

    .modal-centrocosto .centrocosto-modal-body {
        padding: 12px;
    }

    .modal-centrocosto .btn-centrocosto-cancel,
    .modal-centrocosto .btn-centrocosto-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-centrocosto .modal-footer .pull-left {
        float: none !important;
    }
}

/* =========================================================
   Modal Revision Coordinador
========================================================= */
.modal-revision-coordinador .modal-dialog {
    width: 92%;
    max-width: 860px;
    margin-top: 32px;
}

.modal-revision-coordinador .revision-modal-content {
    border: 1px solid #c8d9ea;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(27, 52, 80, 0.22);
}

.modal-revision-coordinador .revision-modal-header {
    background: linear-gradient(135deg, #2f79b8 0%, #255f93 100%);
    color: #fff;
    border-bottom: 0;
    padding: 16px 20px 14px;
}

.modal-revision-coordinador .revision-modal-header .modal-title {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

.modal-revision-coordinador .revision-modal-header .close {
    color: #fff;
    opacity: 0.9;
    text-shadow: none;
}

.modal-revision-coordinador .revision-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.95);
}

.modal-revision-coordinador .revision-modal-body {
    background: #f7fbff;
    padding: 16px 20px 14px;
}

.modal-revision-coordinador .revision-modal-box {
    padding: 0;
}

.modal-revision-coordinador .revision-modal-row {
    margin-bottom: 4px;
}

.modal-revision-coordinador .revision-modal-group {
    margin-bottom: 14px;
}

.modal-revision-coordinador .revision-label {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 13px;
    color: #274160;
    font-weight: 700;
}

.modal-revision-coordinador .revision-required {
    color: #e74c3c;
}

.modal-revision-coordinador .revision-modal-group .input-group-addon {
    background: #eef4fb;
    color: #2f79b8;
    border-color: #c9d9ea;
}

.modal-revision-coordinador .revision-modal-group .form-control {
    border-color: #c9d9ea;
    color: #1f3550;
}

.modal-revision-coordinador .revision-modal-group .form-control:focus {
    border-color: #4ba3e3;
    box-shadow: 0 0 0 3px rgba(75, 163, 227, 0.2);
}

.modal-revision-coordinador .revision-modal-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 2px 0 14px;
}

.modal-revision-coordinador .revision-summary-item {
    flex: 1 1 180px;
    background: #ffffff;
    border: 1px solid #d3e0ee;
    border-radius: 10px;
    padding: 10px 12px;
}

.modal-revision-coordinador .revision-summary-label {
    display: block;
    color: #5c7188;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.modal-revision-coordinador .revision-summary-value {
    display: block;
    font-size: 15px;
    color: #1f3550;
    font-weight: 700;
    line-height: 1.3;
    word-break: break-word;
}

.modal-revision-coordinador .revision-modal-observation textarea {
    min-height: 108px;
    resize: vertical;
}

.modal-revision-coordinador .revision-loading-slot {
    min-height: 18px;
    margin-bottom: 2px;
}

.modal-revision-coordinador .revision-loading-slot .loading {
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px dashed #c4d7ea;
    background: #fff;
    color: #4f6379;
    font-size: 12px;
}

.modal-revision-coordinador .revision-modal-footer {
    border-top: 1px solid #d9e4ef;
    padding: 12px 18px;
    background: #fff;
}

.modal-revision-coordinador .revision-btn-cancel,
.modal-revision-coordinador .revision-btn-save {
    min-width: 148px;
    border-radius: 8px;
    font-weight: 700;
    padding: 9px 15px;
}

.modal-revision-coordinador .revision-btn-save {
    background: linear-gradient(135deg, #2f79b8 0%, #255f93 100%);
    border-color: #255f93;
}

.modal-revision-coordinador .revision-btn-save:hover,
.modal-revision-coordinador .revision-btn-save:focus {
    background: linear-gradient(135deg, #2b6ea6 0%, #214f7a 100%);
    border-color: #214f7a;
}

.modal-revision-coordinador .revision-btn-save.is-disabled,
.modal-revision-coordinador .revision-btn-save[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.modal-revision-coordinador .revision-btn-save.is-loading {
    pointer-events: none;
}

.modal-revision-coordinador label.error {
    color: #d9534f;
    font-size: 12px;
    margin-top: 6px;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .modal-revision-coordinador .modal-dialog {
        width: 96%;
        margin: 10px auto;
    }

    .modal-revision-coordinador .revision-modal-header {
        padding: 12px 14px;
    }

    .modal-revision-coordinador .revision-modal-header .modal-title {
        font-size: 20px;
    }

    .modal-revision-coordinador .revision-modal-subtitle {
        font-size: 12px;
    }

    .modal-revision-coordinador .revision-modal-body {
        padding: 12px 12px 10px;
    }

    .modal-revision-coordinador .revision-summary-item {
        flex-basis: 100%;
    }

    .modal-revision-coordinador .revision-btn-cancel,
    .modal-revision-coordinador .revision-btn-save {
        width: 100%;
        margin-bottom: 8px;
    }

    .modal-revision-coordinador .modal-footer .pull-left {
        float: none !important;
    }
}

/* Fondos Ley Historico */
.page-emp-historico .dataTables_filter {
    display: none;
}

.page-emp-historico .content-header {
    padding-bottom: 6px;
}

.page-emp-historico .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 10px 0 0;
    padding: 0;
    background: transparent;
}

.page-emp-historico .content {
    padding-top: 8px;
}

.page-emp-historico .box {
    border-top: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(31, 45, 61, 0.08);
}

.page-emp-historico .emphist-header-panel {
    padding: 14px 16px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.page-emp-historico .emphist-top-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-emp-historico .emphist-top-actions-left,
.page-emp-historico .emphist-top-actions-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-emp-historico .emphist-top-actions-right {
    margin-left: auto;
}

.page-emp-historico .btn-emphist-head {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 6px;
    font-weight: 700;
}

.page-emp-historico .emphist-kpi-row {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    gap: 10px;
}

.page-emp-historico .emphist-kpi-card {
    border: 1px solid #d6e8f5;
    border-radius: 10px;
    padding: 8px 12px;
    background: #f1f8ff;
}

.page-emp-historico .emphist-kpi-card span {
    display: block;
    color: #5a7088;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.page-emp-historico .emphist-kpi-card strong {
    display: block;
    margin-top: 3px;
    color: #22384f;
    font-size: 24px;
    line-height: 1.1;
}

.page-emp-historico .emphist-filters-panel {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
    background: #fbfdff;
}

.page-emp-historico .emphist-filter-label {
    display: block;
    margin: 0 0 4px;
    color: #51657b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.page-emp-historico .emphist-filters-panel .form-control {
    height: 34px;
    border-radius: 6px;
}

.page-emp-historico .emphist-filters-panel .select2-container {
    width: 100% !important;
}

.page-emp-historico .emphist-filters-panel .select2-container--default .select2-selection--single {
    height: 34px;
    border-radius: 6px;
    border-color: #d7dfe8;
}

.page-emp-historico .emphist-filters-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px;
    padding-left: 10px;
    color: #33495f;
    font-size: 13px;
}

.page-emp-historico .emphist-filters-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px;
}

.page-emp-historico .emphist-filters-panel .select2-container--default.select2-container--open .select2-selection--single,
.page-emp-historico .emphist-filters-panel .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #8cb8de;
    box-shadow: 0 0 0 2px rgba(66, 139, 202, 0.12);
}

.page-emp-historico .select2-dropdown {
    border-color: #cfdbe7;
}

.page-emp-historico .select2-search--dropdown .select2-search__field {
    border-radius: 6px;
    border-color: #d5dfe9;
}

.page-emp-historico .btn-emphist-clear {
    height: 34px;
    border-radius: 6px;
    font-weight: 600;
}

.page-emp-historico .emphist-search-row {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

.page-emp-historico .emphist-search-group {
    width: 100%;
    max-width: 360px;
}

.page-emp-historico .emphist-search-group .input-group-addon,
.page-emp-historico .emphist-search-group .form-control {
    height: 42px;
}

.page-emp-historico .emphist-search-group .form-control {
    font-size: 15px;
}

.page-emp-historico .emphist-table-wrap {
    overflow-x: auto;
}

.page-emp-historico .emphist-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px 0;
    padding: 10px 12px;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
    background: #f8fbff;
}

.page-emp-historico .emphist-table-panel .dataTables_wrapper .dt-buttons .btn {
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.page-emp-historico .emphist-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4e5d70;
}

.page-emp-historico .emphist-table-panel .dataTables_wrapper .dataTables_length select {
    height: 34px;
    border-radius: 5px;
}

.page-emp-historico .emphist-table-panel .tablaEmpHistorico > thead > tr > th {
    padding: 10px 10px;
    background: #f2f6fb;
    color: #243447;
    border-bottom: 2px solid #d5dee8;
    font-weight: 700;
    font-size: 14px;
    vertical-align: middle;
    white-space: nowrap;
}

/* DataTables: iconos de orden limpios para todas las tablas del sistema */
.content-wrapper table.dataTable thead .sorting,
.content-wrapper table.dataTable thead .sorting_asc,
.content-wrapper table.dataTable thead .sorting_desc,
.content-wrapper table.dataTable thead .sorting_asc_disabled,
.content-wrapper table.dataTable thead .sorting_desc_disabled {
    background-image: none !important;
    position: relative;
    padding-right: 26px !important;
}

.content-wrapper table.dataTable thead .sorting:before,
.content-wrapper table.dataTable thead .sorting_asc:before,
.content-wrapper table.dataTable thead .sorting_desc:before,
.content-wrapper table.dataTable thead .sorting_asc_disabled:before,
.content-wrapper table.dataTable thead .sorting_desc_disabled:before {
    content: "" !important;
}

.content-wrapper table.dataTable thead .sorting:after,
.content-wrapper table.dataTable thead .sorting_asc:after,
.content-wrapper table.dataTable thead .sorting_desc:after,
.content-wrapper table.dataTable thead .sorting_asc_disabled:after,
.content-wrapper table.dataTable thead .sorting_desc_disabled:after {
    font-family: FontAwesome;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    line-height: 1;
}

.content-wrapper table.dataTable thead .sorting:after {
    content: "\f0dc";
    color: #afbccb;
}

.content-wrapper table.dataTable thead .sorting_asc:after {
    content: "\f0de";
    color: #2f6ea5;
}

.content-wrapper table.dataTable thead .sorting_desc:after {
    content: "\f0dd";
    color: #2f6ea5;
}

.content-wrapper table.dataTable thead .sorting_asc_disabled:after {
    content: "\f0de";
    color: #c2cbd6;
}

.content-wrapper table.dataTable thead .sorting_desc_disabled:after {
    content: "\f0dd";
    color: #c2cbd6;
}

.page-emp-historico .emphist-table-panel .tablaEmpHistorico > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
}

.page-emp-historico .emphist-table-panel .tablaEmpHistorico > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-emp-historico .emphist-table-panel table.dataTable tbody tr:hover > td {
    background: #f3f9ff;
}

.page-emp-historico .emphist-table-panel .dataTables_scrollBody {
    border-bottom: 1px solid #e5ecf3;
}

.page-emp-historico .emphist-table-panel .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-emp-historico .emphist-table-panel .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #a8b8c8;
    border-radius: 99px;
}

.page-emp-historico .emphist-table-panel .dataTables_info {
    color: #4e5d70;
    font-weight: 500;
}

.page-emp-historico .emphist-table-panel .emp-hist-estado-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid transparent;
}

.page-emp-historico .emphist-table-panel .emp-hist-estado-ganador {
    background: #e8f8ee;
    color: #1f8f4c;
    border-color: #bde4c8;
}

.page-emp-historico .emphist-table-panel .emp-hist-estado-usuario {
    background: #fff7df;
    color: #9a6500;
    border-color: #ffe4a2;
}

.page-emp-historico .emphist-table-panel .emp-hist-estado-inactivo {
    background: #fdeaea;
    color: #b93b3b;
    border-color: #f5c2c2;
}

.page-emp-historico .emphist-table-panel .emp-hist-estado-default {
    background: #eef3f8;
    color: #4b6077;
    border-color: #d8e2ed;
}

@media (max-width: 991px) {
    .page-emp-historico .emphist-top-actions {
        align-items: flex-start;
    }

    .page-emp-historico .emphist-top-actions-right {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .page-emp-historico .emphist-search-row {
        justify-content: flex-start;
    }

    .page-emp-historico .emphist-search-group {
        max-width: 100%;
    }

    .page-emp-historico .emphist-kpi-row {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
    }
}

@media (max-width: 767px) {
    .page-emp-historico .btn-emphist-head {
        width: 100%;
        text-align: center;
    }

    .page-emp-historico .emphist-top-actions-left,
    .page-emp-historico .emphist-top-actions-right {
        width: 100%;
    }

    .page-emp-historico .emphist-table-panel .dataTables_wrapper > .row:first-child {
        padding: 7px;
    }

    .page-emp-historico .emphist-kpi-row {
        grid-template-columns: 1fr;
    }

    .page-emp-historico .emphist-filter-label {
        margin-top: 6px;
    }
}

/* Plan Inversion Emprende Actual */
.page-planinv-emp .dataTables_filter {
    display: none;
}

.page-planinv-emp .content-header {
    padding-bottom: 6px;
}

.page-planinv-emp .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 10px 0 0;
    padding: 0;
    background: transparent;
}

.page-planinv-emp .content {
    padding-top: 8px;
}

.page-planinv-emp .box {
    border-top: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(31, 45, 61, 0.08);
}

.page-planinv-emp .planinvcur-header-panel {
    padding: 14px 16px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.page-planinv-emp .planinvcur-top-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-planinv-emp .planinvcur-top-actions-left,
.page-planinv-emp .planinvcur-top-actions-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-planinv-emp .planinvcur-top-actions-right {
    margin-left: auto;
}

.page-planinv-emp .btn-planinvcur-head {
    min-height: 36px;
    border-radius: 8px;
    padding: 7px 14px;
    font-weight: 700;
}

.page-planinv-emp .planinvcur-mini-metric {
    min-width: 120px;
    padding: 8px 12px;
    border: 1px solid #b5def7;
    border-radius: 12px;
    background: #edf7ff;
}

.page-planinv-emp .planinvcur-mini-metric span {
    display: block;
    font-size: 11px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    color: #3d6f98;
    font-weight: 700;
}

.page-planinv-emp .planinvcur-mini-metric strong {
    display: block;
    margin-top: 2px;
    font-size: 30px;
    line-height: 1.1;
    color: #163e63;
    font-weight: 700;
}

.page-planinv-emp .planinvcur-search-row {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

.page-planinv-emp .planinvcur-search-group {
    max-width: 360px;
    width: 100%;
}

.page-planinv-emp .planinvcur-search-group .input-group-addon,
.page-planinv-emp .planinvcur-search-group .form-control {
    border-color: #cedaeb;
}

.page-planinv-emp .planinvcur-search-group .form-control {
    border-left: 0;
}

.page-planinv-emp .planinvcur-filters-panel {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dde6f2;
    border-radius: 10px;
    background: #f8fbff;
}

.page-planinv-emp .planinvcur-filter-label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #4d6278;
    font-weight: 700;
}

.page-planinv-emp .planinvcur-filters-panel .form-control {
    border-color: #c8d6e8;
}

.page-planinv-emp .planinvcur-filters-panel .select2-container {
    width: 100% !important;
}

.page-planinv-emp .planinvcur-filters-panel .select2-container--default .select2-selection--single {
    height: 34px;
    border-radius: 6px;
    border-color: #c8d6e8;
}

.page-planinv-emp .planinvcur-filters-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px;
    font-size: 13px;
    color: #3f5469;
    padding-left: 11px;
}

.page-planinv-emp .planinvcur-filters-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px;
}

.page-planinv-emp .planinvcur-filters-panel .select2-container--default.select2-container--open .select2-selection--single,
.page-planinv-emp .planinvcur-filters-panel .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #63b6ec;
}

.page-planinv-emp .planinvcur-filter-actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.page-planinv-emp .btn-planinvcur-clear {
    border-radius: 6px;
    font-weight: 600;
}

.page-planinv-emp .planinvcur-table-panel {
    padding-top: 6px;
}

.page-planinv-emp .planinvcur-table-wrap {
    border-radius: 8px;
    overflow: hidden;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid #e2eaf4;
    border-radius: 8px;
    background: #fafcff;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_wrapper .dt-buttons .btn {
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4e5d70;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_wrapper .dataTables_length select {
    height: 34px;
    border-radius: 5px;
}

.page-planinv-emp .planinvcur-table-panel .tablaPlanInvEmprende > thead > tr > th {
    padding: 10px 10px;
    background: #f2f6fb;
    color: #243447;
    border-bottom: 2px solid #d5dee8;
    font-weight: 700;
    font-size: 14px;
    vertical-align: middle;
    white-space: nowrap;
}

.page-planinv-emp .planinvcur-table-panel .tablaPlanInvEmprende > tbody > tr > td {
    padding: 9px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
}

.page-planinv-emp .planinvcur-table-panel .tablaPlanInvEmprende > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-planinv-emp .planinvcur-table-panel table.dataTable tbody tr:hover > td {
    background: #f3f9ff;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_scrollBody {
    border-bottom: 1px solid #e5ecf3;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #a8b8c8;
    border-radius: 99px;
}

.page-planinv-emp .planinvcur-table-panel .dataTables_info {
    color: #4e5d70;
    font-weight: 500;
}

.page-planinv-emp .planinvcur-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-planinv-emp .planinvcur-actions .btnPlanInvCurAction {
    min-width: 74px;
    border-radius: 999px;
    font-weight: 700;
    padding: 4px 10px;
    line-height: 1.3;
}

@media (max-width: 991px) {
    .page-planinv-emp .planinvcur-top-actions {
        align-items: flex-start;
    }

    .page-planinv-emp .planinvcur-top-actions-right {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .page-planinv-emp .planinvcur-search-row {
        justify-content: flex-start;
    }

    .page-planinv-emp .planinvcur-search-group {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .page-planinv-emp .btn-planinvcur-head {
        width: 100%;
        text-align: center;
    }

    .page-planinv-emp .planinvcur-top-actions-right,
    .page-planinv-emp .planinvcur-top-actions-left {
        width: 100%;
    }

    .page-planinv-emp .planinvcur-table-panel .dataTables_wrapper > .row:first-child {
        padding: 7px;
    }
}

/* Plan Inversion Emprende Historico */
.page-planinv-emphist .dataTables_filter {
    display: none;
}

.page-planinv-emphist .content-header {
    padding-bottom: 6px;
}

.page-planinv-emphist .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 10px 0 0;
    padding: 0;
    background: transparent;
}

.page-planinv-emphist .content {
    padding-top: 8px;
}

.page-planinv-emphist .box {
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(24, 39, 75, 0.06);
    border: 1px solid #e5ecf3;
}

.page-planinv-emphist .planinvhist-header-panel {
    padding: 14px 16px 12px;
}

.page-planinv-emphist .planinvhist-top-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.page-planinv-emphist .planinvhist-top-actions-right {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    flex-wrap: wrap;
}

.page-planinv-emphist .btn-planinvhist-head {
    border-radius: 6px;
    padding: 7px 14px;
    font-weight: 600;
}

.page-planinv-emphist .planinvhist-mini-metric {
    min-width: 130px;
    padding: 8px 12px;
    border: 1px solid #b5def7;
    border-radius: 12px;
    background: #edf7ff;
}

.page-planinv-emphist .planinvhist-mini-metric span {
    display: block;
    font-size: 11px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    color: #3d6f98;
    font-weight: 700;
}

.page-planinv-emphist .planinvhist-mini-metric strong {
    display: block;
    margin-top: 2px;
    font-size: 30px;
    line-height: 1.1;
    color: #163e63;
    font-weight: 700;
}

.page-planinv-emphist .planinvhist-search-row {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

.page-planinv-emphist .planinvhist-search-group {
    max-width: 360px;
    width: 100%;
}

.page-planinv-emphist .planinvhist-search-group .input-group-addon,
.page-planinv-emphist .planinvhist-search-group .form-control {
    border-color: #cedaeb;
}

.page-planinv-emphist .planinvhist-search-group .form-control {
    border-left: 0;
}

.page-planinv-emphist .planinvhist-filters-panel {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dde6f2;
    border-radius: 10px;
    background: #f8fbff;
}

.page-planinv-emphist .planinvhist-filter-label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #4d6278;
    font-weight: 700;
}

.page-planinv-emphist .planinvhist-filters-panel .form-control {
    border-color: #c8d6e8;
}

.page-planinv-emphist .planinvhist-filters-panel .select2-container {
    width: 100% !important;
}

.page-planinv-emphist .planinvhist-filters-panel .select2-container--default .select2-selection--single {
    height: 34px;
    border-radius: 6px;
    border-color: #c8d6e8;
}

.page-planinv-emphist .planinvhist-filters-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px;
    font-size: 13px;
    color: #3f5469;
    padding-left: 11px;
}

.page-planinv-emphist .planinvhist-filters-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px;
}

.page-planinv-emphist .planinvhist-filters-panel .select2-container--default.select2-container--open .select2-selection--single,
.page-planinv-emphist .planinvhist-filters-panel .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #63b6ec;
}

.page-planinv-emphist .planinvhist-filter-actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.page-planinv-emphist .btn-planinvhist-clear {
    border-radius: 6px;
    font-weight: 600;
}

.page-planinv-emphist .planinvhist-table-panel {
    padding-top: 6px;
}

.page-planinv-emphist .planinvhist-table-wrap {
    border-radius: 8px;
    overflow: hidden;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid #e2eaf4;
    border-radius: 8px;
    background: #fafcff;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_wrapper .dt-buttons .btn {
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4e5d70;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_wrapper .dataTables_length select {
    height: 34px;
    border-radius: 5px;
}

.page-planinv-emphist .planinvhist-table-panel .tablaPlanInvEmprendeHist > thead > tr > th {
    padding: 10px 10px;
    background: #f2f6fb;
    color: #243447;
    border-bottom: 2px solid #d5dee8;
    font-weight: 700;
    font-size: 14px;
    vertical-align: middle;
    white-space: nowrap;
}

.page-planinv-emphist .planinvhist-table-panel .tablaPlanInvEmprendeHist > tbody > tr > td {
    padding: 9px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
}

.page-planinv-emphist .planinvhist-table-panel .tablaPlanInvEmprendeHist > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-planinv-emphist .planinvhist-table-panel table.dataTable tbody tr:hover > td {
    background: #f3f9ff;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_scrollBody {
    border-bottom: 1px solid #e5ecf3;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #a8b8c8;
    border-radius: 99px;
}

.page-planinv-emphist .planinvhist-table-panel .dataTables_info {
    color: #4e5d70;
    font-weight: 500;
}

@media (max-width: 991px) {
    .page-planinv-emphist .planinvhist-top-actions {
        align-items: flex-start;
    }

    .page-planinv-emphist .planinvhist-top-actions-right {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .page-planinv-emphist .planinvhist-search-row {
        justify-content: flex-start;
    }

    .page-planinv-emphist .planinvhist-search-group {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .page-planinv-emphist .btn-planinvhist-head {
        width: 100%;
        text-align: center;
    }

    .page-planinv-emphist .planinvhist-top-actions-right,
    .page-planinv-emphist .planinvhist-top-actions-left {
        width: 100%;
    }

    .page-planinv-emphist .planinvhist-table-panel .dataTables_wrapper > .row:first-child {
        padding: 7px;
    }
}

/* Rendicion Mensual Emprende Actual */
.page-rendicion-emp .dataTables_filter {
    display: none;
}

.page-rendicion-emp .content-header {
    padding-bottom: 6px;
}

.page-rendicion-emp .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 10px 0 0;
    padding: 0;
    background: transparent;
}

.page-rendicion-emp .content {
    padding-top: 8px;
}

.page-rendicion-emp .box {
    border-top: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(31, 45, 61, 0.08);
}

.page-rendicion-emp .renempcur-header-panel {
    padding: 14px 16px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.page-rendicion-emp .renempcur-top-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-rendicion-emp .renempcur-top-actions-left,
.page-rendicion-emp .renempcur-top-actions-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-rendicion-emp .renempcur-top-actions-right {
    margin-left: auto;
}

.page-rendicion-emp .btn-renempcur-head {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 6px;
    font-weight: 700;
}

.page-rendicion-emp .renempcur-mini-metric {
    min-width: 150px;
    border: 1px solid #d6e7f5;
    border-radius: 10px;
    padding: 7px 12px;
    background: #f0f8ff;
}

.page-rendicion-emp .renempcur-mini-metric span {
    display: block;
    color: #5a7088;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.page-rendicion-emp .renempcur-mini-metric strong {
    display: block;
    margin-top: 3px;
    color: #22384f;
    font-size: 24px;
    line-height: 1.1;
}

.page-rendicion-emp .renempcur-search-row {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

.page-rendicion-emp .renempcur-search-group {
    width: 100%;
    max-width: 390px;
}

.page-rendicion-emp .renempcur-search-group .input-group-addon,
.page-rendicion-emp .renempcur-search-group .form-control {
    height: 42px;
}

.page-rendicion-emp .renempcur-search-group .form-control {
    font-size: 15px;
}

.page-rendicion-emp .renempcur-filters-panel {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
    background: #fbfdff;
}

.page-rendicion-emp .renempcur-filter-label {
    display: block;
    margin: 0 0 4px;
    color: #51657b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.page-rendicion-emp .renempcur-filters-panel .form-control {
    height: 34px;
    border-radius: 6px;
}

.page-rendicion-emp .renempcur-filters-panel .select2-container {
    width: 100% !important;
}

.page-rendicion-emp .renempcur-filters-panel .select2-container--default .select2-selection--single {
    height: 34px;
    border-radius: 6px;
    border-color: #d7dfe8;
}

.page-rendicion-emp .renempcur-filters-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px;
    padding-left: 10px;
    color: #33495f;
    font-size: 13px;
}

.page-rendicion-emp .renempcur-filters-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px;
}

.page-rendicion-emp .renempcur-filters-panel .select2-container--default.select2-container--open .select2-selection--single,
.page-rendicion-emp .renempcur-filters-panel .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #8cb8de;
    box-shadow: 0 0 0 2px rgba(66, 139, 202, 0.12);
}

.page-rendicion-emp .renempcur-filter-actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.page-rendicion-emp .btn-renempcur-clear {
    height: 34px;
    border-radius: 6px;
    font-weight: 600;
}

.page-rendicion-emp .renempcur-table-wrap {
    overflow-x: auto;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px 0;
    padding: 10px 12px;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
    background: #f8fbff;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_wrapper .dt-buttons .btn {
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4e5d70;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_wrapper .dataTables_length select {
    height: 34px;
    border-radius: 5px;
}

.page-rendicion-emp .renempcur-table-panel .tablaRendicionMensualEmp > thead > tr > th {
    padding: 10px 10px;
    background: #f2f6fb;
    color: #243447;
    border-bottom: 2px solid #d5dee8;
    font-weight: 700;
    font-size: 14px;
    vertical-align: middle;
    white-space: nowrap;
}

.page-rendicion-emp .renempcur-table-panel .tablaRendicionMensualEmp > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
}

.page-rendicion-emp .renempcur-table-panel .tablaRendicionMensualEmp > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-rendicion-emp .renempcur-table-panel table.dataTable tbody tr:hover > td {
    background: #f3f9ff;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_scrollBody {
    border-bottom: 1px solid #e5ecf3;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-rendicion-emp .renempcur-table-panel .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #a8b8c8;
    border-radius: 99px;
}

.page-rendicion-emp .renempcur-col-actions {
    min-width: 220px;
}

.page-rendicion-emp .renempcur-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

.page-rendicion-emp .btnRenEmpCurAction {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

@media (max-width: 991px) {
    .page-rendicion-emp .renempcur-top-actions {
        align-items: flex-start;
    }

    .page-rendicion-emp .renempcur-top-actions-right {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .page-rendicion-emp .renempcur-search-row {
        justify-content: flex-start;
    }

    .page-rendicion-emp .renempcur-search-group {
        max-width: 100%;
    }

    .page-rendicion-emp .renempcur-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .page-rendicion-emp .btn-renempcur-head {
        width: 100%;
        text-align: center;
    }

    .page-rendicion-emp .renempcur-top-actions-left,
    .page-rendicion-emp .renempcur-top-actions-right {
        width: 100%;
    }

    .page-rendicion-emp .renempcur-mini-metric {
        width: 100%;
    }

    .page-rendicion-emp .renempcur-table-panel .dataTables_wrapper > .row:first-child {
        padding: 7px;
    }

    .page-rendicion-emp .renempcur-filter-label {
        margin-top: 6px;
    }

    .page-rendicion-emp .renempcur-actions {
        flex-wrap: wrap;
    }

    .page-rendicion-emp .renempcur-col-actions {
        min-width: 170px;
    }
}

/* Rendicion Mensual Emprende Historico */
.page-rendicion-emp-hist .dataTables_filter {
    display: none;
}

.page-rendicion-emp-hist .content-header {
    padding-bottom: 6px;
}

.page-rendicion-emp-hist .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 10px 0 0;
    padding: 0;
    background: transparent;
}

.page-rendicion-emp-hist .content {
    padding-top: 8px;
}

.page-rendicion-emp-hist .box {
    border-top: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(31, 45, 61, 0.08);
}

.page-rendicion-emp-hist .renemphist-header-panel {
    padding: 14px 16px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.page-rendicion-emp-hist .renemphist-top-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-rendicion-emp-hist .renemphist-top-actions-left,
.page-rendicion-emp-hist .renemphist-top-actions-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-rendicion-emp-hist .renemphist-top-actions-right {
    margin-left: auto;
}

.page-rendicion-emp-hist .btn-renemphist-head {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 6px;
    font-weight: 700;
}

.page-rendicion-emp-hist .renemphist-mini-metric {
    min-width: 150px;
    border: 1px solid #d6e7f5;
    border-radius: 10px;
    padding: 7px 12px;
    background: #f0f8ff;
}

.page-rendicion-emp-hist .renemphist-mini-metric span {
    display: block;
    color: #5a7088;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.page-rendicion-emp-hist .renemphist-mini-metric strong {
    display: block;
    margin-top: 3px;
    color: #22384f;
    font-size: 24px;
    line-height: 1.1;
}

.page-rendicion-emp-hist .renemphist-search-row {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

.page-rendicion-emp-hist .renemphist-search-group {
    width: 100%;
    max-width: 390px;
}

.page-rendicion-emp-hist .renemphist-search-group .input-group-addon,
.page-rendicion-emp-hist .renemphist-search-group .form-control {
    height: 42px;
}

.page-rendicion-emp-hist .renemphist-search-group .form-control {
    font-size: 15px;
}

.page-rendicion-emp-hist .renemphist-filters-panel {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
    background: #fbfdff;
}

.page-rendicion-emp-hist .renemphist-filter-label {
    display: block;
    margin: 0 0 4px;
    color: #51657b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.page-rendicion-emp-hist .renemphist-filters-panel .form-control {
    height: 34px;
    border-radius: 6px;
}

.page-rendicion-emp-hist .renemphist-filters-panel .select2-container {
    width: 100% !important;
}

.page-rendicion-emp-hist .renemphist-filters-panel .select2-container--default .select2-selection--single {
    height: 34px;
    border-radius: 6px;
    border-color: #d7dfe8;
}

.page-rendicion-emp-hist .renemphist-filters-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px;
    padding-left: 10px;
    color: #33495f;
    font-size: 13px;
}

.page-rendicion-emp-hist .renemphist-filters-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px;
}

.page-rendicion-emp-hist .renemphist-filters-panel .select2-container--default.select2-container--open .select2-selection--single,
.page-rendicion-emp-hist .renemphist-filters-panel .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #8cb8de;
    box-shadow: 0 0 0 2px rgba(66, 139, 202, 0.12);
}

.page-rendicion-emp-hist .renemphist-filter-actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.page-rendicion-emp-hist .btn-renemphist-clear {
    height: 34px;
    border-radius: 6px;
    font-weight: 600;
}

.page-rendicion-emp-hist .renemphist-table-wrap {
    overflow-x: auto;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 8px 0;
    padding: 10px 12px;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
    background: #f8fbff;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_wrapper .dt-buttons .btn {
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    font-weight: 600;
    color: #4e5d70;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_wrapper .dataTables_length select {
    height: 34px;
    border-radius: 5px;
}

.page-rendicion-emp-hist .renemphist-table-panel .tablaRendicionMensualEmpHist > thead > tr > th {
    padding: 10px 10px;
    background: #f2f6fb;
    color: #243447;
    border-bottom: 2px solid #d5dee8;
    font-weight: 700;
    font-size: 14px;
    vertical-align: middle;
    white-space: nowrap;
}

.page-rendicion-emp-hist .renemphist-table-panel .tablaRendicionMensualEmpHist > tbody > tr > td {
    padding: 10px 10px;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
}

.page-rendicion-emp-hist .renemphist-table-panel .tablaRendicionMensualEmpHist > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-rendicion-emp-hist .renemphist-table-panel table.dataTable tbody tr:hover > td {
    background: #f3f9ff;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_scrollBody {
    border-bottom: 1px solid #e5ecf3;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-rendicion-emp-hist .renemphist-table-panel .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #a8b8c8;
    border-radius: 99px;
}

@media (max-width: 991px) {
    .page-rendicion-emp-hist .renemphist-top-actions {
        align-items: flex-start;
    }

    .page-rendicion-emp-hist .renemphist-top-actions-right {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .page-rendicion-emp-hist .renemphist-search-row {
        justify-content: flex-start;
    }

    .page-rendicion-emp-hist .renemphist-search-group {
        max-width: 100%;
    }

    .page-rendicion-emp-hist .renemphist-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .page-rendicion-emp-hist .btn-renemphist-head {
        width: 100%;
        text-align: center;
    }

    .page-rendicion-emp-hist .renemphist-top-actions-left,
    .page-rendicion-emp-hist .renemphist-top-actions-right {
        width: 100%;
    }

    .page-rendicion-emp-hist .renemphist-mini-metric {
        width: 100%;
    }

    .page-rendicion-emp-hist .renemphist-table-panel .dataTables_wrapper > .row:first-child {
        padding: 7px;
    }

    .page-rendicion-emp-hist .renemphist-filter-label {
        margin-top: 6px;
    }
}

/* Inversion beneficiario emprende */
.page-inv-beneficiario {
    --inv-accent: #ff8c1a;
    --inv-accent-soft: #fff4e7;
    --inv-primary: #1bb1d9;
    --inv-primary-soft: #e8f8fc;
    --inv-ink: #243447;
    --inv-muted: #5f6f82;
    --inv-line: #e4e9f0;
    --inv-shadow: 0 14px 32px rgba(31, 45, 61, 0.08);
}

.page-inv-beneficiario .content-header {
    padding-bottom: 8px;
}

.page-inv-beneficiario .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 12px 0 0;
    padding: 0;
    background: transparent;
}

.page-inv-beneficiario .content {
    padding-top: 8px;
}

.page-inv-beneficiario .inv-benef-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 18px 22px;
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(255, 140, 26, 0.16), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(226, 233, 240, 0.95);
    box-shadow: var(--inv-shadow);
}

.page-inv-beneficiario .inv-benef-header-main {
    max-width: 760px;
}

.page-inv-beneficiario .inv-benef-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--inv-accent-soft);
    color: #c76b00;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-inv-beneficiario .inv-benef-header h1 {
    margin: 0;
    color: var(--inv-ink);
    font-size: 27px;
    font-weight: 700;
}

.page-inv-beneficiario .inv-benef-subtitle {
    margin: 10px 0 0;
    color: var(--inv-muted);
    font-size: 14px;
    line-height: 1.5;
}

.page-inv-beneficiario .inv-benef-total-card {
    min-width: 240px;
    padding: 16px 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ff962f 0%, #ffb258 100%);
    color: #fff;
    box-shadow: 0 16px 30px rgba(255, 140, 26, 0.22);
}

.page-inv-beneficiario .inv-benef-total-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.92;
}

.page-inv-beneficiario .inv-benef-total-amount {
    display: block;
    margin-top: 8px;
    font-size: 28px;
    line-height: 1.1;
    font-weight: 800;
}

.page-inv-beneficiario .box {
    border-top: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--inv-shadow);
}

.page-inv-beneficiario .inv-benef-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    border-bottom: 1px solid #eef2f7;
}

.page-inv-beneficiario .inv-benef-toolbar-left,
.page-inv-beneficiario .inv-benef-toolbar-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.page-inv-beneficiario .inv-benef-toolbar-left {
    margin-right: auto;
    justify-content: flex-start;
}

.page-inv-beneficiario .inv-benef-toolbar-right {
    margin-left: auto;
    justify-content: flex-end;
}

.page-inv-beneficiario .btn-inv-toolbar,
.page-inv-beneficiario .btn-inv-toolbar-secondary,
.page-inv-beneficiario .btn-inv-add-detail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 10px;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.page-inv-beneficiario .btn-inv-toolbar:hover,
.page-inv-beneficiario .btn-inv-toolbar-secondary:hover,
.page-inv-beneficiario .btn-inv-add-detail:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(31, 45, 61, 0.12);
}

.page-inv-beneficiario .btn-inv-toolbar-secondary {
    border-color: #d8e1ea;
    background: #fff;
    color: var(--inv-ink);
}

.page-inv-beneficiario .btn-inv-toolbar-secondary[disabled] {
    opacity: 0.6;
    box-shadow: none;
}

.page-inv-beneficiario .inv-benef-stat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 150px;
    min-height: 72px;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--inv-primary-soft) 0%, #f6fcff 100%);
    border: 1px solid rgba(27, 177, 217, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.page-inv-beneficiario .inv-benef-stat-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #43829a;
}

.page-inv-beneficiario .inv-benef-stat-value {
    margin-top: 4px;
    color: var(--inv-ink);
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.page-inv-beneficiario .box-body {
    padding: 20px;
    background: linear-gradient(180deg, #fcfdff 0%, #f8fafc 100%);
}

.page-inv-beneficiario .inv-sections-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.page-inv-beneficiario .inv-section-card {
    margin-bottom: 0;
    min-width: 0;
    height: 100%;
    padding: 18px;
    border: 1px solid #edf1f6;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
}

.page-inv-beneficiario .inv-section-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.07);
}

.page-inv-beneficiario .inv-section-card-secondary {
    margin-bottom: 0;
}

.page-inv-beneficiario .inv-section-card-main {
    order: 1;
}

.page-inv-beneficiario .inv-section-card-detail {
    order: 2;
}

.page-inv-beneficiario .inv-section-head {
    margin-bottom: 16px;
}

.page-inv-beneficiario .inv-section-head-split {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.page-inv-beneficiario .inv-section-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #7d8da1;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-inv-beneficiario .inv-section-title {
    margin: 0;
    color: var(--inv-ink);
    font-size: 23px;
    font-weight: 700;
}

.page-inv-beneficiario .inv-section-text {
    margin: 8px 0 0;
    color: var(--inv-muted);
    font-size: 14px;
    line-height: 1.5;
}

.page-inv-beneficiario .inv-table-shell {
    position: relative;
    min-width: 0;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:first-child {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #ebeff5;
    border-radius: 12px;
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:first-child > .col-sm-6 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 50%;
    float: none;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:first-child > .col-sm-6:last-child {
    justify-content: flex-end;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_length {
    float: left !important;
    text-align: left !important;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_filter {
    float: right !important;
    text-align: right !important;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_length label,
.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_filter label {
    margin-bottom: 0;
    color: var(--inv-ink);
    font-weight: 600;
    width: 100%;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_length select {
    height: 34px;
    padding: 5px 9px;
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: #fff;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_filter input {
    height: 36px;
    margin-left: 8px;
    padding: 6px 12px;
    border: 1px solid #d7dfe8;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_filter input:focus {
    border-color: rgba(27, 177, 217, 0.55);
    box-shadow: 0 0 0 3px rgba(27, 177, 217, 0.12);
}

.page-inv-beneficiario .invBenEmprende > thead > tr > th,
.page-inv-beneficiario .detallePlan > thead > tr > th {
    padding: 11px 10px;
    border-bottom: 2px solid #d7dee8;
    background: #f6f8fb;
    color: var(--inv-ink);
    font-size: 13px;
    font-weight: 700;
    vertical-align: middle;
    white-space: nowrap;
}

.page-inv-beneficiario .invBenEmprende > tbody > tr > td,
.page-inv-beneficiario .detallePlan > tbody > tr > td {
    padding: 11px 10px;
    vertical-align: middle;
    color: #35495d;
    font-size: 13px;
    line-height: 1.35;
}

.page-inv-beneficiario .invBenEmprende > tbody > tr:nth-child(even) > td,
.page-inv-beneficiario .detallePlan > tbody > tr:nth-child(even) > td {
    background: #fcfdff;
}

.page-inv-beneficiario .invBenEmprende > tbody > tr:hover > td,
.page-inv-beneficiario .detallePlan > tbody > tr:hover > td {
    background: #fbfdff;
}

.page-inv-beneficiario .invBenEmprende > tbody > tr > td:nth-child(4),
.page-inv-beneficiario .invBenEmprende > tbody > tr > td:nth-child(5),
.page-inv-beneficiario .detallePlan > tbody > tr > td:first-child {
    white-space: normal;
    min-width: 150px;
}

.page-inv-beneficiario .invBenEmprende > tbody > tr > td:last-child,
.page-inv-beneficiario .detallePlan > tbody > tr > td:last-child {
    white-space: nowrap;
}

.page-inv-beneficiario .invBenEmprende .inv-col-id {
    min-width: 70px;
}

.page-inv-beneficiario .invBenEmprende .inv-col-money,
.page-inv-beneficiario .detallePlan .inv-col-money,
.page-inv-beneficiario .invBenEmprende .inv-col-date,
.page-inv-beneficiario .detallePlan .inv-col-date {
    font-variant-numeric: tabular-nums;
}

.page-inv-beneficiario .invBenEmprende .inv-col-money,
.page-inv-beneficiario .detallePlan .inv-col-money {
    white-space: nowrap;
    min-width: 94px;
}

.page-inv-beneficiario .invBenEmprende .inv-col-date,
.page-inv-beneficiario .detallePlan .inv-col-date {
    white-space: nowrap;
    min-width: 112px;
}

.page-inv-beneficiario .invBenEmprende .inv-col-actions,
.page-inv-beneficiario .detallePlan .inv-col-actions {
    min-width: 128px;
}

.page-inv-beneficiario .inv-table-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.page-inv-beneficiario .btnInvTableAction,
.page-inv-beneficiario .inv-detail-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.page-inv-beneficiario .btnInvTableAction:hover,
.page-inv-beneficiario .inv-detail-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 16px rgba(31, 45, 61, 0.14);
}

.page-inv-beneficiario .btnInvTableActionDanger {
    background: #dd4b39;
    border-color: #d73925;
}

.page-inv-beneficiario .inv-detail-actions {
    display: inline-flex;
    border-radius: 10px;
    overflow: hidden;
}

.page-inv-beneficiario .inv-detail-actions .btn {
    min-width: 34px;
    justify-content: center;
    border-radius: 0;
}

.page-inv-beneficiario #tabla_detalles_wrapper .dataTables_paginate {
    float: right;
    margin-top: 12px;
}

.page-inv-beneficiario #tabla_detalles_wrapper .dataTables_info {
    padding-top: 16px;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-5,
.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-7 {
    float: none;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-5 {
    width: 50%;
}

.page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-7 {
    width: 50%;
    display: flex;
    justify-content: flex-end;
}

.page-inv-beneficiario .pagination > .active > a,
.page-inv-beneficiario .pagination > .active > span,
.page-inv-beneficiario .pagination > .active > a:hover,
.page-inv-beneficiario .pagination > .active > span:hover,
.page-inv-beneficiario .pagination > .active > a:focus,
.page-inv-beneficiario .pagination > .active > span:focus {
    background-color: #3c8dbc;
    border-color: #3c8dbc;
}

.page-inv-beneficiario .pagination > li > a,
.page-inv-beneficiario .pagination > li > span {
    border-radius: 8px !important;
    margin: 0 2px;
}

@media (max-width: 991px) {
    .page-inv-beneficiario .inv-sections-grid {
        grid-template-columns: 1fr;
    }

    .page-inv-beneficiario .inv-section-card-main,
    .page-inv-beneficiario .inv-section-card-detail {
        order: initial;
    }

    .page-inv-beneficiario .inv-benef-header,
    .page-inv-beneficiario .inv-benef-toolbar,
    .page-inv-beneficiario .inv-section-head-split {
        flex-direction: column;
        align-items: stretch;
    }

    .page-inv-beneficiario .inv-benef-total-card,
    .page-inv-beneficiario .inv-benef-stat-card {
        min-width: 0;
    }

    .page-inv-beneficiario .inv-benef-toolbar-left {
        margin-right: 0;
    }

    .page-inv-beneficiario .inv-benef-toolbar-right {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }

    .page-inv-beneficiario .btn-inv-toolbar-secondary,
    .page-inv-beneficiario .btn-inv-add-detail {
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .page-inv-beneficiario .inv-benef-header {
        padding: 16px;
        border-radius: 14px;
    }

    .page-inv-beneficiario .inv-benef-header h1 {
        font-size: 24px;
    }

    .page-inv-beneficiario .inv-benef-total-amount {
        font-size: 24px;
    }

    .page-inv-beneficiario .box-body {
        padding: 14px;
    }

    .page-inv-beneficiario .inv-section-card {
        padding: 14px;
        border-radius: 14px;
    }

    .page-inv-beneficiario .btn-inv-toolbar,
    .page-inv-beneficiario .btn-inv-toolbar-secondary,
    .page-inv-beneficiario .btn-inv-add-detail {
        width: 100%;
        justify-content: center;
    }

    .page-inv-beneficiario .inv-benef-toolbar-right,
    .page-inv-beneficiario .inv-section-actions {
        width: 100%;
    }

    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:first-child {
        padding: 8px 10px;
    }

    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:first-child > .col-sm-6 {
        width: 100%;
    }

    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:first-child > .col-sm-6:last-child {
        justify-content: flex-start;
        margin-top: 8px;
    }

    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
    }

    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-5,
    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-7 {
        width: 100%;
    }

    .page-inv-beneficiario .inv-table-shell .dataTables_wrapper > .row:last-child > .col-sm-7 {
        justify-content: flex-start;
    }

    .page-inv-beneficiario .inv-table-actions {
        flex-wrap: wrap;
    }
}

/* Rendicion mensual beneficiario emprende */
.page-rendicion-ben-emp {
    --renemp-accent: #ff8c1a;
    --renemp-accent-soft: #fff4e8;
    --renemp-primary: #1ca3d4;
    --renemp-primary-soft: #e9f7fc;
    --renemp-ink: #23384f;
    --renemp-muted: #60758b;
    --renemp-line: #e4ebf2;
    --renemp-shadow: 0 14px 30px rgba(31, 45, 61, 0.08);
}

.page-rendicion-ben-emp .content-header {
    padding-bottom: 4px;
}

.page-rendicion-ben-emp .content-header > .breadcrumb {
    position: static;
    float: none;
    margin: 8px 0 0;
    padding: 0;
    background: transparent;
}

.page-rendicion-ben-emp .renemp-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 16px;
    background:
        radial-gradient(circle at top right, rgba(255, 140, 26, 0.16), transparent 35%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(226, 234, 242, 0.95);
    box-shadow: var(--renemp-shadow);
}

.page-rendicion-ben-emp .renemp-header-main {
    max-width: 780px;
}

.page-rendicion-ben-emp .renemp-kicker {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--renemp-accent-soft);
    color: #c66d06;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-rendicion-ben-emp .renemp-header h1 {
    margin: 0;
    color: var(--renemp-ink);
    font-size: 28px;
    font-weight: 700;
}

.page-rendicion-ben-emp .renemp-subtitle {
    margin: 8px 0 0;
    color: var(--renemp-muted);
    font-size: 14px;
    line-height: 1.45;
}

.page-rendicion-ben-emp .renemp-total-card {
    min-width: 215px;
    padding: 12px 16px;
    border-radius: 15px;
    background: linear-gradient(135deg, #ff932d 0%, #ffb254 100%);
    color: #fff;
    box-shadow: 0 15px 28px rgba(255, 140, 26, 0.24);
}

.page-rendicion-ben-emp .renemp-total-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.92;
}

.page-rendicion-ben-emp .renemp-total-value {
    display: block;
    margin-top: 4px;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.08;
}

.page-rendicion-ben-emp .box {
    border-top: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--renemp-shadow);
}

.page-rendicion-ben-emp .renemp-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    border-bottom: 1px solid #edf2f8;
}

.page-rendicion-ben-emp .renemp-toolbar-left,
.page-rendicion-ben-emp .renemp-toolbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-rendicion-ben-emp .renemp-toolbar-left {
    margin-right: auto;
    justify-content: flex-start;
}

.page-rendicion-ben-emp .renemp-toolbar-right {
    margin-left: auto;
    justify-content: flex-end;
}

.page-rendicion-ben-emp .btn-renemp-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 10px;
    font-weight: 700;
}

.page-rendicion-ben-emp .renemp-mini-metric {
    min-width: 180px;
    min-height: 60px;
    padding: 10px 14px;
    border: 1px solid rgba(28, 163, 212, 0.18);
    border-radius: 12px;
    background: linear-gradient(135deg, var(--renemp-primary-soft) 0%, #f5fcff 100%);
}

.page-rendicion-ben-emp .renemp-mini-metric .renemp-mini-label {
    display: block;
    color: #4c86a0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.page-rendicion-ben-emp .renemp-mini-metric strong {
    display: block;
    margin-top: 4px;
    color: var(--renemp-ink);
    font-size: 20px;
    line-height: 1.1;
}

.page-rendicion-ben-emp .box-body {
    padding: 18px;
    background: linear-gradient(180deg, #fcfdff 0%, #f8fafc 100%);
}

.page-rendicion-ben-emp .renemp-section-card {
    padding: 16px;
    border: 1px solid #ecf1f6;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.page-rendicion-ben-emp .renemp-section-head {
    margin-bottom: 14px;
}

.page-rendicion-ben-emp .renemp-section-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #7a8ca2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-rendicion-ben-emp .renemp-section-title {
    margin: 0;
    color: var(--renemp-ink);
    font-size: 25px;
    font-weight: 700;
}

.page-rendicion-ben-emp .renemp-section-text {
    margin: 8px 0 0;
    color: var(--renemp-muted);
    font-size: 14px;
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_wrapper > .row:first-child {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #ebf0f6;
    border-radius: 12px;
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%);
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_wrapper .dt-buttons .btn {
    border-radius: 8px;
    min-height: 30px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_wrapper .dataTables_length label,
.page-rendicion-ben-emp .renemp-table-shell .dataTables_wrapper .dataTables_filter label {
    margin-bottom: 0;
    font-weight: 600;
    color: var(--renemp-ink);
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_wrapper .dataTables_length select {
    border-radius: 8px;
    height: 32px;
    padding: 4px 8px;
    border: 1px solid #d7e0ea;
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_wrapper .dataTables_filter input {
    border-radius: 8px;
    height: 32px;
    padding: 4px 10px;
    border: 1px solid #d7e0ea;
}

.page-rendicion-ben-emp .rendicionMensualBeneficiarioEmp > thead > tr > th {
    background: #f5f8fc;
    color: var(--renemp-ink);
    border-bottom: 2px solid #d7e0ea;
    font-weight: 700;
    padding: 10px 8px;
    white-space: nowrap;
    font-size: 12px;
    vertical-align: middle;
}

.page-rendicion-ben-emp .rendicionMensualBeneficiarioEmp > tbody > tr > td {
    padding: 10px 8px;
    vertical-align: middle;
    font-size: 12px;
    color: #334a62;
    line-height: 1.32;
}

.page-rendicion-ben-emp .rendicionMensualBeneficiarioEmp > tbody > tr:nth-child(even) > td {
    background: #fcfdff;
}

.page-rendicion-ben-emp .rendicionMensualBeneficiarioEmp > tbody > tr:hover > td {
    background: #f7fbff;
}

.page-rendicion-ben-emp .renemp-col-money,
.page-rendicion-ben-emp .renemp-col-date {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.page-rendicion-ben-emp .renemp-col-actions {
    min-width: 270px;
    white-space: nowrap;
}

.page-rendicion-ben-emp .renemp-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.page-rendicion-ben-emp .btnRenEmpAction {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.page-rendicion-ben-emp .renemp-summary-row {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.page-rendicion-ben-emp .renemp-summary-card {
    padding: 12px 14px;
    border: 1px solid #e2eaf3;
    border-radius: 12px;
    background: #fff;
}

.page-rendicion-ben-emp .renemp-summary-card span {
    display: block;
    color: #60748b;
    font-size: 12px;
    font-weight: 600;
}

.page-rendicion-ben-emp .renemp-summary-card strong {
    display: block;
    margin-top: 4px;
    color: var(--renemp-ink);
    font-size: 24px;
    line-height: 1.1;
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-rendicion-ben-emp .renemp-table-shell .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #a7b5c4;
    border-radius: 99px;
}

@media (max-width: 991px) {
    .page-rendicion-ben-emp .renemp-header,
    .page-rendicion-ben-emp .renemp-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .page-rendicion-ben-emp .renemp-total-card,
    .page-rendicion-ben-emp .renemp-mini-metric {
        min-width: 0;
    }

    .page-rendicion-ben-emp .renemp-toolbar-left {
        margin-right: 0;
        width: 100%;
    }

    .page-rendicion-ben-emp .renemp-toolbar-right {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .page-rendicion-ben-emp .renemp-header {
        padding: 16px;
        border-radius: 14px;
    }

    .page-rendicion-ben-emp .renemp-header h1 {
        font-size: 24px;
    }

    .page-rendicion-ben-emp .renemp-total-value {
        font-size: 26px;
    }

    .page-rendicion-ben-emp .box-body {
        padding: 14px;
    }

    .page-rendicion-ben-emp .renemp-section-card {
        padding: 14px;
    }

    .page-rendicion-ben-emp .btn-renemp-back {
        width: 100%;
        justify-content: center;
    }

    .page-rendicion-ben-emp .renemp-summary-row {
        grid-template-columns: 1fr;
    }

    .page-rendicion-ben-emp .renemp-actions {
        flex-wrap: wrap;
    }
}

/* =========================================================
   Carpeta Ben Desarrollo UX
========================================================= */
.page-carpeta-ben-desarrollo {
    --desa-primary: #2f79b8;
    --desa-primary-dark: #245f93;
    --desa-ink: #1f3550;
    --desa-muted: #5f738a;
}

.page-carpeta-ben-desarrollo .content-header {
    padding-bottom: 8px;
}

.page-carpeta-ben-desarrollo .desa-page-title {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--desa-ink);
}

.page-carpeta-ben-desarrollo .desa-page-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 5px 12px;
    border-radius: 999px;
    background: #e8f1f9;
    color: #3f6f97;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-carpeta-ben-desarrollo .desa-page-main {
    display: block;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--desa-ink);
}

.page-carpeta-ben-desarrollo .desa-page-main strong {
    font-weight: 800;
}

.page-carpeta-ben-desarrollo .desa-page-sub {
    display: block;
    color: var(--desa-muted);
    font-size: 16px;
    font-weight: 600;
}

.page-carpeta-ben-desarrollo .box {
    border-color: #d9e4ef;
    border-radius: 14px;
    overflow: hidden;
}

.page-carpeta-ben-desarrollo .desa-topbar {
    padding: 12px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-carpeta-ben-desarrollo .btn-desa-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 10px;
    font-weight: 700;
    margin-right: 0;
}

.page-carpeta-ben-desarrollo .desa-page-body {
    padding: 10px 10px 14px;
}

.page-carpeta-ben-desarrollo .desa-overview-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.page-carpeta-ben-desarrollo .desa-overview-card {
    padding: 10px 12px;
    border: 1px solid #d6e3ef;
    border-radius: 12px;
    background: #f7fbff;
}

.page-carpeta-ben-desarrollo .desa-overview-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5a738c;
    font-weight: 700;
}

.page-carpeta-ben-desarrollo .desa-overview-value {
    display: block;
    margin-top: 3px;
    color: #1f3550;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 800;
}

.page-carpeta-ben-desarrollo .desa-section-card {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid #d9e3ef;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(33, 81, 122, 0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.page-carpeta-ben-desarrollo .desa-content-grid {
    margin-bottom: 2px;
}

.page-carpeta-ben-desarrollo .desa-secondary-row {
    margin-left: -14px;
    margin-right: -14px;
    margin-top: 12px;
}

.page-carpeta-ben-desarrollo .desa-secondary-row > [class*="col-"] {
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.page-carpeta-ben-desarrollo .desa-secondary-row > .desa-right-column {
    padding-left: 18px !important;
}

.page-carpeta-ben-desarrollo .desa-secondary-row > .col-lg-12.desa-right-column,
.page-carpeta-ben-desarrollo .desa-secondary-row > .col-md-12.desa-right-column {
    padding-left: 14px !important;
    margin-top: 0;
}

.page-carpeta-ben-desarrollo #desaRevisionSection,
.page-carpeta-ben-desarrollo #desaFacturasSection {
    overflow: hidden;
}

.page-carpeta-ben-desarrollo .desa-right-column {
    display: flex;
    flex-direction: column;
    margin-top: 1px;
}

.page-carpeta-ben-desarrollo .desa-right-column .desa-section-card {
    height: 100%;
    padding: 10px 10px 8px;
}

.page-carpeta-ben-desarrollo .desa-right-column .desa-create-form {
    margin-top: 4px;
    margin-bottom: 8px;
}

.page-carpeta-ben-desarrollo .desa-right-column .desa-create-row {
    padding: 8px 10px;
    border-radius: 10px;
}

.page-carpeta-ben-desarrollo .desa-right-column .desa-create-row > [class*="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}

.page-carpeta-ben-desarrollo .desa-right-column .desa-factura-input {
    height: 40px;
    font-weight: 700;
    font-size: 16px;
    min-width: 0;
}

.page-carpeta-ben-desarrollo .desa-right-column .desa-btn-create {
    min-height: 34px;
    padding: 4px 10px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
}

.page-carpeta-ben-desarrollo .desa-right-column .dataTables_wrapper > .row:first-child {
    padding: 8px 10px;
    margin-bottom: 8px;
}

.page-carpeta-ben-desarrollo .desa-right-column .tablaCarpeta > thead > tr > th {
    padding: 7px 7px;
    font-size: 11px;
}

.page-carpeta-ben-desarrollo .desa-right-column .tablaCarpeta > tbody > tr > td {
    padding: 7px 7px;
    font-size: 12px;
}

.page-carpeta-ben-desarrollo .desa-factura-num {
    font-weight: 800;
    color: #223a53;
}

.page-carpeta-ben-desarrollo .desa-section-title {
    margin: 0 0 10px;
    color: var(--desa-ink);
    font-size: 24px;
    font-weight: 600;
}

.page-carpeta-ben-desarrollo .revisionC {
    display: inline-block;
    margin-right: 10px;
}

.page-carpeta-ben-desarrollo .desa-btn-verify {
    min-height: 36px;
    border-radius: 9px;
    font-weight: 700;
    margin-top: -6px;
}

.page-carpeta-ben-desarrollo .dataTables_wrapper > .row:first-child {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #e4edf5;
    border-radius: 12px;
    background: #fbfdff;
}

.page-carpeta-ben-desarrollo .dataTables_wrapper .dt-buttons {
    display: none !important;
}

.page-carpeta-ben-desarrollo .dataTables_wrapper .dataTables_length label,
.page-carpeta-ben-desarrollo .dataTables_wrapper .dataTables_filter label {
    margin-bottom: 0;
    font-weight: 600;
    color: var(--desa-ink);
}

.page-carpeta-ben-desarrollo .dataTables_wrapper .dataTables_length select,
.page-carpeta-ben-desarrollo .dataTables_wrapper .dataTables_filter input {
    border: 1px solid #d2deea;
    border-radius: 9px;
    height: 34px;
    padding: 4px 10px;
}

.page-carpeta-ben-desarrollo .tablaRevision > thead > tr > th,
.page-carpeta-ben-desarrollo .tablaRevisionBeneficiario > thead > tr > th,
.page-carpeta-ben-desarrollo .tablaCarpeta > thead > tr > th {
    background: #f1f6fc;
    color: var(--desa-ink);
    border-bottom: 2px solid #d5e2ef;
    font-weight: 700;
    font-size: 12px;
    padding: 9px 8px;
    vertical-align: middle;
    white-space: nowrap;
}

.page-carpeta-ben-desarrollo .tablaRevision > tbody > tr > td,
.page-carpeta-ben-desarrollo .tablaRevisionBeneficiario > tbody > tr > td,
.page-carpeta-ben-desarrollo .tablaCarpeta > tbody > tr > td {
    padding: 9px 8px;
    font-size: 12px;
    color: #334a62;
    vertical-align: middle;
    line-height: 1.35;
}

.page-carpeta-ben-desarrollo .tablaRevision > tbody > tr:nth-child(even) > td,
.page-carpeta-ben-desarrollo .tablaRevisionBeneficiario > tbody > tr:nth-child(even) > td,
.page-carpeta-ben-desarrollo .tablaCarpeta > tbody > tr:nth-child(even) > td {
    background: #fcfeff;
}

.page-carpeta-ben-desarrollo .tablaRevision > tbody > tr:hover > td,
.page-carpeta-ben-desarrollo .tablaRevisionBeneficiario > tbody > tr:hover > td,
.page-carpeta-ben-desarrollo .tablaCarpeta > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-carpeta-ben-desarrollo .tablaRevision > thead > tr > th:last-child,
.page-carpeta-ben-desarrollo .tablaRevision > tbody > tr > td:last-child {
    white-space: nowrap;
    min-width: 136px;
}

.page-carpeta-ben-desarrollo .tablaRevision .desa-actions-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.page-carpeta-ben-desarrollo .tablaRevision .desa-action-btn {
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.1;
}

.page-carpeta-ben-desarrollo .tablaRevision .desa-action-btn-delete {
    min-width: 31px;
    padding-left: 9px;
    padding-right: 9px;
}

.page-carpeta-ben-desarrollo .dataTables_wrapper .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
}

.page-carpeta-ben-desarrollo .dataTables_wrapper .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #9fb1c3;
    border-radius: 99px;
}

.page-carpeta-ben-desarrollo .desa-create-form {
    margin-bottom: 12px;
}

.page-carpeta-ben-desarrollo .desa-create-row {
    padding: 10px 12px;
    border: 1px solid #d9e3ef;
    border-radius: 12px;
    background: #f9fcff;
}

.page-carpeta-ben-desarrollo .desa-factura-input {
    height: 46px;
}

.page-carpeta-ben-desarrollo .desa-btn-create {
    min-height: 46px;
    border-radius: 10px;
    padding: 8px 14px;
    font-weight: 700;
}

.page-carpeta-ben-desarrollo .desa-section-folders {
    margin-bottom: 4px;
}

.page-carpeta-ben-desarrollo .tablaCarpeta .btn-group {
    display: inline-flex;
    gap: 6px;
}

.page-carpeta-ben-desarrollo .desa-factura-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.page-carpeta-ben-desarrollo .desa-btn-folder-open {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
}

.page-carpeta-ben-desarrollo .desa-btn-factura-delete {
    min-width: 34px;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.page-carpeta-ben-desarrollo .desa-zip-form {
    margin: 0;
    display: inline-flex;
    align-items: center;
}

.page-carpeta-ben-desarrollo .desa-btn-zip-download {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
}

.page-carpeta-ben-desarrollo .desa-zip-unavailable {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 700;
}

.page-carpeta-ben-desarrollo .desa-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.page-carpeta-ben-desarrollo .desa-pill-success {
    background: #eaf8ef;
    color: #1f7f41;
    border-color: #bfe7cd;
}

.page-carpeta-ben-desarrollo .desa-pill-danger {
    background: #fdeced;
    color: #b22133;
    border-color: #f2c6cc;
}

.page-carpeta-ben-desarrollo .desa-pill-warning {
    background: #fff4e4;
    color: #b56a0b;
    border-color: #f3d5a9;
}

.page-carpeta-ben-desarrollo .desa-pill-neutral {
    background: #eef3f8;
    color: #4f657b;
    border-color: #d2deea;
}

.page-carpeta-ben-desarrollo .desa-quick-toggle {
    position: fixed;
    top: 165px;
    right: 18px;
    z-index: 1045;
    min-height: 34px;
    border-radius: 999px;
    padding: 6px 12px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(33, 81, 122, 0.18);
}

.page-carpeta-ben-desarrollo .desa-quick-panel {
    position: fixed;
    top: 205px;
    right: 18px;
    width: 230px;
    z-index: 1044;
    border: 1px solid #d8e4ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(33, 81, 122, 0.18);
    transition: transform 0.24s ease, opacity 0.24s ease;
}

.page-carpeta-ben-desarrollo .desa-quick-panel.is-collapsed {
    transform: translateX(calc(100% + 16px));
    opacity: 0;
    pointer-events: none;
}

.page-carpeta-ben-desarrollo .desa-quick-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #e4edf5;
    color: #1f3550;
    font-weight: 700;
}

.page-carpeta-ben-desarrollo .desa-quick-body {
    padding: 10px;
}

.page-carpeta-ben-desarrollo .desa-quick-body .btn {
    border-radius: 9px;
    text-align: left;
    min-height: 34px;
    margin-bottom: 6px;
}

.page-carpeta-ben-desarrollo .desa-quick-body .btn:last-child {
    margin-bottom: 0;
}

.page-carpeta-ben-desarrollo .desa-target-highlight {
    box-shadow: 0 0 0 3px rgba(47, 121, 184, 0.22), 0 8px 20px rgba(33, 81, 122, 0.14);
    border-radius: 10px;
    transition: box-shadow 0.2s ease;
}

@media (max-width: 991px) {
    .page-carpeta-ben-desarrollo .desa-overview-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-carpeta-ben-desarrollo .desa-page-main {
        font-size: 23px;
    }

    .page-carpeta-ben-desarrollo .desa-quick-toggle {
        top: 145px;
        right: 12px;
    }

    .page-carpeta-ben-desarrollo .desa-quick-panel {
        top: 188px;
        right: 12px;
        width: 215px;
    }
}

@media (max-width: 767px) {
    .page-carpeta-ben-desarrollo .desa-page-main {
        font-size: 21px;
    }

    .page-carpeta-ben-desarrollo .desa-section-title {
        font-size: 21px;
    }

    .page-carpeta-ben-desarrollo .desa-page-sub {
        font-size: 14px;
    }

    .page-carpeta-ben-desarrollo .desa-overview-cards {
        grid-template-columns: 1fr;
    }

    .page-carpeta-ben-desarrollo .btn-desa-nav,
    .page-carpeta-ben-desarrollo .desa-btn-create {
        width: 100%;
    }

    .page-carpeta-ben-desarrollo .desa-topbar {
        flex-direction: column;
        align-items: stretch;
    }

    .page-carpeta-ben-desarrollo .desa-section-card {
        padding: 10px;
    }

    .page-carpeta-ben-desarrollo .desa-quick-toggle {
        position: static;
        width: 100%;
        margin: 0 0 8px;
        box-shadow: none;
    }

    .page-carpeta-ben-desarrollo .desa-quick-panel {
        position: static;
        width: 100%;
        margin-bottom: 10px;
        box-shadow: none;
    }

    .page-carpeta-ben-desarrollo .desa-quick-panel.is-collapsed {
        display: none;
        transform: none;
        opacity: 1;
        pointer-events: auto;
    }
}

/* =========================================================
   Carpeta Evaluacion UX
========================================================= */
.page-carpeta-evaluacion {
    --eval-primary: #2f79b8;
    --eval-primary-dark: #255f93;
    --eval-ink: #1f3550;
    --eval-muted: #5f738a;
    --eval-soft: #f4f8fc;
}

.page-carpeta-evaluacion .content-header {
    padding-bottom: 8px;
}

.page-carpeta-evaluacion .eval-page-title {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--eval-ink);
}

.page-carpeta-evaluacion .eval-page-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 5px 12px;
    border-radius: 999px;
    background: #e8f1f9;
    color: #3f6f97;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-carpeta-evaluacion .eval-page-main {
    display: block;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--eval-ink);
}

.page-carpeta-evaluacion .eval-page-main strong {
    font-weight: 800;
}

.page-carpeta-evaluacion .eval-page-sub {
    display: block;
    color: var(--eval-muted);
    font-size: 21px;
    font-weight: 600;
}

.page-carpeta-evaluacion .box {
    border-color: #d9e4ef;
    border-radius: 14px;
    overflow: hidden;
}

.page-carpeta-evaluacion .eval-page-body {
    padding: 0 10px 12px;
}

.page-carpeta-beneficiario .carp-ben-historico-wrap,
.page-carpeta-beneficiario .carp-ben-historico-wrap .dataTables_wrapper {
    display: none !important;
}

.page-carpeta-beneficiario .eval-page-body {
    padding-top: 10px;
}

.page-asistencia-tecnica .asist-historico-wrap,
.page-asistencia-tecnica .asist-historico-wrap .dataTables_wrapper {
    display: none !important;
}

.page-asistencia-tecnica .eval-page-body {
    padding-top: 10px;
}

.page-seguimiento .eval-page-body {
    padding-top: 10px;
}

.page-seguimiento .seg-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.page-seguimiento .seg-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.page-seguimiento .seg-kpi-card {
    padding: 10px 12px;
    border: 1px solid #d6e3ef;
    border-radius: 12px;
    background: #f7fbff;
}

.page-seguimiento .seg-kpi-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5a738c;
    font-weight: 700;
}

.page-seguimiento .seg-kpi-value {
    display: block;
    margin-top: 3px;
    color: #1f3550;
    font-size: 24px;
    line-height: 1.1;
}

.page-seguimiento .seg-kpi-card.seg-kpi-ok {
    background: #ecf8f0;
    border-color: #c8e9d3;
}

.page-seguimiento .seg-kpi-card.seg-kpi-obs {
    background: #fff6e8;
    border-color: #f2d8ad;
}

.page-seguimiento .seg-kpi-card.seg-kpi-pending {
    background: #eef3f8;
    border-color: #d6e0ea;
}

.page-seguimiento .seg-status-ok {
    background: #eaf8ef;
    color: #1f7f41;
    border-color: #bfe7cd;
}

.page-seguimiento .seg-status-obs {
    background: #fff4e4;
    color: #b56a0b;
    border-color: #f3d5a9;
}

.page-seguimiento .seg-status-pending {
    background: #eef3f8;
    color: #4f657b;
    border-color: #d2deea;
}

.page-seguimiento .seg-empty-state {
    display: none;
    margin-top: 14px;
    padding: 18px 16px;
    border: 1px dashed #c9dced;
    border-radius: 12px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%);
    text-align: center;
}

.page-seguimiento .seg-empty-mode .tablaCarpeta tbody td.dataTables_empty {
    display: none !important;
}

.page-seguimiento .seg-empty-mode .dataTables_info,
.page-seguimiento .seg-empty-mode .dataTables_paginate {
    display: none;
}

.page-seguimiento .seg-empty-icon {
    font-size: 26px;
    color: #5c8cb4;
    margin-bottom: 6px;
}

.page-seguimiento .seg-empty-title {
    margin: 0;
    color: #24425e;
    font-size: 18px;
    font-weight: 700;
}

.page-seguimiento .seg-empty-text {
    margin: 6px 0 10px;
    color: #5a738c;
    font-size: 13px;
}

.page-seguimiento .seg-empty-action {
    border-radius: 10px;
    font-weight: 700;
    min-height: 36px;
}

.page-seguimiento .seg-upload-progress-wrap {
    display: none;
    margin-top: 8px;
    margin-bottom: 0;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #e8f1fa;
}

.page-seguimiento .seg-upload-progress-wrap.is-visible {
    display: block;
}

.page-seguimiento .seg-upload-progress-bar {
    font-size: 10px;
    line-height: 10px;
    min-width: 36px;
    transition: width 0.2s ease;
}

.page-seguimiento .seg-upload-highlight {
    box-shadow: 0 0 0 3px rgba(47, 121, 184, 0.18), 0 8px 22px rgba(33, 81, 122, 0.12);
    transition: box-shadow 0.2s ease;
}

.page-carpeta-evaluacion-docs .seg-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.page-carpeta-evaluacion-docs .seg-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.page-carpeta-evaluacion-docs .seg-kpi-card {
    padding: 10px 12px;
    border: 1px solid #d6e3ef;
    border-radius: 12px;
    background: #f7fbff;
}

.page-carpeta-evaluacion-docs .seg-kpi-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5a738c;
    font-weight: 700;
}

.page-carpeta-evaluacion-docs .seg-kpi-value {
    display: block;
    margin-top: 3px;
    color: #1f3550;
    font-size: 24px;
    line-height: 1.1;
}

.page-carpeta-evaluacion-docs .seg-kpi-card.seg-kpi-ok {
    background: #ecf8f0;
    border-color: #c8e9d3;
}

.page-carpeta-evaluacion-docs .seg-kpi-card.seg-kpi-obs {
    background: #fff6e8;
    border-color: #f2d8ad;
}

.page-carpeta-evaluacion-docs .seg-kpi-card.seg-kpi-pending {
    background: #eef3f8;
    border-color: #d6e0ea;
}

.page-carpeta-evaluacion-docs .seg-status-ok {
    background: #eaf8ef;
    color: #1f7f41;
    border-color: #bfe7cd;
}

.page-carpeta-evaluacion-docs .seg-status-obs {
    background: #fff4e4;
    color: #b56a0b;
    border-color: #f3d5a9;
}

.page-carpeta-evaluacion-docs .seg-status-pending {
    background: #eef3f8;
    color: #4f657b;
    border-color: #d2deea;
}

.page-carpeta-evaluacion-docs .seg-empty-state {
    display: none;
    margin-top: 14px;
    padding: 18px 16px;
    border: 1px dashed #c9dced;
    border-radius: 12px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%);
    text-align: center;
}

.page-carpeta-evaluacion-docs .seg-empty-mode .tablaCarpeta tbody td.dataTables_empty {
    display: none !important;
}

.page-carpeta-evaluacion-docs .seg-empty-mode .dataTables_info,
.page-carpeta-evaluacion-docs .seg-empty-mode .dataTables_paginate {
    display: none;
}

.page-carpeta-evaluacion-docs .seg-empty-icon {
    font-size: 26px;
    color: #5c8cb4;
    margin-bottom: 6px;
}

.page-carpeta-evaluacion-docs .seg-empty-title {
    margin: 0;
    color: #24425e;
    font-size: 18px;
    font-weight: 700;
}

.page-carpeta-evaluacion-docs .seg-empty-text {
    margin: 6px 0 10px;
    color: #5a738c;
    font-size: 13px;
}

.page-carpeta-evaluacion-docs .seg-empty-action {
    border-radius: 10px;
    font-weight: 700;
    min-height: 36px;
}

.page-carpeta-evaluacion-docs .seg-upload-progress-wrap {
    display: none;
    margin-top: 8px;
    margin-bottom: 0;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #e8f1fa;
}

.page-carpeta-evaluacion-docs .seg-upload-progress-wrap.is-visible {
    display: block;
}

.page-carpeta-evaluacion-docs .seg-upload-progress-bar {
    font-size: 10px;
    line-height: 10px;
    min-width: 36px;
    transition: width 0.2s ease;
}

.page-carpeta-evaluacion-docs .seg-upload-highlight {
    box-shadow: 0 0 0 3px rgba(47, 121, 184, 0.18), 0 8px 22px rgba(33, 81, 122, 0.12);
    transition: box-shadow 0.2s ease;
}

.page-carpeta-beneficiario .seg-status-badge,
.page-asistencia-tecnica .seg-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.page-carpeta-beneficiario .seg-kpi-grid,
.page-asistencia-tecnica .seg-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.page-carpeta-beneficiario .seg-kpi-card,
.page-asistencia-tecnica .seg-kpi-card {
    padding: 10px 12px;
    border: 1px solid #d6e3ef;
    border-radius: 12px;
    background: #f7fbff;
}

.page-carpeta-beneficiario .seg-kpi-label,
.page-asistencia-tecnica .seg-kpi-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5a738c;
    font-weight: 700;
}

.page-carpeta-beneficiario .seg-kpi-value,
.page-asistencia-tecnica .seg-kpi-value {
    display: block;
    margin-top: 3px;
    color: #1f3550;
    font-size: 24px;
    line-height: 1.1;
}

.page-carpeta-beneficiario .seg-kpi-card.seg-kpi-ok,
.page-asistencia-tecnica .seg-kpi-card.seg-kpi-ok {
    background: #ecf8f0;
    border-color: #c8e9d3;
}

.page-carpeta-beneficiario .seg-kpi-card.seg-kpi-obs,
.page-asistencia-tecnica .seg-kpi-card.seg-kpi-obs {
    background: #fff6e8;
    border-color: #f2d8ad;
}

.page-carpeta-beneficiario .seg-kpi-card.seg-kpi-pending,
.page-asistencia-tecnica .seg-kpi-card.seg-kpi-pending {
    background: #eef3f8;
    border-color: #d6e0ea;
}

.page-carpeta-beneficiario .seg-status-ok,
.page-asistencia-tecnica .seg-status-ok {
    background: #eaf8ef;
    color: #1f7f41;
    border-color: #bfe7cd;
}

.page-carpeta-beneficiario .seg-status-obs,
.page-asistencia-tecnica .seg-status-obs {
    background: #fff4e4;
    color: #b56a0b;
    border-color: #f3d5a9;
}

.page-carpeta-beneficiario .seg-status-pending,
.page-asistencia-tecnica .seg-status-pending {
    background: #eef3f8;
    color: #4f657b;
    border-color: #d2deea;
}

.page-carpeta-beneficiario .seg-empty-state,
.page-asistencia-tecnica .seg-empty-state {
    display: none;
    margin-top: 14px;
    padding: 18px 16px;
    border: 1px dashed #c9dced;
    border-radius: 12px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%);
    text-align: center;
}

.page-carpeta-beneficiario .seg-empty-mode .tablaCarpeta tbody td.dataTables_empty,
.page-asistencia-tecnica .seg-empty-mode .tablaCarpeta tbody td.dataTables_empty {
    display: none !important;
}

.page-carpeta-beneficiario .seg-empty-mode .dataTables_info,
.page-carpeta-beneficiario .seg-empty-mode .dataTables_paginate,
.page-asistencia-tecnica .seg-empty-mode .dataTables_info,
.page-asistencia-tecnica .seg-empty-mode .dataTables_paginate {
    display: none;
}

.page-carpeta-beneficiario .seg-empty-icon,
.page-asistencia-tecnica .seg-empty-icon {
    font-size: 26px;
    color: #5c8cb4;
    margin-bottom: 6px;
}

.page-carpeta-beneficiario .seg-empty-title,
.page-asistencia-tecnica .seg-empty-title {
    margin: 0;
    color: #24425e;
    font-size: 18px;
    font-weight: 700;
}

.page-carpeta-beneficiario .seg-empty-text,
.page-asistencia-tecnica .seg-empty-text {
    margin: 6px 0 10px;
    color: #5a738c;
    font-size: 13px;
}

.page-carpeta-beneficiario .seg-empty-action,
.page-asistencia-tecnica .seg-empty-action {
    border-radius: 10px;
    font-weight: 700;
    min-height: 36px;
}

.page-carpeta-beneficiario .seg-upload-progress-wrap,
.page-asistencia-tecnica .seg-upload-progress-wrap {
    display: none;
    margin-top: 8px;
    margin-bottom: 0;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #e8f1fa;
}

.page-carpeta-beneficiario .seg-upload-progress-wrap.is-visible,
.page-asistencia-tecnica .seg-upload-progress-wrap.is-visible {
    display: block;
}

.page-carpeta-beneficiario .seg-upload-progress-bar,
.page-asistencia-tecnica .seg-upload-progress-bar {
    font-size: 10px;
    line-height: 10px;
    min-width: 36px;
    transition: width 0.2s ease;
}

.page-carpeta-beneficiario .seg-upload-highlight,
.page-asistencia-tecnica .seg-upload-highlight {
    box-shadow: 0 0 0 3px rgba(47, 121, 184, 0.18), 0 8px 22px rgba(33, 81, 122, 0.12);
    transition: box-shadow 0.2s ease;
}

@media (max-width: 991px) {
    .page-seguimiento .seg-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-carpeta-evaluacion-docs .seg-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-carpeta-beneficiario .seg-kpi-grid,
    .page-asistencia-tecnica .seg-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .page-seguimiento .seg-kpi-grid {
        grid-template-columns: 1fr;
    }

    .page-carpeta-evaluacion-docs .seg-kpi-grid {
        grid-template-columns: 1fr;
    }

    .page-carpeta-beneficiario .seg-kpi-grid,
    .page-asistencia-tecnica .seg-kpi-grid {
        grid-template-columns: 1fr;
    }
}

.page-carpeta-evaluacion .eval-actions-spacer {
    margin-bottom: 14px;
}

.page-carpeta-evaluacion .btn-eval-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 10px;
    font-weight: 700;
    margin-right: 8px;
}

.page-carpeta-evaluacion .eval-upload-panel,
.page-carpeta-evaluacion .eval-table-panel {
    margin-bottom: 16px;
    border: 1px solid #d9e3ef;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(33, 81, 122, 0.08);
    overflow: hidden;
}

.page-carpeta-evaluacion .eval-panel-heading {
    background: linear-gradient(135deg, var(--eval-primary-dark) 0%, var(--eval-primary) 100%) !important;
    border-color: transparent !important;
    padding: 12px 14px;
}

.page-carpeta-evaluacion .eval-panel-heading .panel-title {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
}

.page-carpeta-evaluacion .eval-panel-heading .panel-title strong {
    font-weight: 800;
}

.page-carpeta-evaluacion .eval-upload-body {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 16px 14px;
}

.page-carpeta-evaluacion .eval-upload-form .form-group {
    margin-bottom: 12px;
}

.page-carpeta-evaluacion .eval-file-trigger {
    width: 100%;
    display: block;
    text-align: left;
    min-height: 46px;
    padding: 9px 10px;
    border-radius: 10px;
    border: 1px solid #c8d9ea;
    background: #f4f9ff;
    color: #2f4f67;
    font-weight: 600;
}

.page-carpeta-evaluacion .eval-file-trigger input[type="file"] {
    width: 100%;
}

.page-carpeta-evaluacion .btn-eval-upload {
    min-height: 40px;
    border-radius: 10px;
    padding: 8px 14px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(47, 121, 184, 0.2);
}

.page-carpeta-evaluacion .eval-table-panel .panel-body {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);
    padding: 12px;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper > .row:first-child {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #e4edf5;
    border-radius: 12px;
    background: #fbfdff;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dt-buttons {
    display: none !important;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dataTables_length label,
.page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dataTables_filter label {
    margin-bottom: 0;
    font-weight: 600;
    color: var(--eval-ink);
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dataTables_length select,
.page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dataTables_filter input {
    border: 1px solid #d2deea;
    border-radius: 9px;
    height: 34px;
    padding: 4px 10px;
}

.page-carpeta-evaluacion .eval-table > thead > tr > th {
    background: #f1f6fc;
    color: var(--eval-ink);
    border-bottom: 2px solid #d5e2ef;
    font-weight: 700;
    font-size: 12px;
    padding: 9px 8px;
    vertical-align: middle;
    white-space: nowrap;
}

.page-carpeta-evaluacion .eval-table > tbody > tr > td {
    padding: 9px 8px;
    font-size: 12px;
    color: #334a62;
    vertical-align: middle;
    line-height: 1.35;
}

.page-carpeta-evaluacion .eval-table > tbody > tr:nth-child(even) > td {
    background: #fcfeff;
}

.page-carpeta-evaluacion .eval-table > tbody > tr:hover > td {
    background: #f4f9ff;
}

.page-carpeta-evaluacion .eval-table {
    width: 100% !important;
    table-layout: auto;
}

.page-carpeta-evaluacion .eval-table.eval-table-wide {
    min-width: 1360px;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_scroll,
.page-carpeta-evaluacion .eval-table-panel .dataTables_scrollHead,
.page-carpeta-evaluacion .eval-table-panel .dataTables_scrollBody {
    width: 100% !important;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_scrollBody {
    border-bottom: 1px solid #d5e2ef;
    overflow-x: auto !important;
}

.page-carpeta-evaluacion .eval-table > thead > tr > th,
.page-carpeta-evaluacion .eval-table > tbody > tr > th,
.page-carpeta-evaluacion .eval-table > tbody > tr > td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-carpeta-evaluacion .eval-table > thead > tr > th.doc-col-index,
.page-carpeta-evaluacion .eval-table > tbody > tr > th.doc-col-index,
.page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-index {
    width: 48px;
    min-width: 42px;
    max-width: 56px;
    text-align: center;
}

.page-carpeta-evaluacion .eval-table > thead > tr > th.doc-col-action,
.page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-action {
    width: 74px;
    min-width: 66px;
    max-width: 86px;
    text-align: center;
}

.page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-action a,
.page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-action button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.page-carpeta-evaluacion .eval-table > thead > tr > th.doc-col-file,
.page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-file {
    width: 36%;
    min-width: 280px;
}

.page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-file {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word;
    line-height: 1.38;
}

.page-carpeta-ben-desa-fact .eval-table > thead > tr > th.doc-col-index,
.page-carpeta-ben-desa-fact .eval-table > tbody > tr > th.doc-col-index,
.page-carpeta-ben-desa-fact .eval-table > tbody > tr > td.doc-col-index {
    width: 46px;
    min-width: 40px;
    max-width: 54px;
    text-align: center;
}

.page-carpeta-ben-desa-fact .eval-table > thead > tr > th.doc-col-file,
.page-carpeta-ben-desa-fact .eval-table > tbody > tr > td.doc-col-file {
    width: 58%;
    min-width: 420px;
}

.page-carpeta-ben-desa-fact .eval-table > thead > tr > th.doc-col-action,
.page-carpeta-ben-desa-fact .eval-table > tbody > tr > td.doc-col-action {
    width: 68px;
    min-width: 62px;
    max-width: 76px;
    text-align: center;
}

.page-carpeta-evaluacion .eval-table > tbody > tr > td:last-child,
.page-carpeta-evaluacion .eval-table > tbody > tr > td:nth-last-child(2),
.page-carpeta-evaluacion .eval-table > tbody > tr > td:nth-last-child(3) {
    text-align: center;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_scrollBody::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

.page-carpeta-evaluacion .eval-table-panel .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #9fb1c3;
    border-radius: 99px;
}

@media (max-width: 991px) {
    .page-carpeta-evaluacion .eval-page-main {
        font-size: 27px;
    }

    .page-carpeta-evaluacion .btn-eval-nav {
        margin-bottom: 8px;
    }
}

@media (max-width: 767px) {
    .page-carpeta-evaluacion .eval-page-main {
        font-size: 23px;
    }

    .page-carpeta-evaluacion .eval-page-sub {
        font-size: 18px;
    }

    .page-carpeta-evaluacion .eval-page-body {
        padding: 0 0 10px;
    }

    .page-carpeta-evaluacion .btn-eval-nav,
    .page-carpeta-evaluacion .btn-eval-upload {
        width: 100%;
    }

    .page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper > .row:first-child {
        padding: 10px;
    }

    .page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dataTables_length,
    .page-carpeta-evaluacion .eval-table-panel .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        width: 100%;
        margin-bottom: 8px;
    }

    .page-carpeta-evaluacion .eval-table > thead > tr > th.doc-col-file,
    .page-carpeta-evaluacion .eval-table > tbody > tr > td.doc-col-file {
        min-width: 200px;
    }

    .page-carpeta-ben-desa-fact .eval-table > thead > tr > th.doc-col-file,
    .page-carpeta-ben-desa-fact .eval-table > tbody > tr > td.doc-col-file {
        min-width: 260px;
    }
}

/* Sidebar menu - UX refresh */
.aos-main-sidebar {
    background: linear-gradient(180deg, #1f2f3f 0%, #192736 100%);
    border-right: 1px solid #23374a;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.03);
}

.aos-main-sidebar .aos-sidebar-shell {
    padding: 10px 8px 14px;
}

.aos-main-sidebar .aos-sidebar-shell::-webkit-scrollbar {
    width: 8px;
}

.aos-main-sidebar .aos-sidebar-shell::-webkit-scrollbar-thumb {
    background: rgba(146, 176, 207, 0.5);
    border-radius: 99px;
}

.aos-sidebar-menu {
    margin-top: 2px;
}

.aos-sidebar-menu .aos-sidebar-label {
    padding: 6px 14px 10px;
    color: #8eafcf;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 10px;
}

.aos-sidebar-menu > li {
    margin-bottom: 4px;
}

.aos-sidebar-menu > li > a {
    margin: 0 4px;
    border-radius: 10px;
    padding: 10px 12px;
    color: #d5e3f3;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.aos-sidebar-menu > li > a .fa {
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    border-radius: 8px;
    margin-right: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #d6e9fc;
    transition: inherit;
}

.aos-sidebar-menu > li > a .pull-right-container .fa-angle-left {
    color: #95b8da;
    transition: transform 0.2s ease, color 0.2s ease;
}

.aos-sidebar-menu > li:hover > a,
.aos-sidebar-menu > li > a:focus,
.aos-sidebar-menu > li > a:active {
    background: rgba(48, 124, 195, 0.3);
    color: #fff;
    transform: translateX(1px);
}

.aos-sidebar-menu > li:hover > a .fa,
.aos-sidebar-menu > li > a:focus .fa {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.aos-sidebar-menu > li.active > a,
.aos-sidebar-menu > li.menu-open > a {
    background: linear-gradient(90deg, #2e7fc3 0%, #28a1df 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(24, 112, 182, 0.35);
}

.aos-sidebar-menu > li.active > a .fa,
.aos-sidebar-menu > li.menu-open > a .fa {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.aos-sidebar-menu > li.active > a .pull-right-container .fa-angle-left,
.aos-sidebar-menu > li.menu-open > a .pull-right-container .fa-angle-left {
    color: #fff;
}

.aos-sidebar-menu .treeview-menu {
    margin: 4px 0 6px 18px;
    padding: 4px 0 4px 10px;
    border-left: 1px dashed rgba(147, 181, 213, 0.45);
    background: transparent;
}

.aos-sidebar-menu .treeview-menu > li > a {
    margin: 2px 4px 2px 0;
    padding: 8px 10px 8px 14px;
    border-radius: 8px;
    color: #c2d4e6;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.18s ease, color 0.18s ease;
}

.aos-sidebar-menu .treeview-menu > li > a .fa-circle-o {
    font-size: 10px;
    color: #8fb3d5;
    margin-right: 8px;
}

.aos-sidebar-menu .treeview-menu > li > a:hover,
.aos-sidebar-menu .treeview-menu > li.active > a {
    background: rgba(48, 124, 195, 0.24);
    color: #fff;
}

@media (min-width: 768px) {
    body.sidebar-collapse .aos-sidebar-menu > li > a {
        width: 42px;
        height: 42px;
        padding: 7px 0;
        margin: 2px auto;
        border-radius: 12px;
        text-align: center;
    }

    body.sidebar-collapse .aos-sidebar-menu > li > a .fa {
        margin-right: 0;
    }

    body.sidebar-collapse .aos-sidebar-menu > li:hover > a,
    body.sidebar-collapse .aos-sidebar-menu > li > a:focus {
        transform: none;
    }

    body.sidebar-collapse .aos-sidebar-menu .aos-sidebar-label {
        display: none;
    }

    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li > a > span:not(.pull-right-container) {
        border-radius: 8px;
        padding: 10px 14px;
        min-width: 146px;
        box-shadow: 0 10px 20px rgba(14, 34, 53, 0.3);
        background: #1f2f3f;
        color: #fff;
        left: 52px;
        top: 0;
        margin-left: 0;
        text-align: left;
        position: absolute;
    }

    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li:hover > a > span:not(.pull-right-container):before,
    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li > a > span:not(.pull-right-container):before,
    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li > a > span:not(.pull-right-container):after {
        content: none !important;
        display: none !important;
    }

    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li > a > .pull-right-container {
        display: none !important;
    }

    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li > .treeview-menu {
        margin: 0 !important;
        padding: 6px 0 !important;
        border-left: 0 !important;
        background: #1a2a3a;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 12px 24px rgba(14, 34, 53, 0.28);
    }

    body.sidebar-mini.sidebar-collapse .aos-sidebar-menu > li > .treeview-menu > li > a {
        margin: 0 !important;
        padding: 8px 14px !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    .aos-main-sidebar .aos-sidebar-shell {
        padding: 10px 8px 14px;
    }

    .aos-sidebar-menu > li > a {
        margin: 0 2px;
    }

    .aos-sidebar-menu .aos-sidebar-label {
        padding-left: 10px;
    }
}

/* Header - AdminLTE compatible polish */
.aos-main-header {
    border-bottom: 1px solid rgba(123, 61, 8, 0.26);
    box-shadow: 0 3px 16px rgba(62, 31, 4, 0.24);
    z-index: 1031;
}

.skin-blue .aos-main-header .aos-topbar {
    background: linear-gradient(90deg, #f57c00 0%, #ff8a00 55%, #ff7a00 100%);
}

.skin-blue .aos-main-header .aos-logo-brand {
    background: linear-gradient(180deg, #f08400 0%, #e87500 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.12);
}

.aos-main-header .aos-logo-brand .logo-mini img {
    max-height: 36px;
    margin: 0 auto;
}

.aos-main-header .aos-logo-brand .logo-lg img {
    max-height: 42px;
    margin: 0 auto;
}

.skin-blue .aos-main-header .navbar .aos-sidebar-toggle-btn {
    color: #fff;
    margin: 7px 0 0 10px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    padding: 0;
    border-radius: 10px;
    text-align: center;
    background: rgba(35, 27, 18, 0.18);
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.skin-blue .aos-main-header .navbar .aos-sidebar-toggle-btn:hover,
.skin-blue .aos-main-header .navbar .aos-sidebar-toggle-btn:focus {
    background: rgba(35, 27, 18, 0.34);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}

.aos-main-header .navbar-custom-menu > .navbar-nav > li > .aos-user-chip {
    margin-top: 8px;
    margin-right: 12px;
    min-height: 36px;
    padding: 4px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.32);
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.aos-main-header .navbar-custom-menu > .navbar-nav > li > .aos-user-chip:hover,
.aos-main-header .navbar-custom-menu > .navbar-nav > li > .aos-user-chip:focus {
    background: rgba(255, 255, 255, 0.28);
    border-color: rgba(255, 255, 255, 0.46);
    color: #fff !important;
}

.aos-main-header .navbar-custom-menu .aos-user-chip > .user-image {
    width: 27px;
    height: 27px;
    border: 1px solid rgba(255, 255, 255, 0.58);
}

.aos-main-header .navbar-custom-menu .dropdown-menu {
    margin-top: 8px;
    border-radius: 10px;
    border: 1px solid #d7e2ee;
    box-shadow: 0 12px 24px rgba(23, 44, 66, 0.18);
}

@media (max-width: 767px) {
    .skin-blue .aos-main-header .navbar .aos-sidebar-toggle-btn {
        margin-left: 8px;
    }

    .aos-main-header .navbar-custom-menu > .navbar-nav > li > .aos-user-chip {
        margin-right: 8px;
        padding: 4px 8px;
    }
}

/* Login - UX + seguridad visual */
.aos-login-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 12px;
    background:
        radial-gradient(1200px 500px at -10% -20%, rgba(255, 138, 0, 0.14), transparent 60%),
        radial-gradient(900px 380px at 115% 120%, rgba(16, 78, 126, 0.16), transparent 62%),
        linear-gradient(180deg, #f4f7fb 0%, #edf2f8 100%);
}

.aos-login-wrap {
    width: 100%;
    max-width: 960px;
    display: flex;
    gap: 20px;
    align-items: stretch;
}

.aos-login-brand,
.aos-login-card {
    background: #fff;
    border: 1px solid #d8e4f2;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(18, 40, 64, 0.14);
}

.aos-login-brand {
    flex: 1 1 auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.aos-login-brand-logo {
    max-width: 280px;
    margin: 0 0 14px;
}

.aos-login-brand h2 {
    margin: 0 0 8px;
    color: #173f67;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.1;
}

.aos-login-brand p {
    margin: 0 0 16px;
    color: #4f657b;
    font-size: 15px;
}

.aos-login-highlights {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #30495f;
}

.aos-login-highlights li {
    margin: 0 0 8px;
    font-weight: 600;
}

.aos-login-highlights i {
    width: 18px;
    margin-right: 8px;
    color: #ff8a00;
}

.aos-login-card {
    width: 420px;
    max-width: 100%;
    padding: 22px 20px;
}

.aos-login-card-header {
    margin-bottom: 14px;
}

.aos-login-card-header h3 {
    margin: 0 0 2px;
    color: #173f67;
    font-size: 26px;
    font-weight: 800;
}

.aos-login-card-header small {
    color: #617991;
    font-size: 13px;
}

.aos-login-alert {
    border-radius: 10px;
    margin-bottom: 14px;
    font-weight: 600;
}

.aos-login-label {
    color: #274b70;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.aos-login-input-group .input-group-addon {
    border-color: #c8d6e6;
    background: #f3f7fb;
    color: #355777;
}

.aos-login-input-group .form-control {
    border-color: #c8d6e6;
    height: 44px;
    border-left: 0;
    font-size: 17px;
}

.aos-login-input-group .btn-default {
    border-color: #c8d6e6;
    background: #fff;
    color: #5f7690;
    height: 44px;
}

.aos-login-actions {
    margin-top: 16px;
}

.aos-login-btn {
    min-height: 44px;
    border-radius: 10px;
    padding: 10px 18px;
    font-size: 17px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(31, 118, 176, 0.28);
}

.aos-login-loading {
    position: fixed;
    inset: 0;
    background: rgba(15, 30, 48, 0.34);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1060;
    backdrop-filter: blur(1px);
}

.aos-login-loading.is-visible {
    display: flex;
}

.aos-login-loading-card {
    min-width: 280px;
    max-width: 90vw;
    background: #fff;
    border: 1px solid #d6e2ef;
    border-radius: 12px;
    box-shadow: 0 18px 36px rgba(16, 35, 58, 0.22);
    padding: 18px 20px;
    text-align: center;
    color: #163e66;
}

.aos-login-loading-card strong {
    display: block;
    font-size: 19px;
    margin-bottom: 2px;
}

.aos-login-loading-card small {
    display: block;
    color: #64809b;
    font-size: 13px;
}

.aos-login-spinner {
    width: 34px;
    height: 34px;
    margin: 0 auto 10px;
    border: 3px solid #d9e7f5;
    border-top-color: #1f78b0;
    border-radius: 50%;
    animation: aos-login-spin 0.75s linear infinite;
    display: block;
}

@keyframes aos-login-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 991px) {
    .aos-login-wrap {
        max-width: 460px;
        flex-direction: column;
    }

    .aos-login-brand {
        padding: 18px 16px;
    }

    .aos-login-brand h2 {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .aos-login-shell {
        padding: 16px 10px;
        align-items: flex-start;
    }

    .aos-login-brand {
        display: none;
    }

    .aos-login-card {
        width: 100%;
        padding: 16px 14px;
    }

    .aos-login-card-header h3 {
        font-size: 24px;
    }
}

/* =============================================
   Historico Comprobante + Control Programas
============================================= */
.historico-comprobante-header {
    padding: 4px 0 14px 0;
}

.historico-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0f2544 0%, #1f4f88 100%);
    color: #fff;
    box-shadow: 0 10px 24px rgba(10, 33, 60, 0.24);
}

.historico-hero-title-wrap {
    max-width: 70%;
}

.historico-hero-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

.historico-hero-subtitle {
    margin: 6px 0 0 0;
    font-size: 13px;
    opacity: 0.92;
}

.historico-hero-actions {
    flex-shrink: 0;
}

.btn-exportar-historico {
    margin-top: 0;
    font-weight: bold;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease-in-out;
    border: none;
    padding: 10px 14px;
}

.btn-exportar-historico:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.historico-comprobante-body {
    background: #fff;
    border-radius: 10px;
    margin-top: 14px;
    border: 1px solid #e6edf5;
    box-shadow: 0 8px 22px rgba(17, 37, 60, 0.06);
    padding: 14px;
}

.historico-mini-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.historico-mini-card {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f7fbff;
    border: 1px solid #d9e6f2;
    border-radius: 10px;
    padding: 10px 12px;
    color: #25486e;
    font-size: 12px;
    font-weight: 600;
}

.historico-mini-card i {
    color: #2f6fad;
    font-size: 14px;
}

.historico-filtros-wrap {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
    background: #f8fbff;
    border: 1px solid #dce8f5;
    border-radius: 10px;
    padding: 10px;
    margin-top: 4px;
    margin-bottom: 10px;
}

.historico-filtro-group {
    display: flex;
    flex-direction: column;
    min-width: 200px;
    gap: 4px;
}

.historico-filtro-group label {
    margin: 0;
    font-size: 11px;
    color: #3f5f80;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .3px;
}

.historico-filtro-group .form-control {
    border: 1px solid #cddaea;
    border-radius: 8px;
    height: 34px;
    box-shadow: none;
    font-size: 12px;
}

.historico-filtros-acciones {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.historico-badge-info {
    background: #eaf3ff;
    color: #2d5583;
    border: 1px solid #cfe1f7;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.btn-limpiar-historico {
    border-radius: 8px;
    font-weight: 700;
}

.tablaHistoricoComprobantes {
    border: 1px solid #e9eef5;
    margin-top: 8px !important;
}

.tablaHistoricoComprobantes thead th {
    background: #0f2544;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-color: #203a5d !important;
    vertical-align: middle;
}

.tablaHistoricoComprobantes tbody tr:hover,
.tablaHistoricoComprobantes tbody tr:hover > td {
    background: #f4f8ff !important;
}

.historico-acciones-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 112px;
}

.historico-acciones-btns .btn {
    width: 30px;
    height: 28px;
    padding: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    transition: transform .15s ease, box-shadow .15s ease;
}

.historico-acciones-btns .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

.historico-acciones-btns .btn i {
    font-size: 12px;
}

.historico-comprobante-body .dataTables_wrapper .dataTables_length label,
.historico-comprobante-body .dataTables_wrapper .dataTables_filter label {
    color: #324b66;
    font-weight: 600;
    font-size: 12px;
}

.historico-comprobante-body .dataTables_wrapper .dataTables_filter input,
.historico-comprobante-body .dataTables_wrapper .dataTables_length select {
    border: 1px solid #cddaea;
    border-radius: 8px;
    padding: 4px 8px;
    box-shadow: none;
}

.historico-comprobante-body .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    border: 1px solid #d8e3ef !important;
    background: #fff !important;
    color: #2b4f75 !important;
}

.historico-comprobante-body .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #1f4f88 !important;
    border-color: #1f4f88 !important;
    color: #fff !important;
}

.historico-comprobante-body .dataTables_wrapper .dataTables_filter,
.historico-comprobante-body .dataTables_wrapper .dataTables_length {
    display: none;
}

.tablaHistoricoComprobantes tbody tr.fila-verificada,
.tablaHistoricoComprobantes tbody tr.fila-verificada > td {
    background-color: #d4edda !important;
}

.tablaHistoricoComprobantes tbody tr.fila-verificada:hover,
.tablaHistoricoComprobantes tbody tr.fila-verificada:hover > td {
    background-color: #c3e6cb !important;
}

.control-programas-wrap {
    margin-top: 10px;
}

.control-programas-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    margin-bottom: 10px;
    background: #f8fbff;
    border: 1px solid #dce7f2;
    border-radius: 10px;
}

.control-programas-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.control-kpi-pill {
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    border: 1px solid #c9d9eb;
    background: #fff;
    color: #35597f;
    font-weight: 600;
}

.control-kpi-programas {
    background: #ecf5ff;
}

.control-kpi-total {
    background: #edfdf3;
}

.control-kpi-estado {
    background: #fff8eb;
}

.control-programas-meta {
    color: #567592;
    font-size: 12px;
    font-weight: 600;
}

.cp-estado-ok {
    color: #1f8a4c;
}

.cp-estado-alerta {
    color: #bf4d35;
}

.cp-estado-neutro {
    color: #5c6f82;
}

.control-programas-card {
    background: #fff;
    border: 1px solid #dce7f2;
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(17, 37, 60, 0.05);
    overflow: hidden;
    margin-bottom: 12px;
}

.control-programas-card-header {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-bottom: 1px solid #e3edf7;
    background: #f8fbff;
}

.control-programas-title {
    margin: 0;
    color: #1f4268;
    font-size: 14px;
    font-weight: 700;
}

.control-programas-subtitle {
    color: #557796;
    font-size: 12px;
}

.control-programas-table-wrap {
    padding: 8px;
}

.control-programas-table-wrap .table {
    margin-bottom: 0;
}

.control-programas-table-wrap .table thead th {
    background: #0f2544;
    color: #fff;
    font-size: 12px;
    border-color: #203a5d !important;
}

.control-programas-table-wrap .table tbody td {
    font-size: 12px;
}

.tablaDiferencias td,
.tablaDiferPrograma td {
    vertical-align: middle !important;
}

.tablaDiferPrograma tbody tr:hover {
    background: #f5faff !important;
}

.cp-badge-dif-ok {
    color: #1f8a4c;
    font-weight: 700;
    background: #e9f9f0;
}

.cp-badge-dif-alerta {
    color: #bf4d35;
    font-weight: 700;
    background: #fff0ec;
}

.cp-badge-dif-neutro {
    color: #5d7082;
    font-weight: 700;
    background: #f2f6fa;
}

.cp-row-positivo td:last-child {
    background: #e9f9f0;
    color: #1f8a4c;
    font-weight: 700;
}

.cp-row-negativo td:last-child {
    background: #fff0ec;
    color: #bf4d35;
    font-weight: 700;
}

.cp-row-neutro td:last-child {
    background: #f2f6fa;
    color: #5d7082;
    font-weight: 700;
}

@media (max-width: 991px) {
    .historico-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .historico-hero-title-wrap {
        max-width: 100%;
    }

    .historico-mini-cards {
        grid-template-columns: 1fr;
    }

    .historico-filtro-group {
        min-width: 100%;
    }

    .historico-filtros-acciones {
        margin-left: 0;
        width: 100%;
        justify-content: space-between;
    }

    .control-programas-topbar {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =============================================
   Etapa Asesoria UX Refresh
============================================= */
.etapa-asesoria-page .content {
    padding-top: 6px;
}

.etapa-asesoria-header {
    padding-bottom: 8px;
}

.etapa-asesoria-hero {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 8px;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(130deg, #1b4f7b 0%, #2c7fb6 100%);
    box-shadow: 0 12px 26px rgba(11, 37, 63, 0.18);
    color: #fff;
}

.etapa-asesoria-hero__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.17);
    font-size: 20px;
}

.etapa-asesoria-hero__content h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.etapa-asesoria-hero__content p {
    margin: 4px 0 0;
    font-size: 13px;
    opacity: 0.95;
}

.etapa-asesoria-header .breadcrumb {
    background: transparent;
    margin: 8px 0 0;
    padding-left: 2px;
}

.etapa-asesoria-header .breadcrumb > li,
.etapa-asesoria-header .breadcrumb > li > a {
    color: #d6e8f8;
}

.etapa-asesoria-header .breadcrumb > li.active {
    color: #ffffff;
}

.etapa-asesoria-card {
    border: 1px solid #d8e4f0;
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(17, 45, 73, 0.08);
}

.etapa-asesoria-card__header {
    border-radius: 12px 12px 0 0;
    background: #f7fbff;
    border-bottom: 1px solid #dfe9f3;
    padding: 14px 16px;
}

.etapa-asesoria-card__header .box-title {
    font-size: 18px;
    font-weight: 700;
    color: #1b3f63;
}

.etapa-asesoria-card__subtitle {
    margin: 6px 0 0;
    color: #5c738c;
    font-size: 13px;
}

.etapa-asesoria-card__body {
    padding-top: 16px;
}

.etapa-asesoria-search-wrap {
    margin-bottom: 18px;
    padding: 14px;
    border-radius: 10px;
    background: #f7fbff;
    border: 1px solid #dfe9f4;
}

.etapa-asesoria-search-wrap .form-group {
    margin-bottom: 0;
}

.etapa-asesoria-search-wrap .input-group-addon {
    background: #1d5f97;
    border-color: #1d5f97;
    color: #fff;
}

.etapa-asesoria-search-wrap .form-control {
    border-color: #c9d9ea;
}

.etapa-asesoria-search__hint {
    display: inline-block;
    margin-top: 8px;
    color: #48657f;
    font-size: 12px;
}

.etapa-asesoria-form .input-group {
    box-shadow: 0 1px 0 rgba(10, 30, 50, 0.02);
}

.etapa-asesoria-form .input-group-addon {
    min-width: 165px;
    background: #f7fbff;
    border-color: #d7e3ef;
    color: #274968;
}

.etapa-asesoria-form .form-control {
    border-color: #d7e3ef;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.etapa-asesoria-form .form-control:focus {
    border-color: #3d83bd;
    box-shadow: 0 0 0 3px rgba(53, 122, 189, 0.12);
}

.etapa-asesoria-btn-main,
.etapa-asesoria-btn-secondary {
    margin-top: 8px;
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 700;
}

.etapa-asesoria-btn-main {
    background: linear-gradient(140deg, #2275b5, #1d5f97);
    border-color: #1d5f97;
}

.etapa-asesoria-divider {
    border-top-color: #dbe6f0;
    margin: 14px 0;
}

.etapa-asesoria-tabs-container {
    padding-top: 2px;
}

.etapa-asesoria-tabs {
    border-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.etapa-asesoria-tabs > li {
    margin: 0;
    float: none;
}

.etapa-asesoria-tabs > li > a {
    border: 1px solid #d6e2ef !important;
    border-radius: 999px !important;
    padding: 8px 14px;
    color: #25507a;
    font-weight: 700;
    background: #f8fbfe;
    transition: all 0.2s ease;
}

.etapa-asesoria-tabs > li > a:hover,
.etapa-asesoria-tabs > li.active > a,
.etapa-asesoria-tabs > li.active > a:hover,
.etapa-asesoria-tabs > li.active > a:focus {
    background: #1d5f97 !important;
    border-color: #1d5f97 !important;
    color: #fff !important;
}

.etapa-asesoria-tab-content {
    margin-top: 14px;
    padding: 0;
    border: 0;
    background: transparent;
}

.etapa-asesoria-pane {
    padding: 14px;
    border-radius: 12px;
    border: 1px solid #dfe9f3;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 39, 62, 0.05);
}

.etapa-asesoria-pane > br:first-child {
    display: none;
}

.etapa-asesoria-action-bar {
    float: none !important;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.etapa-asesoria-action-bar .btn {
    border-radius: 8px;
    font-weight: 700;
    min-height: 36px;
}

#plan_inversion .btnPlanInversionBen,
#plan_inversion .btnExportaPdfPlan,
#planificacion_etapa .btnExportaPdfPlanEtapa,
#planificacion_inversiones .btnExportaPdfPlanInversiones,
#asesoria_postulacion .btnActualizarDatos,
#asesoria_postulacion .btnExportaPdf,
#asesoria_postulacion .btnEliminar,
#reunion_online .btnActualizarDatosReu,
#reunion_online .btnExportaPdfReu,
#reunion_online .btnEliminarReu {
    border-radius: 8px;
    font-weight: 700;
}

#plan_inversion > .pull-right,
#planificacion_etapa > .pull-right,
#planificacion_inversiones > .pull-right {
    float: none !important;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

#asesoria_postulacion .form-control,
#reunion_online .form-control,
#plan_inversion .form-control,
#planificacion_etapa .form-control,
#planificacion_inversiones .form-control {
    border-color: #d8e4ef;
}

#asesoria_postulacion .form-control:focus,
#reunion_online .form-control:focus,
#plan_inversion .form-control:focus,
#planificacion_etapa .form-control:focus,
#planificacion_inversiones .form-control:focus {
    border-color: #3d83bd;
    box-shadow: 0 0 0 3px rgba(53, 122, 189, 0.12);
}

#asesoria_postulacion strong,
#reunion_online strong {
    color: #1f466b;
}

#plan_inversion h3,
#planificacion_etapa h3,
#planificacion_inversiones h3 {
    margin: 10px 0 12px;
    font-weight: 700;
    color: #1f466b;
}

#plan_inversion .table,
#planificacion_etapa .table,
#planificacion_inversiones .table {
    border: 1px solid #d9e5ef;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

#plan_inversion .table thead th,
#planificacion_etapa .table thead th,
#planificacion_inversiones .table thead th {
    background: #f4f8fc;
    color: #264969;
    border-bottom: 1px solid #d7e2ed;
    font-weight: 700;
    font-size: 12px;
}

#plan_inversion .table tbody tr:nth-child(even),
#planificacion_etapa .table tbody tr:nth-child(even),
#planificacion_inversiones .table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.etapa-tab-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #dbe7f2;
    border-radius: 10px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.etapa-tab-topbar__left,
.etapa-tab-topbar__right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.etapa-subcard {
    margin-bottom: 14px;
    border: 1px solid #dce7f1;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(16, 36, 57, 0.05);
}

.etapa-subcard__header {
    padding: 10px 12px;
    border-bottom: 1px solid #e2ebf3;
    background: #f8fbfe;
}

.etapa-subcard__body {
    padding: 14px 12px;
}

.etapa-subcard__form .form-control,
.etapa-subcard__form .input-group-addon {
    border-color: #d5e2ee;
}

.etapa-subcard__actions {
    float: none !important;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.etapa-subcard__actions .btn {
    border-radius: 8px;
    font-weight: 700;
}

.etapa-table-wrap {
    margin-bottom: 14px;
    border: 1px solid #d9e5ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.etapa-table-wrap > .table {
    margin-bottom: 0;
}

.etapa-table-title {
    margin: 14px 0 10px;
    color: #1f466b;
}

.etapa-table th {
    white-space: nowrap;
}

.etapa-table td {
    vertical-align: middle !important;
}

#plan_inversion .dataTables_wrapper .dataTables_filter input,
#plan_inversion .dataTables_wrapper .dataTables_length select {
    border: 1px solid #cad9e8;
    border-radius: 8px;
    padding: 4px 8px;
}

#plan_inversion .dataTables_wrapper .dataTables_length,
#plan_inversion .dataTables_wrapper .dataTables_filter {
    margin: 8px 0;
}

#plan_inversion .dataTables_wrapper .dataTables_info {
    color: #57708a;
    font-size: 12px;
}

#plan_inversion .dataTables_wrapper .paginate_button {
    border-radius: 7px !important;
    border: 1px solid #d1dfed !important;
    background: #f7fbff !important;
    color: #275078 !important;
}

#plan_inversion .dataTables_wrapper .paginate_button.current {
    background: #1d5f97 !important;
    color: #fff !important;
    border-color: #1d5f97 !important;
}

.etapa-week-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 8px 10px;
    margin-top: 8px;
}

.etapa-week-grid .form-check-inline {
    margin: 0;
    padding: 6px 8px;
    border: 1px solid #dce8f2;
    border-radius: 8px;
    background: #fbfdff;
}

#planificacion_inversiones .week-checkbox {
    width: 16px;
    height: 16px;
    margin-right: 4px;
}

#planificacion_inversiones .form-check-inline {
    margin: 0 10px 8px 0;
}

#asesoria_postulacion .btn-group .btn,
#reunion_online .btn-lg,
#planificacion_etapa .btn-lg,
#planificacion_inversiones .btn-lg {
    border-radius: 8px;
    padding: 9px 16px;
    font-weight: 700;
}

#plan_inversion #perfilUsuario {
    display: none;
}

@media (max-width: 991px) {
    .etapa-asesoria-hero {
        align-items: flex-start;
    }

    .etapa-asesoria-hero__content h1 {
        font-size: 21px;
    }

    .etapa-asesoria-form .input-group-addon {
        min-width: 145px;
    }

    .etapa-asesoria-tabs > li > a {
        padding: 8px 11px;
        font-size: 12px;
    }

    .etapa-asesoria-pane {
        padding: 12px 10px;
    }

    .etapa-week-grid {
        grid-template-columns: repeat(4, minmax(120px, 1fr));
    }
}

@media (max-width: 767px) {
    .etapa-asesoria-tabs {
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        white-space: nowrap;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }

    .etapa-asesoria-tabs > li {
        flex: 0 0 auto;
    }

    .etapa-asesoria-tabs > li > a {
        white-space: nowrap;
        font-size: 11px;
        padding: 7px 10px;
    }

    .etapa-asesoria-hero {
        padding: 12px;
        gap: 10px;
    }

    .etapa-asesoria-hero__icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .etapa-asesoria-hero__content h1 {
        font-size: 18px;
    }

    .etapa-asesoria-search-wrap {
        padding: 12px 10px;
    }

    .etapa-asesoria-btn-main,
    .etapa-asesoria-btn-secondary {
        width: 100%;
        float: none !important;
    }

    .etapa-asesoria-action-bar {
        justify-content: stretch;
    }

    .etapa-asesoria-action-bar .btn,
    #plan_inversion .btnPlanInversionBen,
    #plan_inversion .btnExportaPdfPlan,
    #planificacion_etapa .btnExportaPdfPlanEtapa,
    #planificacion_inversiones .btnExportaPdfPlanInversiones {
        width: 100%;
    }

    .etapa-tab-topbar {
        padding: 10px;
    }

    .etapa-tab-topbar__left,
    .etapa-tab-topbar__right {
        width: 100%;
    }

    .etapa-tab-topbar .btn {
        width: 100%;
    }

    .etapa-week-grid {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }

    .etapa-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .etapa-table {
        min-width: 780px;
    }

    #planificacion_inversiones .etapa-table {
        min-width: 980px;
    }

    #plan_inversion .dataTables_wrapper {
        overflow-x: auto;
    }
}

/* =============================================
   Etapa Asesoria UX Overrides (Bootstrap 3)
============================================= */
.etapa-asesoria-page .etapa-asesoria-tabs {
    margin: 0 0 14px 0 !important;
    padding: 4px !important;
    border: 1px solid #d8e4ef !important;
    border-radius: 12px !important;
    background: #f3f8fd !important;
}

.etapa-asesoria-page .etapa-asesoria-tabs > li > a {
    background: #ffffff !important;
    color: #2a4f73 !important;
    border: 1px solid #d0deec !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1px;
}

.etapa-asesoria-page .etapa-asesoria-tabs > li.active > a,
.etapa-asesoria-page .etapa-asesoria-tabs > li.active > a:hover,
.etapa-asesoria-page .etapa-asesoria-tabs > li.active > a:focus {
    background: linear-gradient(135deg, #1d5f97 0%, #2f7fba 100%) !important;
    color: #fff !important;
    border-color: #1d5f97 !important;
    box-shadow: 0 4px 12px rgba(29, 95, 151, 0.32) !important;
}

.etapa-asesoria-page .etapa-asesoria-pane {
    border: 1px solid #d5e3f0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(13, 39, 64, 0.09) !important;
}

.etapa-asesoria-page #plan_inversion .etapa-tab-topbar,
.etapa-asesoria-page #planificacion_etapa .etapa-subcard,
.etapa-asesoria-page #planificacion_inversiones .etapa-subcard {
    border-radius: 12px !important;
    border: 1px solid #d6e4f1 !important;
    background: linear-gradient(180deg, #fafdff 0%, #f4f8fd 100%) !important;
    box-shadow: 0 8px 18px rgba(16, 45, 73, 0.08) !important;
}

.etapa-asesoria-page #plan_inversion .btn,
.etapa-asesoria-page #planificacion_etapa .btn,
.etapa-asesoria-page #planificacion_inversiones .btn,
.etapa-asesoria-page #asesoria_postulacion .btn,
.etapa-asesoria-page #reunion_online .btn {
    border-radius: 8px !important;
    font-weight: 700 !important;
}

.etapa-asesoria-page #asesoria_postulacion .etapa-asesoria-action-bar .btn,
.etapa-asesoria-page #reunion_online .etapa-asesoria-action-bar .btn,
.etapa-asesoria-page #asesoria_postulacion .etapa-asesoria-action-bar .btn strong,
.etapa-asesoria-page #reunion_online .etapa-asesoria-action-bar .btn strong,
.etapa-asesoria-page #asesoria_postulacion .etapa-asesoria-action-bar .btn i,
.etapa-asesoria-page #reunion_online .etapa-asesoria-action-bar .btn i {
    color: #fff !important;
}

.etapa-asesoria-page #plan_inversion .btnPlanInversionBen {
    background: linear-gradient(135deg, #19a35b 0%, #0f8e4c 100%) !important;
    border-color: #0f8e4c !important;
    color: #fff !important;
}

.etapa-asesoria-page #plan_inversion .btnExportaPdfPlan,
.etapa-asesoria-page #planificacion_etapa .btnExportaPdfPlanEtapa,
.etapa-asesoria-page #planificacion_inversiones .btnExportaPdfPlanInversiones {
    background: linear-gradient(135deg, #dd5a4a 0%, #c94537 100%) !important;
    border-color: #c94537 !important;
    color: #fff !important;
}

.etapa-asesoria-page #plan_inversion .etapa-table-wrap,
.etapa-asesoria-page #planificacion_etapa .etapa-table-wrap,
.etapa-asesoria-page #planificacion_inversiones .etapa-table-wrap {
    border: 1px solid #d5e3ef !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 14px rgba(14, 40, 65, 0.07) !important;
    background: #fff !important;
}

.etapa-asesoria-page #plan_inversion table.table,
.etapa-asesoria-page #planificacion_etapa table.table,
.etapa-asesoria-page #planificacion_inversiones table.table {
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.etapa-asesoria-page #plan_inversion table.table > thead > tr > th,
.etapa-asesoria-page #planificacion_etapa table.table > thead > tr > th,
.etapa-asesoria-page #planificacion_inversiones table.table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #eaf3fb !important;
    color: #24496c !important;
    border-bottom: 1px solid #cddded !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td {
    padding: 10px 8px !important;
    border-color: #e1ebf4 !important;
    color: #2b425a !important;
    vertical-align: middle !important;
    background: #fff !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr:nth-child(even) > td,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr:nth-child(even) > td,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr:nth-child(even) > td {
    background: #f8fbfe !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr:hover > td,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr:hover > td,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr:hover > td {
    background: #eef6fd !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td:last-child,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td:last-child,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td:last-child {
    white-space: nowrap !important;
    text-align: center !important;
    min-width: 96px !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td:last-child .btn,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td:last-child .btn,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td:last-child .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    vertical-align: middle !important;
    margin: 0 3px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    border-width: 1px !important;
    box-shadow: 0 3px 8px rgba(18, 38, 56, 0.16) !important;
    transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td:last-child .btn i,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td:last-child .btn i,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td:last-child .btn i {
    margin: 0 !important;
    font-size: 12px !important;
}

.etapa-asesoria-page #plan_inversion .inv-table-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td:last-child .btn-warning,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td:last-child .btn-warning,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td:last-child .btn-warning {
    background: linear-gradient(135deg, #f0a313 0%, #dc8f00 100%) !important;
    border-color: #c78100 !important;
    color: #fff !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td:last-child .btn-danger,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td:last-child .btn-danger,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td:last-child .btn-danger {
    background: linear-gradient(135deg, #e35c4c 0%, #c9483a 100%) !important;
    border-color: #b93b2e !important;
    color: #fff !important;
}

.etapa-asesoria-page #plan_inversion table.table > tbody > tr > td:last-child .btn:hover,
.etapa-asesoria-page #planificacion_etapa table.table > tbody > tr > td:last-child .btn:hover,
.etapa-asesoria-page #planificacion_inversiones table.table > tbody > tr > td:last-child .btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 10px rgba(16, 34, 53, 0.22) !important;
    filter: brightness(1.03);
}

.etapa-asesoria-page #plan_inversion .etapa-table-title {
    margin-top: 18px !important;
    margin-bottom: 10px !important;
    padding-left: 4px;
    font-size: 26px;
    font-weight: 700;
    color: #21496d !important;
}

.etapa-asesoria-page #planificacion_inversiones .etapa-week-grid .form-check-inline {
    border-radius: 9px !important;
    background: #f5fafe !important;
    border-color: #d3e2ef !important;
}

.etapa-asesoria-page #planificacion_inversiones .week-checkbox {
    accent-color: #1d5f97;
}

.etapa-asesoria-page #plan_inversion .dataTables_wrapper .dataTables_filter input,
.etapa-asesoria-page #plan_inversion .dataTables_wrapper .dataTables_length select {
    height: 34px !important;
    border-radius: 8px !important;
    border: 1px solid #c4d7e9 !important;
    background: #fff !important;
}

.etapa-asesoria-page #plan_inversion .dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 4px 9px !important;
}

.etapa-asesoria-page #reunion_online .etapa-form-footer-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
    padding-top: 8px;
    border-top: 1px solid #deebf5;
    clear: both;
}

.etapa-asesoria-page #reunion_online .etapa-form-footer-actions .btn {
    min-width: 118px;
    color: #fff !important;
}

@media (max-width: 767px) {
    .etapa-asesoria-page .etapa-asesoria-pane {
        padding: 10px !important;
    }

    .etapa-asesoria-page #plan_inversion table.table,
    .etapa-asesoria-page #planificacion_etapa table.table {
        min-width: 920px !important;
    }

    .etapa-asesoria-page #planificacion_inversiones table.table {
        min-width: 1160px !important;
    }

    .etapa-asesoria-page #reunion_online .etapa-form-footer-actions .btn {
        width: 100%;
    }
}

/* Comprobantes - rediseño visual */
.page-comprobantes {
    background:
        radial-gradient(circle at top right, rgba(244, 142, 44, 0.10), transparent 28%),
        linear-gradient(180deg, #f4f7fb 0%, #edf2f8 100%);
}

.page-comprobantes .content-header {
    padding-bottom: 8px;
}

.page-comprobantes .content-header > h1 {
    color: #18324a;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.page-comprobantes .breadcrumb {
    background: transparent;
    padding-right: 0;
}

.page-comprobantes .comprobantes-shell {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.page-comprobantes .comprobantes-shell-body {
    padding-top: 0;
}

.page-comprobantes #mainNav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 24px;
    padding: 12px;
    border: 1px solid #d7e1ec;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 40px rgba(18, 45, 72, 0.08);
}

.page-comprobantes #mainNav:before,
.page-comprobantes #mainNav:after {
    display: none;
    content: none;
}

.page-comprobantes #mainNav > li {
    float: none;
    margin: 0;
}

.page-comprobantes #mainNav > li > a,
.page-comprobantes #mainNav > li.dropdown > a {
    border: 0;
    border-radius: 12px;
    color: #365168;
    font-weight: 600;
    padding: 11px 16px;
    background: #f6f9fc;
    transition: all 0.2s ease;
}

.page-comprobantes #mainNav > li > a:hover,
.page-comprobantes #mainNav > li.dropdown > a:hover,
.page-comprobantes #mainNav > li.active > a,
.page-comprobantes #mainNav > li.active > a:hover,
.page-comprobantes #mainNav > li.active > a:focus {
    color: #fff;
    border: 0;
    background: linear-gradient(135deg, #f28a21 0%, #ffb347 100%);
    box-shadow: 0 12px 22px rgba(242, 138, 33, 0.28);
}

.page-comprobantes #mainNav .dropdown-menu {
    margin-top: 10px;
    border: 1px solid #d9e3ed;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 18px 34px rgba(26, 50, 72, 0.16);
}

.page-comprobantes #mainNav .dropdown-menu > li > a {
    padding: 10px 14px;
    color: #355067;
    font-weight: 600;
}

.page-comprobantes #mainNav .dropdown-menu > li > a:hover {
    background: #f3f8fd;
    color: #18324a;
}

.page-comprobantes .comprobantes-page-header {
    padding: 0;
}

.page-comprobantes .comprobante-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 22px;
    padding: 28px 28px 22px;
    border: 1px solid #d8e3ee;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.22), transparent 24%),
        linear-gradient(135deg, #133c5a 0%, #245f7d 58%, #f28a21 140%);
    color: #fff;
    box-shadow: 0 26px 48px rgba(20, 46, 72, 0.18);
}

.page-comprobantes .comprobante-hero:before,
.page-comprobantes .comprobante-hero:after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.page-comprobantes .comprobante-hero:before {
    width: 240px;
    height: 240px;
    right: -60px;
    top: -120px;
}

.page-comprobantes .comprobante-hero:after {
    width: 180px;
    height: 180px;
    right: 22%;
    bottom: -90px;
}

.page-comprobantes .comprobante-hero > .row {
    position: relative;
    z-index: 1;
}

.page-comprobantes .comprobante-hero-kicker {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-comprobantes .comprobante-hero-title {
    margin: 0 0 10px;
    font-size: 31px;
    line-height: 1.18;
    font-weight: 700;
}

.page-comprobantes .comprobante-hero-text {
    max-width: 650px;
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
}

.page-comprobantes .comprobante-hero-metrics {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
}

.page-comprobantes .comprobante-metric-card {
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(3px);
}

.page-comprobantes .comprobante-metric-label {
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.68);
}

.page-comprobantes .comprobante-metric-value {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}

.page-comprobantes .comprobante-form-card,
.page-comprobantes .comprobante-table-card {
    border: 1px solid #dbe5ef;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 36px rgba(18, 45, 72, 0.09);
}

.page-comprobantes .comprobante-form-card {
    overflow: hidden;
}

.page-comprobantes .comprobante-form-heading {
    padding: 22px 24px 14px;
    border: 0;
    background: transparent;
}

.page-comprobantes .comprobante-form-heading .modal-title,
.page-comprobantes .comprobante-table-header h3 {
    margin: 6px 0 6px;
    color: #18324a;
    font-weight: 700;
}

.page-comprobantes .comprobante-form-heading p,
.page-comprobantes .comprobante-table-header p {
    margin: 0;
    color: #63778d;
    font-size: 14px;
    line-height: 1.6;
}

.page-comprobantes .comprobante-section-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff2e4;
    color: #cf6f0a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.page-comprobantes #form_nuevo_comprobante .modal-body {
    padding: 8px 24px 12px;
}

.page-comprobantes #form_nuevo_comprobante .box-body {
    padding: 0;
}

.page-comprobantes #form_nuevo_comprobante .form-group {
    margin-bottom: 16px;
}

.page-comprobantes #form_nuevo_comprobante .input-group,
.page-comprobantes #form_editar_comprobante .input-group {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(22, 49, 76, 0.05);
}

.page-comprobantes #form_nuevo_comprobante .input-group-addon,
.page-comprobantes #form_editar_comprobante .input-group-addon {
    border: 1px solid #d6e0ea;
    background: #f7f9fc;
    color: #355067;
    font-weight: 700;
    transition: all 0.2s ease;
}

.page-comprobantes #form_nuevo_comprobante .form-control,
.page-comprobantes #form_editar_comprobante .form-control {
    height: 48px;
    border: 1px solid #d6e0ea;
    color: #1f3447;
    font-size: 14px;
    box-shadow: none;
    transition: all 0.2s ease;
}

.page-comprobantes #form_nuevo_comprobante textarea.form-control,
.page-comprobantes #form_editar_comprobante textarea.form-control {
    min-height: 110px;
    height: auto;
    resize: vertical;
    padding-top: 14px;
}

.page-comprobantes #form_nuevo_comprobante .form-control:focus,
.page-comprobantes #form_editar_comprobante .form-control:focus {
    border-color: #f28a21;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.02), 0 0 0 3px rgba(242, 138, 33, 0.10);
}

.page-comprobantes #form_nuevo_comprobante .input-group:focus-within .input-group-addon,
.page-comprobantes #form_editar_comprobante .input-group:focus-within .input-group-addon {
    border-color: #f28a21;
    color: #c96e11;
    background: #fff4e8;
}

.page-comprobantes #form_nuevo_comprobante select.form-control,
.page-comprobantes #form_editar_comprobante select.form-control {
    cursor: pointer;
}

.page-comprobantes .comprobante-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px 24px;
    border-top: 1px solid #ebf1f7;
    background: linear-gradient(180deg, rgba(249, 251, 253, 0.92), rgba(243, 247, 251, 0.98));
}

.page-comprobantes .comprobante-form-actions-copy {
    max-width: 520px;
}

.page-comprobantes .comprobante-actions-title {
    display: block;
    margin-bottom: 4px;
    color: #18324a;
    font-weight: 700;
}

.page-comprobantes .comprobante-form-actions-copy small {
    display: block;
    color: #6e7f90;
    font-size: 13px;
    line-height: 1.5;
}

.page-comprobantes .btnGuardarComprobante {
    min-width: 230px;
    min-height: 48px;
    padding: 12px 22px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #eb7d11 0%, #ffb347 100%);
    box-shadow: 0 16px 26px rgba(242, 138, 33, 0.26);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.page-comprobantes .btnGuardarComprobante:hover,
.page-comprobantes .btnGuardarComprobante:focus {
    background: linear-gradient(135deg, #d96d05 0%, #f7a132 100%);
    color: #fff;
}

.page-comprobantes #dv_resultado {
    margin-top: 16px;
}

.page-comprobantes .comprobante-divider {
    margin: 26px 0;
    border-top: 1px solid #dce6ef;
}

.page-comprobantes .comprobante-table-card {
    padding: 22px 22px 16px;
}

.page-comprobantes .comprobante-table-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.page-comprobantes .comprobante-table-wrap {
    border: 1px solid #dce6f0;
    border-radius: 18px;
    background: #fff;
}

.page-comprobantes .comprobante-table-card .dataTables_wrapper > .row:first-child {
    margin: 0;
    padding: 16px 14px 10px;
    background: linear-gradient(180deg, #fbfcfe 0%, #f4f8fb 100%);
    border-bottom: 1px solid #e4edf4;
}

.page-comprobantes .comprobante-table-card .dataTables_wrapper .dataTables_length label,
.page-comprobantes .comprobante-table-card .dataTables_wrapper .dataTables_filter label {
    color: #4d6278;
    font-weight: 700;
}

.page-comprobantes .comprobante-table-card .dataTables_wrapper .dataTables_length select,
.page-comprobantes .comprobante-table-card .dataTables_wrapper .dataTables_filter input {
    height: 38px;
    border: 1px solid #d1dde8;
    border-radius: 10px;
    box-shadow: none;
}

.page-comprobantes .comprobante-table-card .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #f28a21;
    box-shadow: 0 0 0 3px rgba(242, 138, 33, 0.08);
}

.page-comprobantes .tablaComprobantes {
    margin-bottom: 0 !important;
}

.page-comprobantes .tablaComprobantes > thead > tr > th {
    padding: 14px 12px;
    border-bottom: 0;
    background: #163950;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    vertical-align: middle;
}

.page-comprobantes .tablaComprobantes > tbody > tr > td {
    padding: 13px 12px;
    border-color: #ebf1f7;
    color: #284052;
    font-size: 13px;
    vertical-align: middle;
    background: #fff;
}

.page-comprobantes .tablaComprobantes > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-comprobantes .tablaComprobantes > tbody > tr:hover > td {
    background: #f8fbfe;
}

.page-comprobantes .comprobante-table-card .dataTables_wrapper > .row:last-child {
    margin: 0;
    padding: 12px 14px 4px;
    border-top: 1px solid #e9f0f6;
    background: #fbfcfe;
}

.page-comprobantes .comprobante-table-card .dataTables_info {
    color: #63778d;
    font-weight: 600;
}

.page-comprobantes .comprobante-table-card .pagination > li > a,
.page-comprobantes .comprobante-table-card .pagination > li > span {
    border-radius: 10px !important;
    margin: 0 3px;
    border-color: #d5e0ea;
    color: #355067;
}

.page-comprobantes .comprobante-table-card .pagination > .active > a,
.page-comprobantes .comprobante-table-card .pagination > .active > span,
.page-comprobantes .comprobante-table-card .pagination > .active > a:hover,
.page-comprobantes .comprobante-table-card .pagination > .active > span:hover {
    border-color: #f28a21;
    background: #f28a21;
    color: #fff;
}

.page-comprobantes .modal-comprobante .modal-content {
    border: 0;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 26px 50px rgba(17, 40, 60, 0.22);
}

.page-comprobantes .modal-comprobante .modal-header {
    border-bottom: 0;
    padding: 20px 24px;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%) !important;
}

.page-comprobantes .modal-comprobante .modal-title {
    font-weight: 700;
}

.page-comprobantes .modal-comprobante .modal-body {
    padding: 20px 24px;
    background: #f8fbfd;
}

.page-comprobantes .modal-comprobante .modal-footer {
    border-top: 1px solid #e6eef5;
    background: #fff;
}

@media (max-width: 991px) {
    .page-comprobantes .comprobante-hero-title {
        font-size: 27px;
    }

    .page-comprobantes .comprobante-hero-metrics {
        margin-top: 18px;
    }

    .page-comprobantes .comprobante-form-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .page-comprobantes .btnGuardarComprobante {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    .page-comprobantes .content {
        padding-left: 10px;
        padding-right: 10px;
    }

    .page-comprobantes #mainNav {
        padding: 10px;
        border-radius: 16px;
    }

    .page-comprobantes #mainNav > li {
        width: 100%;
    }

    .page-comprobantes #mainNav > li > a,
    .page-comprobantes #mainNav > li.dropdown > a {
        text-align: center;
    }

    .page-comprobantes .comprobante-hero {
        padding: 22px 18px 18px;
        border-radius: 20px;
    }

    .page-comprobantes .comprobante-hero-title {
        font-size: 23px;
    }

    .page-comprobantes .comprobante-form-heading,
    .page-comprobantes #form_nuevo_comprobante .modal-body,
    .page-comprobantes .comprobante-form-actions,
    .page-comprobantes .comprobante-table-card {
        padding-left: 16px;
        padding-right: 16px;
    }

    .page-comprobantes .comprobante-table-header {
        margin-bottom: 14px;
    }

    .page-comprobantes .comprobante-table-card .dataTables_wrapper > .row:first-child,
    .page-comprobantes .comprobante-table-card .dataTables_wrapper > .row:last-child {
        padding-left: 10px;
        padding-right: 10px;
    }

    .page-comprobantes .comprobante-table-wrap table {
        min-width: 1180px;
    }

    .page-comprobantes .modal-comprobante .modal-dialog {
        margin: 10px;
    }

    .page-comprobantes .modal-comprobante .modal-body,
    .page-comprobantes .modal-comprobante .modal-header {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Suite contable compartida */
.page-aos-admin {
    background:
        radial-gradient(circle at top left, rgba(242, 138, 33, 0.10), transparent 20%),
        linear-gradient(180deg, #eef3f8 0%, #e7edf5 100%);
}

.page-aos-admin .content-header {
    padding-bottom: 8px;
}

.page-aos-admin .content-header > h1 {
    color: #16344d;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.page-aos-admin .breadcrumb {
    background: transparent;
    padding-right: 0;
}

.page-aos-admin .aos-admin-box {
    border: 0;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 24px 46px rgba(19, 45, 72, 0.10);
    overflow: hidden;
}

.page-aos-admin .aos-admin-box-body {
    padding: 14px;
}

.page-aos-admin .aos-admin-suite {
    margin-bottom: 24px;
}

.page-aos-admin .aos-admin-suite-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 24px 26px;
    border: 1px solid #d6e2ee;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.15), transparent 26%),
        linear-gradient(135deg, #123957 0%, #245f7d 58%, #f28a21 138%);
    box-shadow: 0 24px 42px rgba(22, 46, 72, 0.18);
    color: #fff;
}

.page-aos-admin .aos-admin-suite-kicker {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.12);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-aos-admin .aos-admin-suite-copy h3 {
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1.16;
    font-weight: 700;
}

.page-aos-admin .aos-admin-suite-copy p {
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 15px;
    line-height: 1.7;
}

.page-aos-admin .aos-admin-suite-highlights {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 240px;
}

.page-aos-admin .aos-admin-highlight-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.12);
    font-size: 13px;
    font-weight: 700;
}

.page-aos-admin .aos-admin-highlight-pill i {
    font-size: 13px;
}

.page-aos-admin #mainNav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 12px;
    border: 1px solid #d5e0eb;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 36px rgba(20, 44, 69, 0.08);
}

.page-aos-admin #mainNav:before,
.page-aos-admin #mainNav:after {
    display: none;
    content: none;
}

.page-aos-admin #mainNav > li {
    float: none;
    margin: 0;
}

.page-aos-admin #mainNav > li > a,
.page-aos-admin #mainNav > li.dropdown > a {
    border: 0;
    border-radius: 14px;
    padding: 12px 16px;
    background: #f5f8fc;
    color: #32506a;
    font-weight: 700;
    transition: all 0.2s ease;
}

.page-aos-admin #mainNav > li > a:hover,
.page-aos-admin #mainNav > li.dropdown > a:hover,
.page-aos-admin #mainNav > li.active > a,
.page-aos-admin #mainNav > li.active > a:hover,
.page-aos-admin #mainNav > li.active > a:focus {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #ea7d12 0%, #ffb347 100%);
    box-shadow: 0 14px 24px rgba(242, 138, 33, 0.26);
}

.page-aos-admin #mainNav .dropdown-menu {
    margin-top: 10px;
    border: 1px solid #d5e0eb;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 18px 32px rgba(21, 44, 70, 0.16);
}

.page-aos-admin #mainNav .dropdown-menu > li > a {
    padding: 11px 14px;
    color: #355067;
    font-weight: 600;
}

.page-aos-admin #mainNav .dropdown-menu > li > a:hover {
    color: #16344d;
    background: #f3f8fd;
}

.page-aos-admin .aos-admin-tab-content {
    padding-top: 6px;
}

.page-aos-admin .aos-admin-toolbar {
    margin-bottom: 14px;
    padding: 0;
    border: 0;
}

.page-aos-admin .aos-admin-toolbar .btn {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 4px;
    font-weight: 700;
}

.page-aos-admin .aos-admin-table-card {
    padding: 18px 18px 14px;
    border: 1px solid #d9e3ee;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(18, 44, 69, 0.08);
}

.page-aos-admin .aos-admin-table-card .dataTables_wrapper > .row:first-child {
    margin: 0 0 12px;
    padding: 16px 16px 10px;
    border: 1px solid #e3ebf3;
    border-radius: 16px;
    background: linear-gradient(180deg, #fbfdff 0%, #f3f8fc 100%);
}

.page-aos-admin .aos-admin-table-card .dataTables_wrapper .dataTables_length label,
.page-aos-admin .aos-admin-table-card .dataTables_wrapper .dataTables_filter label {
    color: #456078;
    font-weight: 700;
}

.page-aos-admin .aos-admin-table-card .dataTables_wrapper .dataTables_length select,
.page-aos-admin .aos-admin-table-card .dataTables_wrapper .dataTables_filter input {
    height: 38px;
    border: 1px solid #d0dce8;
    border-radius: 10px;
    box-shadow: none;
}

.page-aos-admin .aos-admin-table-card .dataTables_wrapper .dataTables_filter input:focus,
.page-aos-admin .aos-admin-table-card .dataTables_wrapper .dataTables_length select:focus {
    border-color: #f28a21;
    box-shadow: 0 0 0 3px rgba(242, 138, 33, 0.08);
}

.page-aos-admin .aos-admin-table-card table.table {
    margin-bottom: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
}

.page-aos-admin .aos-admin-table-card table.table > thead > tr > th {
    padding: 14px 12px;
    border-bottom: 0;
    background: #173a53;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    vertical-align: middle;
}

.page-aos-admin .aos-admin-table-card table.table > thead > tr > th:first-child {
    border-top-left-radius: 14px;
}

.page-aos-admin .aos-admin-table-card table.table > thead > tr > th:last-child {
    border-top-right-radius: 14px;
}

.page-aos-admin .aos-admin-table-card table.table > tbody > tr > td {
    padding: 13px 12px;
    border-color: #edf2f7;
    color: #244156;
    font-size: 13px;
    vertical-align: middle;
    background: #fff;
}

.page-aos-admin .aos-admin-table-card table.table > tbody > tr:nth-child(even) > td {
    background: #fbfdff;
}

.page-aos-admin .aos-admin-table-card table.table > tbody > tr:hover > td {
    background: #f6fbff;
}

.page-aos-admin .aos-admin-table-card .dataTables_wrapper > .row:last-child {
    margin: 12px 0 0;
    padding: 12px 10px 2px;
    border-top: 1px solid #e7eef5;
    background: #fbfcfe;
}

.page-aos-admin .aos-admin-table-card .dataTables_info {
    color: #61758b;
    font-weight: 600;
}

.page-aos-admin .aos-admin-table-card .pagination > li > a,
.page-aos-admin .aos-admin-table-card .pagination > li > span {
    border-radius: 10px !important;
    margin: 0 3px;
    border-color: #d3dfeb;
    color: #355067;
}

.page-aos-admin .aos-admin-table-card .pagination > .active > a,
.page-aos-admin .aos-admin-table-card .pagination > .active > span,
.page-aos-admin .aos-admin-table-card .pagination > .active > a:hover,
.page-aos-admin .aos-admin-table-card .pagination > .active > span:hover {
    border-color: #f28a21;
    background: #f28a21;
    color: #fff;
}

.page-aos-admin .modal-aos-admin .modal-content {
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 28px 56px rgba(17, 40, 61, 0.24);
}

.page-aos-admin .modal-aos-admin .modal-header {
    padding: 20px 24px;
    border-bottom: 0;
    background: linear-gradient(135deg, #163950 0%, #245f7d 100%) !important;
    color: #fff !important;
}

.page-aos-admin .modal-aos-admin .modal-title {
    font-weight: 700;
    letter-spacing: 0.01em;
}

.page-aos-admin .modal-aos-admin .close {
    color: #fff;
    opacity: 0.92;
    text-shadow: none;
}

.page-aos-admin .modal-aos-admin .modal-body {
    padding: 22px 24px 18px;
    background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
}

.page-aos-admin .modal-aos-admin .box-body {
    padding: 0;
}

.page-aos-admin .modal-aos-admin .form-group {
    margin-bottom: 16px;
}

.page-aos-admin .modal-aos-admin .input-group {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(21, 44, 70, 0.05);
}

.page-aos-admin .modal-aos-admin .input-group-addon {
    border: 1px solid #d7e1ec;
    background: #f6f9fc;
    color: #355067;
    font-weight: 700;
}

.page-aos-admin .modal-aos-admin .form-control {
    height: 48px;
    border: 1px solid #d7e1ec;
    box-shadow: none;
    color: #1f3447;
}

.page-aos-admin .modal-aos-admin textarea.form-control {
    min-height: 110px;
    height: auto;
}

.page-aos-admin .modal-aos-admin .form-control:focus {
    border-color: #f28a21;
    box-shadow: 0 0 0 3px rgba(242, 138, 33, 0.08);
}

.page-aos-admin .modal-aos-admin .modal-footer {
    padding: 16px 24px 22px;
    border-top: 1px solid #e7eef5;
    background: #fff;
}

.page-aos-admin .modal-aos-admin .modal-footer .btn {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 4px;
    font-weight: 700;
}

.page-aos-admin .aos-admin-table-card .btn-warning,
.page-aos-admin .aos-admin-table-card .btn-success,
.page-aos-admin .aos-admin-table-card .btn-danger,
.page-aos-admin .aos-admin-table-card .btn-primary,
.page-aos-admin .aos-admin-table-card .btn-default {
    border-radius: 10px;
    border: 0;
    font-weight: 700;
}

@media (max-width: 991px) {
    .page-aos-admin .aos-admin-suite-hero {
        flex-direction: column;
    }

    .page-aos-admin .aos-admin-suite-copy h3 {
        font-size: 26px;
    }

    .page-aos-admin .aos-admin-suite-highlights {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .page-aos-admin .content {
        padding-left: 10px;
        padding-right: 10px;
    }

    .page-aos-admin .aos-admin-box-body {
        padding: 10px;
    }

    .page-aos-admin .aos-admin-suite-hero {
        padding: 20px 16px;
        border-radius: 20px;
    }

    .page-aos-admin .aos-admin-suite-copy h3 {
        font-size: 22px;
    }

    .page-aos-admin #mainNav {
        padding: 10px;
        border-radius: 16px;
    }

    .page-aos-admin #mainNav > li {
        width: 100%;
    }

    .page-aos-admin #mainNav > li > a,
    .page-aos-admin #mainNav > li.dropdown > a {
        text-align: center;
    }

    .page-aos-admin .aos-admin-table-card {
        padding: 14px 12px 10px;
        border-radius: 18px;
    }

    .page-aos-admin .aos-admin-table-card table.table {
        min-width: 900px;
    }

    .page-aos-admin .modal-aos-admin .modal-dialog {
        margin: 10px;
    }

    .page-aos-admin .modal-aos-admin .modal-header,
    .page-aos-admin .modal-aos-admin .modal-body,
    .page-aos-admin .modal-aos-admin .modal-footer {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Revision RUT */
.page-revision-rut .aos-admin-suite {
    margin-bottom: 18px;
}

.page-revision-rut .revision-rut-section {
    padding: 0;
}

.page-revision-rut .revision-rut-intro,
.page-revision-rut .revision-rut-filters-card,
.page-revision-rut .revision-rut-results-card {
    border: 1px solid #d9e4ee;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 34px rgba(18, 44, 69, 0.08);
}

.page-revision-rut .revision-rut-intro {
    margin-bottom: 18px;
    padding: 22px 24px;
    background:
        radial-gradient(circle at top right, rgba(242, 138, 33, 0.10), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
}

.page-revision-rut .revision-rut-kicker {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff2e4;
    color: #cf6f0a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.page-revision-rut .revision-rut-intro h3 {
    margin: 0 0 8px;
    color: #173a53;
    font-size: 30px;
    font-weight: 700;
}

.page-revision-rut .revision-rut-intro p {
    max-width: 840px;
    margin: 0;
    color: #60758b;
    font-size: 15px;
    line-height: 1.7;
}

.page-revision-rut .revision-rut-card-head {
    padding: 18px 20px 10px;
}

.page-revision-rut .revision-rut-card-head h4 {
    margin: 0 0 6px;
    color: #173a53;
    font-size: 22px;
    font-weight: 700;
}

.page-revision-rut .revision-rut-card-head p {
    margin: 0;
    color: #6a7e92;
    font-size: 14px;
    line-height: 1.6;
}

.page-revision-rut .revision-rut-filters-card {
    margin-bottom: 18px;
    padding: 0 20px 6px;
    max-width: 100%;
}

.page-revision-rut .revision-rut-results-card {
    padding: 0 20px 18px;
}

.page-revision-rut .revision-rut-filter-row {
    display: block;
    width: 100%;
    max-width: 920px;
    margin-right: 0;
    margin-bottom: 18px;
    vertical-align: top;
}

.page-revision-rut .revision-rut-filter-row > [class*="col-"] {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.page-revision-rut .revision-rut-results-card > .form-group.row {
    display: inline-block;
    width: 49%;
    margin-right: 1.5%;
    vertical-align: top;
}

.page-revision-rut .revision-rut-results-card > .form-group.row:nth-of-type(2n) {
    margin-right: 0;
}

.page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full {
    display: block;
    width: 100%;
    margin-right: 0;
}

.page-revision-rut .revision-rut-results-card > .form-group.row > [class*="col-"] {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full > [class*="col-"] {
    float: left;
    width: 49%;
    margin-right: 2%;
}

.page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full > [class*="col-"]:last-child {
    margin-right: 0;
}

.page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full > [class*="col-"]:only-child,
.page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full #programaEmpresa,
.page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full #observacionEmpresa {
    width: 100%;
    margin-right: 0;
}

.page-revision-rut #formRevisionRut .form-group {
    margin-bottom: 14px;
}

.page-revision-rut #formRevisionRut .input-group {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(19, 45, 71, 0.05);
}

.page-revision-rut #formRevisionRut .input-group-addon {
    min-width: 88px;
    border: 1px solid #d6e0ea;
    background: #f6f9fc;
    color: #36516a;
    font-weight: 700;
}

.page-revision-rut #formRevisionRut .form-control {
    height: 48px;
    border: 1px solid #d6e0ea;
    box-shadow: none;
    color: #1f3447;
}

.page-revision-rut #formRevisionRut textarea.form-control {
    min-height: 140px;
    height: auto;
    resize: vertical;
}

.page-revision-rut #formRevisionRut .form-control:focus {
    border-color: #f28a21;
    box-shadow: 0 0 0 3px rgba(242, 138, 33, 0.08);
}

.page-revision-rut .revision-rut-fondos-wrap {
    position: static;
    top: auto;
}

.page-revision-rut #estadoFondosLey .input-group,
.page-revision-rut #estadoFndr .input-group {
    box-shadow: 0 14px 24px rgba(19, 45, 71, 0.08);
}

.page-revision-rut .revision-rut-estado-ok,
.page-revision-rut .revision-rut-estado-alert {
    font-weight: 700;
    letter-spacing: 0.01em;
}

.page-revision-rut .revision-rut-estado-ok {
    color: #0f8a43 !important;
    background: #eefaf3;
}

.page-revision-rut .revision-rut-estado-alert {
    color: #c44d3a !important;
    background: #fff2ef;
}

.page-revision-rut .btnObservacion {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 4px;
    font-weight: 700;
}

.page-revision-rut hr {
    margin: 18px 0 20px;
    border-top: 1px solid #e3ebf3;
    clear: both;
}

.page-revision-rut .select2-container--default .select2-selection--single {
    height: 48px;
    border: 1px solid #d6e0ea;
    border-radius: 14px;
}

.page-revision-rut .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    color: #1f3447;
    padding-left: 14px;
}

.page-revision-rut .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 8px;
}

@media (max-width: 767px) {
    .page-revision-rut .revision-rut-intro,
    .page-revision-rut .revision-rut-filters-card,
    .page-revision-rut .revision-rut-results-card {
        border-radius: 18px;
    }

    .page-revision-rut .revision-rut-intro {
        padding: 18px 16px;
    }

    .page-revision-rut .revision-rut-intro h3 {
        font-size: 24px;
    }

    .page-revision-rut .revision-rut-card-head,
    .page-revision-rut .revision-rut-filters-card,
    .page-revision-rut .revision-rut-results-card {
        padding-left: 14px;
        padding-right: 14px;
    }

    .page-revision-rut .revision-rut-filters-card {
        max-width: 100%;
    }

    .page-revision-rut .revision-rut-filter-row,
    .page-revision-rut .revision-rut-results-card > .form-group.row,
    .page-revision-rut .revision-rut-results-card > .form-group.row.revision-rut-row-full > [class*="col-"] {
        display: block;
        width: 100%;
        margin-right: 0;
    }
}

.page-proyecto-bp .proyecto-bp-shell {
    border: 1px solid #cfe0f3;
    border-radius: 20px;
    overflow: hidden;
    background: #f7fbff;
    box-shadow: 0 22px 40px rgba(15, 52, 96, 0.08);
}

.page-proyecto-bp .proyecto-bp-header {
    padding: 0;
    border-bottom: none;
    background: transparent;
}

.page-proyecto-bp .proyecto-bp-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    background: linear-gradient(135deg, #173b63 0%, #285f7f 60%, #2f6c7d 100%);
    color: #fff;
}

.page-proyecto-bp .proyecto-bp-kicker {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.page-proyecto-bp .proyecto-bp-title {
    margin: 0 0 10px;
    color: #fff;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.page-proyecto-bp .proyecto-bp-subtitle {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    line-height: 1.7;
}

.page-proyecto-bp .proyecto-bp-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.page-proyecto-bp .btn-proyecto-bp-main,
.page-proyecto-bp .btn-proyecto-bp-secondary {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 12px;
    font-weight: 600;
    box-shadow: none;
}

.page-proyecto-bp .btn-proyecto-bp-main {
    background: #2f80ed;
    border-color: #276fcd;
}

.page-proyecto-bp .btn-proyecto-bp-main:hover,
.page-proyecto-bp .btn-proyecto-bp-main:focus {
    background: #276fcd;
    border-color: #1f5fb2;
}

.page-proyecto-bp .btn-proyecto-bp-secondary {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(255, 255, 255, 0.95);
    color: #1f466a;
}

.page-proyecto-bp .btn-proyecto-bp-secondary:hover,
.page-proyecto-bp .btn-proyecto-bp-secondary:focus {
    background: #fff;
    border-color: #fff;
    color: #173b63;
}

.page-proyecto-bp .proyecto-bp-body {
    padding: 24px;
}

.page-proyecto-bp .proyecto-bp-filters-card,
.page-proyecto-bp .proyecto-bp-table-card {
    border: 1px solid #d8e5f2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(20, 49, 84, 0.05);
}

.page-proyecto-bp .proyecto-bp-filters-card {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    margin-bottom: 18px;
}

.page-proyecto-bp .proyecto-bp-filter-group {
    flex: 1 1 420px;
}

.page-proyecto-bp .proyecto-bp-filter-group label {
    display: block;
    margin-bottom: 7px;
    color: #345779;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.page-proyecto-bp .proyecto-bp-filter-group .form-control {
    height: 44px;
    border: 1px solid #c6d7ea;
    border-radius: 12px;
    box-shadow: none;
}

.page-proyecto-bp .proyecto-bp-filter-group .form-control:focus {
    border-color: #2f80ed;
    box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.12);
}

.page-proyecto-bp .proyecto-bp-filters-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.page-proyecto-bp .proyecto-bp-badge-info {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #edf5ff;
    border: 1px solid #cfe0f7;
    color: #295d8d;
    font-size: 13px;
    font-weight: 600;
}

.page-proyecto-bp .proyecto-bp-table-card {
    padding: 18px;
}

.page-proyecto-bp .tabla-proyecto-bp-ux {
    width: 100% !important;
    margin-bottom: 0 !important;
}

.page-proyecto-bp .tabla-proyecto-bp-ux thead th {
    background: #173b63;
    color: #fff;
    border-bottom: none !important;
    font-weight: 700;
}

.page-proyecto-bp .tabla-proyecto-bp-ux tbody td {
    vertical-align: middle;
}

.page-proyecto-bp .tabla-proyecto-bp-ux tbody tr:hover td {
    background: #f6fbff;
}

.page-proyecto-bp .proyecto-bp-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-proyecto-bp .proyecto-bp-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 10px;
    font-weight: 600;
    box-shadow: none;
}

.page-proyecto-bp .proyecto-bp-actions .btn-danger {
    min-width: 36px;
    padding-left: 10px;
    padding-right: 10px;
}

.page-proyecto-bp .dataTables_wrapper .dataTables_filter,
.page-proyecto-bp .dataTables_wrapper .dataTables_length {
    display: none;
}

.page-proyecto-bp .dataTables_wrapper .dataTables_info {
    padding-top: 14px;
    color: #496988;
    font-size: 13px;
}

.page-proyecto-bp .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 10px !important;
}

.modal-proyecto-bp .proyecto-bp-modal-dialog {
    width: 720px;
    max-width: calc(100% - 30px);
}

.modal-proyecto-bp .proyecto-bp-modal-content {
    border: 1px solid #d7e5f2;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(17, 38, 63, 0.2);
}

.modal-proyecto-bp .proyecto-bp-modal-header {
    padding: 22px 24px 18px;
    background: linear-gradient(135deg, #1c4067 0%, #255c84 100%);
    color: #fff;
    border-bottom: none;
}

.modal-proyecto-bp .proyecto-bp-modal-header .close {
    margin-top: -2px;
    color: #fff;
    opacity: 1;
    text-shadow: none;
}

.modal-proyecto-bp .proyecto-bp-modal-header .modal-title {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
}

.modal-proyecto-bp .proyecto-bp-modal-subtitle {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.6;
}

.modal-proyecto-bp .proyecto-bp-modal-body {
    padding: 22px 24px;
    background: #f8fbfe;
}

.modal-proyecto-bp .proyecto-bp-modal-form {
    padding: 0;
}

.modal-proyecto-bp .proyecto-bp-form-section {
    padding: 16px;
    border: 1px solid #d6e5f1;
    border-radius: 16px;
    background: #fff;
}

.modal-proyecto-bp .proyecto-bp-form-section-head {
    margin-bottom: 14px;
}

.modal-proyecto-bp .proyecto-bp-form-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #eef5ff;
    color: #365e86;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.modal-proyecto-bp .proyecto-bp-form-title {
    margin: 0;
    color: #1c3e63;
    font-size: 22px;
    font-weight: 700;
}

.modal-proyecto-bp .input-group-addon {
    min-width: 46px;
    background: #f4f9ff;
    color: #2c5f8f;
    border-color: #c9dbed;
}

.modal-proyecto-bp .form-control {
    height: 48px;
    border-color: #c9dbed;
    box-shadow: none;
}

.modal-proyecto-bp textarea.form-control {
    min-height: 110px;
}

.modal-proyecto-bp .form-control:focus {
    border-color: #2f80ed;
    box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.12);
}

.modal-proyecto-bp .proyecto-bp-modal-footer {
    padding: 16px 24px 20px;
    background: #fff;
    border-top: 1px solid #e1edf7;
}

@media (max-width: 991px) {
    .page-proyecto-bp .proyecto-bp-hero,
    .page-proyecto-bp .proyecto-bp-filters-card {
        display: block;
    }

    .page-proyecto-bp .proyecto-bp-hero-actions,
    .page-proyecto-bp .proyecto-bp-filters-actions {
        margin-top: 16px;
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .page-proyecto-bp .proyecto-bp-body {
        padding: 16px;
    }

    .page-proyecto-bp .proyecto-bp-hero {
        padding: 22px 18px;
    }

    .page-proyecto-bp .proyecto-bp-title {
        font-size: 24px;
    }

    .page-proyecto-bp .proyecto-bp-table-card {
        padding: 12px;
    }

    .modal-proyecto-bp .proyecto-bp-modal-dialog {
        width: auto;
    }
}

.page-meses-rendicion .meses-rendicion-shell {
    border: 1px solid #d4e2f0;
    border-radius: 20px;
    overflow: hidden;
    background: #f8fbff;
    box-shadow: 0 22px 42px rgba(16, 45, 79, 0.08);
}

.page-meses-rendicion .meses-rendicion-header {
    padding: 0;
    border-bottom: none;
    background: transparent;
}

.page-meses-rendicion .meses-rendicion-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    background: linear-gradient(135deg, #193c63 0%, #255a7c 60%, #2a6a74 100%);
    color: #fff;
}

.page-meses-rendicion .meses-rendicion-kicker {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.page-meses-rendicion .meses-rendicion-title {
    margin: 0 0 10px;
    color: #fff;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.page-meses-rendicion .meses-rendicion-subtitle {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    line-height: 1.7;
}

.page-meses-rendicion .meses-rendicion-hero-actions {
    display: flex;
    justify-content: flex-end;
}

.page-meses-rendicion .btn-meses-rendicion-main {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 12px;
    font-weight: 600;
    box-shadow: none;
}

.page-meses-rendicion .meses-rendicion-body {
    padding: 24px;
}

.page-meses-rendicion .meses-rendicion-filters-card,
.page-meses-rendicion .meses-rendicion-table-card {
    border: 1px solid #d9e6f3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(20, 49, 84, 0.05);
}

.page-meses-rendicion .meses-rendicion-filters-card {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    margin-bottom: 18px;
}

.page-meses-rendicion .meses-rendicion-filter-group {
    flex: 1 1 340px;
}

.page-meses-rendicion .meses-rendicion-filter-year {
    max-width: 180px;
}

.page-meses-rendicion .meses-rendicion-filter-group label {
    display: block;
    margin-bottom: 7px;
    color: #345779;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.page-meses-rendicion .meses-rendicion-filter-group .form-control {
    height: 44px;
    border: 1px solid #c6d7ea;
    border-radius: 12px;
    box-shadow: none;
}

.page-meses-rendicion .meses-rendicion-filter-group .form-control:focus {
    border-color: #2f80ed;
    box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.12);
}

.page-meses-rendicion .meses-rendicion-filters-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.page-meses-rendicion .meses-rendicion-badge-info {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #edf5ff;
    border: 1px solid #cfe0f7;
    color: #295d8d;
    font-size: 13px;
    font-weight: 600;
}

.page-meses-rendicion .meses-rendicion-table-card {
    padding: 18px;
}

.page-meses-rendicion .tabla-meses-rendicion-ux {
    width: 100% !important;
    margin-bottom: 0 !important;
}

.page-meses-rendicion .tabla-meses-rendicion-ux thead th {
    background: #173b63;
    color: #fff;
    border-bottom: none !important;
    font-weight: 700;
}

.page-meses-rendicion .tabla-meses-rendicion-ux tbody td {
    vertical-align: middle;
}

.page-meses-rendicion .tabla-meses-rendicion-ux tbody tr:hover td {
    background: #f6fbff;
}

.page-meses-rendicion .meses-rendicion-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-meses-rendicion .meses-rendicion-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 10px;
    font-weight: 600;
    box-shadow: none;
}

.page-meses-rendicion .meses-rendicion-actions .btn-danger {
    min-width: 36px;
    padding-left: 10px;
    padding-right: 10px;
}

.page-meses-rendicion .dataTables_wrapper .dataTables_filter,
.page-meses-rendicion .dataTables_wrapper .dataTables_length {
    display: none;
}

.page-meses-rendicion .dataTables_wrapper .dataTables_info {
    padding-top: 14px;
    color: #496988;
    font-size: 13px;
}

.page-meses-rendicion .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 10px !important;
}

.modal-meses-rendicion .meses-rendicion-modal-dialog {
    width: 760px;
    max-width: calc(100% - 30px);
}

.modal-meses-rendicion .meses-rendicion-modal-content {
    border: 1px solid #d7e5f2;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(17, 38, 63, 0.2);
}

.modal-meses-rendicion .meses-rendicion-modal-header {
    padding: 22px 24px 18px;
    background: linear-gradient(135deg, #1c4067 0%, #255c84 100%);
    color: #fff;
    border-bottom: none;
}

.modal-meses-rendicion .meses-rendicion-modal-header .close {
    margin-top: -2px;
    color: #fff;
    opacity: 1;
    text-shadow: none;
}

.modal-meses-rendicion .meses-rendicion-modal-header .modal-title {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
}

.modal-meses-rendicion .meses-rendicion-modal-subtitle {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.6;
}

.modal-meses-rendicion .meses-rendicion-modal-body {
    padding: 22px 24px;
    background: #f8fbfe;
}

.modal-meses-rendicion .meses-rendicion-modal-form {
    padding: 0;
}

.modal-meses-rendicion .meses-rendicion-form-section {
    padding: 16px;
    border: 1px solid #d6e5f1;
    border-radius: 16px;
    background: #fff;
}

.modal-meses-rendicion .meses-rendicion-form-section-head {
    margin-bottom: 14px;
}

.modal-meses-rendicion .meses-rendicion-form-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #eef5ff;
    color: #365e86;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.modal-meses-rendicion .meses-rendicion-form-title {
    margin: 0;
    color: #1c3e63;
    font-size: 22px;
    font-weight: 700;
}

.modal-meses-rendicion .form-group {
    margin-bottom: 16px;
}

.modal-meses-rendicion .input-group-addon {
    min-width: 46px;
    background: #f4f9ff;
    color: #2c5f8f;
    border-color: #c9dbed;
}

.modal-meses-rendicion .form-control,
.modal-meses-rendicion select.form-control {
    height: 48px;
    border-color: #c9dbed;
    box-shadow: none;
}

.modal-meses-rendicion .form-control:focus,
.modal-meses-rendicion select.form-control:focus {
    border-color: #2f80ed;
    box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.12);
}

.modal-meses-rendicion .select2-container {
    width: 100% !important;
}

.modal-meses-rendicion .select2-container--default .select2-selection--single {
    height: 48px;
    border: 1px solid #c9dbed;
    border-radius: 0 6px 6px 0;
}

.modal-meses-rendicion .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    padding-left: 14px;
    color: #3d5b78;
}

.modal-meses-rendicion .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
}

.modal-meses-rendicion .meses-rendicion-modal-footer {
    padding: 16px 24px 20px;
    background: #fff;
    border-top: 1px solid #e1edf7;
}

@media (max-width: 991px) {
    .page-meses-rendicion .meses-rendicion-hero,
    .page-meses-rendicion .meses-rendicion-filters-card {
        display: block;
    }

    .page-meses-rendicion .meses-rendicion-hero-actions,
    .page-meses-rendicion .meses-rendicion-filters-actions {
        margin-top: 16px;
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .page-meses-rendicion .meses-rendicion-body {
        padding: 16px;
    }

    .page-meses-rendicion .meses-rendicion-hero {
        padding: 22px 18px;
    }

    .page-meses-rendicion .meses-rendicion-title {
        font-size: 24px;
    }

    .page-meses-rendicion .meses-rendicion-table-card {
        padding: 12px;
    }

    .modal-meses-rendicion .meses-rendicion-modal-dialog {
        width: auto;
    }
}

/* Oculta flechas nativas en campos numericos de solicitud/rendicion de pago. */
.modal-rendicion-emprende input[type="number"]::-webkit-outer-spin-button,
.modal-rendicion-emprende input[type="number"]::-webkit-inner-spin-button,
.modal-rendicion-mensual-emp input[type="number"]::-webkit-outer-spin-button,
.modal-rendicion-mensual-emp input[type="number"]::-webkit-inner-spin-button,
.modal-rendicion-beneficiario-emp input[type="number"]::-webkit-outer-spin-button,
.modal-rendicion-beneficiario-emp input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.modal-rendicion-emprende input[type="number"],
.modal-rendicion-mensual-emp input[type="number"],
.modal-rendicion-beneficiario-emp input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}
