/* ===== Responsive Table-to-Card System ===== */
/* Tables with .table-responsive-cards class transform to cards on mobile */

/* Desktop: normal table */
.table-responsive-cards {
    width: 100%;
    border-collapse: collapse;
}

.table-responsive-cards thead {
    background: #f9fafb;
}

.table-responsive-cards th {
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid #e5e7eb;
    text-align: left;
}

.table-responsive-cards td {
    padding: 0.875rem 1rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.875rem;
    color: #374151;
    vertical-align: middle;
}

.table-responsive-cards tbody tr {
    transition: background-color 0.15s;
}

.table-responsive-cards tbody tr:hover {
    background-color: #faf5ff;
}

/* Mobile: card layout */
@media (max-width: 768px) {
    .table-responsive-cards,
    .table-responsive-cards thead,
    .table-responsive-cards tbody,
    .table-responsive-cards th,
    .table-responsive-cards td,
    .table-responsive-cards tr {
        display: block;
    }

    .table-responsive-cards thead {
        /* Hide header row but keep accessible */
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .table-responsive-cards tbody tr {
        background: white;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        margin-bottom: 0.75rem;
        padding: 1rem;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    }

    .table-responsive-cards tbody tr:hover {
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    .table-responsive-cards td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5rem 0;
        border-bottom: 1px solid #f9fafb;
        text-align: right;
    }

    .table-responsive-cards td:last-child {
        border-bottom: none;
    }

    /* Use data-label attribute for card labels */
    .table-responsive-cards td::before {
        content: attr(data-label);
        font-weight: 600;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #6b7280;
        text-align: left;
        flex-shrink: 0;
        margin-right: 1rem;
    }

    /* First td in each row gets special "card title" treatment */
    .table-responsive-cards td:first-child {
        font-weight: 600;
        font-size: 1rem;
        color: #111827;
        padding-bottom: 0.75rem;
        margin-bottom: 0.25rem;
        border-bottom: 1px solid #e5e7eb;
    }

    .table-responsive-cards td:first-child::before {
        display: none; /* Hide label for the title cell */
    }

    /* Action buttons in cards */
    .table-responsive-cards td .btn-group,
    .table-responsive-cards td .action-buttons {
        display: flex;
        gap: 0.5rem;
        width: 100%;
        justify-content: flex-end;
    }

    /* Status badges in cards */
    .table-responsive-cards td .badge,
    .table-responsive-cards td .status-badge {
        font-size: 0.75rem;
    }
}

/* Card-only layout variant (always cards, not table) */
.card-list-responsive {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

@media (max-width: 640px) {
    .card-list-responsive {
        grid-template-columns: 1fr;
    }
}
