/* styles-store.css — 门店管理大系统补充样式（欧代美业原版模块）
 * 基础类取自 E:\oudai-commerce\site\assets\admin.css 原版主题，缺失类按 xjoudai 主题补齐。
 */

/* ===== 门店管理大系统（欧代美业原版模块）补充样式 ===== */
.tbl .num { text-align:left;font-variant-numeric:tabular-nums;font-family:inherit }
.tbl .mono { font-family:"SF Mono","Cascadia Code","Consolas",monospace;font-size:11.5px;color:#888 }
/* بەلگە */
.badge { display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600 }
.badge.ok { background:#f6ffed;color:var(--green) }
.badge.on { background:#e6f7ff;color:var(--blue) }
.badge.warn { background:#fff7e6;color:var(--warm) }
.badge.fail { background:#fff2f0;color:var(--red) }
.badge.dim { background:#f5f5f5;color:#999 }
.badge.vip { background:linear-gradient(135deg,#f9f0ff,#efdbff);color:var(--violet) }
.badge.gold { background:#fffbe6;color:#d48806 }
.badge.silver { background:#f5f5f5;color:#8c8c8c }
/* ===== ماگىزىن كارتىلىرى ===== */
.card-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px }
.store-card,.eng-card,.set-card { background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04); }
/* ===== تېخنىكچى كارتىلىرى ===== */
.eng-card { display:flex;flex-direction:column;align-items:center;padding:20px;gap:8px;text-align:center; }
.eng-avatar { font-size:48px;margin-bottom:2px }
.eng-stats { display:flex;gap:16px;font-size:12.5px;color:#666 }
.eng-store { font-size:12px;color:#999;background:#f5f5f5;padding:2px 12px;border-radius:10px }
.eng-actions { display:flex;gap:12px;margin-top:4px }
/* ===== رول كارتىلىرى ===== */
.role-card { background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);
  display:flex;flex-direction:column;transition:.2s; }
.role-card:hover { box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px) }
.rlc-head { padding:18px 16px 14px;text-align:center;color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark)); }
.role-card:nth-child(2) .rlc-head { background:linear-gradient(135deg,var(--blue),#40a9ff) }
.role-card:nth-child(3) .rlc-head { background:linear-gradient(135deg,var(--green),#389e0d) }
.role-card:nth-child(4) .rlc-head { background:linear-gradient(135deg,var(--warm),#d46b08) }
.role-card:nth-child(5) .rlc-head { background:linear-gradient(135deg,#8c8c8c,#595959) }
.rlc-ico { font-size:42px;display:block;margin-bottom:4px }
.rlc-title { font-size:16px;font-weight:700;margin:0 }
.rlc-body { padding:12px 16px;display:flex;gap:16px;justify-content:center;border-bottom:1px solid #f5f5f5 }
.rlc-stat { text-align:center;font-size:12px;color:#999 }
.rlc-stat b { display:block;font-size:18px;color:#333 }
.rlc-perms { display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;flex:1 }
.rperm { display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;
  background:#f0f5ff;color:#2f54eb;border:1px solid #d6e4ff; }
.rperm.off { background:#fafafa;color:#bbb;border-color:#f0f0f0 }
.rlc-foot { padding:10px 16px;display:flex;gap:16px;border-top:1px solid #f5f5f5;justify-content:center }
/* رول بەلگىلىرى */
.badge.super { background:linear-gradient(135deg,#f9f0ff,#efdbff);color:var(--violet);font-weight:700 }
.badge.manager { background:#e6f7ff;color:var(--blue-dark) }
.badge.cashier { background:#f6ffed;color:#389e0d }
.badge.tech { background:#fff7e6;color:#d46b08 }
.pill.vid.dim { opacity:.35 }
[dir=ltr] .tbl .num { text-align:right }
/* كاسسا */
.cashier-cont { display:grid;grid-template-columns:1fr 1fr;gap:20px }
.cash-left { background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.06) }
.cash-left h3 { margin-top:0;font-size:18px;color:var(--tx) }
.cash-right { background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.06) }
.cash-right h4 { margin-top:0;font-size:14px;color:var(--tx) }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; }
.data-table th { background: #f5f8fc; color: var(--muted); font-weight: 600; text-align: left; padding: 10px 12px; border-bottom: 1px solid #edf2f7; white-space: nowrap; }
.data-table td { padding: 10px 12px; border-bottom: 1px solid #edf2f7; color: var(--ink); vertical-align: middle; }
.data-table tr:last-child td { border-bottom: none; }
.data-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.data-table .mono { font-family: "SF Mono", "Cascadia Code", "Consolas", monospace; font-size: 12px; color: var(--muted); }
.data-table.sm td, .data-table.sm th { padding: 7px 10px; font-size: 12.5px; }
[dir="rtl"] .data-table .num, [dir="rtl"] .data-table th { text-align: right; }
.filter-select { min-height: 36px; min-width: 140px; border: 1px solid #cfe0f3; border-radius: 6px; background: #fff; color: var(--ink); padding: 6px 10px; font-size: 13px; }
.filter-select:focus { outline: none; border-color: var(--blue); }
.text-btn.danger { color: var(--red); }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.eng-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.role-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.badge.ok { background: #e8fff3; color: var(--green); }
.badge.dim { background: #f5f5f5; color: #999; }
.badge.gold { background: #fffbe6; color: #d48806; }
.eng-card { display: flex; flex-direction: column; align-items: center; padding: 20px; gap: 8px; text-align: center; background: #fff; border: 1px solid #e6eef8; border-radius: 10px; box-shadow: var(--shadow); }
.eng-avatar { font-size: 48px; margin-bottom: 2px; }
.eng-stats { display: flex; gap: 16px; font-size: 12.5px; color: var(--muted); }
.eng-store { font-size: 12px; color: var(--muted); background: #f5f5f5; padding: 2px 12px; border-radius: 10px; }
.eng-actions { display: flex; gap: 12px; margin-top: 4px; }
.role-card { background: #fff; border: 1px solid #e6eef8; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.role-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,.08); transform: translateY(-1px); }
.rlc-head { padding: 18px 16px 14px; text-align: center; color: #fff; background: linear-gradient(135deg, var(--blue), var(--blue-dark)); }
.rlc-ico { font-size: 42px; display: block; margin-bottom: 4px; }
.rlc-title { font-size: 16px; font-weight: 700; margin: 0; }
.rlc-title small { display: block; font-size: 12px; font-weight: 400; opacity: .85; margin-top: 2px; }
.rlc-body { padding: 12px 16px; display: flex; gap: 16px; justify-content: center; border-bottom: 1px solid #edf2f7; }
.rlc-stat { text-align: center; font-size: 12px; color: var(--muted); }
.rlc-stat b { display: block; font-size: 18px; color: var(--ink); }
.rlc-perms { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 16px; flex: 1; align-content: flex-start; }
.rperm { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 11px; background: #f0f5ff; color: var(--blue); border: 1px solid #d6e4ff; }
.rlc-foot { padding: 10px 16px; display: flex; gap: 16px; border-top: 1px solid #edf2f7; justify-content: center; }
.role-perm-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 12px; font-size: 12px; background: var(--soft); cursor: pointer; }
.cashier-wrap .admin-header { margin-bottom: 14px; }
.cashier-cont { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cash-left, .cash-right { background: #fff; border: 1px solid #e6eef8; border-radius: 14px; padding: 20px; box-shadow: var(--shadow); }
.cash-left h3 { margin-top: 0; font-size: 18px; }
.cash-right h4 { margin-top: 0; font-size: 14px; color: var(--muted); }
.cashier-methods { display: flex; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.cashier-methods .badge { cursor: pointer; user-select: none; }
.sched-cell { border: 1px solid #cfe0f3; border-radius: 6px; padding: 6px 10px; font-size: 12px; min-width: 64px; background: #fff; cursor: pointer; color: var(--ink); }
.sched-cell.on { background: #e8f4ff; color: var(--blue); border-color: var(--blue); }
.sched-cell.off { background: #f5f5f5; color: var(--muted); }
.schedule-table td { text-align: center; }
@media (max-width: 900px) {
  .cashier-cont { grid-template-columns: 1fr; }
  .card-grid, .eng-grid, .role-grid { grid-template-columns: 1fr; }
}
