/* Encabezado y acciones coherentes en todos los modales del sistema. */
.modal .modal-header {
    background-color: #61452a !important;
    color: #fff !important;
}

.modal .modal-header .modal-title {
    color: #fff !important;
}

.modal .modal-header .text-muted,
.modal .modal-header small {
    color: rgba(255, 255, 255, .78) !important;
}

.modal .modal-footer {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.modal .modal-footer > * {
    min-width: 0;
    width: 100%;
    margin: 0 !important;
}

.modal .modal-footer > .col-12.d-grid {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem !important;
}

@media (max-width: 767.98px) {
    .mobile-hide-generic-title {
        display: none !important;
    }

    .row:has(> .mobile-hide-generic-title) {
        display: none !important;
    }

    .mobile-table-cards-wrapper,
    .mobile-table-cards-wrapper[data-simplebar] {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .mobile-table-cards-wrapper .simplebar-content-wrapper,
    .mobile-table-cards-wrapper .simplebar-content {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .mobile-table-cards-wrapper .simplebar-track {
        display: none !important;
    }

    table.mobile-table-cards {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        table-layout: auto !important;
    }

    table.mobile-table-cards > caption {
        display: block;
        width: 100%;
        padding: .5rem 0;
        text-align: left;
    }

    table.mobile-table-cards > thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    table.mobile-table-cards > tbody,
    table.mobile-table-cards > tfoot {
        display: grid !important;
        width: 100%;
        gap: .75rem;
    }

    table.mobile-table-cards > tbody > tr,
    table.mobile-table-cards > tfoot > tr {
        display: block !important;
        width: 100%;
        overflow: hidden;
        border: 1px solid #e4d2be !important;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 4px 14px rgba(61, 42, 28, .07);
    }

    table.mobile-table-cards > tbody > tr > td,
    table.mobile-table-cards > tfoot > tr > td {
        display: grid !important;
        grid-template-columns: minmax(5.5rem, 38%) minmax(0, 1fr);
        align-items: start;
        gap: .6rem;
        width: 100% !important;
        min-width: 0 !important;
        padding: .7rem .8rem !important;
        border: 0 !important;
        border-bottom: 1px solid #f0e7dd !important;
        color: #34261a;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    table.mobile-table-cards > tbody > tr > td:last-child,
    table.mobile-table-cards > tfoot > tr > td:last-child {
        border-bottom: 0 !important;
    }

    table.mobile-table-cards > tbody > tr > td::before,
    table.mobile-table-cards > tfoot > tr > td::before {
        content: attr(data-mobile-label);
        color: #756658;
        font-size: .75rem;
        font-weight: 700;
        line-height: 1.35;
    }

    table.mobile-table-cards > tbody > tr > td.mobile-table-empty-cell,
    table.mobile-table-cards > tfoot > tr > td.mobile-table-empty-cell {
        display: block !important;
        border: 0 !important;
        text-align: center !important;
    }

    table.mobile-table-cards > tbody > tr > td.mobile-table-empty-cell::before,
    table.mobile-table-cards > tfoot > tr > td.mobile-table-empty-cell::before {
        content: none;
    }

    table.mobile-table-cards td > .btn-group,
    table.mobile-table-cards td > .d-flex,
    table.mobile-table-cards td .btn-group,
    table.mobile-table-cards td .d-flex {
        flex-wrap: wrap;
        gap: .35rem;
    }

    .clientes-listado-table.mobile-table-cards td[data-mobile-label="Accion"] .hstack {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem !important;
        width: 100%;
    }

    .clientes-listado-table.mobile-table-cards td[data-mobile-label="Accion"] .hstack > * {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 40px;
        height: 40px;
        margin: 0 !important;
    }

    table.mobile-table-cards td .form-control,
    table.mobile-table-cards td .form-select,
    table.mobile-table-cards td input,
    table.mobile-table-cards td select {
        min-width: 0;
        max-width: 100%;
    }

    table.mobile-table-cards td img {
        max-width: 100%;
        height: auto;
    }

    table.mobile-table-cards td .text-nowrap {
        white-space: normal !important;
    }
}

@media (max-width: 575.98px) {
    .notification-modal .notification-modal__footer {
        display: flex;
        flex-wrap: nowrap;
        gap: .5rem;
    }

    .notification-modal .notification-modal__footer > .btn {
        flex: 1 1 0;
        min-width: 0;
        height: 40px;
        padding: .375rem .4rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
    }
}
