@media (min-width: 1025px) {
    .st-status-table {
        table-layout: fixed;
    }

    .st-status-table th,
    .st-status-table td {
        vertical-align: top;
    }

    .st-status-table th:nth-child(1),
    .st-status-table td:nth-child(1) {
        width: 10%;
        min-width: 7em;
        white-space: nowrap;
    }

    .st-status-table th:nth-child(2),
    .st-status-table td:nth-child(2) {
        width: 9%;
        min-width: 5em;
        white-space: nowrap;
    }

    .st-status-table th:nth-child(3),
    .st-status-table td:nth-child(3) {
        width: 42%;
    }

    .st-status-table td:nth-child(3) a {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: top;
    }

    .st-status-table th:nth-child(4),
    .st-status-table td:nth-child(4) {
        width: 14%;
        white-space: nowrap;
    }

    .st-status-table th:nth-child(5),
    .st-status-table td:nth-child(5) {
        width: 7%;
        white-space: nowrap;
    }

    .st-status-table th:nth-child(6),
    .st-status-table td:nth-child(6) {
        width: 8%;
        white-space: nowrap;
    }

    .st-status-table th:nth-child(7),
    .st-status-table td:nth-child(7) {
        width: 10%;
        min-width: 6em;
    }
}

@media (max-width: 1024px) {
    .teacher-table-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .teacher-table-scroll table {
        min-width: 860px;
    }

    .teacher-table-scroll th,
    .teacher-table-scroll td {
        white-space: nowrap;
    }
}

@media (max-width: 1024px) and (min-width: 601px) {
    .st-status-table {
        table-layout: fixed;
    }

    .st-status-table th,
    .st-status-table td {
        word-break: break-word;
        vertical-align: top;
    }

    .st-status-table th:nth-child(1),
    .st-status-table td:nth-child(1) {
        width: 11%;
        min-width: 6em;
    }

    .st-status-table th:nth-child(2),
    .st-status-table td:nth-child(2) {
        width: 9%;
        min-width: 5em;
    }

    .st-status-table th:nth-child(3),
    .st-status-table td:nth-child(3) {
        width: 30%;
    }

    .st-status-table td:nth-child(3) a {
        word-break: break-all;
    }

    .st-status-table th:nth-child(4),
    .st-status-table td:nth-child(4) {
        width: 16%;
    }

    .st-status-table th:nth-child(5),
    .st-status-table td:nth-child(5) {
        width: 9%;
    }

    .st-status-table th:nth-child(6),
    .st-status-table td:nth-child(6) {
        width: 8%;
    }

    .st-status-table th:nth-child(7),
    .st-status-table td:nth-child(7) {
        width: 12%;
        min-width: 7em;
    }

    .st-status-table td:nth-child(7) .d-flex {
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    #student-dashboard .nav-tabs {
        flex-wrap: wrap;
        gap: 6px;
    }

    #student-dashboard .nav-tabs .nav-item {
        flex: 1 1 48%;
        text-align: center;
    }

    #student-dashboard .nav-tabs .nav-link {
        padding: 0.45rem 0.6rem;
        font-size: 0.95rem;
    }

    #student-dashboard .ts-schedule-grid {
        grid-template-columns: 1fr;
    }

    .st-status-table thead {
        display: none;
    }

    .st-status-table,
    .st-status-table tbody,
    .st-status-table tr,
    .st-status-table td {
        display: block;
        width: 100%;
    }

    .st-status-table tr {
        background: #fff;
        border: 1px solid #e5e5e5;
        border-radius: 10px;
        padding: 10px 12px;
        margin-bottom: 12px;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    }

    .st-status-table td {
        border: none;
        padding: 6px 0;
        display: flex;
        gap: 12px;
        align-items: flex-start;
    }

    .st-status-table td::before {
        content: attr(data-label);
        flex: 0 0 7.5em;
        font-weight: 600;
        color: #444;
    }

    .st-status-table td .cell-value {
        flex: 1 1 auto;
        min-width: 0;
    }

    .st-status-table td .cell-value a {
        word-break: break-all;
    }

    .st-status-table tbody td[colspan] {
        justify-content: center;
    }

    .st-status-table .status-actions .cell-value {
        display: flex;
        justify-content: flex-end;
    }
}

@media (max-width: 374px) {
    .st-status-table td::before {
        flex: 0 0 6em;
        font-size: 0.9rem;
    }
}
