.video-stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  background: #020617;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.video-stage video,
.video-stage iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: contain;
  -webkit-user-drag: none;
}

.video-watermark {
  position: absolute;
  top: 12%;
  left: 4%;
  z-index: 2;
  color: rgba(255, 255, 255, .36);
  font-size: 9px;
  pointer-events: none;
  text-shadow: 0 1px 4px #000;
  transform: rotate(-8deg);
}

.video-upload-box {
  padding: 14px !important;
  border: 2px dashed #99f6e4 !important;
  border-radius: 12px;
  background: #f0fdfa;
}

.video-upload-box b { color: #0f766e; font-size: 11px; }
.video-upload-box input { background: #fff; }
.video-upload-box small { margin-top: 6px; color: var(--muted); font-size: 8px; }

.upload-progress {
  position: relative;
  overflow: hidden;
  height: 22px;
  border-radius: 12px;
  background: #e2e8f0;
}

.upload-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--teal), #5eead4);
  transition: width .2s;
}

.upload-progress span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 8px;
  font-weight: 700;
}

.upload-divider { display: flex; align-items: center; gap: 9px; color: #94a3b8; font-size: 8px; }
.upload-divider::before,
.upload-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.identity-grid { display: grid; grid-template-columns: minmax(250px, .7fr) 1.3fr; gap: 18px; align-items: start; }
.identity-grid > div { display: grid; gap: 18px; }
.academy-share-card { margin-bottom:18px; display:grid; gap:16px; border:1px solid #99f6e4; background:linear-gradient(135deg,#f0fdfa,#fff); }
.academy-share-heading { display:flex; align-items:center; gap:12px; }
.academy-share-heading h2,.academy-share-heading p { margin:0; }
.academy-share-heading p { margin-top:4px; color:var(--muted); }
.academy-share-icon { width:42px; height:42px; display:grid; place-items:center; flex:none; border-radius:13px; background:#ccfbf1; color:#0f766e; font-size:20px; font-weight:900; }
.academy-link-box { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; }
.academy-link-box input { min-width:0; text-align:left; direction:ltr; color:#0f172a; font-weight:700; background:#fff; }
.academy-preview { min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: linear-gradient(145deg, #111827, #0f766e); color: #fff; }
.academy-preview.blue { background: linear-gradient(145deg, #111827, #1d4ed8); }
.academy-preview.amber { background: linear-gradient(145deg, #111827, #b45309); }
.academy-preview.violet { background: linear-gradient(145deg, #111827, #6d28d9); }
.academy-preview img { width: 92px; height: 92px; padding: 8px; object-fit: contain; border-radius: 24px; background: #fff; box-shadow: 0 16px 34px #0004; }
.academy-preview small { margin-top: 18px; opacity: .75; }
.academy-preview h2 { margin: 5px 0; }
.academy-preview p { max-width: 320px; opacity: .85; }
.academy-preview span { font-weight: 700; }
.academy-preview em { margin-top: 32px; font-size: 9px; opacity: .58; font-style: normal; }
.logo-form { display: flex; gap: 12px; align-items: end; }
.logo-form > label { flex: 1; }
.identity-bottom { margin-top: 18px; }
.muted-copy { color: var(--muted); }
.domain-row,.domain-admin-row { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 13px 0; border-top: 1px solid var(--line); }
.domain-row div,.domain-admin-row > div:first-child { display: grid; gap: 3px; }
.domain-row small,.domain-admin-row small { direction: ltr; color: var(--muted); }
.plan-summary > strong { display: block; margin: 12px 0; font-size: 18px; }
.schedule-grid,.plan-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.schedule-card { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.schedule-card h3,.schedule-card p { margin: 3px 0; }
.schedule-card small,.schedule-card em { color: var(--muted); font-style: normal; }
.attendance-list { display: grid; gap: 16px; }
.attendance-card > header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.attendance-card header h3,.attendance-card header p { margin: 3px 0; }
.attendance-card header p,.attendance-card header small { color: var(--muted); }
.attendance-student { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.attendance-student:last-child { border-bottom: 0; }
.attendance-student > div:first-child { display: flex; align-items: center; gap: 9px; }
.attendance-student > div:first-child span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #ccfbf1; color: #0f766e; font-weight: 800; }
.attendance-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.attendance-actions button { border: 1px solid var(--line); background: #fff; border-radius: 20px; padding: 6px 10px; cursor: pointer; }
.attendance-actions button.selected { border-color: var(--teal); background: #ccfbf1; color: #0f766e; font-weight: 800; }
.plan-admin-card { display: grid; gap: 14px; }
.academy-mini-brand { display: flex; align-items: center; gap: 12px; }
.academy-mini-brand img { width: 50px; height: 50px; object-fit: contain; border-radius: 13px; border: 1px solid var(--line); padding: 5px; }
.academy-mini-brand h3 { margin: 0 0 3px; }
.academy-mini-brand small,.plan-admin-card p { color: var(--muted); }
.plan-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border-radius: 12px; background: #f8fafc; }
.row-actions { display: flex; gap: 7px; }
.notification-bell { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px !important; color: #334155; line-height: 1; transition: .2s ease; }
.notification-bell svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.notification-bell:hover,.notification-bell.has-unread { border-color: #99f6e4 !important; background: #f0fdfa !important; color: #0f766e !important; transform: translateY(-1px); }
.notification-bell.has-unread svg { animation: bell-ring 2.4s ease-in-out infinite; transform-origin: 50% 10%; }
.notification-bell i { position: absolute; top: -7px; right: -8px; left: auto; min-width: 22px; height: 22px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #fff; border-radius: 12px; background: #e11d48; color: #fff; box-shadow: 0 4px 12px rgba(225,29,72,.28); font-size: 9px; font-style: normal; font-weight: 900; }
@keyframes bell-ring { 0%,88%,100%{transform:rotate(0)} 91%{transform:rotate(10deg)} 94%{transform:rotate(-9deg)} 97%{transform:rotate(6deg)} }
.avatar-button { padding: 0 !important; border: 0 !important; background: transparent !important; }
.user-avatar,.person-avatar,.table-avatar,.profile-avatar { overflow: hidden; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: #ccfbf1; color: #0f766e; font-weight: 800; }
.user-avatar img,.person-avatar img,.table-avatar img,.profile-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.person-avatar { width: 34px; height: 34px; font-size: 9px; }
.table-avatar { width: 30px; height: 30px; font-size: 8px; }
.profile-avatar { width: 92px; height: 92px; border: 4px solid #fff; box-shadow: 0 0 0 2px #99f6e4,0 12px 30px rgba(15,118,110,.16); font-size: 22px; }
.notifications-hero { display: flex; align-items: center; gap: 14px; padding: 3px 0 17px; }
.notifications-hero-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(145deg,#0f766e,#14b8a6); color: #fff; box-shadow: 0 10px 25px rgba(20,184,166,.25); }
.notifications-hero-icon svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.notifications-hero h2,.notifications-hero p { margin: 0; }
.notifications-hero h2 { font-size: 20px; }
.notifications-hero p { margin-top: 4px; color: var(--muted); }
.notifications-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; margin: 0 -4px 8px; border-radius: 11px; background: #f8fafc; color: #64748b; font-size: 9px; }
.notifications-toolbar button,.resend-code { border: 0; background: transparent; color: #0f766e; font-weight: 800; cursor: pointer; }
.notifications-list { display: grid; gap: 7px; max-height: 61vh; padding: 3px; overflow: auto; }
.notification-item { position: relative; width: 100%; display: grid; grid-template-columns: 44px 1fr 8px; align-items: start; gap: 12px; padding: 14px; border: 1px solid #e8edf3; border-radius: 13px; background: #fff; text-align: right; cursor: pointer; transition: .18s ease; }
.notification-item:hover { border-color: #99f6e4; box-shadow: 0 7px 20px rgba(15,23,42,.06); transform: translateY(-1px); }
.notification-item.unread { border-color: #99f6e4; background: linear-gradient(90deg,#fff,#f0fdfa); }
.notification-type-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #ccfbf1; color: #0f766e; font-size: 17px; font-weight: 900; }
.notification-item.payment .notification-type-icon { background:#fff7ed;color:#c2410c; }
.notification-item.exam .notification-type-icon { background:#eef2ff;color:#4f46e5; }
.notification-item.security .notification-type-icon { background:#eff6ff;color:#2563eb; }
.notification-item.admin .notification-type-icon { background:#f3e8ff;color:#7e22ce; }
.notification-item b,.notification-item p,.notification-item small { display: block; }
.notification-item p { margin: 5px 0 7px; color: #475569; line-height: 1.65; }
.notification-item small { color: #94a3b8; }
.notification-item-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.notification-item-head em { padding:3px 7px; border-radius:20px; background:#f1f5f9; color:#64748b; font-size:7px; font-style:normal; white-space:nowrap; }
.unread-dot { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: #e11d48; box-shadow: 0 0 0 4px #ffe4e6; }
.mobile-logout { display:none; }
.account-actions { display:flex; flex-wrap:wrap; gap:5px; min-width:225px; }
.account-actions button { border:1px solid #dbe3ec; border-radius:7px; padding:6px 8px; background:#fff; color:#334155; font-size:7px; font-weight:800; cursor:pointer; }
.account-actions button:hover:not(:disabled) { border-color:#5eead4; background:#f0fdfa; color:#0f766e; }
.account-actions button:disabled { opacity:.38; cursor:default; }
.account-actions .suspend-user { color:#b45309; }
.account-actions .delete-user { border-color:#fecaca; color:#be123c; background:#fff7f7; }
.account-actions .delete-user:hover { border-color:#ef4444; background:#fff1f2; color:#991b1b; }
.protected-admin { color:#64748b; white-space:nowrap; }
.verified-email { display:block; margin-top:3px; color:#047857; font-size:7px; }
.accounts-table .table-user > div { display:grid; gap:2px; }
.accounts-table .table-user small { color:#64748b; font-size:7px; }
.teacher-applications { margin-top:18px; }
.admin-rights-note { border-color:#fed7aa; background:#fff7ed; }
.admin-rights-note > span { background:#ea580c; }
.otp-field input { direction: ltr; text-align: center; font-size: 28px; font-weight: 900; letter-spacing: 9px; }
.resend-code { display: block; margin: 15px auto 0; }
.security-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.security-card { position: relative; display: grid; gap: 10px; }
.security-card h2,.security-card p { margin: 0; }
.security-card p,.security-card li { color: var(--muted); }
.security-card form { margin-top: 9px; }
.security-symbol { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: #ccfbf1; color: #0f766e; font-size: 20px; font-weight: 900; }
.verification-line { display: grid; gap: 3px; padding: 12px; border-radius: 12px; }
.verification-line.verified { background: #ecfdf5; color: #047857; }
.verification-line.pending { background: #fff7ed; color: #b45309; }
.verification-line small { color: inherit; opacity: .8; }
.device-count { font-size: 34px; color: #0f766e; direction: ltr; justify-self: start; }
.mail-state { color: #64748b; }
.sound-note { display: block; padding: 10px 12px; border-radius: 10px; background: #eff6ff; color: #1d4ed8 !important; line-height: 1.7; }
.rights-note { display: grid; grid-template-columns: auto 1fr; gap: 13px; margin-bottom: 17px; padding: 16px; border: 1px solid #99f6e4; border-radius: 14px; background: #f0fdfa; }
.rights-note > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #14b8a6; color: #fff; }
.rights-note b,.rights-note p { display: block; margin: 0; }
.rights-note p { margin-top: 4px; color: #475569; }
.protected-students { display: block; margin-bottom: 12px; color: #0f766e; font-weight: 700; }
.archived-course { opacity: .82; border: 1px dashed #94a3b8; }
.btn-danger { border: 1px solid #fecaca !important; background: #fff1f2 !important; color: #be123c !important; }
.content-builder-banner { display:grid; grid-template-columns:1.35fr .65fr; gap:22px; align-items:center; margin-bottom:18px; padding:24px; border-radius:20px; background:linear-gradient(135deg,#111827,#0f3d3a); color:#fff; overflow:hidden; }
.content-builder-banner span { color:#5eead4; font-weight:800; }
.content-builder-banner h2 { margin:7px 0; font-size:24px; }
.content-builder-banner p { margin:0; max-width:680px; color:#cbd5e1; line-height:1.8; }
.builder-types { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.builder-types b { padding:13px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.08); text-align:center; }
.course-content-stats { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }
.course-content-stats span { padding:6px 9px; border-radius:20px; background:#f1f5f9; color:#475569; font-size:8px; font-weight:800; }
.content-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0 28px; }
.content-summary article { display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; padding:15px; border:1px solid #e5e7eb; border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.content-summary article > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:#ccfbf1; color:#0f766e; font-size:17px; font-weight:900; }
.content-summary b,.content-summary small { display:block; }
.content-summary small { color:#0f766e; font-size:18px; font-weight:900; }
.content-actions { display:flex; gap:8px; flex-wrap:wrap; }
.content-folder > header > div { display:flex; align-items:center; gap:11px; }
.folder-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#ecfeff; color:#0f766e; font-size:18px; }
.lesson-kind.kind-document,.lesson-kind.kind-assignment { background:#fff7ed; color:#c2410c; }
.lesson-kind.kind-text,.lesson-kind.kind-link { background:#eff6ff; color:#2563eb; }
.lesson-kind.kind-quiz { background:#eef2ff; color:#4f46e5; }
.content-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0; }
.document-upload-box { border-color:#93c5fd; background:#eff6ff; }
.upload-kind { width:38px; height:38px; display:grid; place-items:center; margin:0 auto 8px; border-radius:12px; background:#fff; color:#0f766e; font-size:18px; box-shadow:0 5px 15px rgba(15,23,42,.07); }
.content-viewer { display:grid; gap:15px; }
.content-viewer-head > span { display:inline-flex; padding:5px 9px; border-radius:20px; background:#ecfdf5; color:#047857; font-size:8px; font-weight:900; }
.content-viewer-head h2 { margin:8px 0 4px; }
.content-viewer-head p { margin:0; color:#64748b; }
.content-screen { min-height:190px; background:linear-gradient(135deg,#f8fafc,#eef2ff); color:#334155; }
.content-screen span { font-size:44px; }
.lesson-text { padding:18px; border-right:4px solid #14b8a6; border-radius:12px; background:#f8fafc; color:#334155; line-height:2; }
.external-resource { display:flex; align-items:center; justify-content:center; min-height:46px; border:1px solid #99f6e4; border-radius:12px; background:#f0fdfa; color:#0f766e; font-weight:900; text-decoration:none; }
.resource-library { display:grid; gap:9px; }
.resource-library h3 { margin:0 0 3px; }
.resource-library button { width:100%; display:grid; grid-template-columns:42px 1fr auto; gap:11px; align-items:center; padding:12px; border:1px solid #e2e8f0; border-radius:12px; color:#0f172a; background:#fff; text-align:right; transition:.18s ease; }
.resource-library button:hover { border-color:#5eead4; background:#f0fdfa; transform:translateY(-1px); }
.resource-library button > span { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#fff7ed; color:#c2410c; font-size:18px; }
.resource-library b,.resource-library small { display:block; }
.resource-library small { margin-top:3px; color:#64748b; }
.resource-library i { color:#0f766e; font-style:normal; font-weight:800; }
.protected-document-viewer { display:grid; gap:14px; user-select:none; -webkit-user-select:none; }
.protected-document-head { display:flex; align-items:center; gap:12px; padding-inline-end:42px; }
.protected-document-head > span { width:44px; height:44px; flex:none; display:grid; place-items:center; border-radius:12px; background:#ccfbf1; color:#0f766e; font-size:20px; }
.protected-document-head h2,.protected-document-head p { margin:0; }
.protected-document-head p { color:#64748b; font-size:8px; }
.protected-document-alert { padding:10px 12px; border:1px solid #fde68a; border-radius:10px; background:#fffbeb; color:#92400e; font-size:8px; }
#protected-document-pages { min-height:360px; max-height:68vh; overflow:auto; display:grid; gap:14px; padding:12px; border-radius:14px; background:#1e293b; overscroll-behavior:contain; }
.document-loading { min-height:330px; display:grid; place-items:center; align-content:center; gap:12px; color:#fff; }
.document-loading i { width:36px; height:36px; border:4px solid #ffffff40; border-top-color:#5eead4; border-radius:50%; animation:document-spin .8s linear infinite; }
.protected-document-page,.protected-text-page { position:relative; width:100%; margin:auto; overflow:hidden; border-radius:5px; background:#fff; box-shadow:0 8px 30px #0005; }
.protected-document-page > canvas,.protected-document-page > img { display:block; width:100%; height:auto; pointer-events:none; }
.protected-document-page > small { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); color:#64748b; z-index:2; }
.protected-text-page { min-height:520px; padding:28px; }
.protected-text-page pre { margin:0; white-space:pre-wrap; font:inherit; line-height:2; }
.document-watermarks { position:absolute; inset:0; z-index:5; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr); pointer-events:none; overflow:hidden; }
.document-watermarks span { display:grid; place-items:center; color:rgba(15,118,110,.22); font-size:10px; font-weight:900; transform:rotate(-28deg); white-space:nowrap; }
.protected-format-note { min-height:330px; display:grid; place-items:center; align-content:center; gap:8px; padding:25px; text-align:center; color:#e2e8f0; }
.protected-format-note > span { width:52px; height:52px; display:grid; place-items:center; border-radius:14px; background:#334155; color:#5eead4; font-size:22px; }
.protected-format-note h3,.protected-format-note p { margin:0; }
.protected-format-note p { max-width:420px; color:#94a3b8; }
@keyframes document-spin { to { transform:rotate(360deg); } }
@media print { body.has-protected-document #app-root { display:none!important; } body.has-protected-document::after { content:"طباعة المستندات المحمية غير مسموحة"; display:grid; place-items:center; min-height:100vh; font-size:24px; font-weight:900; } }
.question-builder { display:grid; gap:14px; margin:16px 0; }
.question-editor { margin:0; padding:16px; border:1px solid #dbe3ec; border-radius:14px; background:#f8fafc; }
.question-editor legend { padding:0 8px; color:#0f766e; font-weight:900; }
.question-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.draft-publish-banner { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; padding:17px 19px; border:1px solid #fbbf24; border-radius:15px; background:linear-gradient(90deg,#fffbeb,#fff); box-shadow:0 8px 24px rgba(180,83,9,.08); }
.draft-publish-banner div { display:grid; gap:4px; }
.draft-publish-banner b { color:#92400e; font-size:14px; }
.draft-publish-banner span { color:#64748b; }
.draft-course { border:2px solid #fcd34d; }
.draft-note { margin:7px 0; padding:8px 10px; border-radius:9px; background:#fffbeb; color:#92400e; font-size:8px; font-weight:800; }
.btn-publish { border:0 !important; background:linear-gradient(135deg,#059669,#14b8a6) !important; color:#fff !important; box-shadow:0 8px 18px rgba(5,150,105,.22); }
.folder-actions,.content-order-actions { display:flex; align-items:center; gap:5px; }
.folder-actions button,.content-order-actions button,.empty-folder button { border:1px solid #dbe3ec; border-radius:8px; background:#fff; color:#0f766e; padding:6px 9px; font-size:8px; font-weight:900; cursor:pointer; }
.folder-actions button:hover:not(:disabled),.content-order-actions button:hover:not(:disabled),.empty-folder button:hover { border-color:#5eead4; background:#f0fdfa; }
.folder-actions button:disabled,.content-order-actions button:disabled { opacity:.32; cursor:default; }
.teacher-content-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:10px; padding:6px 9px !important; }
.content-open { min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding:7px; border:0; background:transparent; color:inherit; text-align:right; cursor:pointer; }
.content-open div { min-width:0; }
.content-open b,.content-open small { display:block; }
.content-open small { margin-top:3px; color:#64748b; }
.empty-folder { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; color:#94a3b8; background:#f8fafc; }
.content-item-actions { display:flex !important; flex:0 0 auto !important; flex-direction:row !important; align-items:center; gap:6px; }
.content-item-actions > button { border:1px solid #dbe3ec; border-radius:8px; padding:7px 9px; background:#fff; font-size:8px; font-weight:900; white-space:nowrap; }
.content-item-actions .edit-content-button { border-color:#99f6e4; background:#f0fdfa; color:#0f766e; }
.content-item-actions .delete-content-button { border-color:#fecaca; background:#fff1f2; color:#be123c; }
.btn-edit-course { border:1px solid #99f6e4; background:#ecfdf5; color:#0f766e; box-shadow:none; }
.course-price-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:10px 0; padding:10px 12px; border-radius:11px; background:#f0fdfa; }
.course-price-line small { color:#64748b; }
.course-price-line strong { color:#0f766e; font-size:18px; }
.course-price-line del { color:#94a3b8; font-size:10px; }
.edit-price-preview { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; border:1px solid #99f6e4; border-radius:12px; background:#f0fdfa; }
.edit-price-preview span { color:#475569; font-size:9px; }
.edit-price-preview b { color:#0f766e; font-size:18px; }
.current-content-box { display:grid; grid-template-columns:1fr; gap:5px; padding:13px; border:1px solid #dbe3ec; border-radius:12px; background:#f8fafc; }
.current-content-box b { color:#0f172a; }
.current-content-box span { color:#64748b; font-size:8px; }
.replace-upload-box { position:relative; }
.danger-check { padding:10px 12px; border-radius:10px; background:#fff7ed; color:#9a3412 !important; }
.receipt-upload-box { display:grid; grid-template-columns:auto 1fr; gap:4px 12px; align-items:center; margin:14px 0; padding:18px; border:2px dashed #5eead4; border-radius:15px; background:#f0fdfa; cursor:pointer; }
.receipt-upload-box .upload-kind { grid-row:1 / 4; display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#ccfbf1; color:#0f766e; font-size:22px; }
.receipt-upload-box input { grid-column:2; padding:8px; background:#fff; }
.receipt-upload-box small { color:#64748b; }
.manual-approval-note { margin:13px 0; padding:14px 16px; border-right:4px solid #f59e0b; border-radius:12px; background:#fffbeb; }
.manual-approval-note b { color:#92400e; }
.manual-approval-note p { margin:5px 0 0; color:#64748b; }
.coupon-create-panel { margin-bottom:18px; }
.coupon-form { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)) auto; gap:12px; align-items:end; }
.coupon-form label { min-width:0; }
.coupon-form button { min-height:44px; white-space:nowrap; }
.coupon-list,.payment-review-list { display:grid; gap:11px; }
.coupon-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid #99f6e4; border-radius:13px; background:#f0fdfa; }
.coupon-card.inactive { border-color:#e2e8f0; background:#f8fafc; opacity:.72; }
.coupon-card > div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.coupon-card code { padding:7px 10px; border-radius:8px; background:#0f172a; color:#fff; font-size:12px; font-weight:900; letter-spacing:.7px; }
.coupon-card small { flex-basis:100%; color:#64748b; }
.pending-payment-panel { margin:18px 0; }
.payment-review-card { padding:16px; border:1px solid #fed7aa; border-radius:14px; background:linear-gradient(135deg,#fff7ed,#fff); }
.payment-review-main,.payment-review-actions,.payment-review-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.payment-review-main h3 { margin:5px 0; }
.payment-review-main p { margin:0; color:#64748b; }
.payment-review-main strong { color:#0f766e; font-size:20px; white-space:nowrap; }
.payment-reference { color:#9a3412; font-family:monospace; font-weight:900; }
.payment-review-meta { justify-content:flex-start; flex-wrap:wrap; margin:12px 0; }
.payment-review-meta span { padding:6px 9px; border-radius:999px; background:#f8fafc; color:#475569; font-size:8px; font-weight:800; }
.payment-review-actions { justify-content:flex-start; flex-wrap:wrap; }
.payment-review-actions .accept,.payment-review-actions .reject { border:0; border-radius:10px; padding:10px 13px; font-weight:900; cursor:pointer; }
.payment-review-actions .accept { background:#059669; color:#fff; }
.payment-review-actions .reject { background:#fff1f2; color:#be123c; }
.payment-discount { display:block; margin-top:3px; color:#059669; }
.page-title.compact { margin-top:22px; margin-bottom:10px; }

@media (max-width: 800px) {
  .identity-grid,.schedule-grid,.plan-admin-grid,.security-grid,.content-builder-banner,.content-upload-grid { grid-template-columns: 1fr; }
  .academy-link-box { grid-template-columns:1fr 1fr; }
  .academy-link-box input { grid-column:1 / -1; }
  .content-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .logo-form,.attendance-student,.domain-admin-row { align-items: stretch; flex-direction: column; }
  .schedule-card { grid-template-columns: auto 1fr; }
  .schedule-card > .status { grid-column: 1 / -1; justify-self: start; }
  .app-sidebar { height:100dvh; overflow-y:auto; padding-bottom:14px; }
  .app-sidebar .sidebar-help { display:none; }
  .app-sidebar .logout { margin-top:auto; position:sticky; bottom:0; width:100%; border-radius:10px; background:#1e293b; color:#fff; }
  .mobile-logout { display:flex !important; width:auto !important; min-width:55px; height:36px !important; align-items:center; justify-content:center; gap:5px; padding:0 9px !important; border-radius:10px !important; color:#be123c; font-size:8px; font-weight:900; }
  .draft-publish-banner { align-items:stretch; flex-direction:column; }
  .draft-publish-banner .btn { width:100%; }
  .content-folder > header { align-items:flex-start; gap:10px; }
  .folder-actions { flex-wrap:wrap; justify-content:flex-end; }
  .notification-item { grid-template-columns:40px 1fr 8px; padding:12px 10px; }
  .notification-type-icon { width:38px; height:38px; }
  .teacher-content-row { grid-template-columns:1fr !important; }
  .content-item-actions { justify-content:flex-end; flex-wrap:wrap; padding:0 7px 7px; }
  .coupon-form { grid-template-columns:1fr 1fr; }
  .coupon-form button { grid-column:1 / -1; }
  .payment-review-main { align-items:flex-start; }
}

@media (max-width: 520px) {
  .app-header { padding:0 12px; }
  .app-header-actions { gap:8px; }
  .app-header-actions .avatar-button { display:none; }
  .notifications-toolbar { align-items:flex-start; flex-direction:column; }
  .notification-item-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .content-summary,.question-options { grid-template-columns:1fr; }
  .resource-library button { grid-template-columns:40px 1fr; }
  .resource-library button i { grid-column:2; }
  #protected-document-pages { max-height:72vh; padding:7px; }
  .content-item-actions { justify-content:flex-start; }
  .content-item-actions > button { flex:1; }
  .academy-link-box { grid-template-columns:1fr; }
  .academy-link-box input { grid-column:auto; }
  .academy-link-box .btn { width:100%; }
  .coupon-form { grid-template-columns:1fr; }
  .coupon-form button { grid-column:auto; }
  .coupon-card,.payment-review-main { align-items:stretch; flex-direction:column; }
  .coupon-card .btn,.payment-review-actions > * { width:100%; text-align:center; }
  .receipt-upload-box { grid-template-columns:1fr; }
  .receipt-upload-box .upload-kind { grid-row:auto; }
  .receipt-upload-box input { grid-column:auto; width:100%; }
}
