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

:root{
  --bg:#f6f8fb;
  --ink:#111827;
  --muted:#667085;
  --line:#dce4ec;
  --line2:#edf2f7;
  --primary:#12344d;
  --primary2:#0b4456;
  --accent:#0f6b7b;
  --accent-soft:#eef7f8;
  --danger:#b42318;
  --success:#067647;
  --warning:#93370d;
  --shadow:0 10px 26px rgba(16,24,40,.055);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  direction:rtl;
  background:var(--bg);
  color:var(--ink);
  font-family:"Cairo",Tahoma,Arial,sans-serif;
  font-size:13.5px;
  font-weight:400;
  line-height:1.65;
}

a{text-decoration:none;color:inherit}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}

button,.btn{
  min-height:40px;
  padding:0 15px;
  border-radius:12px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

button:disabled,.btn.disabled{
  opacity:.55;
  cursor:not-allowed;
}

.btn:not(.btn-primary){
  background:#fff;
  color:#344054;
  border-color:var(--line);
}

.btn-primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}

input,select,textarea{
  width:100%;
  min-height:42px;
  border:1px solid #cfdde7;
  border-radius:12px;
  padding:8px 11px;
  background:#fff;
  color:#111827;
  font-family:inherit;
  font-size:13.5px;
  outline:0;
}

textarea{
  resize:vertical;
  min-height:86px;
}

input:focus,select:focus,textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(15,107,123,.08);
}

label{
  display:block;
  margin:0 0 7px;
  color:#344054;
  font-size:13px;
  font-weight:600;
}

.messages{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}

.message{
  padding:11px 13px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  font-size:13px;
  font-weight:500;
}

.message.success{background:#ecfdf3;color:#067647;border-color:#abefc6}
.message.error{background:#fff1f0;color:#b42318;border-color:#fecdca}
.message.warning{background:#fffaeb;color:#93370d;border-color:#fedf89}

.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{
  padding:11px 12px;
  border-bottom:1px solid var(--line2);
  text-align:right;
  white-space:nowrap;
  font-size:12.5px;
}
th{background:#f8fafc;color:#475467;font-weight:600}
.empty{padding:24px;text-align:center;color:var(--muted)}

/* =========================================================
   إدارة النظام
   ========================================================= */

.admin-body{background:var(--bg)}

.admin-app{
  min-height:100vh;
  display:grid;
  grid-template-columns:238px minmax(0,1fr);
  grid-template-rows:68px minmax(0,1fr);
}

.admin-header{
  grid-column:1/-1;
  height:68px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  box-shadow:0 10px 28px rgba(18,52,77,.13);
  z-index:4;
}

.admin-brand,.admin-user{
  display:flex;
  align-items:center;
  gap:12px;
}

.admin-logo{
  width:38px;
  height:38px;
  border-radius:12px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
}

.admin-brand h1{
  margin:0;
  font-size:19px;
  font-weight:700;
}

.admin-brand p{
  margin:1px 0 0;
  color:rgba(255,255,255,.68);
  font-size:11.5px;
}

.admin-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  color:var(--primary);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.admin-sidebar{
  background:#fff;
  border-left:1px solid var(--line);
  padding:18px 14px;
  min-height:calc(100vh - 68px);
  display:block;
}

.sidebar-section{
  display:grid;
  gap:8px;
  margin-bottom:16px;
}

.sidebar-title{
  padding:0 10px;
  color:#98a2b3;
  font-size:11.5px;
  font-weight:700;
}

.admin-nav{
  display:grid;
  gap:4px;
}

.admin-nav a{
  min-height:40px;
  padding:0 12px;
  border-radius:11px;
  color:#344054;
  display:flex;
  align-items:center;
  font-size:13px;
  font-weight:500;
  border:1px solid transparent;
}

.admin-nav a:hover,
.admin-nav a.active{
  background:var(--accent-soft);
  border-color:#d5eaee;
  color:var(--accent);
}

.sidebar-exit{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid var(--line2);
}

.sidebar-logout-btn,
.admin-nav a.logout{
  min-height:42px;
  padding:0 12px;
  border-radius:12px;
  background:#fff7f6;
  color:var(--danger);
  border:1px solid #fee4e2;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
}

.sidebar-logout-btn:hover,
.admin-nav a.logout:hover{
  background:#fff1f0;
  border-color:#fecdca;
}

.admin-main{
  min-width:0;
  padding:20px 24px 30px;
}

.admin-page-head{
  margin-bottom:14px;
}

.admin-page-head h2{
  margin:0;
  font-size:23px;
  font-weight:700;
}

.admin-page-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12.5px;
}

/* =========================================================
   لوحة الإدارة وغرفة العمليات
   ========================================================= */

.admin-command{
  display:grid;
  gap:12px;
}

.command-hero{
  padding:16px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}

.command-hero h3{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

.command-hero p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12.5px;
}

.hero-badges{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.hero-badges span{
  min-height:32px;
  padding:0 10px;
  border-radius:10px;
  border:1px solid var(--line2);
  background:#f8fafc;
  display:flex;
  align-items:center;
  gap:6px;
  color:#475467;
  font-size:12px;
  font-weight:500;
}

.hero-badges b{
  color:#0f172a;
  font-weight:700;
}

.quick-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

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

.stat-card{
  padding:14px;
  min-height:96px;
  position:relative;
  overflow:hidden;
}

.stat-card::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:99px;
  background:var(--accent);
}

.stat-card.warning::before{background:#b86b00}
.stat-card.danger::before{background:#b42318}
.stat-card.success::before{background:#067647}

.stat-card span{
  display:block;
  color:#475467;
  font-size:12.4px;
  font-weight:500;
}

.stat-card b{
  display:block;
  margin-top:8px;
  font-size:26px;
  line-height:1;
  color:#0f172a;
  font-weight:700;
}

.stat-card small{
  display:block;
  margin-top:6px;
  color:#98a2b3;
  font-size:11.5px;
}

.admin-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.panel-card{
  padding:14px;
}

.panel-card h3{
  margin:0 0 12px;
  font-size:15.5px;
  color:#0f172a;
  font-weight:700;
}

.panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.panel-head h3{margin:0}

.panel-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
}

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

.operation-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:11px;
}

.operation-list span{
  color:#344054;
  font-size:12.5px;
}

.operation-list b{
  min-width:44px;
  min-height:26px;
  padding:0 8px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
}

.progress-list{
  display:grid;
  gap:10px;
}

.progress-list > div{
  display:grid;
  grid-template-columns:110px 1fr 44px;
  gap:10px;
  align-items:center;
}

.progress-list span{
  color:#475467;
  font-size:12.5px;
}

.progress-list b{
  color:#0f172a;
  font-size:12px;
  font-weight:700;
}

.bar{
  height:8px;
  background:#edf2f7;
  border-radius:999px;
  overflow:hidden;
}

.bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--accent);
}

.empty-state{
  padding:24px;
  border:1px dashed var(--line);
  background:#f9fbfd;
  color:var(--muted);
  border-radius:12px;
  text-align:center;
  font-size:12.5px;
}

/* =========================================================
   صفحة المتقدمين
   ========================================================= */

.candidates-page{
  display:grid;
  gap:12px;
}

.filter-card{
  padding:14px;
}

.candidate-filter-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr auto;
  gap:10px;
  align-items:end;
}

.filter-actions{
  display:flex;
  gap:8px;
  align-items:end;
}

.candidates-table td,
.candidates-table th{
  vertical-align:middle;
}

.candidate-name-link{
  color:#0f172a;
  font-weight:700;
}

.candidate-name-link:hover{
  color:var(--accent);
}

.text-muted{
  color:#98a2b3;
  font-size:12px;
}

.status-mini{
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid var(--line2);
  color:#475467;
  display:inline-flex;
  align-items:center;
  font-size:12px;
  font-weight:600;
}

.row-actions-inline{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}

.row-actions-inline .btn{
  min-height:32px;
  padding:0 10px;
  font-size:12px;
}

/* =========================================================
   التقييم والإسناد
   ========================================================= */

.filter-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:end;
}

.score-form{
  display:grid;
  gap:10px;
}

.score-form textarea{
  min-height:90px;
}

.check-line{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:center;
  margin:0;
  padding:10px 11px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:12px;
  font-size:12.5px;
  font-weight:400;
}

.check-line input{
  width:18px;
  min-height:18px;
  height:18px;
  margin:0;
  accent-color:var(--accent);
}

/* =========================================================
   بوابة المتقدم
   ========================================================= */

.candidate-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 12%,rgba(15,107,123,.08),transparent 28%),
    linear-gradient(180deg,#fbfdff 0%,#f4f7fb 100%);
}

.candidate-header{
  min-height:72px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 34px;
  box-shadow:0 10px 24px rgba(18,52,77,.14);
}

.candidate-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.candidate-logo{
  width:40px;
  height:40px;
  border-radius:13px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.2);
}

.candidate-brand h1{
  margin:0;
  font-size:20px;
  font-weight:700;
}

.candidate-brand p{
  margin:1px 0 0;
  color:rgba(255,255,255,.68);
  font-size:12px;
}

.candidate-links{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.candidate-links a{
  min-height:36px;
  padding:0 13px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.17);
  color:#fff;
  display:inline-flex;
  align-items:center;
  font-size:12.5px;
  font-weight:500;
}

.candidate-main{
  width:min(1080px,calc(100% - 36px));
  margin:0 auto;
  padding:32px 0;
}

.candidate-login-card{
  width:min(520px,100%);
  margin:24px auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:26px;
}

.page-chip{
  display:inline-flex;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  align-items:center;
  font-size:12px;
  font-weight:600;
  margin-bottom:12px;
}

.candidate-login-card h2{
  margin:0;
  font-size:23px;
  font-weight:700;
}

.candidate-login-card p{
  margin:6px 0 18px;
  color:var(--muted);
  font-size:13px;
}

.candidate-login-card button{
  width:100%;
  margin-top:14px;
}

.soft-alert{
  margin-top:14px;
  padding:11px 12px;
  border-radius:13px;
  background:#fffaeb;
  border:1px solid #fedf89;
  color:#93370d;
  font-size:12.2px;
}

.candidate-portal{
  display:grid;
  gap:12px;
}

.candidate-title{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.candidate-title h2{
  margin:0;
  font-size:22px;
  font-weight:700;
}

.candidate-title p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:13px;
}

.status-pill{
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}

.candidate-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:start;
}

.portal-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:16px;
}

.card-head{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line2);
}

.card-head h3{
  margin:0;
  font-size:16px;
  font-weight:700;
}

.card-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12.5px;
}

.data-list{
  display:grid;
  gap:7px;
}

.data-list div{
  display:grid;
  grid-template-columns:135px 1fr;
  gap:10px;
  align-items:center;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:11px;
}

.data-list span{
  color:#667085;
  font-size:12.5px;
}

.data-list b{
  font-weight:500;
  text-align:right;
  overflow-wrap:anywhere;
}

.compact-form{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.file-box{
  padding:14px;
  border:1px dashed #c9d8e4;
  background:#f9fbfd;
  border-radius:13px;
  margin-bottom:12px;
}

.file-box b{
  display:block;
  font-weight:600;
}

.file-box span{
  display:block;
  color:var(--muted);
  margin-top:2px;
}

.file-box.uploaded{
  background:#ecfdf3;
  border-color:#abefc6;
  color:#067647;
}

.upload-compact-form{margin-top:0}

.upload-fields{
  display:grid;
  gap:10px;
}

.upload-field{
  display:grid;
  gap:6px;
}

.upload-field textarea{min-height:90px}

.upload-field input[type=file]{
  padding:8px;
  background:#f9fbfd;
}

.notice{
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#eef7f8;
  border:1px solid #d5eaee;
  color:#0f6b7b;
  font-size:12.3px;
}

.preference-picker{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:end;
  margin-bottom:12px;
}

.selected-preferences{
  display:grid;
  gap:8px;
}

.preference-item{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line2);
  background:#fff;
  border-radius:13px;
}

.pref-rank{
  min-width:38px;
  height:32px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
}

.pref-info b{
  display:block;
  font-size:13px;
  font-weight:600;
}

.pref-info span{
  display:block;
  margin-top:2px;
  color:#667085;
  font-size:11.7px;
}

.pref-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.pref-actions button{
  min-height:30px;
  padding:0 10px;
  background:#fff;
  color:#344054;
  border-color:var(--line);
  font-size:12px;
}

.pref-actions .remove-btn{
  color:#b42318;
  background:#fff7f6;
  border-color:#fecdca;
}

.empty-box{
  padding:20px;
  text-align:center;
  color:#667085;
  border:1px dashed var(--line);
  border-radius:12px;
  background:#f9fbfd;
  font-size:12.5px;
}

.save-row{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.save-row span{
  color:var(--muted);
  font-size:12.5px;
}

.final-card{
  display:grid;
  gap:12px;
}

/* =========================================================
   Responsive
   ========================================================= */

@media(max-width:1150px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-two-col,.command-hero{grid-template-columns:1fr}
}

@media(max-width:1100px){
  .candidate-filter-grid{grid-template-columns:1fr 1fr}
  .filter-actions{grid-column:1/-1}
}

@media(max-width:900px){
  .admin-app{
    grid-template-columns:1fr;
    grid-template-rows:auto auto 1fr;
  }

  .admin-header{grid-column:auto}
  .admin-sidebar{min-height:auto}
  .admin-nav{grid-template-columns:repeat(2,1fr)}
  .candidate-cards{grid-template-columns:1fr}

  .candidate-title{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:680px){
  .stats-grid{grid-template-columns:1fr}
  .progress-list > div{grid-template-columns:1fr}
  .filter-row{grid-template-columns:1fr}
}

@media(max-width:640px){
  .candidate-header{
    padding:14px;
    align-items:flex-start;
    flex-direction:column;
  }

  .candidate-main{
    width:calc(100% - 24px);
    padding:20px 0;
  }

  .preference-picker,
  .preference-item,
  .candidate-filter-grid{
    grid-template-columns:1fr;
  }

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

  .data-list div{
    grid-template-columns:1fr;
    gap:3px;
  }

  .save-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-nav{grid-template-columns:1fr}
}

/* =========================================================
   النماذج العامة - نموذج رسمي نظيف
   ========================================================= */

input[type="checkbox"],
input[type="radio"]{
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  padding:0 !important;
  margin:0;
  accent-color:var(--accent);
  box-shadow:none !important;
}

.form-shell{
  width:min(820px,100%);
  margin-inline:auto;
}

.form-card{
  padding:18px;
}

.form-card-head{
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line2);
}

.form-card-head h3{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

.form-card-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12.5px;
}

.smart-form{
  display:grid;
  gap:12px;
}

.form-field{
  display:grid;
  gap:7px;
}

.form-field textarea,
.smart-form textarea{
  min-height:92px;
  max-height:140px;
}

.form-check-row{
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:9px;
}

.form-check-row label{
  margin:0;
  font-size:13px;
  font-weight:600;
  color:#344054;
}

.field-help{
  color:#98a2b3;
  font-size:11.8px;
}

.field-error{
  padding:8px 10px;
  border-radius:10px;
  background:#fff1f0;
  border:1px solid #fecdca;
  color:#b42318;
  font-size:12px;
}

.form-actions{
  margin-top:6px;
  padding-top:14px;
  border-top:1px solid var(--line2);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}

.form-actions .btn,
.form-actions button{
  min-width:92px;
}

@media(max-width:640px){
  .form-shell{
    width:100%;
  }

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

/* =========================================================
   صفحة تفاصيل المتقدم - تصميم احترافي
   ========================================================= */

.candidate-detail-page{
  display:grid;
  gap:12px;
}

.detail-hero{
  padding:16px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}

.detail-hero h3{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:#0f172a;
}

.detail-hero p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12.5px;
}

.detail-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.detail-badges span{
  min-height:32px;
  padding:0 10px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid var(--line2);
  color:#475467;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:500;
}

.detail-badges b{
  color:#0f172a;
  font-weight:700;
}

.detail-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:12px;
  align-items:start;
}

.detail-card{
  padding:16px;
}

.detail-card-head{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line2);
}

.detail-card-head h3{
  margin:0;
  font-size:16px;
  font-weight:700;
  color:#0f172a;
}

.detail-card-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12.4px;
}

.detail-data-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.detail-data-list div{
  min-height:42px;
  padding:9px 11px;
  border-radius:11px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  display:grid;
  grid-template-columns:115px 1fr;
  gap:8px;
  align-items:center;
}

.detail-data-list span{
  color:#667085;
  font-size:12.2px;
}

.detail-data-list b{
  color:#111827;
  font-size:12.6px;
  font-weight:600;
  overflow-wrap:anywhere;
}

.score-summary-card{
  padding:16px;
}

.score-ring{
  width:128px;
  height:128px;
  border-radius:50%;
  margin:6px auto 16px;
  border:10px solid #e7f2f4;
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--line2);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

.score-ring b{
  font-size:30px;
  line-height:1;
  color:var(--accent);
  font-weight:700;
}

.score-ring span{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}

.score-lines{
  display:grid;
  gap:8px;
}

.score-lines div{
  min-height:38px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.score-lines span{
  color:#667085;
  font-size:12px;
}

.score-lines b{
  color:#0f172a;
  font-size:12.5px;
}

.score-actions{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.file-detail-box{
  min-height:78px;
  padding:14px;
  border-radius:13px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.file-detail-box.uploaded{
  background:#ecfdf3;
  border-color:#abefc6;
}

.file-detail-box b{
  display:block;
  color:#0f172a;
  font-size:13.2px;
}

.file-detail-box span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:12px;
}

.file-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.assignment-current{
  padding:12px;
  border-radius:12px;
  border:1px solid #d5eaee;
  background:var(--accent-soft);
  margin-bottom:12px;
}

.assignment-current span{
  display:block;
  color:var(--accent);
  font-size:12px;
  font-weight:600;
}

.assignment-current b{
  display:block;
  margin-top:3px;
  color:#0f172a;
  font-size:14px;
}

.assignment-current p{
  margin:6px 0 0;
  color:#475467;
  font-size:12.3px;
}

.assign-form{
  display:grid;
  gap:10px;
}

.empty-state.mini{
  padding:14px;
  margin-bottom:12px;
}

.preferences-detail-list{
  display:grid;
  gap:8px;
}

.preference-detail-item{
  min-height:56px;
  padding:11px 12px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:13px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
}

.pref-number{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.preference-detail-item b{
  display:block;
  color:#0f172a;
  font-size:13.3px;
}

.preference-detail-item span{
  display:block;
  margin-top:2px;
  color:#667085;
  font-size:12px;
}

@media(max-width:1100px){
  .detail-grid,
  .detail-hero{
    grid-template-columns:1fr;
  }

  .detail-data-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .detail-data-list div{
    grid-template-columns:1fr;
    gap:3px;
  }

  .file-detail-box{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =========================================================
   رسائل اعتماد الرغبات والإرسال النهائي
   ========================================================= */

.portal-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(15,23,42,.58);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.portal-modal.show{
  display:flex;
}

.portal-modal-card{
  width:min(520px,100%);
  background:#fff;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(15,23,42,.22);
  padding:24px;
  text-align:center;
}

.modal-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  font-weight:700;
  margin:0 auto 12px;
}

.portal-modal-card h3{
  margin:0;
  font-size:20px;
  font-weight:700;
  color:#0f172a;
}

.portal-modal-card p{
  margin:8px 0 14px;
  color:#475467;
  font-size:13px;
  line-height:1.8;
}

.modal-summary{
  display:grid;
  gap:7px;
  margin:12px 0 16px;
  text-align:right;
}

.modal-summary div{
  min-height:38px;
  padding:8px 10px;
  border-radius:11px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  display:grid;
  grid-template-columns:32px 1fr;
  gap:8px;
  align-items:center;
}

.modal-summary div b{
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
}

.modal-summary div span{
  color:#344054;
  font-size:12.7px;
  font-weight:600;
}

.modal-summary small{
  display:block;
  color:#667085;
  font-size:12px;
  text-align:center;
  padding-top:3px;
}

.modal-actions{
  display:flex;
  gap:10px;
  justify-content:center;
}

.modal-actions .btn{
  min-width:130px;
}

/* =========================================================
   صفحة اعتماد الطلب النهائي
   ========================================================= */

.candidate-final-summary{
  display:grid;
  gap:12px;
}

.final-success-card{
  background:#fff;
  border:1px solid #abefc6;
  border-radius:22px;
  padding:24px;
  text-align:center;
  box-shadow:var(--shadow);
}

.final-success-icon{
  width:70px;
  height:70px;
  border-radius:50%;
  background:#ecfdf3;
  color:#067647;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 12px;
  font-size:34px;
  font-weight:700;
}

.final-success-card h2{
  margin:0;
  font-size:24px;
  color:#0f172a;
  font-weight:700;
}

.final-success-card p{
  width:min(720px,100%);
  margin:8px auto 18px;
  color:#475467;
  font-size:13.5px;
  line-height:1.9;
}

.final-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.final-status-grid div{
  min-height:76px;
  padding:12px;
  border:1px solid var(--line2);
  border-radius:14px;
  background:#f9fbfd;
}

.final-status-grid span{
  display:block;
  color:#667085;
  font-size:12px;
}

.final-status-grid b{
  display:block;
  margin-top:6px;
  color:#0f172a;
  font-size:14px;
}

.final-pref-list{
  display:grid;
  gap:8px;
}

.final-pref-list div{
  min-height:48px;
  padding:10px 12px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:12px;
  display:grid;
  grid-template-columns:36px 1fr auto;
  gap:10px;
  align-items:center;
}

.final-pref-list b{
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
}

.final-pref-list span{
  color:#0f172a;
  font-size:13px;
  font-weight:600;
}

.final-pref-list small{
  color:#667085;
  font-size:12px;
}

@media(max-width:760px){
  .final-status-grid,
  .final-pref-list div{
    grid-template-columns:1fr;
  }

  .modal-actions{
    flex-direction:column;
  }
}

/* =========================================================
   الصفحة الرئيسية العامة - بدون زر خروج
   ========================================================= */

.public-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 10%,rgba(15,107,123,.10),transparent 30%),
    linear-gradient(180deg,#fbfdff 0%,#f4f7fb 100%);
  color:var(--ink);
}

.public-header{
  min-height:72px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 34px;
  box-shadow:0 10px 24px rgba(18,52,77,.14);
}

.public-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.public-logo{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
}

.public-brand h1{
  margin:0;
  font-size:20px;
  font-weight:700;
}

.public-brand p{
  margin:1px 0 0;
  color:rgba(255,255,255,.70);
  font-size:12px;
}

.public-main{
  width:min(760px,calc(100% - 36px));
  min-height:calc(100vh - 72px);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px 0;
}

.public-card{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 18px 48px rgba(16,24,40,.08);
  padding:34px;
  text-align:center;
}

.public-chip{
  display:inline-flex;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  align-items:center;
  justify-content:center;
  font-size:12.5px;
  font-weight:700;
  margin-bottom:14px;
}

.public-card h2{
  margin:0;
  font-size:28px;
  font-weight:700;
  color:#0f172a;
}

.public-card p{
  margin:8px 0 22px;
  color:var(--muted);
  font-size:14px;
}

.public-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.public-actions .btn{
  min-width:140px;
}

@media(max-width:640px){
  .public-header{
    padding:14px;
  }

  .public-main{
    min-height:auto;
    padding:24px 0;
  }

  .public-card{
    padding:24px 18px;
  }

  .public-card h2{
    font-size:23px;
  }

  .public-actions{
    flex-direction:column;
  }

  .public-actions .btn{
    width:100%;
  }
}

/* =========================================================
   صفحات الدخول المستقلة - بدون القائمة الجانبية
   ========================================================= */

.login-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 16% 10%,rgba(15,107,123,.10),transparent 30%),
    linear-gradient(180deg,#fbfdff 0%,#f4f7fb 100%);
  color:var(--ink);
}

.login-header{
  min-height:72px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 34px;
  box-shadow:0 10px 24px rgba(18,52,77,.14);
}

.login-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.login-logo{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
}

.login-brand h1{
  margin:0;
  font-size:20px;
  font-weight:700;
}

.login-brand p{
  margin:1px 0 0;
  color:rgba(255,255,255,.70);
  font-size:12px;
}

.login-back{
  min-height:36px;
  padding:0 14px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.18);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12.5px;
  font-weight:600;
}

.login-main{
  width:min(520px,calc(100% - 36px));
  min-height:calc(100vh - 72px);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px 0;
}

.login-card{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 18px 48px rgba(16,24,40,.08);
  padding:28px;
}

.login-chip{
  display:inline-flex;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  align-items:center;
  font-size:12.5px;
  font-weight:700;
  margin-bottom:14px;
}

.login-card h2{
  margin:0;
  font-size:25px;
  font-weight:700;
  color:#0f172a;
}

.login-card p{
  margin:8px 0 20px;
  color:var(--muted);
  font-size:13.5px;
}

.login-form{
  display:grid;
  gap:13px;
}

.login-form button{
  width:100%;
  margin-top:4px;
}

@media(max-width:640px){
  .login-header{
    padding:14px;
    align-items:flex-start;
    flex-direction:column;
  }

  .login-main{
    min-height:auto;
    padding:24px 0;
  }

  .login-card{
    padding:22px 18px;
  }
}

/* =========================================================
   صفحة دخول المتقدم المستقلة
   ========================================================= */

.candidate-login-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 12%,rgba(15,107,123,.10),transparent 32%),
    linear-gradient(180deg,#fbfdff 0%,#f4f7fb 100%);
  color:var(--ink);
}

.candidate-login-header{
  min-height:72px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 34px;
  box-shadow:0 10px 24px rgba(18,52,77,.14);
}

.candidate-login-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.candidate-login-logo{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
}

.candidate-login-brand h1{
  margin:0;
  font-size:20px;
  font-weight:700;
}

.candidate-login-brand p{
  margin:1px 0 0;
  color:rgba(255,255,255,.70);
  font-size:12px;
}

.candidate-login-back{
  min-height:36px;
  padding:0 14px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12.5px;
  font-weight:600;
}

.candidate-login-main{
  width:min(520px,calc(100% - 36px));
  min-height:calc(100vh - 72px);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px 0;
}

.candidate-login-panel{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 18px 48px rgba(16,24,40,.08);
  padding:30px;
}

.candidate-login-chip{
  display:inline-flex;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  align-items:center;
  justify-content:center;
  font-size:12.5px;
  font-weight:700;
  margin-bottom:14px;
}

.candidate-login-panel h2{
  margin:0;
  font-size:26px;
  font-weight:700;
  color:#0f172a;
}

.candidate-login-panel p{
  margin:8px 0 20px;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.9;
}

.candidate-login-form{
  display:grid;
  gap:13px;
}

.login-field{
  display:grid;
  gap:7px;
}

.candidate-login-form button{
  width:100%;
  margin-top:4px;
}

.candidate-login-note{
  margin-top:14px;
  padding:11px 12px;
  border-radius:13px;
  background:#fffaeb;
  border:1px solid #fedf89;
  color:#93370d;
  font-size:12.3px;
  text-align:center;
}

@media(max-width:640px){
  .candidate-login-header{
    padding:14px;
    align-items:flex-start;
    flex-direction:column;
  }

  .candidate-login-main{
    min-height:auto;
    padding:24px 0;
  }

  .candidate-login-panel{
    padding:22px 18px;
  }

  .candidate-login-panel h2{
    font-size:23px;
  }
}

/* =========================================================
   فصل بوابات النظام: إدارة / مشرف / مرشح
   ========================================================= */

.supervisor-body{background:var(--bg)}

.supervisor-app{
  min-height:100vh;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  grid-template-rows:68px minmax(0,1fr);
}

.supervisor-header{
  grid-column:1/-1;
  height:68px;
  background:linear-gradient(135deg,#143c56,#0d5062);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  box-shadow:0 10px 28px rgba(18,52,77,.13);
  z-index:4;
}

.supervisor-brand,.supervisor-user{
  display:flex;
  align-items:center;
  gap:12px;
}

.supervisor-logo{
  width:38px;
  height:38px;
  border-radius:12px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
}

.supervisor-brand h1{
  margin:0;
  font-size:19px;
  font-weight:700;
}

.supervisor-brand p{
  margin:1px 0 0;
  color:rgba(255,255,255,.72);
  font-size:11.5px;
}

.supervisor-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  color:#143c56;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.supervisor-sidebar{
  background:#fff;
  border-left:1px solid var(--line);
  padding:18px 14px;
  min-height:calc(100vh - 68px);
}

.supervisor-main{
  min-width:0;
  padding:20px 24px 30px;
}

.supervisor-form-shell{
  width:min(620px,100%);
  margin-inline:auto;
}

.supervisor-form-card{
  padding:18px;
}

@media(max-width:900px){
  .supervisor-app{
    grid-template-columns:1fr;
    grid-template-rows:auto auto 1fr;
  }
  .supervisor-header{grid-column:auto}
  .supervisor-sidebar{min-height:auto}
}

@media(max-width:640px){
  .supervisor-header{
    flex-direction:column;
    align-items:flex-start;
    height:auto;
    padding:14px;
  }
}

/* =========================================================
   v47 - نتائج الترشيح + تصدير Excel
   ========================================================= */
/* نتائج الترشيح + تصدير Excel */
.results-page{display:grid;gap:12px}
.results-filter-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr auto;
  gap:10px;
  align-items:end;
}
.results-table td,.results-table th{vertical-align:middle}
.result-pill{
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  border:1px solid transparent;
}
.result-pill.selected{background:#ecfdf3;color:#067647;border-color:#abefc6}
.result-pill.waiting{background:#fffaeb;color:#93370d;border-color:#fedf89}
@media(max-width:1100px){
  .results-filter-grid{grid-template-columns:1fr 1fr}
  .results-filter-grid .filter-actions{grid-column:1/-1}
}
@media(max-width:640px){
  .results-filter-grid{grid-template-columns:1fr}
}

/* =========================================================
   V47.1 - تهذيب الواجهة وتقليل الزحام البصري
   يطبق على لوحة الإدارة، غرفة العمليات، وقائمة المتقدمين
   ========================================================= */

:root{
  --bg:#f7f9fc;
  --line:#e2e8f0;
  --line2:#eef2f6;
  --shadow:0 8px 22px rgba(16,24,40,.045);
}

body{
  font-size:13px;
  line-height:1.55;
}

.card{
  border-radius:16px;
  box-shadow:0 6px 18px rgba(16,24,40,.038);
}

.admin-app{
  grid-template-columns:196px minmax(0,1fr);
  grid-template-rows:58px minmax(0,1fr);
}

.admin-header{
  height:58px;
  padding:0 18px;
  box-shadow:0 6px 18px rgba(18,52,77,.12);
}

.admin-logo{
  width:34px;
  height:34px;
  border-radius:11px;
}

.admin-brand h1{
  font-size:17px;
  line-height:1.25;
}

.admin-brand p{
  font-size:11px;
}

.admin-avatar{
  width:30px;
  height:30px;
  font-size:12px;
}

.admin-sidebar{
  padding:14px 10px;
  min-height:calc(100vh - 58px);
}

.sidebar-title{
  padding:0 8px;
  font-size:10.8px;
}

.admin-nav{
  gap:3px;
}

.admin-nav a{
  min-height:36px;
  padding:0 10px;
  border-radius:10px;
  font-size:12.5px;
}

.sidebar-logout-btn,
.admin-nav a.logout{
  min-height:38px;
  font-size:12.5px;
}

.admin-main{
  padding:16px 18px 24px;
}

.admin-page-head{
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line2);
}

.admin-page-head h2{
  font-size:21px;
  line-height:1.25;
}

.admin-page-head p{
  font-size:12px;
  margin-top:2px;
}

.admin-command,
.candidates-page,
.candidate-detail-page,
.results-page{
  gap:10px;
}

.command-hero,
.detail-hero{
  padding:13px 14px;
  border-radius:15px;
  grid-template-columns:1fr auto;
  gap:12px;
}

.command-hero h3,
.detail-hero h3{
  font-size:16px;
  line-height:1.35;
}

.command-hero p,
.detail-hero p{
  font-size:12px;
  margin-top:2px;
}

.hero-badges{
  gap:6px;
}

.hero-badges span,
.detail-badges span{
  min-height:28px;
  padding:0 9px;
  border-radius:9px;
  font-size:11.5px;
}

.quick-actions{
  justify-content:flex-end;
  gap:7px;
}

button,.btn{
  min-height:36px;
  padding:0 13px;
  border-radius:10px;
  font-size:12.4px;
}

.stats-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.stat-card{
  min-height:76px;
  padding:11px 12px;
}

.stat-card::before{
  top:12px;
  bottom:12px;
  width:2px;
}

.stat-card span{
  font-size:11.8px;
}

.stat-card b{
  margin-top:5px;
  font-size:22px;
}

.stat-card small{
  margin-top:4px;
  font-size:10.8px;
}

.admin-two-col{
  gap:10px;
}

.panel-card{
  padding:12px;
}

.panel-card h3,
.panel-head h3{
  font-size:14.5px;
}

.panel-head{
  margin-bottom:9px;
}

.panel-head p{
  font-size:11.5px;
}

.operation-list{
  gap:6px;
}

.operation-list div{
  min-height:36px;
  padding:7px 9px;
  border-radius:10px;
}

.operation-list span{
  font-size:12px;
}

.operation-list b{
  min-height:24px;
  min-width:38px;
  font-size:11.5px;
}

.progress-list{
  gap:8px;
}

.progress-list > div{
  grid-template-columns:94px 1fr 38px;
  gap:8px;
}

.progress-list span,
.progress-list b{
  font-size:11.6px;
}

.bar{
  height:7px;
}

.filter-card{
  padding:11px 12px;
}

.candidate-filter-grid,
.results-filter-grid{
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1fr auto;
  gap:8px;
  align-items:end;
}

label{
  margin-bottom:5px;
  font-size:12px;
}

input,select,textarea{
  min-height:38px;
  border-radius:10px;
  padding:7px 10px;
  font-size:12.7px;
}

.table-wrap{
  border:1px solid var(--line2);
  border-radius:13px;
  background:#fff;
}

th,td{
  padding:9px 10px;
  font-size:12px;
  border-bottom:1px solid #edf1f5;
}

th{
  background:#f8fafc;
  color:#475467;
  font-size:11.5px;
}

tbody tr:hover td{
  background:#fbfdff;
}

.candidates-table .row-actions-inline,
.row-actions-inline{
  gap:5px;
  flex-wrap:nowrap;
}

.row-actions-inline .btn{
  min-height:29px;
  padding:0 9px;
  border-radius:9px;
  font-size:11.5px;
}

.status-mini,
.status-pill{
  min-height:26px;
  padding:0 8px;
  font-size:11.3px;
}

.text-muted{
  font-size:11.2px;
}

/* جعل صفحة المتقدمين صفحة تشغيل عملية لا لوحة مزدحمة */
.candidates-page > .command-hero .hero-badges span{
  min-height:27px;
}

.candidates-page > .command-hero{
  margin-bottom:0;
}

.candidates-page .panel-card{
  padding:12px 12px 14px;
}

/* غرفة العمليات: إبراز نقاط التعثر بدل تشابهها مع لوحة الإدارة */
.admin-command .operation-list div{
  background:#fbfcfe;
}

.admin-command .operation-list div:has(b){
  border-color:#e7eef5;
}

.empty-state{
  padding:18px;
  font-size:12px;
  border-radius:11px;
}

/* نتائج الترشيح */
.results-table td,
.results-table th{
  white-space:nowrap;
}

.results-table td:nth-child(4),
.results-table td:nth-child(5){
  font-weight:600;
}

/* تحسين الجوال والأجهزة المتوسطة */
@media(max-width:1200px){
  .admin-app{grid-template-columns:184px minmax(0,1fr)}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-filter-grid,
  .results-filter-grid{grid-template-columns:1fr 1fr}
  .filter-actions{grid-column:1/-1;justify-content:flex-start}
}

@media(max-width:900px){
  .admin-app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}
  .admin-header{height:auto;min-height:58px}
  .admin-sidebar{min-height:auto;padding:10px}
  .admin-nav{grid-template-columns:repeat(3,1fr)}
  .command-hero,.detail-hero{grid-template-columns:1fr}
}

@media(max-width:640px){
  .admin-main{padding:12px}
  .stats-grid,.candidate-filter-grid,.results-filter-grid{grid-template-columns:1fr}
  .admin-nav{grid-template-columns:1fr 1fr}
  .quick-actions,.filter-actions{align-items:stretch;justify-content:stretch}
  .quick-actions .btn,.filter-actions .btn,.filter-actions button{flex:1}
}

/* =========================================================
   v47.3 - النتائج والتصدير وإخفاء مهامي عن الإدارة
   ========================================================= */
.results-page{display:grid;gap:12px}
.results-actions-main{justify-content:flex-start;margin:0 0 2px}
.results-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}
.result-focus-card{border-color:#cfe4e8;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)}
.focus-results-table th{background:#eef7f8;color:#0f6b7b}
.pref-achieved{min-height:28px;padding:0 10px;border-radius:999px;background:#eef7f8;color:#0f6b7b;display:inline-flex;align-items:center;font-size:12px;font-weight:700}
.result-pill{min-height:28px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;border:1px solid var(--line2)}
.result-pill.selected{background:#ecfdf3;color:#067647;border-color:#abefc6}
.result-pill.waiting{background:#fffaeb;color:#93370d;border-color:#fedf89}
@media(max-width:1050px){.results-filter-grid{grid-template-columns:1fr 1fr}.results-filter-grid .filter-actions{grid-column:1/-1}}
@media(max-width:640px){.results-filter-grid{grid-template-columns:1fr}}

/* =========================================================
   v47.4 - بوابة المشرف وتقييم المتقدم
   ========================================================= */

.d-block{display:block}
.btn-small{min-height:32px;padding:0 10px;font-size:12px;border-radius:10px}
.status-mini.success{background:#ecfdf3;border-color:#abefc6;color:#067647}
.status-mini.warning{background:#fffaeb;border-color:#fedf89;color:#93370d}

.supervisor-page{display:grid;gap:12px}
.supervisor-hero{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.supervisor-hero h3{margin:0;font-size:18px;font-weight:700;color:#0f172a}
.supervisor-hero p{margin:3px 0 0;color:var(--muted);font-size:12.5px}
.supervisor-search{padding:12px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.supervisor-table-card{padding:14px}
.panel-head.compact{margin-bottom:10px}
.supervisor-table th,.supervisor-table td{padding:10px 11px;font-size:12.4px;vertical-align:middle}
.supervisor-table td b{font-weight:700;color:#0f172a}

.score-page-v474{display:grid;gap:12px}
.score-topline{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.score-topline h3{margin:0;font-size:18px;font-weight:700;color:#0f172a}
.score-topline p{margin:3px 0 0;color:var(--muted);font-size:12.5px}
.score-top-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-start}
.score-top-badges span{min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line2);background:#f8fafc;color:#475467;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.score-top-badges b{color:#0f172a;font-weight:800}
.score-top-badges .locked{background:#ecfdf3;border-color:#abefc6;color:#067647}
.score-top-badges .open{background:#fffaeb;border-color:#fedf89;color:#93370d}

.score-layout-v474{display:grid;grid-template-columns:minmax(360px,0.95fr) minmax(420px,1.05fr);gap:12px;align-items:start}
.score-info-card,.score-form-card-v474{padding:14px}
.score-info-list{display:grid;gap:7px}
.score-info-list div{min-height:38px;padding:8px 10px;border-radius:11px;border:1px solid var(--line2);background:#f9fbfd;display:grid;grid-template-columns:115px 1fr;gap:8px;align-items:center}
.score-info-list span{color:#667085;font-size:12.2px}
.score-info-list b{color:#0f172a;font-size:12.5px;font-weight:700;overflow-wrap:anywhere}
.card-head.spaced{margin-top:14px}
.score-pref-list{display:grid;gap:7px}
.score-pref-list div:not(.empty-box){min-height:40px;padding:8px 10px;border-radius:11px;border:1px solid var(--line2);background:#f9fbfd;display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center}
.score-pref-list b{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px}
.score-pref-list span{font-weight:700;color:#0f172a;font-size:12.5px}
.score-pref-list small{color:#667085;font-size:11.5px}

.score-form-clean{display:grid;gap:12px}
.score-fields-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.score-form-clean input,.score-form-clean textarea{font-size:14px}
.score-form-clean textarea{min-height:118px;max-height:170px}
.compact-check{justify-content:flex-start;width:max-content;max-width:100%;padding-inline:12px}
.score-save-row{padding-top:12px;border-top:1px solid var(--line2);display:flex;gap:8px;align-items:center;justify-content:flex-start}
.score-save-row button,.score-save-row .btn{min-width:120px;width:auto}
.readonly-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.readonly-score-grid div{min-height:82px;padding:13px;border:1px solid var(--line2);background:#f9fbfd;border-radius:14px;text-align:center}
.readonly-score-grid span{display:block;color:#667085;font-size:12.3px}
.readonly-score-grid b{display:block;margin-top:7px;font-size:24px;color:#0f172a;line-height:1;font-weight:800}
.readonly-notes{padding:12px;border:1px solid var(--line2);background:#f9fbfd;border-radius:12px;margin-bottom:12px}
.readonly-notes span{display:block;color:#667085;font-size:12px;margin-bottom:4px}
.readonly-notes p{margin:0;color:#0f172a;font-size:13px;line-height:1.8}

@media(max-width:1100px){
  .score-layout-v474{grid-template-columns:1fr}
  .score-topline,.supervisor-hero{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
  .supervisor-search,.score-fields-two,.readonly-score-grid,.score-info-list div,.score-pref-list div:not(.empty-box){grid-template-columns:1fr}
  .score-save-row{flex-direction:column;align-items:stretch}
  .score-save-row button,.score-save-row .btn{width:100%}
}

/* =========================================================
   v47.6 - صفحة المشرفين
   ========================================================= */
.compact-hero{
  padding:14px 16px;
}
.mini-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.supervisor-filter-grid{
  grid-template-columns:2fr 1fr 1fr auto;
}
.supervisors-table .wrap-cell{
  white-space:normal;
  min-width:220px;
  max-width:360px;
  line-height:1.7;
}
.status-mini.ok{
  background:#ecfdf3;
  color:#067647;
  border-color:#abefc6;
}
.status-mini.warning-soft{
  background:#fffaeb;
  color:#93370d;
  border-color:#fedf89;
}
.status-mini.danger-soft{
  background:#fff1f0;
  color:#b42318;
  border-color:#fecdca;
}
@media(max-width:900px){
  .mini-stats,
  .supervisor-filter-grid{grid-template-columns:1fr;}
}

/* =========================================================
   v47.9 - فصل مراحل التقييم: ملف / مقابلة
   ========================================================= */
.stage-filter{
  grid-template-columns:1fr 180px auto auto;
}
.stage-table .status-mini.info,
.status-mini.info{
  background:#eef7f8;
  color:#0f6b7b;
  border-color:#d5eaee;
}
.stage-table .status-mini.primary-soft,
.status-mini.primary-soft{
  background:#f3f6ff;
  color:#344054;
  border-color:#dbe4ff;
}
.stage-workflow-card{padding:16px}
.workflow-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.workflow-steps .step{
  min-height:78px;
  padding:13px;
  border:1px solid var(--line2);
  border-radius:15px;
  background:#f9fbfd;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 10px;
  align-items:center;
}
.workflow-steps .step b{
  width:34px;height:34px;border-radius:50%;
  background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:#667085;font-weight:700;
  grid-row:1/3;
}
.workflow-steps .step span{font-weight:700;color:#0f172a;font-size:13.5px}
.workflow-steps .step small{color:#667085;font-size:12px}
.workflow-steps .step.active{background:#fffaeb;border-color:#fedf89}
.workflow-steps .step.active b{color:#93370d;border-color:#fedf89;background:#fff7e6}
.workflow-steps .step.done{background:#ecfdf3;border-color:#abefc6}
.workflow-steps .step.done b{color:#067647;border-color:#abefc6;background:#fff}
.stage-assign-form{display:grid;gap:12px}
.stage-assign-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.stage-summary-card .score-actions .btn{min-height:34px;font-size:12px}
.stage-score-page .readonly-score-grid.single{grid-template-columns:1fr}
.stage-notice{margin:14px 0 0}
.score-top-badges .locked{background:#ecfdf3;color:#067647;border-color:#abefc6}
.score-top-badges .open{background:#fffaeb;color:#93370d;border-color:#fedf89}
@media(max-width:800px){
  .stage-filter,
  .workflow-steps,
  .stage-assign-grid{grid-template-columns:1fr}
}

/* v47.11 - إظهار درجة الملف لمشرف المقابلة للاطلاع فقط */
.file-score-context{
  margin:14px 0 0;
  padding:13px 14px;
  border:1px solid #d5eaee;
  background:#eef7f8;
  border-radius:14px;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
}
.file-score-context.form-context{margin:0 0 12px}
.file-score-context span{color:#0f6b7b;font-size:12.5px;font-weight:700}
.file-score-context b{color:#0f172a;font-size:22px;line-height:1;font-weight:800}
.file-score-context b small{color:#667085;font-size:12px;font-weight:600}
.file-score-context em{font-style:normal;min-height:28px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-weight:700}
.file-score-context em.ok{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.file-score-context em.warn{background:#fffaeb;color:#93370d;border:1px solid #fedf89}
@media(max-width:680px){.file-score-context{grid-template-columns:1fr}}

/* =========================================================
   v47.12 - الإسناد الجماعي للمتقدمين
   ========================================================= */
.bulk-assign-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr 1.6fr auto;
  gap:10px;
  align-items:end;
}
.bulk-actions{
  display:flex;
  align-items:end;
}
.wrap-cell{white-space:normal!important;min-width:180px}
@media(max-width:1100px){
  .bulk-assign-grid{grid-template-columns:1fr 1fr}
  .bulk-actions{grid-column:1/-1}
}
@media(max-width:640px){
  .bulk-assign-grid{grid-template-columns:1fr}
}

/* =========================================================
   v48.1 غرفة العمليات الاحترافية
   ========================================================= */

.ops-v48{
  display:grid;
  gap:12px;
}

.ops-hero-v48{
  padding:16px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}

.ops-hero-v48 h3{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

.ops-hero-v48 p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12.5px;
}

.ops-hero-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ops-stage-grid-v48{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.ops-stage-grid-v48 .stat-card{
  min-height:92px;
}

.ops-main-grid-v48{
  align-items:start;
}

.ops-progress-v48 > div{
  grid-template-columns:130px 1fr 52px;
}

.ops-alert-list-v48{
  display:grid;
  gap:8px;
}

.ops-alert-item-v48{
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ops-alert-item-v48 span{
  color:#344054;
  font-size:12.7px;
  font-weight:600;
}

.ops-alert-item-v48 b{
  min-width:44px;
  min-height:28px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12.5px;
  font-weight:700;
}

.ops-alert-item-v48.has-alert{
  background:#fff7f6;
  border-color:#fee4e2;
}

.ops-alert-item-v48.has-alert b{
  background:#fff1f0;
  color:var(--danger);
}

@media(max-width:1150px){
  .ops-stage-grid-v48{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ops-hero-v48{grid-template-columns:1fr}
}

@media(max-width:680px){
  .ops-stage-grid-v48{grid-template-columns:1fr}
  .ops-progress-v48 > div{grid-template-columns:1fr}
  .ops-hero-actions{flex-direction:column}
  .ops-hero-actions .btn{width:100%}
}

/* =========================================================
   v48.3 - الإسناد الذكي الجماعي
   ========================================================= */
.smart-bulk-grid{
  grid-template-columns:1fr 1.3fr 1.8fr 1.6fr auto;
}
.smart-bulk-grid select[multiple]{
  min-height:118px;
  padding:8px 10px;
}
.smart-assign-note{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #d5eaee;
  background:#eef7f8;
  color:#0f6b7b;
  border-radius:12px;
  font-size:12.5px;
}
.smart-assign-note b{font-weight:800}
@media(max-width:1250px){
  .smart-bulk-grid{grid-template-columns:1fr 1fr}
  .smart-bulk-grid .bulk-actions{grid-column:1/-1}
}
@media(max-width:640px){
  .smart-bulk-grid{grid-template-columns:1fr}
}

/* =========================================================
   v48.4 - الجاهزون للفرز والفرز التجريبي
   ========================================================= */
.ready-sorting-page .command-hero{
  grid-template-columns:1fr auto;
}
.ready-sorting-page .quick-actions{
  justify-content:flex-start;
}
.total-col b,
.file-score-col b,
.interview-col b{
  color:#0f172a;
  font-weight:800;
}
@media(max-width:900px){
  .ready-sorting-page .command-hero{grid-template-columns:1fr}
}

/* =========================================================
   v48.7 - بطاقة المتقدم الموحدة
   ========================================================= */
.unified-candidate-card{gap:14px}
.unified-hero{grid-template-columns:1fr auto}
.unified-hero .eyebrow{
  display:inline-flex;align-items:center;min-height:26px;padding:0 10px;
  border-radius:999px;background:var(--accent-soft);color:var(--accent);
  font-size:12px;font-weight:800;margin-bottom:7px
}
.detail-badges .success-badge{background:#ecfdf3;border-color:#abefc6;color:#067647}
.detail-badges .danger-badge{background:#fff1f0;border-color:#fee4e2;color:#b42318}
.unified-journey-card{padding:16px}
.journey-steps{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:8px;
}
.journey-step{
  min-height:88px;
  border:1px solid var(--line2);
  border-radius:15px;
  padding:11px 9px;
  background:#f9fbfd;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
}
.journey-step b{
  width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:900;background:#fff;border:1px solid var(--line2);color:#667085
}
.journey-step span{font-size:12.8px;font-weight:800;color:#0f172a}
.journey-step small{font-size:11.5px;color:#667085;line-height:1.45}
.journey-step.done{background:#ecfdf3;border-color:#abefc6}
.journey-step.done b{color:#067647;border-color:#abefc6}
.journey-step.missing{background:#fff7f6;border-color:#fee4e2}
.journey-step.missing b{color:#b42318;border-color:#fee4e2;background:#fff1f0}
.unified-main-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:12px;
  align-items:start;
}
.unified-main-grid.two-equal{grid-template-columns:1fr 1fr}
.unified-score-card{padding:16px;position:sticky;top:82px}
.stage-mini-summary,
.result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.stage-mini-summary div,
.result-grid div{
  min-height:46px;padding:9px 11px;border:1px solid var(--line2);
  background:#f9fbfd;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px
}
.stage-mini-summary span,
.result-grid span{font-size:12px;color:#667085}
.stage-mini-summary b,
.result-grid b{font-size:12.5px;color:#0f172a;font-weight:800;text-align:left}
.result-grid .wide{grid-column:1/-1}
.compact-preferences{max-height:320px;overflow:auto;padding-left:4px}
.empty-box.danger-soft{background:#fff7f6;border-color:#fee4e2;color:#b42318}
.muted-line{margin:10px 0 0;color:#667085;font-size:12.5px}
.status-mini.success{background:#ecfdf3;color:#067647;border-color:#abefc6}
.status-mini.danger{background:#fff1f0;color:#b42318;border-color:#fee4e2}
@media(max-width:1250px){
  .journey-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .unified-main-grid,.unified-main-grid.two-equal{grid-template-columns:1fr}
  .unified-score-card{position:static}
}
@media(max-width:700px){
  .unified-hero{grid-template-columns:1fr}
  .journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stage-mini-summary,.result-grid{grid-template-columns:1fr}
}

/* v48.8 unified admin candidate card rank strip */
.candidate-rank-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.rank-box{
  background:#f8fafc;
  border:1px solid #e5edf3;
  border-radius:16px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:94px;
}
.rank-box span{
  color:#64748b;
  font-size:13px;
  font-weight:700;
}
.rank-box b{
  color:#0f172a;
  font-size:25px;
  line-height:1.1;
}
.rank-box small{
  color:#94a3b8;
  font-size:12px;
  line-height:1.5;
}
.rank-box.emphasized{
  background:#ecfeff;
  border-color:#b7ebf0;
}
.rank-box.emphasized b{
  color:#0f7785;
  font-size:21px;
}
@media (max-width: 1000px){
  .candidate-rank-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 620px){
  .candidate-rank-strip{grid-template-columns:1fr;}
}

/* v48.9 unified admin candidate card refinements */
.score-badges-rtl b,
.score-lines b,
.stage-mini-summary b,
.result-grid b {
  direction: rtl;
  unicode-bidi: plaintext;
}
.score-badges-rtl bdi,
.score-lines bdi,
.stage-mini-summary bdi,
.decision-score bdi,
.score-ring bdi {
  direction: ltr;
  unicode-bidi: isolate;
}
.score-badges-rtl em {
  font-style: normal;
  color: #64748b;
  font-weight: 700;
  margin-inline-start: 4px;
}
.decision-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-color: #bfe7ed;
  background: linear-gradient(135deg, #ffffff 0%, #eefbfc 100%);
}
.decision-card h3 {
  margin: 6px 0 4px;
  font-size: 22px;
  color: #0f4f5d;
}
.decision-card p {
  margin: 0;
  color: #64748b;
}
.decision-label {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: #e7f7f9;
  color: #0f6b7b;
  font-weight: 800;
  font-size: 12px;
}
.decision-score {
  min-width: 104px;
  min-height: 104px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  align-content: center;
  background: #fff;
  border: 10px solid #dff3f5;
  box-shadow: inset 0 0 0 1px #d6e6ee;
}
.decision-score b {
  color: #0f6b7b;
  font-size: 30px;
  line-height: 1;
}
.decision-score span {
  color: #64748b;
  font-size: 12px;
  margin-top: 6px;
}
@media (max-width: 720px) {
  .decision-card { align-items: stretch; flex-direction: column; }
  .decision-score { margin-inline: auto; }
}

/* =========================================================
   v49 - النتائج الرسمية والمدارس المحققة وقرارات التكليف
   ========================================================= */

.result-status-ar,
.result-decision-box{
  min-height:34px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid var(--line2);
  background:#f9fbfd;
  color:#344054;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12.5px;
  font-weight:700;
}

.result-status-ar.nominated,
.result-status-ar.selected,
.result-decision-box.nominated,
.result-decision-box.selected{
  background:#ecfdf3;
  color:#067647;
  border-color:#abefc6;
}

.result-status-ar.waiting,
.result-status-ar.reserve,
.result-decision-box.waiting,
.result-decision-box.reserve{
  background:#fffaeb;
  color:#93370d;
  border-color:#fedf89;
}

.result-status-ar.not_selected,
.result-status-ar.excluded,
.result-decision-box.not_selected,
.result-decision-box.excluded{
  background:#fff1f0;
  color:#b42318;
  border-color:#fecdca;
}

.achieved-schools-page,
.unachieved-schools-page{
  display:grid;
  gap:12px;
}

.official-results-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
}

.official-results-toolbar .btn{
  min-height:38px;
}

.school-result-card{
  padding:14px;
  display:grid;
  gap:10px;
}

.school-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line2);
}

.school-result-head h3{
  margin:0;
  font-size:16px;
  font-weight:700;
  color:#0f172a;
}

.school-result-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
}

.school-result-meta{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.school-result-meta span{
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid var(--line2);
  background:#f8fafc;
  color:#475467;
  display:inline-flex;
  align-items:center;
  font-size:11.8px;
  font-weight:600;
}

.assignment-decision-box{
  padding:13px 14px;
  border:1px solid #d5eaee;
  background:#eef7f8;
  border-radius:14px;
  color:#0f6b7b;
  font-size:13px;
  line-height:1.9;
  font-weight:600;
}

.assignment-decision-box b{
  color:#0f172a;
}

.final-approve-box{
  padding:14px;
  border-radius:16px;
  border:1px solid #fedf89;
  background:#fffaeb;
  display:grid;
  gap:10px;
}

.final-approve-box h3{
  margin:0;
  font-size:15.5px;
  color:#93370d;
  font-weight:700;
}

.final-approve-box p{
  margin:0;
  color:#7a2e0e;
  font-size:12.5px;
}

.final-approve-box .btn{
  width:max-content;
}

.result-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

.result-summary-item{
  min-height:74px;
  padding:11px;
  border-radius:14px;
  border:1px solid var(--line2);
  background:#fff;
  box-shadow:0 4px 12px rgba(16,24,40,.025);
}

.result-summary-item span{
  display:block;
  color:#667085;
  font-size:11.7px;
  font-weight:600;
}

.result-summary-item b{
  display:block;
  margin-top:6px;
  font-size:22px;
  color:#0f172a;
  line-height:1;
  font-weight:800;
}

.result-summary-item.success b{color:#067647}
.result-summary-item.warning b{color:#93370d}
.result-summary-item.danger b{color:#b42318}
.result-summary-item.info b{color:#0f6b7b}

@media(max-width:1200px){
  .result-summary-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

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

  .school-result-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .final-approve-box .btn{
    width:100%;
  }
}

/* =========================================================
   v50.1 - ترتيب القائمة الجانبية ومركز المقابلات
   ========================================================= */

.admin-sidebar{
  overflow-y:auto;
}

.sidebar-section{
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid var(--line2);
}

.sidebar-section:last-of-type{
  border-bottom:0;
}

.sidebar-title{
  margin:2px 0 6px;
  color:#98a2b3;
  font-size:11px;
  font-weight:800;
}

.admin-nav a.active::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:999px;
  background:var(--accent);
}

.admin-nav a{
  position:relative;
}

.stage-assign-grid{
  align-items:start;
}

.stage-assign-grid select[multiple]{
  min-height:108px;
}

.interview-center-page .table-wrap{
  margin-top:10px !important;
}


/* =========================================================
   V53 - إعادة تصميم بوابة المتقدم
   ========================================================= */

.candidate-portal-v53{
  width:min(1120px,100%);
  margin-inline:auto;
  gap:14px;
}

.candidate-hero-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 14px 36px rgba(16,24,40,.065);
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.candidate-hero-chip,
.section-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:12px;
  font-weight:700;
}

.candidate-hero-info h2{
  margin:8px 0 2px;
  font-size:26px;
  line-height:1.35;
  color:#0f172a;
  font-weight:800;
}

.candidate-hero-info p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.candidate-hero-status{
  display:grid;
  justify-items:end;
  gap:8px;
}

.candidate-hero-status small{
  color:#667085;
  font-size:12px;
}

.candidate-steps-bar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.candidate-steps-bar div{
  min-height:64px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(16,24,40,.04);
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
}

.candidate-steps-bar b{
  width:32px;
  height:32px;
  border-radius:50%;
  background:#f1f5f9;
  color:#64748b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:800;
  flex:0 0 auto;
}

.candidate-steps-bar span{
  color:#475467;
  font-size:12.5px;
  font-weight:700;
}

.candidate-steps-bar .done{
  border-color:#abefc6;
  background:linear-gradient(135deg,#ecfdf3 0%,#fff 72%);
}

.candidate-steps-bar .done b{
  background:#067647;
  color:#fff;
}

.candidate-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}

.portal-card-v53{
  border-radius:22px;
  padding:18px;
  box-shadow:0 12px 30px rgba(16,24,40,.055);
}

.clean-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:13px;
}

.clean-head h3{
  margin:8px 0 2px;
  font-size:18px;
  color:#0f172a;
  font-weight:800;
}

.clean-head p{
  margin:0;
  color:var(--muted);
  font-size:12.5px;
}

.candidate-data-grid{
  grid-template-columns:1fr;
  gap:8px;
}

.candidate-data-grid div{
  min-height:44px;
  background:#fbfdff;
  border-radius:13px;
  grid-template-columns:132px 1fr;
}

.candidate-data-grid b{
  font-weight:700;
  color:#0f172a;
}

.portal-action-form button,
.upload-compact-form button,
.refined-save-row button,
.final-card-v53 button{
  min-height:42px;
  border-radius:13px;
}

.refined-check{
  background:#fbfdff;
  border-radius:13px;
  align-items:flex-start;
}

.refined-check span{
  line-height:1.9;
}

.refined-file-box{
  min-height:82px;
  display:grid;
  align-content:center;
  border-radius:16px;
}

.preferences-card-v53{
  padding:18px;
}

.candidate-notice{
  margin-bottom:14px;
  border-radius:14px;
  line-height:1.85;
}

.refined-preference-picker{
  grid-template-columns:1fr 130px;
  gap:10px;
}

.refined-preference-picker button{
  min-height:42px;
  border-radius:13px;
}

.refined-selected-preferences{
  gap:9px;
}

.preference-item{
  border-radius:15px;
  background:#fbfdff;
}

.pref-rank{
  width:38px;
  min-width:38px;
  font-weight:800;
}

.pref-actions button{
  border-radius:10px;
}

.refined-save-row{
  border-top:1px solid var(--line2);
}

.final-card-v53{
  border-color:#fedf89;
  background:linear-gradient(180deg,#fff 0%,#fffdf7 100%);
}

.final-disclaimer{
  padding:14px 15px;
  border:1px solid #fedf89;
  background:#fffaeb;
  color:#93370d;
  border-radius:16px;
  margin-bottom:12px;
}

.final-disclaimer b{
  display:block;
  font-size:13.5px;
  margin-bottom:4px;
}

.final-disclaimer p{
  margin:0;
  font-size:12.6px;
  line-height:2;
}

.final-check{
  border-color:#fedf89;
  background:#fffdf7;
}

.portal-modal-card{
  border-radius:24px;
}

@media(max-width:900px){
  .candidate-main-grid,
  .candidate-steps-bar{
    grid-template-columns:1fr;
  }

  .candidate-hero-card{
    flex-direction:column;
    align-items:flex-start;
  }

  .candidate-hero-status{
    justify-items:start;
  }
}

@media(max-width:640px){
  .candidate-portal-v53{
    width:100%;
  }

  .candidate-hero-card,
  .portal-card-v53{
    border-radius:18px;
    padding:16px;
  }

  .candidate-hero-info h2{
    font-size:22px;
  }

  .candidate-data-grid div,
  .refined-preference-picker,
  .preference-item{
    grid-template-columns:1fr;
  }
}
