/* IBM Plex Sans Arabic — مستضاف محليًا (SIL Open Font License 1.1) */
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/plex-arabic-arabic-300.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/plex-arabic-latin-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-arabic-arabic-400.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-arabic-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plex-arabic-arabic-500.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plex-arabic-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-arabic-arabic-600.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-arabic-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/plex-arabic-arabic-700.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/plex-arabic-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== الهوية المشتركة ===== */
:root{
  --ink:#0d385b;--ink-2:#26506f;--muted:#688091;--line:rgba(13,56,91,.11);--line-2:rgba(13,56,91,.07);
  --primary:#018673;--primary-dark:#006d60;--accent:#30a2bb;--coral:#f15f23;--gold:#f2b931;
  --brand-blue:#2c7fb6;--brand-green:#42af70;
  --glass:rgba(255,255,255,.48);--glass-strong:rgba(255,255,255,.72);--glass-border:rgba(255,255,255,.78);
  --field:rgba(255,255,255,.58);--field-border:rgba(13,56,91,.12);
  --shadow:0 24px 68px rgba(13,56,91,.13);--shadow-sm:0 10px 30px rgba(13,56,91,.08);
  --radius:28px;--radius-md:18px;--radius-sm:13px;
  --ok:#018673;--warn:#c98a00;--danger:#d64018;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--ink);font-family:"IBM Plex Sans Arabic",Tahoma,sans-serif;line-height:1.7;overflow-x:hidden;background:#fefaee}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(circle at 8% 42%,rgba(241,95,35,.22),transparent 34%),
  radial-gradient(circle at 50% 5%,rgba(242,185,49,.2),transparent 32%),
  radial-gradient(circle at 92% 35%,rgba(48,162,187,.22),transparent 36%),
  linear-gradient(135deg,#fff9ee,#fef4df 42%,#edf9f6)}
body::after{content:"";position:fixed;z-index:-1;width:540px;height:540px;left:-250px;bottom:-280px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(1,134,115,.14),transparent 68%)}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-dark)}
img{max-width:100%}
[hidden]{display:none!important}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}.small{font-size:.8rem}.ltr{direction:ltr;unicode-bidi:isolate}.nowrap{white-space:nowrap}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;direction:ltr;unicode-bidi:isolate}

/* ===== الزجاج ===== */
.glass{background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--shadow);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}

/* ===== الأزرار ===== */
.btn{min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:600;font-size:.88rem;line-height:1.3;transition:transform .2s,box-shadow .2s,background .2s,color .2s;white-space:nowrap;text-decoration:none;background:transparent}
.btn .ic{width:18px;height:18px}
.btn--primary{color:#fff;background:linear-gradient(110deg,var(--primary),var(--accent));box-shadow:0 12px 26px rgba(48,162,187,.23)}
.btn--primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px rgba(48,162,187,.3)}
.btn--soft{color:var(--primary-dark);background:rgba(255,255,255,.62);border-color:var(--glass-border)}
.btn--soft:hover{color:var(--primary-dark);background:#fff}
.btn--ghost{color:var(--muted)}
.btn--ghost:hover{background:rgba(48,162,187,.09);color:var(--primary)}
.btn--danger{color:#fff;background:linear-gradient(110deg,#e0491d,var(--coral));box-shadow:0 10px 22px rgba(241,95,35,.22)}
.btn--danger:hover{color:#fff;transform:translateY(-2px)}
.btn--danger-soft{color:var(--danger);background:rgba(241,95,35,.08);border-color:rgba(241,95,35,.16)}
.btn--danger-soft:hover{background:rgba(241,95,35,.14);color:var(--danger)}
.btn--sm{min-height:34px;padding:5px 12px;font-size:.78rem;border-radius:11px}
.btn--icon{width:38px;min-height:38px;padding:0}
.btn--block{width:100%}
.btn:disabled,.btn[aria-disabled=true]{opacity:.55;pointer-events:none}
.btn:focus-visible,.input:focus-visible{outline:3px solid rgba(48,162,187,.35);outline-offset:2px}

/* ===== الحقول ===== */
.field{display:grid;gap:6px;margin-bottom:16px}
.field>label,.label{font-size:.86rem;font-weight:600}
.field .hint,.hint{display:block;color:var(--muted);font-size:.74rem;font-weight:400}
.input,.select,.textarea{width:100%;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);transition:.2s}
.input,.select{height:46px;padding:8px 14px}
.textarea{min-height:110px;padding:12px 14px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(48,162,187,.12);background:#fff}
.input--sm,.select--sm{height:38px;padding:5px 11px;font-size:.84rem}
.input[dir=ltr]{text-align:left}
.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:.86rem;user-select:none}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch__track{width:42px;height:24px;border-radius:999px;background:rgba(13,56,91,.16);position:relative;transition:.2s;flex:0 0 auto}
.switch__track::after{content:"";position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(13,56,91,.2);transition:.2s}
.switch input:checked+.switch__track{background:linear-gradient(110deg,var(--primary),var(--accent))}
.switch input:checked+.switch__track::after{right:21px}
.switch input:focus-visible+.switch__track{outline:3px solid rgba(48,162,187,.35);outline-offset:2px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}

/* ===== الشارات ===== */
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;border:1px solid transparent}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill--active{color:var(--primary-dark);background:rgba(1,134,115,.1);border-color:rgba(1,134,115,.16)}
.pill--draft{color:#5b6b78;background:rgba(13,56,91,.07)}
.pill--closed{color:var(--danger);background:rgba(241,95,35,.09);border-color:rgba(241,95,35,.15)}
.pill--scheduled{color:#2c6f9e;background:rgba(48,162,187,.12)}
.pill--expired,.pill--full{color:#946500;background:rgba(242,185,49,.18)}
.pill--plain::before{display:none}
.pill .ic{width:13px;height:13px}

/* ===== التنبيهات ===== */
.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius-md);font-size:.86rem;border:1px solid transparent;margin-bottom:14px}
.alert .ic{margin-top:2px}
.alert--success{background:rgba(1,134,115,.1);color:var(--primary-dark);border-color:rgba(1,134,115,.18)}
.alert--error{background:rgba(241,95,35,.09);color:#b5380f;border-color:rgba(241,95,35,.2)}
.alert--info{background:rgba(48,162,187,.1);color:#1e6a85;border-color:rgba(48,162,187,.2)}
.alert--warn{background:rgba(242,185,49,.16);color:#7a5400;border-color:rgba(242,185,49,.3)}

@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
