/* ============================================
   CUSTOM.CSS - GENERAL PARA TODO EL SITIO.
   ============================================ */

.border-none {
    border: none !important;
}

.border-color-data {
    border-color: var(--border-data) !important;
}

.border-color-strong {
    border-color: var(--border-strong) !important;
}

.card-icon {
    margin-top: -4px;
    font-size: 0.92em;
    vertical-align: middle;
    color: #999 !important;
}

.graph-plot {
    border: 1px solid var(--border-data) !important;
}

.note-card {
    color: var(--brand-heading);
    background-color: var(--bs-info-bg-subtle);
    border: 1px solid var(--bs-info-border-subtle) !important;
}

.position-relative {
    position: relative;
}

.spinner-border-md {
    --bs-spinner-width: 1.7rem;
    --bs-spinner-height: 1.7rem;
}

.svg-container,
.svg-container .main-svg {
    width: 100% !important;
}

/* ============================================
   DATATABLES - TABLE RESPONSIVE OVERRIDES.
   ============================================ */
.table-responsive {
    border: 1px solid var(--border-data);
}

    .table-responsive table {
        margin: 0 !important;
    }

    .table-responsive .dataTables_wrapper > .row:first-of-type {
        border-bottom: 1px solid var(--border-data) !important;
    }

    .table-responsive .dataTables_wrapper > .row:last-of-type {
        border-top: 1px solid var(--border-data) !important;
    }

    .table-responsive .dataTables_wrapper > .row:not(.dt-row):not(:has(.dataTables_filter, .dataTables_info, .dataTables_length, .dataTables_paginate)) {
        display: none;
    }

    .table-responsive .dataTables_wrapper > .row:nth-of-type(2) {
        overflow-x: auto !important;
    }

    .table-responsive table thead > tr > *,
    .table-responsive table tbody > tr > * {
        width: 1%;
    }

        .table-responsive table thead > tr > *:first-child,
        .table-responsive table tbody > tr > *:first-child {
            border-right: 1px solid var(--border-data);
            left: 0;
            position: sticky !important;
        }

        .table-responsive table thead > tr > *:first-child,
        .table-responsive table tbody > tr > *:first-child {
            background-color: var(--bs-table-bg);
            z-index: 5;
        }

    .table-responsive table tbody > tr:last-child > *,
    .table-responsive table tbody > tr:not(.d-none):not(:has(~ tr:not(.d-none))) > * {
        border-bottom: 0 !important;
    }

    .table-responsive .dataTables_filter,
    .table-responsive .dataTables_info,
    .table-responsive .dataTables_length {
        padding: 0.5rem;
    }

    .table-responsive .dataTables_paginate {
        padding: 0.4rem;
    }

        .table-responsive .dataTables_paginate .page-link {
            font-size: 0.9rem;
        }
