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

/* ================= إشعارات لحظية (توست) ================= */
#rt-toast-wrap { position: fixed; top: 18px; left: 18px; z-index: 10000; display: flex; flex-direction: column; gap: 10px; max-width: 340px; }
.rt-toast {
    background: linear-gradient(180deg, rgba(22,4,4,0.99), rgba(6,1,1,0.99));
    border: 1px solid rgba(200,0,0,0.55); border-right: 5px solid var(--neon-red);
    border-radius: 10px; padding: 13px 15px; color: #eee; font-family: 'Cairo', sans-serif;
    box-shadow: 0 8px 32px rgba(0,0,0,0.92), 0 0 30px rgba(255,0,0,0.35), inset 0 0 40px rgba(120,0,0,0.12);
    animation: rtIn 0.4s var(--kb-ease-pop), rtPulse 2.6s ease-in-out infinite 0.4s;
    direction: rtl; cursor: pointer; position: relative; overflow: hidden;
}
.rt-toast::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: repeating-linear-gradient(0deg, rgba(0,0,0,0.16) 0px, rgba(0,0,0,0.16) 1px, transparent 1px, transparent 3px);
    opacity:.45;
}
@keyframes rtPulse { 0%,100%{ box-shadow:0 8px 32px rgba(0,0,0,0.92), 0 0 24px rgba(255,0,0,0.28); }
                     50%{ box-shadow:0 8px 32px rgba(0,0,0,0.92), 0 0 44px rgba(255,0,0,0.55); } }
.rt-toast .rt-kind { font-size: 0.72rem; font-weight: bold; letter-spacing: 0.5px; margin-bottom: 5px;
    text-shadow: 0 0 10px currentColor; position: relative; }
.rt-toast .rt-title { color: #fff; font-weight: bold; font-size: 0.95rem; margin-bottom: 4px;
    text-shadow: 0 0 12px rgba(255,0,0,0.5); position: relative; }
.rt-toast .rt-msg { color: #c9c9c9; font-size: 0.85rem; line-height: 1.6; position: relative; }
.rt-toast .rt-time { color: #5a5a5a; font-size: 0.68rem; margin-top: 6px; position: relative; }
.rt-toast.rt-out { animation: rtOut 0.35s ease forwards; }
@keyframes rtIn { from { opacity: 0; transform: translateX(-25px) scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes rtOut { to { opacity: 0; transform: translateX(-25px) scale(0.96); } }
/* ✅ فكرة أنيميشن لواجهة الموظفين: إشعار "حجز/طلب جديد" يتميّز بصرياً عن التنبيهات
   الروتينية — توهج ذهبي-أخضر + رشقة شرر قصيرة، لأنه أهم إشعار وصل للموظف (بيع فعلي) */
.rt-toast.rt-toast-order {
    border-color: rgba(0,255,120,.6); border-right-color: #00ff78;
    box-shadow: 0 8px 32px rgba(0,0,0,.92), 0 0 34px rgba(0,255,120,.4);
    animation: rtIn 0.4s var(--kb-ease-pop), rtOrderPulse 1.8s ease-in-out infinite 0.4s;
}
@keyframes rtOrderPulse { 0%,100% { box-shadow: 0 8px 32px rgba(0,0,0,.92), 0 0 24px rgba(0,255,120,.3); }
                           50% { box-shadow: 0 8px 32px rgba(0,0,0,.92), 0 0 48px rgba(0,255,120,.65); } }
.rt-toast-order .rt-kind { color: #00ff78 !important; }
.rt-order-spark {
    position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #00ff78;
    box-shadow: 0 0 6px 2px rgba(0,255,120,.8); pointer-events: none;
    animation: rtSparkFly .7s ease-out forwards;
}
@keyframes rtSparkFly { from { opacity: 1; transform: translate(0,0) scale(1); } to { opacity: 0; transform: translate(var(--sx,20px), var(--sy,-20px)) scale(.2); } }
@media (max-width: 700px) { #rt-toast-wrap { left: 10px; right: 10px; max-width: none; } }

/* ================= واجهة كابوس مايز — بنفس لغة تصميم بطاقات الغرف ================= */
.maze-panel { background-color: var(--panel-bg); border:1px solid #333; border-radius:8px; padding:25px;
    box-shadow:0 10px 30px rgba(0,0,0,0.8), inset 0 0 50px rgba(0,0,0,0.5); position:relative; box-sizing:border-box; }
.maze-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
    border-bottom:1px solid #444; padding-bottom:15px; margin-bottom:18px; }
.maze-title { font-family:'Cairo',sans-serif; color:#fff; font-size:2rem; margin:0; letter-spacing:3px; text-shadow:0 2px 5px rgba(0,0,0,0.5); }
.maze-status-badge { font-family:'Share Tech Mono',monospace; font-size:0.85rem; padding:7px 16px; border-radius:4px;
    background:rgba(0,0,0,0.6); color:var(--text-muted); border:1px solid #333; letter-spacing:1px; }
.maze-status-badge.busy { background:rgba(255,0,0,0.1); color:var(--neon-red); border-color:var(--blood-red); }
.maze-status-badge.paused { background:rgba(255,165,0,0.1); color:var(--neon-orange); border-color:var(--neon-orange); }
.maze-timer-wrap { text-align:center; margin:6px 0 20px 0; background:rgba(0,0,0,0.45); border:1px solid #333; border-radius:6px; padding:18px 10px; }
.maze-timer { font-family:'Share Tech Mono',monospace; font-size:4.6rem; line-height:1; color:var(--neon-red);
    text-shadow:0 0 18px var(--neon-red), 0 0 45px var(--blood-red); letter-spacing:4px; }
.maze-timer.paused { color:var(--neon-orange); text-shadow:0 0 18px var(--neon-orange); animation:mazeBlink 1s steps(2) infinite; }
.maze-timer.danger { animation:mazeDanger 0.8s ease-in-out infinite; }
.maze-timer.ended { color:#555; text-shadow:none; }
@keyframes mazeBlink { 50% { opacity:0.35; } }
@keyframes mazeDanger { 0%,100% { text-shadow:0 0 18px var(--neon-red),0 0 45px var(--blood-red);} 50% { text-shadow:0 0 32px #ff2a2a,0 0 75px #ff0000; } }
.maze-timer-sub { color:var(--text-muted); font-size:0.85rem; margin-top:8px; font-family:'Cairo'; }
.maze-controls { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.maze-btn { flex:1; min-width:110px; padding:12px 10px; font-family:'Cairo',sans-serif; font-size:0.92rem; font-weight:bold;
    border-radius:4px; cursor:pointer; transition:0.3s; border:1px solid; background:rgba(0,0,0,0.4); }
.maze-btn-start { color:var(--neon-green); border-color:var(--neon-green); }
.maze-btn-start:hover { background:var(--neon-green); color:#000; box-shadow:0 0 15px rgba(0,255,68,0.5); }
.maze-btn-pause { color:var(--neon-orange); border-color:var(--neon-orange); }
.maze-btn-pause:hover { background:var(--neon-orange); color:#000; box-shadow:0 0 15px rgba(255,165,0,0.5); }
.maze-btn-reset { color:var(--text-muted); border-color:#555; }
.maze-btn-reset:hover { background:#333; color:#fff; }
.maze-btn-adj { color:var(--text-bright); border-color:#444; font-size:0.82rem; padding:9px 6px; }
.maze-btn-adj:hover { background:rgba(138,0,0,0.25); border-color:var(--blood-red); }
.maze-btn-win { color:var(--neon-green); border-color:var(--neon-green); }
.maze-btn-win:hover { background:var(--neon-green); color:#000; }
.maze-btn-lose { color:var(--neon-red); border-color:var(--neon-red); }
.maze-btn-lose:hover { background:var(--neon-red); color:#fff; }
.maze-team { margin:18px 0 14px 0; display:flex; flex-direction:column; gap:10px; }
.maze-row { display:flex; gap:10px; }
.maze-row > input { flex:1; }
.maze-team input { background:#0d0d0d !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
    border:1px solid #333; border-radius:4px; padding:12px; font-family:'Cairo',sans-serif; font-size:0.95rem; width:100%; box-sizing:border-box; }
.maze-team input::placeholder { color:#777 !important; opacity:1; }
.maze-team input:focus { outline:none; border-color:var(--neon-red); box-shadow:0 0 10px rgba(255,0,0,0.3); }
.maze-current { background:rgba(0,0,0,0.45); border:1px solid #333; border-radius:6px; padding:14px; }
.maze-current .mc-name { color:var(--neon-red); font-weight:bold; font-size:1.15rem; margin-bottom:6px; }
.maze-current .mc-row { color:#bbb; font-size:0.88rem; margin:3px 0; }
.maze-empty-note { color:#666; text-align:center; font-size:0.9rem; padding:10px; }
.maze-orders-box { margin-top:18px; border-top:1px solid #333; padding-top:14px; }
.maze-orders-title { color:var(--neon-orange); font-size:1rem; margin:0 0 10px 0; font-family:'Cairo'; }
.maze-order-card { background:rgba(0,0,0,0.45); border:1px solid #333; border-right:4px solid var(--neon-blue);
    border-radius:6px; padding:12px; margin-bottom:10px; }
.maze-order-card .mo-name { color:#fff; font-weight:bold; margin-bottom:4px; }
.maze-order-card .mo-det { color:#999; font-size:0.82rem; }
@media (max-width:700px){ .maze-timer{font-size:3.2rem;} .maze-title{font-size:1.4rem;letter-spacing:2px;}
    .maze-btn{min-width:92px;font-size:0.82rem;padding:10px 6px;} .maze-panel{padding:16px 13px;} }

.exp-btn { background:rgba(0,255,68,0.08); border:1px solid var(--neon-green); color:var(--neon-green);
    padding:9px 16px; border-radius:5px; font-family:'Cairo'; font-weight:bold; font-size:0.82rem;
    cursor:pointer; transition:0.25s; }
.exp-btn:hover { background:var(--neon-green); color:#000; box-shadow:0 0 14px rgba(0,255,68,0.45); }
.exp-bar { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:15px; }

/* ================= خريطة الحجوزات ================= */
.bmap-wrap { background:rgba(10,10,10,0.9); border:1px solid #2e2e2e; border-radius:10px; padding:16px; margin-bottom:20px; }
.bmap-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.bmap-title { color:var(--neon-orange); font-size:1rem; margin:0; font-family:'Cairo'; }
.bmap-nav { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.bmap-nav button { background:#150000; border:1px solid rgba(200,0,0,0.45); color:#ffb3b3;
    padding:7px 13px; border-radius:5px; font-family:'Cairo'; font-size:0.78rem; cursor:pointer; white-space:nowrap; }
.bmap-nav button:hover { background:rgba(200,0,0,0.25); }
#bmap-day-label { color:var(--neon-red); font-family:'Cairo'; font-weight:bold; font-size:0.9rem; min-width:120px; text-align:center; }
.bmap-table { overflow-x:auto; padding-bottom:6px; }
.bmap-row { display:flex; gap:3px; margin-bottom:3px; min-width:max-content; }
.bmap-room-lbl { width:96px; min-width:96px; color:#bbb; font-size:0.76rem; font-family:'Cairo';
    display:flex; align-items:center; justify-content:flex-end; padding-left:8px; }
.bmap-hours .bmap-hr { width:36px; min-width:36px; font-size:0.6rem; text-align:center; color:#777; font-size:0.72rem;
    font-family:'Share Tech Mono',monospace; }
.bmap-hours .bmap-hr small { display:block; font-size:0.6rem; opacity:.7; }


.bmap-clickable:hover { background:rgba(0,255,68,0.15); border-color:var(--neon-green); cursor:pointer; }
.bmap-clickable:hover::after { content:'＋'; color:var(--neon-green); font-size:1rem; }
.bmap-team { font-size:0.55rem; color:#fff; padding:0 2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bl-free { background:#111; }
.bl-cash { background:#00527a; border-color:#0090d0; }
.bl-call { background:#4a007a; border-color:#a020f0; }
.bl-done { background:#0a5c1e; border-color:#00ff44; }
/* ✅ إصلاح بطلب المالك (بلاغ: "لون حجز الكول سنتر والمالك متشابهين بخريطة
   الحجوزات") — كانا نفس لون الخلفية بالضبط (#4a007a)، الفرق بس بلون حدّ خفيف
   سهل يُفوّت. لون المالك الحين ذهبي مميز تماماً، ما يتشابه مع أي لون ثاني
   بالخريطة (كاشير أزرق، كول سنتر بنفسجي، دخل الغرفة أخضر، الموقع وردي). */
.bl-owner { background:#5c4400; border-color:#ffd700; }
.bl-web { background:#7a0045; border-color:#ff2d95; }
.bmap-legend { display:flex; gap:16px; flex-wrap:wrap; margin-top:12px; color:#999; font-size:0.76rem; }
.bmap-legend span { display:flex; align-items:center; gap:6px; }
.bl { width:14px; height:14px; border-radius:3px; display:inline-block; border:1px solid #333; }
.bmap-list { margin-top:14px; border-top:1px solid #2a2a2a; padding-top:12px; }
.bmap-li { display:flex; align-items:center; gap:9px; flex-wrap:wrap; color:#ccc; font-size:0.82rem;
    padding:7px 9px; border-radius:5px; margin-bottom:5px; background:#0d0d0d; }
.bmap-who { color:#777; font-size:0.74rem; margin-right:auto; }
@media (max-width:700px){ .bmap-room-lbl{width:70px;min-width:70px;font-size:0.68rem;}
     }

/* ================= الحجوزات المسبقة — تصميم مرتب وسهل القراءة ================= */
#advance-bookings-list { display: block !important; }
.adv-day-head { display:flex; justify-content:space-between; align-items:center; gap:10px;
    background:linear-gradient(90deg, rgba(255,165,0,0.14), rgba(0,0,0,0)); border-right:4px solid var(--neon-orange);
    color:var(--neon-orange); font-family:'Cairo'; font-weight:bold; font-size:0.95rem;
    padding:10px 14px; border-radius:6px; margin:18px 0 10px 0; }
.adv-day-head:first-child { margin-top:0; }
.adv-day-count { color:#888; font-size:0.78rem; font-weight:normal; }
.adv-room-head { display:flex; align-items:center; gap:8px; color:#bbb; font-family:'Cairo';
    font-weight:bold; font-size:.82rem; padding:6px 4px; margin:10px 0 6px 0;
    border-bottom:1px solid #262626; }
/* 🔧 كانت مصمّمة لعرض ثلاثة أعمدة (وقت/تفاصيل/أزرار) بينما الصف الفعلي
   يحتوي عنصرين فقط (adv-row-info و adv-row-actions)، فكان عمود المعلومات
   ينضغط لـ110px بالخطأ. صححناها لعمودين: معلومات مرنة + أزرار بحجمها. */
.adv-row { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center;
    background:#0d0d0d; border:1px solid #262626; border-radius:8px; padding:12px 14px; margin-bottom:9px;
    transition:0.2s; }
.adv-row:hover { border-color:#3a3a3a; background:#111; }
.adv-row-done { opacity:0.6; }
.adv-row-next { border-color:var(--neon-orange) !important; box-shadow:0 0 0 1px rgba(255,157,0,.25); }
.adv-next-badge { display:inline-block; background:rgba(255,157,0,.16); color:var(--neon-orange);
    font-size:.68rem; font-weight:bold; padding:2px 8px; border-radius:20px; margin-left:6px;
    vertical-align:middle; white-space:nowrap; }
/* ✅ مؤشر واضح لحجز الزبون الذاتي عبر الموقع — لون مختلف عن شارة "التالي" حتى
   يميّزهم الكاشير بنظرة وحدة عن الحجوزات اللي دخلها هو أو الكول سنتر */
.adv-row-customer { border-color:rgba(0,229,255,.5) !important; box-shadow:0 0 0 1px rgba(0,229,255,.22); }
.adv-customer-badge { display:inline-block; background:rgba(0,229,255,.18); color:var(--neon-blue);
    font-size:.68rem; font-weight:bold; padding:2px 8px; border-radius:20px; margin-left:6px;
    vertical-align:middle; white-space:nowrap; animation: advCustomerPulse 2s ease-in-out infinite; }
@keyframes advCustomerPulse { 0%,100%{ box-shadow:0 0 0 rgba(0,229,255,.0);} 50%{ box-shadow:0 0 10px rgba(0,229,255,.55);} }
/* 🔴 حجز بلا تعهد ويصل خلال ساعة — للكاشير وحده. كانت هذه إشارةً بشريط أحمر فوگ
   بطاقات الغرف، ونُقلت إلى الصف نفسه لأن زر «إتمام التعهد» هنا: الإشارة حيث
   الإجراء. الحدّة أعلى من شارة الزبون الذاتي عمداً — تلك تعريف، وهذه مهمة بمهلة. */
.adv-row-nopledge { border-color:rgba(255,80,80,.6) !important; box-shadow:0 0 0 1px rgba(255,80,80,.28); }
.adv-nopledge-badge { display:inline-block; background:rgba(255,80,80,.18); color:#ff8080;
    font-size:.68rem; font-weight:bold; padding:2px 8px; border-radius:20px; margin-left:6px;
    vertical-align:middle; white-space:nowrap; animation: advNoPledgePulse 1.6s ease-in-out infinite; }
@keyframes advNoPledgePulse { 0%,100%{ box-shadow:0 0 0 rgba(255,80,80,.0);} 50%{ box-shadow:0 0 12px rgba(255,80,80,.6);} }
@media (prefers-reduced-motion: reduce) { .adv-nopledge-badge, .adv-customer-badge { animation:none; } }
.adv-row-info { display:flex; flex-direction:column; gap:4px; min-width:0; }
.adv-row-info b { color:#fff; font-size:1rem; }
.adv-row-info span { color:#9a9a9a; font-size:0.82rem; }
.adv-row-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.adv-time { text-align:center; border-left:1px solid #262626; padding-left:12px; }
.adv-time-h { color:#fff; font-family:'Share Tech Mono',monospace; font-size:1.15rem; font-weight:bold; white-space:nowrap; }
.adv-status { font-size:0.7rem; margin-top:5px; padding:2px 6px; border-radius:4px; display:inline-block; white-space:nowrap; }
.adv-s-wait { color:#888; }
.adv-s-soon { color:var(--neon-blue); background:rgba(0,229,255,0.1); }
.adv-s-now  { color:var(--neon-orange); background:rgba(255,165,0,0.16); font-weight:bold; }
.adv-s-late { color:#ff6b6b; background:rgba(255,0,0,0.14); font-weight:bold; }
.adv-s-done { color:var(--neon-green); background:rgba(0,255,68,0.12); }
.adv-team { color:#fff; font-weight:bold; font-size:1rem; margin-bottom:5px; }
.adv-src { color:#777; font-size:0.72rem; font-weight:normal; margin-right:6px; }
.adv-meta { display:flex; gap:14px; flex-wrap:wrap; color:#9a9a9a; font-size:0.82rem; }
.adv-notes { color:#777; font-size:0.78rem; margin-top:5px; }
.adv-by { color:#555; font-size:0.7rem; margin-top:4px; }
.adv-acts { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.adv-btn { padding:8px 14px; border-radius:5px; font-family:'Cairo'; font-weight:bold; font-size:0.8rem;
    cursor:pointer; border:1px solid; background:transparent; white-space:nowrap; text-decoration:none; display:inline-block; }
.adv-btn-go  { color:var(--neon-green); border-color:var(--neon-green); }
.adv-btn-go:hover { background:var(--neon-green); color:#000; }
.adv-btn-ed  { color:var(--neon-blue); border-color:var(--neon-blue); }
.adv-btn-ed:hover { background:var(--neon-blue); color:#000; }
.adv-btn-del { color:#ff6b6b; border-color:#8a0000; }
.adv-btn-del:hover { background:#8a0000; color:#fff; }
.adv-btn-wa  { color:#25D366; border-color:#25D366; }
.adv-btn-wa:hover { background:#25D366; color:#000; }
.adv-done-note { color:var(--neon-green); font-size:0.82rem; white-space:nowrap; }
.adv-edit { grid-column:1 / -1; background:#080808; border:1px dashed var(--neon-orange);
    border-radius:6px; padding:12px; margin-top:10px; }
.adv-edit-row { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.adv-edit-row:last-child { margin-bottom:0; }
.adv-edit input, .adv-edit select { flex:1; min-width:120px; background:#111 !important; color:#fff !important;
    -webkit-text-fill-color:#fff !important; border:1px solid #333; border-radius:4px; padding:9px;
    font-family:'Cairo'; font-size:0.85rem; }
@media (max-width:700px) {
    .adv-row { grid-template-columns:1fr; gap:10px; }
    .adv-time { display:flex; align-items:center; gap:10px; border-left:none;
        border-bottom:1px solid #262626; padding:0 0 9px 0; text-align:right; }
    .adv-acts, .adv-row-actions { justify-content:flex-start; }
    .adv-btn { flex:1; text-align:center; }
}

.wv-status { padding:12px 15px; border-radius:8px; margin-bottom:14px; font-family:'Cairo'; font-weight:bold;
    font-size:0.88rem; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.wv-status button { background:#fff; color:#000; border:none; padding:7px 15px; border-radius:5px;
    font-family:'Cairo'; font-weight:bold; cursor:pointer; white-space:nowrap; }
.wv-status-err { background:rgba(200,0,0,0.22); border:1px solid #ff2a2a; color:#ffb3b3; }
.wv-status-warn { background:rgba(255,165,0,0.18); border:1px solid var(--neon-orange); color:#ffd699; }
.wv-row-pending { border-color:var(--neon-orange) !important; background:rgba(255,165,0,0.06) !important; }
.wv-pending-tag { background:rgba(255,165,0,0.2); color:var(--neon-orange); padding:1px 8px;
    border-radius:4px; font-size:0.7rem; font-weight:normal; margin-right:6px; }

/* ================= قائمة التعهدات — ملخّص مرتب ================= */
#waivers-list-box { display:block !important; }
/* ١د: كان بنفسجياً (rgba(176,0,255,.12)/var(--neon-purple)) — نُقل للغة العنوان الموحّدة: شريط دم + عظمي */
.wv-day-head { display:flex; justify-content:space-between; align-items:center; gap:10px;
    background:linear-gradient(90deg, rgba(138,0,0,0.12), rgba(0,0,0,0)); border-right:4px solid var(--blood);
    color:var(--bone); font-family:'Cairo'; font-weight:bold; font-size:0.95rem;
    padding:10px 14px; border-radius:6px; margin:18px 0 10px 0; }
.wv-day-head:first-child { margin-top:0; }
.wv-day-count { color:#888; font-size:0.78rem; font-weight:normal; }
.wv-row { display:grid; grid-template-columns:110px 1fr auto; gap:14px; align-items:center;
    background:#0d0d0d; border:1px solid #262626; border-radius:8px; padding:12px 14px; margin-bottom:9px; transition:.2s; }
.wv-row:hover { border-color:#3a3a3a; background:#111; }
.wv-time { text-align:center; border-left:1px solid #262626; padding-left:12px; }
.wv-time-h { color:#fff; font-family:'Share Tech Mono',monospace; font-size:1.05rem; font-weight:bold; }
.wv-id { color:#666; font-size:0.68rem; margin-top:4px; }
.wv-team { color:#fff; font-weight:bold; font-size:1rem; margin-bottom:5px; }
.wv-meta { display:flex; gap:14px; flex-wrap:wrap; color:#9a9a9a; font-size:0.82rem; }
.wv-ok { color:var(--neon-green); }
.wv-warn { color:var(--neon-orange); }
.wv-acts { display:flex; gap:7px; }
.wv-locked { color:#666; font-size:0.78rem; white-space:nowrap; }
@media (max-width:700px){
    .wv-row { grid-template-columns:1fr; gap:10px; }
    .wv-time { display:flex; align-items:center; gap:10px; border-left:none; border-bottom:1px solid #262626;
        padding:0 0 9px 0; text-align:right; }
    .wv-acts .adv-btn { width:100%; text-align:center; }
}

/* ================= لوحة نظرة عامة للإدارة العليا ================= */
.adm-daybar { display:flex; align-items:center; justify-content:space-between; gap:10px; background:linear-gradient(180deg,rgba(20,5,5,0.95),rgba(8,2,2,0.98));
    border:1px solid rgba(138,0,0,0.5); border-radius:10px; padding:12px 14px; margin-bottom:10px; }
.adm-day-nav { background:#150000; border:1px solid rgba(200,0,0,0.45); color:#ffb3b3; padding:9px 14px; border-radius:6px;
    font-family:'Cairo'; font-weight:bold; font-size:0.85rem; cursor:pointer; transition:0.2s; white-space:nowrap; }
.adm-day-nav:hover:not(:disabled) { background:rgba(200,0,0,0.25); box-shadow:0 0 12px rgba(255,0,0,0.3); }
.adm-day-nav:disabled { opacity:0.35; cursor:not-allowed; }
.adm-day-label { color:var(--neon-red); font-family:'Cairo'; font-weight:bold; font-size:1rem; text-align:center; flex:1;
    text-shadow:0 0 10px rgba(255,0,0,0.5); }
.adm-daybar-sub { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:18px; padding:0 4px; }
.adm-today-btn { background:transparent; border:1px solid #444; color:#999; padding:6px 12px; border-radius:5px; font-family:'Cairo'; font-size:0.78rem; cursor:pointer; }
.adm-today-btn:hover { border-color:var(--neon-red); color:var(--neon-red); }
.adm-daynote { color:#666; font-size:0.75rem; }
.adm-card-star { border-color:rgba(255,170,0,0.55); box-shadow:0 0 22px rgba(255,170,0,0.15); }
.adm-star-val { color:var(--neon-orange) !important; font-family:'Cairo' !important; font-size:1.25rem !important;
    text-shadow:0 0 14px rgba(255,170,0,0.55) !important; }
.adm-ratios { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; }
.adm-ratio-head { display:flex; justify-content:space-between; color:#ccc; font-size:0.85rem; margin-bottom:6px; font-weight:bold; }
.adm-ratio-sub { color:#666; font-size:0.75rem; margin-top:5px; }
.adm-fill-blue { background:linear-gradient(90deg,#003a5a,#00a6ff) !important; box-shadow:0 0 10px rgba(0,166,255,0.45) !important; }
.adm-fill-purple { background:linear-gradient(90deg,#3a0000,#8a0000) !important; box-shadow:0 0 10px var(--blood-glow) !important; } /* ١د: كان #3a005a→#b000ff بنفسجي */
.adm-log-row { display:flex; justify-content:space-between; align-items:center; gap:10px; background:#0d0d0d; border:1px solid #2a2a2a;
    border-right:3px solid var(--blood-red); border-radius:6px; padding:11px 13px; margin-bottom:8px; flex-wrap:wrap; }
.adm-log-main { color:#fff; font-weight:bold; font-size:0.9rem; }
.adm-log-sub { color:#888; font-size:0.78rem; margin-top:3px; }
.adm-log-amt { color:var(--neon-green); font-family:'Share Tech Mono',monospace; font-weight:bold; font-size:0.95rem; white-space:nowrap; }
@media (max-width:700px){ .adm-day-label{font-size:0.85rem;} .adm-day-nav{padding:8px 10px;font-size:0.78rem;} }

.adm-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-bottom:22px; }
.adm-card { background:linear-gradient(180deg, rgba(18,6,6,0.95), rgba(8,3,3,0.98)); border:1px solid rgba(138,0,0,0.5);
    border-radius:10px; padding:18px; text-align:center; box-shadow:0 0 22px rgba(138,0,0,0.18); }
.adm-card-label { color:#aaa; font-size:0.82rem; margin-bottom:8px; }
.adm-card-value { color:var(--neon-red); font-family:'Share Tech Mono',monospace; font-size:2.1rem; line-height:1;
    text-shadow:0 0 14px rgba(255,0,0,0.6); }
.adm-card-sub { color:#666; font-size:0.72rem; margin-top:6px; }
.adm-panel { background:rgba(10,10,10,0.9); border:1px solid #333; border-radius:10px; padding:18px; margin-bottom:18px; }
.adm-panel-title { color:var(--text-bright); font-size:1rem; margin:0 0 14px 0; border-bottom:1px solid rgba(138,0,0,0.35); padding-bottom:8px; }
.adm-rooms { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.adm-room { background:#0d0d0d; border:1px solid #333; border-radius:8px; padding:14px; }
.adm-room-name { font-family:'Cairo',sans-serif; color:#fff; font-size:1.05rem; margin-bottom:6px; }
.adm-room-state { font-size:0.85rem; font-weight:bold; }
.adm-room-team { color:#999; font-size:0.8rem; margin-top:5px; }
.adm-bar-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.adm-bar-name { color:#ccc; font-size:0.85rem; min-width:90px; }
.adm-bar-track { flex:1; background:#111; height:10px; border-radius:5px; overflow:hidden; border:1px solid #2a2a2a; }
.adm-bar-fill { height:100%; background:linear-gradient(90deg,#5a0000,#ff2a2a); box-shadow:0 0 10px rgba(255,0,0,0.5); }
.adm-bar-val { color:var(--neon-red); font-size:0.82rem; min-width:92px; text-align:left; font-family:'Share Tech Mono',monospace; }
@media (max-width:700px){ .adm-card-value{font-size:1.6rem;} .adm-bar-name{min-width:70px;font-size:0.78rem;} }

/* ====== إصلاح ظهور النص داخل جميع حقول الإدخال (كانت تظهر بيضاء بدون نص واضح) ====== */
/* نفس الإصلاح لنوافذ النظام الرئيسي (التعهد واختيار المستلم) */
#direct-waiver-overlay input,
#direct-waiver-overlay select,
#recipient-overlay input {
    background-color: #0d0d0d !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
#direct-waiver-overlay input::placeholder { color: #7a7a7a !important; opacity: 1; }

@media (max-width: 768px) {
    /* الهيدر يتحول لعمودي على الهاتف */
    /* زر الهامبرغر */
    /* القائمة تصبح عمودية منسدلة */
    /* معلومات المستخدم والإشعارات */
    /* الشبكات تتحول لعمود واحد */
    /* الجداول قابلة للتمرير أفقياً */
}
