
/* =============================================
   GLOBAL TABLE MOBILE RESPONSIVENESS
   ============================================= */

/* Desktop and Tablet (≥992px) */
@media (min-width: 992px) {
    .table {
        font-size: 0.95rem;
    }

    .table thead th {
        padding: 12px 8px;
        font-weight: 600;
    }

    .table tbody td {
        padding: 10px 8px;
        vertical-align: middle;
    }

    .table-responsive {
        overflow-x: auto;
    }
}

/* Tablet Devices (≤991.98px) */
@media (max-width: 991.98px) {
    body {
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    .table {
        font-size: 0.85rem;
        width: 100%;
    }

    .table thead th {
        padding: 8px 4px;
        font-size: 0.8rem;
        white-space: nowrap;
    }

    .table tbody td {
        padding: 8px 4px;
        white-space: normal;
        word-break: break-word;
    }

    .table-responsive {
        overflow-x: auto;
        margin: 0;
        padding: 0;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }

    /* Card styling adjustments */
    .card {
        margin: -12px;
        border-radius: 0;
    }

    .card-body {
        padding: 12px;
    }

    .card-header {
        padding: 12px;
    }

    /* Bootstrap grid adjustments */
    .container-fluid {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .row {
        margin-left: -12px;
        margin-right: -12px;
    }

    .col-12 {
        padding-left: 0;
        padding-right: 0;
    }

    /* Search filters on tablet */
    .form-control,
    .form-select {
        font-size: 0.8rem !important;
    }
}

/* Mobile Devices (≤767.98px) */
@media (max-width: 767.98px) {
    .table {
        font-size: 0.75rem;
        table-layout: auto;
        margin: 0;
        width: 100%;
    }

    .table thead th {
        padding: 6px 3px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .table tbody td {
        padding: 6px 3px;
        white-space: normal;
        word-break: break-word;
        border-bottom: 1px solid #dee2e6;
    }

    /* Improve row interactions on mobile */
    .table tbody tr:hover {
        cursor: pointer;
        transition: all 0.15s ease-in-out;
    }

    /* Card styling for mobile */
    .card {
        margin: 0;
        border-left: 0;
        border-right: 0;
    }

    .card-body {
        padding: 12px;
    }

    .card-header {
        padding: 12px;
    }

    /* Bootstrap grid on mobile */
    .container-fluid {
        padding: 0;
        margin: 0;
    }

    .row {
        margin: 0;
    }

    .col-12 {
        padding: 0;
    }

    /* Filter and search controls stacking */
    .d-flex {
        flex-direction: column !important;
        gap: 8px !important;
    }

    .form-control,
    .form-select {
        font-size: 0.75rem !important;
        padding: 0.375rem 0.5rem;
    }
}

/* Extra Small Devices (≤576px) - Phones */
@media (max-width: 576px) {
    .table {
        font-size: 0.65rem;
        margin: 0;
        width: 100%;
        table-layout: auto;
    }

    .table thead th {
        padding: 4px 2px;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .table tbody td {
        padding: 4px 2px;
        border-bottom: 1px solid #dee2e6;
        word-break: break-word;
    }

    /* Row hover on phone */
    .table tbody tr:hover {
        cursor: pointer;
    }

    /* Badge styling */
    .badge {
        font-size: 0.6rem;
        padding: 0.2rem 0.3rem;
        white-space: nowrap;
    }

    /* Card styling on phones */
    .card {
        margin: 0;
        border: 0;
    }

    .card-body {
        padding: 0;
        margin: 0;
    }

    .card-header {
        padding: 12px 8px;
        margin: 0;
    }

    /* Remove Bootstrap grid padding completely */
    .container-fluid {
        padding: 0;
        margin: 0;
    }

    .row {
        margin: 0;
    }

    .col-12 {
        padding: 0;
    }

    /* Filter controls on phones */
    .d-flex {
        width: 100%;
        flex-direction: column !important;
        gap: 6px !important;
    }

    .form-control,
    .form-select {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 0.75rem;
        padding: 0.375rem 0.5rem;
    }

    /* Override inline width styles on input fields */
    input[style*="width"],
    select[style*="width"] {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Table column sizing on phones */
    .table thead th:nth-child(1),
    .table tbody td:nth-child(1) {
        min-width: 45px;
        text-align: center;
    }

    .table thead th:nth-child(2),
    .table tbody td:nth-child(2) {
        min-width: 75px;
        font-size: 0.6rem;
    }

    .table thead th:nth-child(3),
    .table tbody td:nth-child(3) {
        min-width: 85px;
    }

    .table thead th:nth-child(4),
    .table tbody td:nth-child(4) {
        min-width: 70px;
        font-size: 0.6rem;
    }

    .table thead th:nth-child(5),
    .table tbody td:nth-child(5) {
        min-width: 70px;
        font-size: 0.6rem;
    }

    .table thead th:nth-child(6),
    .table tbody td:nth-child(6) {
        min-width: 65px;
        font-size: 0.6rem;
    }

    /* Status and action columns */
    .table thead th:nth-last-child(1),
    .table tbody td:nth-last-child(1) {
        min-width: 55px;
        text-align: center;
    }
}

/* =============================================
   DATATABLE RESPONSIVE ENHANCEMENTS
   ============================================= */

.dt-responsive {
    white-space: normal;
    word-break: break-word;
}

.dtr-details {
    font-size: 0.85rem;
}

/* Responsive search indicators */
.dataTables_filter input {
    font-size: inherit;
}

.dataTables_length select {
    font-size: inherit;
}

/* =============================================
   SCROLLBAR IMPROVEMENTS
   ============================================= */

.table-responsive::-webkit-scrollbar {
    height: 6px;
}

.table-responsive::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.table-responsive::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
}

.table-responsive::-webkit-scrollbar-thumb:hover {
    background: #555;
}
