/* ARK · غرفة البيانات — التنسيق. لغةٌ بصريّةٌ واحدةٌ للبوابة والغرفة. */
@font-face{font-family:Tajawal;font-weight:300;font-display:swap;src:url(fonts/Tajawal-Light.ttf) format('truetype')}
@font-face{font-family:Tajawal;font-weight:400;font-display:swap;src:url(fonts/Tajawal-Regular.ttf) format('truetype')}
@font-face{font-family:Tajawal;font-weight:500;font-display:swap;src:url(fonts/Tajawal-Medium.ttf) format('truetype')}
@font-face{font-family:Mont;font-weight:400;font-display:swap;src:url(fonts/Montserrat-Regular.ttf) format('truetype')}
@font-face{font-family:Mont;font-weight:500;font-display:swap;src:url(fonts/Montserrat-Medium.ttf) format('truetype')}
@font-face{font-family:Mont;font-weight:600;font-display:swap;src:url(fonts/Montserrat-SemiBold.ttf) format('truetype')}
@font-face{font-family:Kufi;font-weight:600;font-display:swap;src:url(fonts/NotoKufiArabic-SemiBold.ttf) format('truetype')}
@font-face{font-family:Kufi;font-weight:700;font-display:swap;src:url(fonts/NotoKufiArabic-Bold.ttf) format('truetype')}

*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#22282A;--ink2:#3A4143;--gr:#6D7475;--gr2:#919494;--am:#FAAD17;
 --ln:#E3E6E6;--bg:#F2F3F3;--card:#fff;--side:#22282A;--bad:#9B3B3B;--ok:#4E7A5C}
html,body{height:100%}
body{font-family:Tajawal,Tahoma,sans-serif;background:var(--bg);color:var(--ink);direction:rtl;
 -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.hide{display:none!important}

/* ── البوابة ────────────────────────────────────────────────────────────── */
.portal{min-height:100vh;background:var(--side);display:flex;align-items:center;justify-content:center;
 padding:34px 18px}
.pbox{width:100%;max-width:540px}
.pmark{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.pmark img{height:34px}
.pmark b{display:block;font:700 21px/1.25 Kufi,Tajawal,sans-serif;color:#fff}
.pmark span{display:block;font:500 9.5px/1 Mont,Tajawal,sans-serif;color:var(--gr2);
 letter-spacing:.18em;margin-top:6px}
.card{background:#fff;border-radius:14px;padding:30px 28px}
.card h1{font:700 22px/1.35 Kufi,Tajawal,sans-serif}
.card .sub{font:500 10px/1 Mont,Tajawal,sans-serif;color:var(--gr);letter-spacing:.17em;margin-top:9px}
.card p.lead{font:400 14px/1.95 Tajawal,sans-serif;color:var(--ink2);margin:18px 0 20px}
label{display:block;font:500 12.5px/1 Tajawal,sans-serif;color:var(--gr);margin-bottom:8px}
input[type=email],input[type=text]{width:100%;font:400 15px/1 Tajawal,sans-serif;padding:15px 14px;
 border:1px solid var(--ln);border-radius:10px;background:#FAFBFB;color:var(--ink)}
input:focus{outline:none;border-color:var(--am);box-shadow:0 0 0 3px rgba(250,173,23,.15)}
.btn{width:100%;margin-top:13px;font:600 15px/1 Tajawal,sans-serif;padding:15px;border:0;
 border-radius:10px;background:var(--ink);color:#fff;cursor:pointer}
.btn:hover{background:#2E3436}
.btn:disabled{background:#B9BEBE;cursor:default}
.btn.q{background:transparent;color:var(--gr);border:1px solid var(--ln);margin-top:9px;font-weight:500;
 font-size:13px;padding:12px}
.btn.q:hover{border-color:var(--am);color:var(--ink)}
.msg{margin-top:13px;font:500 13px/1.8 Tajawal,sans-serif;min-height:22px}
.msg.bad{color:var(--bad)} .msg.ok{color:var(--ok)}

/* خاناتُ الرمز الستّ */
.code{display:flex;gap:9px;direction:ltr;justify-content:center;margin:6px 0 4px}
.code input{width:52px;height:62px;text-align:center;font:600 24px/1 Mont,Tajawal,sans-serif;
 border:1px solid var(--ln);border-radius:10px;background:#FAFBFB;color:var(--ink);padding:0}
.code input:focus{outline:none;border-color:var(--am);box-shadow:0 0 0 3px rgba(250,173,23,.15)}
.count{text-align:center;font:500 12.5px/1 Mont,Tajawal,sans-serif;color:var(--gr);margin-top:14px}
.count b{color:var(--ink)}
.note{margin-top:22px;padding-top:19px;border-top:1px solid var(--ln)}
.note h4{font:600 12px/1 Kufi,Tajawal,sans-serif;margin-bottom:11px}
.note ul{list-style:none}
.note li{font:400 12.5px/1.85 Tajawal,sans-serif;color:var(--ink2);padding-inline-start:15px;position:relative}
.note li:before{content:'';position:absolute;inset-inline-start:0;top:11px;width:5px;height:5px;
 border-radius:50%;background:var(--am)}
.foot{margin-top:22px;font:500 10px/1.9 Mont,Tajawal,sans-serif;color:var(--gr2);letter-spacing:.07em}

/* ── الغرفة ─────────────────────────────────────────────────────────────── */
.app{display:flex;min-height:100vh}
aside{width:288px;flex:0 0 288px;background:var(--side);color:#fff;padding:20px 0 26px;
 position:sticky;top:0;height:100vh;overflow-y:auto}
aside .brand{display:flex;align-items:center;gap:12px;padding:0 20px 18px;
 border-bottom:1px solid rgba(255,255,255,.10)}
aside .brand img{height:26px}
aside .brand b{font:700 15px/1.25 Kufi,Tajawal,sans-serif;display:block}
aside .brand span{font:500 9px/1 Mont,Tajawal,sans-serif;color:var(--gr2);letter-spacing:.15em;
 display:block;margin-top:5px}
aside .who{margin:15px 20px 3px;padding:11px 13px;border-radius:8px;background:rgba(250,173,23,.13);
 border:1px solid rgba(250,173,23,.30)}
aside .who b{display:block;font:600 13px/1.4 Tajawal,sans-serif;color:#F7E3B4}
aside .who span{display:block;font:500 10px/1.6 Mont,Tajawal,sans-serif;color:#C9A94E;margin-top:4px}
aside h4{font:600 9.5px/1 Mont,Tajawal,sans-serif;color:var(--gr2);letter-spacing:.17em;padding:18px 20px 8px}
aside .nav a{display:flex;gap:8px;padding:8px 20px;font:400 13px/1.4 Tajawal,sans-serif;
 color:#D3D7D7;cursor:pointer;border-inline-start:2px solid transparent}
aside .nav a:hover{background:rgba(255,255,255,.05);color:#fff}
aside .nav a i{flex:1;font-style:normal}
aside .nav a em{font:500 10px/1 Mont,Tajawal,sans-serif;color:var(--gr2);font-style:normal}
aside .act{padding:0 20px;margin-top:16px}
aside .act button{width:100%;margin-top:8px;font:500 12.5px/1 Tajawal,sans-serif;padding:11px;
 border-radius:8px;border:1px solid rgba(255,255,255,.20);background:transparent;color:#D3D7D7;cursor:pointer}
aside .act button:hover{background:rgba(255,255,255,.08);color:#fff}
aside .foot{margin-top:20px;padding:15px 20px 0;border-top:1px solid rgba(255,255,255,.10);
 font:400 10px/1.9 Mont,Tajawal,sans-serif;color:var(--gr2);letter-spacing:.05em}
main{flex:1;min-width:0;padding:18px 24px 50px}
.top{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.top h1{font:700 24px/1.25 Kufi,Tajawal,sans-serif}
.top .sp{flex:1}
.chip{font:500 11.5px/1 Tajawal,sans-serif;padding:8px 13px;border-radius:20px;background:#fff;
 border:1px solid var(--ln);color:var(--ink2)}
.chip.k{background:#FBF3E2;border-color:#EEDCB4;color:#7A5D14}
.chip.t{font-family:Mont,Tajawal,sans-serif;font-weight:600}
.gov{background:#fff;border:1px solid var(--ln);border-inline-start:3px solid var(--am);
 border-radius:0 10px 10px 0;padding:14px 17px;margin-bottom:16px}
.gov b{font:600 13px/1.7 Tajawal,sans-serif;display:block}
.gov p{font:400 12.5px/1.85 Tajawal,sans-serif;color:var(--ink2);margin-top:4px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px}
.st{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px}
.st b{display:block;font:600 20px/1.2 Mont,Tajawal,sans-serif}
.st span{display:block;font:400 11.5px/1.5 Tajawal,sans-serif;color:var(--gr);margin-top:4px}
.bar{margin-bottom:14px}
.bar input{width:100%;font:400 14px/1 Tajawal,sans-serif;padding:12px 15px;border:1px solid var(--ln);
 border-radius:9px;background:#fff}
.fold{background:#fff;border:1px solid var(--ln);border-radius:11px;margin-bottom:12px;overflow:hidden}
.fh{display:flex;align-items:center;gap:12px;padding:12px 17px;background:var(--ink2);color:#fff}
.fh h3{font:600 13.5px/1 Kufi,Tajawal,sans-serif;flex:1}
.fh .c{font:500 11px/1 Mont,Tajawal,sans-serif;opacity:.75}
table{width:100%;border-collapse:collapse}
tr[data-k]{cursor:pointer}
td{font:400 13px/1.55 Tajawal,sans-serif;padding:10px 17px;border-top:1px solid #EFF1F1}
tr[data-k]:hover td{background:#FAFBFB}
td.code2{font:500 12px/1 Mont,Tajawal,sans-serif;color:var(--ink2);width:112px;white-space:nowrap}
td.kind{width:60px}
td.kind span{font:500 9px/1 Mont,Tajawal,sans-serif;letter-spacing:.09em;padding:4px 7px;
 border-radius:4px;background:#EFF1F1;color:var(--gr)}
td.pg{font:400 12px/1 Mont,Tajawal,sans-serif;color:var(--gr);width:62px;text-align:end}

/* ── العارض ─────────────────────────────────────────────────────────────── */
.vw{position:fixed;inset:0;background:#2A2F30;display:none;flex-direction:column;z-index:70}
.vw.on{display:flex}
.vwh{display:flex;align-items:center;gap:13px;padding:11px 18px;background:var(--side);color:#fff}
.vwh .t{flex:1;min-width:0}
.vwh .t b{display:block;font:600 14px/1.35 Tajawal,sans-serif;white-space:nowrap;overflow:hidden;
 text-overflow:ellipsis}
.vwh .t span{display:block;font:500 10px/1 Mont,Tajawal,sans-serif;color:var(--gr2);
 letter-spacing:.1em;margin-top:5px}
.vwh button{font:500 12px/1 Tajawal,sans-serif;padding:8px 14px;border-radius:7px;
 border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;cursor:pointer}
.vwb{flex:1;overflow-y:auto;padding:20px 0 40px;text-align:center}
.vwb img{display:block;margin:0 auto 16px;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.35);
 max-width:96%;height:auto}
.vwb .m{color:#D3D7D7;font:400 15px/2 Tajawal,sans-serif;padding:70px 30px;max-width:560px;margin:0 auto}
.vwb .m b{display:block;font:600 17px/1.5 Kufi,Tajawal,sans-serif;color:#fff;margin-bottom:10px}
.pgn{position:sticky;top:0;z-index:3;display:inline-block;background:rgba(34,40,42,.92);color:#C8CDCD;
 font:500 11.5px/1 Mont,Tajawal,sans-serif;padding:8px 15px;border-radius:20px;margin-bottom:16px}

/* ── لوحة المالك ────────────────────────────────────────────────────────── */
.pan{position:fixed;inset:0;background:rgba(20,24,25,.92);display:none;z-index:80;overflow-y:auto;padding:30px 18px}
.pan.on{display:block}
.pbox2{max-width:1000px;margin:0 auto;background:#fff;border-radius:13px;padding:26px}
.pbox2 h2{font:700 19px/1.3 Kufi,Tajawal,sans-serif}
.pbox2 .s{font:500 10px/1 Mont,Tajawal,sans-serif;color:var(--gr);letter-spacing:.16em;margin:5px 0 18px}
.pbox2 p{font:400 13px/1.9 Tajawal,sans-serif;color:var(--ink2);margin-bottom:12px}
.pbox2 th{font:600 11px/1 Mont,Tajawal,sans-serif;color:var(--gr);letter-spacing:.08em;
 text-align:start;padding:8px 10px}
.pbox2 td{font:400 12.5px/1.5 Tajawal,sans-serif;padding:8px 10px}
.m2{font-family:Mont,Tajawal,sans-serif;font-size:11.5px}
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tabs button{font:500 12.5px/1 Tajawal,sans-serif;padding:10px 16px;border-radius:8px;
 border:1px solid var(--ln);background:#fff;cursor:pointer}
.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.inv{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}
.inv input{flex:1;min-width:180px;font:400 13.5px/1 Tajawal,sans-serif;padding:12px;
 border:1px solid var(--ln);border-radius:9px}
.inv button{font:600 13px/1 Tajawal,sans-serif;padding:12px 20px;border:0;border-radius:9px;
 background:var(--ink);color:#fff;cursor:pointer}

body,.vw,.pan{user-select:none;-webkit-user-select:none}
img{-webkit-user-drag:none}
@media(max-width:960px){aside{display:none}.stats{grid-template-columns:repeat(2,1fr)}}

/* ═══════════════════════════════════════════════════════════════════════════
   منصةُ الغرف — ما زاد على غرفةٍ واحدة
   The platform — what a single room did not need
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── الرأسُ العلويّ (يعلو الغرفَ كلَّها) ───────────────────────────────── */
.hdr{display:flex;align-items:center;gap:13px;padding:12px 22px;background:var(--side);color:#fff;
 position:sticky;top:0;z-index:40}
.hdr img{height:25px}
.hdr .hb{min-width:0}
.hdr .hb b{display:block;font:700 14px/1.25 Kufi,Tajawal,sans-serif}
.hdr .hb span{display:block;font:500 8.5px/1 Mont,Tajawal,sans-serif;color:var(--gr2);
 letter-spacing:.16em;margin-top:5px}
.hdr .sp{flex:1}
.hdr button,.hdr .hchip{font:500 11.5px/1 Tajawal,sans-serif;padding:8px 13px;border-radius:7px;
 border:1px solid rgba(255,255,255,.20);background:transparent;color:#D6DADA;cursor:pointer}
.hdr button:hover{background:rgba(255,255,255,.09);color:#fff}
.hdr .hchip{cursor:default;font-family:Mont,Tajawal,sans-serif;font-weight:600;font-size:11px}
.hdr .hchip.w{border-color:rgba(250,173,23,.45);background:rgba(250,173,23,.14);color:#F7E3B4}

/* ── مختارُ الغرف ────────────────────────────────────────────────────────── */
.wrap{max-width:1180px;margin:0 auto;padding:26px 22px 60px}
.lede h1{font:700 27px/1.3 Kufi,Tajawal,sans-serif}
.lede .s{font:500 10px/1 Mont,Tajawal,sans-serif;color:var(--gr);letter-spacing:.18em;margin:8px 0 12px}
.lede p{font:400 14px/1.95 Tajawal,sans-serif;color:var(--ink2);max-width:70ch}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:15px;margin-top:22px}
.rc{background:#fff;border:1px solid var(--ln);border-radius:13px;padding:19px 20px 17px;cursor:pointer;
 border-top:3px solid var(--am);display:flex;flex-direction:column;gap:11px;text-align:start}
.rc:hover{box-shadow:0 3px 16px rgba(34,40,42,.10)}
.rc.k{border-top-color:#7A5D14}
.rc .rt{display:flex;align-items:flex-start;gap:11px}
.rc .rt svg{flex:0 0 22px;width:22px;height:22px;stroke:var(--ink2);fill:none;stroke-width:1.6;
 stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.rc .rt b{display:block;font:700 16px/1.4 Kufi,Tajawal,sans-serif}
.rc .rt span{display:block;font:500 9.5px/1 Mont,Tajawal,sans-serif;color:var(--gr);
 letter-spacing:.13em;margin-top:6px}
.rc p{font:400 12.5px/1.85 Tajawal,sans-serif;color:var(--ink2)}
.rc .rn{display:flex;gap:16px;padding-top:11px;border-top:1px solid #EFF1F1;margin-top:auto}
.rc .rn i{font-style:normal;font:500 11.5px/1 Mont,Tajawal,sans-serif;color:var(--gr)}
.rc .rn i b{font-weight:600;color:var(--ink)}

/* ── داخلُ الغرفة ────────────────────────────────────────────────────────── */
aside .nav a.on{background:rgba(250,173,23,.14);border-inline-start-color:var(--am);color:#fff}
.crumb{display:flex;align-items:center;gap:9px;margin-bottom:13px;flex-wrap:wrap}
.crumb button{font:500 12px/1 Tajawal,sans-serif;padding:8px 13px;border-radius:7px;
 border:1px solid var(--ln);background:#fff;color:var(--ink2);cursor:pointer}
.crumb button:hover{border-color:var(--am)}
.crumb em{font-style:normal;font:400 12px/1 Tajawal,sans-serif;color:var(--gr2)}
td.act2{width:104px;text-align:end;white-space:nowrap}
td.act2 button{font:500 10.5px/1 Tajawal,sans-serif;padding:6px 9px;border-radius:6px;
 border:1px solid var(--ln);background:#fff;color:var(--gr);cursor:pointer;margin-inline-start:4px}
td.act2 button:hover{border-color:var(--am);color:var(--ink)}
.empty{background:#fff;border:1px dashed var(--ln);border-radius:11px;padding:34px 22px;text-align:center;
 font:400 13.5px/1.9 Tajawal,sans-serif;color:var(--gr)}

/* ── العارض: زرُّ رجوعٍ وطباعةٍ وتنزيل ─────────────────────────────────── */
.vwh .g{display:flex;gap:7px}
.vwh button.am{border-color:rgba(250,173,23,.5);background:rgba(250,173,23,.16);color:#F7E3B4}
.vwh button:hover{background:rgba(255,255,255,.10)}
.nop{display:flex;align-items:center;gap:9px;font:500 11.5px/1.5 Tajawal,sans-serif;color:#C9A94E;
 background:rgba(250,173,23,.12);border:1px solid rgba(250,173,23,.30);padding:8px 13px;border-radius:7px}

/* ── نخبٌ صغيرة ─────────────────────────────────────────────────────────── */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(16px);z-index:95;
 background:var(--ink);color:#fff;font:500 13px/1.6 Tajawal,sans-serif;padding:12px 20px;
 border-radius:9px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;max-width:88vw}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.bad{background:var(--bad)}

/* ── اللوحة ─────────────────────────────────────────────────────────────── */
.adm{max-width:1180px;margin:0 auto;padding:24px 22px 70px}
.abox{background:#fff;border:1px solid var(--ln);border-radius:12px;padding:20px 22px;margin-bottom:15px}
.abox h3{font:700 15px/1.35 Kufi,Tajawal,sans-serif;margin-bottom:4px}
.abox .s{font:500 9.5px/1 Mont,Tajawal,sans-serif;color:var(--gr);letter-spacing:.15em;margin-bottom:15px}
.abox table{margin-top:6px}
.abox th{font:600 10.5px/1 Mont,Tajawal,sans-serif;color:var(--gr);letter-spacing:.08em;
 text-align:start;padding:8px 9px;border-bottom:1px solid var(--ln)}
.abox td{font:400 12.5px/1.55 Tajawal,sans-serif;padding:8px 9px;border-top:1px solid #F1F3F3}
.frm{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.frm input,.frm select{font:400 13px/1 Tajawal,sans-serif;padding:10px 11px;border:1px solid var(--ln);
 border-radius:8px;background:#FAFBFB;min-width:130px}
.frm input.g{flex:1;min-width:210px}
.frm button{font:600 12.5px/1 Tajawal,sans-serif;padding:11px 17px;border:0;border-radius:8px;
 background:var(--ink);color:#fff;cursor:pointer}
.frm button.q{background:#fff;color:var(--ink2);border:1px solid var(--ln);font-weight:500}
.frm label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--ink2)}
.tag{display:inline-block;font:500 10.5px/1 Mont,Tajawal,sans-serif;padding:5px 9px;border-radius:5px;
 background:#EFF1F1;color:var(--gr);margin-inline-end:5px;cursor:pointer;border:1px solid transparent}
.tag.on{background:#FBF3E2;border-color:#EEDCB4;color:#7A5D14}
.tag.r{background:#F6EAEA;color:var(--bad)}
.ev{font:500 10.5px/1 Mont,Tajawal,sans-serif;padding:4px 8px;border-radius:5px;background:#EFF1F1;color:var(--gr)}
.ev.bad{background:#F6EAEA;color:var(--bad)}
.ev.ok{background:#E9F1EB;color:var(--ok)}
.ev.am{background:#FBF3E2;color:#7A5D14}
.scroll{max-height:460px;overflow-y:auto}

/* ═══ الطباعة ═══════════════════════════════════════════════════════════════
   الغرفةُ المقفلةُ لا تُطبع. وهذه آخرُ طبقةٍ تمنع الورقة، بعد أن مُنع الملفُّ
   في الخادم — فلا يُعوَّل عليها وحدَها، ولا يُترك البابُ مفتوحًا بها.
   The locked room does not print. This is the last layer, after the server has
   already refused the file — relied upon alone by neither. */
@media print{
  body.locked{display:none!important}
  .hdr,aside,.bar,.crumb,.toast,.vw,.pan,td.act2{display:none!important}
  body{background:#fff}
  .wrap,main{padding:0}
  .fold{border:1px solid #ccc;break-inside:avoid}
  .fh{background:#fff;color:#000;border-bottom:1px solid #ccc}
}
