/* =====================================================================
   DS EduSync  |  استایل اختصاصی سامانه
   ---------------------------------------------------------------------
   این فایل دقیقاً همان استایلی است که قبلاً به‌صورت inline داخل
   index.html قرار داشت. ظاهر سایت هیچ تغییری نکرده است؛ فقط برای
   نظم بیشتر به یک فایل مستقل منتقل شده است.
   ===================================================================== */

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #52525b; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

@keyframes slideIn { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
.toast-slide { animation: slideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #18181b inset !important;
    -webkit-text-fill-color: white !important;
    transition: background-color 5000s ease-in-out 0s;
}

.glass-panel {
    background: rgba(24, 24, 27, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.hidden-page { display: none !important; }

.badge-pulse { animation: pulse 2s infinite; }
@keyframes pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.chat-unread {
    background: #ef4444;
    color: white;
    border-radius: 50%;
    padding: 0.1rem 0.5rem;
    font-size: 0.7rem;
    font-weight: bold;
    margin-right: 0.3rem;
}

.teacher-classes-toggle {
    cursor: pointer;
    user-select: none;
}
.teacher-classes-toggle:hover { color: #6366f1; }

.teacher-classes-list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.teacher-classes-list.open { max-height: 300px; }

.session-open {
    background: #10b98120;
    color: #10b981;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
}
.session-closed {
    background: #ef444420;
    color: #ef4444;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
}
.session-future {
    background: #f59e0b20;
    color: #f59e0b;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Loading animation */
.saving-indicator {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-top-color: #6366f1;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}

.dir-ltr { direction: ltr; }

/* نام کلاس در فهرست معلمان: با کلیک، دانش‌آموزانش باز می‌شود */
.class-chip { user-select: none; }
.class-chip:hover { box-shadow: inset 0 0 0 1px rgba(99, 102, 241, .45); }
.class-chip .fa-users { opacity: 0; transition: opacity .15s; }
.class-chip:hover .fa-users { opacity: 1; }
