:root{
  --navy:#092847;
  --navy2:#123f69;
  --blue:#1769aa;
  --sky:#eaf6ff;
  --gold:#f6c85f;
  --green:#22a06b;
  --red:#d64545;
  --ink:#102a43;
  --muted:#5b7088;
  --card:#ffffff;
  --border:#dce8f3;
  --shadow:0 24px 70px rgba(3,20,38,.20);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Cairo',Tahoma,Arial,sans-serif;
  background:
    radial-gradient(circle at top right,rgba(246,200,95,.24),transparent 28%),
    radial-gradient(circle at bottom left,rgba(23,105,170,.28),transparent 32%),
    linear-gradient(145deg,#082642,#134b78 54%,#f4fbff 54%,#eef7ff 100%);
  min-height:100vh;
  color:var(--ink);
}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.page{min-height:100vh;padding:26px 16px 36px;position:relative;overflow:hidden}
.decor{position:fixed;border-radius:999px;filter:blur(2px);opacity:.45;pointer-events:none;animation:float 7s ease-in-out infinite alternate}
.decor.one{width:240px;height:240px;background:rgba(246,200,95,.32);top:76px;right:-80px}
.decor.two{width:300px;height:300px;background:rgba(255,255,255,.18);bottom:-90px;left:-70px;animation-delay:1.2s}
@keyframes float{to{transform:translateY(18px) translateX(-12px)}}
.wrap{width:min(1120px,100%);margin:auto;position:relative;z-index:1}
.hero{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);border-radius:34px;padding:30px;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.logo,.fake-logo{width:76px;height:76px;border-radius:24px;object-fit:contain;background:#fff;border:1px solid var(--border);box-shadow:0 12px 28px rgba(9,40,71,.14);display:grid;place-items:center;font-size:34px;font-weight:900;color:var(--navy)}
.brand h1{margin:0;font-size:clamp(24px,3vw,42px);line-height:1.35;color:var(--navy);font-weight:900}
.brand p{margin:5px 0 0;color:var(--blue);font-size:20px;font-weight:800}
.topline{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:18px 0}
.live-badge{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#effff7,#fff);border:1px solid #cceedd;border-radius:22px;padding:12px 16px;box-shadow:0 10px 26px rgba(34,160,107,.13)}
.live-dot{width:13px;height:13px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(34,160,107,.5);animation:pulseDot 1.4s infinite}
@keyframes pulseDot{70%{box-shadow:0 0 0 14px rgba(34,160,107,0)}}
.live-badge b{font-size:24px;color:var(--green);display:block;line-height:1}.live-badge small{color:#446275;font-weight:700}
.admin-link{border:0;background:#eef6ff;color:var(--navy);padding:10px 14px;border-radius:16px;text-decoration:none;font-weight:900}
.search-card{margin-top:22px;background:linear-gradient(135deg,#ffffff,#f7fbff);border:1px solid var(--border);border-radius:28px;padding:20px;box-shadow:0 16px 38px rgba(9,40,71,.1)}
.search-card label{display:block;text-align:center;font-size:22px;font-weight:900;margin-bottom:14px;color:var(--navy)}
.search-line{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.search-line input{flex:1;min-width:230px;max-width:430px;border:1px solid #cfddeb;background:#fff;border-radius:18px;padding:16px 18px;font-size:20px;text-align:center;outline:none;font-weight:800;color:var(--navy)}
.search-line input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,105,170,.12)}
.primary-btn{border:0;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:15px 26px;font-size:18px;font-weight:900;box-shadow:0 14px 28px rgba(9,40,71,.28);transition:.2s}
.primary-btn:hover{transform:translateY(-2px)}.primary-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}
.note{margin-top:12px;text-align:center;color:var(--muted);font-weight:700}.error{background:#fff1f1;border:1px solid #ffd0d0;color:#a33131;padding:13px 15px;border-radius:18px;margin-top:14px;font-weight:800;text-align:center}.okmsg{background:#effff7;border:1px solid #cceedd;color:#116844;padding:13px 15px;border-radius:18px;margin-top:14px;font-weight:800;text-align:center}
.countdown{background:linear-gradient(135deg,#092847,#1769aa);border-radius:26px;padding:20px;color:#fff;box-shadow:0 18px 45px rgba(9,40,71,.22);margin-top:16px;position:relative;overflow:hidden}.countdown:before{content:"";position:absolute;inset:-60px;background:radial-gradient(circle,rgba(246,200,95,.25),transparent 34%);animation:spin 9s linear infinite}.countdown>*{position:relative}.countdown-title{text-align:center;font-size:23px;font-weight:900;margin-bottom:14px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.time-box{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:13px;text-align:center;backdrop-filter:blur(8px)}.time-box strong{font-size:31px;display:block;color:var(--gold)}.time-box span{font-weight:900}.countdown-message{text-align:center;margin:13px 0 0;font-weight:800;opacity:.95}@keyframes spin{to{transform:rotate(360deg)}}
.result{margin-top:22px;animation:rise .5s ease both}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.welcome{background:#fff;border:1px solid var(--border);border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(9,40,71,.12);text-align:center}.welcome h2{margin:0;color:var(--navy);font-size:30px}.welcome p{margin:8px 0 0;color:var(--muted);font-weight:800}
.summary{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-card{border-radius:26px;padding:22px;background:linear-gradient(135deg,#ffffff,#eef7ff);border:1px solid var(--border);box-shadow:0 16px 35px rgba(9,40,71,.1);text-align:center}.summary-card.main{background:linear-gradient(135deg,#fff7df,#ffffff);border-color:#f4d98b}.summary-card span{display:block;color:var(--muted);font-weight:900}.summary-card b{display:block;color:var(--navy);font-size:32px;margin-top:5px;font-weight:900}.section{margin-top:16px;background:rgba(255,255,255,.93);border:1px solid var(--border);box-shadow:0 16px 35px rgba(9,40,71,.1);border-radius:28px;padding:20px}.section h3{margin:0 0 14px;color:var(--navy);font-size:22px;font-weight:900;border-bottom:1px solid #e6eef6;padding-bottom:10px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-card,.subject-card,.empty-card{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #d7e4ef;border-radius:20px;padding:15px;box-shadow:0 10px 25px rgba(9,40,71,.08)}.info-card small,.subject-card small{display:block;color:var(--muted);font-weight:900}.info-card b{font-size:20px;color:var(--navy)}.subjects{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.subject-card{text-align:center;min-height:112px;display:flex;flex-direction:column;justify-content:center}.subject-card b{display:block;color:var(--navy);font-size:16px;line-height:1.55}.grade{margin-top:8px;display:inline-block;border-radius:999px;background:#eef6ff;color:var(--blue);padding:4px 12px;font-weight:900}.grade.warn{background:#fff1f1;color:#c03838}.empty-card{text-align:center;color:var(--green);font-weight:900}.print-btn{margin-top:16px;border:0;background:#fff;color:var(--navy);padding:12px 18px;border-radius:16px;font-weight:900;box-shadow:0 10px 25px rgba(9,40,71,.14)}
.admin-page{min-height:100vh;background:#f3f8fc;padding:18px;color:var(--ink)}.admin-layout{width:min(1250px,100%);margin:auto;display:grid;grid-template-columns:270px 1fr;gap:18px}.side{background:linear-gradient(180deg,var(--navy),var(--navy2));border-radius:28px;color:#fff;padding:20px;position:sticky;top:18px;height:calc(100vh - 36px);box-shadow:var(--shadow)}.side h2{margin:0 0 12px;font-size:24px}.nav-btn{width:100%;display:block;text-align:right;border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:16px;padding:12px 14px;margin:8px 0;font-weight:900}.nav-btn.active,.nav-btn:hover{background:#fff;color:var(--navy)}.content{display:grid;gap:16px}.admin-card{background:#fff;border:1px solid var(--border);border-radius:26px;padding:20px;box-shadow:0 14px 35px rgba(9,40,71,.08)}.admin-card h3{margin:0 0 12px;color:var(--navy);font-size:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field label{display:block;font-weight:900;color:var(--navy);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfddeb;border-radius:16px;padding:12px;font-size:15px;background:#fff;outline:none}.field textarea{min-height:78px}.tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.ghost-btn{border:1px solid var(--border);background:#fff;color:var(--navy);padding:11px 16px;border-radius:16px;font-weight:900}.danger{background:#fff3f3;border-color:#ffd1d1}.danger .primary-btn{background:linear-gradient(135deg,#9e2222,#d64545)}.table{width:100%;border-collapse:separate;border-spacing:0 8px}.table th{text-align:right;color:var(--muted);font-size:13px}.table td{background:#f8fbff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px}.table td:first-child{border-radius:0 14px 14px 0;border-right:1px solid var(--border)}.table td:last-child{border-radius:14px 0 0 14px;border-left:1px solid var(--border)}.mini{font-size:13px;color:var(--muted);font-weight:800}.report{white-space:pre-wrap;background:#0b253d;color:#dff2ff;border-radius:18px;padding:14px;overflow:auto;max-height:320px;direction:ltr;text-align:left}.login{min-height:100vh;display:grid;place-items:center;padding:18px;background:linear-gradient(135deg,var(--navy),var(--blue))}.login-card{width:min(420px,100%);background:#fff;border-radius:30px;padding:28px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 16px;color:var(--navy)}
@media(max-width:900px){.hero{padding:20px;border-radius:26px}.brand{align-items:flex-start}.summary,.info-grid,.subjects{grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:1fr}.side{position:relative;height:auto}.form-grid{grid-template-columns:1fr}.countdown-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.page{padding:12px}.hero{padding:16px}.brand h1{font-size:22px}.brand p{font-size:16px}.logo,.fake-logo{width:62px;height:62px}.search-line input,.primary-btn{width:100%;max-width:none}.summary,.info-grid,.subjects{grid-template-columns:1fr}.summary-card b{font-size:27px}}
@media print{body{background:#fff}.admin-link,.search-card,.live-badge,.print-btn,.decor{display:none!important}.hero,.section,.welcome,.summary-card{box-shadow:none!important}.page{padding:0}.hero{border:0}}


/* ===== بيان طباعة مصغر في صفحة واحدة ===== */
.print-sheet{display:none}

@media print{
  @page{
    size:A4 portrait;
    margin:7mm;
  }

  html,body{
    width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#0b253d!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body *{
    visibility:hidden!important;
  }

  .print-sheet,
  .print-sheet *{
    visibility:visible!important;
  }

  .print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:196mm!important;
    max-height:282mm!important;
    overflow:hidden!important;
    background:#fff!important;
    padding:0!important;
    margin:0!important;
    font-family:'Cairo',Tahoma,Arial,sans-serif!important;
    direction:rtl!important;
    color:#0b253d!important;
  }

  .page,.wrap,.hero,.result{
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
  }

  .brand,.topline,.search-card,.welcome,.summary,.section,.print-btn,.admin-link,.live-badge,.decor,.countdown{
    display:none!important;
  }

  .print-head{
    display:flex!important;
    align-items:center!important;
    gap:4mm!important;
    border-bottom:1.2px solid #123f69!important;
    padding-bottom:3mm!important;
    margin-bottom:3mm!important;
  }

  .print-head img,
  .print-logo-placeholder{
    width:18mm!important;
    height:18mm!important;
    object-fit:contain!important;
    border:1px solid #dce8f3!important;
    border-radius:4mm!important;
    display:grid!important;
    place-items:center!important;
    font-weight:900!important;
  }

  .print-head h1{
    margin:0!important;
    font-size:15pt!important;
    line-height:1.25!important;
    color:#092847!important;
    font-weight:900!important;
  }

  .print-head h2{
    margin:1mm 0 0!important;
    font-size:10pt!important;
    color:#1769aa!important;
    font-weight:900!important;
  }

  .print-title{
    text-align:center!important;
    border:1px solid #dce8f3!important;
    border-radius:4mm!important;
    padding:2mm!important;
    margin-bottom:3mm!important;
    background:#f8fbff!important;
  }

  .print-title h3{
    margin:0!important;
    font-size:13pt!important;
    font-weight:900!important;
    color:#092847!important;
  }

  .print-title p{
    margin:.5mm 0 0!important;
    font-size:7.5pt!important;
    font-weight:800!important;
    color:#5b7088!important;
  }

  .print-hero-row{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:2mm!important;
    margin-bottom:3mm!important;
  }

  .print-hero-row div,
  .print-info-grid div{
    border:1px solid #dce8f3!important;
    background:#fff!important;
    border-radius:3mm!important;
    padding:2mm!important;
    text-align:center!important;
  }

  .print-hero-row span,
  .print-info-grid span{
    display:block!important;
    color:#5b7088!important;
    font-weight:900!important;
    font-size:7pt!important;
  }

  .print-hero-row b{
    display:block!important;
    color:#092847!important;
    font-size:13pt!important;
    line-height:1.3!important;
    font-weight:900!important;
  }

  .print-section{
    border:1px solid #dce8f3!important;
    border-radius:4mm!important;
    padding:2mm!important;
    margin-bottom:2.5mm!important;
    page-break-inside:avoid!important;
    background:#fff!important;
  }

  .print-section h4{
    margin:0 0 1.5mm!important;
    padding-bottom:1mm!important;
    border-bottom:1px solid #e6eef6!important;
    color:#092847!important;
    font-size:9pt!important;
    font-weight:900!important;
  }

  .print-info-grid{
    display:grid!important;
    grid-template-columns:2fr 1fr 1fr!important;
    gap:1.5mm!important;
  }

  .print-info-grid b{
    display:block!important;
    font-size:8.4pt!important;
    line-height:1.25!important;
    font-weight:900!important;
    color:#092847!important;
  }

  .print-subject-grid{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:1.3mm!important;
  }

  .print-subject,
  .print-mini-subject{
    display:grid!important;
    grid-template-columns:6mm 1fr 10mm!important;
    align-items:center!important;
    gap:1mm!important;
    border:1px solid #e1eaf3!important;
    border-radius:2mm!important;
    padding:1.15mm!important;
    min-height:9mm!important;
    background:#fbfdff!important;
  }

  .print-subject-no,
  .print-mini-subject span{
    display:grid!important;
    place-items:center!important;
    width:5mm!important;
    height:5mm!important;
    border-radius:50%!important;
    background:#eef6ff!important;
    color:#1769aa!important;
    font-size:6.2pt!important;
    font-weight:900!important;
  }

  .print-subject b,
  .print-mini-subject b{
    font-size:6.8pt!important;
    line-height:1.18!important;
    color:#092847!important;
    font-weight:900!important;
  }

  .print-subject strong,
  .print-mini-subject strong{
    text-align:center!important;
    font-size:8pt!important;
    color:#092847!important;
    font-weight:900!important;
  }

  .print-two{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:2mm!important;
  }

  .print-mini-grid{
    display:grid!important;
    gap:1.2mm!important;
  }

  .print-empty{
    border:1px dashed #cbd8e5!important;
    border-radius:3mm!important;
    padding:2mm!important;
    text-align:center!important;
    color:#22a06b!important;
    font-size:8pt!important;
    font-weight:900!important;
    background:#fbfffd!important;
  }

  .print-foot{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    margin-top:1.5mm!important;
    padding-top:1.5mm!important;
    border-top:1px solid #dce8f3!important;
    color:#5b7088!important;
    font-size:7pt!important;
    font-weight:800!important;
  }
}


/* إصلاح الصفحة الفارغة: الطباعة تتم من iframe مستقل عبر printOnePage */
@media print{
  body *{
    visibility:visible!important;
  }
  .print-sheet{
    display:block;
  }
}
