/* students/assets/css/parent-report.css — بوابة ولي الأمر */

.parent-portal {
  --pr-radius: 18px;
  --pr-radius-sm: 12px;
}

/* =========================================
   Topbar
   ========================================= */
.pr-topbar {
  position: relative;
  z-index: 100;
  padding: 10px 0 6px;
  background: var(--page-bg);
}

.pr-topbar__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: linear-gradient(180deg, var(--card-bg-strong), var(--card-bg));
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  box-shadow: var(--shadow-strong);
  padding: 10px 14px;
}

.pr-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  font-weight: 1000;
  min-width: 0;
}

.pr-brand__logo {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  object-fit: contain;
  flex-shrink: 0;
}

.pr-brand__logoFallback {
  width: 38px;
  height: 38px;
  border-radius: 50% 50% 8px 8px / 42% 42% 8px 8px;
  background: linear-gradient(145deg, #4a1520, #8b2942);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.pr-brand__name {
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pr-topbar__student {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--surface-highlight);
  font-weight: 900;
  min-width: 0;
}

.pr-topbar__studentName {
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pr-topbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: var(--pr-radius-sm);
  font-weight: 900;
  font-family: inherit;
  font-size: 0.95em;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pr-btn:hover { transform: translateY(-1px); }

.pr-btn--solid {
  background: var(--btn-solid-bg, linear-gradient(145deg, #4a1520, #8b2942));
  color: var(--btn-solid-text, #fbf6ee);
}

.pr-btn--ghost {
  background: transparent;
  border: 2px solid var(--border);
  color: var(--text);
}

.pr-btn--download {
  background: linear-gradient(145deg, #157347, #22a066);
  color: #fff;
  border: none;
  box-shadow: 0 4px 14px rgba(21, 115, 71, 0.25);
}

.pr-btn--download:hover {
  box-shadow: 0 6px 18px rgba(21, 115, 71, 0.35);
}

.pr-btn--download:disabled {
  opacity: 0.7;
  cursor: wait;
  transform: none;
}

/* Theme switch في شريط التقرير */
.parent-report-page .pr-topbar .theme-switch--pro,
.parent-select-page .pr-topbar .theme-switch--pro,
.parent-portal .pr-topbar--auth .theme-switch--pro {
  flex-shrink: 0;
  min-width: 88px;
  position: relative;
  z-index: 20;
  isolation: isolate;
}

/* =========================================
   Light / Dark — وضوح النصوص
   ========================================= */
html[data-theme="light"] .parent-report-page,
html[data-theme="light"] .parent-select-page {
  --pr-text-main: #1a0e0a;
  --pr-text-soft: #5c4a3c;
  --pr-card-border: rgba(61, 18, 28, 0.14);
}

html[data-theme="dark"] .parent-report-page,
html[data-theme="dark"] .parent-select-page {
  --pr-text-main: #f5ebe0;
  --pr-text-soft: #cbb8a4;
  --pr-card-border: rgba(223, 196, 142, 0.22);
}

.parent-report-page .pr-quicknav__link,
.parent-select-page .pr-quicknav__link {
  color: var(--pr-text-main, var(--text-strong, var(--text)));
  background: var(--card-bg, #fff);
  border: 1px solid var(--pr-card-border, var(--border));
  font-weight: 900;
}

.parent-report-page .pr-btn--ghost,
.parent-select-page .pr-btn--ghost {
  color: var(--pr-text-main, var(--text-strong, var(--text)));
  border-color: var(--pr-card-border, var(--border));
  background: var(--card-bg, #fff);
}

.parent-report-page .pr-section__head h2,
.parent-report-page .pr-subsection__title {
  color: var(--pr-text-main, var(--text-strong, var(--text)));
}

.parent-report-page .pr-stat__lbl,
.parent-report-page .pr-profile-card__label,
.parent-report-page .pr-performance-card__label,
.parent-report-page .pr-course-card__progressHead,
.parent-report-page .pr-wallet-card__lbl,
.parent-report-page .pr-report-footer,
.parent-report-page .pr-report-footer__note {
  color: var(--pr-text-soft, var(--muted-strong, var(--muted)));
}

.parent-report-page .pr-stat__val,
.parent-report-page .pr-profile-card__val,
.parent-report-page .pr-performance-card__val,
.parent-report-page .pr-table td,
.parent-report-page .pr-insight p,
.parent-report-page .pr-timeline__body span,
.parent-report-page .pr-timeline__body time {
  color: var(--pr-text-main, var(--text));
}

.parent-report-page .pr-table th {
  color: var(--pr-text-main, var(--text-strong, var(--text)));
  background: var(--surface-highlight, rgba(0,0,0,.04));
}

.parent-report-page .pr-insight h3 {
  color: var(--pr-text-main, var(--text-strong, var(--text)));
}

html[data-theme="light"] .parent-report-page .pr-insight--info {
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.28);
}

html[data-theme="light"] .parent-report-page .pr-insight--warning {
  background: rgba(234, 179, 8, 0.1);
  border-color: rgba(234, 179, 8, 0.35);
}

html[data-theme="dark"] .parent-report-page .pr-empty {
  background: rgba(255, 255, 255, 0.03);
  color: var(--pr-text-soft);
}

html[data-theme="dark"] .parent-report-page .pr-topbar__student {
  color: var(--pr-text-main);
}

/* غلاف PDF — مخفي على الشاشة */
.pr-print-cover {
  display: none;
}

/* =========================================
   PDF Export
   ========================================= */
html.pr-pdf-busy {
  cursor: wait;
}

.pr-pdf-export {
  background: #fff !important;
  color: #1a0e0a !important;
  padding: 12px !important;
  width: 794px !important;
  max-width: 794px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.pr-pdf-export .pr-print-cover {
  display: block !important;
  background: linear-gradient(135deg, #3d121c, #6b2035) !important;
  border: 2px solid #8b2942 !important;
  border-radius: 16px !important;
  padding: 28px 24px !important;
  margin-bottom: 18px !important;
  color: #fbf6ee !important;
  page-break-after: avoid;
}

.pr-pdf-export .pr-print-cover h2 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 900;
  color: #fbf6ee !important;
}

.pr-pdf-export .pr-print-cover__badge {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid rgba(223, 196, 142, 0.45);
  margin-bottom: 12px;
  font-weight: 900;
  color: #fbf6ee !important;
}

.pr-pdf-export .pr-print-cover__student {
  font-size: 18px !important;
  font-weight: 900;
  margin: 12px 0 6px;
  color: #fbf6ee !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
}

.pr-pdf-export .pr-print-cover__meta,
.pr-pdf-export .pr-print-cover__date {
  color: rgba(243, 232, 216, 0.88) !important;
  margin: 4px 0;
}

.pr-pdf-export .pr-report-header,
.pr-pdf-export .pr-section,
.pr-pdf-export .pr-stat,
.pr-pdf-export .pr-performance-card,
.pr-pdf-export .pr-course-card,
.pr-pdf-export .pr-insight,
.pr-pdf-export .pr-profile-card,
.pr-pdf-export .pr-table-wrap,
.pr-pdf-export .pr-wallet-card,
.pr-pdf-export .pr-notif-item,
.pr-pdf-export .pr-timeline__body {
  break-inside: avoid;
  page-break-inside: avoid;
  box-shadow: none !important;
}

.pr-pdf-export .pr-report-header {
  background: linear-gradient(135deg, #3d121c, #6b2035) !important;
  color: #fbf6ee !important;
  border: 1px solid #8b2942 !important;
}

.pr-pdf-export .pr-report-header h1,
.pr-pdf-export .pr-report-header__sub,
.pr-pdf-export .pr-kpi__val,
.pr-pdf-export .pr-kpi__lbl,
.pr-pdf-export .pr-report-header__meta {
  color: #fbf6ee !important;
}

.pr-pdf-export .pr-report-header h1 {
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.pr-pdf-export .pr-report-header__sub {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.pr-pdf-export .pr-report-header__kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.pr-pdf-export .pr-kpi__val {
  font-size: 18px !important;
}

.pr-pdf-export .pr-kpi__lbl {
  font-size: 11px !important;
}

.pr-pdf-export .pr-kpi {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(223, 196, 142, 0.3) !important;
}

.pr-pdf-export .pr-section__head h2,
.pr-pdf-export .pr-stat__val,
.pr-pdf-export .pr-profile-card__val,
.pr-pdf-export .pr-table td,
.pr-pdf-export .pr-table th,
.pr-pdf-export .pr-insight h3,
.pr-pdf-export .pr-insight p,
.pr-pdf-export .pr-performance-card__val {
  color: #1a0e0a !important;
}

.pr-pdf-export .pr-stat__lbl,
.pr-pdf-export .pr-profile-card__label,
.pr-pdf-export .pr-performance-card__label,
.pr-pdf-export .pr-performance-card__detail {
  color: #5c4a3c !important;
}

.pr-pdf-export .pr-report-footer,
.pr-pdf-export .pr-report-footer p,
.pr-pdf-export .pr-timeline__body strong,
.pr-pdf-export .pr-timeline__body span,
.pr-pdf-export .pr-timeline__body time,
.pr-pdf-export .pr-course-item__name,
.pr-pdf-export .pr-assess-card__title,
.pr-pdf-export .pr-notif-item__title {
  color: #1a0e0a !important;
}

.pr-pdf-export .pr-report-footer__note,
.pr-pdf-export .pr-stat__lbl,
.pr-pdf-export .pr-empty {
  color: #5c4a3c !important;
}

.pr-pdf-export .pr-section,
.pr-pdf-export .pr-stat,
.pr-pdf-export .pr-profile-card,
.pr-pdf-export .pr-insight,
.pr-pdf-export .pr-performance-card,
.pr-pdf-export .pr-course-card,
.pr-pdf-export .pr-assess-card,
.pr-pdf-export .pr-course-item,
.pr-pdf-export .pr-wallet-card,
.pr-pdf-export .pr-notif-item {
  background: #fffdf9 !important;
  border: 1px solid rgba(61, 18, 28, 0.12) !important;
}

.pr-pdf-export .pr-report-footer {
  border-top: 1px solid rgba(61, 18, 28, 0.12);
  padding-top: 16px;
  margin-top: 20px;
  text-align: center;
}

.pr-pdf-export .pr-section {
  margin-bottom: 16px !important;
}

.pr-pdf-export .pr-table th {
  background: #f3e8d8 !important;
}

/* =========================================
   Page layout
   ========================================= */
.pr-page {
  padding: 16px 0 48px;
}

.pr-hero {
  background: linear-gradient(135deg, var(--brand-900, #3d121c), var(--brand-700, #6b2035));
  border: 1px solid var(--gold-border, rgba(223, 196, 142, 0.35));
  border-radius: var(--pr-radius);
  padding: 28px 24px;
  color: #fbf6ee;
  box-shadow: var(--shadow-strong);
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}

.pr-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.06), transparent 45%);
  pointer-events: none;
}

.pr-hero > * { position: relative; z-index: 1; }

.pr-hero h1 {
  margin: 0;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 1000;
}

.pr-hero__sub {
  margin: 10px 0 0;
  color: rgba(243, 232, 216, 0.85);
  font-weight: 700;
  line-height: 1.8;
}

.pr-hero--compact {
  padding: 22px 20px;
}

/* Report header */
.pr-report-header {
  background: linear-gradient(135deg, var(--brand-900, #3d121c), var(--brand-700, #6b2035));
  border: 1px solid var(--gold-border, rgba(223, 196, 142, 0.35));
  border-radius: var(--pr-radius);
  padding: 28px 24px;
  color: #fbf6ee;
  box-shadow: var(--shadow-strong);
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}

.pr-report-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.06), transparent 45%);
  pointer-events: none;
}

.pr-report-header > * { position: relative; z-index: 1; }

.pr-report-header__badge {
  display: inline-flex;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(223, 196, 142, 0.18);
  border: 1px solid rgba(223, 196, 142, 0.35);
  font-weight: 900;
  font-size: 0.88em;
  margin-bottom: 12px;
  color: #fbf6ee;
}

.pr-report-header h1 {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 1000;
  color: #fbf6ee;
  line-height: 1.35;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pr-report-header__sub {
  margin: 10px 0 0;
  color: rgba(243, 232, 216, 0.85);
  font-weight: 700;
  line-height: 1.8;
}

.pr-report-header__meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 14px;
  font-size: 0.9em;
  font-weight: 800;
  color: rgba(243, 232, 216, 0.72);
}

.pr-report-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.pr-report-header__top .pr-report-header__badge {
  margin-bottom: 0;
}

.pr-report-header .pr-level-badge {
  color: #fbf6ee;
}

.pr-report-header h1 {
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
}

.pr-report-header__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.pr-kpi {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(223, 196, 142, 0.22);
  border-radius: var(--pr-radius-sm);
  padding: 14px;
  text-align: center;
}

.pr-kpi__val {
  display: block;
  font-size: 1.35rem;
  font-weight: 1000;
  color: #fbf6ee;
}

.pr-kpi__lbl {
  display: block;
  margin-top: 4px;
  font-size: 0.82em;
  font-weight: 800;
  color: rgba(243, 232, 216, 0.72);
}

.pr-level-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 1000;
  font-size: 0.92em;
  border: 1px solid rgba(223, 196, 142, 0.35);
  background: rgba(255, 255, 255, 0.1);
}

.pr-level-badge--excellent { background: rgba(34, 197, 94, 0.2); }
.pr-level-badge--great { background: rgba(59, 130, 246, 0.2); }
.pr-level-badge--good { background: rgba(234, 179, 8, 0.2); }
.pr-level-badge--needs { background: rgba(239, 68, 68, 0.15); }

/* Quick nav — مخفي (التنقل من الشريط الجانبي فقط) */
.pr-quicknav {
  display: none !important;
}

/* Tab panels — صفحة واحدة لكل قسم */
.pr-tab-panels {
  min-width: 0;
}

.pr-tab-panel {
  display: none;
  animation: prTabIn 0.22s ease;
}

.pr-tab-panel.is-active {
  display: block;
}

.pr-tab-panel[hidden]:not(.is-active) {
  display: none !important;
}

@keyframes prTabIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.pr-dashboard__main {
  min-width: 0;
}

/* Insights */
.pr-insights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pr-insight {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 18px;
  border-radius: var(--pr-radius);
  border: 1px solid var(--border);
  background: var(--card-bg);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.pr-insight__icon { font-size: 1.6rem; flex-shrink: 0; }

.pr-insight h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 1000;
  color: var(--text);
}

.pr-insight p {
  margin: 0;
  font-size: 0.9em;
  font-weight: 800;
  color: var(--muted);
  line-height: 1.75;
}

.pr-insight--success { border-color: rgba(34, 197, 94, 0.35); background: rgba(34, 197, 94, 0.06); }
.pr-insight--warning { border-color: rgba(234, 179, 8, 0.35); background: rgba(234, 179, 8, 0.06); }
.pr-insight--danger { border-color: rgba(239, 68, 68, 0.35); background: rgba(239, 68, 68, 0.06); }
.pr-insight--info { border-color: rgba(59, 130, 246, 0.25); background: rgba(59, 130, 246, 0.05); }

/* Profile grid */
.pr-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.pr-profile-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius-sm);
  padding: 14px 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.pr-profile-card__label {
  display: block;
  font-size: 0.82em;
  font-weight: 900;
  color: var(--muted);
  margin-bottom: 6px;
}

.pr-profile-card__val {
  display: block;
  font-size: 1.02em;
  font-weight: 1000;
  color: var(--text);
  word-break: break-word;
}

.pr-profile-card__val--ltr { direction: ltr; text-align: right; }
.pr-profile-card__val--accent { color: var(--brand-600, #8b2942); }

/* Pending tasks */
.pr-section--pending {
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: var(--pr-radius);
  padding: 18px;
  background: rgba(234, 179, 8, 0.04);
}

.pr-section__badge--warn {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.35);
  color: #a16207;
}

.pr-pending-list { display: grid; gap: 8px; }

.pr-pending-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius-sm);
  font-weight: 900;
}

.pr-pending-item__type {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--surface-highlight);
  font-size: 0.85em;
}

.pr-pending-item__name { flex: 1; min-width: 0; }
.pr-pending-item__status { font-size: 0.88em; color: var(--muted); }

.pr-performance-card__level {
  margin-top: 6px;
  font-weight: 1000;
  color: var(--brand-600, #8b2942);
}

.pr-bar--gold span {
  background: linear-gradient(90deg, #b8860b, #dfc48e);
}

.pr-stats-grid--compact {
  margin-top: 18px;
}

.pr-stats-grid--compact .pr-stat {
  padding: 12px;
}

.pr-stats-grid--compact .pr-stat__val {
  font-size: 1.1rem;
}

/* Course cards */
.pr-courses-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pr-course-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  padding: 18px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.pr-course-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}

.pr-course-card__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 1000;
}

.pr-course-card__badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--surface-highlight);
  font-size: 0.82em;
  font-weight: 900;
  white-space: nowrap;
}

.pr-course-card__progressHead {
  display: flex;
  justify-content: space-between;
  font-size: 0.88em;
  font-weight: 900;
  color: var(--muted);
  margin-bottom: 6px;
}

.pr-course-card__stats {
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pr-course-card__stats div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.88em;
  font-weight: 800;
}

.pr-course-card__stats dt { color: var(--muted); margin: 0; }
.pr-course-card__stats dd { margin: 0; font-weight: 1000; }

.pr-subsection { margin-top: 24px; }

.pr-subsection__title {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 1000;
  color: var(--text);
}

.pr-table--rich tbody tr.pr-table__row--submitted { background: rgba(34, 197, 94, 0.04); }
.pr-table--rich tbody tr.pr-table__row--available { background: rgba(59, 130, 246, 0.03); }
.pr-table--rich tbody tr.pr-table__row--in_progress { background: rgba(234, 179, 8, 0.04); }

.pr-att-summary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.pr-att-chip {
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--surface-highlight);
  border: 1px solid var(--border);
  font-weight: 1000;
  font-size: 0.9em;
}

.pr-att-chip.is-present { background: rgba(34, 197, 94, 0.1); color: #157347; }
.pr-att-chip.is-absent { background: rgba(239, 68, 68, 0.1); color: #b91c1c; }

/* Wallet */
.pr-wallet-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.pr-wallet-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius-sm);
  padding: 16px;
  text-align: center;
}

.pr-wallet-card__lbl {
  display: block;
  font-size: 0.85em;
  font-weight: 900;
  color: var(--muted);
}

.pr-wallet-card__val {
  display: block;
  margin-top: 8px;
  font-size: 1.4rem;
  font-weight: 1000;
  color: var(--brand-600, #8b2942);
}

.pr-wallet-card__val.is-green { color: #157347; }
.pr-wallet-card__val.is-red { color: #b91c1c; }

.pr-amount--credit { color: #157347; font-weight: 1000; }
.pr-amount--debit { color: #b91c1c; font-weight: 1000; }

/* Notifications */
.pr-notif-list { display: grid; gap: 10px; }

.pr-notif-item {
  padding: 14px 16px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius-sm);
}

.pr-notif-item.is-unread {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.04);
}

.pr-notif-item h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 1000;
}

.pr-notif-item p {
  margin: 0;
  font-size: 0.9em;
  font-weight: 800;
  color: var(--muted);
  line-height: 1.7;
}

.pr-notif-item time {
  display: block;
  margin-top: 8px;
  font-size: 0.82em;
  font-weight: 800;
  color: var(--muted);
}

/* Timeline */
.pr-timeline {
  position: relative;
  padding-right: 20px;
  border-right: 2px solid var(--border);
}

.pr-timeline__item {
  display: flex;
  gap: 14px;
  padding: 0 0 20px 0;
  position: relative;
}

.pr-timeline__item:last-child { padding-bottom: 0; }

.pr-timeline__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--card-bg);
  border: 2px solid var(--border);
  display: grid;
  place-items: center;
  font-size: 1rem;
  flex-shrink: 0;
  margin-right: -38px;
  position: relative;
  right: -20px;
}

.pr-timeline__body {
  flex: 1;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius-sm);
  padding: 12px 14px;
  margin-right: 24px;
}

.pr-timeline__body strong {
  display: block;
  font-weight: 1000;
  margin-bottom: 4px;
}

.pr-timeline__body span {
  display: block;
  font-size: 0.88em;
  font-weight: 800;
  color: var(--muted);
}

.pr-timeline__body time {
  display: block;
  margin-top: 6px;
  font-size: 0.82em;
  font-weight: 800;
  color: var(--muted);
}

/* Print cover */
.pr-print-cover {
  display: none;
}

.pr-report-footer__logo {
  font-weight: 1000;
  font-size: 1.1em;
  color: var(--text);
  margin-bottom: 6px;
}

/* =========================================
   Sections
   ========================================= */
.pr-section {
  margin-bottom: 28px;
}

.pr-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.pr-section__head h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 1000;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
}

.pr-section__badge {
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--surface-highlight);
  border: 1px solid var(--border);
  font-weight: 900;
  font-size: 0.88em;
  color: var(--text);
}

/* =========================================
   Performance cards
   ========================================= */
.pr-performance-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.pr-performance-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  padding: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.pr-performance-card--main {
  grid-column: span 1;
}

.pr-performance-card__label {
  font-weight: 900;
  color: var(--muted);
  font-size: 0.92em;
  margin-bottom: 10px;
}

.pr-performance-card__val {
  font-size: 2rem;
  font-weight: 1000;
  color: var(--brand-600, #8b2942);
  line-height: 1.1;
}

.pr-performance-card__detail {
  margin-top: 10px;
  font-size: 0.85em;
  font-weight: 800;
  color: var(--muted);
  line-height: 1.7;
}

/* Performance ring */
.pr-performance-ring {
  position: relative;
  width: 110px;
  height: 110px;
  margin: 0 auto 8px;
}

.pr-performance-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.pr-ring__bg {
  fill: none;
  stroke: var(--border);
  stroke-width: 10;
}

.pr-ring__fill {
  fill: none;
  stroke: var(--brand-600, #8b2942);
  stroke-width: 10;
  stroke-linecap: round;
  stroke-dasharray: 326.73;
  stroke-dashoffset: calc(326.73 - (326.73 * var(--pct, 0) / 100));
  transition: stroke-dashoffset 0.6s ease;
}

.pr-performance-ring__val {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  font-weight: 1000;
  color: var(--brand-600, #8b2942);
}

/* Progress bar */
.pr-bar {
  height: 8px;
  border-radius: 999px;
  background: var(--border);
  overflow: hidden;
  margin: 10px 0;
}

.pr-bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand-700, #6b2035), var(--brand-600, #8b2942));
  transition: width 0.5s ease;
}

.pr-bar--green span {
  background: linear-gradient(90deg, #157347, #22c55e);
}

/* =========================================
   Stats grid
   ========================================= */
.pr-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.pr-stat {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  padding: 16px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.pr-stat::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--surface-strong), transparent 40%);
  pointer-events: none;
}

.pr-stat > * { position: relative; z-index: 1; }

.pr-stat__ico {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
  color: var(--brand-600, #8b2942);
}

.pr-stat__val {
  font-size: 1.35rem;
  font-weight: 1000;
  color: var(--text);
}

.pr-stat__lbl {
  margin-top: 6px;
  font-size: 0.88em;
  font-weight: 800;
  color: var(--muted);
  line-height: 1.5;
}

/* =========================================
   Assessment cards
   ========================================= */
.pr-assess-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pr-assess-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  padding: 18px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.pr-assess-card--submitted {
  border-color: rgba(34, 197, 94, 0.35);
}

.pr-assess-card--available {
  border-color: rgba(59, 130, 246, 0.25);
}

.pr-assess-card--in_progress {
  border-color: rgba(234, 179, 8, 0.35);
}

.pr-assess-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.pr-assess-card__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 1000;
  color: var(--text);
}

.pr-status-badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--surface-highlight);
  font-size: 0.85em;
  font-weight: 900;
  white-space: nowrap;
}

.pr-assess-card__meta {
  margin: 14px 0 0;
  display: grid;
  gap: 8px;
}

.pr-assess-card__meta div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-weight: 800;
  font-size: 0.92em;
}

.pr-assess-card__meta dt {
  color: var(--muted);
  margin: 0;
}

.pr-assess-card__meta dd {
  margin: 0;
  color: var(--text);
  text-align: left;
}

.pr-score {
  color: var(--brand-600, #8b2942) !important;
  font-weight: 1000 !important;
}

/* =========================================
   Course list
   ========================================= */
.pr-course-list {
  display: grid;
  gap: 10px;
}

.pr-course-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px 16px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius-sm);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.pr-course-item__name {
  flex: 1;
  font-weight: 1000;
  min-width: 0;
}

.pr-course-item__badge {
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--surface-highlight);
  font-size: 0.85em;
  font-weight: 900;
}

.pr-course-item__date {
  font-size: 0.88em;
  font-weight: 800;
  color: var(--muted);
}

/* =========================================
   Tables
   ========================================= */
.pr-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  background: var(--card-bg);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.pr-table {
  width: 100%;
  border-collapse: collapse;
  font-weight: 800;
  font-size: 0.92em;
}

.pr-table th,
.pr-table td {
  padding: 12px 16px;
  text-align: right;
  border-bottom: 1px solid var(--border);
}

.pr-table th {
  background: var(--surface-highlight);
  font-weight: 1000;
  color: var(--text);
  white-space: nowrap;
}

.pr-table tbody tr:last-child td {
  border-bottom: none;
}

.pr-table tbody tr:hover {
  background: rgba(0, 0, 0, 0.02);
}

.pr-att-badge {
  display: inline-flex;
  padding: 4px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 0.88em;
}

.pr-att-badge.is-present {
  background: rgba(34, 197, 94, 0.12);
  color: #157347;
}

.pr-att-badge.is-absent {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}

/* =========================================
   Student selection
   ========================================= */
.pr-student-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.pr-student-card {
  cursor: pointer;
  display: block;
}

.pr-student-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pr-student-card__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 24px 18px;
  background: var(--card-bg);
  border: 2px solid var(--border);
  border-radius: var(--pr-radius);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  transition: border-color 0.2s ease, transform 0.15s ease, box-shadow 0.15s ease;
  position: relative;
}

.pr-student-card:hover .pr-student-card__inner {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.pr-student-card input:checked + .pr-student-card__inner {
  border-color: var(--brand-600, #8b2942);
  box-shadow: 0 0 0 3px rgba(139, 41, 66, 0.15);
}

.pr-student-card__avatar {
  font-size: 2rem;
}

.pr-student-card__name {
  font-size: 1.1rem;
  font-weight: 1000;
  color: var(--text);
}

.pr-student-card__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.88em;
  font-weight: 800;
  color: var(--muted);
}

.pr-student-card__check {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--border);
  display: grid;
  place-items: center;
  font-size: 0.85em;
  opacity: 0;
  background: var(--brand-600, #8b2942);
  color: #fff;
  transition: opacity 0.2s ease;
}

.pr-student-card input:checked + .pr-student-card__inner .pr-student-card__check {
  opacity: 1;
  border-color: var(--brand-600, #8b2942);
}

.pr-select-actions {
  margin-top: 24px;
  text-align: center;
}

.pr-select-actions .pr-btn {
  min-width: 240px;
  padding: 14px 28px;
  font-size: 1.05em;
}

/* =========================================
   Alerts & empty states
   ========================================= */
.pr-alert {
  padding: 14px 18px;
  border-radius: var(--pr-radius-sm);
  font-weight: 900;
  margin-bottom: 16px;
}

.pr-alert--error {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #b91c1c;
}

.pr-empty {
  padding: 24px;
  border: 1px dashed var(--border);
  border-radius: var(--pr-radius);
  text-align: center;
  color: var(--muted);
  font-weight: 900;
  line-height: 1.8;
  background: rgba(0, 0, 0, 0.02);
}

.pr-report-footer {
  margin-top: 36px;
  padding: 20px;
  text-align: center;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-weight: 800;
  line-height: 1.8;
}

.pr-report-footer__note {
  font-size: 0.9em;
  margin-top: 4px;
}

.pr-topbar--auth {
  padding-top: 12px;
}

.pr-topbar--auth + .auth-page {
  padding-top: 0;
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 1024px) {
  .pr-performance-grid,
  .pr-report-header__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pr-stats-grid,
  .pr-profile-grid,
  .pr-insights-grid,
  .pr-courses-grid,
  .pr-wallet-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .pr-topbar__bar {
    flex-direction: column;
    align-items: stretch;
  }
  .pr-topbar__actions {
    justify-content: center;
  }
  .pr-topbar__student {
    justify-content: center;
  }
  .pr-performance-grid,
  .pr-stats-grid,
  .pr-assess-grid,
  .pr-student-grid,
  .pr-report-header__kpis,
  .pr-profile-grid,
  .pr-insights-grid,
  .pr-courses-grid,
  .pr-wallet-summary {
    grid-template-columns: 1fr;
  }
  .pr-brand__name {
    display: none;
  }
  .pr-quicknav {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 12px;
  }
  .pr-quicknav__link { white-space: nowrap; flex-shrink: 0; }
}

/* =========================================
   Theme & contrast — overrides (final)
   ========================================= */
html[data-theme="light"] body.parent-portal {
  --text: #1a0e0a;
  --text-strong: #120904;
  --muted: #5c4a3c;
  --muted-strong: #4a3a2e;
  --border: rgba(61, 18, 28, 0.16);
  --border-strong: rgba(61, 18, 28, 0.28);
  --card-bg: #fffdf9;
  --card-bg-strong: #fff8f0;
  --page-bg: #f7f0e6;
  --surface-highlight: rgba(139, 41, 66, 0.06);
}

html[data-theme="dark"] body.parent-portal {
  --text: #f5ebe0;
  --text-strong: #fff8f0;
  --muted: #cbb8a4;
  --muted-strong: #dcc9b5;
}

body.parent-report-page .pr-brand,
body.parent-report-page .pr-brand__name,
body.parent-select-page .pr-brand,
body.parent-select-page .pr-brand__name,
body.parent-portal .pr-topbar__student,
body.parent-portal .pr-topbar__studentName {
  color: var(--text-strong);
}

body.parent-report-page .pr-quicknav__link,
body.parent-select-page .pr-quicknav__link {
  color: var(--text-strong) !important;
  background: var(--card-bg);
  border-color: var(--border-strong);
}

body.parent-report-page .pr-quicknav__link:hover,
body.parent-select-page .pr-quicknav__link:hover {
  color: var(--text-strong) !important;
  border-color: var(--brand-600, #8b2942);
}

body.parent-portal .pr-btn--ghost {
  color: var(--text-strong) !important;
  border-color: var(--border-strong);
  background: var(--card-bg);
}

body.parent-report-page .pr-section__head h2,
body.parent-report-page .pr-subsection__title,
body.parent-report-page .pr-insight h3,
body.parent-report-page .pr-stat__val,
body.parent-report-page .pr-profile-card__val,
body.parent-report-page .pr-performance-card__val,
body.parent-report-page .pr-course-item__name,
body.parent-report-page .pr-table td,
body.parent-report-page .pr-table th,
body.parent-report-page .pr-timeline__body strong {
  color: var(--text-strong);
}

body.parent-report-page .pr-stat__lbl,
body.parent-report-page .pr-profile-card__label,
body.parent-report-page .pr-insight p,
body.parent-report-page .pr-report-footer,
body.parent-report-page .pr-empty,
body.parent-report-page .pr-assess-card__meta dt,
body.parent-report-page .pr-course-card__stats dt {
  color: var(--muted-strong);
}

body.parent-report-page .pr-section,
body.parent-report-page .pr-stat,
body.parent-report-page .pr-profile-card,
body.parent-report-page .pr-insight,
body.parent-report-page .pr-performance-card,
body.parent-report-page .pr-course-card,
body.parent-report-page .pr-assess-card,
body.parent-report-page .pr-course-item {
  background: var(--card-bg);
  border-color: var(--border);
}

html[data-theme="dark"] body.parent-report-page .pr-table th {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-strong);
}

html[data-theme="light"] body.parent-report-page .pr-table th {
  background: #f3e8d8;
  color: #1a0e0a;
}

/* بطاقة التقرير الرئيسية — نص فاتح دائماً على الخلفية الداكنة */
body.parent-report-page .pr-report-header h1,
body.parent-report-page .pr-report-header__badge,
body.parent-report-page .pr-report-header .pr-level-badge,
body.parent-report-page .pr-report-header .pr-kpi__val {
  color: #fbf6ee !important;
}

body.parent-report-page .pr-report-header__sub,
body.parent-report-page .pr-report-header__meta,
body.parent-report-page .pr-report-header .pr-kpi__lbl {
  color: rgba(243, 232, 216, 0.88) !important;
}

/* =========================================
   Dashboard Pro Layout
   ========================================= */
.pr-dashboard {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.pr-dashboard__main {
  min-width: 0;
}

/* Sidebar */
.pr-sidebar {
  position: sticky;
  top: 12px;
  z-index: 60;
}

.pr-sidebar__card {
  background: linear-gradient(180deg, var(--card-bg-strong), var(--card-bg));
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  box-shadow: var(--shadow-strong);
  overflow: hidden;
}

.pr-sidebar__head {
  padding: 18px 16px 14px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(61, 18, 28, 0.06), transparent);
}

.pr-sidebar__kicker {
  display: block;
  font-size: 0.78em;
  font-weight: 900;
  color: var(--brand-600, #8b2942);
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}

.pr-sidebar__head strong {
  display: block;
  font-size: 1rem;
  font-weight: 1000;
  color: var(--text-strong);
  line-height: 1.4;
  word-break: break-word;
}

.pr-sidebar__grade {
  display: block;
  margin-top: 4px;
  font-size: 0.82em;
  font-weight: 800;
  color: var(--muted-strong);
}

.pr-sidebar__nav {
  display: grid;
  gap: 2px;
  padding: 8px;
}

.pr-sidebar__link {
  display: grid;
  grid-template-columns: 28px 22px 1fr;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration: none;
  color: var(--text-strong);
  font-weight: 800;
  font-size: 0.88em;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.pr-sidebar__link:hover {
  background: var(--surface-highlight);
}

.pr-sidebar__link.is-active {
  background: linear-gradient(135deg, rgba(139, 41, 66, 0.14), rgba(139, 41, 66, 0.06));
  color: var(--brand-600, #8b2942);
  box-shadow: inset 3px 0 0 var(--brand-600, #8b2942);
}

.pr-sidebar__num {
  font-size: 0.72em;
  font-weight: 1000;
  color: var(--muted);
  opacity: 0.75;
}

.pr-sidebar__link.is-active .pr-sidebar__num {
  color: var(--brand-600, #8b2942);
  opacity: 1;
}

.pr-sidebar__ico {
  display: grid;
  place-items: center;
  opacity: 0.85;
}

.pr-sidebar__foot {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--border);
  font-size: 0.78em;
  font-weight: 800;
  color: var(--muted-strong);
}

.pr-sidebar__foot time {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 0.95em;
}

/* Hero Pro */
.pr-hero-pro {
  background: linear-gradient(135deg, #3d121c 0%, #6b2035 55%, #4a1520 100%);
  border: 1px solid rgba(223, 196, 142, 0.35);
  border-radius: calc(var(--pr-radius) + 2px);
  padding: 24px;
  color: #fbf6ee;
  box-shadow: 0 12px 40px rgba(61, 18, 28, 0.22);
  margin-bottom: 18px;
  position: relative;
  overflow: hidden;
}

.pr-hero-pro::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 20%, rgba(223, 196, 142, 0.12), transparent 35%),
    radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.06), transparent 40%);
  pointer-events: none;
}

.pr-hero-pro > * { position: relative; z-index: 1; }

.pr-hero-pro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
}

.pr-hero-pro__identity {
  display: flex;
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.pr-hero-pro__avatar {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  font-weight: 1000;
  color: #fbf6ee;
  background: linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
  border: 2px solid rgba(223, 196, 142, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.pr-hero-pro__info { min-width: 0; }

.pr-hero-pro__eyebrow {
  display: block;
  font-size: 0.78em;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: rgba(243, 232, 216, 0.75);
  margin-bottom: 6px;
}

.pr-hero-pro h1 {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 1000;
  color: #fbf6ee !important;
  line-height: 1.35;
  word-break: break-word;
}

.pr-hero-pro__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.pr-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 0.78em;
  font-weight: 900;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(223, 196, 142, 0.28);
  color: #fbf6ee;
}

.pr-chip--gold {
  background: rgba(223, 196, 142, 0.14);
  border-color: rgba(223, 196, 142, 0.4);
}

.pr-hero-pro__score {
  text-align: center;
  flex-shrink: 0;
}

.pr-performance-ring--hero {
  width: 110px;
  height: 110px;
  margin: 0 auto;
}

.pr-hero-pro__level {
  margin-top: 10px;
  justify-content: center;
}

.pr-hero-pro__scoreHint {
  margin: 8px 0 0;
  font-size: 0.78em;
  font-weight: 800;
  color: rgba(243, 232, 216, 0.72);
}

.pr-hero-pro__metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(223, 196, 142, 0.2);
}

.pr-metric {
  text-align: center;
  padding: 12px 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(223, 196, 142, 0.18);
}

.pr-metric__val {
  display: block;
  font-size: 1.05rem;
  font-weight: 1000;
  color: #fbf6ee;
  line-height: 1.2;
}

.pr-metric__lbl {
  display: block;
  margin-top: 4px;
  font-size: 0.72em;
  font-weight: 800;
  color: rgba(243, 232, 216, 0.72);
  line-height: 1.4;
}

.pr-hero-pro__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-top: 16px;
  font-size: 0.82em;
  font-weight: 800;
  color: rgba(243, 232, 216, 0.78);
}

.pr-hero-pro__alert {
  color: #fcd34d !important;
}

/* Overview cards */
.pr-overview {
  margin-bottom: 18px;
}

.pr-overview__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.pr-overview-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border-radius: var(--pr-radius);
  background: var(--card-bg);
  border: 1px solid var(--border);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pr-overview-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
}

.pr-overview-card__ico {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: var(--surface-highlight);
  color: var(--brand-600, #8b2942);
}

.pr-overview-card--exam .pr-overview-card__ico { background: rgba(139, 41, 66, 0.1); }
.pr-overview-card--assign .pr-overview-card__ico { background: rgba(59, 130, 246, 0.1); }
.pr-overview-card--engage .pr-overview-card__ico { background: rgba(234, 179, 8, 0.12); }
.pr-overview-card--att .pr-overview-card__ico { background: rgba(34, 197, 94, 0.1); }

.pr-overview-card__val {
  display: block;
  font-size: 1.25rem;
  font-weight: 1000;
  color: var(--text-strong);
  line-height: 1.2;
}

.pr-overview-card__lbl {
  display: block;
  margin-top: 2px;
  font-size: 0.82em;
  font-weight: 900;
  color: var(--text-strong);
}

.pr-overview-card__sub {
  display: block;
  margin-top: 4px;
  font-size: 0.76em;
  font-weight: 800;
  color: var(--muted-strong);
}

/* Panels */
.pr-panel {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--pr-radius);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
  padding: 0;
  overflow: hidden;
  scroll-margin-top: 88px;
}

.pr-panel + .pr-panel,
.pr-overview + .pr-panel,
.pr-hero-pro + .pr-overview,
.pr-overview + .pr-section,
.pr-hero-pro + .pr-section {
  margin-top: 18px;
}

.pr-panel__head {
  padding: 18px 20px 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
  background: linear-gradient(180deg, var(--surface-highlight), transparent);
}

.pr-panel .pr-insights-grid,
.pr-panel .pr-profile-grid,
.pr-panel .pr-performance-grid,
.pr-panel .pr-stats-grid,
.pr-panel .pr-courses-grid,
.pr-panel .pr-pending-list,
.pr-panel .pr-table-wrap,
.pr-panel .pr-att-summary,
.pr-panel .pr-wallet-summary,
.pr-panel .pr-notif-list,
.pr-panel .pr-timeline,
.pr-panel .pr-empty,
.pr-panel .pr-subsection {
  padding: 16px 20px 20px;
}

.pr-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 14px;
}

.pr-section__head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 1.08rem;
  font-weight: 1000;
}

.pr-section__desc {
  flex: 1 1 100%;
  margin: 4px 0 0;
  font-size: 0.86em;
  font-weight: 700;
  color: var(--muted-strong);
  line-height: 1.6;
}

.pr-quicknav__link.is-active {
  background: linear-gradient(135deg, rgba(139, 41, 66, 0.12), rgba(139, 41, 66, 0.05));
  border-color: var(--brand-600, #8b2942);
  color: var(--brand-600, #8b2942) !important;
}

.pr-quicknav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pr-report-footer {
  margin-top: 24px;
  padding: 24px;
  text-align: center;
  border-radius: var(--pr-radius);
  background: linear-gradient(180deg, var(--card-bg), var(--surface-highlight));
  border: 1px solid var(--border);
}

.pr-report-footer__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.pr-report-footer__logo {
  font-size: 1.1rem;
  font-weight: 1000;
  color: var(--text-strong);
}

.pr-report-footer__tag {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.75em;
  font-weight: 900;
  background: rgba(139, 41, 66, 0.1);
  color: var(--brand-600, #8b2942);
  border: 1px solid rgba(139, 41, 66, 0.2);
}

/* Hero pro — always light text */
body.parent-report-page .pr-hero-pro h1,
body.parent-report-page .pr-hero-pro .pr-metric__val,
body.parent-report-page .pr-hero-pro .pr-chip,
body.parent-report-page .pr-hero-pro .pr-level-badge {
  color: #fbf6ee !important;
}

@media (max-width: 1100px) {
  .pr-dashboard {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pr-sidebar {
    position: static;
  }

  .pr-sidebar__card {
    border-radius: var(--pr-radius);
  }

  .pr-sidebar__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .pr-sidebar__link {
    grid-template-columns: 24px 18px 1fr;
    padding: 10px 8px;
    font-size: 0.82em;
  }

  .pr-hero-pro__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pr-overview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .pr-sidebar__nav {
    grid-template-columns: 1fr;
  }

  .pr-sidebar__head strong {
    font-size: 0.95rem;
  }

  .pr-hero-pro__grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .pr-hero-pro__identity {
    flex-direction: column;
  }

  .pr-hero-pro__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pr-overview__grid {
    grid-template-columns: 1fr;
  }

  .pr-performance-grid {
    grid-template-columns: 1fr !important;
  }
}

.pr-section.pr-panel {
  margin-bottom: 0;
}

/* فوتر المنصة في صفحة ولي الأمر */
.parent-report-page .ar-footer {
  margin-top: 8px;
}

.parent-report-page .pr-page {
  padding-bottom: 24px;
}

.pr-tab-panel .pr-section.pr-panel {
  margin-bottom: 0;
}

.pr-tab-panel .pr-hero-pro {
  margin-bottom: 14px;
}

.pr-tab-panel .pr-overview {
  margin-bottom: 14px;
}

.pr-tab-panel .pr-section.pr-panel + .pr-section.pr-panel,
.pr-tab-panel .pr-overview + .pr-section.pr-panel {
  margin-top: 14px;
}

@media print {
  .pr-topbar,
  .pr-btn,
  .pr-theme,
  .pr-quicknav,
  .pr-sidebar {
    display: none !important;
  }
  .pr-tab-panel {
    display: block !important;
  }
  .pr-tab-panel[hidden] {
    display: block !important;
  }
  .pr-page {
    padding: 0;
  }
  .pr-hero-pro,
  .pr-section,
  .pr-panel,
  .pr-stat,
  .pr-assess-card,
  .pr-performance-card,
  .pr-course-card {
    break-inside: avoid;
    box-shadow: none !important;
  }
}
