/* المكتبة المركزية 5.0 — طبقة التصميم الخاصة بالمكتبة فوق نظام التصميم المشترك (app.css).
   كل الألوان متغيرات، فتعمل مع الثيمات الثمانية والوضع الداكن. */

/* ========== إطار الفهرس العام ========== */
.opac{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}
.o-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1rem;padding:.65rem clamp(1rem,3vw,2.2rem);
  background:color-mix(in srgb,var(--a-900) 92%,transparent);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.o-top .brand{border:0;padding:0;background:none;display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;min-width:0}
.o-top .brand img{height:42px;width:auto}
.o-top .brand b{display:block;font-size:1.05rem;line-height:1.2}.o-top .brand small{display:block;opacity:.75;font-size:.78rem}
.o-nav{display:flex;gap:.2rem;margin-inline-start:auto;align-items:center;flex-wrap:wrap}
.o-nav a,.o-nav button{color:#fff;text-decoration:none;padding:.45rem .75rem;border-radius:999px;font-size:.92rem;background:none;border:0;cursor:pointer;font:inherit}
.o-nav a:hover,.o-nav a.on{background:rgba(255,255,255,.12)}
.o-nav .btn{background:var(--gold);color:#1B2233;padding:.45rem 1rem}
.o-nav .ic{width:18px;height:18px}
.o-menu{display:none}
@media (max-width:860px){.o-nav .hide-m{display:none}.o-top .brand small{display:none}}

/* ========== البطل (Hero) ========== */
.o-hero{position:relative;overflow:hidden;color:#fff;padding:clamp(2.4rem,7vw,5.5rem) clamp(1rem,4vw,3rem) clamp(4.5rem,9vw,7rem);
  background:radial-gradient(1200px 500px at 85% -10%,color-mix(in srgb,var(--gold) 35%,transparent),transparent 60%),
             linear-gradient(160deg,var(--a-900) 0%,var(--a-800) 55%,var(--a-700) 100%)}
.o-hero::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'><g fill='none' stroke='%23ffffff' stroke-opacity='.07'><path d='M48 4l44 44-44 44L4 48z'/><path d='M48 22l26 26-26 26-26-26z'/><circle cx='48' cy='48' r='3'/></g></svg>")}
.o-hero::after{content:"";position:absolute;inset:auto 0 -1px 0;height:70px;background:var(--bg);clip-path:ellipse(75% 100% at 50% 100%)}
.o-hero-in{position:relative;z-index:1;max-width:980px;margin:0 auto;text-align:center}
.o-hero .eyebrow{display:inline-flex;gap:.5rem;align-items:center;padding:.3rem .9rem;border-radius:999px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);font-size:.85rem;color:var(--gold-soft)}
.o-hero h1{font-size:clamp(1.9rem,5vw,3.3rem);margin:.8rem 0 .4rem;line-height:1.2;letter-spacing:-.01em}
.o-hero h1 em{font-style:normal;color:var(--gold)}
.o-hero p.lead{font-size:clamp(1rem,2vw,1.18rem);opacity:.88;margin:0 auto 1.6rem;max-width:720px}
.o-logos{display:flex;justify-content:center;gap:1rem;margin-bottom:.4rem}.o-logos img{height:74px;width:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}

/* ========== مربع البحث ========== */
.o-search{position:relative;display:flex;align-items:stretch;gap:0;background:var(--surface);border-radius:18px;padding:.4rem;
  box-shadow:0 22px 60px rgba(5,14,32,.35),0 0 0 1px rgba(255,255,255,.08);max-width:860px;margin:0 auto}
.o-search select{border:0;background:var(--surface-2);color:var(--ink);border-radius:13px;padding:0 .8rem;font:inherit;font-size:.92rem;width:auto;max-width:150px;flex:none}
.o-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1.12rem;padding:.95rem 1rem;outline:none}
.o-search button{border:0;border-radius:13px;padding:0 1.5rem;font:inherit;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,var(--gold),color-mix(in srgb,var(--gold) 70%,#8a5a12));color:#1B2233;display:flex;gap:.45rem;align-items:center}
.o-search button .ic{width:20px;height:20px}
.o-search.slim{box-shadow:var(--shadow-2);border:1px solid var(--line);max-width:none}
.o-sugg{position:absolute;inset-inline:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow-3);list-style:none;margin:0;padding:.35rem;text-align:start;z-index:30;max-height:60vh;overflow:auto}
.o-sugg li a{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border-radius:10px;color:var(--ink);text-decoration:none}
.o-sugg li a:hover,.o-sugg li.on a{background:var(--a-50)}
.o-sugg small{color:var(--muted);white-space:nowrap}
.o-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.1rem}
.o-chips a{color:#fff;text-decoration:none;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:.88rem;background:rgba(255,255,255,.06)}
.o-chips a:hover{background:rgba(255,255,255,.16)}

/* ========== الأرقام ========== */
.o-stats{position:relative;z-index:2;max-width:1100px;margin:-3.2rem auto 0;padding:0 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem}
.o-stat{background:var(--surface);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:var(--shadow-2);border:1px solid var(--line-2);text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;gap:.2rem;transition:transform .2s var(--ease)}
.o-stat:hover{transform:translateY(-3px)}
.o-stat b{font-size:1.9rem;color:var(--a-800);font-variant-numeric:lining-nums}
:root[data-theme=dark] .o-stat b{color:var(--gold)}
.o-stat span{color:var(--muted);font-size:.9rem}
.o-stat .ic{width:22px;height:22px;color:var(--gold)}

/* ========== الأقسام ========== */
.o-wrap{max-width:1180px;margin:0 auto;padding:2rem clamp(1rem,3vw,2rem) 3rem;width:100%;box-sizing:border-box}
.o-sec{margin:2.4rem 0 1rem;display:flex;align-items:end;justify-content:space-between;gap:1rem}
.o-sec h2{margin:0;font-size:1.35rem;position:relative;padding-inline-start:.9rem}
.o-sec h2::before{content:"";position:absolute;inset-inline-start:0;top:.2em;bottom:.2em;width:4px;border-radius:4px;background:var(--gold)}
.o-sec a{color:var(--a-600);text-decoration:none;font-weight:600;font-size:.92rem}
:root[data-theme=dark] .o-sec a{color:var(--gold)}

/* ========== بطاقات المواد (غلاف مولَّد) ========== */
.shelf-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:1.1rem}
.bk{display:flex;flex-direction:column;gap:.5rem;text-decoration:none;color:var(--ink)}
.bk:hover .cover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 18px 38px rgba(8,20,44,.28)}
.cover{--h:215;position:relative;aspect-ratio:2/3;border-radius:6px 12px 12px 6px;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s;
  box-shadow:0 8px 22px rgba(8,20,44,.18);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:.8rem .75rem .7rem 1rem;
  background:linear-gradient(155deg,hsl(var(--h) 45% 32%),hsl(calc(var(--h) + 25) 50% 20%))}
.cover::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:9px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.08),rgba(0,0,0,.15))}
.cover::after{content:"";position:absolute;inset:auto .8rem .55rem 1rem;height:2px;background:var(--gold);opacity:.8}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover .ct{font-weight:700;font-size:.9rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.cover .ca{font-size:.72rem;opacity:.85;margin-bottom:.4rem}
.cover .ctype{align-self:flex-start;font-size:.66rem;padding:.12rem .5rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22)}
.cover.thesis{background:linear-gradient(155deg,#2a2016,#6b4a1f 60%,#8a6a2e)}
.cover.thesis::after{height:3px}
.bk .bt{font-weight:600;font-size:.92rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bk .ba{font-size:.8rem;color:var(--muted)}

/* ========== النتائج ========== */
.o-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.6rem;align-items:start}
@media (max-width:900px){.o-layout{grid-template-columns:1fr}.facets{order:2}}
.facets{position:sticky;top:84px;display:flex;flex-direction:column;gap:1rem}
.facet{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:.9rem 1rem}
.facet h3{margin:0 0 .5rem;font-size:.95rem;color:var(--ink-2)}
.facet a{display:flex;justify-content:space-between;padding:.32rem .5rem;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.9rem}
.facet a:hover{background:var(--a-50)} .facet a.on{background:var(--a-800);color:#fff}
.facet a i{font-style:normal;color:var(--muted);font-size:.82rem}.facet a.on i{color:#fff}
.facet label{display:flex;gap:.5rem;align-items:center;font-size:.9rem;padding:.25rem 0}
.res-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.res-bar b{font-size:1.05rem}.res-bar select{padding:.45rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
.res{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:1.1rem;padding:1.1rem;background:var(--surface);border:1px solid var(--line-2);
  border-radius:16px;margin-bottom:.8rem;transition:box-shadow .2s,border-color .2s}
.res:hover{box-shadow:var(--shadow-2);border-color:var(--line)}
.res .cover{padding:.45rem .4rem .4rem .7rem}.res .cover .ct{font-size:.66rem;-webkit-line-clamp:4}.res .cover .ca,.res .cover .ctype{display:none}
.res h3{margin:0 0 .25rem;font-size:1.08rem;line-height:1.45}.res h3 a{color:var(--ink);text-decoration:none}.res h3 a:hover{color:var(--a-600)}
.res .meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;color:var(--ink-2);font-size:.88rem}
.res .meta span{display:inline-flex;gap:.3rem;align-items:center}
.res .side-av{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;justify-content:center;min-width:120px}
@media (max-width:640px){.res{grid-template-columns:70px 1fr}.res .side-av{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-start}}
mark{background:color-mix(in srgb,var(--gold) 35%,transparent);color:inherit;border-radius:3px;padding:0 .1em}
.av{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;font-weight:600;padding:.28rem .7rem;border-radius:999px}
.av::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.av.ok{background:var(--ok-bg);color:var(--ok)}.av.warn{background:var(--warn-bg);color:var(--warn)}.av.bad{background:var(--bad-bg);color:var(--bad)}
.av.info{background:var(--info-bg);color:var(--info)}

/* ========== صفحة المادة ========== */
.item{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem;align-items:start}
@media (max-width:820px){.item{grid-template-columns:1fr}.item .cover-col{max-width:220px;margin:auto}}
.item .cover{font-size:1.1rem}.item .cover .ct{font-size:1.05rem;-webkit-line-clamp:8}
.item h1{font-size:clamp(1.4rem,3vw,2rem);margin:.2rem 0 .4rem;line-height:1.35}
.item .by{color:var(--ink-2);font-size:1.02rem;margin-bottom:1rem}
.item-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.1rem 1.4rem;margin:0}
.dl-grid div{display:flex;gap:.6rem;padding:.55rem 0;border-bottom:1px dashed var(--line)}
.dl-grid dt{color:var(--muted);min-width:110px;font-size:.9rem}.dl-grid dd{margin:0;font-weight:500}
.cite{position:relative;background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;padding:.8rem 1rem;margin:.5rem 0;font-size:.92rem;white-space:pre-wrap;direction:auto}
.cite button{position:absolute;inset-inline-end:.5rem;top:.5rem}
.consent{border:1px solid var(--gold);background:var(--gold-soft);color:#3b2d0e;border-radius:14px;padding:1rem 1.1rem}
:root[data-theme=dark] .consent{background:rgba(201,162,77,.12);color:var(--ink)}

/* ========== بطاقة العضوية ========== */
.mcard{position:relative;max-width:480px;aspect-ratio:1.586;border-radius:22px;overflow:hidden;color:#fff;padding:1.3rem 1.4rem;box-sizing:border-box;
  background:radial-gradient(420px 200px at 100% 0%,color-mix(in srgb,var(--gold) 45%,transparent),transparent 70%),linear-gradient(140deg,var(--a-900),var(--a-700));
  box-shadow:0 26px 60px rgba(8,20,44,.35);display:flex;flex-direction:column;justify-content:space-between;margin:0 auto}
.mcard::before{content:"";position:absolute;inset:0;opacity:.4;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60'><path d='M30 2L58 30 30 58 2 30z' fill='none' stroke='%23ffffff' stroke-opacity='.08'/></svg>")}
.mcard>*{position:relative}
.mcard .mh{display:flex;align-items:center;gap:.7rem}.mcard .mh img{height:44px}
.mcard .mh b{display:block}.mcard .mh small{opacity:.75;font-size:.78rem}
.mcard .mn{font-size:1.35rem;font-weight:700;letter-spacing:.02em}
.mcard .mrow{display:flex;justify-content:space-between;align-items:end;gap:1rem}
.mcard .mcodes{display:flex;gap:.6rem;align-items:end}
.mcard .mcodes .qr{width:84px;height:84px;border-radius:8px;background:#fff;padding:3px}
.mcard .bc128{height:48px;width:auto;border-radius:6px;background:#fff;padding:3px 4px}
.mcard .state{font-size:.78rem;padding:.2rem .6rem;border-radius:999px;background:rgba(255,255,255,.14)}
.mcard.off{filter:grayscale(.7)}

/* ========== مكتب الإعارة ========== */
.desk{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.2rem}
@media (max-width:980px){.desk{grid-template-columns:1fr}}
.scanbox{display:flex;gap:.5rem;align-items:stretch}
.scanbox input{flex:1;font-size:1.25rem;padding:.8rem 1rem;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--ink);
  font-family:ui-monospace,Consolas,monospace;letter-spacing:.03em}
.scanbox input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 25%,transparent)}
.scanbox .btn{white-space:nowrap}
.result{border-radius:14px;padding:1rem 1.1rem;font-weight:600;margin-bottom:1rem;display:flex;gap:.7rem;align-items:center;animation:pop .25s var(--ease)}
.result.ok{background:var(--ok-bg);color:var(--ok)}.result.bad{background:var(--bad-bg);color:var(--bad)}.result.warn{background:var(--warn-bg);color:var(--warn)}
@keyframes pop{from{transform:scale(.97);opacity:.4}to{transform:none;opacity:1}}
.who-card{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:14px;background:var(--a-50);border:1px solid var(--line-2)}
:root[data-theme=dark] .who-card{background:var(--surface-2)}
.who-card .avatar{width:54px;height:54px;font-size:1.4rem}
.cam-wrap{position:relative;border-radius:14px;overflow:hidden;background:#000;margin-top:.6rem}
.cam-wrap video{width:100%;display:block;max-height:280px;object-fit:cover}
.cam-wrap .laser{position:absolute;inset-inline:10%;top:50%;height:2px;background:#ff3b3b;box-shadow:0 0 12px #ff3b3b}
.big-num{font-size:2.4rem;font-weight:700;color:var(--a-800)}:root[data-theme=dark] .big-num{color:var(--gold)}
.progress{height:12px;border-radius:999px;background:var(--line-2);overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--a-600),var(--gold))}

/* ========== ملصقات الكعب (للطباعة) ========== */
.labels-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;padding:6mm;background:#fff;color:#000}
.slbl{border:1px dashed #999;border-radius:2mm;padding:2.5mm 3mm;display:flex;flex-direction:column;align-items:center;gap:1mm;page-break-inside:avoid;min-height:34mm;text-align:center}
.slbl .lc{font-family:ui-monospace,Consolas,monospace;font-weight:700;font-size:13pt;line-height:1.1}
.slbl .lr{font-size:10pt;font-weight:700}
.slbl .lt{font-size:7.5pt;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.slbl .bc128{height:15mm;width:auto;max-width:100%}
.slbl img.ll{height:8mm}
@media print{.no-print{display:none!important}body{background:#fff}.labels-sheet{padding:0}@page{margin:8mm}}

/* ========== عام ========== */
.o-foot{margin-top:auto;background:var(--a-900);color:rgba(255,255,255,.8);padding:2rem clamp(1rem,3vw,2.2rem) 1.2rem}
.o-foot .cols{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.o-foot h4{color:var(--gold);margin:0 0 .5rem}.o-foot a{color:#fff}.o-foot p{margin:.2rem 0;font-size:.9rem}
.o-foot .copy{max-width:1180px;margin:1.5rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.85rem}
.col-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}
.col-tile{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-radius:14px;background:var(--surface);border:1px solid var(--line-2);
  text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.col-tile:hover{border-color:var(--gold);transform:translateY(-2px)}.col-tile b{color:var(--a-800);font-size:1.2rem}:root[data-theme=dark] .col-tile b{color:var(--gold)}
.type-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.type-tile{padding:1.1rem;border-radius:16px;text-decoration:none;color:#fff;background:linear-gradient(140deg,var(--a-800),var(--a-600));display:flex;flex-direction:column;gap:.3rem}
.type-tile:nth-child(2n){background:linear-gradient(140deg,#5b4216,#9a7432)}
.type-tile .ic{width:26px;height:26px;opacity:.9}.type-tile b{font-size:1.5rem}
.info-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:2.4rem}
.info-band>div{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:1.1rem 1.2rem;display:flex;gap:.8rem}
.info-band .ic{width:28px;height:28px;color:var(--gold);flex:none}
.info-band b{display:block;margin-bottom:.2rem}.info-band p{margin:0;color:var(--ink-2);font-size:.92rem}
.pager-o{display:flex;justify-content:center;gap:.35rem;margin:1.5rem 0;flex-wrap:wrap}
.pager-o a,.pager-o span{min-width:38px;text-align:center;padding:.45rem .6rem;border-radius:10px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:var(--surface)}
.pager-o a.on{background:var(--a-800);color:#fff;border-color:var(--a-800)}
.imp-row.dup td{background:var(--warn-bg)}.imp-row.bad td{background:var(--bad-bg)}
.imp-tbl td{min-width:110px;font-size:.85rem;vertical-align:top}.imp-tbl td.t{min-width:260px}
.form-inline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end}
.form-inline .field{margin:0}
form.inline{display:inline}
.stack>*+*{margin-top:.8rem}
.tl{list-style:none;padding:0;margin:0}.tl li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line-2)}
.tl li:last-child{border:0}
.seg{display:flex;gap:.4rem;flex-wrap:wrap}.seg-opt{flex:1;min-width:110px}
.seg-opt input{position:absolute;opacity:0}
.seg-opt span{display:block;text-align:center;padding:.6rem;border-radius:10px;border:1.5px solid var(--line);cursor:pointer}
.seg-opt input:checked+span{border-color:var(--a-600);background:var(--a-50);color:var(--a-800);font-weight:700}
.seg-opt input:focus-visible+span{outline:2px solid var(--gold)}
@media print{.o-top,.o-foot,.o-hero .o-search,.item-actions{display:none}}
[hidden]{display:none!important}
.mcard .mrow>div:first-child [dir=ltr]{white-space:nowrap}
.mcard .mcodes .bc128{max-width:100%}
@media (max-width:520px){.mcard{aspect-ratio:auto;gap:1rem}.mcard .mrow{flex-direction:column;align-items:stretch}
  .mcard .mcodes{justify-content:space-between;align-items:center}.mcard .mcodes .bc128{height:44px;flex:1;min-width:0}}
/* البيانات (عناوين، مؤلفون) تُعرض باتجاهها الطبيعي داخل أي واجهة: الإنكليزي من اليسار والعربي من اليمين */
.bt,.ba,.res h3,.item h1,.item .by,.cover .ct,.cover .ca,.tl li>a,.tbl td>a,.cite span,.o-sugg li a span{unicode-bidi:plaintext}
.scanbox input::placeholder{font-family:inherit;letter-spacing:0;font-size:.95rem}
bdi{unicode-bidi:isolate}
/* ===== نافذة كلمة المرور الجديدة ===== */
.pw-overlay{z-index:1000}
.pw-modal{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
.pw-head{display:flex;align-items:center;gap:.6rem}.pw-head h3{margin:0}
.pw-ok{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok);font-weight:700}
.pw-lbl{display:block;margin:.9rem 0 .3rem;font-size:.85rem;color:var(--muted)}
.pw-row{display:flex;align-items:center;gap:.4rem;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:.45rem .5rem .45rem .8rem}
.pw-row code{flex:1;font-size:1.15rem;letter-spacing:.06em;background:none;border:0;overflow-wrap:anywhere}
.pw-note{margin:.9rem 0 .2rem;font-weight:600}.pw-note.ok{color:var(--ok)}.pw-note.warn{color:var(--warn)}
.pw-warn{display:flex;gap:.4rem;align-items:center;font-size:.85rem;color:var(--muted);margin:.2rem 0 1rem}
.pw-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:1rem}
.pw-slip{display:none}

.pw-multi{width:min(620px,calc(100vw - 32px))}
.pw-tools{display:flex;justify-content:flex-end;margin:.6rem 0}
.pw-list{display:flex;flex-direction:column;gap:.8rem;max-height:52vh;overflow:auto;padding-inline-end:.2rem}
.pw-item{border:1px solid var(--line-2);border-radius:14px;padding:.7rem;display:flex;flex-direction:column;gap:.4rem}
.pw-who{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.pw-tag{font-size:.75rem;padding:.15rem .55rem;border-radius:999px}.pw-tag.ok{background:var(--ok-bg);color:var(--ok)}.pw-tag.warn{background:var(--warn-bg);color:var(--warn)}
.pw-item .pw-row code{font-size:1rem}
/* قائمة ⋮ في جدول المستخدمين */
.rowmenu{position:relative;display:inline-block}
.rowmenu>summary{list-style:none;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;font-size:1.2rem}
.rowmenu>summary::-webkit-details-marker{display:none}
.rm-pop{position:absolute;inset-inline-end:0;top:calc(100% + 4px);z-index:80;width:270px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow-3);padding:.4rem;display:flex;flex-direction:column;gap:.2rem;text-align:start}
.rm-item{width:100%;text-align:start;background:none;border:0;padding:.55rem .7rem;border-radius:10px;font:inherit;color:var(--ink);cursor:pointer}
.rm-item:hover{background:var(--a-50)}.rm-item.danger{color:var(--bad)}
.rm-setpw{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:.5rem .4rem;display:flex;flex-direction:column;gap:.35rem}
.rm-setpw label{font-size:.82rem;color:var(--muted)}.rm-setpw input[type=password],.rm-pop input[name=reason]{padding:.45rem .6rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}
.rm-pop form[data-confirm]{display:flex;flex-direction:column;gap:.3rem;padding:.4rem}
.bulk-reason{padding:.45rem .6rem;border:1px solid var(--line);border-radius:9px;min-width:200px;background:var(--surface);color:var(--ink);font:inherit}
.table-wrap:has(.rowmenu[open]){overflow:visible}
.rowmenu[open]{z-index:80}.bulk-bar{z-index:5}

/* ===== ورقة تسليم بيانات الدخول (للطباعة) ===== */
@media print{
  @page{size:A4;margin:12mm}
  body.print-slip{background:#fff!important}
  body.print-slip>*:not(.pw-overlay){display:none!important}
  body.print-slip .pw-overlay{position:static;display:block;background:none;backdrop-filter:none}
  body.print-slip .pw-modal{display:none}
  body.print-slip .pw-slip{display:block;color:#1b2233;font-family:"IBM Plex Sans Arabic",Tahoma,Arial,sans-serif}
  .slip-page{page-break-after:always;padding-top:4mm}.slip-page:last-child{page-break-after:auto}
  .slip-card{border:1px solid #d9dde6;border-radius:18px;padding:10mm 11mm 7mm;max-width:180mm;margin:0 auto}
  .slip-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #0f2a5c;padding-bottom:5mm}
  .slip-brand{display:flex;align-items:center;gap:4mm}.slip-brand img{height:20mm;width:auto}
  .slip-brand b{display:block;font-size:17pt;color:#0f2a5c}.slip-brand span{display:block;font-size:11pt;color:#555}
  .slip-meta{text-align:end;font-size:9pt;color:#555}.slip-meta b{display:block;color:#8a93a3;margin-bottom:2mm}
  .slip-card h2{font-size:14pt;margin:6mm 0 4mm;color:#1b2233}
  .slip-body{display:flex;gap:6mm;align-items:stretch}
  .slip-body table{flex:1;border-collapse:collapse;font-size:11pt}
  .slip-body th,.slip-body td{border:1px solid #c9ceda;padding:3.2mm 4mm;text-align:start}
  .slip-body th{width:30%;color:#0f2a5c;font-weight:700;background:#fff}
  .slip-pw{font-family:ui-monospace,Consolas,monospace;font-size:15pt;font-weight:700;letter-spacing:.25em}
  .slip-qr{width:40mm;border:1px solid #d9dde6;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;padding:3mm}
  .slip-qr svg{width:30mm;height:30mm}.slip-qr small{font-size:8.5pt;color:#555}
  .slip-steps{margin:6mm 0 5mm;padding-inline-start:6mm;font-size:10.5pt;line-height:1.9}
  .slip-steps li::marker{font-weight:700;color:#9a7432}
  .slip-foot{display:flex;justify-content:space-between;gap:6mm;border-top:1px dashed #c9ceda;padding-top:3mm;font-size:8pt;color:#666}
  .slip-foot span:first-child{white-space:nowrap}.slip-foot span:last-child{text-align:end}
}
.pager-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:.6rem 0 1rem}
.pager-foot .count{margin:0}
.per-pick{display:flex;align-items:center;gap:.3rem;font-size:.9rem}.per-pick span{color:var(--muted);margin-inline-end:.2rem}
.per-pick a{min-width:38px;text-align:center;padding:.3rem .55rem;border-radius:9px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:var(--surface)}
.per-pick a.on{background:var(--a-800);color:#fff;border-color:var(--a-800)}
.bulk-count{align-self:center;font-weight:600;margin-inline-end:auto}
