/* --- Container --- */
.ptbody {
    font-family: Arial, sans-serif !important;
    margin: 10px;
    direction: ltr;
}

/* --- Table --- */
.timetable {
    width: 100%;
    margin-top: 10px;
    border-collapse: collapse;
    text-align: center;
}

.timetable th,
.timetable td,
.timetable tr {
    text-align: center !important;
    vertical-align: middle;
}

.timetable th,
.timetable td {
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3); /* جلوه سه‌بعدی */
}

.timetable td {
    border: 1px solid #ccc;
    padding: 6px;
}

/* Hover row */
.timetable tbody tr:hover {
    background-color: rgba(19, 182, 194, 0.103);
    transition: 0.3s;
}

/* Head row */
.head-row {
    font-weight: bold;
    background: inherit;
}

/* Today highlight */
.today-row {
    background: #ffeeba;
    font-weight: bold;
}

/* --- Footer --- */
.footer {
    margin-top: 20px;
    text-align: center;
}

/* --- Button --- */
.btn {
    background: #92bd95;
    color: white;
    padding: 8px 12px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.btn:hover {
    background: #495f4b;
}

/* --- Loader --- */
#pageLoader {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(255, 255, 255, 0.8) !important;
    z-index: 999999 !important;
    display: flex;
    align-items: center !important;
    justify-content: center !important;
}

/* Spinner */
.spinner {
    width: 70px !important;
    height: 70px !important;
    border: 8px solid #f3f3f3 !important;
    border-top: 8px solid #afadad !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    animation: spin 1s linear infinite !important;
}

/* Rotation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
