/* ========================================
   Responsive Table Styles
   ======================================== */

/* Orders Table */
.responsive-table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.responsive-table thead th {
    background-color: #137dc7 !important;
    color: white !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 12px 10px !important;
    border: none !important;
    cursor: pointer !important;
    max-width: 80px;
    min-width: 70px;
}

.responsive-table thead th:hover {
    background-color: #0d5a9e !important;
}

.responsive-table tbody tr.table-row {
    background-color: white !important;
    color: #666 !important;
    border-bottom: 1px solid #ddd !important;
    cursor: pointer !important;
    transition: background-color 0.3s !important;
}

.responsive-table tbody tr.table-row:hover {
    background-color: #e1f0ff !important;
}

.responsive-table tbody tr[data-expand-id] {
    background-color: #f0f8ff !important;
    display: none !important;
}

.responsive-table tbody tr[data-expand-id].show {
    display: table-row !important;
}

.responsive-table td {
    vertical-align: middle !important;
    text-align: center !important;
    padding: 12px 10px !important;
}

/* Desktop - 8 columns visible */
@media (min-width: 993px) {
    .responsive-table .col-hidden {
        display: none !important;
    }

    .responsive-table tbody tr[data-expand-id] td {
        padding: 20px !important;
        text-align: right !important;
    }

    .expand-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    .expand-item {
        padding: 10px !important;
        background: white !important;
        border-radius: 5px !important;
        border-left: 3px solid #2da9f7 !important;
    }

    .expand-label {
        font-weight: 600 !important;
        color: #333 !important;
        margin-bottom: 5px !important;
        font-size: 0.9rem !important;
    }

    .expand-value {
        color: #666 !important;
        font-size: 0.9rem !important;
    }
}

/* Mobile - Card view */
@media (max-width: 992px) {
    
    
    
    /* ===== Hard width lock ===== */
    .responsive-table,
    .responsive-table tbody,
    .responsive-table tr,
    .responsive-table td {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .responsive-table {
        border-collapse: separate !important;
        border-spacing: 0 15px !important;
    }

    .responsive-table thead {
        display: none !important;
    }

    /* ===== Card row ===== */
    .responsive-table tbody tr.table-row {
        display: block !important;
        background: #fff !important;
        border-radius: 10px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
        margin-bottom: 15px !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .responsive-table tbody tr.table-row::after {
        content: '▼';
        position: absolute;
        right: 15px;
        top: 12px;
        color: #137dc7;
        transition: transform .3s;
    }

    .responsive-table tbody tr.table-row.expanded::after {
        transform: rotate(180deg);
    }

    /* ===== Default: hide all cells ===== */
    .responsive-table tbody td {
        display: none !important;
        padding: 12px 15px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    /* ===== Always visible cells ===== */
    .responsive-table tbody td.mobile-main,
    .responsive-table tbody td.mobile-actions {
        display: flex !important;
        align-items: center;
        gap: 10px;
        border-bottom: 1px solid #f0f0f0;
    }

    /* Header cell */
    .responsive-table tbody tr.table-row td.mobile-main:first-child {
        background: #137dc7 !important;
        color: #fff !important;
        font-weight: 600;
        border-radius: 10px 10px 0 0;
    }

    /* ===== Labels ===== */
    .responsive-table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #137dc7;
        width: 35%;
        flex-shrink: 0;
    }

    .responsive-table tbody tr.table-row td.mobile-main:first-child::before {
        color: #fff;
    }

    /* ===== Expanded state ===== */
    .responsive-table tbody tr.table-row.expanded td.mobile-hidden {
        display: flex !important;
    }

    .responsive-table tbody tr.table-row.expanded td {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }

    /* ===== Actions ===== */
    .responsive-table tbody td.mobile-actions {
        justify-content: center;
        border-bottom: none;
        border-radius: 0 0 10px 10px;
        gap: 15px;
    }

    /* ===== Disable desktop expand row ===== */
    .responsive-table tbody tr[data-expand-id],
    .expand-grid {
        display: none !important;
    }
}


/* Table Actions */
.table-actions {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
}

.table-actions a {
    color: #333 !important;
    font-size: 1.2rem !important;
    transition: color 0.3s !important;
}

.table-actions a:hover {
    color: #2da9f7 !important;
}

/* Add Button */
.add-btn {
    background-color: #2da9f7 !important;
    color: white !important;
    font-weight: 600 !important;
    border-radius: 5px !important;
    padding: 10px 20px !important;
    text-decoration: none !important;
    transition: background 0.3s !important;
}

.add-btn:hover {
    background-color: #1a8cd8 !important;
}

.lock-icon {
    cursor: not-allowed;
    color: #fa8b0c;
}

/* Excel Icons */
.excel-icons-group {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-left: 15px;
}

.excel-icon {
    width: 32px;
    height: 50px;
    cursor: pointer;
    transition: transform 0.2s;
}

.excel-icon:hover {
    transform: scale(1.1);
}

/* Pagination */
.pagination-container {
    display: flex;
    justify-content: center;
    gap: 5px;
    padding: 20px 0;
    flex-wrap: wrap;
}

.pagination-btn, .pagination-page {
    background-color: #2da9f7 !important;
    color: white !important;
    border: none !important;
    padding: 8px 12px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    min-width: 40px;
}

.pagination-btn:hover:not(:disabled) {
    background-color: #1a8cd8 !important;
}

.pagination-btn:disabled {
    background-color: #ccc !important;
    cursor: not-allowed !important;
}

.pagination-page.active {
    background-color: #0d5a9e !important;
}

.pagination-dots {
    color: #666;
    padding: 8px 5px;
    font-weight: 600;
}

th[data-sort] {
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}

th[data-sort]::after {
    content: '⇅';
    position: absolute;
    margin-right: 15px;
    opacity: 0.6;
    font-size: 12px;
}

th[data-sort][data-asc="true"]::after {
    content: '▲';
    opacity: 1;
}

th[data-sort][data-asc="false"]::after {
    content: '▼';
    opacity: 1;
}


/* MOBILE ONLY */
@media (max-width: 768px) {

    .responsive-table td.mobile-main {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 12px;
        gap: 12px;
        text-align: center;
    }

    .responsive-table td.mobile-main::before {
        content: attr(data-label);
        font-weight: 600;
        color: #1e88e5;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .responsive-table td.mobile-main {
        font-size: 14px;
    }

    /* actions alignment */
    .responsive-table td.mobile-actions {
        display: flex;
        justify-content: flex-end;
    }
}
