/* ================= Accessibility ================= */
.edu-skip-link{
    position:absolute; top:-100px; inset-inline-start:10px; background:#0f172a; color:#fff;
    padding:10px 16px; border-radius:8px; z-index:9999; text-decoration:none; transition:top .2s ease;
}
.edu-skip-link:focus{ top:10px; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
    outline:3px solid var(--edu-secondary, #14b8a6); outline-offset:2px;
}

/* ================= Mobile First Base ================= */
* { box-sizing: border-box; }

.edu-notif-bell-wrap{ position:relative; }
.edu-notif-bell{ background:none; border:none; font-size:20px; cursor:pointer; position:relative; color:inherit; }
.edu-notif-count{
    position:absolute; top:-4px; inset-inline-end:-6px; background:#dc2626; color:#fff;
    font-size:10px; border-radius:999px; padding:1px 5px; font-weight:700;
}
.edu-notif-dropdown{
    display:none; position:absolute; top:120%; inset-inline-end:0; width:90vw; max-width:280px; max-height:340px; overflow-y:auto;
    background:#fff; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.15); z-index:50; padding:8px;
}
.edu-notif-dropdown.open{ display:block; }
.edu-notif-item{ display:block; padding:10px; border-radius:8px; text-decoration:none; color:#111827; }
.edu-notif-item.unread{ background:#eff6ff; }
.edu-notif-item small{ display:block; color:#9ca3af; font-size:11px; margin-top:2px; }
.edu-notif-empty{ padding:10px; color:#9ca3af; font-size:13px; }

.edu-dashboard-grid{
    display:grid; grid-template-columns:1fr; gap:16px;
}

.edu-register-form,
.edu-login-form,
.edu-contact-form{
    max-width:460px; margin:0 auto; padding:32px 28px;
}
.edu-register-form p,
.edu-login-form p,
.edu-contact-form p{ margin:0 0 18px; }
.edu-register-form label,
.edu-login-form label,
.edu-contact-form label{
    font-weight:600; font-size:13.5px; color:var(--edu-dark); display:block; margin-bottom:6px;
}
.edu-register-form input,
.edu-register-form select,
.edu-register-form textarea,
.edu-login-form input,
.edu-contact-form input,
.edu-contact-form textarea{
    width:100%; padding:12px 14px; border:1.5px solid #e2e8f0; border-radius:10px;
    font-family:'Tajawal',sans-serif; font-size:14.5px; color:var(--edu-dark);
    background:#f8fafc; transition:border-color .2s ease, background .2s ease;
}
.edu-register-form input:focus,
.edu-register-form select:focus,
.edu-register-form textarea:focus,
.edu-login-form input:focus,
.edu-contact-form input:focus,
.edu-contact-form textarea:focus{
    outline:none; border-color:var(--edu-primary); background:#fff;
}
.edu-register-form button[type="submit"],
.edu-login-form button[type="submit"],
.edu-contact-form button[type="submit"]{
    width:100%; justify-content:center; margin-top:6px; padding:13px;
}
.edu-form-errors{ background:#fef2f2; border:1px solid #fecaca; border-radius:10px; padding:12px 14px; margin-bottom:16px; }
.edu-form-errors p{ margin:0 !important; font-size:13.5px; }

/* ================= Tablet (>= 768px) ================= */
@media (min-width: 768px){
    .edu-dashboard-grid{ grid-template-columns:repeat(2, 1fr); }
}

/* ================= Desktop (>= 1024px) ================= */
@media (min-width: 1024px){
    .edu-dashboard-grid{ grid-template-columns:repeat(3, 1fr); }
}

/* صف الحصة اللايف في داشبورد المدرس (عنوان + فورم تعديل ميعاد + إلغاء) */
.edu-live-session-row{
    display:flex; flex-direction:column; gap:8px; padding:10px 0; border-bottom:1px solid #eee;
}
.edu-reschedule-inline-form{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
@media (min-width:700px){
    .edu-live-session-row{ flex-direction:row; align-items:center; justify-content:space-between; }
}
