:root{
  --bg:#0f172a; --bg2:#1e293b; --card:#1e293b; --line:#334155;
  --fg:#e2e8f0; --muted:#94a3b8; --brand:#38bdf8; --brand2:#6366f1;
  --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444; --rad:14px;
}
/* ── تم‌های پنل (تاریک پیش‌فرض / تیره / روشن / روشن‌تر) ── */
body.theme-dark{ /* برابر پیش‌فرض :root */
  --bg:#0f172a; --bg2:#1e293b; --card:#1e293b; --line:#334155;
  --fg:#e2e8f0; --muted:#94a3b8; --brand:#38bdf8; --brand2:#6366f1;
  --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444;
}
body.theme-tark{
  --bg:#080d18; --bg2:#0e1626; --card:#101a2e; --line:#1c2a44;
  --fg:#cbd5e1; --muted:#64748b; --brand:#38bdf8; --brand2:#6366f1;
  --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444;
}
body.theme-light{
  --bg:#e8edf5; --bg2:#d5dce8; --card:#ffffff; --line:#a0aec0;
  --fg:#1a202c; --muted:#4a5568; --brand:#2b6cb0; --brand2:#553c9a;
  --ok:#276749; --warn:#975a16; --bad:#c53030;
}
body.theme-lighter{
  --bg:#f0f4f8; --bg2:#e2e8f0; --card:#ffffff; --line:#cbd5e0;
  --fg:#1a202c; --muted:#4a5568; --brand:#2c5282; --brand2:#44337a;
  --ok:#22543d; --warn:#744210; --bad:#9b2c2c;
}
body.theme-lightest{
  --bg:#f7fafc; --bg2:#edf2f7; --card:#ffffff; --line:#e2e8f0;
  --fg:#171923; --muted:#4a5568; --brand:#2a4365; --brand2:#3c2f6e;
  --ok:#1c4532; --warn:#7b341e; --bad:#742a2a;
}
body.theme-midnight{
  --bg:#020617; --bg2:#0f172a; --card:#1e293b; --line:#334155;
  --fg:#f1f5f9; --muted:#64748b; --brand:#a78bfa; --brand2:#ec4899;
  --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444;
}
*{box-sizing:border-box; margin:0; padding:0}
html,body{height:100%}
body{
  background:var(--bg); color:var(--fg);
  font-family:'Segoe UI',Vazirmatn,Tahoma,sans-serif; font-size:14px;
  overflow:hidden;
}
.hidden{display:none !important}
.muted{color:var(--muted)}
.btn{
  border:none; border-radius:10px; padding:10px 16px; font-size:15px;
  cursor:pointer; background:var(--bg2); color:var(--fg); transition:.15s;
}
.btn:hover{filter:brightness(1.15)}
.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand2)); color:#fff}
.btn.ghost{background:transparent; border:1px solid var(--line)}
.btn.danger{background:var(--bad); color:#fff}
.btn.sm{padding:6px 10px; font-size:13px}
#theme-select{width:auto; flex:none; padding:6px 8px; cursor:pointer}
input,select,textarea{
  background:var(--bg); border:1px solid var(--line); border-radius:10px;
  padding:10px 12px; color:var(--fg); font-size:15px; width:100%;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand)}
label{display:block; font-size:13px; color:var(--muted); margin:10px 0 4px}

/* لاگین */
#login-screen{height:100vh; min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px}
.login-box{
  background:var(--card); border:1px solid var(--line); border-radius:20px;
  padding:36px 30px; width:100%; max-width:360px; text-align:center;
}
.login-logo{width:84px; height:84px; margin-bottom:8px}
.login-box h1{font-size:22px; margin-bottom:2px}
.login-box .muted{font-size:13px; margin-bottom:14px}
.login-box input{margin-bottom:10px}
#login-btn{width:100%; margin-top:6px}
.error{color:var(--bad); font-size:13px; margin-top:8px; min-height:18px}
.pulse{animation:p 1.5s infinite}
@keyframes p{50%{opacity:.4}}

/* توپ‌بار */
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 16px; background:var(--bg2); border-bottom:1px solid var(--line);
}
.brand{display:flex; align-items:center; gap:10px}
.mini-logo{width:40px; height:40px}
.app-title{font-weight:700; font-size:16px; color:var(--brand)}
.branch-name{font-size:13px; color:var(--muted)}
.top-actions{display:flex; align-items:center; gap:10px}
.net{font-size:13px; padding:4px 10px; border-radius:999px}
.net.online{background:rgba(34,197,94,.15); color:var(--ok)}
.net.offline{background:rgba(239,68,68,.15); color:var(--bad)}

/* ساختار پنل واحد (نه نسخه‌های قدیمی branch/admin) */
header{height:52px; display:flex; align-items:center; gap:10px; padding:4px 12px; background:var(--bg2); border-bottom:1px solid var(--line)}
.hdr-title{display:flex; align-items:center; gap:8px; min-width:140px}
.hdr-logo{width:36px; height:36px; flex:none}
.hdr-app{font-size:20px; font-weight:800; color:var(--brand); white-space:nowrap}
.hdr-branch{font-size:13px; color:var(--muted); margin-top:2px;font-weight:700;letter-spacing:0.3px}
.hdr-datetime{display:flex; align-items:center; justify-content:flex-start; gap:16px; color:var(--fg); font-size:13px; margin-right:auto}
.hdr-datetime #today-date{font-size:16px; font-weight:800; color:var(--warn)}
.hdr-datetime #today-time{font-size:16px; font-weight:800; color:var(--warn)}

/* تب عملکرد — جدول خلاصه زیرتب‌ها */
.comm-perf-table{width:100%;max-width:600px;margin:16px auto;border-collapse:collapse;font-size:14px}
.comm-perf-table th{background:var(--bg2);color:var(--fg);padding:10px 14px;text-align:right;border:1px solid var(--line)}
.comm-perf-table td{padding:10px 14px;border:1px solid var(--line);color:var(--fg)}
.comm-perf-table tr:hover{background:var(--bg2)}
body.theme-light .comm-perf-table th,body.theme-lighter .comm-perf-table th,body.theme-lightest .comm-perf-table th{background:#e2e8f0;color:#1a202c}
body.theme-light .comm-perf-table td,body.theme-lighter .comm-perf-table td,body.theme-lightest .comm-perf-table td{color:#1a202c}
.hdr-motivation{flex:1; font-size:13px; color:var(--brand); font-style:italic; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 12px; font-weight:600; text-align:center}
.theme-toggle{cursor:pointer; font-size:20px; padding:4px 8px; border-radius:6px; transition:background .2s}
.theme-toggle:hover{background:var(--bg-hover)}
#views{height:calc(100vh - 100px); overflow-y:auto; padding:16px}
#toast{position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:var(--bg2); border:1px solid var(--line); color:var(--fg); padding:11px 20px; border-radius:12px; opacity:0; pointer-events:none; transition:.25s; z-index:100; max-width:90vw}
#toast.show{opacity:1}
.branch-sel{width:auto; min-width:125px; padding:7px 10px; margin-right:auto}

/* تب‌ها */
.tabs{
  display:flex; gap:4px; padding:8px 10px; background:var(--bg2);
  border-bottom:1px solid var(--line); overflow-x:auto;
}
.tab{
  border:none; background:transparent; color:var(--muted); padding:9px 14px;
  border-radius:10px; cursor:pointer; font-size:14px; white-space:nowrap;
}
.tab.active{background:rgba(56,189,248,.12); color:var(--brand); font-weight:600}
.tab:hover{color:var(--fg)}

/* SMS Tab Hover Dropdown */
.sms-tab-wrapper{position:relative}
.sms-hover-dropdown{display:none;position:absolute;top:100%;right:0;background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:160px;z-index:1000;margin-top:4px;box-shadow:0 4px 12px rgba(0,0,0,.3);overflow:hidden}
.sms-tab-wrapper:hover .sms-hover-dropdown{display:block}
.sms-hover-item{padding:10px 16px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--fg);background:transparent}
.sms-hover-item:last-child{border-bottom:none}
.sms-hover-item:hover{background:var(--bg2)}

/* تب مدیریت و زیرتب‌های مدیریتی */
.management-shell{max-width:100%;margin:0 auto;padding:0 20px}
.management-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:14px 16px;margin-bottom:10px}
.management-heading h2{margin:0;color:var(--brand);font-size:20px}
.management-heading p{margin:4px 0 0;font-size:12px}
.management-badge{border:1px solid rgba(56,189,248,.35);color:var(--brand);background:rgba(56,189,248,.08);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.management-tabs{display:flex;gap:5px;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--line);border-radius:var(--rad);padding:7px;margin-bottom:12px}
.management-tab{border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 14px;border-radius:9px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;white-space:nowrap}
.management-tab:hover{color:var(--fg);border-color:var(--line)}
.management-tab.active{background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.28);color:var(--brand)}
.management-view{min-width:0}
.management-placeholder{text-align:center;padding:48px 20px;min-height:220px}
.management-placeholder-icon{font-size:42px;margin-bottom:8px}
.management-placeholder h2{margin:0 0 8px;color:var(--brand)}
.management-placeholder p{max-width:520px;margin:0 auto 16px;line-height:1.9}
.coming-soon{display:inline-block;color:var(--warn);border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.08);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}

.views{height:calc(100vh - 128px); overflow-y:auto; padding:16px}
.view{display:none}
.view.active{display:block}

/* داشبورد */
.stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px}
.stat{
  background:var(--card); border:1px solid var(--line); border-radius:var(--rad);
  padding:16px; text-align:center;
}
.stat .num{font-size:28px; font-weight:800; color:var(--brand)}
.stat .lbl{font-size:13px; color:var(--muted)}

/* باکس‌های آمار دوره‌ای */
.stats-period-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px}
.stats-period-box{
  background:var(--bg2); border:1px solid var(--line); border-radius:8px;
  padding:14px; text-align:center;
}
.stats-period-title{
  font-size:14px; font-weight:700; color:var(--brand); margin-bottom:10px;
}
.stats-period-items{
  display:flex; flex-direction:column; gap:6px;
}
.stats-period-item{
  display:flex; justify-content:space-between; align-items:center;
  font-size:13px; padding:4px 0;
}
.stats-period-label{
  color:var(--muted);
}
.stats-period-value{
  font-size:16px; font-weight:700; color:var(--ok);
}

/* جدول */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--rad); padding:14px; margin-bottom:14px}
.card h3{margin-bottom:10px; font-size:16px}
.toolbar{display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap}
.toolbar input{flex:1; min-width:140px}
.table-wrap{overflow-x:auto; max-height:78vh}
/* جلوگیری از انتخاب/کپی متن برای محافظت از داده‌های مشتریان */
#view-customers .table-wrap, #view-customers table{user-select:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none}
.cal-days button.today{background:var(--brand); color:#fff; font-weight:700; border-color:var(--brand); box-shadow:0 0 0 2px rgba(56,189,248,.4)}
table{border-collapse:collapse; width:100%; font-size:13px; min-width:600px}
th,td{padding:8px 10px; text-align:right; border-bottom:1px solid var(--line); white-space:nowrap}
th{color:var(--muted); font-weight:600; position:sticky; top:0; background:var(--bg2)}
tr:hover td{background:rgba(51,65,85,.35)}

/* ماژول وقت‌دهی */
.shift-toggle{display:flex; gap:8px; margin-bottom:12px}
.shift-toggle button{flex:1; padding:10px; border-radius:10px; border:1px solid var(--line); background:var(--bg2); color:var(--muted); cursor:pointer}
.shift-toggle button.active{background:linear-gradient(90deg,var(--brand),var(--brand2)); color:#fff; border:none}
.week-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px}
.day-card{background:var(--card); border:1px solid var(--line); border-radius:var(--rad); padding:12px}
.day-card.holiday{border-color:var(--bad); background:rgba(239,68,68,.06)}
.day-card .dhead{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px}
.slot{display:flex; justify-content:space-between; align-items:center; padding:7px 10px; border-radius:8px; margin-bottom:6px; background:var(--bg); border:1px solid var(--line)}
.slot .time{font-weight:600}
.slot.taken{border-color:var(--line); opacity:.6}
.slot.free{border-color:var(--ok); cursor:pointer}
.slot.free:hover{background:rgba(34,197,94,.12)}
.badge{font-size:11px; padding:2px 8px; border-radius:999px}

/* فرم نوبت */
#booking-modal{position:fixed; inset:0; background:rgba(0,0,0,.6); display:none; align-items:center; justify-content:center; z-index:50; padding:16px}
#booking-modal.show{display:flex}
.bm-card{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:20px; width:100%; max-width:420px}
.bm-card h3{margin-bottom:4px}
.btn-row{display:flex; gap:8px; margin-top:14px}
.btn-row .btn{flex:1}

/* نوبت‌های ثبت‌شده */
.booking-item{display:flex; justify-content:space-between; padding:10px 12px; background:var(--bg); border:1px solid var(--line); border-radius:10px; margin-bottom:8px; align-items:center}
.booking-item .meta{font-size:12px; color:var(--muted)}
.att{display:flex; gap:6px; margin-top:6px}

/* toast */
.toast{
  position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
  background:var(--bg2); border:1px solid var(--line); color:var(--fg);
  padding:11px 20px; border-radius:12px; opacity:0; pointer-events:none;
  transition:.25s; z-index:100; max-width:90vw;
}
.toast.show{opacity:1}

a.link{color:var(--brand); cursor:pointer; text-decoration:underline}
.row-form{background:var(--card); border:1px solid var(--line); border-radius:var(--rad); padding:14px; margin-bottom:14px}
.row-form .grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px}
.empty{color:var(--muted); text-align:center; padding:20px}
.topbar-card{display:flex; align-items:center; justify-content:space-between; gap:12px}
.topbar-info{display:flex; flex-direction:column; white-space:nowrap; gap:3px}
.topbar-card .toolbar{margin:0; width:100%}
.full{grid-column:1 / -1}
.row-form textarea{width:100%; min-height:92px; resize:vertical; line-height:1.7}
.row-form small{display:block; color:var(--brand); min-height:18px; padding-top:3px}
.date-inline{display:flex; gap:5px}.date-inline input{flex:1}.date-inline .btn{padding:6px 8px}
.jalali-calendar{position:absolute; z-index:30; width:285px; max-width:90vw; margin-top:4px; padding:10px; background:var(--bg2); border:1px solid var(--brand); border-radius:12px; box-shadow:0 10px 24px rgba(0,0,0,.35)}
.date-field{position:relative}.cal-days{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-top:8px}.cal-days button{background:var(--bg);border:1px solid var(--line); color:var(--fg);border-radius:6px;padding:5px 0;cursor:pointer}.cal-days button:hover{border-color:var(--brand);color:var(--brand)}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-head .btn{padding:3px 9px}
.search-wrap{position:relative; flex:1; min-width:150px}
.search-wrap input{width:100%; padding-left:34px}
.search-clear{position:absolute; left:6px; top:50%; transform:translateY(-50%); border:none; background:transparent; color:var(--muted); font-size:15px; cursor:pointer; padding:4px 6px; border-radius:8px}
.search-clear:hover{color:var(--bad); background:rgba(239,68,68,.12)}
.req::after{content:' *'; color:var(--bad)}
.req-note{display:inline-block!important;color:#ef4444!important;font-size:15px;font-weight:800;margin-inline-start:6px}
input[readonly][aria-readonly="true"]{cursor:not-allowed;background:var(--bg2);color:var(--muted)}
.date-inline input[readonly][aria-readonly="true"]{font-weight:700;color:var(--fg);font-size:inherit}
.hint{display:block; font-size:11px; color:var(--muted); min-height:14px; padding-top:3px}
.invalid{border-color:var(--bad)!important; box-shadow:0 0 0 1px var(--bad)}
input.readonly-num{background:var(--bg2); color:var(--muted)}
/* تنظیمات: دسته‌بندی مرتب */
.settings-section-header{font-size:16px; font-weight:700; color:var(--brand); padding:10px 14px; margin:18px 0 10px; border-right:4px solid var(--brand); background:rgba(56,189,248,.06); border-radius:0 var(--rad) var(--rad) 0}
.set-group{border:1px solid var(--line); border-radius:var(--rad); padding:14px; margin-bottom:14px; background:var(--card)}
.set-group h3{font-size:15px; color:var(--brand); margin-bottom:12px; display:flex; align-items:center; gap:8px}
.set-group .grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px}
.set-group .full{grid-column:1 / -1}
.set-group textarea{min-height:76px}
.staff-rows,.course-rows,.camp-rows{display:flex; flex-direction:column; gap:6px; margin-bottom:8px}
.staff-row,.course-row,.camp-row{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.staff-row select,.staff-row input,.course-row input,.camp-row input{flex:1; min-width:80px}
.staff-row .btn-del,.course-row .btn-del,.camp-row .btn-del{flex:0 0 auto; padding:5px 9px; background:rgba(239,68,68,.15); color:#f87171; border:1px solid rgba(239,68,68,.3); border-radius:6px; cursor:pointer; font-size:13px}
.staff-row .btn-del:hover,.course-row .btn-del:hover,.camp-row .btn-del:hover{background:rgba(239,68,68,.3)}
.dup{padding:10px 13px; margin-bottom:12px; border:1px solid var(--warn); background:rgba(245,158,11,.1); border-radius:10px; color:#fbbf24}
@media(max-width:640px){header{height:58px;padding:7px 10px;gap:6px}.hdr-logo{width:32px;height:32px}.hdr-app{font-size:14px}.hdr-datetime,#net-status2{display:none}.tabs{padding:6px}.tab{padding:8px 11px;font-size:13px}#views{height:calc(100vh - 104px);padding:10px}.topbar-card{align-items:stretch;flex-direction:column}.topbar-card .toolbar{width:100%}.row-form .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.row-form .full{grid-column:1 / -1}.row-form input,.row-form select{font-size:14px;padding:9px 8px}table{font-size:12px}.table-wrap{max-height:52vh}.management-heading{padding:11px 12px}.management-heading h2{font-size:17px}.management-tabs{overflow-x:auto;flex-wrap:nowrap}.management-tab{padding:8px 11px}}

/* ===== نوبت‌دهی غنی (روز/هفته، شیفت، مودال) ===== */
.bk-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}
.bk-nav{display:flex;gap:6px;align-items:center}
.bk-date{background:var(--bg2);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-weight:600;cursor:pointer;min-width:110px}
.bk-date:hover{border-color:var(--brand)}
.bk-day-head{font-weight:700;font-size:15px;margin:12px 0 8px;color:var(--brand)}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.slot .badge{margin-right:auto}
.badge.ok{background:rgba(34,197,94,.15);color:var(--ok)}
.badge.warn{background:rgba(245,158,11,.15);color:var(--warn)}
.badge.bad{background:rgba(239,68,68,.15);color:var(--bad)}
.badge.muted-b{background:rgba(148,163,184,.15);color:var(--muted)}
.bk-slot{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.bk-b{border-radius:9px;padding:8px 10px;margin:6px;background:var(--bg);border:1px solid var(--line)}
.bk-b.consult{border-inline-start:3px solid var(--warn)}
.bk-b.student{border-inline-start:3px solid var(--ok)}
.bk-b-nm{font-size:13px;margin-bottom:6px}
.bk-b-nm small{color:var(--muted);margin-inline-start:6px}
.bk-b-actions{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.bk-b-actions .btn{padding:4px 9px;font-size:11px}
.wk-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.wk{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}
.wk th,.wk td{border:1px solid var(--line);padding:6px;vertical-align:top}
.wk th{background:var(--bg2);color:var(--fg);font-weight:600;text-align:center}
.wk th.hol{color:var(--bad)}
.wk td.wk-cell{background:var(--card)}
.wk-t{font-weight:700;white-space:nowrap;color:var(--brand);background:var(--bg)}
.wk td.wk-cell .btn{width:100%}

/* مودال ثبت نوبت */
.bk-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}
.bk-modal-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;width:100%;max-width:520px;max-height:92vh;overflow:auto}
.bk-modal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bk-modal-h b{font-size:15px}
#bk-search{width:100%;margin-bottom:4px}
.bk-res{max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.bk-c{padding:8px 11px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--line)}
.bk-c:hover{background:var(--bg2)}
.bk-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.bk-fields label{display:block;color:var(--muted);margin-bottom:4px;font-size:12px}

/* خود ماژول اصلیِ نوبت‌دهی — بدون پوستهٔ جایگزین */
#view-bookings{height:100%}
.booking-original-wrap{height:100%;min-height:calc(100vh - 145px);margin:-16px;overflow:hidden;background:#020617}
.bk-grid{margin-top:10px}
.booking-original-wrap iframe{display:block;width:100%;height:calc(100vh - 128px);min-height:760px;border:0;background:#020617}
@media(max-width:640px){.booking-original-wrap{margin:-10px;min-height:calc(100vh - 104px)}.booking-original-wrap iframe{height:calc(100vh - 88px);min-height:680px}}

/* ---- موارد انتقال از شعبه مرجع + چک عضویت ---- */
.hint.err{color:var(--bad)!important}
.transfer-info{display:block;font-size:12px;color:var(--muted);padding-top:4px;min-height:18px}
.transfer-info .ok{color:#27ae60;font-weight:600}
.transfer-info .err{color:var(--bad)}

/* ---- بلوک انتقال (نست داخل سلول شرایط، بدون جابهجایی بقیه فیلدها) ---- */
.transfer-nest{margin-top:8px;padding:8px 10px;border:1px dashed var(--brand);border-radius:8px;background:rgba(56,189,248,.06)}
.transfer-nest label{margin-top:4px}
.transfer-nest input{width:100%;direction:ltr;text-align:left}

/* ---- دوره: استک عمودی (تعداد جلسات بالا، نوع پایین) ---- */
.period-stack{display:flex;flex-direction:column;gap:4px}
.period-stack select{width:100%}

/* ---- فرم مشتری: ۸ ستون در ۲ ردیف وسط صفحه ---- */
#c-form .grid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;max-width:100%;margin:0 auto}
#c-form .grid .full{grid-column:1 / -1}
@media(max-width:900px){#c-form .grid{grid-template-columns:repeat(2,1fr)}}

/* ---- راهنمای تب مشتریان ---- */
.help-card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:18px;margin-bottom:14px}
.help-card h2{font-size:17px;color:var(--brand);margin-bottom:10px}
.help-card h3{font-size:14px;color:var(--fg);margin:12px 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}
.help-card ul{margin:0;padding:0 20px;line-height:2.1}
.help-card li{color:var(--muted)}
.help-card li strong{color:var(--fg)}
.help-card .note{background:rgba(56,189,248,.06);border:1px dashed var(--brand);border-radius:8px;padding:10px 14px;margin:8px 0;font-size:13px;color:var(--brand)}
.help-card .warn{background:rgba(245,158,11,.06);border:1px dashed var(--warn);border-radius:8px;padding:10px 14px;margin:8px 0;font-size:13px;color:var(--warn)}

/* تب متقاضیان: سلولهای وضعیت و عملیات */
.status-cell{white-space:nowrap}
.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-cell{white-space:nowrap}
.act-cell .btn{margin-left:4px;padding:4px 8px}

/* ---- تب جلسات v1.10.0 — هشدارهای رنگی ردیف ---- */
tr.alarm-expired { background: rgba(239,68,68,0.12) !important; }
tr.alarm-warning { background: rgba(245,158,11,0.1) !important; }
tr.alarm-ok { background: rgba(34,197,94,0.07) !important; }
tr.alarm-warning td:last-child { color: var(--warn); }
tr.alarm-expired td:nth-child(17) { color: #ef4444; font-weight: 700; }
tr.alarm-ok td:first-child { color: var(--ok); font-weight: 700; }
tr.alarm-expired td:first-child { color: #ef4444; font-weight: 700; font-size: 1.2em; }
tr.alarm-warning td:first-child { color: var(--warn); font-weight: 700; }

/* ویرایش درجا (جلسه هدیه / روز هدیه / روز فریز) */
.s-edit{width:64px;min-width:0;padding:6px 8px;font-size:14px;text-align:center;direction:ltr}
tr.alarm-expired .s-edit,tr.alarm-warning .s-edit,tr.alarm-ok .s-edit{background:var(--bg2)}
/* ستون‌های قابل مرتب‌سازی — تب دوره‌ها */
th.sortable { cursor: pointer; user-select: none; position: relative; padding-right: 1.4em; }
th.sortable:hover { color: var(--primary); }
th.sortable::after { position: absolute; right: 4px; opacity: 0.4; font-size: 0.8em; }
th.sortable.sort-desc::after { content: "↓"; opacity: 1; color: var(--primary); }
th.sortable.sort-asc::after { content: "↑"; opacity: 1; color: var(--primary); }


/* --- v1.11.2 — تب‌های حضور --- */
.tab{font-size:15px; font-weight:700}
body.theme-light .tab,body.theme-lightest .tab{color:#0d1b2a !important;font-weight:700;background:transparent}
body.theme-light .tab.active,body.theme-lightest .tab.active{background:rgba(26,86,160,.14) !important;color:#1a56a0 !important;font-weight:800}
body.theme-light .tab:hover,body.theme-lightest .tab:hover{color:#0a1628 !important;background:rgba(26,86,160,.08) !important}
body.theme-light .tabs,body.theme-lightest .tabs{background:#dde6f0;border-bottom-color:#9ab0c8}
body.theme-lightest .tabs{background:#e8eef5;border-bottom-color:#a8bfd4}
body.theme-light header,body.theme-lightest header{background:#dde6f0;border-bottom-color:#9ab0c8}
body.theme-lightest header{background:#e8eef5;border-bottom-color:#a8bfd4}
body.theme-light .topbar,body.theme-lightest .topbar{background:#dde6f0;border-bottom-color:#9ab0c8}
body.theme-light .hdr-app,body.theme-lightest .hdr-app{color:#1a56a0}
body.theme-light .hdr-branch,body.theme-lightest .hdr-branch{color:#374151}
body.theme-light .hdr-datetime #today-date,body.theme-lightest .hdr-datetime #today-date{color:#374151}
body.theme-light .hdr-datetime #today-time,body.theme-lightest .hdr-datetime #today-time{color:#b45309}
body.theme-light .hdr-motivation,body.theme-lightest .hdr-motivation{color:#1a56a0}
body.theme-light th,body.theme-lightest th{background:#dde6f0;color:#2d3f52}
body.theme-light .management-tabs,body.theme-lightest .management-tabs{background:#e8eef5;border-color:#9ab0c8}
body.theme-light .management-tab,body.theme-lightest .management-tab{color:#0d1b2a}
body.theme-light .management-tab.active,body.theme-lightest .management-tab.active{color:#1a56a0;background:rgba(26,86,160,.14);border-color:rgba(26,86,160,.35)}
.btn.success{background:rgba(34,197,94,.15); color:var(--ok)}
.btn.success:hover{background:rgba(34,197,94,.28)}
.warn-field{color:var(--warn); font-weight:700}
.warn-field.warn-on{background:rgba(245,158,11,.12); border-color:var(--warn)}
.warn-field.warn-ok{background:rgba(34,197,94,.12); border-color:var(--ok); color:var(--ok)}
.highlight-field{font-weight:800; font-size:16px; background:rgba(56,189,248,.08); border-color:var(--brand); color:var(--brand)}
.highlight-field.highlight-sessions{color:var(--brand)}
/* بدهکاری: صفر=سبز، بدهکار=قرمز */
.debt-field.debt-ok{color:#22c55e!important; font-weight:700; background:rgba(34,197,94,.06)}
.debt-field.debt-bad{color:#ef4444!important; font-weight:800; background:rgba(239,68,68,.08); border-color:var(--bad)}
/* هشدار داخل فرم */
.warn-inline{display:block; background:rgba(245,158,11,.1); border:1px dashed var(--warn); border-radius:8px; padding:8px 12px; margin:6px 0; font-size:13px; color:var(--warn)}
.debt-field{color:#ef4444 !important; font-weight:800; font-size:16px; background:rgba(239,68,68,.08)}
.debt-field.highlight{font-weight:800; font-size:16px; background:rgba(239,68,68,.08); border-color:var(--bad)}
/* حضور — گرید فرم (مشابه #c-form)
   aw=attendance-women, am=attendance-men */
[id$="-form"] .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-width:100%;margin:0 auto}
[id$="-form"] .grid .full{grid-column:1 / -1}
@media(max-width:768px){[id$="-form"] .grid{grid-template-columns:repeat(2,1fr)}}

/* ===== تب کمیسیون v1.12.0 ===== */
.comm-selector{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad)}
.comm-selector label{font-size:13px;color:var(--muted);margin:0}
.comm-selector select{width:auto;min-width:100px;padding:8px 12px}
.comm-lock{color:var(--bad);font-weight:700;font-size:13px;background:rgba(239,68,68,.1);padding:6px 12px;border-radius:8px}
.comm-currentmonth{font-size:13px;color:var(--muted);font-weight:600}
.comm-lock-badge{color:var(--bad);font-size:12px;margin-right:8px;background:rgba(239,68,68,.08);padding:4px 10px;border-radius:6px}
.comm-total{padding:14px 0;text-align:center}
.comm-total h3{font-size:18px;color:var(--brand);margin-bottom:8px}
.comm-total-amount{font-size:20px;color:var(--fg);margin-bottom:8px}
.comm-total-amount b{color:var(--ok);font-size:26px}
.comm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.comm-card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:16px;text-align:center;transition:.15s}
.comm-card:hover{border-color:var(--brand);transform:translateY(-2px)}
.comm-card-reception{border-right:3px solid var(--brand)}
.comm-card-coach{border-right:3px solid var(--brand2)}
.comm-card.comm-reception{border-top:3px solid var(--brand)}
.comm-card.comm-coach{border-top:3px solid var(--brand2)}
.comm-pers-header.comm-reception{border-left:3px solid var(--brand)}
.comm-pers-header.comm-coach{border-left:3px solid var(--brand2)}
.comm-card-name{font-size:16px;font-weight:700;color:var(--fg);margin-bottom:4px}
.comm-card-role{font-size:12px;color:var(--muted);margin-bottom:8px}
.comm-card-total{font-size:20px;font-weight:800;color:var(--ok);margin-bottom:8px}
.comm-card-break{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.comm-sub-badge{display:inline-block;background:rgba(56,189,248,.1);color:var(--brand);font-size:11px;padding:3px 8px;border-radius:6px;white-space:nowrap}
.comm-subtabs{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0;margin-bottom:10px}
.comm-subtab-view{margin-bottom:14px}
.comm-st-btn{padding:7px 14px;font-size:13px}
.comm-st-btn:hover{background:var(--brand);color:#fff}
.comm-pers-section{margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.comm-pers-header{padding:10px 14px;font-size:14px;border-bottom:1px solid var(--line)}
.comm-pers-header b{color:var(--fg)}
.comm-debt-row{opacity:0.65;background:rgba(239,68,68,.06)}
.comm-debt-row:hover{opacity:1}
.comm-debt{color:var(--bad);font-size:11px;font-weight:700;margin-right:4px}
.debt-badge{display:inline-block;background:rgba(239,68,68,.12);color:var(--bad);font-size:12px;padding:2px 8px;border-radius:6px;font-weight:700}
/* تنظیمات کمیسیون */
.comm-settings{display:flex;flex-direction:column;gap:12px}
.comm-set-group h4{color:var(--brand);font-size:15px;margin:0 0 8px}
.comm-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.comm-set-grid label{font-size:12px;margin:0 0 2px}
.comm-set-grid input{width:100%;padding:8px 10px}
@media(max-width:640px){
.comm-selector{flex-direction:column;align-items:flex-start}
.comm-cards{grid-template-columns:1fr}
}

/* ===== ماژول غنی نوبت‌دهی — dark navy/amber ===== */
.bk-rich-wrap{background:#020617;min-height:calc(100vh - 145px);margin:-16px;padding:16px;color:#f8fafc;font-family:'Vazirmatn',sans-serif;overflow-y:auto}

/* هدر اصلی: ناوبری سمت چپ + شیفت/دکمه سمت راست — بزرگ‌تر و کاملاً خوانا */
.bk-rich-hdr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;background:#0f172a;border:1px solid #1e293b;border-radius:18px;margin-bottom:18px;box-shadow:0 4px 20px rgba(0,0,0,.25)}
.bk-rich-hdr-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.bk-rich-hdr-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* کنترل‌های ناوبری در هدر */
.bk-date-nav{display:flex;align-items:center;gap:8px}
.bk-date-lbl{display:inline-block;min-width:130px;text-align:center;font-size:15px;font-weight:800;color:#f59e0b;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:8px 14px}
.bk-date-week{display:flex;align-items:center;gap:8px}
.bk-live-clock{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:8px 14px;color:#f59e0b;font-family:monospace}
.bk-stats{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600}
.bk-stat{display:flex;align-items:center;gap:6px;color:#cbd5e1}
.bk-dot{width:12px;height:12px;border-radius:50%}
.bk-dot.free{background:#22c55e}
.bk-dot.reserved{background:#f59e0b}
.bk-dot.attended{background:#3b82f6}

.bk-shift-tgl{display:inline-flex;border:1px solid #334155;border-radius:12px;background:#1e293b;padding:4px}
.bk-shift-btn{padding:9px 18px;font-size:14px;font-weight:700;border:none;background:transparent;color:#cbd5e1;border-radius:10px;cursor:pointer;transition:.15s}
.bk-shift-btn:hover{color:#fff}
.bk-shift-btn.active{background:linear-gradient(135deg,#d97706,#f59e0b);color:#0f172a}
.bk-btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:700;border:none;background:linear-gradient(135deg,#059669,#10b981);color:#fff;border-radius:12px;cursor:pointer;transition:.15s}
.bk-btn-primary:hover{filter:brightness(1.15)}
.bk-btn-sm{padding:8px 14px;font-size:13px;font-weight:700;border:1px solid #334155;background:#1e293b;color:#cbd5e1;border-radius:10px;cursor:pointer;transition:.15s}
.bk-btn-sm:hover{background:#334155}
.bk-btn-today{color:#34d399;border-color:#34d39944}
.bk-btn-week{color:#f59e0b;border-color:#f59e0b44}

/* بدنه اصلی — تمام‌عرض، وسط‌چین */
.bk-rich-body{display:block;min-height:0;width:100%}
.bk-rich-body-fullwidth{display:block !important;width:100%}
.bk-rich-main{max-width:100%;margin:0 auto;width:100%;padding:0 20px}
.bk-day-header{font-size:16px;font-weight:800;color:#94a3b8;text-align:center;padding:10px 0 16px}

/* گرید اسلات‌های روزانه: دقیقاً ۴ اسلات در هر ردیف، چیدمان RTL راست‌به‌چپ، وسط‌چین */
.bk-slots-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr)) !important;gap:18px !important;max-width:1400px !important;margin:0 auto !important;direction:rtl !important;width:100% !important;box-sizing:border-box !important}
.br-slot-card{border-radius:16px;padding:16px;transition:.2s;position:relative;min-height:140px;display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box}
.br-slot-free{background:rgba(15,23,42,.6);border:2px dashed #334155;cursor:pointer}
.br-slot-free:hover{background:rgba(5,150,105,.08);border-color:#34d39966}
.br-slot-taken{background:#0f172a;border:1px solid #1e293b}

/* هدر اسلات: ساعت آمبر + ظرفیت و پیل‌ها */
.br-slot-hdr{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.br-slot-time{font-size:20px;font-weight:900;color:#f59e0b;letter-spacing:.5px}
.br-slot-capacity{font-size:12px;font-weight:800;color:#34d399;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);padding:3px 9px;border-radius:999px}
.br-slot-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;display:inline-block}
.free-badge{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.25)}
.past-badge{background:rgba(100,116,139,.2);color:#64748b;border:1px solid rgba(100,116,139,.3)}
.br-slot-pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}
.train-pill{background:rgba(99,102,241,.18);color:#818cf8;border:1px solid rgba(99,102,241,.3)}
.consult-pill{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}
.br-slot-cta{padding:24px 0 8px;text-align:center;font-size:13px;font-weight:600;color:#64748b}
.br-slot-free:hover .br-slot-cta{color:#34d399}

/* کارت هر مشتری داخل اسلات — خوانا و جادار تا ۶ مشتری */
.br-booking{border-radius:12px;padding:10px 12px;margin-bottom:8px;background:#1e293b;border:1px solid #334155;cursor:pointer;transition:.15s}
.br-booking:hover{border-color:#38bdf8;box-shadow:0 2px 10px rgba(56,189,248,.15)}
/* کارت نوبت حاضرشده — رنگ سبز/آبی مشخص و برچسب تیک حضور */
.br-bk-attended{background:rgba(34,197,94,.15) !important;border:1px solid #22c55e !important;border-right:4px solid #22c55e !important;box-shadow:0 0 12px rgba(34,197,94,.2)}
.br-bk-attended .br-bk-name::after{content:' ✅ حاضر';font-size:11px;font-weight:700;color:#22c55e;margin-right:6px}
.br-wk-bk-att{background:rgba(34,197,94,.2) !important;border:1px solid #22c55e !important;color:#fff}
.br-bk-consult{border-right:3px solid #f59e0b}
.br-bk-student{border-right:3px solid #6366f1}
.br-bk-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:6px}
.br-bk-name{font-size:13px;font-weight:800;color:#f8fafc}
.br-bk-code{font-size:11px;font-family:monospace;color:#94a3b8;background:#020617;padding:2px 7px;border-radius:6px;white-space:nowrap}

/* اطلاعات سرویس + مربی + مانده + بدهی */
.br-bk-info{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:8px;font-size:11px}
.br-bk-svc{color:#94a3b8;background:rgba(148,163,184,.1);padding:2px 6px;border-radius:6px}
.br-bk-coach{color:#7dd3fc;background:rgba(56,189,248,.1);padding:2px 6px;border-radius:6px}
.br-bk-rem{color:#34d399;background:rgba(52,211,153,.1);padding:2px 6px;border-radius:6px;font-weight:700}
.br-bk-debt-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px}
.debt-ok-badge{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.25)}
.debt-bad-badge{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}

/* دکمه‌های عملیات هر نوبت */
.br-bk-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.br-btn-act{padding:5px 10px;font-size:11px;font-weight:700;border:1px solid #334155;background:#0f172a;color:#cbd5e1;border-radius:7px;cursor:pointer;transition:.15s}
.br-btn-act:hover{filter:brightness(1.25)}
.br-btn-act.ok{background:linear-gradient(135deg,#059669,#10b981);color:#fff;border:none;padding:5px 10px}
.br-btn-act.ok:hover{filter:brightness(1.12)}
.br-btn-act.cancel-att{background:rgba(99,102,241,.15);color:#818cf8;border-color:rgba(99,102,241,.3)}
.br-btn-act.absent-btn{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:none;padding:5px 10px}
.br-btn-act.absent-btn:hover{filter:brightness(1.12)}
.br-btn-act.cancel{color:#94a3b8;padding:5px 8px}
.br-add-more{width:100%;padding:8px;font-size:12px;font-weight:700;background:rgba(30,41,59,.7);border:1px dashed #334155;color:#64748b;border-radius:8px;cursor:pointer;transition:.15s;margin-top:6px}
.br-add-more:hover{background:rgba(5,150,105,.1);border-color:#34d39966;color:#34d399}

/* نشانگر زمان جاری (خط قرمز/نشانگر اسلات اکنون) */
.br-now-line{position:absolute;left:0;right:0;height:3px;background:#ef4444;box-shadow:0 0 10px #ef4444;z-index:3;pointer-events:none}
.br-now-line:before{content:'اکنون';position:absolute;right:-2px;top:-11px;color:#fecaca;background:#ef4444;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:700}
.br-now-slot{outline:2px solid #ef4444 !important;box-shadow:0 0 16px rgba(239,68,68,.3)}
.br-now-marker{position:absolute;top:5px;left:7px;color:#fecaca;background:#ef4444;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:800}

/* بج تعطیل / گذشته در هدر روز */
.bk-holiday-badge{display:inline-block;padding:3px 10px;font-size:12px;font-weight:700;background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-right:6px}
.bk-past-badge{display:inline-block;padding:3px 10px;font-size:12px;font-weight:700;background:rgba(100,116,139,.15);color:#64748b;border:1px solid rgba(100,116,139,.3);border-radius:8px;margin-right:6px}
.br-slot-past{background:rgba(15,23,42,.3) !important;border:2px solid rgba(100,116,139,.2) !important;opacity:.5;cursor:default}

/* نمای هفته (شنبه تا پنجشنبه) — جدول بزرگ و تمیز */
.bk-week-grid{background:rgba(15,23,42,.4);border:1px solid #1e293b;border-radius:16px;overflow:hidden;max-width:1400px;margin:0 auto}
.br-wk-scroll{overflow-x:auto}
.br-wk{width:100%;min-width:1100px;border-collapse:collapse;font-size:12px}
.br-wk th,.br-wk td{border:1px solid #1e293b;padding:8px 10px;vertical-align:top}
.br-wk th{background:#0f172a;color:#cbd5e1;font-weight:700;text-align:center}
.br-wk-th{padding:10px 8px}
.br-wk-hol{color:#ef4444}
.br-wk-today{color:#f59e0b;font-weight:800}
.br-wk-date{font-size:11px;color:#64748b;font-family:monospace;margin-top:2px}
.br-wk-t{font-weight:800;color:#f59e0b;background:#0f172a;text-align:center;white-space:nowrap;font-size:13px}
.br-wk-cell{background:#020617;min-width:140px}
.br-wk-free-btn{width:100%;padding:8px;font-size:12px;font-weight:700;background:transparent;border:1px dashed #334155;color:#64748b;border-radius:8px;cursor:pointer;transition:.15s}
.br-wk-free-btn:hover{background:rgba(34,197,94,.08);border-color:#22c55e66;color:#22c55e}
.br-wk-bk{padding:6px 8px;margin-bottom:5px;border-radius:8px;background:#1e293b;border:1px solid #334155;font-size:11px;cursor:pointer;transition:.15s}
.br-wk-bk:hover{border-color:#38bdf8}
.br-wk-bk-att{background:rgba(59,130,246,.12);border-color:#3b82f6}
.br-wk-bk-cons{border-right:3px solid #f59e0b}
.br-wk-bk-stu{border-right:3px solid #6366f1}
.br-wk-bk-name{font-weight:700;color:#f8fafc;margin-bottom:3px}
.br-wk-bk-name small{font-size:10px;color:#94a3b8}
.br-wk-bk-acts{display:flex;gap:6px;font-size:12px;margin-top:4px}
.br-wk-now-cell{position:relative;box-shadow:inset 0 0 0 2px #ef4444}
.br-wk-now-marker{position:absolute;top:2px;right:4px;color:#fecaca;background:#ef4444;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:800}
.br-wk-hol-col{background:rgba(239,68,68,.07) !important;color:#ef4444 !important}
.br-wk-cell-hol{background:rgba(239,68,68,.05) !important}
.br-wk-past-col{opacity:.6}
.br-wk-cell-past{background:rgba(15,23,42,.2) !important;opacity:.7}
.br-wk-blocked{display:block;text-align:center;color:#475569;font-size:16px;padding:10px 0}

/* پاپ‌آپ جزئیات کامل مشتری */
.bk-customer-detail-box{max-width:620px}
.br-detail-title{font-size:18px;font-weight:800;color:#38bdf8;margin-bottom:14px}
.br-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.br-detail-row{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;background:#020617;border:1px solid #1e293b;border-radius:10px;font-size:12px}
.br-detail-row span{color:#94a3b8}.br-detail-row b{color:#f8fafc;text-align:left}
.br-detail-notes{padding:12px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);border-radius:10px;color:#fbbf24;line-height:1.9;font-size:12px}

/* مودال ثبت نوبت */
.bk-modal-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.bk-modal-date-row label{font-size:12px;color:#94a3b8;margin:0 0 4px;display:block}
.br-modal-date-sel,.br-modal-time-sel{width:100%;padding:8px 10px;font-size:12px;background:#020617;border:1px solid #334155;border-radius:8px;color:#f8fafc}
.bk-modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.85);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}
.bk-modal-box{background:#0f172a;border:1px solid #1e293b;border-radius:18px;padding:20px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.bk-modal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #1e293b}
.bk-modal-h h3{font-size:15px;font-weight:700;color:#fff}
.bk-modal-x{background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px}
.bk-modal-x:hover{color:#fff;background:rgba(239,68,68,.15)}
.bk-modal-search{padding:10px 12px;background:rgba(30,41,59,.5);border:1px solid rgba(245,158,11,.15);border-radius:12px;margin-bottom:12px}
.bk-modal-search-title{font-size:11px;font-weight:700;color:#f59e0b;margin-bottom:6px}
.bk-modal-search input{width:100%;padding:8px 12px;background:#020617;border:1px solid #334155;border-radius:8px;color:#f8fafc;font-size:12px}
.bk-modal-search input:focus{outline:2px solid #f59e0b}
.bk-modal-results{max-height:180px;overflow-y:auto;border:1px solid #334155;border-radius:8px;background:#020617;margin-top:4px}
.br-cust-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;border:none;border-bottom:1px solid #1e293b;background:transparent;color:#f8fafc;font-size:12px;cursor:pointer;transition:.15s}
.br-cust-item:last-child{border-bottom:none}
.br-cust-item:hover{background:#1e293b}
.br-cust-item-name{font-weight:600}
.br-cust-item-meta{font-size:10px;color:#64748b;font-family:monospace}
.bk-modal-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.bk-modal-fields input{padding:8px 10px;font-size:12px}
.bk-modal-cust-info{padding:6px 10px;margin-bottom:8px;border-radius:8px;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.2);font-size:11px}
.bk-modal-consult-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.bk-btn-consult{padding:6px 12px;font-size:11px;font-weight:600;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.35);color:#f59e0b;border-radius:8px;cursor:pointer;transition:.15s}
.bk-btn-consult:hover{background:rgba(245,158,11,.25)}
.bk-consult-hint{font-size:10px;color:#64748b}
.bk-modal-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.bk-modal-row2 label{font-size:12px;color:#94a3b8;margin:0 0 4px;display:block}
.bk-modal-row2 select,.bk-modal-row2 input{padding:8px 10px;font-size:12px}
.bk-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:12px;border-top:1px solid #1e293b;margin-top:14px}
.bk-btn-cancel{padding:8px 16px;font-size:12px;font-weight:600;background:transparent;border:1px solid #334155;color:#94a3b8;border-radius:10px;cursor:pointer;transition:.15s}
.bk-btn-cancel:hover{color:#fff;border-color:#64748b}
.bk-btn-submit{padding:8px 16px;font-size:12px;font-weight:700;background:linear-gradient(135deg,#d97706,#f59e0b);border:none;color:#0f172a;border-radius:10px;cursor:pointer;transition:.15s}
.bk-btn-submit:hover{filter:brightness(1.15)}
.bk-btn-ghost{padding:8px 16px;font-size:12px;font-weight:700;background:transparent;border:1px dashed #334155;color:#7dd3fc;border-radius:10px;cursor:pointer;transition:.15s;width:100%;margin-top:10px}
.bk-btn-ghost:hover{background:rgba(56,189,248,.08);border-color:#38bdf8;color:#38bdf8}
.bk-modal-extras{border-top:1px dashed #1e293b;margin-top:14px;padding-top:4px}
.bk-extra-slot{background:#0b1526;border:1px solid #1e293b;border-radius:12px;padding:10px 12px;margin-top:10px}
.bk-extra-slot-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.bk-extra-slot-h b{font-size:13px;color:#7dd3fc}
.bk-extra-slot-del{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#ef4444;width:26px;height:26px;border-radius:8px;cursor:pointer;font-size:13px;line-height:1}
.bk-extra-slot-del:hover{background:rgba(239,68,68,.25)}

@media(max-width:1100px){
  .bk-slots-grid{grid-template-columns:repeat(2, minmax(0, 1fr)) !important}
}
@media(max-width:640px){
  .bk-rich-wrap{margin:-10px;padding:10px;min-height:calc(100vh - 100px)}
  .bk-rich-hdr{flex-direction:column;align-items:flex-start}
  .bk-rich-hdr-nav{flex-direction:column;align-items:flex-start;width:100%}
  .bk-rich-hdr-right{width:100%;flex-wrap:wrap}
  .bk-slots-grid{grid-template-columns:1fr !important}
}

/* ===== v1.14.2 — بازطراحی تب کمیسیون (زیرتب‌ها سمت چپ + بدن فریز) ===== */
.comm-selector{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad)}
.comm-freeze-note{font-size:12px;color:var(--muted);background:rgba(245,158,11,.08);border:1px dashed rgba(245,158,11,.3);padding:5px 12px;border-radius:8px}
.comm-subtabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;justify-content:center}
.comm-st-btn{padding:12px 20px;font-size:15px;font-weight:600;border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:12px;cursor:pointer;transition:.15s}
.comm-st-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}
.comm-st-btn.active{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;border:none;font-weight:700;padding:12px 22px}
/* تب‌های اصلی: باریک‌تر و بالاتر + سفید پررنگ */
.tabs{padding:4px 10px;min-height:40px}
.tab{padding:6px 12px;font-size:14px;color:#f1f5f9 !important;font-weight:800 !important;letter-spacing:.2px}
.tab.active{background:rgba(56,189,248,.18);color:#ffffff !important}
/* در تم‌های روشن رنگ‌های override شده در بلوک theme-light/theme-lightest اعمال می‌شوند */
body.theme-light .tab,body.theme-lightest .tab{color:#0d1b2a !important}
body.theme-light .tab.active,body.theme-lightest .tab.active{color:#1a56a0 !important}
/* زیرتب‌های کمیسیون: همان ردیف، سمت چپ ماه/سال */
.comm-selector{display:flex;flex-direction:row;align-items:center;gap:10px;margin-bottom:0}
.comm-subtabs-inline{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex:1;order:-1;margin:0;padding:0;min-width:0}
.comm-subtabs-inline .comm-st-btn{white-space:nowrap}
@media(max-width:900px){.comm-selector{flex-wrap:wrap}.comm-subtabs-inline{order:3;flex-basis:100%;overflow-x:auto;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--line)}}
/* نوار مشترک کمیسیون: ماه/سال سمت راست و زیرتب‌ها در سمت چپ همان ردیف */
.comm-toolbar-row{display:flex;align-items:center;gap:14px;width:100%;margin-bottom:14px}
.comm-toolbar-row .comm-selector{flex:0 0 auto;margin:0}
.comm-toolbar-row .comm-subtabs-inline{order:-1;flex:1;margin:0;padding:0;justify-content:flex-start}
@media(max-width:900px){.comm-toolbar-row{flex-wrap:wrap}.comm-toolbar-row .comm-selector{flex:1 1 100%}.comm-toolbar-row .comm-subtabs-inline{flex:1 1 100%;overflow-x:auto}}
/* ترتیب بصری قطعی در RTL: زیرتب‌ها چپ، ماه/سال راست */
.comm-toolbar-row{direction:ltr}
.comm-toolbar-row .comm-subtabs-inline{order:1;direction:rtl;justify-content:flex-start}
.comm-toolbar-row .comm-selector{order:2;direction:rtl}


/* ===== ثبت‌نام کمیسیون — شیت «جدید» اکسل ===== */
.comm-band-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px;direction:rtl}
.comm-band-item{border:1px solid rgba(15,23,42,.14);border-radius:6px;padding:8px 10px;min-height:67px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.comm-band-label{font-weight:800;font-size:13px;color:#263238;border-bottom:1px solid rgba(15,23,42,.13);padding-bottom:4px;margin-bottom:5px}
.comm-band-people{font-size:12px;color:#37474f;line-height:1.8;white-space:normal}
.comm-band-person{display:inline-block;margin-left:4px;white-space:nowrap}.comm-band-person b{color:#0f766e;margin-right:2px}
.comm-band-total{font-size:12px;color:#263238;margin-top:3px}.comm-band-total b{color:#111827}
.comm-totals-row{display:flex;align-items:center;justify-content:flex-start;gap:22px;flex-wrap:wrap;padding:8px 12px;margin:0 0 10px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;direction:rtl}
.comm-totals-row b{color:#0f766e}.comm-reg-table{min-width:1250px;border-collapse:collapse;direction:rtl;font-size:12px}
.comm-reg-table th,.comm-reg-table td{white-space:nowrap;padding:7px 8px;border:1px solid #cbd5e1;text-align:center;vertical-align:middle}
.comm-reg-table thead th{font-weight:800;color:#263238;position:sticky;top:0;z-index:1}
.comm-reg-table thead th:nth-child(1){background:#d9edf7} /* ماه */
.comm-reg-table thead th:nth-child(2){background:#b8d9ef} /* سال */
.comm-reg-table thead th:nth-child(3){background:#f5c6d6} /* عضویت */
.comm-reg-table thead th:nth-child(4),.comm-reg-table thead th:nth-child(5){background:#d9ead3} /* نام */
.comm-reg-table thead th:nth-child(6){background:#fce4d6} /* دوره */
.comm-reg-table thead th:nth-child(7){background:#d9ead3} /* مبلغ دوره */
.comm-reg-table thead th:nth-child(8){background:#f5c6d6} /* مبلغ کل پاداش */
.comm-reg-table thead th:nth-child(9){background:#b8d9ef} /* نام پذیرش */
.comm-reg-table thead th:nth-child(10){background:#86b6d8} /* پاداش پذیرش */
.comm-reg-table thead th:nth-child(11),.comm-reg-table thead th:nth-child(12){background:#e6d5f2} /* مربی/پاداش */
.comm-reg-table thead th:nth-child(13){background:#f4b183;white-space:normal;min-width:240px}
.comm-reg-table tbody tr:nth-child(even){background:#f8fafc}.comm-reg-table tbody tr:hover{background:#fff7ed}
.comm-bonus-cell{font-weight:700;color:#0f766e}
@media(max-width:1000px){.comm-band-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.comm-band-bar{grid-template-columns:1fr}.comm-totals-row{gap:8px;flex-direction:column;align-items:flex-start}}


/* ===== کمیسیون ثبت‌نام: هماهنگ با استاندارد پنل، نه رنگ‌بندی خام اکسل ===== */
.comm-subtab-view>h3{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:11px 14px;margin:0 0 10px;font-size:15px;color:var(--fg)}
.comm-band-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 10px;padding:0;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;direction:rtl}
.comm-band-item{min-height:64px;padding:9px 12px;background:transparent!important;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none}
.comm-band-item:last-child{border-left:0}
.comm-band-label{font-size:12px;font-weight:700;color:var(--brand);border:0;padding:0;margin:0 0 5px}
.comm-band-people{font-size:12px;color:var(--fg);line-height:1.7;white-space:normal}
.comm-band-person{display:inline-block;margin-left:6px;white-space:nowrap}.comm-band-person b{color:var(--brand);margin-right:2px}
.comm-band-total{font-size:11px;color:var(--muted);margin-top:3px}.comm-band-total b{color:var(--fg)}
.comm-totals-row{display:flex;align-items:center;justify-content:flex-start;gap:20px;flex-wrap:wrap;padding:8px 12px;margin:0 0 10px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);font-size:12px;color:var(--muted);direction:rtl}
.comm-totals-row b{color:var(--brand)}
.comm-reg-table{width:100%;min-width:1180px;border-collapse:collapse;direction:rtl;background:var(--card);font-size:12px}
.comm-reg-table th,.comm-reg-table td{padding:8px 9px;text-align:right;border-bottom:1px solid var(--line);border-left:0;white-space:nowrap;vertical-align:middle}
.comm-reg-table th{background:var(--bg2);color:var(--muted);font-weight:600;position:sticky;top:0;z-index:1}
.comm-reg-table td{background:var(--card);color:var(--fg)}
.comm-reg-table tbody tr:nth-child(even) td{background:var(--card)}
.comm-reg-table tbody tr:hover td{background:rgba(51,65,85,.35)}
.comm-reg-table thead th:nth-child(8),.comm-reg-table thead th:nth-child(10),.comm-reg-table thead th:nth-child(12){color:var(--brand)}
.comm-reg-table thead th:nth-child(13){white-space:normal;min-width:220px}
.comm-bonus-cell{font-weight:700;color:var(--brand)!important}
@media(max-width:900px){.comm-band-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.comm-band-item:nth-child(2){border-left:0}.comm-band-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.comm-band-bar{grid-template-columns:1fr}.comm-band-item{border-left:0!important;border-bottom:1px solid var(--line)}.comm-band-item:last-child{border-bottom:0}.comm-totals-row{gap:8px;flex-direction:column;align-items:flex-start}}


/* ثبت‌نام کمیسیون: هیچ رنگ اکسل روی هدر/نوار اعمال نشود؛ فقط تم استاندارد پنل */
.comm-band-bar,.comm-band-item,.comm-totals-row{background:var(--card)!important}
.comm-band-item{border-left:1px solid var(--line)!important}
.comm-band-item:last-child{border-left:0!important}
.comm-reg-table thead th:nth-child(n){background:var(--bg2)!important;color:var(--muted)!important;border-bottom:1px solid var(--line)!important}
.comm-reg-table thead th:nth-child(8),.comm-reg-table thead th:nth-child(10),.comm-reg-table thead th:nth-child(12){color:var(--brand)!important}

/* مودال و ابزار کاربران */
.u-modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.75);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}
.u-toolbar-bar{margin:0 0 10px}
@media(max-width:480px){.u-toolbar-bar{flex-direction:column;align-items:stretch}}

/* viewer-mode: مخفی کردن همهٔ دکمه‌های ذخیره/ایجاد/ویرایش */
body.viewer-mode .btn.success,
body.viewer-mode .btn.primary,
body.viewer-mode [data-uedit],
body.viewer-mode [data-utoggle],
body.viewer-mode #c-new,
body.viewer-mode #p-new,
body.viewer-mode #s-help-btn ~ .btn.success,
body.viewer-mode .row-form .btn-row,
body.viewer-mode .btn-row .btn.primary,
body.viewer-mode .btn-row .btn.success{display:none!important}

/* ===== تنظیمات v3: نوار ذخیره ثابت + اعمال به شعبهها ===== */
.sticky-save-bar{position:sticky;top:0;z-index:50;background:var(--card,#fff);border-bottom:1px solid var(--line,#ddd);padding:10px 2px;margin-bottom:8px;display:flex;gap:10px;align-items:center}
.sec-apply{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--muted,#666);margin-right:8px;cursor:pointer;white-space:nowrap}
.sec-apply input{width:15px;height:15px;cursor:pointer}
.staff-row .sr-pos{min-width:110px}

/* ===== تب آدیت: فیلتر + نشان اقدام ===== */
.audit-filter{min-width:130px;padding:6px 8px;border:1px solid var(--line,#ddd);border-radius:6px}
.audit-count{font-size:12px;color:var(--muted,#666);margin:auto 0;white-space:nowrap}
.act-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}
.act-new{background:rgba(34,197,94,.15);color:#16a34a}
.act-del{background:rgba(239,68,68,.15);color:#dc2626}
.act-pass{background:rgba(59,130,246,.15);color:#2563eb}
.act-edit{background:rgba(245,158,11,.15);color:#d97706}
.act-other{background:rgba(107,114,128,.15);color:#6b7280}

/* ===== بازطراحی مودال ثبت نوبت — v1.20 ===== */
.bk-modal-box{max-width:900px;width:min(900px,calc(100vw - 32px));padding:26px 28px;max-height:94vh}
.bk-modal-h h3{font-size:18px}
.bk-modal-x{font-size:22px;padding:7px 11px}
.bk-modal-search{padding:16px;margin-bottom:14px}
.bk-modal-search-title{font-size:14px;margin-bottom:8px}
.bk-modal-search input{font-size:14px;padding:11px 14px}
.bk-modal-fields{grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:12px}
.bk-modal-fields input,.bk-modal-row2 select,.bk-modal-row2 input,.bk-modal-date-row select,.bk-modal-course-row input{min-height:42px;font-size:14px;padding:9px 12px}
.bk-modal-cust-info,.bk-modal-course-info{font-size:13px;padding:10px 12px;line-height:1.9}
.bk-modal-course-row{display:grid;grid-template-columns:.8fr .9fr 1.5fr 1fr 1fr;gap:10px;background:rgba(30,41,59,.42);border:1px solid #334155;border-radius:12px;padding:12px;margin:12px 0}
.bk-modal-course-row label{display:block;font-size:12px;color:#cbd5e1;margin-bottom:5px}
.bk-modal-course-row input{width:100%;background:#020617;color:#f8fafc;border:1px solid #334155;border-radius:8px;box-sizing:border-box}
.bk-modal-course-row.hidden{display:none}
.bk-modal-row2{gap:12px;margin:12px 0}
.bk-modal-row2 label,.bk-modal-date-row label{font-size:13px;color:#cbd5e1;margin-bottom:6px}
.bk-modal-date-row{gap:12px}
.bk-modal-date-row>div{position:relative}
.br-modal-date-sel,.br-modal-time-sel{min-height:44px!important;font-size:14px!important}
.bk-modal-consult-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.25);border-radius:10px;margin:10px 0}
.bk-btn-consult{font-size:13px;padding:9px 14px}
.bk-consult-hint{font-size:12px}
.bk-modal-warning{font-size:14px;line-height:1.9;color:#fecaca;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.55);border-radius:10px;padding:10px 13px;margin:12px 0}
.required-mark{color:#f87171;font-weight:900}
.bk-modal-box textarea#br-modal-notes{font-size:14px;line-height:1.9;min-height:82px;padding:10px 12px}
.bk-modal-actions{justify-content:flex-start;gap:12px;padding-top:16px;margin-top:16px}
.bk-btn-submit,.bk-btn-cancel{font-size:14px;padding:11px 22px}
.booking-service-head,.booking-service-row{display:grid;grid-template-columns:1fr 2fr 90px 34px;gap:8px;align-items:center;margin:6px 0}
.booking-service-head{font-size:12px;color:var(--muted);padding:0 4px}
.booking-service-row input{min-height:36px;padding:6px 9px;font-size:12px}
@media(max-width:720px){
 .bk-modal-box{padding:18px 14px;width:calc(100vw - 18px)}
 .bk-modal-fields,.bk-modal-course-row{grid-template-columns:1fr 1fr}
 .bk-modal-course-row>div:nth-child(3){grid-column:span 2}
 .bk-modal-row2,.bk-modal-date-row{grid-template-columns:1fr}
 .bk-modal-consult-row{align-items:flex-start;flex-direction:column}
}

.br-bk-code{font-size:12px}.br-wk-bk-name{font-size:12px}.br-bk-code:has(+ *){}

/* اکشن‌های داخل پاپ‌آپ جزئیات نوبت */
.br-detail-actions{display:flex;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #1e293b}
/* نوار جابه‌جایی داخل مودال جزئیات */
.br-move-bar{margin-top:14px;padding:12px;background:rgba(56,189,248,.06);border:1px solid rgba(56,189,248,.3);border-radius:12px}
.br-move-title{font-size:13px;font-weight:800;color:#7dd3fc;margin-bottom:8px}
.br-move-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.br-move-row select{flex:1;min-width:120px;padding:8px;background:#020617;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:12px}
.br-move-row .btn{min-height:34px;font-size:12px}
.br-move-msg{margin-top:8px;font-size:12px;color:#fca5a5}
.br-detail-actions .btn{flex:1;min-height:40px;font-size:13px;font-weight:600}

/* دکمهٔ لیست رزروها */
.bk-btn-list{background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;border:none;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.bk-btn-list:hover{filter:brightness(1.1)}
/* لغو ۲ کلیکی — حالت تأیید */
.br-detail-actions .btn.danger-confirm{background:#dc2626;color:#fff;animation:pulse-red 1s infinite}
@keyframes pulse-red{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
/* مودال لیست رزروها */
.bk-reservations-box{max-width:880px;width:94%}
.bk-reservations-bar{display:flex;gap:8px;padding:14px 16px;border-bottom:1px solid #1e293b}
.bk-reservations-bar input{flex:1;padding:8px 10px;background:#020617;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:13px}
.bk-reservations-wrap{max-height:60vh;overflow:auto;padding:8px 12px}
table.bk-reservations{width:100%;border-collapse:collapse;font-size:13px}
table.bk-reservations th{position:sticky;top:0;background:#0f172a;color:#7dd3fc;text-align:right;padding:8px;font-size:12px;border-bottom:1px solid #1e293b;white-space:nowrap}
table.bk-reservations td{padding:7px 8px;border-bottom:1px solid #111c33;color:#e2e8f0;white-space:nowrap}
table.bk-reservations td small{color:#64748b;margin-right:4px}
table.bk-reservations tbody tr:hover{background:#0b1526}

/* باکس جزئیات کامل مشتری (لیست مشتریان) */
.bk-customer-detail-box-lg{max-width:900px;width:95%;max-height:88vh;overflow:auto}
.c-row{cursor:pointer}
.c-row:hover{background:#0b1526}
.cd-courses-title{margin:12px 0 6px;font-size:13px;font-weight:800;color:#7dd3fc}
.cd-period{background:rgba(56,189,248,.07);border:1px solid rgba(56,189,248,.25);border-radius:8px;padding:7px 10px;margin-bottom:6px;font-size:12.5px;color:#e2e8f0}
.cd-period:nth-child(odd){background:rgba(99,102,241,.07);border-color:rgba(99,102,241,.25)}

/* ===== مجوزهای ریز (نقش آموزش) ===== */
.perm-wrap{margin-top:14px;background:rgba(56,189,248,.05);border:1px solid rgba(56,189,248,.2);border-radius:10px;padding:12px}
.perm-box-title{font-size:13px;font-weight:800;color:#7dd3fc;margin-bottom:10px}
.perm-group{margin-bottom:10px}
.perm-group-title{font-size:12.5px;font-weight:700;color:#e2e8f0;margin-bottom:5px;padding-bottom:4px;border-bottom:1px dashed rgba(148,163,184,.3)}
.perm-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#cbd5e1;padding:2px 0;cursor:pointer}
.perm-item input{accent-color:#38bdf8;width:15px;height:15px;cursor:pointer}
#training-banner{margin:0}

/* ===== تب پیامک (نیازپرداز) ===== */
.sms-shell{max-width:100%;margin:0 auto;padding:0 20px}
.sms-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
@media(max-width:760px){.sms-grid{grid-template-columns:1fr}}
.sms-col{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.sms-col-title{display:block;font-size:13px;font-weight:800;color:var(--brand);margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--line)}
.sms-opt{display:flex;align-items:flex-start;gap:9px;margin:0 0 10px;cursor:pointer}
.sms-opt input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:var(--brand)}
.sms-opt-lab{display:flex;flex-direction:column;gap:1px}
.sms-opt-lab b{font-size:13px;color:var(--fg)}
.sms-opt-lab small{font-size:11.5px;color:var(--muted);line-height:1.5}
.sms-num{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.sms-num input{width:70px;padding:6px 8px;font-size:13px}
.sms-num em{font-size:11px;color:var(--muted);font-style:normal}
.sms-fld{display:flex;flex-direction:column;margin:0 0 10px}
.sms-fld span{font-size:12px;color:var(--muted);margin-bottom:4px}
.sms-fld input{font-size:13px}
.sms-test-row{display:flex;gap:8px;flex-wrap:wrap}
.sms-test-row input{flex:1;min-width:200px}
.sms-credit{background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.25);border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:14px}
.sms-credit-val{font-weight:800;color:var(--ok);font-size:18px}
.sms-vars{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.sms-var{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;color:var(--brand);direction:ltr}
.sms-var i{font-style:normal;font-weight:400;color:var(--muted);margin-left:4px;direction:rtl;display:inline}
.sms-tpl{display:flex;flex-direction:column;margin:0 0 10px}
.sms-tpl span{font-size:12px;font-weight:600;color:var(--fg);margin-bottom:4px}
.sms-tpl textarea{font-family:inherit;font-size:13px;line-height:1.8;min-height:60px;white-space:pre-wrap;direction:rtl;text-align:right}

/* ===== SMS Hover Dropdown ===== */
.mgmt-tab-dropdown{position:relative;display:inline-flex}
.mgmt-dropdown-menu{display:none;position:absolute;top:100%;right:0;z-index:100;min-width:160px;background:var(--card,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.12);padding:4px;margin-top:4px}
.mgmt-dropdown-menu.show{display:block}
.mgmt-dropdown-menu button{display:block;width:100%;text-align:right;padding:8px 12px;border:none;background:transparent;border-radius:7px;cursor:pointer;font:inherit;font-size:13px;color:var(--fg)}
.mgmt-dropdown-menu button:hover{background:var(--bg2)}

/* ===== SMS Templates Tab ===== */
.sms-tpl-toolbar{display:flex;justify-content:flex-start;gap:8px;margin-bottom:14px}
.sms-send-row{display:flex;align-items:flex-end;gap:10px;justify-content:center;flex-wrap:nowrap;margin-bottom:18px}
.sms-send-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.sms-send-row select,.sms-send-row input{font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.sms-send-row .sms-tpl-select{width:220px}
.sms-send-row .sms-recipient-search{width:220px;position:relative}
.sms-send-row .sms-mobile-locked{width:200px;background:var(--bg2)!important;color:var(--muted);cursor:not-allowed}
.sms-send-row .btn-send-sms{padding:8px 18px;font-size:13px;font-weight:700;white-space:nowrap}
.sms-recipient-dropdown{position:absolute;top:100%;right:0;left:0;z-index:50;background:var(--card,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:200px;overflow-y:auto;margin-top:2px}
.sms-recipient-dropdown .sms-r-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line);font-size:13px}
.sms-recipient-dropdown .sms-r-item:last-child{border-bottom:none}
.sms-recipient-dropdown .sms-r-item:hover{background:var(--bg2)}
.sms-recipient-dropdown .sms-r-item .sms-r-name{font-weight:700;color:var(--fg)}
.sms-recipient-dropdown .sms-r-item .sms-r-code{color:var(--brand);font-size:11px;margin-right:6px}
.sms-recipient-dropdown .sms-r-item .sms-r-mobile{color:var(--muted);font-size:11px;float:left;direction:ltr}
.sms-tpl-list{margin-top:14px}
.sms-tpl-item{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.sms-tpl-item .sms-tpl-title{font-weight:700;font-size:14px;color:var(--brand)}
.sms-tpl-item .sms-tpl-text{font-size:12px;color:var(--muted);margin-top:3px;white-space:pre-wrap;max-height:60px;overflow:hidden}
.sms-tpl-item .sms-tpl-actions{display:flex;gap:6px;flex-shrink:0}

/* ═══ باکس‌های پرسنل شعبه (تب عملکرد) ═══ */
.comm-staff-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.comm-staff-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: transform 0.2s;
}

.comm-staff-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.comm-staff-name {
  font-size: 16px;
  font-weight: bold;
  color: white;
  margin-bottom: 8px;
}

.comm-staff-total {
  font-size: 14px;
  color: rgba(255,255,255,0.9);
}

/* ═══ باند بار هر زیرتب (تب عملکرد) ═══ */
.comm-subtab-band {
  background: rgba(255,255,255,0.05);
  border-radius: 8px;
  padding: 12px;
  margin: 12px 0;
}

.comm-subtab-band h5 {
  margin: 0 0 8px 0;
  font-size: 14px;
  color: #667eea;
}

/* وسط‌چین کردن باکس‌های پرسنل شعبه */
.comm-cards[style*="justify-content:center"] {
  justify-content: center !important;
}
