@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;900&display=swap');

:root{
  --navy:#0B1F3A;
  --navy-light:#132a4d;
  --gold:#C9A227;
  --gold-light:#e6c860;
  --bg:#f4f6fa;
  --card:#ffffff;
  --text:#1c2733;
  --muted:#6b7684;
  --danger:#b3261e;
  --success:#1e7d3c;
  --border:#e2e6ee;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Cairo',Tahoma,sans-serif;
  background:var(--bg);
  color:var(--text);
  direction:rtl;
  unicode-bidi:embed;
}
input,textarea,select{
  direction:auto; unicode-bidi:plaintext;
  font-family:'Cairo',Tahoma,sans-serif;
}
a{color:inherit;text-decoration:none;}

.topbar-user{
  background:var(--gold);
  color:var(--navy);
  padding:8px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:.88rem;
  font-weight:700;
  position:sticky;
  top:0;
  z-index:50;
}
.topbar-user .user-name small{font-weight:400;opacity:.85;}
.logout-btn{
  background:var(--navy);
  color:#fff !important;
  padding:6px 16px;
  border-radius:20px;
  font-size:.85rem;
  white-space:nowrap;
  flex-shrink:0;
}
.logout-btn:hover{background:var(--navy-light);}

.topbar{
  background:var(--navy);
  color:#fff;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  border-bottom:3px solid var(--gold);
}
.topbar .brand{font-weight:900;font-size:1.15rem;color:var(--gold-light);}
.brand-credit{font-size:.72rem;color:rgba(255,255,255,.55);margin-top:3px;}
.topbar nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:.95rem;}
.topbar nav a{opacity:.9;padding:6px 4px;}
.topbar nav a:hover{opacity:1;color:var(--gold-light);}
.topbar .user{font-size:.85rem;opacity:.85;}

.container{max-width:1100px;margin:0 auto;padding:24px 16px 60px;}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:22px;
  margin-bottom:20px;
  box-shadow:0 1px 3px rgba(11,31,58,.06);
}
.card h2, .card h3{margin-top:0;color:var(--navy);}

h1{color:var(--navy);}

.btn{
  display:inline-block;
  background:var(--navy);
  color:#fff !important;
  border:none;
  padding:10px 20px;
  border-radius:8px;
  cursor:pointer;
  font-family:'Cairo',Tahoma,sans-serif;
  font-weight:600;
  font-size:.95rem;
}
.btn:hover{background:var(--navy-light);}
.btn.gold{background:var(--gold);color:var(--navy) !important;}
.btn.gold:hover{background:var(--gold-light);}
.btn.outline{background:#fff;color:var(--navy) !important;border:1.5px solid var(--navy);}
.btn.danger{background:var(--danger);}
.btn.sm{padding:6px 12px;font-size:.85rem;}

table{width:100%;border-collapse:collapse;background:#fff;}
table th, table td{border:1px solid var(--border);padding:9px 10px;text-align:right;font-size:.92rem;}
table th{background:var(--navy);color:#fff;}
table tr:nth-child(even){background:#f8f9fc;}

.form-row{margin-bottom:14px;}
.form-row label{display:block;margin-bottom:5px;font-weight:600;color:var(--navy);font-size:.9rem;}
.form-row input[type=text], .form-row input[type=number], .form-row input[type=password],
.form-row input[type=email], .form-row select, .form-row textarea{
  width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:.95rem;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline:none;border-color:var(--gold);
}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 18px;}
@media(max-width:700px){.grid2,.grid3{grid-template-columns:1fr;}}

.badge{display:inline-block;padding:3px 11px;border-radius:20px;font-size:.78rem;font-weight:700;}
.badge.draft{background:#fde9c8;color:#8a5a00;}
.badge.in_review{background:#d6e4ff;color:#1a3d8f;}
.badge.completed{background:#d3f2dd;color:var(--success);}
.badge.confirmed{background:#0B1F3A;color:#e6c860;}
.badge.pending{background:#fbe4e2;color:var(--danger);}
.badge.resolved{background:#e6edfb;color:#1a3d8f;}
.badge.none{background:#eef1f6;color:var(--muted);}

/* شريط إحصائيات مصغّر */
.stat-strip{display:flex;gap:10px;flex-wrap:wrap;}
.stat-pill{
  --pill-color:var(--navy);
  flex:1 1 130px;
  background:#fff;
  border:1px solid var(--border);
  border-right:4px solid var(--pill-color);
  border-radius:10px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.stat-pill .stat-num{font-size:1.5rem;font-weight:900;color:var(--pill-color);}
.stat-pill .stat-lbl{font-size:.8rem;color:var(--muted);}

/* بطاقات قائمة التقييمات (بديل الجدول المزدحم على الموبايل) */
.eval-list{display:flex;flex-direction:column;gap:12px;margin-top:16px;}
.eval-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px 18px;
  border-right:5px solid var(--muted);
  box-shadow:0 1px 3px rgba(11,31,58,.05);
}
.eval-card.status-draft{border-right-color:#C9A227;}
.eval-card.status-in_review{border-right-color:#1a3d8f;}
.eval-card.status-completed{border-right-color:#1e7d3c;}
.eval-card.status-confirmed{border-right-color:#0B1F3A;}
.eval-card-main{display:flex;align-items:flex-start;gap:12px;}
.eval-card-id{color:var(--muted);font-size:.8rem;font-weight:700;flex-shrink:0;padding-top:2px;}
.eval-card-info{flex:1;min-width:0;}
.eval-card-name{font-weight:700;color:var(--navy);font-size:1.02rem;}
.eval-card-dept{color:var(--muted);font-size:.85rem;margin-top:2px;}
.eval-card-badges{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;}
.eval-card-score{flex-shrink:0;text-align:center;min-width:56px;}
.eval-card-score .score-num{font-size:1.3rem;font-weight:900;color:var(--navy);}
.eval-card-score .score-grade{font-size:.72rem;color:var(--muted);}
.eval-card-score .score-pending{font-size:1.1rem;color:var(--border);}
.eval-card-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
@media(max-width:480px){
  .eval-card-main{flex-wrap:wrap;}
  .eval-card-score{margin-right:auto;}
}

/* بطاقات قوائم عامة (مستخدمون، تدريسيون، تقييمات مصغّرة...) — أسماء عامة قابلة لإعادة الاستخدام بأي قائمة */
.list-card, .user-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:10px;
}
.list-card-title, .user-card-name{font-weight:700;color:var(--navy);font-size:1rem;}
.list-card-subtitle, .user-card-email{color:var(--muted);font-size:.85rem;margin-top:2px;word-break:break-all;}
.list-card-badges, .user-card-badges{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;}
.list-card-actions, .user-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.list-card-extra{margin-top:8px;font-size:.85rem;color:var(--muted);}
.user-inline-form{margin-top:12px;padding:12px;background:#f8f9fc;border-radius:8px;}
#user-search, .list-search{padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;width:100%;font-size:.9rem;}
.empty-hint{text-align:center;color:var(--muted);padding:24px 16px;}

/* شريط اقتراح تثبيت التطبيق (PWA) — يظهر فقط لما يؤكد المتصفح إنه قابل للتنصيب */
#pwa-install-banner{
  position:sticky; top:0; z-index:300;
  background:var(--gold); color:var(--navy);
  display:flex; align-items:center; justify-content:center; gap:12px;
  padding:8px 14px; font-size:.85rem; font-weight:700; flex-wrap:wrap;
}
#pwa-install-btn{
  background:var(--navy); color:#fff; border:none; padding:6px 14px;
  border-radius:20px; font-weight:700; cursor:pointer; font-family:'Cairo',Tahoma,sans-serif; font-size:.82rem;
}
#pwa-dismiss-btn{ background:none;border:none;color:var(--navy);font-size:1rem;cursor:pointer;line-height:1; }

.progress{background:#e9edf5;border-radius:20px;height:10px;overflow:hidden;}
.progress > div{background:var(--gold);height:100%;}

.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.92rem;}
.alert.error{background:#fbe4e2;color:var(--danger);border:1px solid #f0b7b2;}
.alert.success{background:#dff3e4;color:var(--success);border:1px solid #b7e3c2;}
.alert.info{background:#e6edfb;color:#1a3d8f;border:1px solid #bcd0f5;}

.axis-max-note{color:var(--muted);font-size:.82rem;margin-right:6px;}

footer.site-footer{
  text-align:center;color:var(--muted);font-size:.82rem;padding:24px 10px 10px;
}

.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-light) 100%);
  padding:20px;
}
.login-card{
  background:#fff;border-radius:16px;padding:36px 32px;max-width:400px;width:100%;
  box-shadow:0 10px 40px rgba(0,0,0,.25);
  border-top:5px solid var(--gold);
}
.login-card h1{font-size:1.3rem;text-align:center;margin-bottom:4px;}
.login-card p.sub{text-align:center;color:var(--muted);margin-top:0;margin-bottom:22px;font-size:.85rem;}

@media print{
  .no-print{display:none !important;}
  .print-only{display:inline !important;}
  body{background:#fff;}
  .container{max-width:100%;padding:0;}
  .card{box-shadow:none;border:none;padding:0;page-break-inside:avoid;break-inside:avoid;}
  table{page-break-inside:auto;}
  tr{page-break-inside:avoid;break-inside:avoid;}
}
.print-only{display:none;}
