
    /* Container mimics hsk.html styling */
    .container {
        max-width: 100%;
        margin: auto;
        padding: 10px 20px;
    }

    /* Flash messages (optional, if you want to show messages here as well) */
    #flash-messages {
        margin-bottom: 15px;
    }

    /* A form style similar to “.checklist-form” in hsk.html */
    .checklist-form {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
        padding: 15px;
        background-color: #f9f9f9;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }
    .checklist-form label {
        font-weight: bold;
    }
    .checklist-form input[type="date"] {
        flex: 0 0 140px;
        height: 40px;
        font-size: 14px;
        text-align: center;
        border: 2px solid #007bff;
        border-radius: 8px;
        outline: none;
        cursor: pointer;
        padding: 2px 5px;
    }
    .checklist-form button {
        height: 40px;
        font-size: 16px;
        background: #007bff;
        color: #ffffff;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: 0.2s ease;
        padding: 0 20px;
    }
    .checklist-form button:hover {
        background: #0056b3;
    }

    /* Table container with similar look to hsk.html */
    .table-container {
        margin-top: 20px;
        background-color: #ffffff;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        padding: 15px;
    }
    .table-container h2 {
        margin-top: 0;
        margin-bottom: 10px;
    }

    /* Table styling, matching the hsk.html approach */
    .table {
        width: 100%;
        text-align: center;
        font-size: 14px;
        border-collapse: collapse;
    }
    .table th,
    .table td {
        padding: 8px;
        text-align: center;
        border: 1px solid #dee2e6;
    }
    .table thead tr {
        background-color: #f8f9fa;
    }

    /* Sorting button styling to match hsk “sort-btn” approach */
    .sort-btn {
        width: 100%;
        border: none;
        background: none;
        cursor: pointer;
        font-weight: bold;
        color: #3142f9;
    }

    /* Search filter area, similar to hsk.html “search-filter” */
    .search-filter {
        margin-top: 20px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 15px;
        background-color: #f9f9f9;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }
    .search-filter label {
        font-weight: bold;
    }
    .search-filter input {
        flex: 0 0 120px;
        height: 30px;
        border-radius: 5px;
        border: 1px solid #ccc;
        padding: 5px;
        outline: none;
    }
    .search-filter button {
        height: 40px;
        font-size: 16px;
        background: #007bff;
        color: #ffffff;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: 0.2s ease;
        padding: 0 20px;
    }
    .search-filter button:hover {
        background: #0056b3;
    }

    /* === Stats: tidy widths to match HSK page === */
    #start_date,
    #end_date {
    flex: 0 0 170px;   /* you can keep 140px if you prefer; 170px fits longer UIs well */
    max-width: 170px;
    }

    #room-filter {
    flex: 0 0 140px;
    max-width: 140px;
    }

    /* Keep the “Apply” button from shrinking */
    .checklist-form button {
    flex: 0 0 auto;
    }

    /* Make completed-rooms filter area inputs comfy on small screens */
    @media (max-width: 768px) {
    #start_date,
    #end_date { flex-basis: 150px; max-width: 150px; }
    #room-filter { flex-basis: 120px; max-width: 120px; }
    }
