/* =============================================
   Waiter Call System v14.0 - Frontend CSS
   ============================================= */

:root {
  --wcs-primary: #6c63ff;
  --wcs-primary-dark: #554fd8;
  --wcs-success: #22c55e;
  --wcs-warning: #f59e0b;
  --wcs-danger: #ef4444;
  --wcs-info: #3b82f6;
  --wcs-chef: #f97316;
  --wcs-cashier: #14b8a6;
  --wcs-manager: #8e44ad;
  --wcs-bg: #ffffff;
  --wcs-bg2: #f8fafc;
  --wcs-bg3: #f1f5f9;
  --wcs-border: #e2e8f0;
  --wcs-text: #1e293b;
  --wcs-text2: #64748b;
  --wcs-text3: #94a3b8;
  --wcs-radius: 16px;
  --wcs-radius-sm: 10px;
  --wcs-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 4px 16px rgba(0,0,0,0.08);
  --wcs-font: 'Tahoma', 'Vazirmatn', 'Arial', sans-serif;
  --wcs-chat-bg1: #e8eaf0;
  --wcs-chat-pattern: rgba(80,80,100,0.07);
  --wcs-bubble-mine-bg: linear-gradient(135deg, #6c63ff, #554fd8);
  --wcs-bubble-mine-text: #ffffff;
  --wcs-bubble-theirs-bg: #ffffff;
  --wcs-bubble-theirs-text: #1e293b;
}
body.wcs-night-mode {
  --wcs-bg: #12151c;
  --wcs-bg2: #1a1e27;
  --wcs-bg3: #222733;
  --wcs-border: #2d3347;
  --wcs-text: #e8ecf4;
  --wcs-text2: #9aa5c0;
  --wcs-text3: #5c677d;
  --wcs-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 4px 16px rgba(0,0,0,0.3);
  --wcs-chat-bg1: #0d1117;
  --wcs-chat-pattern: rgba(255,255,255,0.025);
  --wcs-bubble-theirs-bg: #1e2535;
  --wcs-bubble-theirs-text: #e8ecf4;
}

/* ===== CUSTOMER CALL BUTTON ===== */
.wcs-call-button-wrap { display:flex; flex-direction:column; align-items:center; gap:10px; }

.wcs-call-button {
  font-family: var(--wcs-font);
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:0 28px; cursor:pointer; border:none; outline:none;
  font-weight:700; transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 4px 15px rgba(0,0,0,0.2);
  position:relative; overflow:visible; /* overflow:visible so icon doesn't clip */
  white-space:nowrap;
}
.wcs-call-button:hover:not(:disabled) { transform:translateY(-2px) scale(1.02); }
.wcs-call-button:active:not(:disabled) { transform:translateY(0) scale(0.98); }
.wcs-call-button:disabled { opacity:0.7; cursor:not-allowed; }
.wcs-call-button.wcs-success-animation { animation:wcsBtnSuccess 0.4s ease; }
@keyframes wcsBtnSuccess { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

/* Button icon: fixed size, no text overflow */
.wcs-button-icon {
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; width:24px; height:24px;
  /* Prevent SVG from showing as raw text */
  font-size:0; line-height:0;
}
.wcs-button-icon svg { display:block; }

/* Idle bell animation - gentle swing */
@keyframes wcsBellIdle {
  0%,90%,100% { transform: rotate(0deg); }
  92%          { transform: rotate(12deg); }
  94%          { transform: rotate(-10deg); }
  96%          { transform: rotate(8deg); }
  98%          { transform: rotate(-5deg); }
}
.wcs-btn-bell-svg {
  animation: wcsBellIdle 4s ease-in-out infinite;
  transform-origin: top center;
  display:block;
}

/* Click bell ring animation */
@keyframes wcsBellRing {
  0%   { transform: rotate(0); }
  10%  { transform: rotate(18deg); }
  20%  { transform: rotate(-15deg); }
  30%  { transform: rotate(12deg); }
  40%  { transform: rotate(-10deg); }
  50%  { transform: rotate(7deg); }
  60%  { transform: rotate(-5deg); }
  70%  { transform: rotate(3deg); }
  85%  { transform: rotate(-2deg); }
  100% { transform: rotate(0); }
}
.wcs-bell-ring {
  animation: wcsBellRing 0.8s ease !important;
  transform-origin: top center;
}

.wcs-button-text { line-height:1; }

.wcs-message {
  font-family:var(--wcs-font); font-size:13px; padding:8px 16px;
  border-radius:8px; display:none; max-width:260px; text-align:center;
}
.wcs-message.success { background:#dcfce7; color:#166534; }
.wcs-message.error   { background:#fee2e2; color:#991b1b; }
.wcs-message.warning { background:#fef9c3; color:#854d0e; }

/* ===== PANEL BUTTON ===== */
.wcs-panel-fab-wrap {
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  z-index:9999; display:flex; justify-content:center;
}
/* وقتی هر پاپ‌آپی (این افزونه یا افزونه‌های دیگر) باز است، دکمه‌ی شناور پنهان شود
   تا مزاحم پاپ‌آپ نشود و پاپ‌آپ روی آن بیاید (مطابق درخواست). */
.wcs-panel-fab-wrap.wcs-fab-hidden {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.wcs-panel-button {
  font-family:var(--wcs-font); display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(135deg, var(--wcs-primary), var(--wcs-primary-dark));
  color:#fff; border:none; padding:13px 22px; border-radius:50px;
  cursor:pointer; font-size:15px; font-weight:700; position:relative;
  box-shadow:0 4px 20px rgba(108,99,255,0.5);
  transition:all 0.3s ease; white-space:nowrap;
}
.wcs-panel-button:hover { transform:translateY(-3px); }
.wcs-panel-button.wcs-new-call-pulse { animation:wcsPulse 0.6s ease; }
.wcs-panel-button.wcs-has-active-calls { animation:wcsCallAlert 1.5s infinite; }
@keyframes wcsCallAlert { 0%,100%{box-shadow:0 4px 20px rgba(239,68,68,0.5)} 50%{box-shadow:0 4px 30px rgba(239,68,68,0.8),0 0 0 6px rgba(239,68,68,0.15)} }
@keyframes wcsPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} }

.wcs-pending-badge {
  background:var(--wcs-danger); color:#fff; border-radius:6px;
  min-width:22px; height:22px; font-size:11px; font-weight:800;
  display:none; align-items:center; justify-content:center;
  border:2px solid #fff; animation:wcsScalePop 0.3s cubic-bezier(0.34,1.56,0.64,1);
  padding:0 4px; box-sizing:border-box;
}
.wcs-pending-badge.has-calls { display:flex; }
.wcs-btn-unread-wrap { display:flex; align-items:center; gap:4px; }
.wcs-btn-unread-chef, .wcs-btn-unread-cashier, .wcs-btn-unread-manager {
  border-radius:12px; padding:2px 6px; font-size:10px; font-weight:800;
  display:none; align-items:center; justify-content:center;
  border:1.5px solid rgba(255,255,255,0.5); animation:wcsScalePop 0.3s ease;
}
.wcs-btn-unread-chef    { background:rgba(249,115,22,0.9); color:#fff; }
.wcs-btn-unread-cashier { background:rgba(20,184,166,0.9); color:#fff; }
.wcs-btn-unread-manager { background:rgba(142,68,173,0.9); color:#fff; }
@keyframes wcsScalePop { 0%{transform:scale(0)} 100%{transform:scale(1)} }

/* Call tab count badge */
.wcs-tab-call-count {
  background:var(--wcs-danger); color:#fff; border-radius:8px;
  padding:1px 5px; font-size:9px; font-weight:800; display:none;
  min-width:14px; text-align:center; line-height:14px;
  flex-shrink:0; box-sizing:border-box;
}
/* Internal calls count - in tab: same red as call badge */
.wcs-tab-internal-count {
  background:var(--wcs-danger); color:#fff; border-radius:8px;
  padding:1px 5px; font-size:9px; font-weight:800; display:none;
  min-width:14px; text-align:center; line-height:14px;
  flex-shrink:0; box-sizing:border-box;
}

/* ===== OVERLAY ===== */
.wcs-popup-overlay {
  position:fixed; inset:0; background:rgba(10,15,30,0.7);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  z-index:999999; display:none; align-items:center; justify-content:center; padding:20px;
}
.wcs-popup-overlay.open { display:flex; }
.wcs-popup-body {
  background:var(--wcs-bg); border-radius:var(--wcs-radius);
  width:100%; max-width:520px; max-height:88vh; overflow:hidden;
  box-shadow:var(--wcs-shadow); display:flex; flex-direction:column;
  animation:wcsPopIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
  font-family:var(--wcs-font); direction:rtl;
  position:relative; z-index:1000000;
}
@keyframes wcsPopIn { from{opacity:0;transform:scale(0.88) translateY(20px)} to{opacity:1;transform:scale(1) translateY(0)} }

/* ===== POPUP HEADER ===== */
.wcs-popup-header {
  display:flex; align-items:center; gap:8px;
  padding:16px 18px 14px;
  background:linear-gradient(135deg, var(--wcs-primary), var(--wcs-primary-dark));
  color:#fff; flex-shrink:0;
}
.wcs-popup-title { flex:1; font-size:15px; font-weight:700; }
.wcs-popup-header-controls { display:flex; align-items:center; gap:6px; margin-left:4px; }
.wcs-ctrl-btn {
  background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.25);
  color:#fff; border-radius:8px; width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.2s;
}
.wcs-ctrl-btn:hover { background:rgba(255,255,255,0.3); }
.wcs-ctrl-btn.active, .wcs-night-toggle.active { background:rgba(255,220,50,0.3); border-color:rgba(255,220,50,0.5); }
.wcs-ctrl-btn.muted { opacity:0.6; }
.wcs-close-popup {
  background:rgba(255,255,255,0.15); border:none; color:#fff;
  border-radius:8px; width:32px; height:32px; display:flex;
  align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s;
}
.wcs-close-popup:hover { background:rgba(255,255,255,0.3); }
/* Blocked header button */
.wcs-blocked-header-btn { position:relative; }
.wcs-blocked-header-btn:hover { background:rgba(255,80,80,0.25); }

/* ===== TABS ===== */
.wcs-tabs-bar {
  display:flex; background:var(--wcs-bg2); border-bottom:1px solid var(--wcs-border);
  flex-shrink:0; overflow-x:auto; scrollbar-width:none;
}
.wcs-tabs-bar::-webkit-scrollbar { display:none; }
.wcs-tab-btn {
  flex:1; min-width:0; padding:10px 6px; background:var(--wcs-bg); border:1.5px solid var(--wcs-border);
  font-family:var(--wcs-font); font-size:11px; font-weight:600;
  color:var(--wcs-text2); cursor:pointer; white-space:nowrap;
  border-radius:8px; margin:4px 2px; transition:all 0.2s;
  display:flex; align-items:center; justify-content:center; gap:3px;
  overflow:hidden;
}
.wcs-tab-btn:hover { color:var(--wcs-primary); border-color:var(--wcs-primary); }
.wcs-tab-btn.active { color:var(--wcs-primary); border-color:var(--wcs-primary); background:rgba(108,99,255,0.08); font-weight:700; }
.wcs-tab-unread-badge {
  background:var(--wcs-danger); color:#fff; font-size:9px; font-weight:800; display:none;
  min-width:14px; text-align:center; border-radius:8px; padding:1px 5px;
  line-height:14px; flex-shrink:0; box-sizing:border-box;
}
.wcs-tab-content { display:none; overflow-y:auto; flex:1; }
.wcs-tab-content.active { display:block; }

/* ===== CALLS LIST - fixed 4 visible, vertical scroll ===== */
.wcs-calls-list { padding:8px; display:flex; flex-direction:column; gap:6px; max-height:340px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--wcs-border) transparent; }
.wcs-calls-list::-webkit-scrollbar { width:4px; }
.wcs-calls-list::-webkit-scrollbar-thumb { background:var(--wcs-border); border-radius:4px; }
.wcs-call-item {
  background:var(--wcs-bg); border-radius:12px;
  border:2px solid #c8cdd5; padding:10px 12px;
  display:flex; align-items:center; gap:10px;
  animation:wcsSlideIn 0.25s ease both; transition:all 0.2s;
  flex-shrink:0;
  box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.wcs-call-item:hover { border-color:var(--wcs-primary); box-shadow:0 2px 10px rgba(108,99,255,0.12); }
@keyframes wcsSlideIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
.wcs-call-type-chef    { border-right:4px solid var(--wcs-chef); }
.wcs-call-type-cashier { border-right:4px solid var(--wcs-cashier); }
.wcs-call-type-manager { border-right:4px solid var(--wcs-manager); }
.wcs-call-type-customer { border-right:4px solid var(--wcs-primary); }
.wcs-call-busy { opacity:0.65; background:repeating-linear-gradient(45deg,var(--wcs-bg2),var(--wcs-bg2) 4px,var(--wcs-bg3) 4px,var(--wcs-bg3) 8px); }
.wcs-call-info { flex:1; min-width:0; text-align:center; }
.wcs-table-header { display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:nowrap; }
.wcs-table-btn { font-size:13px; font-weight:700; color:#fff; background:var(--wcs-primary); padding:4px 12px; border-radius:20px; display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.wcs-call-time-center { font-size:12px; color:var(--wcs-text2); margin-top:4px; font-weight:600; text-align:center; }
.wcs-call-ip { font-size:11px; color:var(--wcs-text3); direction:ltr; text-align:center; margin-top:2px; }
.wcs-internal-calls-list { padding:8px; display:flex; flex-direction:column; gap:6px; max-height:340px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--wcs-border) transparent; }
.wcs-internal-calls-list::-webkit-scrollbar { width:4px; }
.wcs-internal-calls-list::-webkit-scrollbar-thumb { background:var(--wcs-border); border-radius:4px; }
.wcs-lang-badge { font-size:10px; padding:2px 7px; border-radius:20px; font-weight:700; }
.wcs-lang-fa { background:#ede9fe; color:#6d28d9; }
.wcs-lang-en { background:#dbeafe; color:#1d4ed8; }
.wcs-lang-ar { background:#fef3c7; color:#92400e; }
.wcs-call-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; flex-wrap:nowrap; }
.wcs-busy-btn {
  background:var(--wcs-bg3); color:var(--wcs-text2); border:1px solid var(--wcs-border);
  border-radius:6px; padding:5px 8px; font-size:11px; font-family:var(--wcs-font);
  cursor:pointer; display:flex; align-items:center; gap:3px; transition:all 0.2s;
}
.wcs-busy-btn:hover { border-color:var(--wcs-warning); color:var(--wcs-warning); }
.wcs-busy-indicator { font-size:10px; color:var(--wcs-warning); display:flex; align-items:center; gap:3px; }
.wcs-block-btn {
  background:var(--wcs-bg3); color:var(--wcs-danger); border:1px solid var(--wcs-border);
  border-radius:6px; width:28px; height:28px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all 0.2s;
}
.wcs-block-btn:hover { background:#fee2e2; border-color:var(--wcs-danger); }
.wcs-info-btn {
  background:var(--wcs-bg3); color:var(--wcs-info); border:1px solid var(--wcs-border);
  border-radius:6px; width:28px; height:28px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all 0.2s;
}
.wcs-info-btn:hover { background:#dbeafe; border-color:var(--wcs-info); }

/* ===== BLOCKED LIST ===== */
.wcs-blocked-list { padding:12px; display:flex; flex-direction:column; gap:8px; }
.wcs-blocked-item {
  background:var(--wcs-bg2); border-radius:var(--wcs-radius-sm);
  border:1px solid var(--wcs-border); padding:12px 14px;
  display:flex; align-items:center; gap:10px; animation:wcsSlideIn 0.3s ease both;
}
.wcs-blocked-info { flex:1; min-width:0; }
.wcs-blocked-ip { font-size:13px; font-weight:600; color:var(--wcs-text); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.wcs-blocked-table { font-size:12px; color:var(--wcs-text2); margin-top:3px; }
.wcs-blocked-time { font-size:11px; color:var(--wcs-text3); margin-top:2px; }
.wcs-block-badge { font-size:11px; padding:2px 8px; border-radius:20px; font-weight:700; display:inline-flex; align-items:center; gap:3px; }
.wcs-block-temporary { background:#fef9c3; color:#854d0e; }
.wcs-block-permanent { background:#fee2e2; color:#991b1b; }
.wcs-blocked-actions { flex-shrink:0; }
.wcs-unblock-btn {
  background:var(--wcs-bg3); color:var(--wcs-success); border:1px solid var(--wcs-border);
  border-radius:8px; padding:7px 12px; font-size:12px; font-family:var(--wcs-font);
  cursor:pointer; display:flex; align-items:center; gap:4px; transition:all 0.2s; font-weight:600;
}
.wcs-unblock-btn:hover { background:#dcfce7; border-color:var(--wcs-success); }

/* ===== CHAT BACKGROUND ===== */
.wcs-chat-bg {
  background-color: var(--wcs-chat-bg1) !important;
  background-image:
    repeating-linear-gradient(45deg, var(--wcs-chat-pattern) 0px, var(--wcs-chat-pattern) 1px, transparent 1px, transparent 12px),
    repeating-linear-gradient(-45deg, var(--wcs-chat-pattern) 0px, var(--wcs-chat-pattern) 1px, transparent 1px, transparent 12px) !important;
}

/* ===== CHAT ===== */
.wcs-chat-box { display:flex; flex-direction:column; height:100%; min-height:320px; max-height:440px; }
.wcs-chat-channel-header {
  padding:10px 14px; background:var(--wcs-bg2); border-bottom:1px solid var(--wcs-border);
  display:flex; align-items:center; gap:8px; flex-shrink:0;
}
.wcs-chat-channel-label { font-size:13px; font-weight:700; color:var(--wcs-text); flex:1; }
.wcs-ch-mute-btn {
  background:var(--wcs-bg3); border:1px solid var(--wcs-border); border-radius:7px;
  width:28px; height:28px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.2s; color:var(--wcs-text2);
}
.wcs-ch-mute-btn:hover { border-color:var(--wcs-primary); color:var(--wcs-primary); }
.wcs-ch-mute-btn.ch-muted { color:var(--wcs-danger); border-color:var(--wcs-danger); background:#fee2e2; }
.wcs-chat-messages-wrap {
  flex:1; overflow-y:auto; padding:12px 10px;
  scrollbar-width:thin; scrollbar-color:var(--wcs-border) transparent;
}
.wcs-chat-messages { display:flex; flex-direction:column; gap:4px; }
.wcs-chat-empty, .wcs-chat-loading { text-align:center; color:var(--wcs-text3); font-size:13px; padding:24px; }

/* ===== BUBBLES ===== */
.wcs-msg-bubble {
  max-width:76%; position:relative;
  animation:wcsSlideIn 0.2s ease;
  display:flex; flex-direction:column;
  -webkit-user-select:none; -moz-user-select:none; user-select:none;
  cursor:pointer;
}
.wcs-msg-mine   { align-self:flex-end;   margin-left:auto; }
.wcs-msg-theirs { align-self:flex-start; margin-right:auto; }

.wcs-msg-text-wrap { position:relative; overflow:hidden; }
.wcs-msg-mine .wcs-msg-text-wrap {
  background:var(--wcs-bubble-mine-bg);
  border-radius:16px 16px 4px 16px;
}
.wcs-msg-theirs .wcs-msg-text-wrap {
  background:var(--wcs-bubble-theirs-bg);
  border-radius:16px 16px 16px 4px;
  border:1px solid var(--wcs-border);
}
.wcs-msg-text {
  padding:8px 12px 2px;
  font-size:13.5px; line-height:1.55;
  word-break:break-word; overflow-wrap:anywhere;
  font-family:var(--wcs-font);
}
.wcs-msg-mine .wcs-msg-text   { color:var(--wcs-bubble-mine-text); }
.wcs-msg-theirs .wcs-msg-text { color:var(--wcs-bubble-theirs-text); }

.wcs-msg-footer {
  display:flex; align-items:center; gap:4px;
  padding:1px 10px 6px; line-height:1;
}
.wcs-msg-mine .wcs-msg-footer   { justify-content:flex-end; }
.wcs-msg-theirs .wcs-msg-footer { justify-content:flex-start; }

.wcs-msg-time { font-size:10px; color:var(--wcs-text3); white-space:nowrap; }
.wcs-msg-mine .wcs-msg-time { color:rgba(255,255,255,0.65); }

/* Tick SVG icons */
.wcs-tick-icon { display:inline-block; vertical-align:middle; flex-shrink:0; }
.wcs-tick-clock { stroke:rgba(255,255,255,0.5); }
.wcs-tick-sent  { stroke:rgba(255,255,255,0.7); }
.wcs-tick-read  { stroke:#93c5fd; }
body.wcs-night-mode .wcs-tick-clock { stroke:rgba(255,255,255,0.35); }
body.wcs-night-mode .wcs-tick-sent  { stroke:rgba(255,255,255,0.5); }

.wcs-tick-failed { color:var(--wcs-danger); font-size:13px; font-weight:900; cursor:pointer; }
.wcs-msg-failed .wcs-msg-text-wrap { opacity:0.8; }

/* ===== DELETE MENU ===== */
.wcs-msg-del-menu {
  position:absolute;
  bottom:calc(100% + 4px); right:0;
  background:var(--wcs-bg);
  border:1px solid var(--wcs-border);
  border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,0.2);
  overflow:hidden; z-index:99999;
  min-width:155px;
  animation:wcsPopIn 0.15s ease;
  display:flex; flex-direction:column;
}
.wcs-msg-del-menu button {
  background:none; border:none; padding:11px 14px;
  font-family:var(--wcs-font); font-size:13px; font-weight:600;
  text-align:right; cursor:pointer; color:var(--wcs-text2);
  transition:background 0.15s; direction:rtl; width:100%;
  display:flex; align-items:center;
}
.wcs-del-me-btn:hover  { background:var(--wcs-bg3); color:var(--wcs-warning); }
.wcs-del-all-btn:hover { background:#fee2e2; color:var(--wcs-danger); }

/* Quick messages */
.wcs-quick-msgs-bar {
  display:flex; gap:6px; padding:8px 12px;
  overflow-x:auto; scrollbar-width:none; flex-shrink:0;
  background:var(--wcs-bg2); border-top:1px solid var(--wcs-border);
}
.wcs-quick-msgs-bar::-webkit-scrollbar { display:none; }
.wcs-quick-msg-btn {
  flex-shrink:0; background:var(--wcs-bg); border:1px solid var(--wcs-border);
  border-radius:20px; padding:5px 12px; font-size:11px; font-family:var(--wcs-font);
  cursor:pointer; white-space:nowrap; color:var(--wcs-text2); transition:all 0.2s;
}
.wcs-quick-msg-btn:hover { border-color:var(--wcs-primary); color:var(--wcs-primary); }

/* Chat input */
.wcs-chat-input-bar {
  display:flex; gap:8px; padding:10px 12px;
  background:var(--wcs-bg); border-top:1px solid var(--wcs-border);
  flex-shrink:0; align-items:flex-end;
}
.wcs-chat-input {
  flex:1; padding:10px 14px; border-radius:24px;
  border:1.5px solid var(--wcs-border); font-family:var(--wcs-font);
  font-size:13px; background:var(--wcs-bg2); color:var(--wcs-text);
  outline:none; transition:border-color 0.2s; resize:none;
  max-height:80px; min-height:42px; line-height:1.4;
}
.wcs-chat-input:focus { border-color:var(--wcs-primary); background:var(--wcs-bg); }
.wcs-chat-send-btn {
  background:linear-gradient(135deg, var(--wcs-primary), var(--wcs-primary-dark));
  color:#fff; border:none; border-radius:50%; width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.2s; flex-shrink:0;
}
.wcs-chat-send-btn:hover { transform:scale(1.08); }

/* Spinners */
.wcs-spinner {
  width:28px; height:28px; border:3px solid var(--wcs-border);
  border-top-color:var(--wcs-primary); border-radius:50%;
  animation:wcsSpin 0.75s linear infinite; display:inline-block;
}
.wcs-spinner-sm {
  width:14px; height:14px; border:2px solid rgba(255,255,255,0.3);
  border-top-color:currentColor; border-radius:50%;
  animation:wcsSpin 0.75s linear infinite; display:inline-block;
}
@keyframes wcsSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* Empty & Loading */
.wcs-empty-state { padding:40px 20px; text-align:center; }
.wcs-empty-icon { margin-bottom:10px; color:var(--wcs-text3); display:flex; justify-content:center; }
.wcs-empty-text { font-size:14px; color:var(--wcs-text3); font-family:var(--wcs-font); }
.wcs-loading-state { padding:40px; text-align:center; color:var(--wcs-text3); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; }

/* ===== STAFF WIDGET ===== */
.wcs-staff-widget { display:inline-block; position:relative; }
.wcs-staff-widget-btn {
  font-family:var(--wcs-font); display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px; border:none; border-radius:12px; cursor:pointer;
  font-size:14px; font-weight:700; transition:all 0.3s ease; position:relative;
  box-shadow:0 3px 12px rgba(0,0,0,0.15);
}
.wcs-staff-widget-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.2); }
.wcs-staff-chat-badge {
  position:absolute; top:-6px; right:-6px; background:var(--wcs-danger);
  color:#fff; border-radius:50%; width:20px; height:20px; font-size:10px;
  font-weight:800; display:none; align-items:center; justify-content:center;
  border:2px solid #fff; animation:wcsScalePop 0.3s ease;
}
/* Manager unread badge - different color (teal) */
.wcs-manager-unread-badge {
  position:absolute; top:-6px; left:-6px; background:#0ea5e9;
  color:#fff; border-radius:50%; min-width:20px; height:20px; font-size:10px;
  font-weight:800; display:none; align-items:center; justify-content:center;
  padding:0 4px; border:2px solid #fff; animation:wcsScalePop 0.3s ease;
}

/* ===== STAFF POPUP ===== */
.wcs-staff-popup-overlay {
  position:fixed; inset:0; background:rgba(10,15,30,0.7);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  z-index:999999; display:none; align-items:center; justify-content:center; padding:20px;
}
.wcs-staff-popup-overlay.open { display:flex; }
.wcs-staff-popup {
  background:var(--wcs-bg); border-radius:var(--wcs-radius);
  width:100%; max-width:460px; max-height:86vh; overflow:hidden;
  box-shadow:var(--wcs-shadow); display:flex; flex-direction:column;
  animation:wcsPopIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
  font-family:var(--wcs-font); direction:rtl;
  position:relative; z-index:1000000;
}
.wcs-staff-popup-header {
  display:flex; align-items:center; gap:8px;
  padding:15px 18px 13px;
  background:linear-gradient(135deg, #1e293b, #334155);
  color:#fff; flex-shrink:0;
}
.wcs-chef-header    { background:linear-gradient(135deg, #c2410c, #f97316) !important; }
.wcs-cashier-header { background:linear-gradient(135deg, #0d7377, #14b8a6) !important; }
.wcs-manager-header { background:linear-gradient(135deg, #6d28d9, #8e44ad) !important; }
.wcs-staff-popup-title { flex:1; font-size:15px; font-weight:700; }
.wcs-staff-popup-close {
  background:rgba(255,255,255,0.15); border:none; color:#fff;
  border-radius:8px; width:30px; height:30px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all 0.2s;
}
.wcs-staff-popup-close:hover { background:rgba(255,255,255,0.3); }
.wcs-staff-tabs {
  display:flex; background:var(--wcs-bg2); border-bottom:1px solid var(--wcs-border);
  flex-shrink:0; overflow-x:auto; scrollbar-width:none;
}
.wcs-staff-tabs::-webkit-scrollbar { display:none; }
.wcs-staff-tab-btn {
  flex:1; min-width:0; padding:10px 8px; background:var(--wcs-bg); border:1.5px solid var(--wcs-border);
  font-family:var(--wcs-font); font-size:12px; font-weight:600;
  color:var(--wcs-text2); cursor:pointer; border-radius:8px; margin:4px 2px;
  transition:all 0.2s; display:flex; align-items:center; justify-content:center; gap:5px; white-space:nowrap;
}
.wcs-staff-tab-btn:hover { color:var(--wcs-primary); border-color:var(--wcs-primary); }
.wcs-staff-tab-btn.active { color:var(--wcs-primary); border-color:var(--wcs-primary); background:rgba(108,99,255,0.08); font-weight:700; }
.wcs-staff-tab-content { display:none; overflow-y:auto; flex:1; }
.wcs-staff-tab-content.active { display:flex; flex-direction:column; }
.wcs-staff-call-area { padding:20px; display:flex; flex-direction:column; align-items:center; gap:14px; }
.wcs-staff-do-call-btn {
  background:linear-gradient(135deg, var(--wcs-primary), var(--wcs-primary-dark));
  color:#fff; border:none; border-radius:14px; padding:14px 30px;
  font-size:15px; font-weight:700; font-family:var(--wcs-font);
  cursor:pointer; transition:all 0.3s; display:flex; align-items:center; gap:8px;
}
.wcs-staff-do-call-btn:hover { transform:translateY(-2px); }
.wcs-staff-do-call-btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.wcs-staff-call-status-area { font-size:13px; display:none; }
.wcs-staff-pending   { color:var(--wcs-text2); display:flex; align-items:center; gap:6px; }
.wcs-staff-confirmed { color:var(--wcs-success); display:flex; align-items:center; gap:6px; font-weight:700; }
.wcs-staff-busy      { color:var(--wcs-warning); display:flex; align-items:center; gap:6px; }
.wcs-staff-error     { color:var(--wcs-danger);  display:flex; align-items:center; gap:6px; }

/* ===== BLOCK DIALOG ===== */
.wcs-block-dialog-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.5);
  backdrop-filter:blur(4px); z-index:9999999;
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.wcs-block-dialog {
  background:var(--wcs-bg); border-radius:var(--wcs-radius);
  width:100%; max-width:340px; padding:24px; text-align:center;
  box-shadow:var(--wcs-shadow); animation:wcsPopIn 0.3s ease;
  font-family:var(--wcs-font); direction:rtl;
}
.wcs-block-dialog-header { font-size:16px; font-weight:700; color:var(--wcs-text); margin-bottom:20px; }
.wcs-block-dialog-body { display:flex; gap:12px; margin-bottom:14px; }
.wcs-block-type-btn {
  flex:1; background:var(--wcs-bg2); border:2px solid var(--wcs-border);
  border-radius:var(--wcs-radius-sm); padding:16px 10px; cursor:pointer;
  font-family:var(--wcs-font); font-size:13px; font-weight:700;
  color:var(--wcs-text); transition:all 0.2s; display:flex; flex-direction:column; align-items:center; gap:6px;
}
.wcs-block-type-btn[data-type="temporary"]:hover { border-color:var(--wcs-warning); background:#fef9c3; color:#854d0e; }
.wcs-block-type-btn[data-type="permanent"]:hover  { border-color:var(--wcs-danger);  background:#fee2e2; color:#991b1b; }
.wcs-block-dialog-cancel { background:none; border:1px solid var(--wcs-border); color:var(--wcs-text2); border-radius:8px; padding:8px 20px; cursor:pointer; font-family:var(--wcs-font); font-size:13px; transition:all 0.2s; }
.wcs-block-dialog-cancel:hover { border-color:var(--wcs-text2); }

/* ===== BLOCKED MANAGER ===== */
.wcs-blocked-manager { font-family:var(--wcs-font); direction:rtl; max-width:700px; margin:0 auto; }
.wcs-blocked-manager-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; background:linear-gradient(135deg, var(--wcs-primary), var(--wcs-primary-dark)); border-radius:var(--wcs-radius) var(--wcs-radius) 0 0; color:#fff; }
.wcs-blocked-manager-header h3 { margin:0; font-size:16px; }
.wcs-bm-refresh-btn { background:rgba(255,255,255,0.2); border:1px solid rgba(255,255,255,0.3); color:#fff; border-radius:8px; padding:7px 14px; cursor:pointer; font-family:var(--wcs-font); font-size:13px; transition:all 0.2s; }
.wcs-bm-refresh-btn:hover { background:rgba(255,255,255,0.35); }
.wcs-bm-filters { display:flex; gap:6px; padding:12px 16px; background:var(--wcs-bg2); border-bottom:1px solid var(--wcs-border); }
.wcs-bm-filter-btn { background:var(--wcs-bg); border:1.5px solid var(--wcs-border); border-radius:20px; padding:6px 14px; font-size:12px; font-weight:600; cursor:pointer; font-family:var(--wcs-font); color:var(--wcs-text2); transition:all 0.2s; }
.wcs-bm-filter-btn.active { background:var(--wcs-primary); border-color:var(--wcs-primary); color:#fff; }
.wcs-bm-list { background:var(--wcs-bg); padding:12px; display:flex; flex-direction:column; gap:8px; border-radius:0 0 var(--wcs-radius) var(--wcs-radius); border:1px solid var(--wcs-border); border-top:none; }
.wcs-bm-item { background:var(--wcs-bg2); border-radius:var(--wcs-radius-sm); border:1px solid var(--wcs-border); padding:14px; animation:wcsSlideIn 0.3s ease both; }
.wcs-bm-item-header { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.wcs-bm-ip { font-size:14px; font-weight:700; color:var(--wcs-text); flex:1; direction:ltr; text-align:right; }
.wcs-bm-details { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.wcs-bm-detail { font-size:12px; color:var(--wcs-text2); background:var(--wcs-bg3); padding:3px 10px; border-radius:20px; }
.wcs-bm-actions { display:flex; gap:8px; justify-content:flex-end; }
.wcs-bm-toggle-btn { background:var(--wcs-bg3); border:1px solid var(--wcs-border); border-radius:8px; padding:6px 12px; font-size:12px; font-family:var(--wcs-font); cursor:pointer; color:var(--wcs-text2); transition:all 0.2s; font-weight:600; }
.wcs-bm-toggle-btn:hover { border-color:var(--wcs-primary); color:var(--wcs-primary); }

/* ===== CHAT DATE SEPARATOR ===== */
.wcs-chat-date-sep {
  display:flex; align-items:center; gap:10px; padding:10px 0; margin:4px 0;
}
.wcs-chat-date-sep::before, .wcs-chat-date-sep::after {
  content:''; flex:1; height:1px; background:var(--wcs-border);
}
.wcs-chat-date-sep span {
  font-size:11px; color:var(--wcs-text3); white-space:nowrap;
  background:var(--wcs-chat-bg1); padding:2px 10px; border-radius:12px;
  font-family:var(--wcs-font); font-weight:600;
  border:1px solid var(--wcs-border);
}

/* ===== CALL BUTTON IN CHAT HEADER ===== */
.wcs-chat-call-btn {
  display:flex; align-items:center; gap:4px;
  background:linear-gradient(135deg, var(--wcs-danger), #dc2626);
  color:#fff; border:none; border-radius:8px;
  padding:5px 12px; font-size:11px; font-weight:700;
  font-family:var(--wcs-font); cursor:pointer;
  transition:all 0.2s; white-space:nowrap;
  animation:wcsPulseCall 2s infinite;
}
.wcs-chat-call-btn:hover { transform:scale(1.05); }
.wcs-chat-call-btn:disabled,.wcs-chat-call-btn.wcs-calling {
  opacity:0.6; cursor:not-allowed; animation:none;
}
@keyframes wcsPulseCall {
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.4)}
  50%{box-shadow:0 0 0 6px rgba(239,68,68,0)}
}

/* ===== INLINE CALL CARD IN CHAT ===== */
.wcs-call-card-inline {
  display:flex; align-items:center; gap:10px;
  background:linear-gradient(135deg, var(--wcs-primary), var(--wcs-primary-dark));
  color:#fff; border-radius:12px; padding:10px 14px; margin:8px auto;
  max-width:85%; font-family:var(--wcs-font); font-size:13px;
  box-shadow:0 2px 10px rgba(108,99,255,0.3);
  animation:wcsSlideIn 0.3s ease;
}
.wcs-call-card-icon { flex-shrink:0; opacity:0.9; }
.wcs-call-card-body { flex:1; min-width:0; }
.wcs-call-card-text { font-weight:700; font-size:13px; }
.wcs-call-card-status { font-size:11px; display:flex; align-items:center; gap:4px; opacity:0.9; margin-top:3px; }
.wcs-cc-confirmed { color:#86efac; font-weight:700; }
.wcs-cc-busy { color:#fde68a; font-weight:700; }
.wcs-call-card-done { opacity:0.7; }

/* ===== RESPONSIVE ===== */
@media (max-width:500px) {
  .wcs-popup-overlay       { padding:0; align-items:flex-end; }
  .wcs-popup-body          { max-width:100%; max-height:92vh; border-radius:20px 20px 0 0; }
  .wcs-staff-popup-overlay { padding:0; align-items:flex-end; }
  .wcs-staff-popup         { max-width:100%; max-height:92vh; border-radius:20px 20px 0 0; }
  .wcs-call-item           { padding:6px 8px; gap:6px; }
  .wcs-call-actions        { gap:3px; }
  .wcs-confirm-btn         { padding:4px 8px; font-size:10px; }
  .wcs-busy-btn            { padding:4px 6px; font-size:10px; }
  .wcs-block-btn, .wcs-info-btn { width:26px; height:26px; }
  .wcs-table-number        { font-size:12px; }
  .wcs-call-time           { font-size:9px; }
  .wcs-tab-btn             { font-size:10px; padding:9px 4px; gap:2px; }
  .wcs-msg-bubble          { max-width:88%; }
  .wcs-calls-list          { max-height:320px; gap:4px; padding:6px; }
}
@media (max-width:768px) {
  .wcs-calls-list          { max-height:330px; }
}

/* ===== NIGHT MODE ===== */
body.wcs-night-mode .wcs-call-item { border-color:#3d4555; }
body.wcs-night-mode .wcs-chat-input        { background:var(--wcs-bg2); color:var(--wcs-text); border-color:var(--wcs-border); }
body.wcs-night-mode .wcs-msg-theirs .wcs-msg-text-wrap { border-color:var(--wcs-border); }
body.wcs-night-mode .wcs-block-dialog      { background:var(--wcs-bg2); }
body.wcs-night-mode .wcs-block-type-btn   { background:var(--wcs-bg3); border-color:var(--wcs-border); color:var(--wcs-text); }
body.wcs-night-mode .wcs-quick-msg-btn    { background:var(--wcs-bg3); color:var(--wcs-text2); border-color:var(--wcs-border); }
body.wcs-night-mode .wcs-msg-del-menu     { background:var(--wcs-bg2); border-color:var(--wcs-border); }
body.wcs-night-mode .wcs-msg-del-menu button { color:var(--wcs-text2); }
body.wcs-night-mode .wcs-del-me-btn:hover  { background:var(--wcs-bg3); }
body.wcs-night-mode .wcs-del-all-btn:hover { background:#2d1515; color:#fca5a5; }

/* ===== ANIMATIONS ===== */
@keyframes wcsGlow { 0%,100%{box-shadow:0 0 0 0 rgba(108,99,255,0)} 50%{box-shadow:0 0 0 6px rgba(108,99,255,0.25)} }
.wcs-panel-button.wcs-has-unread { animation:wcsGlow 2s infinite; }
.wcs-call-button.wcs-blocked-state { cursor:not-allowed !important; opacity:0.75 !important; }

/* ===== SOFT POPUP (customer warning) ===== */
.wcs-soft-popup {
  position:fixed; top:20px; left:50%; transform:translateX(-50%) translateY(-30px);
  background:linear-gradient(135deg,#1e293b,#334155); color:#fff;
  padding:14px 28px; border-radius:16px; font-family:var(--wcs-font);
  font-size:14px; font-weight:600; z-index:9999999;
  box-shadow:0 10px 40px rgba(0,0,0,0.3); opacity:0;
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  pointer-events:none; text-align:center; max-width:90%;
}
.wcs-soft-popup.wcs-sp-show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ===== INTERNAL BADGE ON MAIN BUTTON ===== */
.wcs-internal-badge-btn {
  background:rgba(180,180,195,0.85); color:#fff; border-radius:6px;
  min-width:22px; height:22px; font-size:11px; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center;
  border:2px solid #fff; animation:wcsScalePop 0.3s ease;
  margin-right:-4px; padding:0 4px; box-sizing:border-box;
}

/* ===== REQUEST COUNT in card ===== */
.wcs-req-count {
  font-size:10px; color:var(--wcs-text3); background:var(--wcs-bg3);
  padding:2px 8px; border-radius:12px; display:block; margin:3px auto 0;
  width:fit-content; text-align:center;
}

/* ===== BIGGER CONFIRM BUTTON ===== */
.wcs-confirm-btn {
  background:linear-gradient(135deg, var(--wcs-success), #16a34a);
  color:#fff; border:none; border-radius:10px;
  padding:10px 24px; font-size:14px; font-weight:700;
  cursor:pointer; display:flex; align-items:center; gap:4px;
  transition:all 0.2s; font-family:var(--wcs-font); white-space:nowrap;
  min-height:38px;
}
.wcs-confirm-btn:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(34,197,94,0.3); }
.wcs-confirm-btn:disabled { opacity:0.6; cursor:not-allowed; transform:none; }

/* ===== INTERNAL CALL TYPE BADGES (professional) ===== */
.wcs-call-type-badge {
  font-size:12px; padding:5px 12px; border-radius:20px; font-weight:700;
  display:inline-flex; align-items:center; gap:5px;
}
.wcs-type-chef    { background:linear-gradient(135deg,#fff3e0,#ffe0b2); color:#e65100; border:1px solid #ffcc80; }
.wcs-type-cashier { background:linear-gradient(135deg,#e0f2f1,#b2dfdb); color:#006064; border:1px solid #80cbc4; }
.wcs-type-manager { background:linear-gradient(135deg,#f3e5f5,#e1bee7); color:#6a1b9a; border:1px solid #ce93d8; }

/* ===== CALL CARD TIME IN CHAT ===== */
.wcs-call-card-time { font-size:10px; opacity:0.7; margin-right:6px; }

/* ===== ACTIVE BUTTON STATE ===== */
.wcs-btn-active-state {
  animation:wcsActiveGlow 2s infinite !important;
}
@keyframes wcsActiveGlow {
  0%,100%{box-shadow:0 4px 15px rgba(34,197,94,0.3)}
  50%{box-shadow:0 4px 25px rgba(34,197,94,0.6),0 0 0 4px rgba(34,197,94,0.1)}
}
@keyframes wcsHourglass {
  0%{transform:rotate(0deg)} 50%{transform:rotate(180deg)} 100%{transform:rotate(360deg)}
}
.wcs-hourglass-svg {
  animation:wcsHourglass 4s ease-in-out infinite;
  transform-origin:center; display:block;
}

/* ===== STAFF TAB BUTTONS (bordered) ===== */

/* =====================================================================
   CASHIER PANEL UPGRADE (v16.0.2)
   Live customer table-calls + confirm/block + table-number button badge
   ===================================================================== */

/* Wider popup so the live calls list breathes */
.wcs-cashier-popup { max-width:520px; }

/* v16.2.0 — حذف کامل چشمک‌زدن دکمه‌ی صندوقدار. هیچ انیمیشن/افکت ضربانی روی دکمه اعمال نمی‌شود. */
.wcs-cashier-widget-btn { min-width:120px; justify-content:center; flex-wrap:nowrap; }
/* (کلاس‌های wcs-new-call-pulse و wcs-cashier-active-calls عمداً تعریف نشده‌اند) */

/* Button badge: distinct calling table numbers (label hidden while active) */
.wcs-cashier-tables-badge {
  display:none; align-items:center; flex-wrap:nowrap; gap:4px;
  max-width:240px; overflow:hidden; direction:rtl;
}
.wcs-ct-chip {
  background:rgba(255,255,255,0.22); color:#fff; border:1px solid rgba(255,255,255,0.45);
  border-radius:7px; min-width:18px; height:20px; padding:0 5px; box-sizing:border-box;
  font-size:11px; font-weight:800; line-height:18px; text-align:center;
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  animation:wcsScalePop 0.25s ease;
}
.wcs-ct-more { background:rgba(0,0,0,0.28); border-color:rgba(255,255,255,0.3); }

/* Tab "call count" badge for the cashier فراخوانی tab */
.wcs-cashier-tab-call-count {
  background:var(--wcs-danger); color:#fff; border-radius:8px;
  padding:1px 5px; font-size:9px; font-weight:800; display:none;
  min-width:14px; text-align:center; line-height:14px;
  flex-shrink:0; box-sizing:border-box;
}

/* Toolbar at the top of the calls tab (notification control lives here) */
.wcs-cashier-calls-toolbar {
  display:flex; align-items:center; gap:8px; flex-shrink:0;
  padding:9px 14px; background:var(--wcs-bg2); border-bottom:1px solid var(--wcs-border);
}
.wcs-cct-title { flex:1; font-size:13px; font-weight:700; color:var(--wcs-text); }

/* Cashier live-calls list (mirrors the waiter calls list) */
.wcs-cashier-calls-list {
  padding:8px; display:flex; flex-direction:column; gap:6px;
  max-height:360px; overflow-y:auto;
  scrollbar-width:thin; scrollbar-color:var(--wcs-border) transparent;
}
.wcs-cashier-calls-list::-webkit-scrollbar { width:4px; }
.wcs-cashier-calls-list::-webkit-scrollbar-thumb { background:var(--wcs-border); border-radius:4px; }

/* Cashier blocked-users list */
.wcs-cashier-blocked-list { padding:8px; display:flex; flex-direction:column; gap:6px; max-height:380px; overflow-y:auto; }

/* Night-mode niceties for the new pieces */
body.wcs-night-mode .wcs-cashier-calls-toolbar { background:var(--wcs-bg2); border-color:var(--wcs-border); }
body.wcs-night-mode .wcs-ct-chip { background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.3); }

@media (max-width:500px) {
  .wcs-cashier-calls-list   { max-height:330px; gap:4px; padding:6px; }
  .wcs-cashier-tables-badge { max-width:170px; }
  .wcs-cashier-widget-btn   { min-width:96px; }
}

/* ============================================================
 * v16.1.1 — کارت «گارسون در راه است» (claimed) — چیدمان افقی
 * کارت افقی می‌ماند؛ نوار نام به‌صورت یک ریبون بالای کارت (absolute)
 * می‌نشیند تا چیدمان داخلی (میز + دکمه‌ها) افقی و مرتب بماند.
 * ============================================================ */
.wcs-call-item.wcs-call-claimed {
  position:relative;
  /* چیدمان افقی حفظ می‌شود (flex-direction:row از پیش‌فرض کارت) */
  margin-top:14px;
  padding-top:14px;
  border:2px solid #f97316 !important;
  border-top:4px solid #f97316 !important;
  background:linear-gradient(180deg, rgba(249,115,22,0.10), var(--wcs-bg) 55%);
  box-shadow:0 0 0 2px rgba(249,115,22,0.16), 0 3px 12px rgba(249,115,22,0.20);
}
.wcs-call-item.wcs-call-claimed:hover {
  border-color:#ea580c !important;
  box-shadow:0 0 0 2px rgba(249,115,22,0.24), 0 5px 16px rgba(249,115,22,0.26);
}
/* ریبون نام گارسون — بالای کارت، بدون به‌هم زدن چیدمان افقی */
.wcs-claimed-banner {
  position:absolute; top:-12px; right:10px; left:10px;
  display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:nowrap;
  background:linear-gradient(135deg,#f97316,#ea580c); color:#fff;
  border-radius:7px; padding:4px 10px; font-weight:800; font-size:12px;
  box-shadow:0 2px 8px rgba(249,115,22,0.45);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.wcs-claimed-ico { flex-shrink:0; }
.wcs-claimed-name { font-size:13px; font-weight:900; padding:0 2px; }
.wcs-claimed-text { font-weight:700; opacity:0.97; overflow:hidden; text-overflow:ellipsis; }
.wcs-claim-btn {
  background:#f97316; color:#fff; border:none;
  border-radius:6px; padding:5px 10px; font-size:11.5px; font-weight:700; font-family:var(--wcs-font);
  cursor:pointer; display:flex; align-items:center; gap:4px; transition:all 0.2s;
  box-shadow:0 1px 4px rgba(249,115,22,0.35); white-space:nowrap;
}
.wcs-claim-btn:hover { background:#ea580c; transform:translateY(-1px); box-shadow:0 2px 8px rgba(249,115,22,0.45); }
.wcs-claim-btn:disabled { opacity:0.7; cursor:default; }
.wcs-unclaim-btn {
  background:var(--wcs-bg3); color:#ea580c; border:1px solid #fdba74;
  border-radius:6px; padding:5px 9px; font-size:11px; font-weight:700; font-family:var(--wcs-font);
  cursor:pointer; display:flex; align-items:center; gap:3px; transition:all 0.2s; white-space:nowrap;
}
.wcs-unclaim-btn:hover { border-color:#ea580c; background:#fff7ed; }
body.wcs-night-mode .wcs-call-item.wcs-call-claimed { background:linear-gradient(180deg, rgba(249,115,22,0.20), var(--wcs-bg) 55%); }
body.wcs-night-mode .wcs-unclaim-btn { background:var(--wcs-bg3); color:#fdba74; border-color:#7c3a12; }
body.wcs-night-mode .wcs-unclaim-btn:hover { background:#3a2410; }

/* ============================================================
 * v16.1.1 — دکمه‌ی «انتخاب گارسون» (پنل صندوقدار) + منوی انتخاب سریع
 * ============================================================ */
.wcs-assign-btn {
  background:#f97316; color:#fff; border:none;
  border-radius:6px; padding:5px 10px; font-size:11.5px; font-weight:700; font-family:var(--wcs-font);
  cursor:pointer; display:flex; align-items:center; gap:4px; transition:all 0.2s;
  box-shadow:0 1px 4px rgba(249,115,22,0.35); white-space:nowrap;
}
.wcs-assign-btn:hover { background:#ea580c; transform:translateY(-1px); }
.wcs-assign-btn.wcs-reassign { padding:5px 8px; }
/* منوی انتخاب گارسون — کوچک، سریع، بالای کارت */
.wcs-call-item { position:relative; }
.wcs-waiter-picker {
  position:absolute; z-index:50; top:50%; left:8px; transform:translateY(-50%);
  width:200px; max-width:calc(100% - 16px);
  background:var(--wcs-bg); border:1px solid var(--wcs-border);
  border-radius:12px; box-shadow:0 12px 36px rgba(0,0,0,0.22);
  overflow:hidden; animation:wcsScalePop 0.16s ease; direction:rtl;
}
.wcs-wp-head {
  background:linear-gradient(135deg,#f97316,#ea580c); color:#fff;
  font-size:12px; font-weight:800; padding:8px 12px; text-align:center;
}
.wcs-wp-search-wrap { padding:7px 8px 4px; }
.wcs-wp-search {
  width:100%; box-sizing:border-box; border:1px solid var(--wcs-border);
  border-radius:8px; padding:7px 10px; font-size:13px; font-family:var(--wcs-font);
  background:var(--wcs-bg2); color:var(--wcs-text); outline:none; direction:rtl;
}
.wcs-wp-search:focus { border-color:#f97316; }
.wcs-wp-list { max-height:200px; overflow-y:auto; padding:4px 6px 8px; display:flex; flex-direction:column; gap:4px; }
.wcs-wp-item {
  width:100%; text-align:right; background:var(--wcs-bg2); color:var(--wcs-text);
  border:1px solid var(--wcs-border); border-radius:8px; padding:9px 12px;
  font-size:13.5px; font-weight:700; font-family:var(--wcs-font); cursor:pointer;
  transition:all 0.15s; display:flex; align-items:center; gap:6px;
}
.wcs-wp-item:hover { background:#fff7ed; border-color:#f97316; color:#ea580c; transform:translateX(-2px); }
.wcs-wp-loading { display:flex; align-items:center; justify-content:center; padding:18px; }
body.wcs-night-mode .wcs-wp-item:hover { background:#3a2410; color:#fdba74; }
@media (max-width:480px){
  .wcs-waiter-picker { width:170px; left:6px; }
}

/* ============================================================
 * v16.2.0 — ردیف «اخیر» در منوی انتخاب گارسون (یک‌کلیکه)
 * ============================================================ */
.wcs-wp-recents { padding:6px 8px 4px; border-bottom:1px dashed var(--wcs-border); background:rgba(249,115,22,0.05); }
.wcs-wp-recents-label { font-size:10.5px; font-weight:800; color:#ea580c; margin-bottom:5px; padding:0 2px; letter-spacing:0.3px; }
.wcs-wp-recents-row { display:flex; flex-wrap:wrap; gap:5px; }
.wcs-wp-item-recent {
  flex:0 0 auto; padding:6px 10px !important; font-size:12px !important;
  background:#fff7ed !important; border-color:#fdba74 !important; color:#9a3412 !important;
  font-weight:800 !important; border-radius:14px !important;
  display:inline-flex !important; transform:none !important;
}
.wcs-wp-item-recent:hover { background:#f97316 !important; color:#fff !important; border-color:#ea580c !important; transform:none !important; }
body.wcs-night-mode .wcs-wp-recents { background:rgba(249,115,22,0.10); }
body.wcs-night-mode .wcs-wp-item-recent { background:#3a2410 !important; color:#fdba74 !important; border-color:#7c3a12 !important; }
body.wcs-night-mode .wcs-wp-item-recent:hover { background:#f97316 !important; color:#fff !important; }

/* ============================================================
 * v16.2.0 — برجسته‌سازی کارت فراخوانی که به گارسونِ فعلی تعلق گرفته
 * ============================================================ */
.wcs-call-item.wcs-claimed-by-me {
  border-color:#10b981 !important;
  box-shadow:0 0 0 2px rgba(16,185,129,0.30), 0 6px 18px rgba(16,185,129,0.28) !important;
  background:linear-gradient(180deg, rgba(16,185,129,0.10), var(--wcs-bg) 60%) !important;
}
.wcs-call-item.wcs-claimed-by-me .wcs-claimed-banner {
  background:linear-gradient(135deg,#10b981,#059669) !important;
  box-shadow:0 2px 8px rgba(16,185,129,0.45) !important;
}
.wcs-call-item.wcs-claimed-by-me .wcs-claimed-text::before {
  content:'\u2605 '; margin-left:2px;
}
body.wcs-night-mode .wcs-call-item.wcs-claimed-by-me {
  background:linear-gradient(180deg, rgba(16,185,129,0.18), var(--wcs-bg) 55%) !important;
}

/* ============================================================
 * v16.2.0 — دکمه و فرم «فراخوانی جدید» در پنل صندوقدار
 * ============================================================ */
.wcs-cashier-create-call-btn {
  display:inline-flex; align-items:center; gap:5px;
  background:linear-gradient(135deg,#10b981,#059669); color:#fff;
  border:none; border-radius:8px; padding:6px 11px;
  font-size:12px; font-weight:800; font-family:var(--wcs-font);
  cursor:pointer; transition:all 0.18s; white-space:nowrap;
  box-shadow:0 2px 6px rgba(16,185,129,0.35);
  margin-right:auto; /* در RTL یعنی سمت چپ */
}
.wcs-cashier-create-call-btn:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(16,185,129,0.5); }
.wcs-cashier-create-call-btn.active { background:linear-gradient(135deg,#059669,#047857); transform:translateY(0); }
.wcs-cashier-create-call-btn svg { flex-shrink:0; }

.wcs-cashier-create-form-wrap { padding:0 10px; }
.wcs-ccf-card {
  background:linear-gradient(180deg, rgba(16,185,129,0.06), var(--wcs-bg));
  border:1.5px solid rgba(16,185,129,0.35); border-radius:12px;
  padding:12px 14px; margin:8px 0 10px;
  box-shadow:0 4px 14px rgba(16,185,129,0.10);
  animation:wcsScalePop 0.18s ease;
}
.wcs-ccf-head {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:10px; padding-bottom:8px;
  border-bottom:1px dashed rgba(16,185,129,0.30);
}
.wcs-ccf-title {
  font-size:13px; font-weight:900; color:#059669;
  display:inline-flex; align-items:center; gap:6px;
}
.wcs-ccf-close {
  background:transparent; border:none; cursor:pointer;
  color:var(--wcs-text2); padding:4px; border-radius:6px;
  display:inline-flex; align-items:center; justify-content:center;
  transition:all 0.15s;
}
.wcs-ccf-close:hover { background:rgba(239,68,68,0.12); color:#ef4444; }

.wcs-ccf-row { margin-bottom:10px; }
.wcs-ccf-label {
  display:block; font-size:11.5px; font-weight:800; color:var(--wcs-text);
  margin-bottom:5px; padding:0 2px;
}
.wcs-ccf-optional { font-size:10px; color:var(--wcs-text2); font-weight:600; }
.wcs-ccf-table {
  width:100%; box-sizing:border-box; padding:9px 12px;
  border:1.5px solid var(--wcs-border); border-radius:9px;
  background:var(--wcs-bg2); color:var(--wcs-text);
  font-size:14px; font-weight:700; font-family:var(--wcs-font);
  text-align:center; outline:none; direction:rtl;
  transition:border-color 0.15s, box-shadow 0.15s;
}
.wcs-ccf-table:focus { border-color:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,0.18); }

.wcs-ccf-waiters-list {
  display:flex; flex-wrap:wrap; gap:6px;
  max-height:120px; overflow-y:auto;
  padding:6px; background:var(--wcs-bg2);
  border:1px solid var(--wcs-border); border-radius:9px;
}
.wcs-ccf-w-chip {
  background:var(--wcs-bg); color:var(--wcs-text);
  border:1.5px solid var(--wcs-border); border-radius:14px;
  padding:6px 11px; font-size:12px; font-weight:700; font-family:var(--wcs-font);
  cursor:pointer; transition:all 0.15s; white-space:nowrap;
}
.wcs-ccf-w-chip:hover { border-color:#10b981; color:#059669; }
.wcs-ccf-w-chip.active {
  background:linear-gradient(135deg,#10b981,#059669); color:#fff;
  border-color:#059669; box-shadow:0 2px 6px rgba(16,185,129,0.40);
}
.wcs-ccf-w-none { background:rgba(148,163,184,0.18); }
.wcs-ccf-w-none.active { background:linear-gradient(135deg,#64748b,#475569); border-color:#475569; box-shadow:0 2px 6px rgba(100,116,139,0.40); }
.wcs-ccf-no-waiters {
  font-size:11.5px; color:var(--wcs-text2); padding:6px 4px; font-style:italic;
}
.wcs-ccf-loading { display:flex; align-items:center; justify-content:center; padding:14px; width:100%; }

.wcs-ccf-actions { display:flex; gap:8px; margin-top:6px; }
.wcs-ccf-submit {
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:5px;
  background:linear-gradient(135deg,#10b981,#059669); color:#fff;
  border:none; border-radius:9px; padding:10px 14px;
  font-size:13px; font-weight:800; font-family:var(--wcs-font);
  cursor:pointer; transition:all 0.18s;
  box-shadow:0 3px 10px rgba(16,185,129,0.35);
}
.wcs-ccf-submit:hover { transform:translateY(-1px); box-shadow:0 5px 14px rgba(16,185,129,0.50); }
.wcs-ccf-submit:disabled { opacity:0.7; cursor:default; transform:none; }
.wcs-ccf-submit.wcs-loading { opacity:0.85; }
.wcs-ccf-cancel {
  background:transparent; color:var(--wcs-text2);
  border:1.5px solid var(--wcs-border); border-radius:9px;
  padding:10px 16px; font-size:12.5px; font-weight:700; font-family:var(--wcs-font);
  cursor:pointer; transition:all 0.15s;
}
.wcs-ccf-cancel:hover { border-color:#ef4444; color:#ef4444; background:rgba(239,68,68,0.06); }

.wcs-ccf-msg {
  margin-top:8px; padding:7px 10px; border-radius:7px;
  font-size:12px; font-weight:700; text-align:center;
}
.wcs-ccf-msg.success { background:rgba(16,185,129,0.15); color:#059669; border:1px solid rgba(16,185,129,0.35); }
.wcs-ccf-msg.error { background:rgba(239,68,68,0.12); color:#dc2626; border:1px solid rgba(239,68,68,0.30); }

body.wcs-night-mode .wcs-ccf-card { background:linear-gradient(180deg, rgba(16,185,129,0.10), var(--wcs-bg)); }
body.wcs-night-mode .wcs-ccf-w-chip { background:var(--wcs-bg2); }
body.wcs-night-mode .wcs-ccf-msg.success { background:rgba(16,185,129,0.20); color:#34d399; }
body.wcs-night-mode .wcs-ccf-msg.error { background:rgba(239,68,68,0.20); color:#fca5a5; }

@media (max-width:480px){
  .wcs-cashier-create-call-btn span { display:none; }
  .wcs-ccf-actions { flex-direction:column; }
  .wcs-ccf-cancel { width:100%; }
}
