/* ===================================================================
   السجل والوصولات، خريطة الحجوزات، الطابع الرعبي، الأزرار، شاشة الزبون، شاشة التعهد
   مستخرَج حرفياً من: اعصار (2).html  (الأسطر 176-967)
   ⚠️ ترتيب الملفات في index.html يطابق ترتيب الكتل الأصلي — لا تغيّره (cascade).
   =================================================================== */

    .adv-btn-edit { background:rgba(0,229,255,.08); border:1px solid rgba(0,229,255,.3); color:var(--neon-blue); }
.adv-btn-edit:hover { background:rgba(0,229,255,.18); }
.rp-item { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 13px;
    background:#111; border:1px solid #262626; border-radius:7px; text-decoration:none; transition:.15s; }
.rp-item:hover { background:rgba(0,255,68,.08); border-color:rgba(0,255,68,.3); }
.rp-name  { color:#ddd; font-family:'Cairo'; font-size:.87rem; }
.rp-phone { color:var(--neon-green); font-family:'Share Tech Mono',monospace; font-size:.82rem; }
.hist-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:20px;
    font-size:.72rem; font-weight:bold; white-space:nowrap; background:rgba(255,255,255,.05); color:#aaa; }
.hist-badge.hist-win  { background:rgba(0,255,68,.1); color:var(--neon-green); border:1px solid rgba(0,255,68,.32); }
.hist-badge.hist-lose { background:rgba(255,32,32,.1); color:var(--neon-red); border:1px solid rgba(255,32,32,.32); }
.hist-badge.hist-morn { background:rgba(255,157,0,.12); color:var(--neon-orange); border:1px solid rgba(255,157,0,.35); }
.hist-badge.hist-maze { background:rgba(176,0,255,.14); color:var(--neon-purple); border:1px solid rgba(176,0,255,.4); }
.hist-maze-card { background:linear-gradient(160deg, rgba(30,0,45,.35) 0%, rgba(12,12,12,.95) 60%) !important; }
.hist-maze-card:hover { box-shadow:0 4px 22px rgba(0,0,0,.6), 0 0 18px rgba(176,0,255,.18) !important; }
.hist-room-badge { display:inline-block; width:20px; height:20px; border-radius:50%; overflow:hidden;
    vertical-align:middle; margin-left:6px; border:1px solid rgba(200,0,0,.4); }
.hist-room-badge svg { width:100%; height:100%; display:block; }

/* وصل السعر داخل صف السجل */
.rcpt-box { font-size:.76rem; }
.rcpt-line { display:flex; justify-content:space-between; gap:10px; color:#888; padding:1px 0; }
.rcpt-line span:last-child { font-family:'Consolas',monospace; color:#999; }
.rcpt-line.rcpt-vid span:last-child { color:var(--neon-purple); }
.rcpt-line.rcpt-disc span:last-child { color:#ff9d40; }
.rcpt-total { display:flex; justify-content:space-between; gap:10px; font-weight:bold; color:#eee; }
.hact-pending { color:var(--neon-orange); font-size:.78rem; font-family:'Cairo'; align-self:center; }

/* أزرار إجراءات صف السجل — مضغوطة بنفس حجم أزرار سجل المقاطع لضمان صفوف متساوية الارتفاع */
.hist-act-btn { padding:5px 12px; border-radius:5px; font-family:'Cairo',sans-serif; font-size:.76rem;
    font-weight:bold; cursor:pointer; border:1px solid; transition:.15s; white-space:nowrap; }
.hist-act-invoice { background:rgba(255,157,0,.1); border-color:rgba(255,157,0,.35); color:var(--neon-orange); }
.hist-act-invoice:hover { background:rgba(255,157,0,.2); }
.hist-act-waiver { background:rgba(0,229,255,.08); border-color:rgba(0,229,255,.32); color:var(--neon-blue); }
.hist-act-waiver:hover { background:rgba(0,229,255,.16); }
.hist-act-video { background:rgba(176,0,255,.08); border-color:rgba(176,0,255,.32); color:var(--neon-purple); }
.hist-act-video:hover { background:rgba(176,0,255,.16); }

/* ══════ خريطة الحجوزات — شريطان بخلايا كبيرة ══════ */
.bm-band { margin-bottom:16px; overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:8px; }
.bm-band:last-child { margin-bottom:0; }
.bm-band-title {
    font-family:'Cairo',sans-serif; font-size:.78rem; font-weight:bold;
    color:#8a1414; margin-bottom:6px; letter-spacing:.03em;
    text-shadow:0 0 10px rgba(138,0,0,.35);
}
.bm-scroll-hint { display:inline; color:#5a9bc4; font-size:.68rem; }

/* 🔧 على كل الأجهزة (مو بس الجوال): بدل ما نحشر ٥٨ عمود بعرض الحاوية (تصير
   كل خانة صغيرة جداً)، كل خانة تاخذ عرضاً حقيقياً مريحاً والشريط يتمرّر أفقياً.
   عمود اسم الغرفة يبقى ثابتاً (sticky) أثناء التمرير حتى تعرف بأي صف أنت. */
.bm-table {
    table-layout:auto; width:max-content; min-width:100%;
    border-collapse:separate; border-spacing:1px;
    font-family:'Cairo',sans-serif;
}
.bm-col-room { width:96px; }
.bm-table col:not(.bm-col-room) { width:50px; }

.bm-th-room {
    background:linear-gradient(180deg,rgba(138,0,0,.16),transparent);
    padding:6px 7px; color:#9a1a1a; text-align:right; white-space:nowrap;
    font-size:.72rem; font-weight:bold; border-bottom:2px solid rgba(138,0,0,.4);
    border-radius:6px 6px 0 0;
}
.bm-td-room {
    background:linear-gradient(90deg,rgba(138,0,0,.12),rgba(10,0,0,.7));
    padding:8px 7px; color:#e8d8d8; white-space:nowrap;
    font-size:.76rem; font-weight:bold; border-radius:6px;
    overflow:hidden; text-overflow:ellipsis;
}
.bm-td-room, .bm-th-room { position:sticky; right:0; z-index:5; background-color:#140505; }
.bm-live {
    display:inline-block; color:#ff2a2a; font-size:.9rem;
    /* [حُذف] animation:dotBlink 1.2s — كانت مكرّرة: القاعدة الموحّدة أسفل
       (.rm-live, .bm-live) تعيد تعريفها بـ1.4s وبنفس التخصيص، فتفوز بالترتيب
       وهذي ما كانت تصل للتطبيق أبداً. مصدر واحد للمدة أفضل من اثنين يفترقان. */
    margin-right:3px;
}

.bm-th { padding:4px 0; color:#3a3a3a; font-weight:normal; text-align:center; line-height:1.1; }
.bm-th s { text-decoration:none; font-size:.6rem; color:#2e2e2e; }
.bm-th-hour { border-bottom:2px solid rgba(138,0,0,.45); }
.bm-th-hour b { display:block; color:#d01818; font-size:.92rem; }

.bmap-cell {
    height:50px; border-radius:5px; cursor:pointer; position:relative;
    transition:filter .15s, box-shadow .15s, transform .12s;
}
.bmap-cell:hover { filter:brightness(1.7); box-shadow:0 0 14px rgba(200,0,0,.5); z-index:4; }
.bm-hour-line { box-shadow:inset 2px 0 0 rgba(138,0,0,.35); }

.bm-booked {
    padding:0 6px; overflow:hidden;
    display:table-cell; vertical-align:middle; text-align:center;
    border:1px solid rgba(255,255,255,.12);
}
.bm-booked:hover { transform:scale(1.02); }
.bm-cont { opacity:.82; border-style:dashed; }
.bm-bk-team {
    display:block; font-size:.74rem; font-weight:bold; color:#fff;
    text-shadow:0 1px 4px rgba(0,0,0,.95);
    /* line-height كان 1.2 — أي 14.2px لخطٍّ يحتاج 18px، مع overflow:hidden فوقه.
       بالحروف اللاتينية لا يظهر الفرق، وبالعربية يُقصّ ذيل ق وج ونقاطهما قصّاً
       مسطّحاً بأسفل كل خانة محجوزة بالشريط (قِيس: scrollHeight 18 · clientHeight 14،
       وشوهد مكبَّراً ٦×). الخانة 50px وتحمل سطرين، فالمتّسع موجود أصلاً. */
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.5;
}
.bm-bk-meta {
    display:block; font-size:.62rem; color:rgba(255,255,255,.78);
    text-shadow:0 1px 3px rgba(0,0,0,.9);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ══════════════════════════════════════════════════════
   الطابع الرعبي — خلفيات ثابتة + لمسات حركة قليلة جداً
   (الحركة المستمرة محصورة في عناصر معدودة للحفاظ على السلاسة)
   ══════════════════════════════════════════════════════ */

/* خلفية الأقسام: تدرّجات ثابتة بلا حركة → صفر تكلفة عند التمرير */
#users-manage-section, #history-section, #bookings-section,
#advance-bookings-section, #video-requests-section, #admin-overview-section,
#admin-rooms-cards-section, #waivers-section, #payroll-section,
#maze-history-section, #cash-audit-section, #screens-section,
#partner-history-section {
    position: relative;
    background-image:
        radial-gradient(ellipse 44% 34% at 18% 12%, rgba(138,0,0,.10) 0%, transparent 62%),
        radial-gradient(ellipse 38% 30% at 82% 88%, rgba(90,0,0,.08) 0%, transparent 60%);
}

/* عناوين الأقسام — خط دموي ثابت */
.section-title { position: relative; padding-right: 4px; }
.section-title::after {
    content: '';
    position: absolute; right: 0; bottom: -6px; height: 2px; width: 100%;
    background: linear-gradient(90deg, rgba(200,0,0,.7), rgba(138,0,0,.22) 45%, transparent 85%);
}

/* البطاقات — تحوّل عند التحويم فقط (لا حركة مستمرة) */
.booking-card, .rm-card, .adm-card, .usr-tab {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.booking-card {
    background-color: #101010;
    background-image: linear-gradient(160deg, rgba(255,255,255,.025) 0%, rgba(0,0,0,.35) 100%);
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    padding: 18px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.booking-card:hover, .rm-card:hover, .adm-card:hover {
    box-shadow: 0 6px 26px rgba(0,0,0,.7), 0 0 16px rgba(138,0,0,.16);
}
/* ✅ الرفع كان **معلَناً بلا مستهلك**: القاعدة فوگ تعلن transition على transform
   من زمان، وولا قاعدة :hover تحرّك transform إطلاقاً — انتقال يُحسَب ولا يُستعمل.
   الرفع transform وحده: طبقة مركِّبة، صفر تخطيط وصفر إعادة رسم.
   مقيّد بـhover:hover لأن اللمس «يعلّق» التحويم بعد أول ضغطة، فتضل البطاقة
   مرفوعة على الآيباد حتى تُلمس غيرها — يبان عطلاً لا لمسة تصميم. */
@media (hover: hover) {
    .booking-card:hover, .rm-card:hover, .adm-card:hover { transform: translateY(-2px); }
}

/* الحقول — توهج ثابت عند التركيز */
input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 1px rgba(200,0,0,.5), 0 0 14px rgba(200,0,0,.2) !important;
}

/* النوافذ — حركة دخول لمرة واحدة */
/* 🐞 إصلاح: هذي القاعدة كانت معطوبة — قائمة السلاكتور تنتهي بفاصلة ولا تفتح
   كتلة تصريحات إطلاقاً. المتصفح عند خطأ كهذا يبتلع القاعدة الناقصة و@keyframes
   اللي بعدها كوحدة واحدة ويرمي الاثنين. تحققت وقت التشغيل: modalRise ما كانت
   معرّفة بالمتصفح أصلاً، ولا القاعدة موجودة — بينما advFlash بنفس الملف موجودة،
   فالملف يُحمَّل سليماً والعطب محصور هنا. النتيجة: ست نوافذ بلا أي حركة دخول،
   وكيفريم ميت من يوم استخراج الـCSS. أُعيد الجسم الناقص وربطت بنظام الحركة. */
/* ✅ توسيع: كانت ست نوافذ من أصل سبع عشرة. نفس منطق أقسام التبويبات — نافذة
   تنزلق وجارتها تقفز يُقرأ عطلاً لا اختياراً. فُحصت بنية كل نافذة مضافة:
   كلها overlay > div وتُفتح بتبديل display، وتبديل display من none يعيد
   تشغيل حركة CSS تلقائياً — فصفر جافاسكربت هنا.
   ⚠️ #au-detail-modal مستثناة عمداً: صفحة «من نحن» العامة نظام تصميم منفصل
   (منحنى ارتداد أقوى وسياق «انطباع» لا «سرعة» — راجع --kb-ease-bounce). */
#inv-modal-overlay > div, #add-staff-modal > div, #room-edit-modal > div,
#edit-adv-modal > div, #advance-modal > div, #recipient-picker > div,
#naked-tools-modal > div, #export-choice-modal > div, #edit-log-modal > div,
#cbs-modal > div, #scare-msg-modal > div, #newbranch-modal > div,
#nb-checklist-modal > div, #new-waiver-modal-overlay > div,
#recipient-overlay > div, #direct-waiver-overlay > div {
    animation: modalRise var(--kb-dur-slow) var(--kb-ease-out) both;
}
@keyframes modalRise {
    from { opacity:0; transform: translate3d(0,20px,0) scale(.97); }
    to   { opacity:1; transform: translate3d(0,0,0)    scale(1);   }
}

/* الأزرار — انتقال بسيط */
.nav-btn, .rm-btn, .staff-btn, .hact-btn, .adv-btn {
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.nav-btn:hover { text-shadow: 0 0 8px rgba(255,80,80,.5); }

/* الشارات — توهج ثابت */
.hist-badge, .vid-status-badge { text-shadow: 0 0 5px currentColor; }

/* ══ الحركة المستمرة: عناصر معدودة فقط ══ */
/* مؤشرات الحالة الحيّة — مهمة وظيفياً */
/* 🐞 إصلاح: dotBlink كانت **غير معرَّفة بأي ملف**. سلاكتوران حيّان يستدعيانها
   (.rm-live نقطة «مشغولة» بقائمة إدارة الغرف، و.bm-live نقطة الغرفة الحيّة
   بخريطة الحجوزات) — والمتصفح يتجاهل استدعاء كيفريم غير موجود بصمت، فالنقطتان
   ثابتتان تماماً. نفس عطل busy-state بالضبط: قاعدة تبدو مربوطة وليست كذلك،
   وما يكشفها شيء لأن لا خطأ يُرفع ولا تحذير يُطبع.
   عُرِّفت هنا بجانب مستدعيها الوحيد، وبـopacity حصراً (طبقة مركِّبة). */
@keyframes dotBlink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.rm-live, .bm-live { animation: dotBlink 1.4s ease-in-out infinite; }
/* عداد الغرفة */

/* إيقاف كل الحركة أثناء التمرير */
html.is-scrolling *, html.is-scrolling *::before, html.is-scrolling *::after {
    animation-play-state: paused !important;
}

/* احترام تفضيل تقليل الحركة */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* منع أي تمرير أفقي ناتج عن طبقات الرعب */
html, body { overflow-x: hidden; max-width: 100%; }
/* ✅ يمنع شريط تمرير المتصفح الحقيقي نهائياً أثناء عرض صفحة "من نحن" —
   يُضاف/يُزال هذا الكلاس من JS بالضبط وقت دخول/خروج الصفحة، ولا يأثر
   إطلاقاً على تمرير لوحة الكونترول أو أي شاشة ثانية بالنظام. */
html.au-lock-scroll, body.au-lock-scroll { overflow: hidden !important; height: 100%; overscroll-behavior: none; }
#admin-interface { overflow-x: hidden; }
.as-login-toggle { display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    background:rgba(176,0,255,.06); border:1px solid rgba(176,0,255,.22);
    border-radius:9px; padding:11px 14px; cursor:pointer; font-family:'Cairo'; }
.as-login-toggle input { width:17px; height:17px; accent-color:var(--neon-purple); cursor:pointer; }
.as-login-toggle span  { color:#ccc; font-size:.85rem; font-weight:bold; }
.as-login-toggle small { color:#555; font-size:.68rem; width:100%; }

/* ══════ سجل وطلبات الفيديو — متجاوب ══════ */
#video-requests-list { container: vidbox / inline-size; }
#video-requests-list > div { width:100%; overflow-x:auto; }
.vid-table {
    width:100%; min-width:0;
    table-layout:auto; border-collapse:collapse;
}
.vid-table th, .vid-table td { white-space:nowrap; }
/* الأعمدة المرنة */
.vid-table th:nth-child(2), .vid-table td:nth-child(2) { white-space:normal; min-width:120px; }
.vid-table th:nth-child(3), .vid-table td:nth-child(3) { white-space:normal; }
.vid-table th:nth-child(1), .vid-table td:nth-child(1) { width:38px; text-align:center; }

/* متوسطة: نخفي الأعمدة الأقل أهمية بدل التمرير — بحسب عرض #video-requests-list
   نفسه لا عرض النافذة، فينكمش الجدول مع القائمة الجانبية الموسّعة تلقائياً
   (نفس منطق سجل الفرق أعلاه). */
@container vidbox (max-width:1100px) {
    .vid-table th:nth-child(1), .vid-table td:nth-child(1) { display:none; }
    .vid-table th:nth-child(5), .vid-table td:nth-child(5) { display:none; }
}
@container vidbox (max-width:820px) {
    .vid-table th:nth-child(6), .vid-table td:nth-child(6) { display:none; }
    .vid-table th, .vid-table td { padding:8px 7px; font-size:.76rem; }
}
/* شاشات صغيرة: تحوّل لبطاقات مكدّسة */
@container vidbox (max-width:760px) {
    .vid-table, .vid-table thead, .vid-table tbody,
    .vid-table th, .vid-table td, .vid-table tr { display:block; width:100%; }
    .vid-table thead { display:none; }
    .vid-table tbody tr {
        box-sizing:border-box;
        margin-bottom:12px; border:1px solid rgba(138,0,0,.28);
        border-radius:10px; padding:10px 12px;
        background:linear-gradient(160deg,rgba(20,0,0,.5),rgba(10,10,10,.9));
    }
    .vid-table td { border:none; padding:5px 0; white-space:normal !important; display:flex; justify-content:space-between; gap:10px; }
    .vid-table td::before { content:attr(data-lbl); color:#5a0000; font-size:.7rem; font-weight:bold; }
    .vid-table td:nth-child(1) { display:none; }
}
/* ══════ سجل الفرق — جدول واحد بنفس منطق سجل المقاطع ══════ */
#history-list > div { width:100%; overflow-x:auto; }
.hist-table {
    width:100%; min-width:0;
    table-layout:auto; border-collapse:collapse; font-family:'Cairo',sans-serif;
}
.hist-table thead tr { background:rgba(255,157,0,.08); }
.hist-table th { padding:10px 14px; text-align:right; color:#555; font-size:.72rem; letter-spacing:.05em; border-bottom:2px solid #1e1e1e; white-space:nowrap; }
.hist-table td { padding:10px 14px; border-bottom:1px solid #0e0e0e; vertical-align:middle; font-size:.83rem; white-space:nowrap; }
.hist-table tbody tr:hover td { background:rgba(255,255,255,.015); }
/* الأعمدة المرنة */
.hist-table th:nth-child(2), .hist-table td:nth-child(2) { white-space:normal; min-width:160px; }
.hist-table th:nth-child(6), .hist-table td:nth-child(6) { min-width:110px; }
.hist-table th:nth-child(8), .hist-table td:nth-child(8) { white-space:normal; min-width:260px; }
.hist-table th:nth-child(1), .hist-table td:nth-child(1) { width:34px; text-align:center; }
/* تلوين خفيف حسب نتيجة الجلسة */
.hist-table tbody tr.hist-row-win td  { background:rgba(0,255,68,.02); }
.hist-table tbody tr.hist-row-lose td { background:rgba(255,32,32,.025); }
.hist-table tbody tr.hist-row-maze td { background:rgba(176,0,255,.025); }
.hist-table tbody tr.hist-embed-row td { padding:0; border-bottom:none; }
.hist-table tbody tr.hist-embed-row:hover td { background:transparent; }

/* ── الجدول يتكيّف مع عرضه المتاح فعلاً، لا عرض النافذة ──────────────────────
   القائمة الجانبية الموسّعة تقتطع ٢٣٦px من المحتوى، فجدولٌ كان يتّسع بلا تمرير
   على شاشة ١٣٦٦ صار يفرض تمريراً أفقياً داخل بطاقته لمجرّد أن القائمة مفتوحة.
   استعلام الحاوية يقيس #history-list نفسه (العرض المتبقّي بجانب القائمة) بدل
   النافذة — فتُخفى الأعمدة الأقل أهمية، يُضيَّق الحشو، ثم تُكدَّس البطاقات
   تلقائياً كلّما ضاقت المساحة، أياً كان سببها (شاشة صغيرة أو قائمة موسّعة).
   العتبات = عتبات @media السابقة معدّلةً لعرض الحاوية (النافذة ناقص حشو القسم
   ٥٠px والقائمة). #history-list يحمل أصلاً contain:layout style، فإضافة الحاوية
   لا تغيّر شيئاً في احتواء الأبناء المطلقين. */
#history-list { container: histbox / inline-size; }
/* ① العمود الأقل قيمة (رقم الصف) يُطوى ويُضيَّق الحشو قليلاً */
@container histbox (max-width:1180px) {
    .hist-table th:nth-child(1), .hist-table td:nth-child(1) { display:none; }
    .hist-table th, .hist-table td { padding:10px 8px; }
}
/* ② مساحةٌ أضيق: يُطوى عمود السعر (يظهر بالفاتورة)، وتنكمش الأعمدة المرنة والحشو */
@container histbox (max-width:1050px) {
    .hist-table th:nth-child(7), .hist-table td:nth-child(7) { display:none; }
    .hist-table th, .hist-table td { padding:7px 6px; font-size:.78rem; }
    .hist-table th:nth-child(2), .hist-table td:nth-child(2) { min-width:120px; }
    .hist-table th:nth-child(6), .hist-table td:nth-child(6) { min-width:92px; }
    .hist-table th:nth-child(8), .hist-table td:nth-child(8) { min-width:150px; }
}
/* ③ لا مجال لجدول: تحوّل لبطاقات مكدّسة — تماماً مثل سجل المقاطع */
@container histbox (max-width:800px) {
    .hist-table, .hist-table thead, .hist-table tbody,
    .hist-table th, .hist-table td, .hist-table tr { display:block; width:100%; }
    .hist-table thead { display:none; }
    .hist-table tbody tr {
        box-sizing:border-box;
        margin-bottom:12px; border:1px solid rgba(255,157,0,.25);
        border-radius:10px; padding:10px 12px;
        background:linear-gradient(160deg,rgba(20,14,0,.5),rgba(10,10,10,.9));
    }
    .hist-table tbody tr.hist-row-win  { border-color:rgba(0,255,68,.32); }
    .hist-table tbody tr.hist-row-lose { border-color:rgba(255,32,32,.35); }
    .hist-table tbody tr.hist-row-maze { border-color:rgba(176,0,255,.32); }
    .hist-table td { border:none; padding:5px 0; white-space:normal !important; display:flex; justify-content:space-between; gap:10px; background:transparent !important; }
    .hist-table td::before { content:attr(data-lbl); color:#a55c00; font-size:.7rem; font-weight:bold; flex-shrink:0; }
    .hist-table td:nth-child(1) { display:none; }
    .hist-table td[data-lbl="الإجراءات"] { display:block; }
    .hist-table td[data-lbl="الإجراءات"]::before { display:block; margin-bottom:8px; }
    .hist-table tbody tr.hist-embed-row { border:none; padding:0; margin-bottom:0; background:transparent; }
    /* ✅✅ إصلاح جذري (بلاغ: "صفوف برتقالية بالجوال بلا اسم ولا أي شي") — صف
       عنوان اليوم (hist-day-head-row) خلية وحدة بعرض الجدول كامل (colspan) وبلا
       data-lbl إطلاقاً (نص متواصل: سهم + تاريخ + عدد الجلسات)، بس القواعد فوگ
       كانت تطبَّق عليه بالغلط زي أي خلية بيانات عادية — تتحول لصندوق flex فاضي
       يفرّق محتواها بلا داعي، فيبين الصف "فاضي" بصرياً رغم إن نصه موجود فعلياً.
       نلغي هذا التحويل لهذا الصف تحديداً ونرجّعه عرض طبيعي متواصل. */
    .hist-table tr.hist-day-head-row { display:block !important; width:100%; }
    .hist-table tr.hist-day-head-row td {
        display:block !important; width:100%; box-sizing:border-box;
        white-space:normal !important; padding:10px 4px !important;
    }
    .hist-table tr.hist-day-head-row td::before { content:none !important; }
}
.hist-more-wrap { grid-column:1/-1; display:flex; justify-content:center; padding:14px 0 4px; }
.hist-more-btn {
    display:flex; flex-direction:column; align-items:center; gap:3px;
    background:rgba(138,0,0,.1); border:1px solid rgba(200,0,0,.32);
    color:#ff8080; padding:12px 30px; border-radius:10px;
    font-family:'Cairo',sans-serif; font-weight:bold; font-size:.88rem;
    cursor:pointer; transition:all .2s;
}
.hist-more-btn:hover { background:rgba(200,0,0,.22); box-shadow:0 0 20px rgba(200,0,0,.3); transform:translateY(-1px); }
.hist-more-btn small { font-size:.68rem; opacity:.6; font-weight:normal; }
.adv-picked-hint {
    display:flex; align-items:center; gap:7px; flex-wrap:wrap;
    background:rgba(0,255,68,.08); border:1px solid rgba(0,255,68,.3);
    border-radius:8px; padding:9px 14px; margin-bottom:12px;
    font-family:'Cairo',sans-serif; font-size:.82rem; color:#8affa8;
}
.adv-picked-hint b { color:#fff; }
.adv-flash {
    animation: advFlash 1.1s ease-out;
}
@keyframes advFlash {
    0%   { box-shadow:0 0 0 2px rgba(0,255,68,.75); }
    100% { box-shadow:0 0 0 2px rgba(0,255,68,0); }
}

/* ══ لوحة الإيرادات حسب الفترة ══ */
.adm-period-panel {
    background:linear-gradient(160deg,rgba(20,8,0,.7),rgba(10,10,10,.9));
    border:1px solid rgba(255,157,0,.25); border-radius:12px;
    padding:16px 18px; margin-bottom:22px;
}
.adm-period-head { display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.adm-period-title { font-family:'Cairo'; font-weight:bold; font-size:.92rem; color:var(--neon-orange); }
.adm-period-btns { display:flex; gap:6px; flex-wrap:wrap; }
.adm-per-btn {
    background:transparent; border:1px solid #2c2c2c; color:#777;
    padding:7px 15px; border-radius:7px; cursor:pointer;
    font-family:'Cairo'; font-size:.78rem; transition:all .18s;
}
.adm-per-btn:hover { border-color:rgba(255,157,0,.4); color:#bbb; }
.adm-per-btn.active {
    background:rgba(255,157,0,.16); border-color:var(--neon-orange);
    color:var(--neon-orange); font-weight:bold;
}
.adm-period-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; }
.adm-per-card {
    background:#0a0a0a; border:1px solid #1e1e1e; border-radius:9px;
    padding:12px 14px; display:flex; flex-direction:column; gap:5px;
}
.adm-per-main { border-color:rgba(255,157,0,.35); background:rgba(255,157,0,.05); }
.adm-per-lbl { font-family:'Cairo'; font-size:.7rem; color:#5a5a5a; }
.adm-per-val { font-family:'Share Tech Mono',monospace; font-size:1.05rem; font-weight:bold; color:#ddd; }
.adm-per-main .adm-per-val { color:var(--neon-orange); font-size:1.2rem; }
.adv-btn-waiver { background:rgba(255,157,0,.12); border:1px solid rgba(255,157,0,.4);
    color:var(--neon-orange); font-weight:bold; }
.adv-btn-waiver:hover { background:rgba(255,157,0,.26); box-shadow:0 0 14px rgba(255,157,0,.3); }

/* قسم الحجوزات يستفيد من عرض الشاشة الكامل → خلايا أوسع */
#advance-bookings-section { max-width: min(1800px, 96vw) !important; }
@media(min-width:1600px){ .bmap-cell { height:58px; } .bm-bk-team { font-size:.86rem; } }

/* ══ زر الفترة الصباحية ══
   ١ج: لون فقط. القديم: bg #0c0c0c · border #2a2a2a · hover rgba(255,0,0,.4) ·
   mt-txt #888 · mt-state #4a4a4a · .on = تدرّج/حدّ/ظلّ var(--neon-red) ورقّة #fff. */
.morning-toggle {
    width:100%; display:flex; align-items:center; gap:9px;
    background:var(--ground-1); border:1px solid var(--line); border-radius:9px;
    padding:11px 14px; cursor:pointer; font-family:'Cairo',sans-serif;
    margin:8px 0; transition:background .16s, border-color .16s;
}
.morning-toggle:hover { border-color:var(--blood-dim); }
.morning-toggle .mt-ico { font-size:1.25rem; filter:grayscale(1); opacity:.5; transition:filter .16s, opacity .16s; }
.morning-toggle .mt-txt { color:var(--ash); font-size:.86rem; font-weight:bold; flex:1; text-align:right; }
.morning-toggle .mt-state { color:var(--ash-dim); font-size:.68rem; }
.morning-toggle.on {
    background:linear-gradient(135deg,var(--warn-bg),rgba(189,125,36,.05));
    border-color:var(--warn);
    box-shadow:0 0 16px var(--warn-bg), inset 0 0 18px rgba(189,125,36,.05);
}
.morning-toggle.on .mt-ico { filter:none; opacity:1; }
.morning-toggle.on .mt-txt { color:var(--bone); }
.morning-toggle.on .mt-state { color:var(--warn); font-weight:bold; }

/* ══ صف الخصم — حقل واسع ══ */
/* ١ج: لون فقط. القديم: disc-lbl #888 · disc-sel/inp bg #0c0c0c border #2a2a2a color #fff ·
   disc-inp:focus border var(--neon-red) · disc-inp::placeholder #333 */
.disc-row { display:grid; grid-template-columns:auto minmax(0,112px) 1fr; gap:8px; align-items:center; margin-bottom:8px; }
.disc-lbl { color:var(--ash); font-family:'Cairo'; font-size:.8rem; white-space:nowrap; }
.disc-sel {
    background:var(--ground-1); border:1px solid var(--line); color:var(--bone);
    padding:9px 6px; border-radius:7px; font-family:'Cairo'; font-size:.82rem; cursor:pointer;
    width:100%; min-width:0; box-sizing:border-box;
}
.disc-inp {
    background:var(--ground-1) !important; border:1px solid var(--line) !important;
    color:var(--bone) !important; -webkit-text-fill-color:var(--bone) !important;
    padding:10px 14px !important; border-radius:7px !important;
    font-family:'Share Tech Mono',monospace !important; font-size:1rem !important;
    font-weight:bold; width:100% !important; min-width:0; box-sizing:border-box; text-align:center;
}
.disc-inp:focus { border-color:var(--blood-bright) !important; }
.disc-inp::placeholder { color:var(--ash-dim) !important; }

/* ══ جرد الأموال ══ */
.ca-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:11px; }
.ca-card { background:#0a0a0a; border:1px solid #1e1e1e; border-radius:10px;
    padding:13px 15px; display:flex; flex-direction:column; gap:5px; }
.ca-lbl { font-family:'Cairo'; font-size:.72rem; color:#5a5a5a; }
.ca-val { font-family:'Share Tech Mono',monospace; font-size:1.1rem; font-weight:bold; }
.ca-table-wrap { overflow-x:auto; }
.ca-table { width:100%; border-collapse:collapse; font-family:'Cairo',sans-serif; font-size:.83rem; }
.ca-table th { background:rgba(0,255,68,.07); color:#4a7a55; padding:9px 12px;

    text-align:right; font-size:.72rem; border-bottom:2px solid rgba(0,255,68,.18); white-space:nowrap; }
.ca-table td { padding:9px 12px; border-bottom:1px solid #111; color:#bbb; white-space:nowrap; }
.ca-table tbody tr:hover td { background:rgba(255,255,255,.02); }
/* ✅ إضافة بطلب المالك (فحص شامل — نفس نمط الإصلاح المطبَّق بسجل الفرق وطلبات
   المقاطع): جدول جرد الأموال كان بدون أي تجاوب مع الجوال — ٨ أعمدة بعرض ثابت
   تحتاج سكرول أفقي مستمر لرؤيتها كاملة، بالضبط بشاشة مالية حساسة تُستخدم يومياً.
   نفس تقنية التحويل لبطاقات مكدّسة المستخدمة بجداول ثانية بالنظام بنجاح. */
@media (max-width:700px) {
    .ca-table, .ca-table thead, .ca-table tbody,
    .ca-table th, .ca-table td, .ca-table tr { display:block; width:100%; }
    .ca-table thead { display:none; }
    .ca-table tbody tr {
        margin-bottom:10px; border:1px solid rgba(0,255,68,.22);
        border-radius:10px; padding:10px 12px;
        background:linear-gradient(160deg,rgba(0,20,6,.4),rgba(10,10,10,.9));
    }
    .ca-table tbody tr.ca-total { border-color:rgba(0,255,68,.5); background:rgba(0,40,12,.35); }
    .ca-table td { border:none; padding:5px 0; white-space:normal !important; display:flex; justify-content:space-between; gap:10px; background:transparent !important; }
    .ca-table td::before { content:attr(data-lbl); color:#4a7a55; font-size:.7rem; font-weight:bold; flex-shrink:0; }
    .ca-table tbody tr.ca-total td:first-child { display:block; font-weight:bold; color:var(--neon-green); }
    .ca-table tbody tr.ca-total td:first-child::before { content:none; }
}
.ca-time { color:#666; font-size:.76rem; }
.ca-amt { font-family:'Share Tech Mono',monospace; color:var(--neon-green); font-weight:bold; }
.ca-total td { background:rgba(0,255,68,.06); color:var(--neon-green); font-weight:bold;
    font-size:.95rem; border-top:2px solid rgba(0,255,68,.3); border-bottom:none; }

/* ══════════════════════════════════════════════════════
   أزرار بارزة — بلا حركة مستمرة (صفر تكلفة أداء)
   ══════════════════════════════════════════════════════ */

/* تبويبا إدارة المستخدمين */
#scary-logout {
    width: 54px;
    height: 54px;
    min-height: 54px !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
    padding: 10px;
    box-shadow: 0 0 12px rgba(138,0,0,.2);
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 7000;
    box-sizing: border-box;
    background: #0d0000;
    border: 1px solid rgba(138,0,0,.5);
    color: #4a0000;
    font-size: 1.3rem;
    cursor: pointer;
    transition: all .3s ease;
    opacity: .55;
}

.usr-tab {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: right;
    padding: 18px 20px;
    border-radius: 14px;
    cursor: pointer;
    background-color: #0d0d0d;
    background-image: linear-gradient(150deg, rgba(255,255,255,.03) 0%, rgba(0,0,0,.25) 100%);
    border: 2px solid #262626;
    box-shadow: 0 4px 14px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

/* ١د: مبدّل تبويب لوحة الموظفين — كان بنفسجياً بالكامل (rgba(176,0,255,...)/var(--neon-purple)).
   نُقل لسُلّم الدم (لوحة الإدارة = هوية الدم). للرجوع اليدوي: استبدل الدم بـrgba(176,0,255,...) و var(--neon-purple). */
.usr-tabbar { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:24px; }
.usr-tab:hover {
    transform:translateY(-3px);
    border-color:var(--blood-bright);
    box-shadow:0 10px 26px rgba(0,0,0,.7), 0 0 20px var(--blood-glow);
}
.usr-tab:active { transform:translateY(-1px); }
.usr-tab.active {
    border-color:var(--blood-bright);
    background:linear-gradient(150deg,rgba(138,0,0,.22) 0%,rgba(16,0,0,.95) 100%);
    box-shadow:0 8px 26px rgba(0,0,0,.7), 0 0 28px var(--blood-glow), inset 0 0 26px rgba(200,26,26,.1);
}
.usr-tab-ico {
    font-size:1.7rem; flex-shrink:0; width:52px; height:52px; border-radius:13px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(138,0,0,.1); border:1px solid var(--blood-dim);
}
.usr-tab.active .usr-tab-ico {
    background:rgba(138,0,0,.26); border-color:var(--blood-bright);
    box-shadow:0 0 16px var(--blood-glow);
}
.usr-tab-txt b     { color:#9a9a9a; font-size:1rem; transition:color .16s; }
.usr-tab-txt small { color:#4a4a4a; font-size:.71rem; }
.usr-tab.active .usr-tab-txt b     { color:#fff; }
.usr-tab.active .usr-tab-txt small { color:var(--blood-ink); }
@media(max-width:640px){ .usr-tabbar{ grid-template-columns:1fr; } }

/* أزرار سجل الفرق: الفاتورة والتعهد */
.hist-card-actions { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.hact-btn.hact-invoice, .hact-btn.hact-waiver {
    display:flex !important; align-items:center; gap:11px; text-align:right;
    padding:12px 18px !important; border-radius:12px !important; cursor:pointer;
    font-family:'Cairo',sans-serif; border:2px solid;
    box-shadow:0 3px 12px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.hact-invoice { background:linear-gradient(150deg,rgba(255,157,0,.16),rgba(20,10,0,.92));
    border-color:rgba(255,157,0,.5); color:var(--neon-orange); }
.hact-invoice:hover { transform:translateY(-2px); background:linear-gradient(150deg,rgba(255,157,0,.3),rgba(28,14,0,.95));
    box-shadow:0 8px 22px rgba(0,0,0,.6), 0 0 20px rgba(255,157,0,.34); }
.hact-waiver { background:linear-gradient(150deg,rgba(0,229,255,.13),rgba(0,12,18,.92));
    border-color:rgba(0,229,255,.45); color:var(--neon-blue); }
.hact-waiver:hover { transform:translateY(-2px); background:linear-gradient(150deg,rgba(0,229,255,.26),rgba(0,18,26,.95));
    box-shadow:0 8px 22px rgba(0,0,0,.6), 0 0 20px rgba(0,229,255,.3); }
.hact-btn:active { transform:translateY(0); }
.hact-ico {
    font-size:1.3rem; flex-shrink:0; width:42px; height:42px; border-radius:11px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,.42); border:1px solid currentColor;
}
.hact-body b     { font-size:.9rem; font-weight:bold; display:block; }
.hact-body small { font-size:.68rem; opacity:.66; display:block; }

/* بطاقات كشف الغرف — تعمل على اللابتوب والجوال */
#rooms-cards-grid { display:grid; gap:20px;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.rm-card {
    display:flex; flex-direction:column;
    background:linear-gradient(165deg,#121212 0%,#080808 100%);
    border:2px solid #262626; border-radius:16px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.04);
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.rm-card:hover { transform:translateY(-5px) !important; border-color:rgba(200,0,0,.55) !important;
    box-shadow:0 16px 38px rgba(0,0,0,.85), 0 0 28px rgba(138,0,0,.28) !important; }
.rm-cover { height:118px; flex-shrink:0;
    background:radial-gradient(ellipse at 50% 130%, rgba(160,0,0,.4), #0b0000);
    background-size:cover; background-position:center;
    display:flex; align-items:center; justify-content:center; position:relative;
    border-bottom:2px solid rgba(138,0,0,.35); }
.rm-cover-ico { font-size:2.9rem; filter:drop-shadow(0 0 16px rgba(220,0,0,.6)); opacity:.9; }
.rm-live { position:absolute; top:10px; left:10px;
    background:rgba(200,0,0,.94); color:#fff; font-family:'Cairo';
    font-size:.63rem; font-weight:bold; padding:4px 11px; border-radius:20px;
    box-shadow:0 2px 10px rgba(0,0,0,.6); }
.rm-body { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.rm-name { font-family:'Cairo',sans-serif; font-size:1.2rem; font-weight:900; color:#fff;
    text-shadow:0 0 16px rgba(200,0,0,.45); letter-spacing:.04em; }
.rm-ar { font-family:'Cairo'; font-size:.74rem; color:#6a0000; margin:3px 0 14px; }
.rm-stats { display:grid; grid-template-columns:repeat(3,1fr);
    gap:8px; margin-bottom:12px; }
/* ١د: بطاقات «كشف الغرف» (الإدارة) — كانت ألواناً حلوى: نجاح var(--neon-green)،
   الإيرادات var(--neon-orange)، «التحليلات» سماوي، «تعديل» بنفسجي. وُحّدت للسُلّم.
   القديم: rm-stat bg #0b0b0b border #1e1e1e · rm-v #e4e4e4 · rm-green var(--neon-green) ·
   rm-l #4a4a4a · rm-rev bg/border rgba(255,157,0,...) · rm-rev-l #8a6a2a · rm-rev-v var(--neon-orange) ·
   rm-btn-stats سماوي rgba(0,229,255,...) · rm-btn-edit بنفسجي rgba(176,0,255,...) */
.rm-stat { background:var(--ground-1); border:1px solid var(--line-soft); border-radius:10px;
    padding:10px 5px; text-align:center; display:flex; flex-direction:column; gap:3px; }
.rm-v { font-family:'Share Tech Mono',monospace; font-size:1.05rem; font-weight:bold; color:var(--bone); }
.rm-v.rm-green { color:var(--alive); }
.rm-l { font-family:'Cairo'; font-size:.63rem; color:var(--ash-dim); }
.rm-rev { display:flex; justify-content:space-between; align-items:center;
    background:var(--alive-bg); border:1px solid var(--alive-line);
    border-radius:10px; padding:11px 14px; margin-bottom:14px; }
.rm-rev-l { font-family:'Cairo'; font-size:.74rem; color:var(--ash); }
.rm-rev-v { font-family:'Share Tech Mono',monospace; font-size:.94rem; font-weight:bold; color:var(--alive); }
.rm-actions { display:grid; grid-template-columns:1fr 1fr;
    gap:10px; margin-top:auto; }
.rm-btn { padding:12px 6px !important; border-radius:11px !important; cursor:pointer;
    font-family:'Cairo',sans-serif; font-weight:bold; font-size:.82rem;
    border:2px solid !important;
    box-shadow:0 3px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.rm-btn:hover { transform:translateY(-2px); }
.rm-btn:active { transform:translateY(0); }
.rm-btn-stats { background:var(--ground-2);
    border-color:var(--line) !important; color:var(--bone-dim); }
.rm-btn-stats:hover { box-shadow:0 8px 20px rgba(0,0,0,.6); border-color:var(--ash-dim) !important; }
.rm-btn-edit { background:linear-gradient(150deg,rgba(138,0,0,.18),rgba(12,0,0,.9));
    border-color:var(--blood) !important; color:var(--blood-ink); }
.rm-btn-edit:hover { box-shadow:0 8px 20px rgba(0,0,0,.6), 0 0 18px var(--blood-glow); }

/* أزرار عامة بارزة */
.staff-btn, .adv-btn, .rescue-btn, .hist-more-btn, .adm-per-btn {
    box-shadow:0 3px 10px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.staff-btn:hover, .adv-btn:hover, .rescue-btn:hover, .hist-more-btn:hover, .adm-per-btn:hover {
    transform:translateY(-2px);
}
.staff-btn:active, .adv-btn:active, .rescue-btn:active { transform:translateY(0); }
.nav-btn:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.55); }

/* ══════════════════════════════════════════════════════
   شاشة الغرفة للزبون — تتلاءم مع أي شاشة
   ══════════════════════════════════════════════════════ */
.pl-brand {
    font-family:'Cairo',sans-serif; font-weight:900;
    font-size:clamp(1.1rem, 3.2vh, 2.2rem);
    color:rgba(200,0,0,.55); letter-spacing:.26em;
    line-height:1; margin-bottom:1.5vh; flex-shrink:0;
}
/* 🖼️ شعارنا الحقيقي بدل نص "كابوس" بشاشات الغرف */
.pl-brand-img { display:block; max-width:min(160px,40vw); height:auto; margin:0 auto; opacity:.85; }
#player-room-title {
    font-family:'Cairo',sans-serif !important;
    font-size:clamp(1.3rem, 5vh, 3.4rem) !important;
    letter-spacing:.14em !important; color:#fff !important; line-height:1.1 !important;
    text-shadow:0 0 26px rgba(200,0,0,.7), 0 0 60px rgba(138,0,0,.35) !important;
    margin:0 0 1vh 0 !important; flex-shrink:0;
}
.pl-timer-shell { position:relative; display:inline-block; padding:0 4vw; flex-shrink:0; }
.pl-timer-shell::before, .pl-timer-shell::after {
    content:''; position:absolute; top:14%; bottom:14%; width:3px; border-radius:3px;
    background:linear-gradient(180deg,transparent,rgba(200,0,0,.75),transparent);
}
.pl-timer-shell::before { right:0; }
.pl-timer-shell::after  { left:0; }
.pl-time-label span {
    display:block; font-size:.44em; letter-spacing:.38em;
    color:rgba(150,40,40,.55); margin-top:.5em; font-family:'Share Tech Mono',monospace;
}
.plh-num {
    color:#ff5a5a; font-weight:bold; font-family:'Share Tech Mono',monospace;
    font-size:1.5em; text-shadow:0 0 14px rgba(255,60,60,.6);
    min-width:1.6em; text-align:center;
}
.plh-en { font-family:'Share Tech Mono',monospace; font-size:.62em;
    color:rgba(140,140,140,.42); letter-spacing:.22em; }
.player-paused-msg span {
    display:block; font-size:.44em; letter-spacing:.32em; margin-top:.5em;
    font-family:'Share Tech Mono',monospace; opacity:.6;
}
.plb-ar { font-family:'Cairo',sans-serif; font-size:1em; font-weight:bold; }
.plb-en { font-family:'Share Tech Mono',monospace; font-size:.5em; letter-spacing:.28em; opacity:.65; }
#pl-help-note, #pl-help-sent {
    font-family:'Cairo',sans-serif; letter-spacing:.03em; flex-shrink:0;
    font-size:clamp(.62rem, 1.5vh, 1rem) !important;
}
/* شاشات عريضة قصيرة (تلفاز أفقي) */
@media (max-aspect-ratio: 1/1) {
    #player-timer-display { font-size:clamp(3rem, 18vh, 11rem) !important; }
}

/* ══════════════════════════════════════════════════════
   شاشة التعهد — تعمل على اللابتوب كما الجوال
   ══════════════════════════════════════════════════════ */
/* ✅ دمجت هذا مع القاعدة اللي كانت مكررة تحت (كانت بقيمتين مختلفتين
   880px و860px لنفس المحدد — أبقيت 880px لأنها الأحدث بترتيب الكود
   وهي اللي كانت فعلياً تطبّق) */
#direct-waiver-overlay > div, #tablet-waiver-screen > div {
    max-width: min(880px, 94vw) !important;
    margin: 0 auto !important;
}

/* ══════════════════════════════════════════════════════
   نافذة التعهد — اسم + هاتف + صورة لكل شخص
   ══════════════════════════════════════════════════════ */
#direct-waiver-persons {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
    gap: 12px;
}
.dw-person {
    background: linear-gradient(155deg,#121212,#0a0a0a) !important;
    border: 1px solid #262626 !important;
    border-radius: 12px !important;
    padding: 15px 16px !important;
    margin-bottom: 0 !important;
}
.dw-person h4 {
    color: var(--neon-red) !important;
    font-family: 'Cairo', sans-serif;
    font-size: .88rem; margin: 0 0 11px 0 !important;
    display: flex; align-items: center; gap: 8px;
}
.dw-person h4::before {
    content: '👤'; font-size: 1.05rem;
}
.dw-name, .dw-phone {
    background: #0b0b0b !important;
    border: 1px solid #2a2a2a !important;
    color: #fff !important; -webkit-text-fill-color: #fff !important;
    padding: 11px 13px !important; border-radius: 8px !important;
    font-family: 'Cairo', sans-serif !important; font-size: .9rem !important;
    width: 100% !important; box-sizing: border-box !important;
    transition: border-color .16s;
}
.dw-name:focus, .dw-phone:focus { border-color: rgba(200,0,0,.6) !important; outline: none; }
.dw-name::placeholder, .dw-phone::placeholder { color: #3a3a3a !important; }

.dw-pick:hover { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(0,0,0,.6), 0 0 16px rgba(0,229,255,.3); }
.dw-pick:active { transform: translateY(0); }
.dw-pick-cam:hover { box-shadow: 0 7px 18px rgba(0,0,0,.6), 0 0 16px rgba(0,255,68,.3); }
.dw-face-preview { border: 2px solid var(--blood-red) !important; }
.dw-face-status { font-family: 'Cairo', sans-serif; }

@media (max-width: 700px) {
    #direct-waiver-persons { grid-template-columns: 1fr; }
}

/* ══ شاشة التعهد على التابلت ══ */
.tw-person {
    background:linear-gradient(155deg,#121212,#0a0a0a);
    border:1px solid #262626; border-radius:13px;
    padding:16px 17px; margin-bottom:13px;
}
.tw-p-head { color:var(--neon-red); font-family:'Cairo'; font-size:.9rem;
    font-weight:bold; margin-bottom:12px; }
.tw-p-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:12px; }
.tw-lbl { color:#555; font-size:.71rem; font-family:'Cairo'; margin-bottom:5px; }
.tw-inp {
    background:#0b0b0b !important; border:1px solid #2a2a2a !important;
    color:#fff !important; -webkit-text-fill-color:#fff !important;
    padding:13px 14px !important; border-radius:9px !important;
    font-family:'Cairo',sans-serif !important; font-size:1rem !important;
    width:100% !important; box-sizing:border-box !important;
}
.tw-inp:focus { border-color:rgba(200,0,0,.6) !important; outline:none; }
.tw-inp::placeholder { color:#333 !important; }
/* 🔒 عرض للقراءة فقط — يعرض ما كتبه الكاشير حصراً، الآيباد لا يكتب هنا إطلاقاً */
.tw-inp-ro { min-height:1.2em; display:flex; align-items:center; }
.tw-inp-ro.tw-inp-empty { color:#555 !important; -webkit-text-fill-color:#555 !important; font-style:italic; }
.tw-face-row { display:flex; align-items:center; gap:11px; flex-wrap:wrap; }
.tw-cam, .tw-gal {
    padding:13px 20px; border-radius:11px; cursor:pointer; border:2px solid;
    font-family:'Cairo',sans-serif; font-weight:bold; font-size:.88rem;
    box-shadow:0 3px 11px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .15s ease, box-shadow .15s ease;
}
.tw-cam { background:linear-gradient(150deg,rgba(0,255,68,.15),rgba(0,14,4,.92));
    border-color:rgba(0,255,68,.45); color:var(--neon-green); }
.tw-gal { background:linear-gradient(150deg,rgba(0,229,255,.13),rgba(0,10,16,.92));
    border-color:rgba(0,229,255,.4); color:var(--neon-blue); }
.tw-cam:hover, .tw-gal:hover { transform:translateY(-2px); }
.tw-cam:active, .tw-gal:active { transform:translateY(0); }
.tw-face { width:54px; height:54px; border-radius:11px; object-fit:cover;
    border:2px solid var(--blood-red); }
.tw-face-st { font-family:'Cairo'; font-size:.78rem; color:#777; }
@media(max-width:600px){ .tw-p-grid { grid-template-columns:1fr; } }

/* ══ تأثيرات صفحة التعهد عند التمرير: خلفية تدكن تدريجياً + ظهور بطيء لنص الشروط ══ */
/* ✅ إصلاح 4: نخفي شريط التمرير بصرياً بهذي الشاشة (تصميم كشك/ملء الشاشة نظيف) —
   التمرير نفسه يشتغل عادي باللمس/الماوس، بس بدون الخط الرمادي اللي يخرب الشكل */
.tw-hide-scrollbar { scrollbar-width: none; -ms-overflow-style: none; }
.tw-hide-scrollbar::-webkit-scrollbar { width: 0; height: 0; display: none; }
#tw-scroll-dark {
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background: #000; opacity: 0;
    transition: opacity .15s linear;
}
.tw-reveal-line {
    display: block;
    margin-bottom: 1.1em;
    opacity: 0;
    transform: translateY(18px);
    filter: blur(3px);
    transition: opacity 1.3s ease-out, transform 1.3s ease-out, filter 1.3s ease-out;
}
.tw-reveal-line.tw-revealed {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* ══ شاشة "الملف المسرّب" — إحاطة الغرفة (محطة مخترقة) ══ */
.hk-pulse-glow {
    position: fixed; inset: 0; pointer-events: none; z-index: 0;
    background: radial-gradient(ellipse at 50% 45%, rgba(255,0,0,.32) 0%, rgba(0,0,0,0) 62%);
    animation: hkPulse 1.8s ease-in-out infinite;
}
@keyframes hkPulse {
    0%, 100% { opacity: .35; transform: scale(1); }
    15%      { opacity: .85; transform: scale(1.06); }
    30%      { opacity: .4;  transform: scale(1); }
    45%      { opacity: .7;  transform: scale(1.04); }
    60%      { opacity: .3;  transform: scale(1); }
}

