:root {
 --primary-color: #0083B0;
 --secondary-color: #5D6D7E;
 --accent-color: #EBF5FB;
 --text-dark: #2C3E50;
 --text-muted: #7F8C8D;
 --bg-color: #F8F9FA;
 --card-bg: #FFFFFF;
 --card-shadow: 0 8px 24px rgba(0, 131, 176, 0.07);
 --card-shadow-hover: 0 12px 32px rgba(0, 180, 219, 0.12);
 --transition: all 0.22s cubic-bezier(0.25, 0.8, 0.25, 1);
 --font-sans: 'Cairo', 'Segoe UI', 'Tahoma', system-ui, sans-serif;
 --text-xs: 0.8125rem;
 --text-sm: 0.9375rem;
 --text-base: 1.0625rem;
 --text-md: 1.125rem;
 --text-lg: 1.2rem;
 --text-xl: 1.35rem;
 --text-2xl: 1.5rem;
 --leading: 1.65;
 --safe-top: env(safe-area-inset-top, 0px);
 --safe-bottom: env(safe-area-inset-bottom, 0px);
 --safe-left: env(safe-area-inset-left, 0px);
 --safe-right: env(safe-area-inset-right, 0px);
 /* ألوان كانفا للحدود الاحترافية */
 --canva-teal: #0f766e;
 --canva-teal-edge: #99f6e4;
 --canva-sky: #0369a1;
 --canva-sky-edge: #7dd3fc;
 --canva-amber: #b45309;
 --canva-amber-edge: #fcd34d;
 --canva-emerald: #047857;
 --canva-emerald-edge: #6ee7b7;
 --canva-coral: #c2410c;
 --canva-coral-edge: #fdba74;
 --canva-rose: #be123c;
 --canva-rose-edge: #fda4af;
 --canva-navy: #0c4a6e;
 --canva-navy-edge: #7dd3fc;
 --canva-gold: #c9a227;
 --canva-gold-edge: #f5e6a8;
}

html {
 font-size: 18px;
 -webkit-text-size-adjust: 100%;
 text-size-adjust: 100%;
 scroll-behavior: smooth;
}

@media (max-width: 768px) {
 html { font-size: 17px; }
}

body,
.app-body,
button,
input,
select,
textarea,
.form-control,
.form-select,
.btn,
.table,
.modal,
.dropdown-menu {
 font-family: var(--font-sans) !important;
}

body,
.app-body {
 font-size: var(--text-base);
 font-weight: 500;
 line-height: var(--leading);
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 font-feature-settings: 'kern' 1, 'liga' 1;
 background-color: var(--bg-color);
 color: var(--text-dark);
 margin: 0;
 padding: 0;
 padding-bottom: var(--safe-bottom);
 overflow-x: hidden;
 overscroll-behavior-y: contain;
 touch-action: manipulation;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
 font-family: var(--font-sans);
 font-weight: 700;
 line-height: 1.45;
 letter-spacing: -0.01em;
}

h1, .h1 { font-size: var(--text-2xl); }
h2, .h2 { font-size: var(--text-xl); }
h3, .h3 { font-size: var(--text-lg); }
h4, .h4 { font-size: var(--text-md); }
h5, .h5 { font-size: var(--text-base); }
h6, .h6 { font-size: var(--text-sm); }

.fw-bold { font-weight: 600 !important; }
.fw-bolder { font-weight: 700 !important; }

.small, small { font-size: var(--text-sm) !important; }

/* شريط علوي مضغوط */
.app-navbar {
 padding-top: calc(0.55rem + var(--safe-top));
 padding-bottom: 0.55rem;
}

.app-brand {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
 font-size: var(--text-base);
 font-weight: 700;
 color: var(--primary-color) !important;
 line-height: 1.3;
 max-width: min(72vw, 280px);
}

.app-brand-icon {
 font-size: 1rem;
 flex-shrink: 0;
}

.app-brand-short { display: none; }
.app-brand-full { display: inline; }

@media (max-width: 991px) {
 .app-brand-full { display: none; }
 .app-brand-short { display: inline; }
 .app-brand { max-width: 42vw; }
}

.app-main {
 padding-left: max(0.75rem, var(--safe-left));
 padding-right: max(0.75rem, var(--safe-right));
}

/* Header Styles */
.portal-header {
 background: linear-gradient(135deg, #0083B0 0%, #5D6D7E 100%);
 color: white;
 padding: 2.25rem 0 1.75rem;
 border-bottom-left-radius: 28px;
 border-bottom-right-radius: 28px;
 box-shadow: 0 8px 24px rgba(0, 131, 176, 0.18);
 position: relative;
 overflow: hidden;
 margin-bottom: 1.5rem;
}

.portal-header::before,
.portal-header::after {
 content: '';
 position: absolute;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.05);
}

.portal-header::before { width: 300px; height: 300px; top: -100px; right: -100px; }
.portal-header::after { width: 400px; height: 400px; bottom: -150px; left: -150px; }

.logo-container {
 display: inline-flex;
 justify-content: center;
 align-items: center;
 width: 52px;
 height: 52px;
 background-color: rgba(255, 255, 255, 0.15);
 border-radius: 50%;
 backdrop-filter: blur(5px);
 border: 2px solid rgba(255, 255, 255, 0.3);
}

.main-title {
 font-size: clamp(1.15rem, 3.8vw, 1.45rem);
 font-weight: 800;
 margin-bottom: 0.25rem;
 letter-spacing: -0.01em;
}

.sub-title {
 color: rgba(255, 255, 255, 0.88);
 font-weight: 400;
 font-size: var(--text-sm);
 line-height: 1.6;
 max-width: 36rem;
 margin-left: auto;
 margin-right: auto;
}

/* Form Styles */
.form-card {
 background: var(--card-bg);
 border-radius: 16px;
 padding: 1.25rem 1rem;
 box-shadow: var(--card-shadow);
 border: 1px solid rgba(0, 0, 0, 0.03);
}

.form-label {
 font-weight: 500;
 font-size: var(--text-sm);
 color: var(--secondary-color);
 margin-bottom: 0.3rem;
}

.form-control, .form-select {
 border-radius: 10px;
 padding: 0.6rem 0.8rem;
 font-size: var(--text-base);
 font-weight: 500;
 border: 1px solid #ced4da;
 transition: var(--transition);
}

.form-control:focus, .form-select:focus {
 border-color: var(--primary-color);
 box-shadow: 0 0 0 0.25rem rgba(0, 131, 176, 0.25);
}

.btn-primary-custom {
 background: linear-gradient(135deg, var(--primary-color) 0%, #00B4DB 100%);
 border: none;
 color: white;
 padding: 0.55rem 1.25rem;
 border-radius: 50px;
 font-weight: 600;
 font-size: var(--text-base);
 transition: var(--transition);
}

.btn-primary-custom:hover {
 transform: translateY(-3px);
 box-shadow: 0 8px 20px rgba(0, 131, 176, 0.3);
 color: white;
}

/* Dashboard Styles */
.dashboard-card {
 background-color: var(--card-bg);
 border-radius: 15px;
 padding: 20px;
 box-shadow: var(--card-shadow);
 border-right: 5px solid var(--primary-color);
 height: 100%;
}

.table-custom {
 background-color: white;
 border-radius: 15px;
 overflow: hidden;
}

.table-custom thead {
 background-color: var(--accent-color);
 color: var(--text-dark);
}

.table-custom th {
 font-weight: 600;
 font-size: var(--text-sm);
 border-bottom: none;
 padding: 0.65rem 0.5rem;
}

.table-custom td {
 padding: 0.75rem 0.6rem;
 font-size: var(--text-base);
 font-weight: 500;
 vertical-align: middle;
}

.badge-status {
 padding: 0.25rem 0.55rem;
 border-radius: 50px;
 font-weight: 500;
 font-size: var(--text-xs);
}

.badge-pending { background-color: #e2e3e5; color: #383d41; }
.badge-approved { background-color: #d1e7dd; color: #0f5132; }
.badge-incomplete { background-color: #fff3cd; color: #856404; }
.badge-needs-correction { background-color: #f8d7da; color: #842029; }

/* Links Styling in Table */
.research-link {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 35px;
 height: 35px;
 border-radius: 50%;
 background-color: var(--accent-color);
 color: var(--primary-color);
 margin: 0 3px;
 transition: var(--transition);
 text-decoration: none;
}

.research-link:hover {
 background-color: var(--primary-color);
 color: white;
 transform: translateY(-2px);
}

.research-link.disabled {
 background-color: #e9ecef;
 color: #adb5bd;
 pointer-events: none;
}

/* Animations — قصيرة جداً حتى لا تبطئ النقر */
.animate-fade-in {
 animation: fadeIn 0.12s ease-out forwards;
}

@keyframes fadeIn {
 from { opacity: 0.92; }
 to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
 .animate-fade-in,
 .stat-card,
 .researcher-card,
 .btn-primary-custom {
 animation: none !important;
 transition: none !important;
 }
}

/* Footer */
.portal-footer {
 background-color: #ffffff;
 border-top: 1px solid rgba(0,0,0,0.05);
 margin-top: 50px;
 padding: 30px 0;
}

/* Researcher Card Styles */
.researcher-card .card-title {
 font-size: 0.92rem !important;
 font-weight: 700 !important;
}

.researcher-card .card-text,
.researcher-card small {
 font-size: 0.74rem !important;
 font-weight: 500 !important;
}

.researcher-card {
 transition: var(--transition);
 content-visibility: auto;
 contain-intrinsic-size: auto 220px;
}

.researcher-card .card-body { padding: 1rem 1.05rem !important; }
.researcher-card h5 {
 font-size: 0.92rem !important;
 line-height: 1.4;
}
.researcher-card .text-muted.small,
.researcher-card p.small {
 font-size: 0.72rem !important;
}
.researcher-card .badge {
 font-size: 0.68rem !important;
 padding: 0.28rem 0.65rem !important;
}
.researcher-card .avatar-circle {
 width: 48px !important;
 height: 48px !important;
 font-size: 1.25rem !important;
 border: 2px solid var(--canva-accent, var(--canva-sky-edge));
}

#researchersGrid {
 contain: layout style;
}

.researcher-card:hover {
 transform: translateY(-4px);
 box-shadow:
  0 1px 0 rgba(255,255,255,0.95) inset,
  0 14px 28px rgba(15, 23, 42, 0.1) !important;
 border-color: var(--canva-accent, var(--primary-color)) !important;
}

.status-dot {
 width: 10px;
 height: 10px;
 border-radius: 50%;
 display: inline-block;
 box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}

/* ═══ حدود كانفا احترافية للمستطيلات ═══ */
.canva-frame {
 --canva-accent: var(--canva-teal);
 --canva-edge: var(--canva-teal-edge);
 position: relative;
 background: #fff;
 border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8) !important;
 border-top-width: 3.5px !important;
 border-top-color: var(--canva-accent) !important;
 box-shadow:
  0 1px 0 rgba(255, 255, 255, 0.92) inset,
  0 8px 22px rgba(15, 23, 42, 0.055) !important;
 border-radius: 1rem !important;
 overflow: hidden;
}

.canva-frame::before {
 content: '';
 position: absolute;
 inset: 7px;
 border-radius: calc(1rem - 6px);
 border: 1px solid color-mix(in srgb, var(--canva-edge) 55%, transparent);
 pointer-events: none;
 z-index: 0;
}

.canva-frame > * { position: relative; z-index: 1; }

.canva-frame--teal { --canva-accent: var(--canva-teal); --canva-edge: var(--canva-teal-edge); }
.canva-frame--sky { --canva-accent: var(--canva-sky); --canva-edge: var(--canva-sky-edge); }
.canva-frame--amber { --canva-accent: var(--canva-amber); --canva-edge: var(--canva-amber-edge); }
.canva-frame--emerald { --canva-accent: var(--canva-emerald); --canva-edge: var(--canva-emerald-edge); }
.canva-frame--coral { --canva-accent: var(--canva-coral); --canva-edge: var(--canva-coral-edge); }
.canva-frame--rose { --canva-accent: var(--canva-rose); --canva-edge: var(--canva-rose-edge); }
.canva-frame--navy { --canva-accent: var(--canva-navy); --canva-edge: var(--canva-navy-edge); }
.canva-frame--gold {
 --canva-accent: #c9a227;
 --canva-edge: #fde68a;
 background: linear-gradient(180deg, #fffbeb 0%, #fff 65%) !important;
}

.canva-frame--note {
 background: linear-gradient(180deg, #fffbeb 0%, #fff 70%) !important;
 --canva-accent: var(--canva-amber);
 --canva-edge: var(--canva-amber-edge);
}

.search-filter-card.canva-frame {
 padding: 1.15rem 1.2rem !important;
}

.search-filter-card .form-control,
.search-filter-card .form-select,
.search-filter-card .input-group-text {
 border-color: color-mix(in srgb, var(--canva-sky-edge) 65%, #cbd5e1) !important;
 font-size: 0.88rem;
}

.search-filter-card .form-control:focus,
.search-filter-card .form-select:focus {
 border-color: var(--canva-sky) !important;
 box-shadow: 0 0 0 3px rgba(3, 105, 161, 0.12);
}

.home-breakdown.canva-frame .card-header {
 border-bottom: 1px dashed color-mix(in srgb, var(--canva-navy-edge) 50%, transparent) !important;
 background: linear-gradient(180deg, #f0f9ff 0%, #fff 100%) !important;
}

.home-breakdown.canva-frame .card-header h5 {
 font-size: 0.92rem !important;
}

/* بطاقات الإحصائيات */
.stat-card {
 transition: var(--transition);
}

.stat-card.canva-frame {
 border-bottom-width: 3.5px !important;
 border-bottom-color: var(--canva-accent) !important;
 border-top-width: 1.5px !important;
 border-top-color: color-mix(in srgb, var(--canva-edge) 72%, #94a3b8) !important;
 padding: 0.85rem 0.7rem !important;
}

.stat-card .stat-icon {
 font-size: 1.05rem !important;
 margin-bottom: 0.28rem !important;
}

.stat-card h4 {
 font-size: 1.2rem !important;
 font-weight: 800 !important;
}

.stat-card p {
 font-size: 0.72rem !important;
 font-weight: 600 !important;
}

.stat-card:hover {
 transform: translateY(-3px);
 box-shadow:
  0 1px 0 rgba(255,255,255,0.95) inset,
  0 12px 24px rgba(15, 23, 42, 0.09) !important;
}

.is-mobile .stat-card:hover,
.is-mobile .researcher-card:hover {
 transform: none;
}

.text-orange {
 color: #fd7e14;
}

/* Metrics Styles */
.metrics-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
 gap: 15px;
 margin-top: 20px;
}

.metric-item {
 background-color: var(--accent-color);
 padding: 15px;
 border-radius: 15px;
 text-align: center;
 transition: var(--transition);
 border: 1px solid rgba(0, 131, 176, 0.1);
}

.metric-item:hover {
 transform: translateY(-3px);
 background-color: white;
 box-shadow: 0 5px 15px rgba(0, 131, 176, 0.1);
}

.metric-value {
 display: block;
 font-size: var(--text-2xl);
 font-weight: 800;
 color: var(--primary-color);
 line-height: 1;
 margin-bottom: 5px;
}

.metric-label {
 display: block;
 font-size: var(--text-sm);
 font-weight: 600;
 color: var(--secondary-color);
 line-height: 1.2;
}

/* أدوار البحث في نافذة الإحصائيات */
.role-eval-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}
@media (max-width: 900px) {
  .role-eval-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .role-eval-grid { grid-template-columns: 1fr; }
}
.role-eval-card {
  border: 1.5px solid #d5e3ec;
  border-radius: 14px;
  padding: 0.7rem 0.6rem 0.65rem;
  background: #f8fbfd;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.role-eval-card__ico {
  width: 36px; height: 36px; border-radius: 11px;
  display: grid; place-items: center; color: #fff; font-size: 1rem;
}
.role-eval-card--first .role-eval-card__ico { background: linear-gradient(145deg, #0e7490, #14b8a6); }
.role-eval-card--corr .role-eval-card__ico { background: linear-gradient(145deg, #1d4ed8, #3b82f6); }
.role-eval-card--scopus .role-eval-card__ico { background: linear-gradient(145deg, #ea580c, #f59e0b); }
.role-eval-card--second .role-eval-card__ico { background: linear-gradient(145deg, #7c3aed, #a78bfa); }
.role-eval-card--other .role-eval-card__ico { background: linear-gradient(145deg, #0f766e, #34d399); }
.role-eval-card__meta strong { display: block; font-size: 0.78rem; font-weight: 800; color: #1e2a4a; }
.role-eval-card__meta span { display: block; font-size: 0.68rem; font-weight: 700; color: #6b7c8f; }
.role-eval-card input {
  text-align: center; font-weight: 800; border-radius: 10px !important;
}
.role-eval-card__pts {
  text-align: center; font-size: 0.7rem; font-weight: 800;
  color: #0e7490; background: #e7f7f9; border-radius: 999px; padding: 0.18rem;
}
.role-eval-card__pts.is-zero { color: #94a3b8; background: #f1f5f9; }

.role-metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.65rem;
}
@media (max-width: 640px) {
  .role-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.role-metric-item {
  background: #eef7fb;
  border-radius: 12px;
  padding: 0.65rem 0.35rem;
  text-align: center;
}
.role-metric-item i { display: block; color: #0e7490; margin-bottom: 0.15rem; }
.role-metric-item b { display: block; font-size: 1rem; font-weight: 800; color: #0369a1; }
.role-metric-item span { font-size: 0.62rem; font-weight: 700; color: #64748b; line-height: 1.3; }

.preview-channel-banner {
  position: sticky; top: 0; z-index: 2000;
  background: linear-gradient(90deg, #0f766e, #0e7490);
  color: #fff; text-align: center;
  padding: 0.55rem 1rem; font-size: 0.82rem; font-weight: 800;
  box-shadow: 0 4px 16px rgba(15,118,110,0.3);
}
.preview-channel-banner small {
  display: block; font-size: 0.72rem; font-weight: 600; opacity: 0.9; margin-top: 0.15rem;
}

/* Detailed Stats Enhancements */
.department-totals .small {
 font-size: 0.8rem;
 padding: 4px 0;
 border-bottom: 1px solid rgba(0,0,0,0.02);
}

.department-totals .small:last-child {
 border-bottom: none;
}

.card-header h5 i {
 font-size: 1.2rem;
 vertical-align: middle;
}

.border-start.border-4 {
 border-radius: 4px;
}

/* منصة الأداء البحثي — أيقونة الشريط العلوي (ظاهرة دائماً) */
.perf-nav-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 44px;
 height: 44px;
 padding: 0;
 border: none;
 border-radius: 12px;
 background: linear-gradient(135deg, #0083B0 0%, #00B4DB 100%);
 color: #fff !important;
 font-size: 1.2rem;
 box-shadow: 0 4px 14px rgba(0, 131, 176, 0.4);
 transition: var(--transition);
 flex-shrink: 0;
 z-index: 5;
}

.app-navbar-mobile-actions {
 flex-shrink: 0;
}

.app-navbar-mobile-actions .perf-nav-btn {
 box-shadow: 0 4px 16px rgba(0, 131, 176, 0.5);
}

/* شريط خدمات الجوال — ظاهر دائماً للجميع */
.app-top-sticky {
 background: #fff;
 z-index: 1030;
 box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}

.app-mobile-rail {
 display: none;
 background: #fff;
 border-top: 1px solid #eef2f6;
 padding: 0.45rem 0 0.55rem;
}

.app-mobile-rail__inner {
 display: flex;
 gap: 0.4rem;
}

.app-rail-btn {
 flex: 1;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0.35rem;
 min-height: 46px;
 padding: 0.45rem 0.35rem;
 border: 1px solid #e4eef3;
 border-radius: 12px;
 background: #f7fbfd;
 color: #1e2a4a;
 font-family: var(--font-sans);
 font-weight: 800;
 font-size: 0.72rem;
 cursor: pointer;
 transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.app-rail-btn i {
 width: 28px;
 height: 28px;
 border-radius: 8px;
 display: grid;
 place-items: center;
 font-size: 0.95rem;
 color: #fff;
 flex-shrink: 0;
 background: #64748b;
}

#rail-researcherEval i { background: #00b8c4; }
#rail-gradProjects i { background: #1e2a4a; }
#rail-newResearch i { background: #0097a7; }

.app-rail-btn.is-active {
 background: #1e2a4a;
 color: #fff;
 border-color: #1e2a4a;
 box-shadow: 0 2px 8px rgba(30, 42, 74, 0.18);
}

.app-rail-btn.is-active i {
 background: rgba(255, 255, 255, 0.2);
 color: #fff;
}

@media (max-width: 991.98px) {
 .app-mobile-rail {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
 }
}

@media (min-width: 992px) {
 .app-mobile-rail { display: none !important; }
}

@media (max-width: 380px) {
 .app-rail-btn span { font-size: 0.65rem; }
 .app-rail-btn { gap: 0.25rem; padding: 0.4rem 0.2rem; }
 .app-rail-btn i { width: 24px; height: 24px; font-size: 0.85rem; }
}

.perf-nav-btn:hover {
 color: #fff;
 transform: translateY(-2px);
 box-shadow: 0 6px 18px rgba(0, 131, 176, 0.45);
}

.perf-nav-btn:active {
 transform: translateY(0);
}

/* PWA — زر التثبيت الاحترافي */
.pwa-install-btn {
 display: inline-flex;
 align-items: center;
 gap: 5px;
 padding: 0.4rem 0.75rem;
 border: none;
 border-radius: 50px;
 background: linear-gradient(135deg, #0083B0 0%, #00B4DB 100%);
 color: #fff;
 font-size: var(--text-xs);
 font-weight: 600;
 font-family: var(--font-sans);
 box-shadow: 0 4px 14px rgba(0, 131, 176, 0.35);
 transition: var(--transition);
 white-space: nowrap;
}

.pwa-install-btn:hover {
 transform: translateY(-2px);
 box-shadow: 0 6px 18px rgba(0, 131, 176, 0.45);
 color: #fff;
}

.pwa-install-btn i {
 font-size: 1rem;
}

@media (max-width: 576px) {
 .pwa-install-label {
 display: none;
 }
 .pwa-install-btn {
 padding: 8px 11px;
 border-radius: 50%;
 width: 40px;
 height: 40px;
 justify-content: center;
 }
}

/* ═══ PWA + جوال — سلاسة ولمس ═══ */
.is-standalone .app-navbar {
 padding-top: calc(0.4rem + var(--safe-top));
}

.is-standalone .portal-header {
 padding-top: calc(1.5rem + var(--safe-top));
 margin-bottom: 1rem;
}

.is-mobile .portal-header {
 padding: 1.5rem 0 1.25rem;
 border-radius: 0 0 20px 20px;
 margin-bottom: 1rem;
}

.is-mobile .logo-container {
 width: 44px;
 height: 44px;
 margin-bottom: 0.75rem !important;
}

.is-mobile .form-card {
 padding: 1rem 0.85rem;
 border-radius: 14px;
}

.is-mobile .researcher-card {
 border-radius: 12px !important;
}

.is-mobile .modal-dialog {
 margin: 0.5rem;
 max-width: calc(100% - 1rem);
}

.is-mobile .modal-dialog.modal-lg {
 max-width: calc(100% - 1rem);
}

.is-mobile .table-responsive {
 -webkit-overflow-scrolling: touch;
}

.is-mobile #researchersGrid {
 --bs-gutter-x: 0.5rem;
 --bs-gutter-y: 0.5rem;
}

@media (hover: none) and (pointer: coarse) {
 .btn,
 .form-control,
 .form-select,
 .nav-link,
 .pwa-install-btn {
 min-height: 42px;
 }

 .nav-link {
 padding-top: 0.55rem;
 padding-bottom: 0.55rem;
 font-size: var(--text-base);
 }

 .navbar-toggler {
 padding: 0.35rem 0.5rem;
 }

 .researcher-card:active {
 opacity: 0.92;
 }
}

/* ═══ تقرير احترافي — تصميم أنيق ═══ */
.report-page-canva {
 max-width: 1100px;
 margin: 0 auto 2.5rem;
 padding: 0 0.75rem 1.5rem;
 font-family: var(--font-sans);
}

.report-paper--premium {
 background: #ffffff;
 border-radius: 16px;
 padding: 0;
 overflow: hidden;
 box-shadow:
 0 1px 2px rgba(15, 23, 42, 0.04),
 0 12px 40px rgba(15, 23, 42, 0.08);
 border: 1px solid #e2e8f0;
}

.report-masthead {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 1rem;
 padding: 1.35rem 1.5rem;
 background: linear-gradient(135deg, #0c4a6e 0%, #0369a1 55%, #0284c7 100%);
 color: #fff;
}

.report-masthead__icon {
 width: 52px;
 height: 52px;
 border-radius: 14px;
 background: rgba(255, 255, 255, 0.15);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.5rem;
 backdrop-filter: blur(4px);
}

.report-masthead__text {
 text-align: center;
}

.report-canva-uni {
 margin: 0;
 font-size: var(--text-sm);
 font-weight: 700;
 color: #fff;
 letter-spacing: 0.02em;
}

.report-canva-dept {
 margin: 0.2rem 0 0;
 font-size: var(--text-xs);
 font-weight: 500;
 color: rgba(255, 255, 255, 0.85);
}

.report-title-block {
 padding: 1.5rem 1.75rem 1rem;
 text-align: center;
 background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
 border-bottom: 1px solid #e2e8f0;
}

.report-canva-title {
 font-size: clamp(1.1rem, 2.5vw, 1.35rem);
 font-weight: 800;
 color: #0f172a;
 line-height: 1.45;
 margin: 0 0 0.5rem;
}

.report-canva-sub {
 font-size: var(--text-sm);
 color: #64748b;
 line-height: 1.7;
 max-width: 620px;
 margin: 0 auto 0.5rem;
 font-weight: 500;
}

.report-canva-count {
 font-size: var(--text-base);
 color: #334155;
 font-weight: 600;
 margin: 0;
}

.report-canva-count strong {
 color: #dc2626;
 font-weight: 800;
 font-size: 1.1em;
}

.report-top-bar {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: center;
 gap: 0.75rem;
 margin-bottom: 0.85rem;
 padding: 0 0.15rem;
}

.report-back-btn {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
 padding: 0.5rem 1rem;
 border: 1px solid #e2e8f0;
 border-radius: 10px;
 background: #fff;
 color: #334155;
 font-weight: 700;
 font-size: var(--text-sm);
 box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
}

/* بطاقات إحصائية أعلى الجدول — نفس أسلوب بوابة الإدارة */
.report-stats-row {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
 gap: 0.75rem;
 padding: 0 1.25rem 1rem;
}

.report-stat-card {
 display: flex;
 align-items: center;
 gap: 0.75rem;
 padding: 0.85rem 1rem;
 background: #fff;
 border: 1px solid #e8ecf1;
 border-radius: 12px;
 box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.report-stat-card__icon {
 width: 42px;
 height: 42px;
 border-radius: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.15rem;
 flex-shrink: 0;
}

.report-stat-card--blue .report-stat-card__icon { background: #e8f4fc; color: #0369a1; }
.report-stat-card--amber .report-stat-card__icon { background: #fef3c7; color: #b45309; }
.report-stat-card--purple .report-stat-card__icon { background: #f3e8ff; color: #7c3aed; }
.report-stat-card--green .report-stat-card__icon { background: #dcfce7; color: #15803d; }
.report-stat-card--teal .report-stat-card__icon { background: #ccfbf1; color: #0f766e; }

.report-stat-card__label {
 display: block;
 font-size: 0.78rem;
 font-weight: 600;
 color: #64748b;
 margin-bottom: 0.15rem;
}

.report-stat-card__value {
 display: block;
 font-size: 1.35rem;
 font-weight: 800;
 color: #0f172a;
 line-height: 1.1;
}

/* حاوية الجدول — تصميم بوابة الطلاب */
.report-data-card {
 margin: 0 1.25rem 1.5rem;
 background: #fff;
 border: 1px solid #e8ecf1;
 border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.report-table-toolbar {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 0.75rem;
 padding: 0.9rem 1rem;
 border-bottom: 1px solid #eef1f5;
 background: #fafbfc;
}

.report-table-search {
 position: relative;
 flex: 1;
 min-width: 200px;
 max-width: 420px;
}

.report-table-search .bi-search {
 position: absolute;
 right: 12px;
 top: 50%;
 transform: translateY(-50%);
 color: #94a3b8;
 font-size: 0.95rem;
 pointer-events: none;
}

.report-table-search-input {
 width: 100%;
 padding: 0.55rem 2.35rem 0.55rem 0.85rem;
 border: 1px solid #dde3ea;
 border-radius: 10px;
 font-size: 0.85rem;
 font-weight: 600;
 color: #334155;
 background: #fff;
 transition: border-color 0.15s, box-shadow 0.15s;
}

.report-table-search-input:focus {
 outline: none;
 border-color: #7dd3fc;
 box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15);
}

.report-table-meta {
 font-size: 0.85rem;
 font-weight: 600;
 color: #64748b;
 white-space: nowrap;
}

.report-table-meta strong {
 color: #0f172a;
 font-weight: 800;
}

.report-table-scroll {
 display: block;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
}

.report-m-card {
 background: #fff;
 border: 1px solid #e2e8f0;
 border-radius: 14px;
 padding: 1rem;
 box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}

.report-m-card__head {
 display: flex;
 align-items: flex-start;
 gap: 0.65rem;
 margin-bottom: 0.75rem;
 padding-bottom: 0.75rem;
 border-bottom: 1px solid #f1f5f9;
}

.report-m-card__num {
 flex-shrink: 0;
 width: 32px;
 height: 32px;
 border-radius: 10px;
 background: linear-gradient(135deg, #0c4a6e, #0369a1);
 color: #fff;
 font-weight: 800;
 font-size: var(--text-sm);
 display: flex;
 align-items: center;
 justify-content: center;
}

.report-m-card__identity {
 flex: 1;
 min-width: 0;
}

.report-m-card__name {
 margin: 0;
 font-size: var(--text-base);
 font-weight: 800;
 color: #0f172a;
 line-height: 1.4;
}

.report-m-card__degree {
 margin: 0.2rem 0 0;
 font-size: var(--text-sm);
 font-weight: 600;
 color: #64748b;
}

.report-m-badge {
 flex-shrink: 0;
 font-weight: 800;
 font-size: var(--text-sm);
 padding: 0.35rem 0.65rem;
 border-radius: 20px;
}

.report-m-badge--zero {
 color: #dc2626;
 background: #fef2f2;
 border: 1px solid #fecaca;
}

.report-m-badge--ok {
 color: #15803d;
 background: #f0fdf4;
 border: 1px solid #bbf7d0;
}

.report-m-card__row {
 display: flex;
 align-items: flex-start;
 gap: 0.5rem;
 margin-bottom: 0.5rem;
 font-size: var(--text-sm);
}

.report-m-card__row i {
 color: #0369a1;
 margin-top: 0.15rem;
}

.report-m-mini-label {
 display: block;
 font-size: var(--text-xs);
 font-weight: 600;
 color: #94a3b8;
 margin-bottom: 0.1rem;
}

.report-m-mini-value {
 display: block;
 font-weight: 700;
 color: #334155;
}

.report-m-card__note {
 margin: 0.65rem 0 0;
 padding: 0.65rem 0.75rem;
 background: #f8fafc;
 border-radius: 10px;
 border-right: 3px solid #0369a1;
 font-size: var(--text-sm);
 font-weight: 600;
 color: #475569;
 line-height: 1.55;
}

.report-m-stats {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0.5rem;
}

.report-m-stat {
 background: #f8fafc;
 border: 1px solid #e2e8f0;
 border-radius: 10px;
 padding: 0.55rem 0.65rem;
 text-align: center;
}

.report-m-stat--total {
 background: #e0f2fe;
 border-color: #bae6fd;
}

.report-m-stat__label {
 display: block;
 font-size: var(--text-xs);
 font-weight: 700;
 color: #64748b;
 margin-bottom: 0.2rem;
}

.report-m-stat__value {
 display: block;
 font-size: var(--text-lg);
 font-weight: 800;
 color: #0c4a6e;
}

.report-m-card--totals {
 background: linear-gradient(180deg, #f0f9ff, #fff);
 border-color: #7dd3fc;
}

.report-m-card__totals-title {
 margin: 0 0 0.25rem;
 font-size: var(--text-base);
 font-weight: 800;
 color: #0c4a6e;
}

.report-m-card__totals-sub {
 margin: 0 0 0.65rem;
 font-size: var(--text-sm);
 color: #64748b;
 font-weight: 600;
}

.report-m-empty {
 text-align: center;
 padding: 2rem 1rem;
 color: #64748b;
 font-weight: 600;
}

.is-mobile .report-table-scroll,
.is-touch .report-table-scroll {
 padding: 0.5rem 0.35rem calc(4rem + var(--safe-bottom));
}

/* جدول التقرير — نفس تصميم إدارة الطلاب */
.report-portal-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0 4px;
 margin: 0;
 font-size: 0.78rem;
 font-family: var(--font-sans);
}

.report-portal-table thead th {
 background: #f5f7fa;
 color: #475569;
 font-weight: 700;
 font-size: 0.8rem;
 text-align: center;
 padding: 11px 8px;
 border-bottom: 1px solid #e8ecf1;
 white-space: nowrap;
 vertical-align: middle;
}

.report-portal-table tbody td {
 text-align: center;
 padding: 8px 8px;
 color: #334155;
 vertical-align: middle;
 line-height: 1.45;
}

.report-portal-table tbody tr.report-row:hover td {
 background: #fafbfc;
}

.report-portal-table tbody td.report-td-idx {
 color: #94a3b8;
 font-weight: 700;
 font-size: 0.78rem;
 width: 36px;
}

.report-portal-table tbody td.report-td-name {
 text-align: right;
 font-weight: 700;
 color: #0f172a;
 min-width: 120px;
}

.report-portal-table tbody td.report-td-note {
 text-align: right;
 max-width: 280px;
}

/* خلايا الجدول — صناديق مستديرة كما في بوابة الإدارة */
.report-portal-table tbody td.report-cell-box {
 border: 1px solid #e8ecf1;
 background: #fff;
 padding: 10px 8px;
}

.report-portal-table tbody td.report-cell-box--idx {
 background: #f8fafc;
 color: #94a3b8;
 border-radius: 0 8px 8px 0;
 width: 40px;
}

.report-portal-table tbody td.report-cell-box--name {
 background: #f0f9ff;
 border-color: #bae6fd;
 text-align: right;
 font-weight: 700;
 color: #0f172a;
}

.report-portal-table tbody td.report-cell-box--dept {
 background: #fef3c7;
 border-color: #fde68a;
 font-weight: 600;
 color: #b45309;
}

.report-portal-table tbody td.report-cell-box--eval {
 font-weight: 700;
}

.report-portal-table tbody td.report-cell-box--note {
 background: #f8fafc;
 border-color: #e2e8f0;
 border-radius: 8px 0 0 8px;
 text-align: right;
}

.report-portal-table {
 border-collapse: separate;
 border-spacing: 0 6px;
}

.report-portal-table thead th {
 border-bottom: 2px solid #e8ecf1;
 padding-bottom: 12px;
}

.report-portal-table tbody tr.report-totals-row td {
 background: #f0f9ff !important;
 font-weight: 700;
 color: #0c4a6e;
 border-top: 2px solid #bae6fd;
}

.report-portal-table tbody tr.report-totals-row td.report-td-total-label {
 text-align: right;
}

.report-portal-table tbody tr.report-empty-row td {
 padding: 2rem 1rem;
 color: #64748b;
 font-weight: 600;
}

.report-portal-table--wide {
 min-width: 900px;
}

.report-pill {
 display: inline-block;
 padding: 4px 10px;
 border-radius: 6px;
 font-weight: 700;
 font-size: 0.74rem;
 line-height: 1.35;
 white-space: nowrap;
 max-width: 100%;
}

.report-pill--wide {
 white-space: normal;
 text-align: center;
 line-height: 1.4;
 max-width: 200px;
}

.report-pill--navy { background: #e0e7ff; color: #3730a3; }
.report-pill--purple { background: #f3e8ff; color: #7c3aed; }
.report-pill--blue { background: #e0f2fe; color: #0369a1; }
.report-pill--teal { background: #ccfbf1; color: #0f766e; }
.report-pill--indigo { background: #e0e7ff; color: #4338ca; }
.report-pill--gray { background: #f1f5f9; color: #64748b; }
.report-pill--amber { background: #fef3c7; color: #b45309; }
.report-pill--red { background: #fee2e2; color: #dc2626; }
.report-pill--green { background: #dcfce7; color: #15803d; }

/* ═══ جوال: بطاقة لكل باحث بدل جدول مضغوط ═══ */
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
 .report-table-scroll--stack {
 overflow-x: visible;
 padding: 0.5rem 0.65rem calc(4rem + var(--safe-bottom));
 }

 .report-portal-table--responsive {
 min-width: 0 !important;
 width: 100%;
 border-spacing: 0;
 }

 .report-portal-table--responsive thead {
 display: none;
 }

 .report-portal-table--responsive tbody tr.report-row {
 display: block;
 direction: rtl;
 margin-bottom: 0.7rem;
 background: #fff;
 border: 1px solid #e2e8f0;
 border-radius: 14px;
 box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
 overflow: hidden;
 }

 .report-portal-table--responsive tbody tr.report-row:hover td {
 background: inherit;
 }

 .report-portal-table--responsive tbody tr.report-row td {
 display: flex;
 flex-direction: row;
 align-items: flex-start;
 justify-content: space-between;
 gap: 0.65rem;
 width: 100%;
 max-width: none;
 padding: 0.6rem 0.85rem;
 border: none;
 border-bottom: 1px solid #f1f5f9;
 border-radius: 0 !important;
 text-align: right;
 box-sizing: border-box;
 }

 .report-portal-table--responsive tbody tr.report-row td::before {
 content: attr(data-label);
 flex-shrink: 0;
 font-weight: 700;
 font-size: 0.72rem;
 color: #64748b;
 min-width: 4.25rem;
 text-align: right;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--idx {
 position: absolute;
 width: auto;
 padding: 0.2rem 0.55rem;
 margin: 0;
 border: none;
 background: #0c4a6e !important;
 color: #fff !important;
 border-radius: 8px;
 font-size: 0.72rem;
 font-weight: 800;
 top: 0.65rem;
 inset-inline-start: 0.75rem;
 display: block;
 z-index: 1;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--idx::before {
 display: none;
 }

 .report-portal-table--responsive tbody tr.report-row {
 position: relative;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--name {
 display: block;
 padding: 2.35rem 0.85rem 0.65rem;
 border-bottom: 1px solid #e8ecf1;
 background: linear-gradient(180deg, #f0f9ff 0%, #fff 100%) !important;
 border-color: #bae6fd !important;
 font-size: 0.92rem;
 line-height: 1.45;
 text-align: right;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--name::before {
 display: none;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--dept {
 background: #fffbeb !important;
 border-color: transparent !important;
 color: #b45309;
 font-weight: 700;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--eval {
 align-items: center;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--note {
 flex-direction: column;
 align-items: stretch;
 gap: 0.4rem;
 background: #f8fafc !important;
 border-bottom: none;
 padding-bottom: 0.75rem;
 }

 .report-portal-table--responsive tbody tr.report-row td.report-cell-box--note::before {
 margin-bottom: 0.1rem;
 }

 .report-portal-table--responsive .report-pill--wide {
 max-width: none;
 width: 100%;
 text-align: right;
 white-space: normal;
 font-size: 0.78rem;
 line-height: 1.5;
 padding: 0.5rem 0.65rem;
 }

 .report-portal-table--responsive .report-pill {
 font-size: 0.75rem;
 }

 .report-portal-table--responsive tbody tr.report-totals-row {
 display: block;
 margin-top: 0.25rem;
 padding: 0.75rem 0.85rem;
 background: linear-gradient(180deg, #e0f2fe, #f0f9ff);
 border: 1px solid #bae6fd;
 border-radius: 12px;
 text-align: center;
 font-weight: 800;
 color: #0c4a6e;
 }

 .report-portal-table--responsive tbody tr.report-totals-row td {
 display: inline;
 border: none;
 padding: 0 0.25rem;
 background: transparent !important;
 }

 .report-portal-table--responsive tbody tr.report-totals-row td::before {
 display: none;
 }

 .report-portal-table--responsive tbody tr.report-totals-row td.report-td-idx,
 .report-portal-table--responsive tbody tr.report-totals-row td:not(.report-td-total-label) {
 display: none !important;
 }

 .report-portal-table--responsive tbody tr.report-totals-row td.report-td-total-label {
 display: block !important;
 width: 100%;
 text-align: center;
 padding: 0;
 }
}

@media print {
 .report-portal-table--responsive thead {
 display: table-header-group !important;
 }
 .report-portal-table--responsive tbody tr.report-row,
 .report-portal-table--responsive tbody tr.report-totals-row {
 display: table-row !important;
 direction: rtl !important;
 margin: 0 !important;
 border: none !important;
 box-shadow: none !important;
 border-radius: 0 !important;
 }
 .report-portal-table--responsive tbody tr.report-row td,
 .report-portal-table--responsive tbody tr.report-totals-row td {
 display: table-cell !important;
 position: static !important;
 width: auto !important;
 padding: 8px 6px !important;
 }
 .report-portal-table--responsive tbody tr.report-row td::before,
 .report-portal-table--responsive tbody tr.report-totals-row td::before {
 display: none !important;
 }
}

.is-mobile .report-stats-row {
 grid-template-columns: repeat(2, 1fr);
 padding: 0 0.65rem 0.75rem;
 gap: 0.5rem;
}

.is-mobile .report-stat-card {
 padding: 0.65rem 0.75rem;
}

.is-mobile .report-stat-card__value {
 font-size: 1.1rem;
}

.is-mobile .report-data-card {
 margin: 0 0.65rem 1rem;
}

.is-mobile .report-table-toolbar {
 flex-direction: column;
 align-items: stretch;
}

.is-mobile .report-table-search {
 max-width: none;
}

.report-cell-name {
 font-weight: 700;
 font-size: var(--text-base);
 color: #0f172a;
 line-height: 1.4;
}

.report-cell-sub {
 font-weight: 600;
 font-size: var(--text-sm);
 color: #334155;
}

.report-cell-meta {
 font-size: var(--text-xs);
 color: #64748b;
 margin-top: 3px;
 font-weight: 500;
}

.report-note-main {
 margin: 0;
 font-size: var(--text-sm);
 font-weight: 600;
 color: #334155;
 line-height: 1.6;
}

.report-note-main--warn {
 color: #b45309;
}

.report-cell-eval {
 display: inline-block;
 font-weight: 800;
 font-size: var(--text-sm);
 padding: 5px 14px;
 border-radius: 20px;
 border: 1px solid #fecaca;
}

.report-cell-eval--zero {
 color: #dc2626;
 background: #fef2f2;
}

.report-cell-eval-ok {
 color: #15803d;
 background: #f0fdf4;
 border-color: #bbf7d0;
}

.report-cell-stat {
 display: inline-block;
 font-weight: 800;
 font-size: var(--text-base);
 color: #0f172a;
 min-width: 1.5rem;
}

.report-canva-table-stats thead th {
 font-size: var(--text-xs);
 padding: 10px 6px;
}

/* ═══ مركز التقارير — بطاقات احترافية مضغوطة ═══ */
.report-hub-row { --rh-gap: 0.7rem; }

.report-hub-card {
 display: flex;
 gap: 0.95rem;
 padding: 1rem 1.1rem;
 border-radius: 16px;
 border: 1px solid rgba(0, 0, 0, 0.06);
 box-shadow: 0 6px 20px rgba(0, 50, 80, 0.07);
 height: 100%;
 background: #fff;
 align-items: center;
 transition: box-shadow 0.2s ease;
}
.report-hub-card:hover {
 box-shadow: 0 10px 26px rgba(0, 50, 80, 0.11);
}

.report-hub-card--dept {
 background: linear-gradient(145deg, #f7fbfe 0%, #eaf4fa 48%, #ffffff 100%);
 border-color: rgba(0, 131, 176, 0.14);
 align-items: flex-start;
}

.report-hub-card--alert {
 background: linear-gradient(145deg, #fffbfa 0%, #fff1ef 48%, #ffffff 100%);
 border-color: rgba(185, 28, 28, 0.14);
}

.report-hub-card__icon-wrap {
 position: relative;
 flex-shrink: 0;
 width: 56px;
 height: 56px;
 border-radius: 16px;
 display: grid;
 place-items: center;
 isolation: isolate;
 margin-top: 0.1rem;
}

.report-hub-card__ring {
 position: absolute;
 inset: -4px;
 border-radius: 20px;
 border: 1.5px solid currentColor;
 opacity: 0.2;
 pointer-events: none;
}

.report-hub-card__glow {
 position: absolute;
 inset: 6px;
 border-radius: 12px;
 background: radial-gradient(circle at 30% 25%, rgba(255,255,255,0.55), transparent 65%);
 pointer-events: none;
 z-index: 1;
}

.report-hub-card--dept .report-hub-card__icon-wrap {
 color: #7dd3fc;
 background: linear-gradient(145deg, #0ea5c6 0%, #0369a1 55%, #0c4a6e 100%);
 box-shadow: 0 8px 18px rgba(3, 105, 161, 0.35), inset 0 1px 0 rgba(255,255,255,0.35);
}

.report-hub-card--alert .report-hub-card__icon-wrap {
 color: #fecaca;
 background: linear-gradient(145deg, #f87171 0%, #dc2626 55%, #991b1b 100%);
 box-shadow: 0 8px 18px rgba(185, 28, 28, 0.32), inset 0 1px 0 rgba(255,255,255,0.3);
}

.report-hub-card__icon {
 position: relative;
 z-index: 2;
 font-size: 1.55rem;
 color: #fff;
 filter: drop-shadow(0 2px 3px rgba(0,0,0,0.18));
}

.report-hub-card__body {
 flex: 1;
 min-width: 0;
 display: flex;
 flex-direction: column;
 gap: 0.65rem;
}

.report-hub-card__body--alert {
 justify-content: center;
 gap: 0.55rem;
}

.report-hub-card__title {
 font-weight: 800;
 font-size: 1.02rem;
 margin: 0;
 color: #123047;
 letter-spacing: -0.01em;
 line-height: 1.3;
}

.report-hub-card__desc { display: none; }

.report-hub-filters {
 display: grid;
 grid-template-columns: minmax(120px, 0.9fr) minmax(180px, 1.4fr) minmax(120px, 0.95fr);
 gap: 0.55rem 0.65rem;
 align-items: end;
}

.report-hub-field {
 min-width: 0;
 display: flex;
 flex-direction: column;
 gap: 0.28rem;
}

.report-hub-field--wide { min-width: 0; }

.report-hub-field__label {
 margin: 0;
 font-size: 0.72rem;
 font-weight: 750;
 color: #3d5668;
 white-space: nowrap;
}
.report-hub-field__label i {
 color: #0083B0;
 margin-left: 0.2rem;
 font-size: 0.78rem;
}

.report-hub-select {
 min-width: 0;
 width: 100%;
 font-size: 0.8rem !important;
 font-weight: 600;
 color: #1e293b;
 padding: 0.45rem 2rem 0.45rem 0.55rem !important;
 border-radius: 10px !important;
 border-color: #d5e4ec !important;
 background-color: #fff !important;
 line-height: 1.35;
 text-overflow: ellipsis;
 white-space: nowrap;
 overflow: hidden;
}
.report-hub-select:focus {
 border-color: #0ea5c6 !important;
 box-shadow: 0 0 0 0.2rem rgba(14, 165, 198, 0.15) !important;
}
.report-hub-select:disabled {
 background: #f1f5f9 !important;
 color: #94a3b8;
}
.report-hub-select option {
 white-space: normal;
 font-size: 0.85rem;
}

.report-hub-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.45rem;
 border: none;
 border-radius: 11px;
 padding: 0.58rem 1rem;
 font-weight: 750;
 font-size: 0.88rem;
 min-height: 42px;
 transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
}
.report-hub-btn i { font-size: 1.05rem; }

.report-hub-btn:hover {
 transform: translateY(-1px);
 filter: brightness(1.03);
}

.report-hub-btn--primary {
 background: linear-gradient(135deg, #0ea5c6, #0369a1);
 color: #fff;
 box-shadow: 0 5px 14px rgba(3, 105, 161, 0.32);
}

.report-hub-btn--danger {
 background: linear-gradient(135deg, #ef4444, #b91c1c);
 color: #fff;
 box-shadow: 0 5px 14px rgba(185, 28, 28, 0.28);
}

@media (max-width: 991.98px) {
 .report-hub-filters {
  grid-template-columns: 1fr;
 }
 .report-hub-card--alert {
  align-items: flex-start;
 }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
 .report-hub-filters {
  grid-template-columns: 1fr 1fr;
 }
 .report-hub-field--wide {
  grid-column: 1 / -1;
 }
}

.report-actions-bar {
 gap: 0.5rem;
}

.report-live-sync {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
 padding: 0.45rem 0.9rem;
 border-radius: 10px;
 font-size: var(--text-sm);
 font-weight: 700;
 color: #047857;
 background: #ecfdf5;
 border: 1px solid #a7f3d0;
}

.report-live-sync i {
 animation: reportLiveSpin 2.5s linear infinite;
}

@keyframes reportLiveSpin {
 0% { transform: rotate(0deg); }
 100% { transform: rotate(360deg); }
}

.report-paper--live-flash {
 animation: reportFlash 1.1s ease-out;
}

@keyframes reportFlash {
 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45); }
 40% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.2); }
 100% { box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08); }
}

.report-empty-msg {
 text-align: center;
 padding: 2rem !important;
 color: #64748b;
 font-weight: 600;
 font-size: var(--text-base);
}

.report-preview-badge {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 padding: 0.5rem 1rem;
 border-radius: 10px;
 font-size: var(--text-sm);
 font-weight: 700;
 background: #f0f9ff;
 color: #0369a1;
 border: 1px solid #bae6fd;
}

.report-action-btn {
 display: inline-flex;
 align-items: center;
 gap: 0.45rem;
 border: none;
 border-radius: 10px;
 padding: 0.55rem 1.15rem;
 font-weight: 700;
 font-size: var(--text-sm);
 color: #fff;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
 transition: transform 0.15s, box-shadow 0.15s;
}

.report-action-btn i {
 font-size: 1.15rem;
}

.report-action-btn:hover {
 transform: translateY(-2px);
 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
 color: #fff;
}

.report-action-btn--pdf { background: linear-gradient(135deg, #dc2626, #b91c1c); }
.report-action-btn--print { background: linear-gradient(135deg, #475569, #334155); }
.report-action-btn--email { background: linear-gradient(135deg, #0284c7, #0369a1); }

.report-canva-table-stats thead th {
 font-size: 0.65rem;
}

@media print {
 body.printing-report nav,
 body.printing-report .navbar,
 body.printing-report footer,
 body.printing-report .report-actions-bar,
 body.printing-report .report-top-bar,
 body.printing-report .report-table-toolbar,
 body.printing-report .report-stats-row,
 body.printing-report .btn {
 display: none !important;
 }
 body.printing-report .report-table-scroll {
 overflow: visible !important;
 }
 body.printing-report #report-paper {
 box-shadow: none !important;
 border: none !important;
 }
 body.printing-report .report-page-canva {
 max-width: 100% !important;
 margin: 0 !important;
 padding: 0 !important;
 }
}

@media (max-width: 768px) {
 .report-masthead { flex-direction: column; padding: 1rem; }
 .report-title-block { padding: 1rem; }
 .report-data-card { margin: 0 0.5rem 1rem; }
}

/* ═══ العناوين المزدوجة — تصميم موحّد واحترافي ═══ */
.dual-titles-section {
 position: relative;
 padding: 1rem 0;
}

.dual-title-box {
 flex: 1;
 padding: 1rem;
 transition: var(--transition);
 border-radius: 12px;
}

.dual-title-link {
 display: block;
 cursor: pointer;
}

.dual-title-link:hover {
 background-color: rgba(0, 131, 176, 0.04);
 transform: translateY(-2px);
}

.dual-title-main {
 font-family: var(--font-sans);
 font-size: var(--text-md);
 font-weight: 600;
 color: var(--primary-color);
 margin-bottom: 0.25rem;
 line-height: 1.45;
}

.dual-title-sub {
 font-family: var(--font-sans);
 font-size: var(--text-sm);
 font-weight: 400;
 color: var(--secondary-color);
 margin-bottom: 0;
 line-height: 1.5;
}

@media (max-width: 768px) {
 .dual-title-main {
 font-size: var(--text-base);
 }
 .dual-title-sub {
 font-size: var(--text-xs);
 }
 .dual-title-box {
 padding: 0.45rem 0.35rem;
 width: 100%;
 border-bottom: 1px solid rgba(0,0,0,0.05);
 }
 .dual-title-box:last-child {
 border-bottom: none;
 }
}

/* أزرار الشريط العلوي على الجوال */
.is-mobile .btn.rounded-pill {
 font-size: var(--text-xs);
 padding: 0.35rem 0.75rem;
}

.is-mobile .app-nav-btn .app-nav-btn-text {
 display: none;
}

.is-mobile .app-nav-btn {
 padding: 0.4rem 0.65rem !important;
 min-width: 42px;
}

.portal-footer h5 {
 font-size: var(--text-md);
 font-weight: 600;
}

.portal-footer p {
 font-size: var(--text-sm) !important;
}

/* ═══ جوال شامل + PWA راقٍ ═══ */
.is-mobile .app-main {
 padding-bottom: calc(1rem + var(--safe-bottom));
}

.is-mobile .report-hub-card {
 flex-direction: row;
 text-align: right;
 padding: 0.9rem 0.85rem;
 align-items: center;
}

.is-mobile .report-hub-card__icon-wrap {
 margin: 0;
 width: 48px;
 height: 48px;
 border-radius: 14px;
}

.is-mobile .report-hub-card__icon { font-size: 1.3rem; }

.is-mobile .report-hub-btn {
 min-height: 44px;
 font-size: 0.88rem;
}

.is-mobile .report-page-canva {
 padding: 0 0.35rem 1rem;
}

.is-mobile .report-paper--premium {
 border-radius: 12px;
}

.is-mobile .report-masthead {
 flex-direction: column;
 padding: 1rem;
 gap: 0.65rem;
}

.is-mobile .report-title-block {
 padding: 1rem 0.85rem 0.75rem;
}

.is-mobile .report-canva-title {
 font-size: 1.05rem;
}

.is-touch .report-actions-bar {
 position: sticky;
 bottom: 0;
 z-index: 20;
 background: rgba(255, 255, 255, 0.96);
 backdrop-filter: blur(10px);
 -webkit-backdrop-filter: blur(10px);
 padding: 0.65rem 0.5rem calc(0.65rem + var(--safe-bottom));
 margin: 0 -0.35rem;
 border-top: 1px solid #e2e8f0;
 box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.06);
 flex-wrap: nowrap;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
 gap: 0.4rem;
}

.is-touch .report-action-btn {
 min-height: 44px;
 flex-shrink: 0;
 padding: 0.5rem 0.85rem;
}

.is-touch .report-preview-badge,
.is-touch .report-live-sync {
 flex-shrink: 0;
 font-size: 0.7rem;
 padding: 0.4rem 0.65rem;
}

.is-standalone.is-mobile .app-navbar {
 box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.is-standalone .portal-footer {
 padding-bottom: calc(1.5rem + var(--safe-bottom));
}

.is-ios.is-mobile input,
.is-ios.is-mobile select,
.is-ios.is-mobile textarea,
.is-ios.is-mobile .form-control,
.is-ios.is-mobile .form-select {
 font-size: 16px !important;
}

.is-mobile .search-filter-card .form-select,
.is-mobile .search-filter-card .form-control {
 min-height: 48px;
}

.is-mobile .stat-card {
 padding: 1rem 0.75rem !important;
}

.is-mobile .swal2-popup {
 width: calc(100% - 1.5rem) !important;
 max-width: 100% !important;
 font-family: var(--font-sans) !important;
 font-size: var(--text-base) !important;
}

@media (max-width: 380px) {
 .is-mobile .report-actions-bar .report-preview-badge {
 display: none;
 }
 .is-mobile .dual-titles-section .row {
 flex-direction: column;
 }
}

@media (max-width: 576px) {
 .perf-nav-btn {
 min-width: 44px;
 min-height: 44px;
 }

 .pwa-install-btn {
 min-width: 44px;
 min-height: 44px;
 }
}

/* ═══ مركز البريد الإلكتروني ═══ */
.email-center-page {
 max-width: 1280px;
 margin: 0 auto;
}

.email-compose-card {
 background: #fff;
 border: 1px solid #e8ecf1;
 border-radius: 16px;
 padding: 1.25rem 1.35rem;
 box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
 height: 100%;
}

.email-compose-title {
 font-weight: 800;
 color: #0c4a6e;
 margin-bottom: 1rem;
 font-size: 1.05rem;
}

.email-body-textarea {
 font-size: 0.82rem;
 line-height: 1.65;
 font-family: var(--font-sans);
 resize: vertical;
 min-height: 220px;
}

.email-filter-grid {
 display: flex;
 flex-direction: column;
 gap: 0.45rem;
}

.email-filter-option {
 display: flex;
 align-items: center;
 gap: 0.65rem;
 padding: 0.55rem 0.75rem;
 border: 1px solid #e2e8f0;
 border-radius: 10px;
 cursor: pointer;
 transition: border-color 0.15s, background 0.15s;
 margin: 0;
}

.email-filter-option input {
 flex-shrink: 0;
}

.email-filter-option--active,
.email-filter-option:has(input:checked) {
 border-color: #7dd3fc;
 background: #f0f9ff;
}

.email-filter-option__icon {
 width: 34px;
 height: 34px;
 border-radius: 8px;
 background: #e0f2fe;
 color: #0369a1;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
}

.email-filter-option__text {
 display: flex;
 flex-direction: column;
 line-height: 1.35;
}

.email-filter-option__text small {
 color: #64748b;
 font-size: 0.72rem;
}

.email-custom-picker {
 border: 1px solid #e2e8f0;
 border-radius: 12px;
 padding: 0.75rem;
 background: #fafbfc;
 max-height: 200px;
 overflow-y: auto;
}

.email-custom-list {
 display: flex;
 flex-direction: column;
 gap: 0.35rem;
}

.email-custom-item {
 display: flex;
 align-items: center;
 gap: 0.5rem;
 padding: 0.35rem 0.5rem;
 border-radius: 8px;
 font-size: 0.82rem;
 cursor: pointer;
}

.email-custom-item:hover {
 background: #fff;
}

.email-custom-item small {
 margin-inline-start: auto;
 color: #64748b;
 font-size: 0.72rem;
}

.email-recipient-chips {
 display: flex;
 flex-wrap: wrap;
 gap: 0.35rem;
}

.email-recipient-chip {
 display: inline-flex;
 align-items: center;
 gap: 0.25rem;
 padding: 0.25rem 0.55rem;
 background: #f1f5f9;
 border-radius: 20px;
 font-size: 0.72rem;
 font-weight: 600;
 color: #475569;
}

.email-recipient-chip--more {
 background: #e0f2fe;
 color: #0369a1;
}

.email-preview-panel {
 background: #f1f5f9;
 border: 1px solid #e2e8f0;
 border-radius: 16px;
 overflow: hidden;
 position: sticky;
 top: 5.5rem;
}

.email-preview-panel__head {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 0.85rem 1.15rem;
 background: #fff;
 border-bottom: 1px solid #e2e8f0;
}

.email-preview-panel__head h5 {
 font-weight: 800;
 color: #0c4a6e;
 font-size: 1rem;
}

.email-preview-root {
 padding: 1rem;
 max-height: calc(100vh - 8rem);
 overflow-y: auto;
}

.email-preview-envelope {
 max-width: 640px;
 margin: 0 auto;
}

.email-preview-meta-bar {
 background: #fff;
 border: 1px solid #e2e8f0;
 border-radius: 10px 10px 0 0;
 padding: 0.75rem 1rem;
 font-size: 0.78rem;
}

.email-preview-meta {
 margin: 0 0 0.35rem;
 color: #475569;
}

.email-preview-meta--warn {
 color: #b45309;
 font-weight: 600;
}

.email-preview-paper {
 background: #fff;
 border: 1px solid #e2e8f0;
 border-top: none;
 border-radius: 0 0 12px 12px;
 padding: 1.25rem 1.35rem 1.5rem;
 box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.email-preview-masthead {
 display: flex;
 align-items: center;
 gap: 0.75rem;
 padding-bottom: 0.85rem;
 margin-bottom: 0.85rem;
 border-bottom: 2px solid #e0f2fe;
}

.email-preview-masthead__icon {
 width: 44px;
 height: 44px;
 border-radius: 12px;
 background: linear-gradient(135deg, #0c4a6e, #0369a1);
 color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.25rem;
}

.email-preview-uni {
 margin: 0;
 font-weight: 800;
 color: #0c4a6e;
 font-size: 0.88rem;
}

.email-preview-dept {
 margin: 0.15rem 0 0;
 font-size: 0.75rem;
 color: #64748b;
}

.email-preview-title {
 font-size: 1rem;
 font-weight: 800;
 color: #0f172a;
 text-align: center;
 margin: 0 0 1rem;
 line-height: 1.5;
}

.email-preview-body {
 font-size: 0.85rem;
 line-height: 1.75;
 color: #334155;
}

.email-preview-p {
 margin: 0 0 0.65rem;
 text-align: right;
}

.email-preview-bullet {
 margin: 0 0 0.35rem;
 padding-inline-start: 0.5rem;
 text-align: right;
}

.email-preview-list {
 margin: 0 0 0.75rem;
 padding-inline-start: 1.25rem;
 text-align: right;
}

.email-preview-list li {
 margin-bottom: 0.35rem;
}

.email-preview-footer {
 margin-top: 1.25rem;
 padding-top: 1rem;
 border-top: 1px solid #e2e8f0;
 text-align: center;
 font-size: 0.82rem;
 color: #64748b;
}

.email-preview-footer p {
 margin: 0 0 0.25rem;
}

.email-preview-footer-link {
 color: #0369a1 !important;
 font-weight: 700;
 margin-top: 0.5rem !important;
}

@media (max-width: 991px) {
 .email-preview-panel {
 position: static;
 }
 .email-preview-root {
 max-height: none;
 }
}

/* ═══ مركز البريد v2 ═══ */
.email-center-page { max-width: 1320px; margin: 0 auto; padding-bottom: 4rem; }
.email-center-hero {
    background: linear-gradient(135deg, #0c4a6e, #0369a1 55%, #0891b2);
    color: #fff; border-radius: 1.25rem; padding: 1.35rem 1.5rem; margin-bottom: 1.25rem;
    box-shadow: 0 12px 40px rgba(3,105,161,0.22);
}
.email-center-hero__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.65rem; }
.email-center-hero__badge { font-size: 0.75rem; background: rgba(255,255,255,0.18); padding: 0.3rem 0.7rem; border-radius: 999px; }
.email-center-hero__title { font-size: 1.45rem; font-weight: 800; margin: 0 0 0.35rem; }
.email-center-hero__sub { margin: 0 0 1rem; opacity: 0.92; font-size: 0.88rem; }
.email-center-stats { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.email-center-stat {
    background: rgba(255,255,255,0.14); border-radius: 0.75rem; padding: 0.5rem 0.85rem;
    min-width: 5.5rem; text-align: center;
}
.email-center-stat span { display: block; font-size: 1.25rem; font-weight: 800; }
.email-center-stat small { font-size: 0.68rem; opacity: 0.88; }
.email-center-stat--accent { background: rgba(255,255,255,0.28); }
.email-center-layout { display: grid; grid-template-columns: minmax(300px, 420px) 1fr; gap: 1.15rem; align-items: start; }
.email-center-compose {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1rem;
    box-shadow: 0 4px 20px rgba(15,23,42,0.05);
}
.email-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; margin-bottom: 1rem; background: #f1f5f9; padding: 0.3rem; border-radius: 0.75rem; }
.email-mode-tab {
    border: none; background: transparent; padding: 0.55rem 0.5rem; border-radius: 0.55rem;
    font-weight: 700; font-size: 0.82rem; color: #64748b; display: flex; align-items: center; justify-content: center; gap: 0.35rem;
}
.email-mode-tab--active { background: #fff; color: #0369a1; box-shadow: 0 2px 8px rgba(15,23,42,0.08); }
.email-field-label { font-size: 0.78rem; font-weight: 700; color: #475569; margin-bottom: 0.35rem; display: block; }
.email-filter-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.email-filter-chip {
    border: 1px solid #e2e8f0; background: #f8fafc; border-radius: 999px; padding: 0.35rem 0.65rem;
    font-size: 0.72rem; font-weight: 600; color: #475569;
}
.email-filter-chip--active { background: #e0f2fe; border-color: #7dd3fc; color: #0369a1; }
.email-custom-picker { border: 1px solid #e2e8f0; border-radius: 0.75rem; overflow: hidden; }
.email-custom-picker__head { display: flex; gap: 0.4rem; padding: 0.5rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.email-custom-list { max-height: 180px; overflow-y: auto; }
.email-custom-item { display: flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.45rem 0.65rem; border-bottom: 1px solid #f1f5f9; cursor: pointer; font-size: 0.8rem; }
.email-custom-item small { color: #64748b; width: 100%; }
.email-recipient-table-wrap { border: 1px solid #e2e8f0; border-radius: 0.75rem; overflow: hidden; margin-bottom: 0.75rem; }
.email-recipient-table-head { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 0.65rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0; gap: 0.5rem; }
.email-table-search { max-width: 140px; }
.email-recipient-table-scroll { max-height: 200px; overflow: auto; }
.email-recipient-table { width: 100%; font-size: 0.75rem; margin: 0; }
.email-recipient-table th { background: #f1f5f9; padding: 0.45rem; position: sticky; top: 0; }
.email-recipient-table td { padding: 0.4rem 0.45rem; border-bottom: 1px solid #f1f5f9; }
.email-table-name { font-weight: 600; }
.email-table-mail { font-size: 0.68rem; color: #64748b; }
.email-warn-text { font-size: 0.75rem; color: #b45309; margin-bottom: 0.5rem; }
.email-body-textarea { font-size: 0.82rem; line-height: 1.65; min-height: 180px; }
.email-action-bar { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.75rem; }
.email-action-row { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.email-center-preview-col { position: sticky; top: 5.5rem; }
.email-preview-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; overflow: hidden; box-shadow: 0 8px 32px rgba(15,23,42,0.06); }
.email-preview-panel__head { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.email-preview-panel__head h5 { margin: 0; font-size: 0.95rem; font-weight: 800; color: #0c4a6e; }
.email-preview-tag { font-size: 0.68rem; background: #dcfce7; color: #166534; padding: 0.2rem 0.55rem; border-radius: 999px; font-weight: 700; }
.email-single-card { background: #f0f9ff; border-radius: 0.65rem; padding: 0.65rem; font-size: 0.82rem; }
.email-mobile-tabs { position: fixed; bottom: 0; left: 0; right: 0; display: flex; background: #fff; border-top: 1px solid #e2e8f0; z-index: 100; padding-bottom: env(safe-area-inset-bottom); }
.email-mobile-tab { flex: 1; border: none; background: transparent; padding: 0.75rem; font-weight: 700; font-size: 0.82rem; color: #64748b; }
.email-mobile-tab--active { color: #0369a1; background: #f0f9ff; }
.email-center-page--show-preview .email-center-compose { display: none; }
.email-center-page--show-preview .email-center-preview-col { display: block; }
@media (max-width: 991px) {
    .email-center-layout { grid-template-columns: 1fr; }
    .email-center-preview-col { display: none; position: static; }
    .email-center-page--show-preview .email-center-preview-col { display: block; }
    .email-center-compose { display: block; }
}

/* ═══ ملف الباحث — إخفاء البريد عن العامة ═══ */
.researcher-profile-hero {
    text-align: center;
    padding: 2rem 1.5rem 1.75rem;
    background: linear-gradient(145deg, #0c4a6e 0%, #0083B0 45%, #0891b2 100%);
    color: #fff;
    border-radius: 1rem 1rem 0 0;
    position: relative;
    overflow: hidden;
}
.researcher-profile-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.12), transparent 45%);
    pointer-events: none;
}
.researcher-profile-hero__avatar {
    width: 88px; height: 88px; margin: 0 auto 1rem;
    border-radius: 50%; background: #fff; color: var(--primary-color);
    display: flex; align-items: center; justify-content: center;
    font-size: 2.25rem; box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    position: relative; z-index: 1;
}
.researcher-profile-hero__name {
    font-size: 1.35rem; font-weight: 800; margin: 0 0 0.65rem;
    position: relative; z-index: 1;
}
.profile-email-badge {
    display: inline-flex; align-items: center; gap: 0.4rem;
    margin: 0; padding: 0.35rem 0.85rem; border-radius: 999px;
    font-size: 0.82rem; font-weight: 700; position: relative; z-index: 1;
}
.profile-email-badge--yes { background: rgba(255,255,255,0.22); color: #ecfdf5; border: 1px solid rgba(255,255,255,0.35); }
.profile-email-badge--no { background: rgba(0,0,0,0.15); color: #fee2e2; border: 1px solid rgba(255,255,255,0.2); }
.profile-email-line { margin: 0; font-size: 0.88rem; position: relative; z-index: 1; }
.profile-email-line--admin { color: #e0f2fe; }
.profile-email-line--none { color: #fecaca; }
.researcher-profile-body { background: #fff; }

.researchers-grid-loading__spinner {
    width: 2.5rem; height: 2.5rem; margin: 0 auto;
    border: 3px solid #e2e8f0; border-top-color: var(--primary-color);
    border-radius: 50%; animation: researchersSpin 0.7s linear infinite;
}
@keyframes researchersSpin { to { transform: rotate(360deg); } }

/* ═══ مشاريع التخرج ═══ */
.grad-projects-page { padding-bottom: 2rem; }

.grad-projects-hero {
 display: flex;
 align-items: center;
 gap: 1rem;
 padding: 1.25rem 1.35rem;
 background: linear-gradient(135deg, #f0f9ff 0%, #fff 100%);
 border: 1px solid rgba(0, 131, 176, 0.15);
 border-radius: 20px;
 box-shadow: var(--card-shadow);
}

.grad-projects-hero--compact { padding: 1rem 1.15rem; }

.grad-projects-hero__icon {
 width: 56px;
 height: 56px;
 border-radius: 16px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.5rem;
 color: #fff;
 background: linear-gradient(135deg, var(--primary-color), #00b4db);
 flex-shrink: 0;
}

.grad-projects-hero__title {
 font-size: var(--text-lg);
 font-weight: 800;
 color: var(--primary-color);
 margin: 0 0 0.2rem;
}

.grad-projects-hero__sub {
 font-size: var(--text-sm);
 color: var(--text-muted);
}

.grad-colleges-grid,
.grad-depts-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
 gap: 1rem;
}

.grad-college-card,
.grad-dept-card {
 display: flex;
 align-items: center;
 gap: 0.85rem;
 width: 100%;
 padding: 1.1rem 1.15rem;
 background: #fff;
 border: 1px solid rgba(0, 131, 176, 0.14);
 border-radius: 18px;
 box-shadow: var(--card-shadow);
 text-align: right;
 transition: var(--transition);
 cursor: pointer;
}

.grad-college-card:hover,
.grad-dept-card:hover {
 transform: translateY(-3px);
 box-shadow: var(--card-shadow-hover);
 border-color: rgba(0, 131, 176, 0.28);
}

.grad-college-card__icon,
.grad-dept-card__icon {
 width: 48px;
 height: 48px;
 border-radius: 14px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.25rem;
 color: #fff;
 flex-shrink: 0;
}

.grad-dept-card__icon { color: inherit; font-size: 1.1rem; }

.grad-college-card__body,
.grad-dept-card__body {
 flex: 1;
 min-width: 0;
 display: flex;
 flex-direction: column;
 gap: 0.15rem;
}

.grad-college-card__title {
 font-size: var(--text-base);
 font-weight: 700;
 color: var(--text-dark);
 line-height: 1.4;
}

.grad-college-card__meta,
.grad-dept-card__body small {
 font-size: var(--text-xs);
 color: var(--text-muted);
}

.grad-college-card__arrow,
.grad-dept-card .bi-chevron-left {
 color: var(--primary-color);
 opacity: 0.7;
 flex-shrink: 0;
}

.grad-breadcrumb {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 0.35rem;
 font-size: var(--text-sm);
}

.grad-breadcrumb__link {
 background: none;
 border: none;
 padding: 0;
 color: var(--primary-color);
 font-weight: 600;
 cursor: pointer;
}

.grad-breadcrumb__link:hover { text-decoration: underline; }

.grad-breadcrumb__current {
 color: var(--text-muted);
 font-weight: 600;
}

.grad-breadcrumb__sep {
 font-size: 0.7rem;
 color: #cbd5e1;
}

.grad-table-title {
 font-size: var(--text-lg);
 font-weight: 800;
 color: var(--primary-color);
}

.grad-projects-table thead {
 background: #f8fafc;
}

.grad-projects-table th {
 font-size: var(--text-xs);
 font-weight: 700;
 color: var(--secondary-color);
 white-space: nowrap;
 padding: 0.85rem 0.65rem;
 border-bottom: 2px solid #e2e8f0;
}

.grad-projects-table td {
 font-size: var(--text-sm);
 vertical-align: middle;
 padding: 0.75rem 0.65rem;
}

.grad-pub-badge {
 display: inline-block;
 padding: 0.2rem 0.65rem;
 border-radius: 50px;
 font-size: 0.75rem;
 font-weight: 700;
}

.grad-pub--yes { background: #d1fae5; color: #065f46; }
.grad-pub--no { background: #fee2e2; color: #991b1b; }

.grad-actions-col { white-space: nowrap; }
.grad-actions-col .btn { padding: 0.2rem 0.45rem; }

.grad-admin-bar .btn { border-radius: 10px; }

/* ═══ تقرير مشاريع التخرج — كانفا هادئ واحترافي ═══ */
.grad-canva-toolbar {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 0.75rem;
 margin-bottom: 1rem;
}

.grad-canva-back {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 padding: 0.45rem 1rem;
 border-radius: 999px;
 border: 1px solid #d0e4ef;
 background: #fff;
 color: #2a6f8a;
 font-weight: 700;
 font-size: var(--text-sm);
 cursor: pointer;
 transition: var(--transition);
}

.grad-canva-back:hover {
 background: #f2f8fb;
 border-color: #a8c9d9;
}

.grad-canva-admin {
 display: flex;
 flex-wrap: wrap;
 gap: 0.5rem;
}

.grad-canva-btn {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
 padding: 0.45rem 0.9rem;
 border-radius: 10px;
 border: none;
 font-weight: 700;
 font-size: var(--text-xs);
 cursor: pointer;
 transition: var(--transition);
 font-family: var(--font-sans);
}

.grad-canva-btn--primary {
 background: #00b8c4;
 color: #fff;
 box-shadow: 0 2px 8px rgba(0, 184, 196, 0.28);
}

.grad-canva-btn--amber {
 background: #e8d5a8;
 color: #5c4a22;
}

.grad-canva-btn--ghost {
 background: #fff;
 color: #1e2a4a;
 border: 1px solid #c5e0d4;
}

.grad-canva-btn:hover { opacity: 0.92; }

.grad-canva-report {
 position: relative;
 border-radius: 20px;
 overflow: hidden;
 color: #334155;
 background: #fff;
 border: 1px solid #dce8ef;
 box-shadow: 0 8px 28px rgba(45, 90, 110, 0.08);
 isolation: isolate;
}

.grad-canva-bg {
 position: absolute;
 inset: 0;
 z-index: 0;
 background:
 linear-gradient(180deg, #e8f2f6 0%, #f7fafc 42%, #ffffff 100%);
}

.grad-canva-bg::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 7px;
 background: linear-gradient(90deg, #5a9aad, #7eb8c7, #5a9aad);
}

.grad-canva-bg::after {
 content: none;
}

.grad-canva-header,
.grad-canva-meta,
.grad-canva-table-wrap,
.grad-canva-footer {
 position: relative;
 z-index: 1;
}

.grad-canva-header {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 1rem;
 padding: 1.6rem 1.25rem 1rem;
 text-align: center;
}

.grad-canva-header__emblem {
 position: relative;
 width: 58px;
 height: 58px;
 border-radius: 16px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.65rem;
 color: #3d8a9e;
 background: #fff;
 border: 1px solid #cfe0e8;
 box-shadow: 0 4px 14px rgba(61, 138, 158, 0.12);
 flex-shrink: 0;
}

.grad-canva-header__ribbon {
 display: none;
}

.grad-canva-header__ar {
 margin: 0;
 font-size: clamp(1.25rem, 3.5vw, 1.65rem);
 font-weight: 800;
 color: #2c5f70;
 letter-spacing: -0.01em;
}

.grad-canva-header__en {
 margin: 0.3rem 0 0;
 font-size: 0.75rem;
 font-weight: 600;
 letter-spacing: 0.14em;
 color: #7a9eab;
 text-transform: uppercase;
}

.grad-canva-header__goal {
 margin: 0.45rem 0 0;
 font-size: 0.78rem;
 font-weight: 700;
 color: #0e7490;
}

.grad-canva-header__goal strong { color: #059669; }

.grad-canva-meta {
 display: grid;
 grid-template-columns: repeat(5, 1fr);
 gap: 0.7rem;
 padding: 0 1.15rem 1.15rem;
}

.grad-canva-glass {
 display: flex;
 align-items: flex-start;
 gap: 0.65rem;
 padding: 0.85rem 0.95rem;
 border-radius: 14px;
 background: #fff;
 border: 1px solid #dce8ef;
 box-shadow: 0 2px 8px rgba(45, 90, 110, 0.04);
}

.grad-canva-glass > i {
 font-size: 1.1rem;
 color: #5a9aad;
 margin-top: 0.15rem;
 flex-shrink: 0;
}

.grad-canva-glass__label {
 display: block;
 font-size: 0.7rem;
 font-weight: 600;
 color: #7a9eab;
 margin-bottom: 0.2rem;
}

.grad-canva-glass strong {
 display: block;
 font-size: 0.9rem;
 font-weight: 700;
 color: #2c4a56;
 line-height: 1.4;
}

.grad-canva-table-wrap {
 margin: 0 1rem 1rem;
 border-radius: 14px;
 overflow: visible;
 border: none;
 background: transparent;
}

.grad-canva-table {
 width: 100%;
 margin: 0;
 border-collapse: separate;
 border-spacing: 0 0.5rem;
 color: #1e293b;
}

.grad-canva-table thead {
 background: transparent;
}

.grad-canva-table th {
 padding: 0;
 font-size: 0.75rem;
 font-weight: 800;
 color: #fff;
 white-space: nowrap;
 border: none;
 text-align: center;
 vertical-align: middle;
}

.grad-canva-th {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.35rem;
 width: 100%;
 padding: 0.65rem 0.7rem;
 border-radius: 11px;
 color: #fff;
 background: linear-gradient(180deg, #7eb6d4 0%, #6aa8c8 100%);
 box-shadow: 0 2px 8px rgba(30, 42, 74, 0.1);
}

.grad-canva-th--num {
 background: #2d3f66;
 min-width: 2.4rem;
 padding: 0.65rem 0.45rem;
}

.grad-canva-th--title {
 background: #1e2a4a;
 justify-content: flex-start;
 padding-inline-start: 0.95rem;
}

.grad-canva-table td {
 padding: 0.85rem 0.65rem;
 font-size: 0.82rem;
 font-weight: 600;
 vertical-align: middle;
 text-align: center;
 border: none;
 line-height: 1.5;
 color: #334155;
 background: #fff;
}

.grad-canva-row:nth-child(even) td {
 background: #e8f7fb;
}

.grad-canva-row:hover td {
 background: #dff3f8;
}

.grad-canva-table tbody td:first-child {
 border-radius: 0 13px 13px 0;
}

.grad-canva-table tbody td:last-child {
 border-radius: 13px 0 0 13px;
}

.grad-canva-num {
 font-weight: 800;
 color: #0097a7;
 width: 2.5rem;
}

.grad-canva-name {
 font-weight: 700;
 color: #1a2744;
 text-align: right;
}

.grad-canva-badge {
 display: inline-flex;
 align-items: center;
 gap: 0.25rem;
 padding: 0.3rem 0.75rem;
 border-radius: 9px;
 font-size: 0.72rem;
 font-weight: 800;
 white-space: nowrap;
 border: none;
}

.grad-canva-badge--yes {
 background: #00b8c4;
 color: #fff;
 box-shadow: 0 2px 8px rgba(0, 184, 196, 0.28);
}

.grad-canva-badge--no {
 background: #dce3ea;
 color: #475569;
}

/* أسماء الباحثين — المزيد كنص خفيف */
.grad-researchers {
 text-align: right;
 font-weight: 500;
 color: #475569;
 line-height: 1.55;
}

.grad-researchers.is-collapsed .grad-researchers__full { display: none; }
.grad-researchers:not(.is-collapsed) .grad-researchers__short { display: none; }

.grad-more-btn {
 display: inline;
 margin-inline-start: 0.2rem;
 padding: 0;
 border: none;
 background: none;
 color: #7a9eab;
 font-family: var(--font-sans);
 font-size: 0.78rem;
 font-weight: 600;
 cursor: pointer;
 white-space: nowrap;
 text-decoration: underline;
 text-decoration-color: rgba(122, 158, 171, 0.45);
 text-underline-offset: 2px;
 vertical-align: baseline;
}

.grad-more-btn:hover {
 color: #00b8c4;
 text-decoration-color: #00b8c4;
}

.grad-more-btn i {
 font-size: 0.65rem;
 opacity: 0.75;
}

.grad-canva-empty {
 text-align: center !important;
 padding: 2.5rem 1rem !important;
 color: #7a9eab !important;
}

.grad-canva-act {
 width: 32px;
 height: 32px;
 border-radius: 8px;
 border: 1px solid #dce8ef;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 margin: 0 2px;
 transition: var(--transition);
 background: #fff;
 color: #5a7a88;
}

.grad-canva-act--edit:hover {
 border-color: #a8c9d9;
 color: #3d8a9e;
 background: #f2f8fb;
}

.grad-canva-act--del:hover {
 border-color: #e5cfcf;
 color: #8a4a4a;
 background: #faf5f5;
}

.grad-canva-act--locked,
.grad-canva-act--locked:disabled {
 opacity: 0.55;
 cursor: not-allowed;
 color: #64748b;
 border-color: #e2e8f0;
 background: #f8fafc;
}

.grad-canva-act--track:hover {
 border-color: #a7e0d8;
 color: #0e7490;
 background: #f0fdfa;
}

/* مسار المتابعة حتى النشر */
.grad-track-chip {
 display: inline-flex;
 align-items: center;
 gap: 0.3rem;
 border: 1.5px solid color-mix(in srgb, var(--gt-c, #0e7490) 45%, #fff);
 background: #fff;
 color: var(--gt-c, #0e7490);
 border-radius: 999px;
 padding: 0.2rem 0.5rem;
 font-family: inherit;
 font-size: 0.68rem;
 font-weight: 800;
 cursor: pointer;
 white-space: nowrap;
}
.grad-track-chip__dot {
 width: 7px; height: 7px; border-radius: 50%;
 background: var(--gt-c, #0e7490);
}
.grad-track-chip__pct {
 font-size: 0.62rem;
 color: #64748b;
 font-weight: 750;
}

.grad-track-head h6 {
 font-size: 0.95rem;
 font-weight: 800;
 color: #0c4a6e;
 margin: 0 0 0.25rem;
}
.grad-track-head > p { font-size: 0.78rem; color: #64748b; font-weight: 600; }
.grad-track-meta-line { font-size: 0.74rem !important; margin-top: 0.35rem !important; color: #475569 !important; }

.grad-track-progress {
 background: #f8fbfd;
 border: 2px solid #d5e8ef;
 border-radius: 14px;
 padding: 0.75rem 0.85rem;
 margin: 0.85rem 0;
}
.grad-track-progress__lbl { font-size: 0.8rem; font-weight: 800; }
.grad-track-bar {
 height: 8px; background: #e2e8f0; border-radius: 999px; overflow: hidden;
 border: 1px solid #d5dee6;
}
.grad-track-bar i { display: block; height: 100%; border-radius: 999px; }
.grad-track-goal {
 margin: 0.55rem 0 0;
 font-size: 0.74rem;
 font-weight: 700;
 color: #0e7490;
}
.grad-track-goal strong { color: #059669; }

.grad-track-timeline {
 display: grid;
 grid-template-columns: repeat(7, 1fr);
 gap: 0.35rem;
 margin-bottom: 0.85rem;
}
.grad-track-step {
 text-align: center;
 background: #fff;
 border: 2px solid #d5e5ea;
 border-radius: 12px;
 padding: 0.4rem 0.2rem;
 font-size: 0.62rem;
 font-weight: 750;
 color: #64748b;
}
.grad-track-step__n {
 display: inline-flex; width: 18px; height: 18px; border-radius: 50%;
 align-items: center; justify-content: center;
 background: #e2e8f0; font-size: 0.6rem; margin-bottom: 0.15rem;
}
.grad-track-step b { display: block; line-height: 1.3; }
.grad-track-step small { color: #94a3b8; }
.grad-track-step.is-done {
 border-color: #86d4b5; background: #ecfdf5; color: #047857;
}
.grad-track-step.is-done .grad-track-step__n { background: #059669; color: #fff; }
.grad-track-step.is-now {
 border-color: var(--gt-c, #0e7490);
 background: #ecfeff;
 color: var(--gt-c, #0e7490);
 box-shadow: 0 0 0 2px color-mix(in srgb, var(--gt-c, #0e7490) 18%, transparent);
}
.grad-track-step.is-now .grad-track-step__n {
 background: var(--gt-c, #0e7490); color: #fff;
}

.grad-track-stall {
 background: #fff1f2; border: 1.5px solid #fecdd3; color: #9f1239;
 border-radius: 12px; padding: 0.55rem 0.75rem; font-size: 0.76rem; font-weight: 700;
 margin-bottom: 0.75rem;
}
.grad-track-admin {
 background: #f8fbfd; border: 2px solid #d5e8ef; border-radius: 14px;
 padding: 0.85rem; margin-top: 0.5rem;
}
.grad-track-readonly-hint {
 font-size: 0.74rem; font-weight: 600; color: #64748b;
 background: #f1f5f9; border-radius: 10px; padding: 0.55rem 0.7rem;
}
.grad-track-log-title { font-size: 0.82rem; font-weight: 800; color: #0c4a6e; }
.grad-track-log {
 background: #fff; border: 1.5px solid #e2eef3; border-radius: 10px;
 padding: 0.45rem 0.6rem; margin-bottom: 0.35rem; font-size: 0.72rem;
}
.grad-track-log div {
 display: flex; justify-content: space-between; gap: 0.5rem;
 color: #64748b; font-weight: 600; margin-bottom: 0.15rem;
}
.grad-track-log p { margin: 0; font-weight: 700; color: #334155; }

.grad-canva-footer {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap: 0.5rem;
 padding: 0.85rem 1.25rem 1.1rem;
 font-size: 0.78rem;
 font-weight: 600;
 color: #7a9eab;
 border-top: 1px solid #e4eef3;
 background: #f7fbfd;
}

@media (max-width: 991px) {
 .grad-canva-meta { grid-template-columns: repeat(2, 1fr); }
 .grad-track-timeline { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 560px) {
 .grad-track-timeline { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
 .nav-grad-label { font-size: var(--text-sm); }
 .grad-projects-table { font-size: 0.8rem; }
 .grad-projects-table th,
 .grad-projects-table td { padding: 0.55rem 0.4rem; }
 .grad-colleges-grid,
 .grad-depts-grid { grid-template-columns: 1fr; }
 .grad-canva-meta { grid-template-columns: 1fr; }
 .grad-canva-header { flex-direction: column; gap: 0.75rem; padding-top: 1.35rem; }
 .grad-canva-footer { flex-direction: column; text-align: center; }

 /* جدول مشاريع التخرج → بطاقات فورية (CSS فقط) */
 .grad-canva-table-wrap .table-responsive { overflow: visible; }
 .grad-canva-table { border-spacing: 0; }
 .grad-canva-table thead { display: none; }
 .grad-canva-table tbody tr.grad-canva-row {
  display: block;
  margin-bottom: 0.7rem;
  border: 1px solid #d4e8f0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 10px rgba(30, 42, 74, 0.05);
 }
 .grad-canva-table tbody tr.grad-canva-row:nth-child(even) { background: #e8f7fb; }
 .grad-canva-table tbody tr.grad-canva-row td {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  width: 100%;
  padding: 0.55rem 0.9rem;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left;
  border-bottom: 1px solid rgba(212, 232, 240, 0.7);
  font-size: 0.8rem;
 }
 .grad-canva-table tbody tr.grad-canva-row td:last-child { border-bottom: none; }
 .grad-canva-table tbody tr.grad-canva-row td::before {
  content: attr(data-label);
  flex-shrink: 0;
  font-weight: 700;
  font-size: 0.7rem;
  color: #7a9eab;
  min-width: 5rem;
  text-align: right;
 }
 .grad-canva-table tbody tr.grad-canva-row td.grad-canva-num {
  display: inline-flex;
  width: auto;
  margin: 0.65rem 0.9rem 0.15rem;
  padding: 0.2rem 0.55rem !important;
  background: #1e2a4a !important;
  color: #fff !important;
  border-radius: 8px !important;
  border-bottom: none;
  font-weight: 800;
  font-size: 0.78rem;
 }
 .grad-canva-table tbody tr.grad-canva-row td.grad-canva-num::before { content: none; }
 .grad-canva-table tbody tr.grad-canva-row td.grad-canva-name {
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  text-align: right;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2744;
  border-bottom: 1px dashed #d4e8f0;
 }
 .grad-canva-table tbody tr.grad-canva-row td.grad-canva-name::before { min-width: 0; }
 .grad-canva-table tbody tr.grad-canva-row td.grad-actions-col { justify-content: flex-end; }
}

/* ═══ تسجيل أبحاث جديدة — راقٍ · خط صغير · حدود دقيقة ═══ */
body.page-new-research .portal-header { display: none; }
body.page-new-research .app-main { padding-top: 0.85rem; }
body.page-researcher-eval .app-main { padding-top: 1rem; }
body.page-new-research {
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(90, 154, 173, 0.09), transparent 55%),
    #f3f7f9;
}

.nr-page {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 0.65rem calc(1.1rem + var(--safe-bottom));
  font-size: 0.875rem;
}

/* بطاقة كانفا الرئيسية */
.nr-canva {
  --canva-accent: var(--canva-navy);
  --canva-edge: var(--canva-navy-edge);
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  color: #3d5560;
  background: #fff;
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 70%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 0 0 3px #fff,
    0 0 0 5px color-mix(in srgb, var(--canva-gold) 42%, #fff),
    0 10px 32px rgba(45, 90, 110, 0.07);
  isolation: isolate;
  margin-bottom: 1rem;
}

.nr-canva-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(165deg, #eef5f8 0%, #f8fbfc 38%, #ffffff 100%);
  pointer-events: none;
}

.nr-canva-bg::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 0;
}

.nr-canva-bg::after {
  content: '';
  position: absolute;
  inset: 8px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--canva-gold) 38%, var(--canva-edge));
  pointer-events: none;
}

.nr-canva > *:not(.nr-canva-bg) {
  position: relative;
  z-index: 1;
}

.nr-canva-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.25rem 1.15rem 0.7rem;
  text-align: center;
  flex-wrap: wrap;
}

.nr-canva-emblem {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: #3d8a9e;
  background: linear-gradient(180deg, #fff, #f4f9fb);
  border: 1px solid rgba(122, 158, 171, 0.35);
  box-shadow: 0 2px 8px rgba(61, 138, 158, 0.08);
  flex-shrink: 0;
}

.nr-canva-header h1 {
  margin: 0;
  font-size: clamp(0.98rem, 2.4vw, 1.18rem);
  font-weight: 800;
  color: #2a5360;
  letter-spacing: -0.015em;
  line-height: 1.35;
}

.nr-canva-en {
  margin: 0.2rem 0 0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #7a9eab;
  text-transform: uppercase;
}

.nr-canva-sub {
  margin: 0.28rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6a8796;
  line-height: 1.45;
}

.nr-canva--gate { margin-bottom: 1rem; }

.nr-gate-lead {
  text-align: center;
  margin: 0 auto 0.85rem;
  max-width: 32rem;
  padding: 0 1.15rem;
  font-size: 0.78rem;
  line-height: 1.65;
  color: #5a7582;
  font-weight: 600;
}

.nr-journey {
  list-style: none;
  margin: 0 auto 0.95rem;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 680px;
}

.nr-journey li {
  --canva-accent: var(--canva-teal);
  --canva-edge: var(--canva-teal-edge);
  position: relative;
  background: linear-gradient(180deg, #fff 0%, #f7fbfc 100%);
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  border-radius: 13px;
  padding: 0.6rem 0.5rem 0.65rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 6px 16px rgba(15, 23, 42, 0.045);
  overflow: hidden;
}
.nr-journey li:nth-child(1) { --canva-accent: var(--canva-navy); --canva-edge: var(--canva-navy-edge); }
.nr-journey li:nth-child(2) { --canva-accent: var(--canva-teal); --canva-edge: var(--canva-teal-edge); }
.nr-journey li:nth-child(3) { --canva-accent: var(--canva-amber); --canva-edge: var(--canva-amber-edge); }
.nr-journey li::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 9px;
  border: 1px solid color-mix(in srgb, var(--canva-edge) 48%, transparent);
  pointer-events: none;
}

.nr-journey li span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(145deg, #00a8a8, #00838f);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 131, 143, 0.22);
}

.nr-journey li b {
  font-size: 0.72rem;
  color: #2a5360;
  font-weight: 800;
  line-height: 1.3;
}

.nr-journey li small {
  font-size: 0.64rem;
  color: #7a949f;
  line-height: 1.35;
  font-weight: 500;
}

.nr-role-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  padding: 0 1rem 0.85rem;
}

.nr-role-card {
  --canva-accent: var(--canva-navy);
  --canva-edge: var(--canva-navy-edge);
  position: relative;
  text-align: right;
  border-radius: 16px;
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  padding: 1rem 0.95rem 0.9rem;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  font-family: inherit;
  color: inherit;
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 8px 22px rgba(15, 23, 42, 0.05);
}
.nr-role-card::after {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, var(--canva-edge) 52%, transparent);
  pointer-events: none;
}
.nr-role-card > * { position: relative; z-index: 1; }
.nr-role-card--doc { --canva-accent: var(--canva-navy); --canva-edge: var(--canva-navy-edge); }
.nr-role-card--stu { --canva-accent: var(--canva-teal); --canva-edge: var(--canva-teal-edge); }

.nr-role-card:hover {
  transform: translateY(-3px);
  border-color: var(--canva-accent);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 14px 28px color-mix(in srgb, var(--canva-accent) 16%, transparent);
}

.nr-role-card:focus-visible {
  outline: 2px solid rgba(0, 168, 168, 0.45);
  outline-offset: 2px;
}

.nr-role-card__ico {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  margin-bottom: 0.5rem;
  border: 1px solid transparent;
}

.nr-role-card--doc .nr-role-card__ico {
  background: #eef8f8;
  color: #00838f;
  border-color: rgba(0, 131, 143, 0.18);
}

.nr-role-card--stu .nr-role-card__ico {
  background: #f0f6f9;
  color: #2f6f82;
  border-color: rgba(47, 111, 130, 0.16);
}

.nr-role-card h2 {
  margin: 0 0 0.28rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: #234f5e;
  letter-spacing: -0.01em;
}

.nr-role-card p {
  margin: 0 0 0.5rem;
  font-size: 0.74rem;
  line-height: 1.55;
  color: #5a7582;
  font-weight: 500;
}

.nr-role-card ul {
  margin: 0 0 0.7rem;
  padding: 0.45rem 0.85rem 0.45rem 0.55rem;
  font-size: 0.7rem;
  color: #4d6876;
  line-height: 1.55;
  border-radius: 10px;
  border: 1px dashed rgba(122, 158, 171, 0.35);
  background: rgba(248, 251, 252, 0.85);
  list-style: disc;
}

.nr-role-card ul li { margin: 0.1rem 0; }

.nr-role-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 800;
  font-size: 0.76rem;
  color: #00838f;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 131, 143, 0.22);
  background: rgba(0, 168, 168, 0.06);
}

.nr-role-card--stu .nr-role-card__cta {
  color: #2f6f82;
  border-color: rgba(47, 111, 130, 0.22);
  background: rgba(47, 111, 130, 0.05);
}

.nr-role-card:hover .nr-role-card__cta {
  border-color: rgba(0, 131, 143, 0.4);
  background: rgba(0, 168, 168, 0.1);
}

.nr-gate-note {
  text-align: center;
  margin: 0;
  padding: 0 1.1rem 1.05rem;
  font-size: 0.68rem;
  color: #6a8796;
  font-weight: 600;
  line-height: 1.5;
}

.nr-gate-note i { color: #00a8a8; margin-left: 0.25rem; }

.nr-path--c {
  background: linear-gradient(180deg, #f4f8fb 0%, #fff 100%);
}

.nr-prop-block {
  border: 1px solid rgba(122, 158, 171, 0.28);
  border-radius: 12px;
  padding: 0.75rem;
  margin-bottom: 0.65rem;
  background: #fbfcfd;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.nr-prop-block__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  color: #2c5f70;
  font-size: 0.8rem;
}

@media (max-width: 720px) {
  .nr-role-grid { grid-template-columns: 1fr; }
  .nr-journey { grid-template-columns: 1fr; gap: 0.4rem; }
  .nr-journey li {
    flex-direction: row;
    text-align: right;
    justify-content: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.7rem;
  }
  .nr-journey li b,
  .nr-journey li small { text-align: right; }
}

.nr-canva-actions {
  display: flex;
  justify-content: center;
  gap: 0.7rem;
  flex-wrap: wrap;
  padding: 0.35rem 1.15rem 1.5rem;
}

.nr-hero-btn,
.nr-canva-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: 12px;
  padding: 0.75rem 1.35rem;
  font-family: inherit;
  font-weight: 800;
  font-size: 0.9rem;
  cursor: pointer;
  transition: transform 0.18s, box-shadow 0.18s, background 0.18s;
  border: none;
  min-height: 48px;
}

.nr-canva-cta--primary {
  background: #00b8c4;
  color: #fff;
  box-shadow: 0 3px 12px rgba(0, 184, 196, 0.28);
}

.nr-canva-cta--primary:hover {
  background: #0097a7;
  transform: none;
}

.nr-canva-cta--ghost {
  background: #fff;
  color: #3d8a9e;
  border: 1px solid #c5d9e3;
}

.nr-canva-cta--ghost:hover {
  background: #f2f8fb;
  border-color: #a8c9d9;
}

.nr-hero-btn__short { display: none; }

/* جلسة + تبويبات */
.nr-session-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  background: #fff;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.85rem;
  box-shadow: 0 2px 8px rgba(45, 90, 110, 0.04);
}

.nr-session-bar__who {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: #2c4a56;
}

.nr-session-bar__who i { color: #5a9aad; font-size: 1.2rem; }

.nr-tabs {
  display: flex;
  gap: 0.3rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 0.75rem;
  padding: 0.32rem;
  background: #fff;
  border: 1px solid rgba(122, 158, 171, 0.28);
  border-radius: 12px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 2px 8px rgba(45, 90, 110, 0.04);
}

.nr-tabs::-webkit-scrollbar { display: none; }

.nr-tab {
  border: none;
  background: transparent;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.74rem;
  color: #7a9eab;
  padding: 0.42rem 0.8rem;
  border-radius: 9px;
  cursor: pointer;
  white-space: nowrap;
  flex: 0 0 auto;
  min-height: 36px;
  transition: background 0.18s, color 0.18s;
}

.nr-tab:hover { color: #3d8a9e; background: #eef6f9; }

.nr-tab.active {
  color: #fff;
  background: #1e2a4a;
  box-shadow: 0 2px 8px rgba(30, 42, 74, 0.2);
}

.nr-panel {
  background: #fff;
  border: 1px solid rgba(122, 158, 171, 0.28);
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 6px 18px rgba(45, 90, 110, 0.05);
  padding: 1rem 1rem 1.15rem;
  margin-bottom: 1rem;
}

/* مسارات */
.nr-welcome {
  text-align: center;
  margin-bottom: 0.95rem;
  padding: 0.1rem 0.5rem 0.25rem;
}

.nr-welcome h3 {
  font-size: 0.95rem;
  font-weight: 800;
  margin: 0 0 0.28rem;
  color: #1e2a4a;
}

.nr-welcome p {
  margin: 0 auto;
  max-width: 520px;
  color: #7a9eab;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.5;
}

.nr-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin-bottom: 0.85rem;
}

.nr-path {
  --canva-accent: var(--canva-sky);
  --canva-edge: var(--canva-sky-edge);
  position: relative;
  text-align: right;
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, #f7fbfc 100%);
  padding: 1.05rem 1rem;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 8px 20px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.12s, box-shadow 0.12s, transform 0.12s;
  font-family: inherit;
  color: inherit;
}

.nr-path:hover {
  transform: translateY(-2px);
  border-color: var(--canva-accent);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 12px 24px color-mix(in srgb, var(--canva-accent) 16%, transparent);
}

.nr-path::before {
  content: '';
  position: absolute;
  inset: 7px;
  height: auto;
  border-radius: 11px;
  background: none;
  border: 1px solid color-mix(in srgb, var(--canva-edge) 50%, transparent);
  pointer-events: none;
}

.nr-path--a { --canva-accent: var(--canva-sky); --canva-edge: var(--canva-sky-edge); }
.nr-path--b { --canva-accent: var(--canva-emerald); --canva-edge: var(--canva-emerald-edge); }
.nr-path--c { --canva-accent: var(--canva-navy); --canva-edge: var(--canva-navy-edge); }

.nr-path__num {
  position: absolute;
  top: 0.7rem;
  left: 0.9rem;
  font-size: 1.45rem;
  font-weight: 800;
  color: rgba(30, 42, 74, 0.09);
  line-height: 1;
}

.nr-path__ico {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.95rem;
  margin-bottom: 0.55rem;
  background: #1e2a4a;
  box-shadow: 0 2px 8px rgba(30, 42, 74, 0.18);
}

.nr-path--b .nr-path__ico {
  background: #3d9a7a;
  box-shadow: 0 2px 8px rgba(61, 154, 122, 0.18);
}

.nr-path h3 {
  font-size: 0.88rem;
  font-weight: 800;
  margin: 0 0 0.3rem;
  color: #1e2a4a;
}

.nr-path p {
  margin: 0 0 0.6rem;
  color: #7a9eab;
  font-size: 0.74rem;
  line-height: 1.5;
}

.nr-chips { display: flex; flex-wrap: wrap; gap: 0.3rem; }

.nr-chips span {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.22rem 0.55rem;
  border-radius: 8px;
  background: #e8f7fb;
  color: #1a6a78;
}

.nr-path--b .nr-chips span {
  background: #e8f6f0;
  color: #2d6a52;
}

.nr-path__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.75rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: #fff;
  background: #00b8c4;
  padding: 0.35rem 0.8rem;
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(0, 184, 196, 0.25);
}

.nr-path--b .nr-path__cta {
  color: #fff;
  background: #3d9a7a;
  box-shadow: 0 2px 8px rgba(61, 154, 122, 0.25);
}

.nr-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}

.nr-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.74rem;
  font-weight: 700;
  padding: 0.32rem 0.7rem;
  border-radius: 999px;
  background: #eef6f9;
  color: #3d8a9e;
  border: 1px solid #dce8ef;
}

.nr-pill--ok {
  background: #eef6f2;
  color: #3d7a5c;
  border-color: #c5e0d4;
}

.nr-pill--warn {
  background: #faf6ee;
  color: #8a6a3a;
  border-color: #e8dcc4;
}

/* حقول وأزرار */
.nr-lead {
  color: #7a9eab;
  font-size: 0.88rem;
  margin: 0 0 1rem;
}

.nr-field { margin-bottom: 0.7rem; }

.nr-field label,
.nr-field-label {
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  color: #2c4a56;
  margin-bottom: 0.28rem;
}

.nr-opt { color: #7a9eab; font-weight: 600; font-size: 0.68rem; }
.nr-req { color: #b33a2b; }

.nr-input {
  width: 100%;
  border: 1px solid rgba(122, 158, 171, 0.35);
  border-radius: 10px;
  padding: 0.55rem 0.8rem;
  font-family: inherit;
  font-size: 0.82rem;
  background: #fff;
  color: #2c4a56;
  outline: none;
  transition: border-color 0.18s, box-shadow 0.18s;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.nr-input:focus {
  border-color: rgba(0, 184, 196, 0.65);
  box-shadow: 0 0 0 3px rgba(0, 184, 196, 0.12);
}

.nr-input--sm { padding: 0.4rem 0.65rem; font-size: 0.78rem; border-radius: 9px; }
textarea.nr-input { resize: vertical; min-height: 64px; }

.nr-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.nr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: none;
  border-radius: 12px;
  font-family: inherit;
  font-weight: 800;
  font-size: 0.88rem;
  padding: 0.65rem 1.15rem;
  cursor: pointer;
  transition: transform 0.15s, background 0.15s, border-color 0.15s;
  min-height: 44px;
}

.nr-btn--main {
  color: #fff;
  background: #00b8c4;
  box-shadow: 0 3px 10px rgba(0, 184, 196, 0.28);
}

.nr-btn--main:hover { background: #0097a7; }

.nr-btn--ghost {
  background: #fff;
  color: #3d8a9e;
  border: 1.5px solid #c5d9e3;
}

.nr-btn--ghost:hover { background: #f2f8fb; }

.nr-btn--sm { padding: 0.4rem 0.85rem; font-size: 0.8rem; min-height: 38px; }
.nr-btn--block { width: 100%; }
.nr-btn:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }

.nr-page-head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.nr-page-head__title {
  font-size: 1.08rem;
  font-weight: 800;
  margin: 0 0 0.2rem;
  color: #1e2a4a;
}

.nr-page-head__sub {
  margin: 0;
  color: #7a9eab;
  font-size: 0.84rem;
  font-weight: 500;
}

.nr-form-card {
  background: #fff;
  border: 1px solid #d4e8f0;
  border-radius: 16px;
  padding: 0;
  margin-bottom: 1rem;
  overflow: hidden;
}

.nr-form-card__step {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 0;
  padding: 0.7rem 1.1rem;
  background: #1e2a4a;
}

.nr-form-card__step span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #00b8c4;
  color: #fff;
  font-size: 0.72rem;
  display: grid;
  place-items: center;
}

.nr-form-card__hint {
  font-size: 0.8rem;
  color: #7a9eab;
  font-weight: 600;
  margin: 0.85rem 1.1rem 0.75rem;
}

.nr-form-card > .nr-field,
.nr-form-card > .nr-grid-2,
.nr-form-card > .nr-members {
  margin-left: 1.1rem;
  margin-right: 1.1rem;
}

.nr-form-card > .nr-field:first-of-type {
  margin-top: 1rem;
}

.nr-form-card > .nr-members,
.nr-form-card > .nr-grid-2 {
  margin-bottom: 1rem;
}

.nr-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.55rem;
  flex-wrap: wrap;
  padding-top: 0.35rem;
}

.nr-members {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin-bottom: 1rem;
}

.nr-member {
  border: 1.5px dashed #c5d9e3;
  border-radius: 12px;
  padding: 0.7rem;
  background: #fafcfd;
}

.nr-member.filled {
  border-style: solid;
  border-color: #a8d4e0;
  background: #e8f7fb;
}

.nr-member__n {
  font-size: 0.68rem;
  font-weight: 800;
  color: #5a9aad;
  margin-bottom: 0.3rem;
}

.nr-member__name,
.nr-member__sid {
  width: 100%;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 0.84rem;
  font-weight: 600;
  color: #2c4a56;
  outline: none;
  padding: 0.15rem 0;
}

.nr-member__sid {
  font-size: 0.78rem;
  font-weight: 500;
  color: #7a9eab;
  border-top: 1px dashed #e4eef3;
  margin-top: 0.25rem;
  padding-top: 0.35rem;
}

/* تصفح / تفاصيل */
.nr-browse-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.nr-search { position: relative; }

.nr-search > i {
  position: absolute;
  right: 0.95rem;
  top: 50%;
  transform: translateY(-50%);
  color: #5a9aad;
  pointer-events: none;
}

.nr-search .nr-input { padding-right: 2.4rem; }

.nr-catalog {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.nr-catalog-card,
.nr-topic {
  border: 1px solid #d4e8f0;
  border-radius: 14px;
  padding: 1.05rem 1.1rem;
  background: #fff;
  margin-bottom: 0;
  transition: border-color 0.12s;
}

.nr-topic { margin-bottom: 0.75rem; }

.nr-catalog-card:nth-child(even),
.nr-topic:nth-child(even) {
  background: #e8f7fb;
}

.nr-catalog-card:hover,
.nr-topic:hover {
  border-color: #7eb6d4;
  box-shadow: none;
}

.nr-catalog-card.is-full,
.nr-topic--full { opacity: 0.78; }

.nr-catalog-card__top {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.45rem;
}

.nr-catalog-card__top h4,
.nr-topic h4 {
  font-size: 0.98rem;
  font-weight: 800;
  margin: 0;
  line-height: 1.45;
  color: #1e2a4a;
  flex: 1;
}

.nr-catalog-card__sum,
.nr-topic__sum {
  font-size: 0.86rem;
  color: #7a9eab;
  margin: 0 0 0.65rem;
  line-height: 1.55;
}

.nr-catalog-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 0.35rem;
}

.nr-meta { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.65rem; }

.nr-chip {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.22rem 0.55rem;
  border-radius: 8px;
  background: #eef6f9;
  color: #3d8a9e;
}

.nr-chip--dept { background: #faf6ee; color: #8a6a3a; }
.nr-chip--seats { background: #eef6f2; color: #3d7a5c; }
.nr-chip--full { background: #f8eeee; color: #8a4a4a; }

.nr-seats {
  height: 5px;
  background: #e4eef3;
  border-radius: 99px;
  overflow: hidden;
  margin-bottom: 0.75rem;
}

.nr-seats > i {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #5a9aad, #7eb8c7);
}

.nr-status {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 0.3rem 0.7rem;
  border-radius: 9px;
  white-space: nowrap;
}

.nr-status--wait { background: #e2e8f0; color: #475569; }
.nr-status--go { background: #00b8c4; color: #fff; box-shadow: 0 2px 8px rgba(0, 184, 196, 0.25); }
.nr-status--run { background: #e8f6f0; color: #2d6a52; }
.nr-status--done { background: #1e2a4a; color: #fff; }
.nr-status--full { background: #dce3ea; color: #475569; }

.nr-detail {
  background: #f7fbfd;
  border: 1px solid #dce8ef;
  border-radius: 18px;
  padding: 1.25rem 1.15rem 1.15rem;
}

.nr-detail__badge { margin-bottom: 0.65rem; }

.nr-detail__title {
  font-size: 1.2rem;
  font-weight: 800;
  margin: 0 0 1rem;
  line-height: 1.45;
  color: #2c5f70;
}

.nr-detail__grid {
  display: grid;
  grid-template-columns: 1.4fr 0.9fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

.nr-detail__block {
  background: #fff;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  padding: 1rem 1.05rem;
}

.nr-detail__block h4 {
  font-size: 0.86rem;
  font-weight: 800;
  color: #3d8a9e;
  margin: 0 0 0.65rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.nr-detail__block p {
  margin: 0;
  font-size: 0.9rem;
  color: #2c4a56;
  line-height: 1.65;
  white-space: pre-wrap;
}

.nr-supervisor-card {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1rem;
}

.nr-supervisor-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #3d8a9e;
  color: #fff;
  font-weight: 800;
  font-size: 1.15rem;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.nr-supervisor-card strong {
  display: block;
  font-size: 0.95rem;
  color: #2c4a56;
}

.nr-supervisor-card span {
  display: block;
  font-size: 0.78rem;
  color: #7a9eab;
  font-weight: 600;
}

.nr-detail__note {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  background: #eef6f9;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  color: #2c5f70;
  font-weight: 600;
}

.nr-detail__note i { margin-top: 0.15rem; color: #5a9aad; }

/* متابعة */
.nr-track-row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: right;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #fafcfd;
  padding: 0.95rem 1rem;
  margin-bottom: 0.6rem;
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s;
  font-family: inherit;
  color: inherit;
}

.nr-track-row:hover {
  border-color: #a8c9d9;
  background: #fff;
}

.nr-track-row__body { flex: 1; min-width: 0; }

.nr-track-row__body strong {
  display: block;
  font-size: 0.94rem;
  margin-bottom: 0.3rem;
  color: #2c4a56;
}

.nr-track-row__arrow { color: #5a9aad; }

.nr-track-head h3 {
  font-size: 1.08rem;
  font-weight: 800;
  margin: 0 0 0.5rem;
  color: #2c5f70;
}

.nr-subh {
  font-size: 0.94rem;
  font-weight: 800;
  margin: 0 0 0.75rem;
  color: #2c4a56;
}

.nr-muted { color: #7a9eab; font-size: 0.88rem; }

.nr-timeline {
  display: flex;
  overflow-x: auto;
  padding: 0.4rem 0 1rem;
  margin-bottom: 0.5rem;
  gap: 0;
  -webkit-overflow-scrolling: touch;
}

.nr-tl {
  flex: 1;
  min-width: 80px;
  text-align: center;
  position: relative;
  padding: 0 0.15rem;
}

.nr-tl:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 16px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: #dce8ef;
  z-index: 0;
}

.nr-tl.done:not(:last-child)::after { background: #6aab92; }
.nr-tl.now:not(:last-child)::after { background: linear-gradient(90deg, #6aab92, #dce8ef); }

.nr-tl__dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin: 0 auto;
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  position: relative;
  z-index: 1;
  background: #e4eef3;
  color: #7a9eab;
  border: 3px solid #fff;
  box-shadow: 0 2px 6px rgba(45, 90, 110, 0.06);
}

.nr-tl.done .nr-tl__dot { background: #6aab92; color: #fff; }
.nr-tl.now .nr-tl__dot {
  background: #3d8a9e;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(61, 138, 158, 0.16);
}

.nr-tl__lbl {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.64rem;
  font-weight: 700;
  color: #7a9eab;
  line-height: 1.3;
}

.nr-tl.now .nr-tl__lbl { color: #3d8a9e; }
.nr-tl.done .nr-tl__lbl { color: #3d7a5c; }

.nr-update {
  background: #f7fbfd;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  margin-bottom: 0.55rem;
}

.nr-update__who {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: 0.74rem;
  color: #7a9eab;
  font-weight: 600;
  margin-bottom: 0.3rem;
}

.nr-update p { margin: 0; font-size: 0.88rem; color: #2c4a56; }

.nr-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem;
  margin-bottom: 1.1rem;
}

.nr-stat {
  text-align: center;
  padding: 0.85rem 0.4rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #dce8ef;
}

.nr-stat b {
  display: block;
  font-size: 1.4rem;
  font-weight: 800;
  color: #3d8a9e;
  line-height: 1.15;
}

.nr-stat span {
  font-size: 0.72rem;
  font-weight: 600;
  color: #7a9eab;
}

.nr-req-box,
.nr-req {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 0.85rem;
  border-radius: 12px;
  background: #f7fbfd;
  border: 1px solid #dce8ef;
  margin-top: 0.65rem;
}

.nr-row {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid #dce8ef;
  background: #fafcfd;
  margin-bottom: 0.65rem;
}

.nr-row__grow { flex: 1; min-width: 0; }

.nr-empty {
  text-align: center;
  padding: 2rem 1rem;
  color: #7a9eab;
}

.nr-empty i {
  font-size: 2rem;
  color: #5a9aad;
  opacity: 0.45;
  display: block;
  margin-bottom: 0.5rem;
}

.nr-empty p { margin: 0; font-weight: 600; }

.nr-ease { list-style: none; padding: 0; margin: 0; }

.nr-ease li {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e4eef3;
}

.nr-ease li:last-child { border-bottom: none; padding-bottom: 0; }
.nr-ease li:first-child { padding-top: 0; }

.nr-ease__ico {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #eef6f9;
  color: #3d8a9e;
  display: grid;
  place-items: center;
}

.nr-ease strong { display: block; font-size: 0.88rem; color: #2c4a56; }
.nr-ease span { font-size: 0.78rem; color: #7a9eab; font-weight: 500; }

/* نافذة تسجيل / انضمام — كانفا */
body.nr-reg-open { overflow: hidden; }

.nr-reg-overlay {
  position: fixed;
  inset: 0;
  z-index: 2500;
  background: rgba(44, 74, 86, 0.42);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  animation: nrFadeIn 0.2s ease;
}

@keyframes nrFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.nr-reg-window {
  --canva-accent: var(--canva-navy);
  --canva-edge: var(--canva-navy-edge);
  width: min(440px, 100%);
  background: #fff;
  border-radius: 18px;
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 0 0 3px #fff,
    0 0 0 5px color-mix(in srgb, var(--canva-gold) 42%, #fff),
    0 18px 44px rgba(45, 90, 110, 0.16);
  overflow: hidden;
  animation: nrRise 0.26s ease;
  display: flex;
  flex-direction: column;
  max-height: min(92vh, 720px);
}

@keyframes nrRise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

.nr-reg-window__head {
  display: flex;
  justify-content: space-between;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 1.05rem 1.1rem 0.85rem;
  background: linear-gradient(180deg, #eef5f8 0%, #f8fbfc 100%);
  border-bottom: 1px solid rgba(122, 158, 171, 0.22);
  color: #2c4a56;
  position: relative;
}

.nr-reg-window__head::before {
  content: none;
}

.nr-reg-window__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.66rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(122, 158, 171, 0.3);
  color: #3d8a9e;
  margin-bottom: 0.4rem;
}

.nr-reg-window__head h2 {
  font-size: 0.95rem;
  font-weight: 800;
  margin: 0 0 0.2rem;
  color: #2c5f70;
}

.nr-reg-window__head p {
  margin: 0;
  font-size: 0.72rem;
  color: #7a9eab;
  font-weight: 500;
  line-height: 1.45;
}

.nr-reg-window__close {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(122, 158, 171, 0.3);
  border-radius: 10px;
  background: #fff;
  color: #5a7a88;
  font-size: 0.9rem;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.nr-reg-window__close:hover {
  background: #f2f8fb;
  color: #2c5f70;
}

.nr-reg-window__body {
  padding: 1rem 1.1rem 0.45rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.nr-reg-hint {
  font-size: 0.72rem;
  color: #7a9eab;
  font-weight: 600;
  margin: 0.2rem 0 0.65rem;
}

.nr-reg-window__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.75rem 1.1rem 1rem;
  border-top: 1px solid rgba(122, 158, 171, 0.2);
  background: #f7fbfd;
}

.swal2-html-container .nr-input { margin-bottom: 0.35rem; }
.swal2-html-container .nr-field-label { text-align: right; }
.swal2-html-container .nr-members { text-align: right; }

.is-touch .nr-canva-cta:hover,
.is-touch .nr-btn:hover,
.is-touch .nr-path:hover,
.is-touch .nr-track-row:hover {
  transform: none;
}

@media (max-width: 760px) {
  .nr-paths { grid-template-columns: 1fr; }
  .nr-detail__grid { grid-template-columns: 1fr; }
  .nr-grid-2 { grid-template-columns: 1fr; }
  .nr-stats { grid-template-columns: 1fr 1fr; }
}

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

@media (max-width: 768px) {
  .nr-reg-overlay {
    align-items: flex-end;
    padding: 0;
  }

  .nr-reg-window {
    width: 100%;
    max-width: none;
    max-height: min(92dvh, 100%);
    border-radius: 20px 20px 0 0;
    animation: none;
  }

  @keyframes nrSheetUp {
    from { opacity: 0.7; transform: translateY(24%); }
    to { opacity: 1; transform: none; }
  }

  .nr-reg-window__foot {
    padding-bottom: calc(0.9rem + var(--safe-bottom));
  }

  .nr-reg-window__foot .nr-btn { flex: 1; min-height: 48px; }

  .nr-input { font-size: 16px; min-height: 48px; }

  .nr-canva-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .nr-canva-cta { width: 100%; }

  .nr-form-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .nr-form-actions .nr-btn { width: 100%; }

  .nr-catalog-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .nr-catalog-card__actions .nr-btn { width: 100%; }

  .nr-panel { padding: 1rem 0.9rem 1.15rem; border-radius: 16px; }
}

@media (max-width: 576px) {
  #nav-newResearch .nav-label-full,
  #nav-gradProjects .nav-label-full { display: none !important; }
  #nav-newResearch .nav-label-short,
  #nav-gradProjects .nav-label-short { display: inline !important; font-size: 0.82rem; }

  .nr-canva-header { flex-direction: column; gap: 0.75rem; padding-top: 1.4rem; }
  .nr-hero-btn__full { display: none; }
  .nr-hero-btn__short { display: inline; }
  .nr-members { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .nr-members { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .nr-reg-overlay,
  .nr-reg-window,
  .nr-canva-cta,
  .nr-btn,
  .nr-path,
  .nr-tab {
    animation: none !important;
    transition: none !important;
  }
}

/* ═══ تقييم الباحثين 2025-2026 ═══ */
.eval-home-ico {
  width: 36px; height: 36px; border-radius: 10px;
  display: inline-grid; place-items: center;
  background: linear-gradient(145deg, #1e2a4a, #00b8c4);
  color: #fff; font-size: 1.05rem; flex-shrink: 0;
}
.eval-home-card:hover { box-shadow: 0 6px 18px rgba(0, 184, 196, 0.14); }

.eval-page { max-width: 1180px; margin: 0 auto 1.5rem; }
.eval-report {
  --canva-accent: var(--canva-navy);
  --canva-edge: var(--canva-navy-edge);
  position: relative;
  background: #fff; border-radius: 18px;
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 70%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.92) inset,
    0 0 0 3px #fff,
    0 0 0 5px color-mix(in srgb, var(--canva-gold) 40%, #fff),
    0 8px 28px rgba(45, 90, 110, 0.08);
  overflow: hidden;
}
.eval-sync-banner {
  margin: 0 1rem 0.65rem;
  padding: 0.55rem 0.85rem;
  border-radius: 11px;
  background: linear-gradient(90deg, #e8f8fb, #f0f7fa);
  border: 1px solid #c5e4ec;
  color: #1e5a6a;
  font-size: 0.78rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  line-height: 1.45;
  flex-wrap: wrap;
}
.eval-sync-banner i { color: #00b8c4; font-size: 1.05rem; flex-shrink: 0; }
.eval-sync-banner__note { font-weight: 600; color: #5a7a88; }
.eval-report__header {
  display: flex; align-items: center; justify-content: center; gap: 0.75rem;
  padding: 1.2rem 1rem 0.85rem; text-align: center;
  background: linear-gradient(180deg, #e8f2f6 0%, #fff 100%);
  border-bottom: 1px solid #e4eef3; flex-wrap: wrap;
}
.eval-report__emblem {
  width: 48px; height: 48px; border-radius: 13px;
  display: grid; place-items: center; font-size: 1.3rem; color: #fff;
  background: linear-gradient(145deg, #1e2a4a, #00b8c4);
}
.eval-report__title { margin: 0; font-size: clamp(1.1rem, 3vw, 1.35rem); font-weight: 800; color: #2c5f70; }
.eval-report__sub {
  margin: 0.15rem 0 0; font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.1em; color: #7a9eab; text-transform: uppercase;
}
.eval-meta {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; padding: 0.95rem 1rem 0.35rem;
}
.eval-meta__card {
  background: #f7fbfd; border: 1px solid #d4e8f0; border-radius: 11px; padding: 0.6rem 0.75rem;
  overflow: hidden;
}
.eval-meta__card:nth-child(1) { border-top: 3px solid var(--canva-navy); }
.eval-meta__card:nth-child(2) { border-top: 3px solid var(--canva-teal); }
.eval-meta__card:nth-child(3) { border-top: 3px solid var(--canva-sky); }
.eval-meta__card:nth-child(4) { border-top: 3px solid var(--canva-amber); }
.eval-meta__card span { display: block; font-size: 0.66rem; color: #7a9eab; font-weight: 600; }
.eval-meta__card strong { display: block; font-size: 0.9rem; color: #1e2a4a; font-weight: 800; margin-top: 0.1rem; }

.eval-toolbar {
  display: flex; flex-wrap: wrap; gap: 0.45rem;
  align-items: center; justify-content: space-between; padding: 0 1rem 0.75rem;
}
.eval-toolbar__left, .eval-toolbar__right { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.eval-toolbar__left { flex: 1; min-width: 200px; }
.eval-mbar {
  flex: 1; min-width: 240px;
  display: flex; flex-direction: column; gap: 0.55rem;
}
.eval-mbar__head {
  display: none;
}
.eval-mbar__search {
  position: relative;
  background: #fff;
  border: 1.5px solid #d4e8f0;
  border-radius: 12px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.eval-mbar__search:focus-within {
  border-color: #00b8c4;
  box-shadow: 0 0 0 3px rgba(0,184,196,0.12);
}
.eval-mbar__search > .bi-search {
  position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%);
  color: #7a9eab; pointer-events: none; font-size: 0.95rem;
}
.eval-mbar__search input {
  width: 100%; min-height: 44px; border: none; outline: none;
  background: transparent; padding: 0.55rem 2.2rem 0.55rem 2.2rem;
  font-family: inherit; font-size: 0.88rem; font-weight: 600; color: #1e2a4a;
}
.eval-mbar__search input::placeholder { color: #94a3b8; font-weight: 500; }
.eval-mbar__x {
  position: absolute; left: 0.45rem; top: 50%; transform: translateY(-50%);
  border: none; background: transparent; color: #94a3b8; padding: 0.25rem;
  cursor: pointer; line-height: 1; font-size: 1rem;
}
.eval-mbar__x:hover { color: #64748b; }

.eval-mbar__picks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.eval-mpick {
  position: relative;
  display: flex; align-items: center; gap: 0.55rem;
  min-height: 52px;
  padding: 0.45rem 0.65rem;
  background: #fff;
  border: 1.5px solid #d4e8f0;
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
  overflow: hidden;
}
.eval-mpick:hover { border-color: #7eb6d4; }
.eval-mpick.is-on {
  border-color: #00b8c4;
  background: linear-gradient(135deg, #f0fcfd 0%, #e8f9fb 100%);
  box-shadow: 0 0 0 3px rgba(0,184,196,0.1);
}
.eval-mpick__ico {
  width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
  display: grid; place-items: center;
  background: #1e2a4a; color: #fff; font-size: 0.95rem;
}
.eval-mpick__ico--teal { background: #00b8c4; }
.eval-mpick.is-on .eval-mpick__ico { background: #00b8c4; }
.eval-mpick__txt {
  flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.05rem;
}
.eval-mpick__k {
  font-size: 0.62rem; font-weight: 800; color: #7a9eab; line-height: 1.2;
}
.eval-mpick__v {
  font-size: 0.78rem; font-weight: 800; color: #1e2a4a; line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.eval-mpick.is-on .eval-mpick__v { color: #0e7490; }
.eval-mpick__chev {
  flex-shrink: 0; color: #94a3b8; font-size: 0.75rem;
}
.eval-mpick.is-on .eval-mpick__chev { color: #00b8c4; }
.eval-mpick__native {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 0; cursor: pointer; z-index: 2;
  font-size: 16px; /* يمنع تكبير iOS عند التركيز */
}

.eval-search { position: relative; flex: 1; min-width: 180px; }
.eval-search > i {
  position: absolute; right: 0.7rem; top: 50%; transform: translateY(-50%); color: #7a9eab; pointer-events: none;
}
.eval-search input {
  width: 100%; border: 1.5px solid #d4e8f0; border-radius: 11px;
  padding: 0.5rem 2.1rem 0.5rem 0.75rem; font-family: inherit; font-size: 0.85rem; outline: none;
}
.eval-search input:focus { border-color: #00b8c4; box-shadow: 0 0 0 3px rgba(0,184,196,0.12); }

.eval-btn {
  display: inline-flex; align-items: center; gap: 0.28rem; border: none; border-radius: 10px;
  font-family: inherit; font-weight: 800; font-size: 0.78rem; padding: 0.45rem 0.8rem;
  cursor: pointer; min-height: 38px;
}
.eval-btn--main { background: #00b8c4; color: #fff; }
.eval-btn--navy { background: #1e2a4a; color: #fff; }
.eval-btn--ghost { background: #fff; color: #1e2a4a; border: 1.5px solid #c5d9e3; }
.eval-btn--danger { background: #f8eeee; color: #8a4a4a; border: 1px solid #e5cfcf; }
.eval-btn--sm { padding: 0.3rem 0.65rem; min-height: 34px; font-size: 0.72rem; }

.eval-table-pad { padding: 0 0.85rem 1rem; }
.eval-table { width: 100%; border-collapse: separate; border-spacing: 0 0.4rem; }
.eval-table thead th { padding: 0; border: none; font-size: 0.7rem; }
.eval-th {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.2rem;
  width: 100%; padding: 0.5rem 0.35rem; border-radius: 9px; color: #fff; font-weight: 800;
  background: linear-gradient(180deg, #7eb6d4, #6aa8c8); white-space: nowrap;
}
.eval-th--name { background: #1e2a4a; justify-content: flex-start; padding-inline-start: 0.65rem; }
.eval-th--score { background: #00b8c4; }
.eval-th--notes { background: #5a7a88; }
.eval-table tbody td {
  padding: 0.65rem 0.4rem; font-size: 0.76rem; font-weight: 600; text-align: center;
  vertical-align: middle; border: none; background: #fff; color: #334155; line-height: 1.4;
}
.eval-table tbody tr:nth-child(even) td { background: #e8f7fb; }
.eval-table tbody td:first-child {
  border-radius: 0 11px 11px 0;
  box-shadow: inset -3.5px 0 0 var(--canva-teal);
}
.eval-table tbody tr:nth-child(3n+2) td:first-child { box-shadow: inset -3.5px 0 0 var(--canva-sky); }
.eval-table tbody tr:nth-child(3n+3) td:first-child { box-shadow: inset -3.5px 0 0 var(--canva-amber); }
.eval-table tbody td:last-child { border-radius: 11px 0 0 11px; }
.eval-td-num { font-weight: 800; color: #0097a7; width: 2rem; }
.eval-td-name { text-align: right !important; font-weight: 700; color: #1e2a4a; max-width: 160px; }
.eval-td-notes { text-align: right !important; font-weight: 500; color: #64748b; font-size: 0.74rem; max-width: 150px; }
.eval-td-notes.is-empty { color: #94a3b8; font-style: italic; }
.eval-empty { text-align: center !important; padding: 2rem 1rem !important; color: #7a9eab !important; }

.eval-score {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.8rem; padding: 0.25rem 0.5rem; border-radius: 8px;
  font-weight: 800; font-size: 0.74rem; color: #fff; background: #00b8c4;
}
.eval-score--high { background: #00b8c4; }
.eval-score--mid { background: #f59e0b; }
.eval-score--low { background: #94a3b8; }

.eval-row-acts { display: inline-flex; gap: 0.2rem; margin-top: 0.3rem; }
.eval-row-acts button {
  width: 28px; height: 28px; border-radius: 7px; border: 1px solid #d4e8f0;
  background: #fff; cursor: pointer; color: #5a7a88; display: grid; place-items: center; font-size: 0.8rem;
}
.eval-row-acts button:hover { color: #1e2a4a; border-color: #7eb6d4; }
.eval-row-acts button.del:hover { color: #8a4a4a; border-color: #e5cfcf; }

.eval-mobile { display: none; }
.eval-m-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; margin-bottom: 0.65rem; }
.eval-m-stat {
  background: #f7fbfd; border: 1px solid #d4e8f0; border-radius: 10px;
  padding: 0.45rem 0.55rem; text-align: center;
}
.eval-m-stat span { display: block; font-size: 0.62rem; color: #7a9eab; font-weight: 600; }
.eval-m-stat strong { font-size: 0.9rem; color: #1e2a4a; font-weight: 800; }
.eval-cards { display: flex; flex-direction: column; gap: 0.7rem; }
.eval-card {
  --canva-accent: var(--canva-teal);
  --canva-edge: var(--canva-teal-edge);
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  border-radius: 14px; overflow: hidden; background: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,0.92) inset, 0 6px 16px rgba(30, 42, 74, 0.045);
}
.eval-card:nth-child(3n+1) { --canva-accent: var(--canva-navy); --canva-edge: var(--canva-navy-edge); }
.eval-card:nth-child(3n+2) { --canva-accent: var(--canva-teal); --canva-edge: var(--canva-teal-edge); }
.eval-card:nth-child(3n) { --canva-accent: var(--canva-amber); --canva-edge: var(--canva-amber-edge); }
.eval-card:nth-child(even) { background: #e8f7fb; }
.eval-card__head {
  display: flex; gap: 0.55rem; align-items: flex-start; padding: 0.85rem 0.9rem 0.55rem;
}
.eval-card__num {
  width: 28px; height: 28px; border-radius: 8px; background: #1e2a4a; color: #fff;
  font-size: 0.72rem; font-weight: 800; display: grid; place-items: center; flex-shrink: 0;
}
.eval-card__name { margin: 0; flex: 1; font-size: 0.9rem; font-weight: 800; color: #1e2a4a; line-height: 1.35; }
.eval-card__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; padding: 0 0.9rem 0.65rem;
}
.eval-chip {
  background: #fff; border: 1px solid #e4eef3; border-radius: 10px; padding: 0.4rem 0.5rem;
}
.eval-card:nth-child(even) .eval-chip { background: rgba(255,255,255,0.7); }
.eval-chip--full { grid-column: 1 / -1; }
.eval-chip span { display: block; font-size: 0.62rem; color: #7a9eab; font-weight: 700; }
.eval-chip strong { display: block; font-size: 0.78rem; color: #1e293b; font-weight: 700; margin-top: 0.1rem; line-height: 1.35; }
.eval-card__notes {
  margin: 0 0.9rem 0.7rem; padding: 0.55rem 0.7rem; border-radius: 10px;
  background: #f8fafc; border: 1px dashed #cbd5e1; font-size: 0.78rem; color: #475569; line-height: 1.45;
}
.eval-card__notes-label {
  display: block; font-size: 0.66rem; font-weight: 800; color: #7a9eab; margin-bottom: 0.2rem;
}
.eval-card__notes.is-empty { color: #94a3b8; font-style: italic; }
.eval-card__foot {
  display: flex; justify-content: space-between; align-items: center; gap: 0.5rem;
  padding: 0.55rem 0.9rem; border-top: 1px solid #e4eef3; background: rgba(30,42,74,0.03); flex-wrap: wrap;
}
.eval-muted { font-size: 0.72rem; color: #7a9eab; font-weight: 600; }
.eval-card__score-label { font-size: 0.75rem; font-weight: 800; color: #2c5f70; }
.eval-footer {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.35rem;
  padding: 0.7rem 1rem; font-size: 0.72rem; font-weight: 600; color: #7a9eab;
  border-top: 1px solid #e4eef3; background: #f7fbfd;
}

@media (max-width: 991.98px) {
  .eval-meta { display: none; }
  .eval-desktop { display: none; }
  .eval-mobile { display: block; }
  .eval-toolbar { flex-direction: column; align-items: stretch; gap: 0.55rem; padding: 0 0.75rem 0.85rem; }
  .eval-toolbar__left {
    flex-direction: column; align-items: stretch; width: 100%; gap: 0.45rem;
  }
  .eval-toolbar__left > .eval-btn { align-self: flex-start; }
  .eval-toolbar__right { width: 100%; }
  .eval-toolbar__right .eval-btn { flex: 1; justify-content: center; }
  .eval-report__header { flex-direction: column; gap: 0.45rem; }

  .eval-mbar {
    width: 100%;
    padding: 0;
    gap: 0;
    background: #fff;
    border: 1px solid #d5e6ef;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(30, 42, 74, 0.07);
  }
  .eval-mbar__head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 0.5rem; padding: 0.7rem 0.9rem;
    background: linear-gradient(90deg, #1e2a4a 0%, #2c5f70 100%);
    color: #fff;
  }
  .eval-mbar__title {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-size: 0.82rem; font-weight: 800;
  }
  .eval-mbar__title i { color: #5eead4; }
  .eval-mbar__clear {
    display: inline-flex; align-items: center; gap: 0.25rem;
    border: 1px solid rgba(255,255,255,0.28); background: rgba(255,255,255,0.1);
    color: #fff; border-radius: 999px; padding: 0.28rem 0.65rem;
    font-family: inherit; font-size: 0.72rem; font-weight: 800; cursor: pointer;
  }
  .eval-mbar__search {
    margin: 0.75rem 0.75rem 0.45rem;
    border-radius: 14px;
    border: none;
    background: #f1f7fa;
    box-shadow: inset 0 0 0 1.5px #d4e8f0;
  }
  .eval-mbar__search:focus-within {
    background: #fff;
    box-shadow: inset 0 0 0 1.5px #00b8c4, 0 0 0 3px rgba(0,184,196,0.12);
  }
  .eval-mbar__search input {
    min-height: 50px;
    font-size: 0.95rem;
    padding-inline-start: 2.4rem;
  }
  .eval-mbar__search > .bi-search {
    right: 0.9rem; color: #00b8c4; font-size: 1.05rem;
  }
  .eval-mbar__picks {
    grid-template-columns: 1fr;
    gap: 0.55rem;
    padding: 0.45rem 0.75rem 0.85rem;
  }
  .eval-mpick {
    min-height: 64px;
    padding: 0.65rem 0.8rem;
    border-radius: 14px;
    border-color: #e2eef4;
    background: #f7fbfd;
    gap: 0.7rem;
  }
  .eval-mpick.is-on {
    background: #fff;
    border-color: #00b8c4;
  }
  .eval-mpick__ico {
    width: 42px; height: 42px; border-radius: 12px; font-size: 1.1rem;
  }
  .eval-mpick__k { font-size: 0.7rem; }
  .eval-mpick__v { font-size: 0.9rem; }
  .eval-mpick__chev { font-size: 0.9rem; color: #00b8c4; }
}

@media (min-width: 520px) and (max-width: 991.98px) {
  .eval-mbar__picks { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 576px) {
  #nav-researcherEval .nav-label-full { display: none !important; }
  #nav-researcherEval .nav-label-short { display: inline !important; font-size: 0.82rem; }
}

/* ═══ شريط جانبي يمين (أسلوب منصة الابتكار) — فتح فوري ═══ */
.has-side-nav {
  --aside-w: 280px;
  --aside-bg: #0f2430;
  --aside-active: #1c4558;
  --aside-cyan: #00b8c4;
}
.has-side-nav,
.has-side-nav html {
  scroll-behavior: auto !important;
}
.app-shell {
  display: flex;
  flex-direction: row;
  direction: ltr;
  min-height: 100vh;
  width: 100%;
}
.app-shell__content {
  flex: 1;
  min-width: 0;
  direction: rtl;
  display: flex;
  flex-direction: column;
}
.app-aside {
  width: var(--aside-w);
  flex-shrink: 0;
  direction: rtl;
  background: linear-gradient(180deg, var(--aside-bg) 0%, #0c1c26 100%);
  color: #e8f1f5;
  display: flex;
  flex-direction: column;
  padding: 1.05rem 0.9rem 1rem;
  border-left: 1px solid rgba(255,255,255,0.04);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
  z-index: 1040;
  /* بدون انتقال ثقيل — ظهور فوري */
  transition: none;
}
.app-aside__brand {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.2rem 0.3rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 0.85rem;
  position: relative;
}
.app-aside__logo {
  width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center;
  background: radial-gradient(circle at 30% 30%, #2dd4bf, #0e7490 55%, #134e4a);
  color: #fff; font-size: 1.2rem;
  box-shadow: 0 0 0 3px rgba(0,184,196,0.2);
}
.app-aside__brand-txt strong {
  display: block; font-size: 0.9rem; font-weight: 800; line-height: 1.35; color: #fff;
}
.app-aside__brand-txt span {
  display: block; font-size: 0.66rem; color: #8aa3b0; font-weight: 600; margin-top: 0.08rem;
}
.app-aside__close {
  display: none;
  position: absolute; left: 0; top: 0;
  width: 36px; height: 36px; border: none; border-radius: 10px;
  background: rgba(255,255,255,0.08); color: #fff; cursor: pointer;
}
.app-aside__label {
  font-size: 0.68rem; font-weight: 700; color: #8aa3b0;
  padding: 0 0.55rem 0.4rem;
}
.app-aside__nav {
  display: flex; flex-direction: column; gap: 0.25rem;
  flex: 1; overflow: auto; padding-bottom: 0.6rem;
}
.app-aside .nav-link.app-aside__link,
.app-aside__link {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  padding: 0.68rem 0.75rem !important;
  margin: 0 !important;
  border-radius: 12px;
  color: #c9d9e2 !important;
  text-decoration: none !important;
  font-size: 0.88rem; font-weight: 700;
  border: 0; background: transparent; width: 100%;
  font-family: inherit; cursor: pointer; text-align: right;
  transition: none;
}
/* لا تظهر روابط الإدارة للعامة — يتفوق على display:flex !important */
.app-aside__link.d-none,
.app-aside .nav-link.app-aside__link.d-none,
#nav-form-wrap.d-none,
#asideAdminGroup.d-none {
  display: none !important;
}
.app-aside__admin-group:not(.d-none) {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.app-aside__label--admin { color: #5eead4; margin-top: 0.15rem; }
.app-aside__link--btn { text-align: right; }
.app-aside__link:hover {
  background: rgba(255,255,255,0.05) !important;
  color: #fff !important;
}
.app-aside__link.active,
.app-aside .nav-link.app-aside__link.active {
  background: var(--aside-active) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(0,184,196,0.22);
}
.app-aside__link.active::before {
  content: '';
  position: absolute; right: 0; top: 18%; bottom: 18%;
  width: 3px; border-radius: 3px 0 0 3px;
  background: var(--aside-cyan);
}
.app-aside__ico {
  width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.06);
  color: #9ecad6; font-size: 1rem;
}
.app-aside__link:hover .app-aside__ico,
.app-aside__link.active .app-aside__ico {
  background: rgba(0,184,196,0.2);
  color: #5eead4;
}
.app-aside__link--best .app-aside__ico {
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.22), rgba(245, 158, 11, 0.12));
  color: #fbbf24;
}
.app-aside__link--best:hover .app-aside__ico {
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.35), rgba(245, 158, 11, 0.2));
  color: #fcd34d;
}
.app-aside__cta {
  margin-top: auto;
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  width: 100%; min-height: 46px;
  border: none; border-radius: 12px;
  background: linear-gradient(135deg, #e8a317, #d4890f);
  color: #1a1205; font-family: inherit; font-weight: 800; font-size: 0.88rem;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(232, 163, 23, 0.25);
}
.app-aside__admin {
  margin-top: auto;
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  width: 100%; border: none; background: transparent;
  color: #8aa3b0; font-family: inherit; font-size: 0.8rem; font-weight: 700;
  cursor: pointer; padding: 0.55rem;
}
.app-aside__admin:hover { color: #fff; }
.app-aside__admin--out { color: #fca5a5; margin-top: 0.35rem; }
.app-aside__admin--out:hover { color: #fecaca; }

.app-aside-scrim {
  display: none;
  position: fixed; inset: 0;
  background: rgba(8,15,24,0.45);
  z-index: 1035;
}

.app-mobile-top {
  display: none;
  align-items: center; justify-content: space-between;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  background: #fff;
  border-bottom: 1px solid #e8eef2;
  position: sticky; top: 0; z-index: 1020;
}
.app-mobile-top__brand {
  display: inline-flex; align-items: center; gap: 0.4rem;
  color: #1e2a4a; text-decoration: none; font-weight: 800; font-size: 0.86rem;
}
.app-mobile-top__brand i { color: #00b8c4; font-size: 1.15rem; }
.app-mobile-top__actions { display: flex; align-items: center; gap: 0.35rem; }
.app-burger {
  width: 42px; height: 42px; border-radius: 11px;
  border: 1px solid #d4e8f0; background: #f7fbfd; color: #1e2a4a;
  display: grid; place-items: center; font-size: 1.25rem; cursor: pointer;
}

/* إخفاء الهيرو في الصفحات الداخلية لسرعة العرض */
body.page-researcher-eval .portal-header,
body.page-dept-eval .portal-header,
body.page-collaborators .portal-header,
body.page-incomplete-accounts .portal-header,
body.page-new-research .portal-header,
body.page-chat .portal-header,
body.page-grad-projects .portal-header { display: none; }

.has-side-nav .animate-fade-in {
  animation: none !important;
}

@media (min-width: 992px) {
  .app-mobile-top { display: none !important; }
  .app-aside__close { display: none !important; }
  .app-aside-scrim { display: none !important; }
  body.aside-open .app-aside-scrim { display: none !important; }
}

@media (max-width: 991.98px) {
  .app-shell { display: block; direction: rtl; }
  .app-mobile-top { display: flex; }
  .app-aside {
    position: fixed;
    top: 0; bottom: 0; right: 0;
    width: min(86vw, 300px);
    height: 100vh;
    transform: translateX(105%);
    box-shadow: -12px 0 40px rgba(0,0,0,0.28);
    /* انتقال قصير جداً للدرج فقط */
    transition: transform 0.12s linear;
  }
  body.aside-open .app-aside { transform: translateX(0); }
  .app-aside-scrim[hidden] { display: none !important; }
  body.aside-open .app-aside-scrim:not([hidden]) { display: block; }
  .app-aside__close { display: grid; place-items: center; }
}

.app-aside__session {
  display: flex; align-items: center; gap: 0.45rem;
  margin: 0.35rem 0.55rem 0.55rem;
  padding: 0.55rem 0.7rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.07);
  color: #c9d9e2;
  font-size: 0.8rem; font-weight: 700;
}
.app-aside__session i { color: #5eead4; font-size: 1.1rem; }
.app-aside__session span {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* توافق: إخفاء شريط الجوال القديم إن وُجد */
.has-side-nav .app-mobile-rail,
.has-side-nav .app-top-sticky { display: none !important; }

/* ═══ شريط السنة المضغوط (الأقسام الداخلية) ═══ */
.ay-compact {
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.65rem 0.85rem; margin-bottom: 0.85rem;
  background: #fff; border: 1.5px solid #d4e8f0; border-radius: 14px;
  box-shadow: 0 4px 14px rgba(30,42,74,0.05);
  max-width: 720px;
}
.ay-compact__ico {
  width: 40px; height: 40px; border-radius: 11px; flex-shrink: 0;
  display: grid; place-items: center; color: #fff; font-size: 1.1rem;
  background: linear-gradient(145deg, #1e2a4a, #00b8c4);
}
.ay-compact__body { flex: 1; min-width: 0; }
.ay-compact__k {
  display: block; font-size: 0.66rem; font-weight: 800; color: #7a9eab; margin-bottom: 0.1rem;
}
.ay-compact__select {
  width: 100%; border: 0; background: transparent; padding: 0;
  font-family: inherit; font-size: 0.98rem; font-weight: 800; color: #1e2a4a;
  cursor: pointer; outline: none;
}
.ay-compact__hint {
  flex-shrink: 0; font-size: 0.68rem; font-weight: 800;
  padding: 0.28rem 0.55rem; border-radius: 999px;
  background: #e0f2fe; color: #075985;
}
.ay-compact__hint.is-live { background: #dcfce7; color: #166534; }

/* ═══ السنوات الأكاديمية — قائمة منسدلة احترافية ═══ */
.ay-drop-wrap { position: relative; z-index: 5; max-width: 720px; }
.ay-year-banner {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 0.95rem 1.1rem;
  border-radius: 14px;
  border: 1px solid #cfe3ef;
  background: linear-gradient(120deg, #f7fbfe, #eef6fb);
  color: #1e2a4a;
}
.ay-year-banner i {
  font-size: 1.35rem;
  color: #0083B0;
  margin-top: 0.15rem;
  flex-shrink: 0;
}
.ay-year-banner strong {
  display: block;
  font-size: 0.98rem;
  font-weight: 800;
  margin-bottom: 0.2rem;
}
.ay-year-banner p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.65;
  font-weight: 600;
  color: #4a5d73;
}
.ay-year-banner--live {
  border-color: #fcd34d;
  background: linear-gradient(120deg, #fffbeb, #fef3c7);
}
.ay-year-banner--live i { color: #d97706; }
.ay-year-banner--live strong { color: #92400e; }
.ay-year-banner--live p { color: #a16207; }
.ay-year-banner--archive {
  border-color: #99f6e4;
  background: linear-gradient(120deg, #f0fdfa, #ecfeff);
}
.ay-year-banner--archive i { color: #0f766e; }
.ay-year-banner--archive strong { color: #115e59; }
.ay-year-banner--archive p { color: #0f766e; }
.ay-drop { position: relative; }
.ay-drop__btn {
  width: 100%;
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.7rem 0.85rem;
  border: 1.5px solid #d4e8f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(30,42,74,0.06);
  cursor: pointer;
  font-family: inherit;
  text-align: right;
  transition: none;
}
.ay-drop__btn:hover { border-color: #7eb6d4; }
.ay-drop.is-open .ay-drop__btn {
  border-color: #00b8c4;
  box-shadow: 0 0 0 3px rgba(0,184,196,0.12);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ay-drop__ico {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  display: grid; place-items: center; color: #fff; font-size: 1.2rem;
  background: linear-gradient(145deg, #1e2a4a, #00b8c4);
}
.ay-drop__body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 0.08rem;
}
.ay-drop__k {
  font-size: 0.68rem; font-weight: 800; color: #7a9eab;
}
.ay-drop__v {
  font-size: 1.05rem; font-weight: 800; color: #1e2a4a; line-height: 1.2;
}
.ay-drop__range {
  font-size: 0.7rem; font-weight: 600; color: #94a3b8;
}
.ay-drop__status {
  flex-shrink: 0;
  font-size: 0.68rem; font-weight: 800;
  padding: 0.28rem 0.55rem; border-radius: 999px;
  background: #f1f5f9; color: #64748b;
}
.ay-drop__status.is-live {
  background: #e8f7fb; color: #0e7490;
}
.ay-drop__chev {
  color: #00b8c4; font-size: 0.95rem; flex-shrink: 0;
  transition: none;
}
.ay-drop.is-open .ay-drop__chev { transform: rotate(180deg); }

.ay-drop__menu {
  display: none;
  position: absolute;
  top: 100%; right: 0; left: 0;
  background: #fff;
  border: 1.5px solid #00b8c4;
  border-top: none;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 14px 28px rgba(15,36,48,0.12);
  overflow: hidden;
  max-height: 320px;
  overflow-y: auto;
}
.ay-drop.is-open .ay-drop__menu { display: block; }
.ay-drop__menu-head {
  display: flex; flex-direction: column; gap: 0.1rem;
  padding: 0.65rem 0.85rem;
  background: #f7fbfd;
  border-bottom: 1px solid #e4eef3;
}
.ay-drop__menu-head span {
  font-size: 0.78rem; font-weight: 800; color: #1e2a4a;
}
.ay-drop__menu-head small {
  font-size: 0.68rem; font-weight: 600; color: #7a9eab;
}
.ay-drop__item {
  width: 100%;
  display: flex; align-items: center; gap: 0.65rem;
  padding: 0.7rem 0.85rem;
  border: none; border-bottom: 1px solid #f1f5f9;
  background: #fff; cursor: pointer;
  font-family: inherit; text-align: right;
}
.ay-drop__item:last-child { border-bottom: none; }
.ay-drop__item:hover:not(:disabled) { background: #f7fbfd; }
.ay-drop__item.is-active { background: #e8f7fb; }
.ay-drop__item.is-locked {
  opacity: 0.72; cursor: not-allowed; background: #fafbfc;
}
.ay-drop__item-ico {
  width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
  display: grid; place-items: center;
  background: #eef6f9; color: #0e7490; font-size: 0.95rem;
}
.ay-drop__item.is-live .ay-drop__item-ico {
  background: rgba(0,184,196,0.18); color: #00b8c4;
}
.ay-drop__item.is-locked .ay-drop__item-ico {
  background: #eef2f6; color: #94a3b8;
}
.ay-drop__item-txt {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 0.08rem;
}
.ay-drop__item-txt strong {
  font-size: 0.9rem; font-weight: 800; color: #1e2a4a;
}
.ay-drop__meta {
  font-size: 0.68rem; font-weight: 600; color: #7a9eab;
}
.ay-drop__check { color: #00b8c4; font-size: 1.1rem; }

@media (max-width: 576px) {
  .ay-drop__btn { flex-wrap: wrap; }
  .ay-drop__status { order: 5; width: 100%; text-align: center; margin-top: 0.15rem; }
  .ay-drop-wrap { max-width: none; }
}

/* ═══ تقييم الأقسام ═══ */
body.page-dept-eval .app-main { padding-top: 1rem; overflow: visible; }
body.page-dept-eval .dept-eval-page {
  font-family: 'Tajawal', 'Cairo', sans-serif;
  -webkit-font-smoothing: antialiased;
}
.dept-eval-formula {
  margin: 0 0.85rem 0.85rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid #d4e8f0;
  border-radius: 14px;
  background: linear-gradient(180deg, #f4fbfd, #fff);
}
.dept-eval-formula strong {
  display: flex; align-items: center; gap: 0.35rem;
  color: #2c5f70; font-size: 0.88rem; margin-bottom: 0.45rem;
}
.dept-eval-formula__box {
  display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; justify-content: center;
  font-weight: 800; font-size: 0.8rem; color: #1e2a4a; margin-bottom: 0.35rem;
}
.dept-eval-formula__box i { color: #00b8c4; }
.dept-eval-formula p {
  margin: 0; text-align: center; font-size: 0.72rem; color: #64748b; font-weight: 600; line-height: 1.45;
}
.dept-eval-link {
  background: none; border: 0; padding: 0; margin: 0;
  font: inherit; font-weight: 800; color: #1e2a4a; cursor: pointer; text-align: right;
  border-bottom: 1.5px dashed transparent;
}
.dept-eval-link:hover { color: #00b8c4; border-bottom-color: #00b8c4; }
.dept-eval-college { font-size: 0.68rem; color: #7a9eab; font-weight: 600; margin-top: 0.15rem; }
.dept-eval-bar {
  height: 6px; background: #e2eef3; border-radius: 99px; overflow: hidden; margin-top: 0.3rem; min-width: 72px;
}
.dept-eval-bar span {
  display: block; height: 100%; background: linear-gradient(90deg, #00b8c4, #0f766e); border-radius: 99px;
}
.dept-eval-kpi {
  display: inline-flex; flex-direction: column; align-items: center; gap: 0.05rem;
  background: linear-gradient(145deg, #14b8a6, #0f766e); color: #fff;
  border-radius: 10px; padding: 0.3rem 0.5rem; min-width: 4rem; font-weight: 800;
}
.dept-eval-kpi b { font-size: 0.88rem; line-height: 1; }
.dept-eval-kpi small { font-size: 0.58rem; opacity: 0.92; }
.eval-card__acts { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.dept-sync-banner { align-items: flex-start !important; }
.dept-sync-banner__txt {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 0.12rem;
}
.dept-sync-banner__txt strong { font-size: 0.8rem; font-weight: 800; color: #134e4a; }
.dept-sync-banner__txt span { font-size: 0.7rem; font-weight: 600; color: #5a7a88; line-height: 1.4; }

.dept-m-card {
  cursor: pointer;
  border: 1px solid #d4e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 16px rgba(30, 42, 74, 0.05);
  overflow: hidden;
  background: #fff !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.dept-m-card:active { border-color: #00b8c4; box-shadow: 0 6px 20px rgba(0, 184, 196, 0.12); }
.dept-m-card__top {
  display: flex; align-items: flex-start; gap: 0.55rem;
  padding: 0.9rem 0.9rem 0.35rem;
}
.dept-m-card__title { flex: 1; min-width: 0; text-align: right; }
.dept-m-card__title h3 {
  margin: 0; font-size: 1.02rem; font-weight: 800; color: #1e2a4a;
  line-height: 1.35; font-family: 'Tajawal', 'Cairo', sans-serif;
}
.dept-m-card__title p {
  margin: 0.2rem 0 0; font-size: 0.72rem; font-weight: 600; color: #7a9eab; line-height: 1.35;
}
.dept-m-card .eval-card__grid { padding: 0.35rem 0.9rem 0.55rem; }
.dept-m-card .eval-chip span { font-family: 'Tajawal', 'Cairo', sans-serif; letter-spacing: 0; }
.dept-m-card .eval-chip strong { font-size: 0.88rem; font-weight: 800; }
.dept-m-card__foot {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0 0.9rem 0.9rem;
}
.dept-preview-btn {
  flex: 1;
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  min-height: 42px; padding: 0.45rem 0.75rem;
  border: 0; border-radius: 12px; cursor: pointer;
  font-family: 'Tajawal', 'Cairo', sans-serif;
  font-size: 0.88rem; font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #00b8c4, #0f766e);
  box-shadow: 0 4px 14px rgba(15, 118, 110, 0.22);
}
.dept-preview-btn:active { transform: scale(0.98); }

.dept-detail-bg {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(15, 23, 42, 0.5);
  display: grid; place-items: center; padding: 0.75rem;
  -webkit-overflow-scrolling: touch;
}
.dept-detail-bg[hidden] { display: none !important; }
.dept-detail {
  width: min(720px, 100%); max-height: min(88vh, 760px);
  background: #fff; border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
  border: 1px solid #d4e8f0;
  font-family: 'Tajawal', 'Cairo', sans-serif;
}
.dept-detail__head {
  position: relative;
  background: linear-gradient(135deg, #1e2a4a, #245a6e 55%, #0f766e);
  color: #fff; padding: 0.95rem 1.05rem;
}
.dept-detail__x {
  position: absolute; left: 0.75rem; top: 0.75rem;
  width: 34px; height: 34px; border: 0; border-radius: 10px;
  background: rgba(255,255,255,0.14); color: #fff; cursor: pointer; display: grid; place-items: center;
}
.dept-detail__eye { margin: 0; font-size: 0.68rem; font-weight: 700; opacity: 0.88; }
.dept-detail__head h3 {
  margin: 0.2rem 0 0.55rem; font-size: 1.05rem; font-weight: 800;
  padding-left: 2.2rem; line-height: 1.35;
}
.dept-detail__stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.35rem;
}
.dept-detail__stats > div {
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.16);
  border-radius: 10px; padding: 0.4rem 0.45rem; text-align: center;
}
.dept-detail__stats span { display: block; font-size: 0.6rem; opacity: 0.85; font-weight: 700; }
.dept-detail__stats strong { display: block; margin-top: 0.08rem; font-size: 0.9rem; font-weight: 800; }
.dept-detail__body {
  padding: 0.8rem 0.9rem; overflow: auto;
  background: linear-gradient(180deg, #f7fbfd, #fff); flex: 1;
}
.dept-detail__formula {
  background: #fff; border: 1px solid #d4e8f0; border-radius: 12px;
  padding: 0.5rem 0.7rem; margin-bottom: 0.7rem;
  font-size: 0.74rem; font-weight: 700; color: #475569; text-align: center; line-height: 1.5;
}
.dept-detail__formula b { color: #0f766e; }
.dept-detail__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.dept-detail__panel {
  background: #fff; border: 1px solid #d4e8f0; border-radius: 14px; overflow: hidden; min-height: 140px;
}
.dept-detail__panel .ph {
  display: flex; align-items: center; justify-content: space-between; gap: 0.35rem;
  padding: 0.5rem 0.65rem; font-size: 0.74rem; font-weight: 800;
}
.dept-detail__panel.ok .ph { background: #e8fafb; color: #0f766e; border-bottom: 1px solid #c5f0f3; }
.dept-detail__panel.no .ph { background: #fff4f0; color: #9a3412; border-bottom: 1px solid #fbd5c8; }
.dept-detail__panel .cnt {
  background: rgba(0,0,0,0.08); border-radius: 999px; padding: 0.1rem 0.4rem; font-size: 0.7rem; min-width: 1.5rem; text-align: center;
}
.dept-detail__list {
  list-style: none; margin: 0; padding: 0.4rem 0.45rem 0.55rem; max-height: 240px; overflow: auto;
}
.dept-detail__list li {
  display: flex; align-items: center; justify-content: space-between; gap: 0.45rem;
  padding: 0.4rem 0.45rem; border-radius: 10px; font-size: 0.74rem; font-weight: 700; color: #334155;
}
.dept-detail__list li + li { margin-top: 0.18rem; }
.dept-detail__panel.ok .dept-detail__list li { background: #f3fcfd; }
.dept-detail__panel.no .dept-detail__list li { background: #fafafa; }
.dept-detail__list .nm { display: flex; align-items: center; gap: 0.3rem; text-align: right; line-height: 1.35; }
.dept-detail__list .nm i { color: #94a3b8; flex-shrink: 0; }
.dept-detail__panel.ok .dept-detail__list .nm i { color: #00b8c4; }
.dept-detail__list .end { display: inline-flex; align-items: center; gap: 0.25rem; flex-shrink: 0; }
.dept-detail__list .pill {
  border-radius: 8px; padding: 0.16rem 0.4rem; font-size: 0.68rem; font-weight: 800; color: #fff;
}
.dept-detail__list .pill.s25 { background: #00b8c4; }
.dept-detail__list .pill.s15 { background: #f59e0b; }
.dept-detail__list .pill.s10 { background: #fb923c; }
.dept-detail__list .pill.s0 { background: #94a3b8; }
.dept-detail__list .empty { justify-content: center; color: #94a3b8; background: transparent !important; }
.dept-mem-edit {
  width: 28px; height: 28px; border-radius: 8px; border: 1px solid #d4e8f0;
  background: #fff; color: #5a7a88; cursor: pointer; display: grid; place-items: center;
}
.dept-detail__foot {
  display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; flex-wrap: wrap;
  padding: 0.6rem 0.9rem; border-top: 1px solid #e4eef3; background: #fff;
  font-size: 0.7rem; font-weight: 600; color: #7a9eab;
}
@media (max-width: 991.98px) {
  body.page-dept-eval .app-main {
    padding-inline: 0.65rem !important;
    overflow: visible !important;
  }
  .dept-eval-page .eval-report {
    border-radius: 18px;
    border: 1px solid #d4e8f0;
    box-shadow: 0 8px 28px rgba(30, 42, 74, 0.06);
  }
  .dept-eval-page .eval-meta {
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    margin: 0 0.65rem 0.75rem;
  }
  .dept-eval-page .eval-meta__card {
    border-radius: 14px;
    padding: 0.65rem 0.7rem;
  }
  .dept-eval-page .eval-meta__card span { font-size: 0.66rem; }
  .dept-eval-page .eval-meta__card strong { font-size: 1.05rem; font-family: 'Tajawal', 'Cairo', sans-serif; }
  .dept-eval-formula {
    margin: 0 0.65rem 0.75rem;
    border-radius: 16px;
    padding: 0.85rem 0.8rem;
  }
  .dept-eval-formula strong { font-size: 0.92rem; }
  .dept-eval-formula__box { font-size: 0.78rem; gap: 0.3rem; }
  .dept-eval-formula p { font-size: 0.74rem; }
  .dept-eval-page .eval-toolbar {
    margin: 0 0.65rem 0.65rem;
    gap: 0.45rem;
  }
  .dept-eval-page .eval-search input {
    font-size: 0.9rem;
    min-height: 44px;
    border-radius: 12px;
    font-family: 'Tajawal', 'Cairo', sans-serif;
  }
  .dept-eval-page .eval-table-pad { padding: 0 0.55rem 1rem; }
  .dept-eval-page .eval-cards { gap: 0.85rem; }
  .dept-m-card__title h3 { font-size: 1.08rem; }
  .dept-preview-btn { font-size: 0.92rem; min-height: 46px; }
  .dept-detail { max-height: 92vh; border-radius: 16px; }
  .dept-detail__stats { grid-template-columns: 1fr 1fr; }
  .dept-detail__cols { grid-template-columns: 1fr; }
  .dept-detail__head h3 { font-size: 1.02rem; }
  .dept-detail__list { max-height: 38vh; }
  .dept-sync-banner { margin: 0.75rem 0.65rem 0.65rem !important; border-radius: 14px; }
}
@media (max-width: 640px) {
  .dept-detail__stats { grid-template-columns: 1fr 1fr; }
  .dept-detail__cols { grid-template-columns: 1fr; }
  .dept-detail { max-height: 92vh; }
}

/* ═══ الحسابات الناقصة ═══ */
body.page-incomplete-accounts .app-main { padding-top: 1rem; }
.app-aside__link--incomplete .app-aside__ico {
  background: linear-gradient(145deg, #b45309, #dc2626) !important;
  color: #fff !important;
}
.inc-page .inc-intro {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: linear-gradient(120deg, #fff7ed, #fef2f2);
  border: 1px solid #fed7aa;
}
.inc-page .inc-intro h2 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: #9a3412;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.inc-page .inc-intro p {
  margin: 0;
  font-size: 0.88rem;
  color: #7c2d12;
  line-height: 1.65;
  font-weight: 600;
}
.inc-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}
.inc-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
}
.inc-chip--incomplete { background: #fef3c7; color: #92400e; }
.inc-chip--email { background: #fee2e2; color: #b91c1c; }
.inc-chip--affiliation { background: #ffedd5; color: #c2410c; }
.inc-chip--nopub { background: #e0e7ff; color: #3730a3; }

/* ═══ الباحثين المتعاونين ═══ */
body.page-collaborators .app-main { padding-top: 1rem; }
.app-aside__link--collab .app-aside__ico {
  background: linear-gradient(145deg, #0f766e, #14b8a6) !important;
  color: #fff !important;
}
.collab-banner {
  background: linear-gradient(90deg, #ecfdf5, #f0fdfa) !important;
  border-color: #a7f3d0 !important;
  color: #065f46 !important;
}
.collab-banner i { color: #0f766e !important; }
.collab-name {
  display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 800; color: #1e2a4a;
}
.collab-badge {
  width: 26px; height: 26px; border-radius: 8px; flex-shrink: 0;
  display: inline-grid; place-items: center;
  background: linear-gradient(145deg, #0f766e, #14b8a6); color: #fff; font-size: 0.85rem;
}
.collab-pubs {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.6rem; padding: 0.25rem 0.5rem; border-radius: 8px;
  font-weight: 800; font-size: 0.78rem; color: #fff;
  background: linear-gradient(145deg, #0f766e, #14b8a6);
}
.collab-card .eval-card__name {
  display: flex; align-items: center; gap: 0.4rem;
}

/* ═══ دخول التقييم (إدارة) ═══ */
.dash-name-cell {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  text-align: right;
}
.dash-name-cell__info { flex: 1; min-width: 0; }
.eval-incl-toggle {
  flex-shrink: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  width: 74px;
  min-height: 58px;
  padding: 0.35rem 0.25rem;
  border-radius: 12px;
  border: 1.5px solid #d4e8f0;
  background: #fff;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.eval-incl-toggle i { font-size: 1.15rem; line-height: 1; }
.eval-incl-toggle span {
  font-size: 0.58rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}
.eval-incl-toggle.is-on {
  background: #ecfdf5;
  border-color: #6ee7b7;
  color: #047857;
}
.eval-incl-toggle.is-off {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #be123c;
}
.eval-incl-toggle.is-collab {
  background: #f0fdfa;
  border-color: #99f6e4;
  color: #0f766e;
  cursor: default;
}
.eval-incl-toggle:hover:not(.is-collab) {
  box-shadow: 0 2px 10px rgba(30, 42, 74, 0.08);
}
@media (max-width: 768px) {
  .eval-incl-toggle { width: 64px; min-height: 52px; }
  .eval-incl-toggle span { font-size: 0.54rem; }
}

/* ═══ المؤتمرات والأنشطة ═══ */
.se-page { padding-bottom: 1.5rem; }
.se-hero {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem;
}
.se-hero__kicker {
  margin: 0 0 0.25rem; font-size: 0.75rem; font-weight: 800; color: #0e7490;
  display: inline-flex; align-items: center; gap: 0.3rem;
}
.se-hero h2 {
  margin: 0; font-size: 1.25rem; font-weight: 800; color: #1e2a4a;
  display: flex; align-items: center; gap: 0.4rem;
}
.se-hero h2 i { color: #0e7490; }
.se-hero p { margin: 0.3rem 0 0; font-size: 0.84rem; color: #6b7c8f; font-weight: 600; }
.se-btn {
  border: 0; border-radius: 11px; padding: 0.55rem 0.95rem;
  font-family: inherit; font-weight: 800; font-size: 0.84rem;
  display: inline-flex; align-items: center; gap: 0.35rem; cursor: pointer;
}
.se-btn--primary { background: linear-gradient(135deg, #0e7490, #14b8a6); color: #fff; }
.se-btn--ghost { background: #f1f5f9; color: #334155; }
.se-btn--danger { background: #fff1f2; color: #be123c; }
.se-stats {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.55rem; margin-bottom: 1rem;
}
@media (max-width: 900px) { .se-stats { grid-template-columns: repeat(2, 1fr); } }
.se-stat {
  background: #fff; border: 1px solid #e2eef4; border-radius: 14px; padding: 0.75rem 0.7rem;
  box-shadow: 0 4px 12px rgba(30,42,74,0.04);
}
.se-stat span { display: block; font-size: 0.72rem; font-weight: 700; color: #6b7c8f; }
.se-stat strong { display: block; font-size: 1.25rem; font-weight: 800; color: #1e2a4a; margin-top: 0.15rem; }
.se-stat--soon strong { color: #0369a1; }
.se-stat--run strong { color: #0e7490; }
.se-stat--done strong { color: #059669; }
.se-stat--late strong { color: #dc2626; }
.se-toolbar { margin-bottom: 0.9rem; gap: 0.5rem; }
.se-toolbar .form-select {
  max-width: 180px; border-radius: 11px; font-weight: 700; font-size: 0.84rem;
}
.se-arch-toggle {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.8rem; font-weight: 800; color: #475569; margin: 0;
}
.se-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem;
}
@media (max-width: 1000px) { .se-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .se-grid { grid-template-columns: 1fr; } }
.se-card {
  background: #fff; border: 1px solid #e2eef4; border-radius: 16px; padding: 0.95rem;
  box-shadow: 0 6px 16px rgba(30,42,74,0.05); cursor: pointer;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.se-card:hover { border-color: #7dd3de; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(14,116,144,0.12); }
.se-card.is-soon { border-color: #7dd3fc; background: linear-gradient(180deg, #f0f9ff, #fff); }
.se-card.is-late { border-color: #fca5a5; background: linear-gradient(180deg, #fff1f2, #fff); }
.se-card__top { display: flex; justify-content: space-between; gap: 0.4rem; margin-bottom: 0.5rem; }
.se-card h3 { margin: 0 0 0.45rem; font-size: 0.98rem; font-weight: 800; color: #1e2a4a; line-height: 1.45; }
.se-card__meta {
  display: grid; gap: 0.25rem; margin: 0 0 0.65rem;
  font-size: 0.76rem; font-weight: 700; color: #64748b;
}
.se-card__meta i { color: #0e7490; margin-left: 0.2rem; }
.se-card__foot {
  display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center;
  justify-content: space-between; margin-top: 0.55rem;
  font-size: 0.74rem; font-weight: 700; color: #475569;
}
.se-type, .se-status {
  display: inline-flex; align-items: center; gap: 0.25rem;
  font-size: 0.7rem; font-weight: 800; border-radius: 999px; padding: 0.18rem 0.5rem;
}
.se-type { background: #e7f7f9; color: #0e7490; }
.se-status { background: color-mix(in srgb, var(--st, #64748b) 14%, #fff); color: var(--st, #64748b); }
.se-badge {
  font-size: 0.66rem; font-weight: 800; border-radius: 999px; padding: 0.15rem 0.45rem;
  background: #f1f5f9; color: #475569;
}
.se-badge--soon { background: #e0f2fe; color: #0369a1; }
.se-badge--late { background: #fee2e2; color: #b91c1c; }
.se-progress { display: flex; align-items: center; gap: 0.45rem; }
.se-progress__bar {
  flex: 1; height: 8px; border-radius: 999px; background: #e2e8f0; overflow: hidden;
}
.se-progress__bar span {
  display: block; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, #0e7490, #14b8a6);
}
.se-progress__bar--lg { height: 12px; margin-top: 0.45rem; }
.se-progress em { font-style: normal; font-size: 0.72rem; font-weight: 800; color: #0e7490; min-width: 2.2rem; }
.se-empty {
  grid-column: 1 / -1; text-align: center; padding: 2.5rem 1rem;
  background: #fff; border: 1px dashed #cbd5e1; border-radius: 16px; color: #64748b;
}
.se-empty i { font-size: 1.8rem; color: #94a3b8; display: block; margin-bottom: 0.4rem; }
.se-empty strong { display: block; color: #1e2a4a; font-size: 1rem; }
.se-detail__nav {
  display: flex; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; margin-bottom: 0.9rem;
}
.se-detail__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.se-detail__head {
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  background: #fff; border: 1px solid #e2eef4; border-radius: 18px; padding: 1.1rem;
  margin-bottom: 0.85rem;
}
.se-detail__tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.45rem; }
.se-detail__head h2 { margin: 0 0 0.35rem; font-size: 1.2rem; font-weight: 800; }
.se-detail__head p { margin: 0; color: #64748b; font-weight: 600; line-height: 1.65; }
.se-detail__progress {
  min-width: 140px; text-align: center; background: #f0fdfa; border-radius: 14px; padding: 0.85rem;
}
.se-detail__progress strong { display: block; font-size: 1.6rem; color: #0f766e; }
.se-detail__progress span { font-size: 0.72rem; font-weight: 800; color: #0e7490; }
.se-detail__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-bottom: 0.85rem;
}
@media (max-width: 760px) { .se-detail__grid { grid-template-columns: 1fr 1fr; } }
.se-info {
  background: #fff; border: 1px solid #e8eef2; border-radius: 12px; padding: 0.7rem 0.75rem;
}
.se-info span { display: block; font-size: 0.7rem; font-weight: 700; color: #6b7c8f; }
.se-info strong { font-size: 0.9rem; font-weight: 800; }
.se-notes, .se-section {
  background: #fff; border: 1px solid #e8eef2; border-radius: 14px; padding: 0.9rem 1rem; margin-bottom: 0.75rem;
}
.se-notes h3, .se-section h3 {
  margin: 0 0 0.55rem; font-size: 0.92rem; font-weight: 800;
  display: flex; align-items: center; gap: 0.35rem;
}
.se-notes p { margin: 0; font-weight: 600; color: #475569; line-height: 1.65; }
.se-links { margin: 0; padding: 0 1.1rem 0 0; }
.se-links a { font-weight: 700; color: #0369a1; }
.se-atts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.45rem; }
@media (max-width: 640px) { .se-atts { grid-template-columns: 1fr; } }
.se-att {
  display: flex; align-items: center; gap: 0.45rem; text-decoration: none;
  border: 1px solid #e2eef4; border-radius: 11px; padding: 0.55rem 0.65rem; background: #f8fbfd; color: #1e2a4a;
}
.se-att i { color: #0e7490; font-size: 1.1rem; }
.se-att span { flex: 1; font-size: 0.8rem; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.se-att small { font-size: 0.65rem; font-weight: 700; color: #64748b; }
.se-att--locked { cursor: default; opacity: 0.85; }
.se-hist { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.4rem; }
.se-hist li {
  display: flex; justify-content: space-between; gap: 0.5rem; flex-wrap: wrap;
  padding: 0.45rem 0.55rem; border-radius: 10px; background: #f8fbfd; font-size: 0.8rem;
}
.se-hist strong { font-weight: 800; }
.se-hist span { color: #64748b; font-weight: 600; }
.se-form label { display: block; font-size: 0.78rem; font-weight: 800; color: #334155; margin: 0.35rem 0 0.2rem; text-align: right; }
.se-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 0.35rem; }
@media (max-width: 560px) { .se-form__row { grid-template-columns: 1fr; } }
.app-aside__link--events.is-active .app-aside__ico,
#nav-scienceEvents.active .app-aside__ico { color: #5eead4; }

/* نموذج احترافي كامل */
.se-form-head {
  background: #fff; border: 1px solid #e2eef4; border-radius: 16px;
  padding: 1rem 1.1rem; margin-bottom: 0.9rem;
}
.se-form-head h2 { margin: 0; font-size: 1.15rem; font-weight: 800; }
.se-form-head p { margin: 0.3rem 0 0; color: #64748b; font-weight: 600; font-size: 0.84rem; }
.se-pro-form { display: grid; gap: 0.85rem; }
.se-fieldset {
  margin: 0; border: 1px solid #e2eef4; border-radius: 16px;
  background: #fff; padding: 0.85rem 1rem 1rem;
}
.se-fieldset legend {
  float: none; width: auto; padding: 0 0.35rem; margin-bottom: 0.65rem;
  font-size: 0.92rem; font-weight: 800; color: #0e7490;
}
.se-grid-form {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem 0.85rem;
}
@media (max-width: 760px) { .se-grid-form { grid-template-columns: 1fr; } }
.se-field { display: flex; flex-direction: column; gap: 0.28rem; }
.se-field--full { grid-column: 1 / -1; }
.se-field label { font-size: 0.78rem; font-weight: 800; color: #334155; margin: 0; }
.se-field input[type="text"],
.se-field input[type="email"],
.se-field input[type="url"],
.se-field input[type="date"],
.se-field input[type="time"],
.se-field input[type="number"],
.se-field input[type="file"],
.se-field select,
.se-field textarea {
  width: 100%; border: 1.5px solid #d5e3ec; border-radius: 11px;
  padding: 0.65rem 0.8rem; font-family: inherit; font-weight: 600; font-size: 0.9rem;
  background: #f8fbfd; color: #1e2a4a; outline: none;
}
.se-field textarea { resize: vertical; min-height: 72px; }
.se-field input:focus, .se-field select:focus, .se-field textarea:focus {
  border-color: #0e7490; background: #fff; box-shadow: 0 0 0 3px rgba(14,116,144,0.12);
}
.se-field input[type="range"] { width: 100%; accent-color: #0e7490; }
.se-check {
  display: inline-flex !important; align-items: center; gap: 0.45rem;
  font-size: 0.86rem !important; margin-top: 1.4rem !important; cursor: pointer;
}
.se-form-actions {
  display: flex; justify-content: flex-end; gap: 0.5rem; flex-wrap: wrap;
  padding: 0.2rem 0 0.8rem;
}
.se-atts--edit { grid-template-columns: 1fr; }
.se-att--edit { cursor: default; }
.se-btn--join {
  background: linear-gradient(135deg, #0369a1, #0ea5e9);
  color: #fff;
  box-shadow: 0 6px 16px rgba(3,105,161,0.22);
}
.se-btn--block { width: 100%; justify-content: center; margin: 0.35rem 0 0.75rem; }
.se-join-ico {
  border: 0; margin-inline-start: auto;
  display: inline-flex; align-items: center; gap: 0.3rem;
  background: linear-gradient(135deg, #0369a1, #0ea5e9); color: #fff;
  border-radius: 999px; padding: 0.28rem 0.65rem;
  font-family: inherit; font-size: 0.72rem; font-weight: 800; cursor: pointer;
  box-shadow: 0 4px 12px rgba(3,105,161,0.25);
}
.se-join-ico:hover { filter: brightness(1.06); }
.se-join-ico i { font-size: 0.9rem; }
.se-section__count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.4rem; height: 1.4rem; margin-right: 0.35rem;
  border-radius: 999px; background: #e0f2fe; color: #0369a1;
  font-size: 0.72rem; font-weight: 800;
}
.se-regs { display: grid; gap: 0.45rem; margin-top: 0.55rem; }
.se-reg {
  display: flex; align-items: center; gap: 0.55rem;
  padding: 0.55rem 0.65rem; border-radius: 12px;
  background: #f8fbfd; border: 1px solid #e2eef4;
}
.se-reg.is-attended { background: #ecfdf5; border-color: #a7f3d0; }
.se-reg__ico {
  width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center; background: #e0f2fe; color: #0369a1; flex-shrink: 0;
}
.se-reg.is-attended .se-reg__ico { background: #d1fae5; color: #059669; }
.se-reg__body { flex: 1; min-width: 0; }
.se-reg__body strong { display: block; font-size: 0.86rem; font-weight: 800; }
.se-reg__body span, .se-reg__body small {
  display: block; font-size: 0.72rem; font-weight: 600; color: #64748b;
}
.se-reg__status { text-align: left; flex-shrink: 0; }
.se-reg__status em {
  display: block; font-style: normal; font-size: 0.7rem; font-weight: 800; color: #0369a1; margin-bottom: 0.2rem;
}
.se-reg.is-attended .se-reg__status em { color: #059669; }
.se-reg__acts { display: flex; gap: 0.2rem; justify-content: flex-end; }
.se-reg__acts button {
  width: 30px; height: 30px; border: 0; border-radius: 8px; cursor: pointer;
  background: #fff; color: #0e7490; box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.se-reg__acts button:last-child { color: #be123c; }
.se-join-form__ev {
  margin: 0 0 0.75rem; padding: 0.55rem 0.7rem; border-radius: 10px;
  background: #e7f7f9; color: #0e7490; font-size: 0.84rem; font-weight: 800;
}
.se-join-form label { display: block; font-size: 0.78rem; font-weight: 800; text-align: right; margin: 0.25rem 0; }

/* بطاقة كانفا — تسجيل وحضور */
.se-canva-popup {
  border-radius: 22px !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: 0 28px 60px rgba(15, 36, 48, 0.28) !important;
  border: 0 !important;
}
.se-canva-html { margin: 0 !important; padding: 0 !important; overflow: hidden; }
.se-canva-actions {
  margin: 0 !important; padding: 0.85rem 1.1rem 1.1rem !important;
  background: #fff; gap: 0.5rem !important;
}
.se-canva-confirm {
  border: 0 !important; border-radius: 12px !important;
  background: linear-gradient(135deg, #0e7490, #0891b2) !important;
  color: #fff !important; font-weight: 800 !important; font-size: 0.9rem !important;
  padding: 0.72rem 1.15rem !important;
  box-shadow: 0 8px 20px rgba(14, 116, 144, 0.28) !important;
}
.se-canva-cancel {
  border: 0 !important; border-radius: 12px !important;
  background: #f1f5f9 !important; color: #475569 !important;
  font-weight: 800 !important; font-size: 0.88rem !important;
  padding: 0.72rem 1rem !important;
}
.se-canva { text-align: right; font-family: inherit; }
.se-canva__hero {
  position: relative; padding: 1.25rem 1.2rem 1.1rem; color: #e8f7fa;
  background:
    radial-gradient(520px 220px at 10% -20%, rgba(94,234,212,0.35), transparent 55%),
    linear-gradient(145deg, #0f2430 0%, #134e4a 48%, #0e7490 100%);
  text-align: right;
}
.se-canva__badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px; padding: 0.22rem 0.65rem;
  font-size: 0.72rem; font-weight: 800; margin-bottom: 0.55rem;
}
.se-canva__hero h3 {
  margin: 0 0 0.55rem; font-size: 1.12rem; font-weight: 800; line-height: 1.5; color: #fff;
}
.se-canva__meta {
  display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 0.7rem;
  font-size: 0.74rem; font-weight: 700; color: #b7dce4;
}
.se-canva__meta span {
  display: inline-flex; align-items: center; gap: 0.25rem;
  background: rgba(0,0,0,0.15); border-radius: 999px; padding: 0.18rem 0.55rem;
}
.se-canva__st { color: #fff !important; background: color-mix(in srgb, var(--st) 70%, #000) !important; }
.se-canva__chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.se-canva__chips span {
  display: inline-flex; align-items: center; gap: 0.25rem;
  background: rgba(255,255,255,0.12); border-radius: 999px;
  padding: 0.2rem 0.55rem; font-size: 0.7rem; font-weight: 800; color: #99f6e4;
}
.se-canva__body { padding: 1rem 1.15rem 0.35rem; background: #fff; }
.se-canva__lead {
  margin: 0 0 0.85rem; font-size: 0.82rem; font-weight: 700; color: #64748b;
}
.se-canva__field { margin-bottom: 0.75rem; text-align: right; }
.se-canva__field label {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.76rem; font-weight: 800; color: #334155; margin-bottom: 0.35rem;
}
.se-canva__field label i { color: #0e7490; }
.se-canva__field input[type="text"],
.se-canva__field input[type="email"],
.se-canva__field input[type="tel"] {
  width: 100%; border: 1.5px solid #dbe7ef; border-radius: 12px;
  padding: 0.72rem 0.85rem; font-family: inherit; font-weight: 700; font-size: 0.92rem;
  background: #f7fbfd; color: #132033; outline: none;
}
.se-canva__field input:focus {
  border-color: #0e7490; background: #fff;
  box-shadow: 0 0 0 3px rgba(14,116,144,0.12);
}
.se-canva__row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem;
}
@media (max-width: 520px) { .se-canva__row { grid-template-columns: 1fr; } }
.se-canva__roles {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem;
}
.se-canva__role {
  display: flex; flex-direction: column; align-items: center; gap: 0.25rem;
  margin: 0; padding: 0.7rem 0.4rem; border-radius: 14px; cursor: pointer;
  border: 1.5px solid #e2eef4; background: #f8fbfd;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.se-canva__role i { font-size: 1.15rem; color: #64748b; }
.se-canva__role em { font-style: normal; font-size: 0.7rem; font-weight: 800; color: #475569; text-align: center; line-height: 1.35; }
.se-canva__role.is-on {
  border-color: #0e7490; background: #e7f7f9;
  box-shadow: 0 6px 16px rgba(14,116,144,0.12);
}
.se-canva__role.is-on i, .se-canva__role.is-on em { color: #0e7490; }
.se-canva__attend {
  display: flex; gap: 0.65rem; align-items: stretch; cursor: pointer;
  margin: 0.2rem 0 0.35rem; padding: 0;
}
.se-canva__attend input { position: absolute; opacity: 0; pointer-events: none; }
.se-canva__attend-ui {
  flex: 1; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto;
  column-gap: 0.55rem; align-items: center;
  padding: 0.75rem 0.85rem; border-radius: 14px;
  border: 1.5px solid #a7f3d0; background: linear-gradient(120deg, #ecfdf5, #f0fdfa);
}
.se-canva__attend-ui i {
  grid-row: 1 / span 2; font-size: 1.35rem; color: #059669;
}
.se-canva__attend-ui strong { font-size: 0.88rem; font-weight: 800; color: #065f46; }
.se-canva__attend-ui small { font-size: 0.72rem; font-weight: 600; color: #047857; }
.se-canva__attend input:not(:checked) + .se-canva__attend-ui {
  border-color: #e2e8f0; background: #f8fafc;
}
.se-canva__attend input:not(:checked) + .se-canva__attend-ui i,
.se-canva__attend input:not(:checked) + .se-canva__attend-ui strong { color: #64748b; }
.se-canva__attend input:not(:checked) + .se-canva__attend-ui small { color: #94a3b8; }

/* ─── البحث التطبيقي والتحديات — تصميم كانفا (ar-) ─── */
body.page-applied-research {
  --ar-ink: #1a3d42;
  --ar-muted: #5f7a82;
  --ar-line: #b7d4da;
  --ar-soft: #e8f4f6;
  --ar-teal: #0d7c86;
  --ar-teal-deep: #0a5f67;
  --ar-card-border: #8ebdc6;
  --ar-font: 'Cairo', 'Tajawal', sans-serif;
}
body.page-applied-research .portal-header { display: none; }
body.page-applied-research .app-main {
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(13, 124, 134, 0.07), transparent 55%),
    linear-gradient(180deg, #f3f8fa 0%, #eef5f7 40%, #f7fafb 100%);
}

.ar-page {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0.35rem 0.55rem calc(1.5rem + var(--safe-bottom));
  font-family: var(--ar-font);
}

/* بطاقة كانفا الرئيسية */
.ar-canva {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 22px;
  border: 2px solid var(--ar-card-border);
  background: #fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 12px 32px rgba(26, 61, 66, 0.08);
  margin-bottom: 1rem;
}
.ar-canva__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(165deg, #eaf5f7 0%, #f7fbfc 42%, #ffffff 100%);
  pointer-events: none;
}
.ar-canva__bg::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, #0a5f67, #14a3ae, #5ec4cc, #0a5f67);
}
.ar-canva__bg::after {
  content: '';
  position: absolute;
  width: 220px; height: 220px;
  border-radius: 50%;
  right: -60px; top: -70px;
  background: radial-gradient(circle, rgba(20,163,174,0.14), transparent 68%);
}
.ar-canva > *:not(.ar-canva__bg) { position: relative; z-index: 1; }

.ar-canva__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.95rem;
  padding: 1.45rem 1.25rem 0.85rem;
  text-align: center;
  flex-wrap: wrap;
}
.ar-canva__emblem {
  width: 54px; height: 54px;
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.45rem;
  color: var(--ar-teal);
  background: #fff;
  border: 2px solid #c5dde2;
  box-shadow: 0 6px 16px rgba(13, 124, 134, 0.12);
  flex-shrink: 0;
}
.ar-canva__kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--ar-teal);
  letter-spacing: 0.02em;
}
.ar-canva__titles h1 {
  margin: 0.2rem 0 0;
  font-size: clamp(1.05rem, 2.8vw, 1.38rem);
  font-weight: 800;
  color: var(--ar-ink);
  letter-spacing: -0.01em;
  line-height: 1.35;
}
.ar-canva__en {
  margin: 0.28rem 0 0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #7a9aa3;
  text-transform: uppercase;
  font-family: 'Tajawal', Cairo, sans-serif;
}
.ar-canva__sub {
  margin: 0.45rem auto 0;
  max-width: 34rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ar-muted);
  line-height: 1.65;
}
.ar-canva__actions {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  padding: 0.35rem 1.15rem 1.25rem;
}

.ar-btn {
  display: inline-flex; align-items: center; gap: 0.35rem;
  border-radius: 11px; padding: 0.55rem 0.95rem;
  font-family: inherit; font-weight: 750; font-size: 0.78rem;
  cursor: pointer; transition: background .15s, border-color .15s, box-shadow .15s;
  border: 2px solid transparent;
}
.ar-btn--primary {
  background: linear-gradient(135deg, #0d7c86, #14a3ae);
  color: #fff;
  border-color: #0a5f67;
  box-shadow: 0 4px 14px rgba(13, 124, 134, 0.28);
}
.ar-btn--primary:hover { background: linear-gradient(135deg, #0a5f67, #0d7c86); }
.ar-btn--ghost {
  background: #fff; color: var(--ar-teal-deep);
  border-color: #b5d0d6;
}
.ar-btn--ghost:hover { background: #f2f9fa; border-color: #7eb8c2; }
.ar-btn--danger { background: #fff5f5; color: #be123c; border-color: #fecdd3; }
.ar-btn--sm { padding: 0.38rem 0.65rem; font-size: 0.72rem; }

.ar-alerts { display: grid; gap: 0.4rem; margin-bottom: 0.75rem; }
.ar-alert {
  border-radius: 12px; padding: 0.5rem 0.75rem; font-size: 0.72rem; font-weight: 700;
  display: flex; align-items: flex-start; gap: 0.4rem;
  border: 1.5px solid transparent;
}
.ar-alert--danger { background: #fff1f2; color: #9f1239; border-color: #fecdd3; }
.ar-alert--warn { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.ar-alert--info { background: #eff6ff; color: #1e40af; border-color: #bfdbfe; }

.ar-tabs {
  display: flex; gap: 0.4rem; overflow-x: auto; padding: 0.15rem 0 0.55rem;
  margin-bottom: 0.65rem; -webkit-overflow-scrolling: touch;
}
.ar-tab {
  flex: 0 0 auto;
  border: 2px solid #c5d9df;
  background: #fff;
  color: #4a6670;
  border-radius: 999px;
  padding: 0.4rem 0.85rem;
  font-family: inherit;
  font-weight: 750;
  font-size: 0.72rem;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(13, 124, 134, 0.04);
}
.ar-tab.active {
  background: var(--ar-teal);
  border-color: var(--ar-teal-deep);
  color: #fff;
  box-shadow: 0 4px 12px rgba(13, 124, 134, 0.22);
}
.ar-panel { background: transparent; }

.ar-toolbar {
  display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.95rem;
  padding: 0.75rem;
  background: #fff;
  border: 2px solid var(--ar-line);
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(26, 61, 66, 0.04);
}
.ar-search { position: relative; flex: 1 1 220px; min-width: 160px; }
.ar-search i { position: absolute; right: 0.7rem; top: 50%; transform: translateY(-50%); color: #8aa3ab; font-size: 0.85rem; }
.ar-search .ar-input { padding-right: 2.05rem; }
.ar-input, .ar-select {
  width: 100%;
  border: 2px solid #c9dee3;
  border-radius: 11px;
  padding: 0.5rem 0.7rem;
  font-family: inherit;
  font-weight: 600;
  font-size: 0.78rem;
  background: #fbfcfd;
  color: var(--ar-ink);
  outline: none;
}
.ar-select { width: auto; min-width: 132px; flex: 0 0 auto; }
.ar-input:focus, .ar-select:focus {
  border-color: var(--ar-teal);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(13, 124, 134, 0.12);
}

.ar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.95rem;
}
.ar-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; }
@media (max-width: 640px) { .ar-grid-2 { grid-template-columns: 1fr; } }

/* بطاقات التحديات — حدود بارزة */
.ar-card {
  --ar-accent: var(--ar-teal);
  position: relative;
  background: #fff;
  border: 2.5px solid var(--ar-card-border);
  border-radius: 18px;
  padding: 0;
  text-align: right;
  cursor: pointer;
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 8px 22px rgba(26, 61, 66, 0.07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ar-card:hover {
  transform: translateY(-3px);
  border-color: var(--ar-accent);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 14px 30px rgba(13, 124, 134, 0.14);
}
.ar-card__accent {
  height: 5px;
  background: linear-gradient(90deg, var(--ar-accent), color-mix(in srgb, var(--ar-accent) 45%, #7dd3de));
}
.ar-card__body { padding: 0.85rem 0.95rem 0.8rem; }
.ar-card--success {
  border-color: #6ec9a8;
  background: linear-gradient(180deg, #f3fcf8 0%, #fff 55%);
}
.ar-card__top { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-bottom: 0.5rem; }
.ar-card h3 {
  margin: 0 0 0.28rem;
  font-size: 0.86rem;
  font-weight: 800;
  color: var(--ar-ink);
  line-height: 1.5;
}
.ar-card__en {
  margin: 0 0 0.4rem;
  font-size: 0.62rem;
  font-weight: 600;
  color: #718892;
  line-height: 1.45;
  direction: ltr;
  text-align: left;
  font-family: Georgia, 'Times New Roman', serif;
}
.ar-detail__en {
  margin: 0.3rem 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #718892;
  line-height: 1.45;
  direction: ltr;
  text-align: left;
  font-family: Georgia, 'Times New Roman', serif;
}
.ar-card__sum {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  color: var(--ar-muted);
  font-weight: 600;
  line-height: 1.65;
  min-height: 2.9em;
}
.ar-card__tags { display: flex; flex-wrap: wrap; gap: 0.28rem; margin-bottom: 0.65rem; }
.ar-card__tags span {
  font-size: 0.62rem;
  font-weight: 700;
  background: #f3fafb;
  color: var(--ar-teal-deep);
  border: 1.5px solid #c5dde2;
  border-radius: 999px;
  padding: 0.12rem 0.45rem;
}
.ar-card__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.55rem;
  border-top: 1.5px solid #e4eef1;
  margin-top: 0.15rem;
}
.ar-card__proposals {
  font-size: 0.68rem;
  font-weight: 750;
  color: #5a7580;
}
.ar-card__proposals i { color: var(--ar-teal); margin-left: 0.2rem; }
.ar-card__cta {
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--ar-teal);
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.ar-pill {
  display: inline-flex; align-items: center;
  font-size: 0.62rem; font-weight: 800;
  color: var(--ar-c, var(--ar-teal));
  background: #fff;
  border: 1.5px solid color-mix(in srgb, var(--ar-c, var(--ar-teal)) 42%, #fff);
  border-radius: 999px;
  padding: 0.12rem 0.48rem;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
}
.ar-pill--muted { --ar-c: #64748b; color: #556872; border-color: #cfdbe0; }
.ar-pill--num {
  --ar-c: var(--ar-teal);
  background: #eef8f9;
  border-color: #b5d6db;
  color: var(--ar-teal-deep);
}
.ar-pill--sm { font-size: 0.6rem; }

.ar-meta {
  display: flex; flex-wrap: wrap; gap: 0.35rem 0.65rem;
  font-size: 0.66rem; font-weight: 700; color: #5f7882;
  margin-bottom: 0.5rem;
}
.ar-meta i { color: var(--ar-teal); margin-left: 0.18rem; font-size: 0.72rem; }

.ar-empty {
  text-align: center; padding: 2.2rem 1rem; color: var(--ar-muted); font-weight: 700; font-size: 0.82rem;
  background: #fff; border: 2px dashed var(--ar-line); border-radius: 18px;
}
.ar-empty i { font-size: 1.6rem; color: #94aeb6; display: block; margin-bottom: 0.45rem; }

.ar-detail {
  background: #fff;
  border: 2.5px solid var(--ar-card-border);
  border-radius: 20px;
  padding: 1.1rem 1.15rem;
  box-shadow: 0 10px 28px rgba(26, 61, 66, 0.07);
}
.ar-detail__head { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.85rem; }
.ar-detail h2 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--ar-ink);
  line-height: 1.45;
}
.ar-detail__org { margin: 0.35rem 0 0; font-size: 0.74rem; color: var(--ar-muted); font-weight: 600; }
.ar-detail__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: flex-start; }
.ar-block {
  margin-top: 0.85rem;
  padding: 0.75rem 0.85rem;
  border: 2px solid #d7e8ec;
  border-radius: 14px;
  background: #fbfdfe;
}
.ar-block h4 { margin: 0 0 0.4rem; font-size: 0.78rem; font-weight: 800; color: var(--ar-ink); }
.ar-block p { margin: 0; font-size: 0.76rem; line-height: 1.7; color: #334155; font-weight: 600; }
.ar-block--success {
  background: #ecfdf5;
  border-color: #86d4b5;
}
.ar-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 0.55rem;
  margin-top: 0.85rem;
}
.ar-info-grid div {
  background: #fff;
  border: 2px solid #cfe0e6;
  border-radius: 13px;
  padding: 0.6rem 0.7rem;
  box-shadow: 0 2px 0 rgba(13, 124, 134, 0.04);
}
.ar-info-grid b { display: block; font-size: 0.62rem; color: #6b858e; margin-bottom: 0.22rem; font-weight: 800; }
.ar-info-grid span { font-size: 0.74rem; font-weight: 700; color: var(--ar-ink); line-height: 1.45; }

.ar-row {
  width: 100%;
  display: flex; justify-content: space-between; align-items: center; gap: 0.75rem;
  text-align: right; background: #fff;
  border: 2px solid #cfe0e6;
  border-radius: 14px;
  padding: 0.75rem 0.85rem;
  margin-bottom: 0.5rem;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
  box-shadow: 0 3px 10px rgba(26, 61, 66, 0.04);
}
.ar-row:hover { border-color: var(--ar-teal); }
.ar-row strong { font-size: 0.8rem; }

.ar-form {
  background: #fff;
  border: 2.5px solid var(--ar-card-border);
  border-radius: 20px;
  padding: 1.15rem 1.2rem;
  box-shadow: 0 10px 28px rgba(26, 61, 66, 0.07);
}
.ar-form h3 { margin: 0 0 0.85rem; font-size: 0.98rem; font-weight: 800; color: var(--ar-ink); }
.ar-field { margin-bottom: 0.65rem; }
.ar-field label { display: block; font-size: 0.7rem; font-weight: 800; color: #3d5a63; margin-bottom: 0.22rem; }
.ar-form-actions { display: flex; justify-content: flex-end; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.85rem; }

.ar-canva-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin: 0.75rem 0 0.85rem;
}
@media (max-width: 720px) { .ar-canva-fields { grid-template-columns: 1fr; } }

.ar-canva-box {
  --canva-accent: var(--canva-teal);
  --canva-edge: var(--canva-teal-edge);
  position: relative;
  background: linear-gradient(180deg, #fff 0%, #f7fbfc 100%);
  border: 1.5px solid color-mix(in srgb, var(--canva-edge) 72%, #94a3b8);
  border-top-width: 3.5px;
  border-top-color: var(--canva-accent);
  border-radius: 14px;
  padding: 0.75rem 0.8rem 0.7rem;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 6px 16px rgba(15, 23, 42, 0.045);
}
.ar-canva-box::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--canva-edge) 48%, transparent);
  pointer-events: none;
}
.ar-canva-box > * { position: relative; z-index: 1; }
.ar-canva-box--teal { --canva-accent: var(--canva-teal); --canva-edge: var(--canva-teal-edge); }
.ar-canva-box--amber { --canva-accent: var(--canva-amber); --canva-edge: var(--canva-amber-edge); }
.ar-canva-box label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.74rem;
  font-weight: 800;
  color: #1e3a44;
  margin-bottom: 0.35rem;
}
.ar-canva-box label i { color: var(--canva-accent); }
.ar-canva-box small {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.62rem;
  font-weight: 600;
  color: #6b858e;
  line-height: 1.45;
}
.ar-info-grid__wide { grid-column: 1 / -1; }

.ar-stats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 0.55rem;
  margin-bottom: 1rem;
}
.ar-stat {
  background: #fff;
  border: 2px solid var(--ar-line);
  border-radius: 14px;
  padding: 0.7rem 0.45rem;
  text-align: center;
  box-shadow: 0 4px 12px rgba(26, 61, 66, 0.05);
}
.ar-stat b { display: block; font-size: 1.1rem; font-weight: 800; color: var(--ar-teal); }
.ar-stat span { font-size: 0.64rem; font-weight: 750; color: #64748b; }

.ar-progress-ring {
  min-width: 68px; height: 68px; border-radius: 50%;
  border: 3.5px solid #99d8de;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: #f0fafa;
}
.ar-progress-ring strong { font-size: 0.9rem; color: var(--ar-teal); }
.ar-progress-ring span { font-size: 0.58rem; font-weight: 750; color: #64748b; }

.ar-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: 0.4rem;
}
.ar-tl {
  background: #fff;
  border: 2px solid #d5e5ea;
  border-radius: 12px;
  padding: 0.45rem;
  text-align: center;
  font-size: 0.64rem;
  font-weight: 750;
  color: #64748b;
}
.ar-tl span {
  display: inline-flex; width: 20px; height: 20px; border-radius: 50%;
  align-items: center; justify-content: center;
  background: #e2e8f0; color: #475569; font-size: 0.62rem; margin-bottom: 0.2rem;
}
.ar-tl.done { background: #ecfdf5; border-color: #86d4b5; color: #047857; }
.ar-tl.done span { background: #059669; color: #fff; }
.ar-tl.now { background: #ecfeff; border-color: #67c8d2; color: #0e7490; }
.ar-tl.now span { background: #0e7490; color: #fff; }
.ar-tl b { display: block; font-size: 0.62rem; line-height: 1.35; }

.ar-check {
  display: flex; gap: 0.5rem; align-items: flex-start;
  padding: 0.4rem 0; border-bottom: 1px solid #eef3f5; font-size: 0.76rem;
}
.ar-check i { color: #94a3b8; margin-top: 0.12rem; }
.ar-check.is-done i { color: #059669; }
.ar-check strong { display: block; font-size: 0.76rem; color: #1e293b; }
.ar-check small { color: #64748b; font-weight: 600; font-size: 0.66rem; }

.ar-log {
  background: #f7fbfd;
  border: 1.5px solid #dce9ed;
  border-radius: 11px;
  padding: 0.5rem 0.65rem;
  margin-bottom: 0.4rem;
  font-size: 0.72rem;
}
.ar-log div { display: flex; justify-content: space-between; gap: 0.5rem; color: #64748b; font-weight: 600; margin-bottom: 0.15rem; }
.ar-log p { margin: 0; font-weight: 700; color: #334155; font-size: 0.74rem; }

.ar-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ar-badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  background: #f0fafa;
  border: 2px solid #a8d5db;
  border-radius: 12px;
  padding: 0.35rem 0.55rem;
  font-size: 0.7rem;
  font-weight: 800;
  color: var(--ar-teal-deep);
}
.ar-badge--gold { background: #fffbeb; border-color: #f0d48a; color: #b45309; }
.ar-badge--lg { padding: 0.6rem 0.75rem; min-width: 150px; }
.ar-badge--lg small { display: block; font-size: 0.62rem; color: #64748b; font-weight: 700; }
.ar-badge--sm { padding: 0.2rem 0.45rem; font-size: 0.62rem; }
.ar-badges--catalog { gap: 0.5rem; }
.ar-rewards-intro h3 { margin: 0 0 0.25rem; font-size: 0.95rem; font-weight: 800; color: var(--ar-ink); }
.ar-rewards-intro p { margin: 0 0 0.75rem; font-size: 0.76rem; color: var(--ar-muted); font-weight: 600; }

/* ═══ التحفيز والجوائز — كانفا ═══ */
.ar-rw-hero {
  position: relative; padding: 1.15rem 1.2rem !important; margin-bottom: 0.85rem;
  background: linear-gradient(145deg, #fffbeb 0%, #fff 55%, #f0fdfa 100%) !important;
  overflow: hidden;
}
.ar-rw-hero__glow {
  position: absolute; top: -40px; left: -20px; width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(201, 162, 39, 0.25) 0%, transparent 70%);
  pointer-events: none;
}
.ar-rw-hero__top { display: flex; gap: 0.85rem; align-items: flex-start; margin-bottom: 0.65rem; }
.ar-rw-hero__emblem {
  width: 52px; height: 52px; border-radius: 16px; flex-shrink: 0;
  display: grid; place-items: center; font-size: 1.45rem; color: #fff;
  background: linear-gradient(145deg, #b45309, #fbbf24);
  box-shadow: 0 6px 18px rgba(180, 83, 9, 0.3);
}
.ar-rw-hero__kicker { margin: 0 0 0.2rem; font-size: 0.68rem; font-weight: 800; color: #b45309; }
.ar-rw-hero h2 { margin: 0 0 0.3rem; font-size: 1.12rem; font-weight: 800; color: #1a237e; line-height: 1.45; }
.ar-rw-hero__lead { margin: 0; font-size: 0.78rem; font-weight: 700; color: #475569; line-height: 1.6; }
.ar-rw-hero__body {
  margin: 0 0 0.65rem; font-size: 0.76rem; font-weight: 600; color: #334155; line-height: 1.75;
}
.ar-rw-perks {
  display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.6rem;
}
.ar-rw-perk {
  display: inline-flex; align-items: center; gap: 0.28rem;
  font-size: 0.64rem; font-weight: 800; color: #0f766e;
  background: rgba(13, 148, 136, 0.08); border: 1px solid rgba(13, 148, 136, 0.22);
  border-radius: 999px; padding: 0.22rem 0.55rem;
}
.ar-rw-perk i { font-size: 0.72rem; color: #0d9488; }
.ar-rw-hero__foot {
  margin: 0 0 0.65rem; font-size: 0.72rem; font-weight: 700; font-style: italic;
  color: #64748b; line-height: 1.6; border-right: 3px solid #c9a227; padding-right: 0.65rem;
}
.ar-rw-hero__actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }

.ar-rw-table-head { text-align: center; margin: 0.5rem 0 0.75rem; }
.ar-rw-table-head h3 {
  margin: 0 0 0.25rem; font-size: 0.95rem; font-weight: 800; color: #1a237e;
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.ar-rw-table-head h3 i { color: #c9a227; }
.ar-rw-table-head p { margin: 0; font-size: 0.72rem; font-weight: 600; color: #64748b; }

.ar-rw-table { display: flex; flex-direction: column; gap: 0.55rem; margin-bottom: 0.85rem; }
.ar-rw-tier {
  display: grid;
  grid-template-columns: 36px 72px 1fr auto;
  gap: 0.65rem; align-items: center;
  padding: 0.75rem 0.85rem !important;
  transition: transform 0.15s, box-shadow 0.15s;
}
.ar-rw-tier:hover { transform: translateX(-4px); }
.ar-rw-tier--top {
  background: linear-gradient(90deg, #fff 0%, #fffbeb 100%) !important;
}
.ar-rw-tier--elite {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 40%, #fff 100%) !important;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px #c9a227, 0 12px 28px rgba(201, 162, 39, 0.18) !important;
}
.ar-rw-tier__rank {
  width: 28px; height: 28px; border-radius: 50%; background: #e2e8f0; color: #475569;
  font-size: 0.68rem; font-weight: 800; display: grid; place-items: center;
}
.ar-rw-tier--elite .ar-rw-tier__rank { background: #c9a227; color: #fff; }
.ar-rw-tier__points { text-align: center; }
.ar-rw-tier__points b {
  display: block; font-size: 1.15rem; font-weight: 800; color: #0f766e; line-height: 1;
}
.ar-rw-tier--elite .ar-rw-tier__points b { color: #b45309; font-size: 1.25rem; }
.ar-rw-tier__points span { font-size: 0.58rem; font-weight: 700; color: #64748b; }
.ar-rw-tier__title {
  display: flex; align-items: center; gap: 0.55rem; margin-bottom: 0.35rem;
}
.ar-rw-tier__title > i {
  font-size: 1.15rem; color: var(--canva-accent, #0d9488); flex-shrink: 0;
}
.ar-rw-tier__title strong { display: block; font-size: 0.8rem; font-weight: 800; color: #1e3a44; line-height: 1.4; }
.ar-rw-tier__title small { display: block; font-size: 0.6rem; color: #64748b; font-weight: 600; margin-top: 0.1rem; }
.ar-rw-tier__crown { color: #c9a227; font-size: 1rem; margin-right: auto; }
.ar-rw-tier__rewards { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.ar-rw-reward-pill {
  font-size: 0.62rem; font-weight: 700; color: #334155;
  background: rgba(15, 23, 42, 0.04); border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 999px; padding: 0.15rem 0.45rem;
}
.ar-rw-tier--elite .ar-rw-reward-pill {
  background: rgba(201, 162, 39, 0.1); border-color: rgba(201, 162, 39, 0.35); color: #92400e;
}
.ar-rw-tier__admin { display: flex; flex-direction: column; gap: 0.25rem; }

.ar-rw-badges { padding: 0.85rem 1rem !important; margin-bottom: 0.75rem; }
.ar-rw-badges h4 { margin: 0 0 0.55rem; font-size: 0.82rem; font-weight: 800; color: #0f766e; }

.ar-rw-winners { padding: 0.85rem 1rem !important; margin-bottom: 0.5rem; }
.ar-rw-winners h4 { margin: 0 0 0.55rem; font-size: 0.82rem; font-weight: 800; color: #1e3a8a; }
.ar-rw-winner {
  display: flex; align-items: center; gap: 0.65rem; width: 100%; text-align: right;
  border: 1px solid #e2e8f0; background: #fff; border-radius: 10px;
  padding: 0.55rem 0.7rem; margin-bottom: 0.4rem; cursor: pointer; font-family: inherit;
}
.ar-rw-winner:hover { border-color: #99f6e4; background: #f0fdfa; }
.ar-rw-winner__ico { color: #c9a227; font-size: 1.2rem; }
.ar-rw-winner strong { font-size: 0.76rem; color: #1e3a44; }
.ar-rw-winners-empty { margin: 0; font-size: 0.74rem; }

@media (max-width: 640px) {
  .ar-rw-tier { grid-template-columns: 28px 60px 1fr; }
  .ar-rw-tier__admin { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; }
  .ar-rw-hero h2 { font-size: 1rem; }
}
.ar-subh { margin: 0.5rem 0 0.5rem; font-size: 0.84rem; font-weight: 800; color: var(--ar-ink); }
.ar-points { font-weight: 800; color: var(--ar-teal); font-size: 0.76rem; white-space: nowrap; }
.ar-mini-bar {
  height: 5px; background: #e2e8f0; border-radius: 999px; margin-top: 0.4rem; overflow: hidden;
  border: 1px solid #d5e0e4;
}
.ar-mini-bar i {
  display: block; height: 100%;
  background: linear-gradient(90deg, #0d7c86, #14a3ae);
  border-radius: 999px;
}
.ar-muted { color: var(--ar-muted); font-weight: 600; font-size: 0.74rem; }
.ar-files { list-style: none; padding: 0; margin: 0; }
.ar-files li { padding: 0.25rem 0; font-weight: 700; font-size: 0.74rem; color: #334155; }

.app-aside__link--applied.is-active .app-aside__ico,
#nav-appliedResearch.active .app-aside__ico { color: #5eead4; }

/* ═══ قصص النجاح — كانفا ═══ */
.ar-ss-hero {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.1rem !important;
  margin-bottom: 0.85rem;
  background: linear-gradient(180deg, #fffbeb 0%, #fff 70%) !important;
}
.ar-ss-hero__ico {
  width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0;
  display: grid; place-items: center; font-size: 1.35rem;
  background: linear-gradient(145deg, #b45309, #f59e0b); color: #fff;
  box-shadow: 0 4px 12px rgba(180, 83, 9, 0.25);
}
.ar-ss-hero__kicker { margin: 0 0 0.25rem; font-size: 0.68rem; font-weight: 800; color: #b45309; }
.ar-ss-hero h2 { margin: 0 0 0.35rem; font-size: 1rem; font-weight: 800; color: #1e3a44; line-height: 1.45; }
.ar-ss-hero__lead { margin: 0 0 0.65rem; font-size: 0.76rem; font-weight: 600; color: #475569; line-height: 1.7; }

.ar-ss-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
.ar-ss-card {
  cursor: pointer;
  padding: 0.9rem 1rem !important;
  background: linear-gradient(180deg, #f3fcf8 0%, #fff 55%) !important;
  transition: transform 0.15s, box-shadow 0.15s;
}
.ar-ss-card:hover { transform: translateY(-3px); }
.ar-ss-card__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.45rem; }
.ar-ss-card__feat {
  font-size: 0.62rem; font-weight: 800; color: #b45309;
  background: #fffbeb; border: 1px solid #fcd34d; border-radius: 999px; padding: 0.12rem 0.45rem;
}
.ar-ss-card h3 { margin: 0 0 0.25rem; font-size: 0.88rem; font-weight: 800; color: #1e3a44; line-height: 1.45; }
.ar-ss-card__sub { margin: 0 0 0.35rem; font-size: 0.7rem; font-weight: 700; color: #64748b; line-height: 1.5; }
.ar-ss-card__teaser { margin: 0 0 0.55rem; font-size: 0.72rem; font-weight: 600; color: #475569; line-height: 1.65; }
.ar-ss-card__stats { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.55rem; }
.ar-ss-card__stats span { font-size: 0.66rem; font-weight: 600; color: #64748b; }
.ar-ss-card__stats b { color: #0f766e; font-weight: 800; }
.ar-ss-card__stats i { color: #0d9488; margin-left: 0.2rem; }
.ar-ss-card__foot { padding-top: 0.45rem; border-top: 1px dashed #c5dde2; }

.ar-ss-cta {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: 0.85rem 1rem !important; margin-top: 0.5rem;
  background: linear-gradient(180deg, #f0fdfa 0%, #fff 70%) !important;
}
.ar-ss-cta strong { display: block; font-size: 0.82rem; color: #134e4a; margin-bottom: 0.2rem; }
.ar-ss-cta p { margin: 0; font-size: 0.72rem; font-weight: 600; color: #64748b; line-height: 1.55; max-width: 28rem; }

.ar-ss-story { max-width: 820px; margin: 0 auto; }
.ar-ss-story__head {
  display: flex; gap: 0.85rem; align-items: flex-start; flex-wrap: wrap;
  padding: 1.1rem 1.15rem !important; margin-bottom: 0.75rem;
  background: linear-gradient(180deg, #ecfdf5 0%, #fff 65%) !important;
}
.ar-ss-story__emblem {
  width: 52px; height: 52px; border-radius: 14px; flex-shrink: 0;
  display: grid; place-items: center; font-size: 1.4rem; color: #fff;
  background: linear-gradient(145deg, #047857, #10b981);
  box-shadow: 0 4px 14px rgba(4, 120, 87, 0.25);
}
.ar-ss-story__kicker { margin: 0 0 0.2rem; font-size: 0.68rem; font-weight: 800; color: #047857; }
.ar-ss-story__head h1 { margin: 0 0 0.25rem; font-size: 1.15rem; font-weight: 800; color: #1e3a44; line-height: 1.4; }
.ar-ss-story__en { margin: 0 0 0.3rem; font-size: 0.68rem; font-weight: 600; color: #64748b; direction: ltr; text-align: left; font-family: Georgia, serif; }
.ar-ss-story__sub { margin: 0; font-size: 0.76rem; font-weight: 700; color: #475569; line-height: 1.55; }

.ar-ss-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-bottom: 0.75rem;
}
.ar-ss-stat {
  text-align: center; padding: 0.65rem 0.45rem !important;
  background: #fff !important;
}
.ar-ss-stat i { display: block; font-size: 1.1rem; color: #0d9488; margin-bottom: 0.25rem; }
.ar-ss-stat b { display: block; font-size: 1.1rem; font-weight: 800; color: #134e4a; }
.ar-ss-stat span { display: block; font-size: 0.6rem; font-weight: 700; color: #64748b; line-height: 1.35; margin-top: 0.15rem; }

.ar-ss-path-wrap { padding: 0.85rem 1rem !important; margin-bottom: 0.75rem; }
.ar-ss-path-wrap h3 { margin: 0 0 0.55rem; font-size: 0.82rem; font-weight: 800; color: #1e3a8a; }
.ar-ss-path {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 0.4rem;
}
.ar-ss-path li {
  display: flex; align-items: center; gap: 0.35rem;
  background: #fff; border: 1.5px solid #bfdbfe; border-radius: 999px;
  padding: 0.28rem 0.65rem 0.28rem 0.45rem; font-size: 0.68rem; font-weight: 700; color: #1e40af;
}
.ar-ss-path li span {
  width: 20px; height: 20px; border-radius: 50%; background: #1e3a8a; color: #fff;
  font-size: 0.62rem; font-weight: 800; display: grid; place-items: center;
}
.ar-ss-path li b { font-weight: 800; }

.ar-ss-team { padding: 0.85rem 1rem !important; margin-bottom: 0.75rem; }
.ar-ss-team h3 { margin: 0 0 0.45rem; font-size: 0.82rem; font-weight: 800; color: #0369a1; }
.ar-ss-team p { margin: 0 0 0.35rem; font-size: 0.74rem; font-weight: 600; color: #334155; line-height: 1.6; }

.ar-ss-body { display: flex; flex-direction: column; gap: 0.65rem; margin-bottom: 0.75rem; }
.ar-ss-section { padding: 0.85rem 1rem !important; background: #fff !important; }
.ar-ss-section h3 { margin: 0 0 0.45rem; font-size: 0.84rem; font-weight: 800; color: #1e3a44; }
.ar-ss-section p { margin: 0 0 0.45rem; font-size: 0.76rem; font-weight: 600; color: #334155; line-height: 1.75; }
.ar-ss-section p:last-child { margin-bottom: 0; }
.ar-ss-section--lead { background: linear-gradient(180deg, #f0fdfa 0%, #fff 100%) !important; }
.ar-ss-lead { margin: 0; font-size: 0.82rem !important; font-weight: 700 !important; color: #1e3a44 !important; line-height: 1.8 !important; }
.ar-ss-section--highlight { background: linear-gradient(180deg, #fff1f2 0%, #fff 70%) !important; }
.ar-ss-section--highlight h3 { color: #be123c; }

.ar-ss-bullets { margin: 0.45rem 0 0; padding: 0 1.1rem 0 0; font-size: 0.74rem; font-weight: 600; color: #334155; line-height: 1.65; }
.ar-ss-bullets li { margin: 0.2rem 0; }

.ar-ss-quote {
  margin: 0.65rem 0 0; padding: 0.65rem 0.85rem;
  border-right: 4px solid #0d9488; background: rgba(13, 148, 136, 0.06);
  border-radius: 0 10px 10px 0;
}
.ar-ss-quote p { margin: 0 0 0.25rem; font-size: 0.78rem !important; font-weight: 700 !important; color: #134e4a !important; font-style: italic; line-height: 1.65 !important; }
.ar-ss-quote cite { font-size: 0.66rem; font-weight: 700; color: #64748b; font-style: normal; }
.ar-ss-quote--gold { border-right-color: #d97706; background: rgba(217, 119, 6, 0.08); }
.ar-ss-quote--gold p { color: #92400e !important; }
.ar-ss-quote--closing { margin: 0.75rem 0; padding: 1rem 1.1rem !important; }

.ar-ss-message { padding: 0.9rem 1rem !important; margin-bottom: 0.75rem; background: linear-gradient(180deg, #f0fdfa 0%, #fff 100%) !important; }
.ar-ss-message h3 { margin: 0 0 0.45rem; font-size: 0.84rem; font-weight: 800; color: #0f766e; }
.ar-ss-message p { margin: 0; font-size: 0.78rem; font-weight: 700; color: #1e3a44; line-height: 1.75; }

.ar-ss-quickbar {
  display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center;
  padding: 0.65rem 0.75rem; margin-bottom: 0.75rem;
  background: #fff; border: 2px solid #0f766e;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px #5eead4;
  border-radius: 12px; position: sticky; top: 0.5rem; z-index: 20;
}
.ar-ss-quickbar__btn {
  display: inline-flex; align-items: center; gap: 0.35rem;
  border: 1.5px solid #99f6e4; background: #f0fdfa; color: #0f766e;
  border-radius: 999px; padding: 0.38rem 0.75rem; font-family: inherit;
  font-weight: 800; font-size: 0.72rem; cursor: pointer;
}
.ar-ss-quickbar__btn--main {
  background: linear-gradient(145deg, #047857, #10b981); color: #fff; border-color: #047857;
}
.ar-ss-quickbar__btn--ghost { background: #fff; border-color: #c5cde0; color: #334155; }
.ar-ss-quickbar__btn:hover { filter: brightness(0.97); transform: translateY(-1px); }

.ar-ss-related { padding: 0.85rem 1rem !important; margin-bottom: 0.75rem; }
.ar-ss-related h3 { margin: 0 0 0.55rem; font-size: 0.82rem; font-weight: 800; color: #0f766e; }
.ar-ss-related__list { display: flex; flex-direction: column; gap: 0.45rem; }
.ar-ss-related__btn {
  display: flex; align-items: center; gap: 0.65rem; width: 100%; text-align: right;
  border: 1.5px solid #99f6e4; background: #fff; border-radius: 10px;
  padding: 0.55rem 0.75rem; cursor: pointer; font-family: inherit;
  transition: transform 0.12s, box-shadow 0.12s;
}
.ar-ss-related__btn:hover { transform: translateX(-3px); box-shadow: 0 4px 12px rgba(15, 118, 110, 0.12); }
.ar-ss-related__num {
  flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px;
  background: #0f766e; color: #fff; font-weight: 800; font-size: 0.72rem;
  display: grid; place-items: center;
}
.ar-ss-related__txt { flex: 1; min-width: 0; }
.ar-ss-related__txt strong { display: block; font-size: 0.76rem; color: #1e3a44; line-height: 1.45; }
.ar-ss-related__txt small { display: block; font-size: 0.64rem; color: #64748b; font-weight: 600; margin-top: 0.1rem; }
.ar-ss-related__btn > .bi { color: #0d9488; flex-shrink: 0; }

.ar-ss-card__admin {
  display: flex; gap: 0.35rem; margin-top: 0.55rem; padding-top: 0.5rem;
  border-top: 1px dashed #c5dde2;
}
.ar-ss-story__admin { display: flex; gap: 0.45rem; flex-wrap: wrap; }

.ar-btn--xs { padding: 0.22rem 0.5rem; font-size: 0.66rem; }
.ar-input--mono { font-family: ui-monospace, Consolas, monospace; font-size: 0.68rem; direction: ltr; text-align: left; }
.ar-field--check label { display: flex; align-items: center; gap: 0.4rem; font-weight: 700; font-size: 0.76rem; margin-top: 1.6rem; }
.ar-ss-form__adv { margin: 0.75rem 0; border: 1px dashed #c5dde2; border-radius: 10px; padding: 0.65rem 0.75rem; background: #f8fafc; }
.ar-ss-form__adv summary { cursor: pointer; font-weight: 800; font-size: 0.78rem; color: #1a237e; margin-bottom: 0.5rem; }

@media (max-width: 720px) {
  .ar-ss-stats { grid-template-columns: 1fr 1fr; }
  .ar-ss-grid { grid-template-columns: 1fr; }
  .ar-ss-cta { flex-direction: column; align-items: stretch; }
  .ar-ss-cta .ar-btn { width: 100%; justify-content: center; }
}

@media (max-width: 560px) {
  .ar-canva__head { padding: 1.2rem 1rem 0.7rem; }
  .ar-canva__actions { padding: 0.25rem 1rem 1.1rem; }
  .ar-canva__actions .ar-btn { width: 100%; justify-content: center; }
  .ar-detail__head { flex-direction: column; }
  .ar-grid { grid-template-columns: 1fr; }
}

/* ═══ محاضر قسم البحث العلمي والنشر ═══ */
body.page-dept-minutes { background: #eef1f4; }
body.page-dept-minutes .portal-header { display: none; }
body.page-dept-minutes .app-main { padding-top: 0.85rem; }
.dm-page { max-width: 980px; margin: 0 auto; padding: 0.4rem 0.55rem 2rem; font-size: 0.82rem; color: #1e293b; }
.dm-frame {
  background: #fff;
  border: 2px solid #1a237e;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px #c9a227;
  border-radius: 10px;
  padding: 1.05rem 1.15rem 1.1rem;
  margin-bottom: 0.85rem;
}
.dm-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; flex-wrap: wrap; text-align: right; }
.dm-kicker { margin: 0; color: #c9a227; font-weight: 800; font-size: 0.72rem; letter-spacing: 0.02em; }
.dm-head h1 { margin: 0.2rem 0 0.35rem; color: #1a237e; font-size: 1.15rem; font-weight: 800; }
.dm-sub { margin: 0; color: #64748b; font-size: 0.74rem; line-height: 1.55; max-width: 36rem; }
.dm-year { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.7rem; font-weight: 700; color: #334155; }
.dm-year select {
  min-width: 140px; border: 1px solid #c5cde0; border-radius: 8px; padding: 0.4rem 0.55rem;
  font-family: inherit; font-weight: 700; color: #1a237e; background: #fff;
}
.dm-wings { display: flex; gap: 0.45rem; margin-bottom: 0.85rem; }
.dm-wing {
  flex: 1; border: 1.5px solid #c5cde0; background: #fff; color: #334155;
  border-radius: 10px; padding: 0.65rem 0.7rem; font-family: inherit; font-weight: 800; font-size: 0.78rem;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.dm-wing.is-on { border-color: #1a237e; background: #1a237e; color: #fff; }
.dm-btn {
  display: inline-flex; align-items: center; gap: 0.35rem; border-radius: 8px;
  font-family: inherit; font-weight: 800; font-size: 0.78rem; padding: 0.5rem 0.95rem; cursor: pointer; border: 1px solid transparent;
}
.dm-btn--navy { background: #1a237e; color: #fff; margin-bottom: 0.9rem; }
.dm-btn--ghost { background: #fff; border-color: #c5cde0; color: #1a237e; }
.dm-btn--print { background: #e8eaef; color: #1a237e; border-color: #c5cde0; }
.dm-btn--sm { padding: 0.35rem 0.7rem; font-size: 0.72rem; margin: 0.45rem 0 0.85rem; }
.dm-list-title { font-size: 0.88rem; color: #1a237e; font-weight: 800; margin: 0.2rem 0 0.65rem; }
.dm-list { display: grid; gap: 0.65rem; }
.dm-card {
  display: flex; align-items: flex-start; gap: 0.7rem; background: #fff; cursor: pointer; text-align: right;
  border: 2px solid #1a237e; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #c9a227; border-radius: 10px; padding: 0.85rem 0.95rem;
}
.dm-card__ico { color: #c9a227; font-size: 1.25rem; margin-top: 0.1rem; }
.dm-card__body { flex: 1; }
.dm-card h3 { margin: 0 0 0.3rem; font-size: 0.92rem; color: #1a237e; font-weight: 800; }
.dm-card__meta { margin: 0; display: flex; flex-wrap: wrap; gap: 0.7rem; color: #64748b; font-size: 0.72rem; font-weight: 600; }
.dm-card__del {
  border: 1px solid #fecaca; background: #fef2f2; color: #b91c1c; border-radius: 8px;
  font-family: inherit; font-weight: 700; font-size: 0.72rem; padding: 0.28rem 0.55rem; cursor: pointer;
}
.dm-empty { color: #64748b; font-weight: 600; padding: 1.2rem; background: #fff; border-radius: 10px; border: 1px dashed #c5cde0; }
.dm-toolbar { display: flex; justify-content: space-between; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.dm-toolbar__acts { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.dm-sheet {
  background: #fff; padding: 1.1rem 1.15rem 1.4rem;
  border: 2px solid #1a237e; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #c9a227; border-radius: 8px;
}
.dm-bismillah { text-align: center; font-weight: 800; color: #1a237e; margin: 0 0 0.7rem; font-size: 0.92rem; }
.dm-letter__row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.6rem; align-items: start; margin-bottom: 0.85rem; }
.dm-letter__brand { text-align: center; color: #1a237e; }
.dm-letter__brand i { display: block; font-size: 1.6rem; color: #c9a227; }
.dm-letter__brand strong { font-size: 0.78rem; }
.dm-letter__side { font-size: 0.7rem; color: #334155; line-height: 1.55; font-weight: 700; text-align: right; }
.dm-letter__side--start { text-align: right; }
.dm-letter__side--end { text-align: left; }
.dm-letter__side label { display: block; color: #64748b; font-size: 0.65rem; }
.dm-letter__side input, .dm-fields input, .dm-open-lbl textarea, .dm-table input, .dm-table textarea, .dm-table select, .dm-signs select {
  width: 100%; border: 1px solid #c5cde0; border-radius: 6px; padding: 0.32rem 0.45rem;
  font-family: inherit; font-size: 0.76rem; background: #fff; color: #1e293b;
}
.dm-banner {
  background: #fbc02d; color: #111827; text-align: center; font-weight: 800;
  padding: 0.55rem 0.7rem; font-size: 0.82rem; margin-bottom: 0.85rem; border-radius: 2px;
}
.dm-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-bottom: 0.85rem; }
.dm-fields label { font-size: 0.68rem; font-weight: 800; color: #1a237e; display: flex; flex-direction: column; gap: 0.22rem; }
.dm-sec {
  background: #fbc02d; color: #111827; font-size: 0.78rem; font-weight: 800;
  padding: 0.35rem 0.65rem; margin: 0.85rem 0 0; border-radius: 2px 2px 0 0;
}
.dm-table-wrap { overflow-x: auto; border: 1px solid #1a237e; border-top: none; }
.dm-table { width: 100%; border-collapse: collapse; font-size: 0.74rem; }
.dm-table th { background: #1a237e; color: #fff; font-weight: 700; padding: 0.4rem 0.4rem; text-align: right; }
.dm-table--topics thead th { background: #fbc02d; color: #111827; }
.dm-table td { border: 1px solid #d5dbe8; padding: 0.28rem; vertical-align: top; background: #fff; }
.dm-n { width: 2rem; text-align: center; font-weight: 800; color: #1a237e; }
.dm-icon-del { border: none; background: transparent; color: #b91c1c; cursor: pointer; font-size: 0.95rem; }
.dm-open-lbl { display: block; margin: 0.85rem 0; font-size: 0.72rem; font-weight: 800; color: #1a237e; }
.dm-open-lbl textarea { margin-top: 0.3rem; min-height: 72px; }
.dm-signs {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; margin-top: 1.4rem; text-align: center;
}
.dm-signs span { display: block; font-size: 0.68rem; color: #64748b; font-weight: 700; }
.dm-signs strong { display: block; color: #1a237e; font-size: 0.78rem; margin-top: 0.2rem; }
.dm-signs em { display: block; font-style: normal; font-size: 0.68rem; color: #475569; }
.dm-sign-line { display: block; height: 1px; background: #1a237e; margin-top: 1.6rem; opacity: 0.45; }
@media (max-width: 720px) {
  .dm-fields, .dm-signs, .dm-letter__row { grid-template-columns: 1fr; }
  .dm-letter__side--end { text-align: right; }
  .dm-wings { flex-direction: column; }
}
@media print {
  body.dm-printing .app-aside, body.dm-printing .app-mobile-top, body.dm-printing .portal-header,
  body.dm-printing .portal-footer, body.dm-printing .preview-channel-banner, body.dm-printing .no-print {
    display: none !important;
  }
  body.dm-printing .app-shell__content { margin: 0 !important; padding: 0 !important; }
  body.dm-printing .dm-sheet { box-shadow: none; border-width: 1.5px; }
}

/* زائر: مشاهدة فقط — إخفاء إجراءات التعديل والحذف والإضافة */
body.role-visitor .grad-canva-admin,
body.role-visitor .grad-canva-act--edit,
body.role-visitor .grad-canva-act--del,
body.role-visitor .eval-admin-bar,
body.role-visitor .nr-reg-window__foot .nr-btn--main,
body.role-visitor #nav-deptMinutes { display: none !important; }

/* زائر: منع التنزيل والتصدير والاستيراد والتحميل */
body.role-visitor .js-file-op,
body.role-visitor .report-action-btn--pdf,
body.role-visitor .report-action-btn--print,
body.role-visitor .report-action-btn--email,
body.role-visitor input[type="file"],
body.role-visitor [onclick*="exportExcel"],
body.role-visitor [onclick*="exportToExcel"],
body.role-visitor [onclick*="exportGrad"],
body.role-visitor [onclick*="importFromExcel"],
body.role-visitor [onclick*="importGrad"],
body.role-visitor [onclick*="generatePDFReport"],
body.role-visitor .se-att[download] { display: none !important; }

body.role-visitor .app-aside__session small {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  color: #99f6e4;
  margin-top: 0.1rem;
}

/* ——— ضيف الأبحاث التطبيقية (مشاركة مفتوحة) ——— */
.applied-guest-bar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: linear-gradient(90deg, #0c4a6e, #0f766e);
  color: #fff;
  box-shadow: 0 4px 16px rgba(12, 74, 110, 0.22);
}
.applied-guest-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  padding: 0.65rem 1rem;
  max-width: 1100px;
  margin: 0 auto;
  font-size: 0.82rem;
  font-weight: 700;
}
.applied-guest-bar__inner span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.applied-guest-bar__btn {
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.applied-guest-bar__btn:hover {
  background: #fff;
  color: #0c4a6e;
}
body.applied-guest-mode .portal-header {
  display: none;
}
body.applied-guest-mode .app-aside__link:not(#nav-appliedResearch) {
  display: none !important;
}
body.applied-guest-mode #nav-bestResearchers,
body.applied-guest-mode #nav-detailedResearch,
body.applied-guest-mode #asideAdminGroup {
  display: none !important;
}








