/*
Theme Name:   SLab Results — بوابة نتائج المختبر
Theme URI:    https://example.iq/slab
Author:       SLab
Author URI:   https://example.iq
Description:  قالب ووردبريس مخصص لبوابة استعلام وتحميل نتائج المختبر بصيغة PDF من سيرفرات المستشفيات. يدعم RTL بالكامل، ويُضبط من: المظهر ← تخصيص ← بوابة النتائج.
Version:      1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  slab-results
Tags:         rtl-language-support, custom-colors, one-column, full-width-template
*/

/* ==========================================================
   المتغيّرات
   ========================================================== */
:root{
  --slab-bg:#0b1220;
  --slab-surface:#111c31;
  --slab-surface-2:#16233c;
  --slab-line:#1e2b45;
  --slab-line-soft:#22304c;
  --slab-accent:#6366f1;
  --slab-accent-2:#818cf8;
  --slab-accent-dim:rgba(99,102,241,.14);
  --slab-text:#e6ebf5;
  --slab-muted:#8ea0bd;
  --slab-ok:#34d399;
  --slab-err:#f87171;
  --slab-warn:#fbbf24;
  --slab-radius:16px;
  --slab-radius-sm:10px;
  --slab-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --slab-sans:'Tajawal',system-ui,'Segoe UI',Tahoma,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--slab-sans);
  background:var(--slab-bg);
  color:var(--slab-text);
  display:flex;flex-direction:column;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--slab-accent-2)}
img{max-width:100%;height:auto}

/* خلفية: شبكة رقيقة + توهج بنفسجي خافت */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--slab-line-soft) 1px,transparent 1px),
    linear-gradient(90deg,var(--slab-line-soft) 1px,transparent 1px);
  background-size:64px 64px;opacity:.28;
  -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 20%,transparent 78%);
  mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 20%,transparent 78%);
}
body::after{
  content:"";position:fixed;top:-320px;left:50%;transform:translateX(-50%);
  width:900px;height:640px;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(99,102,241,.20),transparent 62%);
  filter:blur(20px);
}

.slab-site{position:relative;z-index:1;flex:1;display:flex;flex-direction:column}
.slab-wrap{width:100%;max-width:660px;margin:0 auto;padding:28px 20px 10px}

/* شريط تخطي للوصولية */
.slab-skip{
  position:absolute;inset-inline-start:-9999px;top:8px;z-index:100;
  background:var(--slab-accent);color:#fff;padding:10px 16px;border-radius:8px;
  text-decoration:none;font-size:14px;
}
.slab-skip:focus{inset-inline-start:16px}

/* ==========================================================
   الترويسة
   ========================================================== */
.slab-topbar{display:flex;align-items:center;gap:12px;padding:6px 2px 26px}
.slab-mark{
  width:40px;height:40px;border-radius:12px;flex:none;
  background:linear-gradient(150deg,var(--slab-accent),#4338ca);
  display:grid;place-items:center;box-shadow:0 6px 20px -8px rgba(99,102,241,.9);
  overflow:hidden;
}
.slab-mark svg{width:21px;height:21px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.slab-mark img{width:100%;height:100%;object-fit:cover}
.slab-brand{line-height:1.25}
.slab-brand b,.slab-brand a{
  display:block;font-size:16px;font-weight:700;letter-spacing:-.2px;
  color:var(--slab-text);text-decoration:none;
}
.slab-brand span{display:block;font-size:12px;color:var(--slab-muted);font-weight:400}
.slab-status{
  margin-inline-start:auto;display:flex;align-items:center;gap:7px;
  font-size:11.5px;color:var(--slab-muted);font-family:var(--slab-mono);
  border:1px solid var(--slab-line);background:rgba(17,28,49,.6);
  padding:6px 10px;border-radius:999px;white-space:nowrap;
}
.slab-dot{width:7px;height:7px;border-radius:50%;background:var(--slab-ok);box-shadow:0 0 0 3px rgba(52,211,153,.15)}

/* ==========================================================
   العنوان
   ========================================================== */
.slab-head{text-align:center;padding:6px 0 26px}
.slab-head h1{
  margin:0;font-size:clamp(23px,5.2vw,31px);font-weight:800;
  letter-spacing:-.6px;line-height:1.4;color:var(--slab-text);
}
.slab-head h1 em{font-style:normal;color:var(--slab-accent-2)}
.slab-head p{margin:10px auto 0;color:var(--slab-muted);font-size:14.5px;line-height:1.8;max-width:44ch}

/* ==========================================================
   البطاقة والحقول
   ========================================================== */
.slab-card{
  background:linear-gradient(180deg,rgba(22,35,60,.92),rgba(17,28,49,.92));
  border:1px solid var(--slab-line);
  border-radius:var(--slab-radius);
  padding:24px 22px 22px;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.9);
}

.slab-field{margin-bottom:16px}
.slab-field>label{
  display:flex;align-items:center;gap:6px;
  font-size:13px;font-weight:500;color:#c3cfe4;margin-bottom:8px;
}
.slab-req{color:var(--slab-accent-2);font-size:15px;line-height:1}

.slab-control{position:relative;display:flex;align-items:center}
.slab-ico{
  position:absolute;inset-inline-start:13px;width:17px;height:17px;
  stroke:var(--slab-muted);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  pointer-events:none;transition:stroke .18s;
}
input[type="text"],select{
  width:100%;
  background:#0d1729;
  border:1px solid var(--slab-line);
  color:var(--slab-text);
  border-radius:var(--slab-radius-sm);
  padding:13px 42px 13px 14px;
  margin:0;
  font-family:var(--slab-sans);
  font-size:14.5px;line-height:1.4;
  transition:border-color .18s,box-shadow .18s,background .18s;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
}
input.slab-num{font-family:var(--slab-mono);font-size:15px;letter-spacing:1.5px;font-weight:600}
input::placeholder{color:#4f6182;letter-spacing:normal;font-family:var(--slab-sans);font-weight:400;opacity:1}
input[type="text"]:hover,select:hover{border-color:var(--slab-line-soft);background:#0e1a2f}
input[type="text"]:focus,select:focus{
  outline:none;border-color:var(--slab-accent);
  box-shadow:0 0 0 3px var(--slab-accent-dim);background:#0e1a2f;
}
input:focus~.slab-ico,select:focus~.slab-ico{stroke:var(--slab-accent-2)}
select{padding-inline-end:42px;cursor:pointer}
select option{background:#0f172a;color:var(--slab-text)}
.slab-chev{
  position:absolute;inset-inline-end:14px;width:11px;height:11px;
  border-inline-start:1.8px solid var(--slab-muted);border-bottom:1.8px solid var(--slab-muted);
  transform:rotate(-45deg);margin-top:-4px;pointer-events:none;
}

.slab-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.slab-row{grid-template-columns:1fr;gap:0}}

.slab-hint{margin-top:7px;font-size:11.5px;color:#63769a;font-family:var(--slab-mono);letter-spacing:.2px}
.slab-err{margin-top:7px;font-size:12px;color:var(--slab-err);display:none}
.slab-field.slab-invalid input,
.slab-field.slab-invalid select{border-color:var(--slab-err);box-shadow:0 0 0 3px rgba(248,113,113,.12)}
.slab-field.slab-invalid .slab-err{display:block}

/* ==========================================================
   الأزرار
   ========================================================== */
.slab-btn{
  width:100%;margin-top:6px;
  border:0;border-radius:var(--slab-radius-sm);
  background:linear-gradient(180deg,var(--slab-accent-2),var(--slab-accent));
  color:#fff;font-family:var(--slab-sans);font-size:15.5px;font-weight:700;
  padding:14px;cursor:pointer;text-decoration:none;
  display:flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 10px 26px -12px rgba(99,102,241,.95);
  transition:transform .12s,box-shadow .18s,filter .18s;
}
.slab-btn:hover{filter:brightness(1.07);color:#fff;box-shadow:0 14px 30px -12px rgba(99,102,241,1)}
.slab-btn:active{transform:translateY(1px)}
.slab-btn:focus-visible{outline:2px solid var(--slab-accent-2);outline-offset:3px}
.slab-btn[disabled]{opacity:.6;cursor:progress;filter:none}
.slab-btn svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.slab-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:slab-sp .7s linear infinite}
@keyframes slab-sp{to{transform:rotate(360deg)}}

.slab-legal{margin-top:16px;font-size:11.5px;color:#5f7191;line-height:1.9;text-align:center}

/* ==========================================================
   قصاصة النتيجة
   ========================================================== */
.slab-slip{margin-top:20px;display:none}
.slab-slip.slab-show{display:block;animation:slab-rise .45s cubic-bezier(.2,.8,.3,1)}
@keyframes slab-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.slab-perf{
  height:14px;
  background:radial-gradient(circle at 7px 0,transparent 6px,var(--slab-surface-2) 6.5px) 0 0/14px 14px repeat-x;
  border-radius:var(--slab-radius) var(--slab-radius) 0 0;
}
.slab-slip-body{
  background:var(--slab-surface-2);
  border:1px solid var(--slab-line);border-top:0;
  border-radius:0 0 var(--slab-radius) var(--slab-radius);
  padding:4px 20px 20px;
}
.slab-slip-top{display:flex;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px dashed var(--slab-line-soft)}
.slab-badge{
  width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3);
}
.slab-badge svg{width:17px;height:17px;stroke:var(--slab-ok);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.slab-badge.slab-miss{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3)}
.slab-badge.slab-miss svg{stroke:var(--slab-warn)}
.slab-slip-top b{font-size:15px;font-weight:700;display:block}
.slab-slip-top small{color:var(--slab-muted);font-size:12.5px;display:block;margin-top:3px;line-height:1.7}

.slab-meta{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--slab-line);
  border:1px solid var(--slab-line);border-radius:12px;overflow:hidden;margin:14px 0;
}
.slab-meta>div{background:#0d1729;padding:11px 13px}
.slab-meta span{display:block;font-size:11px;color:var(--slab-muted);margin-bottom:4px}
.slab-meta b{font-family:var(--slab-mono);font-size:14px;font-weight:600;color:#dbe3f2;letter-spacing:.5px}
.slab-meta .slab-full{grid-column:1/-1}
.slab-meta .slab-full b{font-family:var(--slab-sans);font-size:13.5px;letter-spacing:0}

/* الباركود يُرسم من رقم العينة */
.slab-barcode{display:flex;align-items:flex-end;gap:2px;height:44px;padding:0 2px;margin-bottom:6px}
.slab-barcode i{display:block;background:#c9d4e8;border-radius:1px;height:100%}
.slab-barcode-txt{text-align:center;font-family:var(--slab-mono);font-size:11px;color:var(--slab-muted);letter-spacing:4px;margin-bottom:14px}

.slab-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}
.slab-actions .slab-btn{margin-top:0}
.slab-icon-btn{
  border:1px solid var(--slab-line);background:#0d1729;border-radius:var(--slab-radius-sm);
  width:50px;display:grid;place-items:center;cursor:pointer;padding:0;
  transition:border-color .18s,background .18s;
}
.slab-icon-btn:hover{border-color:var(--slab-accent);background:var(--slab-accent-dim)}
.slab-icon-btn:focus-visible{outline:2px solid var(--slab-accent-2);outline-offset:2px}
.slab-icon-btn svg{width:18px;height:18px;stroke:var(--slab-muted);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.slab-icon-btn:hover svg{stroke:var(--slab-accent-2)}

/* ==========================================================
   صفحات المحتوى العادية
   ========================================================== */
.slab-entry{
  background:linear-gradient(180deg,rgba(22,35,60,.92),rgba(17,28,49,.92));
  border:1px solid var(--slab-line);border-radius:var(--slab-radius);
  padding:26px 24px;line-height:1.95;font-size:15px;
}
.slab-entry h1,.slab-entry h2,.slab-entry h3{line-height:1.5;margin:1.4em 0 .5em}
.slab-entry h1:first-child,.slab-entry h2:first-child{margin-top:0}
.slab-entry ul,.slab-entry ol{padding-inline-start:1.4em}
.slab-entry blockquote{
  border-inline-start:3px solid var(--slab-accent);
  margin:1.2em 0;padding:.4em 1em;color:var(--slab-muted);
}
.slab-entry code{font-family:var(--slab-mono);font-size:13px;background:#0d1729;padding:2px 6px;border-radius:6px}
.slab-nav{display:flex;justify-content:center;margin-top:18px}

/* ==========================================================
   التذييل والتنبيه
   ========================================================== */
.slab-foot{
  position:relative;z-index:1;text-align:center;
  padding:22px 20px 30px;color:#516480;font-size:11.5px;line-height:2;
}
.slab-foot code{font-family:var(--slab-mono);color:#6b7f9f}
.slab-foot a{color:#6b7f9f;text-decoration:none}
.slab-foot a:hover{color:var(--slab-accent-2)}

.slab-toast{
  position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);
  background:var(--slab-surface-2);border:1px solid var(--slab-line);
  padding:12px 18px;border-radius:12px;font-size:13px;color:var(--slab-text);
  box-shadow:0 16px 40px -16px rgba(0,0,0,.9);
  opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:9999;
}
.slab-toast.slab-show{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* شريط أدوات ووردبريس */
.admin-bar .slab-skip:focus{top:40px}
