/* ============ سامانه مسابقات کیک‌بوکسینگ ============ */
* { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #0d0f1a;
  --bg2: #141829;
  --card: #1b2038;
  --card2: #232a4a;
  --line: #2e3657;
  --text: #eef1fa;
  --muted: #9aa3c0;
  --gold: #f5c542;
  --red: #e5484d;
  --green: #3ecf8e;
  --blue: #4f8cff;
  --radius: 14px;
  --ws-bg: #0a0c14;
  --ws-topbar-h: 44px;
  --ws-nav-h: 42px;
}

html { scroll-behavior: auto; }   /* 🔴 smooth + scroll-snap اسکرول را قفل می‌کرد */
body {
  font-family: "Vazirmatn", Tahoma, sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

.bg-glow {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(229,72,77,.16), transparent 60%),
    radial-gradient(800px 500px at 10% 110%, rgba(79,140,255,.12), transparent 60%);
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.hidden { display: none !important; }
.muted { color: var(--muted); font-size: .9rem; }

/* ---------- header ---------- */
.site-header { background: linear-gradient(180deg, rgba(27,32,56,.9), rgba(13,15,26,.6)); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; -webkit-backdrop-filter: blur(8px);
 backdrop-filter: blur(8px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 16px; }

/* ============ Workspace Tab Layout (پنل مدیریت) ============ */
.ws-header { position: sticky; top: 0; z-index: 50; background: var(--ws-bg, #0a0c14); border-bottom: 1px solid var(--line); }
.ws-topbar { display: flex; align-items: center; justify-content: space-between; height: var(--ws-topbar-h); padding: 0 14px; border-bottom: 1px solid rgba(46,54,87,.4); }
.ws-brand { display: flex; align-items: center; gap: 8px; }
.ws-title { font-size: .9rem; font-weight: 700; color: var(--gold); }
.ws-topbar-actions { display: flex; align-items: center; gap: 6px; }
.ws-icon-btn { background: none; border: none; color: var(--muted); font-size: 1.05rem; cursor: pointer; padding: 4px 8px; border-radius: 6px; transition: all .15s; position: relative; }
.ws-icon-btn:hover { background: rgba(245,197,66,.1); color: var(--gold); }
.ws-user-badge { font-size: .78rem; color: var(--muted); padding: 2px 8px; border: 1px solid var(--line); border-radius: 6px; }
.ws-nav { display: flex; align-items: stretch; height: var(--ws-nav-h); overflow: hidden; }
.ws-nav-scroll { display: flex; align-items: center; gap: 2px; padding: 0 8px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; white-space: nowrap; width: 100%; }
.ws-nav-scroll::-webkit-scrollbar { height: 2px; }
.ws-nav-scroll::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
.ws-tab { background: none; border: none; color: var(--muted); font-size: .78rem; font-weight: 600; cursor: pointer; padding: 0 10px; height: 100%; border-bottom: 2px solid transparent; transition: all .15s; white-space: nowrap; }
.ws-tab:hover { color: var(--text); background: rgba(245,197,66,.04); }
.ws-tab.active { color: var(--gold); border-bottom-color: var(--gold); background: rgba(245,197,66,.06); }
.ws-tour-label { display: inline-flex; align-items: center; font-size: .82rem; font-weight: 700; color: var(--gold); padding: 0 10px; border-left: 1px solid var(--line); margin-left: 4px; height: 70%; }
.ws-tour-tab { padding: 0 8px; font-size: .75rem; }
.ws-back-btn { background: none; border: 1px solid var(--line); color: var(--muted); font-size: .72rem; cursor: pointer; padding: 4px 10px; border-radius: 6px; white-space: nowrap; margin-right: auto; transition: all .15s; }
.ws-back-btn:hover { border-color: var(--gold); color: var(--gold); }
.ws-hamburger { display: none; background: none; border: none; color: var(--muted); font-size: 1.2rem; cursor: pointer; padding: 2px 6px; border-radius: 6px; }
.ws-hamburger:hover { color: var(--gold); }
@media (max-width: 768px) {
  .ws-hamburger { display: inline-flex; align-items: center; }
  .ws-nav { flex-direction: column; height: auto; max-height: 0; overflow: hidden; transition: max-height .25s ease; }
  .ws-nav.ws-nav-open { max-height: 100vh; }
  .ws-nav-scroll { flex-wrap: wrap; padding: 4px 8px; }
  .ws-tab { height: 34px; padding: 0 10px; border-bottom: none; border-radius: 6px; }
  .ws-tab.active { border-bottom: none; background: rgba(245,197,66,.12); }
  .ws-main { padding: 10px; }
  .ws-topbar-actions { gap: 4px; }
}
.ws-main { padding: 16px; max-width: 1400px; margin: 0 auto; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-badge { font-size: 34px; filter: drop-shadow(0 4px 10px rgba(245,197,66,.35)); }
.brand h1 { font-size: 1.25rem; font-weight: 700; color: var(--gold); }
.brand p { font-size: .8rem; color: var(--muted); }

.tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.tab {
  background: transparent; border: 1px solid var(--line); color: var(--muted);
  padding: 8px 16px; border-radius: 999px; cursor: pointer; font-family: inherit;
  font-size: .9rem; transition: all .2s;
}
.tab:hover { color: var(--text); border-color: var(--gold); }
.tab.active { background: var(--gold); color: #1a1200; border-color: transparent; font-weight: 700; }
/* برچسب گروه ناوبری */
.nav-group-label { font-size: .65rem; color: var(--muted); padding: 10px 12px 2px; font-weight: 700; letter-spacing: .3px; width: 100%; opacity: .55; border-top: 1px solid var(--line); margin-top: 6px; }
.nav-group-label:first-of-type { border-top: none; margin-top: 0; }

/* ---------- panels ---------- */
.tab-panel { display: none; padding: 22px 0 40px; animation: fade .25s ease; }
.tab-panel.active { display: block; }
@keyframes fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.panel-head { margin-bottom: 18px; }
.panel-head h2 { font-size: 1.3rem; font-weight: 700; margin-bottom: 6px; }

.chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.chip {
  background: var(--card); border: 1px solid var(--line); color: var(--muted);
  padding: 6px 14px; border-radius: 999px; cursor: pointer; font-family: inherit; font-size: .85rem;
}
.chip.active { background: var(--card2); border-color: var(--gold); color: var(--gold); font-weight: 700; }

.empty-note { color: var(--muted); background: var(--card); border: 1px dashed var(--line); border-radius: var(--radius); padding: 26px; text-align: center; }

.card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 18px; margin-bottom: 16px;
}
.card h3 { font-size: 1rem; margin-bottom: 12px; color: var(--gold); }
label { display: block; font-size: .85rem; color: var(--muted); margin-bottom: 10px; }
input, select, textarea {
  width: 100%; margin-top: 6px; padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--line); background: var(--bg2); color: var(--text);
  font-family: inherit; font-size: .9rem; outline: none; transition: border .2s;
}
input:focus, select:focus, textarea:focus { border-color: var(--gold); }
textarea { resize: vertical; }

.btn {
  border: none; border-radius: 10px; padding: 10px 20px; cursor: pointer;
  font-family: inherit; font-size: .9rem; font-weight: 700; transition: all .2s;
}
.btn:hover { filter: brightness(1.12); transform: translateY(-1px); }
.btn:active { transform: none; }
.btn-primary { background: linear-gradient(135deg, var(--gold), #ff9d2e); color: #1a1200; }
.btn-gold { background: linear-gradient(135deg, var(--gold), #ff9d2e); color: #1a1200; font-weight: 700; }
.btn-danger { background: var(--red); color: #fff; }
.btn-ghost { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.btn-xs { padding: 2px 8px; font-size: .72rem; border-radius: 4px; }
.btn-sm { padding: 7px 14px; font-size: .82rem; }
.btn-big { width: 100%; padding: 14px; font-size: 1.05rem; margin-top: 6px; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
/* دکمه‌های ساب‌تب دسته‌بندی پیام باشگاه */
.cr-sub-tab { font-size: .78rem; padding: 5px 10px; border-radius: 8px; cursor: pointer; border: 1px solid var(--line); white-space: nowrap; background: transparent; color: var(--muted); flex: 0 0 auto; }
.cr-sub-active { background: var(--gold) !important; color: #1a1200 !important; box-shadow: 0 0 12px rgba(245,197,66,.3); font-weight: 700; }
/* بج قرمز کوچک روی تب پیام */
.cr-badge { display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;font-size:.65rem;font-weight: 700;margin-right:3px;vertical-align:middle;line-height:1; }

.form-msg { margin-top: 10px; font-size: .85rem; min-height: 1.2em; }
.form-msg.ok { color: var(--green); }
.form-msg.err { color: var(--red); }
.form-card { max-width: 620px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.narrow-card { max-width: 380px; margin: 40px auto; }
.narrow-card h2 { margin-bottom: 14px; }

.add-row { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.search-input { margin-bottom: 12px; border-color: var(--line); }
.search-input:focus { border-color: var(--gold); }
.comp-list { margin-top: 12px; max-height: 380px; overflow-y: auto; }
.comp-item {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  background: var(--bg2); border: 1px solid var(--line); border-radius: 10px;
  padding: 8px 12px; margin-bottom: 6px; font-size: .85rem;
}
.comp-item .ci-main b { display: block; font-size: .9rem; }
.comp-item .ci-main span { color: var(--muted); font-size: .75rem; }
.comp-item .ci-wc { color: var(--gold); font-size: .75rem; white-space: nowrap; }

.reg-item {
  background: var(--bg2); border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 12px; margin-bottom: 8px;
}
.reg-item .ri-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.reg-item .ri-head b { font-size: .92rem; }
.reg-item .ri-meta { color: var(--muted); font-size: .75rem; margin: 4px 0 8px; }
.reg-item .ri-actions { display: flex; gap: 8px; }

/* ---------- bracket ---------- */
.wc-block { margin-bottom: 34px; }
.wc-title {
  display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 1.05rem;
  color: var(--gold); background: var(--card2); border: 1px solid var(--line);
  padding: 8px 18px; border-radius: 999px; margin-bottom: 18px;
}
.champion-banner {
  background: linear-gradient(135deg, rgba(245,197,66,.15), rgba(255,157,46,.08));
  border: 1px solid var(--gold); border-radius: var(--radius); padding: 14px 20px;
  margin-bottom: 16px; display: flex; align-items: center; gap: 12px; font-weight: 700;
}
.champion-banner .crown { font-size: 26px; }

.bracket-wrap { overflow-x: auto; padding-bottom: 10px; }
.bracket { display: flex; gap: 18px; min-width: max-content; padding: 8px 4px; }

.b-node { display: flex; align-items: center; gap: 14px; }
.b-leaf { display: block; }
.b-node .match-card { flex-shrink: 0; }
.b-children { display: flex; flex-direction: column; justify-content: space-around; gap: 14px; }
.b-child { display: flex; flex-direction: column; justify-content: center; }

.round-label {
  text-align: center; color: var(--muted); font-size: .75rem; margin-bottom: 6px; font-weight: 700;
}

.match-card {
  background: var(--card); border: 1px solid var(--line); border-radius: 10px;
  width: 230px; overflow: hidden; transition: border-color .2s, transform .2s;
}
.match-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.match-card.done { border-color: rgba(62,207,142,.5); }
.match-card.bye { opacity: .75; }
.fighter {
  display: flex; justify-content: space-between; align-items: center; gap: 6px;
  padding: 8px 12px; font-size: .85rem; border-bottom: 1px solid var(--line);
}
.fighter:last-child { border-bottom: none; }
.fighter .f-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fighter.winner { background: rgba(62,207,142,.12); color: var(--green); font-weight: 700; }
.fighter.bye-seat { color: var(--muted); font-style: italic; }
.fighter .f-score { font-weight: 700; color: var(--gold); min-width: 22px; text-align: center; }
.match-card .m-meta { display: flex; justify-content: space-between; padding: 4px 12px; font-size: .68rem; color: var(--muted); background: var(--bg2); }
.match-card .m-note { padding: 2px 12px 6px; font-size: .7rem; color: var(--muted); }

.match-actions { display: flex; gap: 6px; padding: 8px 12px; background: var(--bg2); }
.match-actions .btn { flex: 1; padding: 6px 8px; font-size: .75rem; }

/* ---------- schedule ---------- */
.sched-item {
  display: flex; align-items: center; gap: 14px; background: var(--card);
  border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 16px;
  margin-bottom: 10px; flex-wrap: wrap;
}
.sched-item .s-round { color: var(--gold); font-weight: 700; font-size: .8rem; min-width: 90px; }
.sched-item .s-fight { flex: 1; font-size: .9rem; }
.sched-item .s-fight b { color: var(--green); }
.sched-item .s-meta { color: var(--muted); font-size: .75rem; }

/* ---------- admin ---------- */
.admin-grid { grid-template-columns: 1fr 1fr; gap: 0 16px; min-width: 0; }
.wide-card { grid-column: 1 / -1; }
.admin-toolbar { margin-bottom: 16px; }
.wc-row {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  background: var(--bg2); border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 14px; margin-bottom: 8px; font-size: .85rem; flex-wrap: wrap;
}
.wc-row .wc-name { font-weight: 700; color: var(--gold); }
.wc-row .wc-stats { color: var(--muted); font-size: .75rem; }
.wc-row .wc-actions { display: flex; gap: 6px; }

.match-row {
  display: flex; align-items: center; gap: 10px; background: var(--bg2);
  border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px;
  margin-bottom: 6px; font-size: .82rem; flex-wrap: wrap;
}
.match-row .mr-fight { flex: 1; min-width: 200px; }
.match-row.done { opacity: .8; }
.match-row .mr-winner { color: var(--green); font-weight: 700; }

/* ---------- modal ---------- */
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(5,6,12,.78); -webkit-backdrop-filter: blur(4px);
 backdrop-filter: blur(4px);
  display: flex; align-items: flex-start; justify-content: center; z-index: 100; padding: 16px;
  overflow-y: auto;
}
.modal { width: 100%; max-width: 420px; }
.modal h3 { margin-bottom: 14px; }
.modal .vs { color: var(--gold); font-weight: 700; padding: 0 8px; align-self: flex-end; margin-bottom: 10px; }
.score-row { display: flex; align-items: center; gap: 6px; }
.score-row input { text-align: center; }
.score-blue::placeholder { color: #4da3ff; font-weight: 600; }
.score-red::placeholder { color: #ff5a5a; font-weight: 600; }
.field-select { flex: 1; }

/* استایل‌ها و رده‌های سنی — ویرایشگر مدیریت */
.style-row, .agecat-row {
  display: flex; gap: 6px; align-items: center; margin-bottom: 6px; flex-wrap: wrap;
}
.style-row input, .agecat-row input { flex: 1; min-width: 110px; }
.style-row .se-method { flex: 0 0 120px; }

/* ویرایشگر سبک — قالب استاندارد وزن‌ها */
.style-row {
  flex-direction: column; align-items: stretch;
  border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; margin-bottom: 12px;
  background: var(--bg2);
}
.style-row-head { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.style-row-head .se-name { flex: 1; min-width: 140px; }
.style-weights { margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--line); }
.sw-title { font-size: .8rem; color: var(--muted); margin-bottom: 6px; font-weight: 600; }
.sw-row { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.sw-row .sw-input { flex: 1; min-width: 120px; }
.sw-add { margin-top: 2px; }

/* مودال عریض برای فرم‌های ویرایش */
.modal-wide { width: min(640px, 94vw); max-width: min(640px, 94vw); max-height: 92vh; overflow-y: auto; }
.modal-wide .form-grid { grid-template-columns: repeat(2, 1fr); }

/* ویرایشگر زمین‌های بازی (رینگ/تاتامی + کد) */
.pf-row { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.pf-row .pf-kind { flex: 0 0 110px; }
.pf-row .pf-code { flex: 1; min-width: 120px; }

/* کارت‌های لیست مسابقات در صفحه اصلی */
.tour-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.tour-card {
  border: 1px solid var(--line); border-radius: 14px; padding: 16px;
  background: var(--bg2); transition: all .18s;
}
.tour-card:hover { border-color: var(--gold); }
.tour-card.inactive { opacity: .6; }
.tc-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.tc-badge { font-size: 1.5rem; }
.tc-title-group { flex: 1; min-width: 0; }
.tc-title-group b { display: block; font-size: 1rem; color: var(--text); }
.tc-title-group .muted { font-size: .8rem; }
.tc-meta { display: flex; gap: 14px; font-size: .82rem; color: var(--muted); margin-bottom: 12px; }
.tc-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.tc-actions .btn { flex: 1; min-width: 80px; text-align: center; }
@media (max-width: 560px) {
  .tc-actions .btn { flex: 1 1 100%; }
  .tc-meta { flex-direction: column; gap: 4px; }
}
.tour-card-icon {
  font-size: 30px; width: 54px; height: 54px; flex: 0 0 54px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(245,197,66,.12); border-radius: 12px;
}
.tour-card-body { flex: 1; min-width: 0; }
.tour-card-body h3 { margin: 0 0 4px; font-size: 1.02rem; color: var(--text); }
.tour-card-body .muted { margin: 0 0 4px; font-size: .85rem; }
.tour-card-date { margin: 0; font-size: .8rem; color: var(--muted); }

/* بلوک مستقل هر مسابقه (تب‌های اختصاصی) */
.tour-blocks { display: flex; flex-direction: column; gap: 26px; }
.tour-block {
  border: 1px solid var(--line); border-radius: 18px; padding: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.tour-block > .tabs { margin: 16px 0 2px; justify-content: flex-start; flex-wrap: wrap; }
.tour-block .tab-panel { padding: 18px 0 4px; }

/* هدر اطلاعات مسابقه + روزشمار + پوستر */
/* بنر حالت پیش‌نمایش تغییرات (فقط ادمین — تغییرات ذخیره‌نشده) */
.preview-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  background: #fff7e6;
  border: 1px dashed #f0b429;
  color: #7a4b00;
  border-radius: 12px;
  padding: 10px 14px;
  margin: 10px 0 4px;
  font-size: .92rem;
  position: sticky;
  top: 8px;
  z-index: 40;
}
.preview-banner b { color: #8a4b00; }
.preview-banner .btn { background: #fff; border: 1px solid #f0b429; color: #7a4b00; }
.tour-hero { margin-bottom: 16px; background: linear-gradient(135deg, var(--bg2), rgba(245,197,66,.06)); }
.tour-hero-main { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.tour-hero-text { flex: 1; min-width: 260px; }
.tour-hero-text h2 { margin: 0 0 6px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
/* لوگوی مسابقه — سمت راست نام */
.tour-hero-logo {
  width: 46px; height: 46px; object-fit: cover;
  border-radius: 50%;
  background: transparent; padding: 0;
}
.tour-poster {
  width: 170px; max-height: 220px; object-fit: cover; border-radius: 12px;
  border: 1px solid var(--line); flex: 0 0 auto;
}
.countdown-row { display: flex; gap: 12px; flex-wrap: wrap; margin: 14px 0 10px; }
.countdown-box {
  background: rgba(245,197,66,.1); border: 1px solid rgba(245,197,66,.35);
  border-radius: 12px; padding: 10px 16px; text-align: center; min-width: 150px;
}
.cd-label { font-size: .78rem; color: var(--muted); margin-bottom: 4px; }
.cd-value { font-size: 1.05rem; font-weight: 700; color: var(--gold); font-variant-numeric: tabular-nums; direction: ltr; display: inline-flex; align-items: center; gap: 0; }
.cd-value .cd-unit { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; }
.cd-value .cd-unit .cd-num { font-size: 1.05rem; font-weight: 700; }
.cd-value .cd-unit .cd-unit-label { font-size: .5rem; font-weight: 400; color: var(--muted); line-height: 1.2; }
.cd-value .cd-unit-sep { font-size: .85rem; font-weight: 700; color: var(--muted); margin: 0 2px; display: inline-flex; align-items: center; padding-bottom: 12px; }
.cd-value.cd-done { color: #ff6b6b; }
.tour-meta-line { display: flex; gap: 14px; flex-wrap: wrap; font-size: .86rem; color: var(--text); margin: 4px 0; }
.tour-meta-line a { color: var(--gold); }
.tour-contacts { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; font-size: .86rem; }
.tour-contacts a { color: var(--gold); text-decoration: none; }

/* لینکهای دسترسی سریع مسابقه (جدول/برنامه/ثبتنام/دانلودها) — یک خط مثل مسئول/ناظر */
.tour-links {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px;
  border-top: 1px dashed var(--line);
}
.tour-link {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(245,197,66,.08); border: 1px solid rgba(245,197,66,.35);
  color: var(--gold); font-size: .82rem; font-weight: 700;
  text-decoration: none; transition: all .2s;
}
button.tour-link { cursor: pointer; font-family: inherit; }
button.tour-link:hover { background: linear-gradient(135deg, #38bdf8, #2563eb); color: #fff; border-color: transparent; }
.tour-link:hover { background: linear-gradient(135deg, #38bdf8, #2563eb); color: #fff; border-color: transparent; }
.tour-link.active { background: var(--gold); color: #1a1200; border-color: var(--gold); }

/* هدر ساده صفحههای جدا (فقط نام و زیرنویس + بازگشت) */
.tour-hero-simple {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap;
}
.tour-hero-simple h2 { margin: 0 0 4px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tour-hero-simple .tour-links { width: 100%; border-top: 1px dashed var(--line); }
@media (max-width: 560px) {
  .tour-hero-simple { flex-direction: column; align-items: flex-start; }
}
.poster-preview { max-width: 200px; max-height: 150px; border-radius: 10px; border: 1px solid var(--line); margin-top: 6px; display: block; }

/* بخش دانلودها */
.download-list { display: flex; flex-direction: column; gap: 8px; }
.download-item {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--bg2);
}
.dl-icon { font-size: 22px; }
.dl-name { flex: 1; font-weight: 600; font-size: .92rem; word-break: break-all; }
.dl-name small { color: var(--muted); font-weight: 400; margin-inline-start: 6px; }
.dl-head { margin: 0 0 8px; }
/* موبایل: نام فایل یک خط کامل، دکمه‌ها کنار هم */
@media (max-width: 560px) {
  .download-item { flex-wrap: wrap; gap: 8px; }
  .download-item .dl-icon { font-size: 18px; }
  .download-item .dl-name { flex: 1 1 100%; font-size: .87rem; }
  .download-item .btn { flex: 1 1 auto; text-align: center; }
}

/* دسترسی سریع در مودال ویرایش مسابقه */
.et-quick-links { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.et-files-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.et-files-row .file-input { flex: 1; min-width: 200px; }

/* فرم آپلود فایل دانلودی مسابقه (اسم + فایل) */
.et-files-form {
  display: grid;
  grid-template-columns: minmax(180px, 1.15fr) minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 10px;
}
.et-file-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.et-file-lbl { font-size: .78rem; color: var(--muted); font-weight: 600; }
.et-file-lbl .et-req { color: var(--red, #e5484d); font-weight: 700; }
.et-file-field input[type="text"],
.et-file-field input.file-input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg2, #161a22);
  color: var(--text);
  font-family: inherit;
  font-size: .86rem;
}
.et-file-field input[type="text"]:focus {
  outline: none;
  border-color: var(--gold, #f5c542);
  box-shadow: 0 0 0 3px rgba(245, 197, 66, .12);
}
.et-file-field input[type="text"].invalid {
  border-color: var(--red, #e5484d);
  box-shadow: 0 0 0 3px rgba(229, 72, 77, .12);
}
.et-file-field .field-hint { color: var(--muted); font-size: .68rem; }
.et-file-upload-btn { height: 40px; white-space: nowrap; }
@media (max-width: 720px) {
  .et-files-form { grid-template-columns: 1fr; }
  .et-file-upload-btn { width: 100%; }
}

/* ---------- تب کمربند (رده‌های فنی) ---------- */
.belt-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.belt-list-field { display: flex; flex-direction: column; gap: 4px; }
.belt-list-field textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: .86rem;
  line-height: 1.9;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg2, #161a22);
  color: var(--text);
  resize: vertical;
}
.belt-list-field textarea:focus {
  outline: none;
  border-color: var(--gold, #f5c542);
  box-shadow: 0 0 0 3px rgba(245, 197, 66, .12);
}
.belt-preview { margin-top: 10px; }
.belt-preview-lbl {
  display: block;
  font-size: .72rem;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 6px;
}
.belt-chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.belt-chip {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--bg2, #161a22);
  font-size: .76rem;
  white-space: nowrap;
}
.belt-arrow { color: var(--muted); font-size: .7rem; }
.belt-empty {
  display: block;
  font-size: .76rem;
  color: var(--red, #e5484d);
  background: rgba(229, 72, 77, .08);
  border: 1px solid rgba(229, 72, 77, .3);
  border-radius: 8px;
  padding: 8px 10px;
  line-height: 1.8;
}

/* ---------- تب روش‌های پرداخت ---------- */
.pay-method-list { display: flex; flex-direction: column; gap: 10px; }
.pay-method-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg2, #161a22);
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.pay-method-card:hover { border-color: var(--gold, #f5c542); }
.pay-method-card:has(input:checked) {
  border-color: var(--gold, #f5c542);
  background: rgba(245, 197, 66, .06);
}
.pay-method-card input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
  accent-color: var(--gold, #f5c542);
  cursor: pointer;
}
.pay-method-icon { font-size: 1.3rem; line-height: 1; flex: 0 0 auto; }
.pay-method-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pay-method-body b { font-size: .9rem; }
.pay-method-body .small { line-height: 1.7; }

.pay-sub-box {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px dashed var(--line);
  border-radius: 12px;
  background: var(--bg, #11161e);
}
.pay-sub-box h5 {
  margin: 0 0 10px;
  font-size: .82rem;
  color: var(--gold, #f5c542);
}
.pay-sub-box .form-grid { grid-template-columns: 1fr 1fr; }
.pay-sub-box input[type="text"] { direction: ltr; text-align: left; }
.pay-sub-box label:has(input[type="checkbox"]) { flex-direction: row; align-items: center; gap: 8px; }
#et-bank-preview.ok {
  color: var(--green, #30a46c);
  font-size: .74rem;
  line-height: 1.8;
  word-break: break-all;
}

@media (max-width: 720px) {
  .pay-sub-box .form-grid { grid-template-columns: 1fr; }
  .pay-method-card { padding: 10px 12px; }
}

/* هدر داینامیک + همبرگر موبایل */
.user-nav { display: flex; gap: 8px; align-items: center; }

/* ---------- همبرگر پنل مدیریت ---------- */
#admin-hamburger {
  display: block; background: none; border: 1px solid var(--line); color: var(--text);
  font-size: 1.3rem; border-radius: 10px; width: 42px; height: 42px; cursor: pointer;
  flex-shrink: 0; order: 2;
}
#admin-hamburger:hover { border-color: var(--gold); color: var(--gold); }
.admin-nav-wrap {
  display: flex; align-items: center; gap: 6px; flex: 1;
}
.admin-nav-wrap #admin-tabs { flex: 1; }
.admin-logout-btn {
  white-space: nowrap !important; flex-shrink: 0;
  border-color: rgba(229,72,77,.3) !important;
  color: var(--red) !important;
}
.admin-logout-btn:hover {
  background: var(--red) !important;
  color: #fff !important;
  border-color: var(--red) !important;
}
@media (max-width: 992px) {
  #admin-hamburger { display: block; order: 2; }
  .admin-nav-wrap {
    display: none; position: absolute; top: 100%; left: 14px; right: 14px;
    z-index: 300; flex-direction: column; align-items: stretch;
    background: var(--bg2); border: 1px solid var(--line); border-radius: 12px;
    padding: 10px; box-shadow: 0 14px 40px rgba(0,0,0,.5);
  }
  .admin-nav-wrap.open { display: flex; }
  .admin-nav-wrap .tabs { flex-direction: column; width: 100%; }
  .admin-nav-wrap .tab { width: 100%; text-align: right; border-radius: 8px; }
  .admin-nav-wrap .admin-logout-btn { width: 100%; margin-top: 6px; text-align: center; }
  .site-header { position: relative; }
  .header-inner { flex-wrap: nowrap; }
}
@media (min-width: 993px) {
  #admin-hamburger { display: none !important; }
  .admin-nav-wrap { display: flex !important; position: static !important; flex-direction: row !important; }
  .admin-nav-wrap .tabs { flex-direction: row !important; }
}
/* ------------------------------------- */

.hamburger {
  display: none; background: none; border: 1px solid var(--line); color: var(--text);
  font-size: 1.3rem; border-radius: 10px; width: 42px; height: 42px; cursor: pointer;
}
@media (max-width: 700px) {
  .hamburger { display: block; }
  .user-nav {
    position: absolute; top: 68px; left: 14px; right: 14px; z-index: 300;
    flex-direction: column; align-items: stretch; background: var(--bg2);
    border: 1px solid var(--line); border-radius: 12px; padding: 10px;
    display: none;
  }
  .user-nav.open { display: flex; }
}

/* مودال ورود/ثبت‌نام کاربر */
.auth-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.auth-tab {
  flex: 1; padding: 9px; border: 1px solid var(--line); background: var(--bg2);
  color: var(--muted); border-radius: 10px; cursor: pointer; font-weight: 600;
}
.auth-tab.active { border-color: var(--gold); color: var(--gold); background: rgba(245,197,66,.08); }
.auth-title { margin: 0 0 4px; font-size: 1.1rem; color: var(--gold); }
.auth-subtitle { margin: 0 0 12px; font-size: .85rem; }
/* فیلد رمز با دکمه نمایش/مخفی */
.pw-wrap { display: flex; align-items: center; gap: 6px; }
.pw-wrap input { flex: 1; }
.pw-toggle {
  background: var(--bg3); border: 1px solid var(--line); color: var(--muted);
  border-radius: 8px; padding: 6px 10px; cursor: pointer; font-size: .9rem; flex-shrink: 0;
}
.pw-toggle:hover { border-color: var(--gold); color: var(--gold); }
/* نوار قدرت رمز */
.pw-meter { display: block; height: 6px; border-radius: 4px; background: var(--bg3); overflow: hidden; margin-top: 6px; }
.pw-meter span { display: block; height: 100%; width: 0; border-radius: 4px; transition: width .3s, background .3s; }
.pw-meter.weak span { width: 33%; background: #ef4444; }
.pw-meter.mid span { width: 66%; background: #f59e0b; }
.pw-meter.strong span { width: 100%; background: #22c55e; }
/* فیلدهای قفل‌شده (غیرقابل ویرایش) */
.locked-field {
  background: rgba(128,128,128,.12) !important;
  color: var(--muted) !important;
  cursor: not-allowed !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
  opacity: .8;
}
.lock-note {
  display: block; font-size: .75rem; color: var(--muted); margin-top: 3px;
}
input.readonly, input[readonly] {
  background: rgba(128,128,128,.1);
  color: var(--muted);
  cursor: not-allowed;
}
.modal-close-btn { margin-top: 10px; width: 100%; }
/* پیش‌نمایش عکس/لوگو در مودال‌ها */
.up-preview { max-width: 90px; max-height: 70px; border-radius: 8px; margin-top: 8px; object-fit: contain; border: 1px solid var(--line); background: #fff; display: block; }
/* لوگو و ایموجی در کارت‌ها */
.comp-logo { width: 40px; height: 40px; object-fit: contain; border-radius: 8px; border: 1px solid var(--line); background: #fff; flex-shrink: 0; }
.comp-round { border-radius: 50%; }
.comp-emoji { font-size: 1.6rem; flex-shrink: 0; }
.ci-main { display: flex; align-items: center; gap: 10px; }
.ci-main b { margin-left: 4px; }
.rating-chip { display: inline-block; padding: 2px 8px; border-radius: 20px; background: linear-gradient(135deg,#f7d774,#f5c542); color: #1a1a1a; font-weight: 700; font-size: .78rem; }
/* دایرکتوری عمومی باشگاه/مربی/داور */
.public-directory { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
.public-directory .card h3 { margin-bottom: 10px; }
.dir-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.dir-item { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.02); }
.dir-logo { width: 44px; height: 44px; object-fit: contain; border-radius: 10px; border: 1px solid var(--line); background: #fff; flex-shrink: 0; }
.dir-round { border-radius: 50%; }
.dir-emoji { font-size: 1.7rem; flex-shrink: 0; }

/* جدول ناحیه کاربران — ستون‌دار با سرتیتر + ریسپانسیو موبایل */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.us-table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: .85rem; }
.us-table th, .us-table td { padding: 8px 10px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
.us-table thead th { background: rgba(245,197,66,.08); color: var(--gold); font-weight: 700; }
.us-table tbody tr:hover { background: rgba(245,197,66,.05); }
.us-table td:last-child { text-align: left; }
@media (max-width: 768px) {
  .us-table { min-width: 0; font-size: .78rem; }
  .us-table th, .us-table td { padding: 6px 6px; word-break: break-word; overflow-wrap: break-word; white-space: normal; }
  /* ستون‌های کم‌اهمیت فقط در جدول ناحیه کاربران مخفی — جدول اعضای باشگاه همه ستون‌ها را نشان می‌دهد */
  #users-list .us-table td:nth-child(3), #users-list .us-table th:nth-child(3) { display: none; }
  #users-list .us-table td:nth-child(5), #users-list .us-table th:nth-child(5) { display: none; }
  .us-table td:last-child { padding-right: 0; }
}

/* داشبورد ورزشکار */
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.stat-card { text-align: center; padding: 18px !important; }
.stat-card.gold { border-color: rgba(245,197,66,.5); }
.stat-card.silver { border-color: rgba(190,200,215,.5); }
.stat-card.bronze { border-color: rgba(205,127,50,.5); }
.stat-num { font-size: 1.9rem; font-weight: 700; color: var(--gold); }
.stat-card.gold .stat-num { color: #f5c542; }
.stat-card.silver .stat-num { color: #bec8d7; }
.stat-card.bronze .stat-num { color: #cd7f32; }
.stat-label { color: var(--muted); font-size: .82rem; margin-top: 4px; }
.profile-info { margin-bottom: 10px; }
.mini-table { width: 100%; border-collapse: collapse; font-size: .88rem; table-layout: fixed; }
.mini-table th, .mini-table td { text-align: right; padding: 7px 8px; border-bottom: 1px solid var(--line); word-break: break-word; overflow-wrap: break-word; }
.mini-table th { color: var(--muted); font-weight: 400; width: 110px; }
.hist-list { display: flex; flex-direction: column; gap: 8px; }
.hist-item { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: var(--bg2); }
.hi-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hi-head b { flex: 1; }
.hi-meta { color: var(--muted); font-size: .8rem; margin-top: 6px; }
.medal-gold { border-color: rgba(245,197,66,.6) !important; }
.medal-silver { border-color: rgba(190,200,215,.6) !important; }
.medal-bronze { border-color: rgba(205,127,50,.6) !important; }

/* کارت عضویت */
.membership-card { border-color: rgba(245,197,66,.35); background: linear-gradient(160deg, rgba(245,197,66,.07), transparent 60%); }
.membership-active, .membership-inactive { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.ma-icon { font-size: 1.8rem; }
.flash-highlight { animation: flashBorder 2.5s ease; }
/* دکمه‌های ورود/ثبت‌نام هدر — یک‌رنگ + تغییر کامل رنگ با هاور */
#user-nav .btn-primary {
  background: linear-gradient(135deg, var(--gold), #ff9d2e); color: #1a1200;
}
#user-nav .btn-primary:hover {
  background: linear-gradient(135deg, #38bdf8, #2563eb); color: #fff;
  box-shadow: 0 4px 16px rgba(37,99,235,.4);
  border-color: transparent;
}
@keyframes flashBorder {
  0%, 100% { border-color: rgba(245,197,66,.35); }
  30% { border-color: #f5c542; box-shadow: 0 0 0 3px rgba(245,197,66,.25); }
}

/* ردیف OTP */
.otp-row { display: flex; gap: 6px; align-items: center; }
.otp-row input { flex: 1; }

/* پیش‌نمایش هدر سایت در پنل */
.site-preview {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border: 1px dashed var(--line); border-radius: 12px; margin-bottom: 14px;
  background: var(--bg2);
}
.site-preview b { display: block; }
.site-preview .muted { display: block; margin-top: 2px; }

/* لوگوی تصویری در هدر سایت */
.brand-logo {
  height: 60px; width: auto; max-width: 160px; object-fit: contain;
  border-radius: 10px;
  flex-shrink: 0;
  background: transparent;
}
.site-preview .brand-logo { height: 52px; max-width: 150px; }
@media (max-width: 700px) {
  .brand-logo { height: 48px; max-width: 130px; }
}

/* صفحه خوش‌آمد (اسپلش) */
.page-loader {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(1200px 600px at 50% -10%, rgba(245,197,66,.14), transparent 60%), var(--bg);
  transition: opacity .45s ease, visibility .45s ease;
}
.page-loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.page-loader-inner {
  text-align: center; padding: 30px 44px; max-width: 90vw;
  animation: welcomePop .5s ease;
}
.page-loader-logo {
  height: 90px; width: auto; max-width: 220px; object-fit: contain;
  border-radius: 14px; margin: 0 auto 18px; display: block;
}
.page-loader-badge { font-size: 3.6rem; line-height: 1; margin-bottom: 10px; }
.page-loader-spinner {
  width: 42px; height: 42px; margin: 16px auto;
  border: 3px solid rgba(245,197,66,.25);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: loaderSpin .8s linear infinite;
}
.page-loader-text { color: var(--muted); font-size: .85rem; margin: 0; }
@keyframes loaderSpin { to { transform: rotate(360deg); } }

.welcome-screen {
  position: fixed; inset: 0; z-index: 5000;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(1200px 600px at 50% -10%, rgba(245,197,66,.14), transparent 60%), var(--bg);
  opacity: 0; pointer-events: none;
  transition: opacity .5s ease;
}
.welcome-screen.visible { opacity: 1; pointer-events: auto; }
.welcome-screen.fade-out { opacity: 0; pointer-events: none; }
.welcome-box {
  text-align: center; padding: 30px 44px; max-width: 90vw;
  animation: welcomePop .6s ease;
}
.welcome-badge { font-size: 4.2rem; line-height: 1; }
.welcome-logo {
  height: 110px; width: auto; max-width: 260px; object-fit: contain;
  border-radius: 14px; margin: 0 auto 18px; display: block;
}
.welcome-title {
  font-size: 1.65rem; font-weight: 700; color: var(--gold);
  margin: 0; line-height: 1.7;
}
@keyframes welcomePop {
  0% { transform: scale(.92); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
@media (max-width: 700px) {
  .welcome-logo { height: 80px; max-width: 200px; }
  .welcome-title { font-size: 1.2rem; }
}

/* لینک شماره تماس — باز شدن شماره‌گیر گوشی */
.phone-link {
  color: var(--gold); font-weight: 700; text-decoration: underline;
  text-underline-offset: 3px;
}
.phone-link:hover { color: #ffd76a; }

/* لایت‌باکس نمایش بزرگ پوستر/تصویر */
.lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; }
.lightbox.hidden { display: none; }
.lb-backdrop { position: absolute; inset: 0; background: rgba(5,6,12,.9); }
.lb-img { position: relative; max-width: 92vw; max-height: 90vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.7); }
.lb-close {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  background: var(--bg2); border: 1px solid var(--line); color: var(--text); border-radius: 50%;
  width: 42px; height: 42px; font-size: 1.1rem; cursor: pointer;
}
.lb-close:hover { border-color: var(--gold); }
body.lb-open { overflow: hidden; }

/* منوی مسیریابی (Deep Link) */
.map-menu-wrap { position: relative; display: inline-block; }
.map-menu {
  position: absolute; top: calc(100% + 6px); right: 0; z-index: 1000;
  background: var(--card2); border: 1px solid var(--line); border-radius: 12px;
  padding: 8px; min-width: 190px; box-shadow: 0 14px 40px rgba(0,0,0,.5);
}
.map-menu-title { font-size: .75rem; color: var(--muted); padding: 4px 8px 6px; }
.map-menu-item {
  display: block; padding: 7px 10px; border-radius: 8px; text-decoration: none;
  color: var(--text); font-size: .9rem;
}
.map-menu-item:hover { background: rgba(245,197,66,.12); color: var(--gold); }

/* عکس کوچک پوستر در پنل مدیریت */
.tour-thumb {
  width: 110px; height: 150px; object-fit: cover; border-radius: 10px;
  border: 1px solid var(--line); margin: 8px 0; cursor: zoom-in; display: block;
}
.zoomable { cursor: zoom-in; }

/* هدر هر تَب اختصاصی مسابقه — یکپارچگی مسابقه در پنل */
.tour-panel-head {
  background: linear-gradient(135deg, rgba(245,197,66,.12), rgba(245,197,66,.04));
  border: 1px solid rgba(245,197,66,.3);
  border-radius: 14px; padding: 14px 18px; margin-bottom: 16px;
}
.tour-panel-head h2 { margin: 0 0 4px; color: var(--gold); font-size: 1.1rem; }
.tour-panel-head p { margin: 0; }
/* دکمه‌های ساب‌تب اختصاصی مسابقه داخل کادر */
.td-stab { padding: 5px 10px; border-radius: 8px; cursor: pointer; border: none; font-size: .75rem; font-weight: 700; white-space: nowrap; background: transparent; color: var(--muted); transition: all .15s; }
.td-stab:hover { background: rgba(245,197,66,.08); color: var(--text); }
.td-stab-active { background: var(--gold) !important; color: #1a1200 !important; }
@media (max-width: 560px) { .td-stab { font-size: .7rem; padding: 4px 7px; } }

/* دکمه‌های مودال ویرایش مسابقه — کوچک، مرتب و کاملاً مشخص */
.edit-actions {
  display: flex; gap: 8px; flex-wrap: wrap;
  align-items: center; justify-content: flex-start;
  margin-top: 14px; padding-top: 14px;
  border-top: 1px dashed var(--line);
}
.edit-actions .btn { min-height: 34px; }

/* تبهای محتوای هر مسابقه در پنل */
.admin-tour-links { margin-top: 8px; border-top: 1px dashed var(--line); padding-top: 8px; }

/* لیست مسابقات در تب مسابقات پنل — هر مسابقه کارت جدا با فاصله استاندارد */
.tour-grid { display: flex; flex-direction: column; gap: 18px; }
.tour-item {
  border: 1.5px solid var(--gold);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(245,197,66,.07), rgba(245,197,66,.02)), var(--bg2);
  padding: 16px 18px;
  box-shadow: 0 0 0 1px rgba(245,197,66,.1);
}
.tour-item.selected { box-shadow: 0 0 0 2px rgba(245,197,66,.25); }
.tour-item + .tour-item { margin-top: 4px; }
.tour-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.tour-head b { font-size: 1.02rem; }
/* لوگوی اختصاصی مسابقه — سمت راست نام */
.tour-logo {
  width: 44px; height: 44px; object-fit: contain;
  border-radius: 8px;
  background: transparent; padding: 0;
}
.tour-head-emoji { font-size: 1.6rem; line-height: 1; }
.tour-body { display: flex; gap: 14px; align-items: stretch; }
.tour-thumb {
  width: 140px; height: 100%; object-fit: cover;
  border-radius: 10px; border: 1px solid var(--line);
  flex-shrink: 0; order: 2; margin: 0 !important; display: block;
}
.tour-body .tour-meta { flex: 1; order: 1; }
.tour-meta { font-size: .88rem; color: var(--text); line-height: 1.9; margin-bottom: 0; }
.tour-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 560px) {
  .tour-body { flex-direction: column; align-items: flex-start; }
  .tour-thumb { width: 100%; height: auto; max-height: 160px; }
}

/* جداکننده بین مسابقات */
.tour-item + .tour-item::before {
  content: "◆";
  display: block;
  text-align: center;
  color: var(--gold);
  font-size: .8rem;
  margin: -26px auto 6px;
  opacity: .6;
}

/* کشیدن و رها کردن بازیکن */
.fighter.draggable { cursor: grab; }
.fighter.draggable:active { cursor: grabbing; }
.fighter.drag-src { opacity: .45; outline: 2px dashed var(--gold); }
.fighter.drag-over { outline: 2px solid #4da3ff; background: rgba(77,163,255,.14); }
#rm-fighters { margin-bottom: 12px; }
.fighter-pick {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px;
  cursor: pointer; transition: all .15s; background: var(--bg2);
}
.fighter-pick:hover { border-color: var(--gold); }
.fighter-pick.selected { border-color: var(--green); background: rgba(62,207,142,.08); }
.fighter-pick .fp-name { font-weight: 700; font-size: .95rem; }
.modal-actions { display: flex; gap: 10px; margin-top: 14px; }
.modal-actions .btn { flex: 1; }

/* ---------- reports ---------- */
.report-controls { display: flex; gap: 14px; flex-wrap: wrap; align-items: flex-end; }
.report-controls label { margin-bottom: 0; min-width: 220px; flex: 1; }
.rpt-btns { display: flex; gap: 8px; padding-bottom: 4px; }
.rpt-btns .btn { white-space: nowrap; }
.rpt-title { font-weight: 700; font-size: 1.05rem; margin: 12px 0 2px; }
.rpt-sub { color: var(--muted); font-size: .78rem; margin-bottom: 10px; }
.rpt-preview { margin-top: 6px; overflow-x: auto; }
.rpt-preview table { width: 100%; border-collapse: collapse; font-size: .85rem; min-width: 620px; }
.rpt-preview th { background: var(--card2); color: var(--gold); padding: 9px 12px; border: 1px solid var(--line); font-weight: 700; white-space: nowrap; }
.rpt-preview td { padding: 8px 12px; border: 1px solid var(--line); }
.rpt-preview tbody tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.rpt-preview tbody tr:hover td { background: rgba(245,197,66,.05); }
.rpt-empty { color: var(--muted); text-align: center; padding: 22px; }

/* ---------- registration uploads & payment ---------- */
.field-hint { display: block; color: var(--green); font-size: .72rem; margin-top: 4px; }
.upload-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin: 16px 0 4px; }
.upload-box {
  border: 2px dashed var(--line); border-radius: 12px; padding: 14px 10px;
  text-align: center; cursor: pointer; transition: all .2s; display: block;
}
.upload-box:hover { border-color: var(--gold); background: rgba(245,197,66,.04); }
.upload-box.up-done { border-color: var(--green); background: rgba(62,207,142,.06); }
.upload-box.up-error { border-color: var(--red); background: rgba(229,72,77,.06); }
.upload-box .up-icon { display: block; font-size: 26px; margin-bottom: 4px; }
.upload-box .up-title { display: block; font-weight: 700; font-size: .85rem; margin-bottom: 4px; }
.upload-box .up-state { display: block; color: var(--muted); font-size: .7rem; }
.upload-box .up-state .doc-view-link {
  color: var(--gold, #f5c542);
  text-decoration: underline;
  font-weight: 600;
  margin-right: 6px;
  font-size: .72rem;
  white-space: nowrap;
}
.upload-box .up-state .doc-view-link:hover { color: #fff; }

/* پیش‌نمایش مدارک آپلودشده */
.upload-cell { display: flex; flex-direction: column; gap: 8px; }
.doc-thumb {
  width: 100%;
  height: 110px;
  border-radius: 10px;
  border: 1px dashed var(--line, #333);
  background: var(--bg2, #161a22);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.doc-thumb a { display: block; width: 100%; height: 100%; }
.doc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 8px;
}
.doc-thumb-pdf {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--muted, #aaa);
  font-size: 34px;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.doc-thumb-pdf span { font-size: .65rem; margin-top: 4px; color: var(--muted, #aaa); }
.doc-thumb-pdf:hover { color: var(--gold, #f5c542); }

.pay-summary { background: var(--bg2); border: 1px solid var(--line); border-radius: 10px; padding: 12px 16px; margin: 12px 0; }
.pay-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: .9rem; }
.pay-row b { color: var(--text); }
.pay-total { border-top: 1px dashed var(--line); margin-top: 6px; padding-top: 10px; font-weight: 700; }
.pay-total b { color: var(--gold); font-size: 1.1rem; }
.pay-green { color: var(--green) !important; }
/* متن رنگی ساده (بدون قاب) برای جدول اعضای باشگاه */
.txt-green { color: var(--green); font-weight: 700; }
.txt-red { color: var(--red); font-weight: 700; }
.txt-muted { color: var(--muted); }

.badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .7rem; font-weight: 700; }
/* گزارش‌های کاربر */
.report-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin-top: 10px; }
.report-card { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line,#333); border-radius: 12px; background: var(--bg2,#161a22); }
.report-icon { font-size: 1.8rem; }
.report-info { flex: 1; }
.report-info h4 { margin: 0 0 4px; font-size: .9rem; }
.report-output { margin-top: 12px; padding: 14px; border: 1px solid var(--line,#333); border-radius: 12px; background: var(--bg2,#161a22); }
.report-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.report-table th, .report-table td { padding: 8px 10px; text-align: right; border-bottom: 1px solid var(--line); }
.report-table thead th { background: rgba(245,197,66,.08); color: var(--gold); font-weight: 700; }
/* کارت‌های پرداخت مسابقه */
.pay-tour-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; margin-bottom: 10px; border: 1px solid var(--line,#333); border-radius: 12px; background: var(--bg2,#161a22); flex-wrap: wrap; }
.pay-tour-info { flex: 1; min-width: 180px; }
/* نشانگر تعداد پیام‌های خوانده‌نشده */
.notif-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--red, #e5484d); color: #fff; font-size: .7rem; font-weight: 700; vertical-align: middle; }

/* کارت‌های لیست مدیران */
.card-list { display:flex; flex-direction:column; gap:10px; }
.data-card { background:var(--bg2,#161a22); border:1px solid var(--line,#333); border-radius:10px; padding:12px; }
.data-card-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid rgba(255,255,255,.04); }
.data-card-row:last-of-type { border-bottom:none; }
.data-card-row .label { font-size:.75rem; color:var(--muted); min-width:70px; }
.data-card-row .value { font-size:.82rem; text-align:left; direction:ltr; }
.data-card-row .value.small { font-size:.72rem; }
.data-card-actions { display:flex; gap:6px; justify-content:flex-end; margin-top:8px; padding-top:8px; border-top:1px solid var(--line,#333); }
/* هایلایت پیام نخونده */
.notif-unread { background:rgba(245,197,66,.06); border-color:var(--gold); }
/* کارت وضعیت ثبت‌نام */
.status-card { border: 1px solid rgba(245,197,66,.4); background: linear-gradient(135deg, rgba(245,197,66,.08), rgba(245,197,66,.02)); margin-bottom: 16px; }
.status-card-inner { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.status-icon { font-size: 2rem; }
.status-card h3 { margin: 0 0 4px; color: var(--gold); }
.status-steps-grid { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
.status-step { padding: 4px 12px; border-radius: 999px; background: rgba(245,197,66,.1); border: 1px solid rgba(245,197,66,.3); color: var(--gold); font-size: .78rem; font-weight: 700; }
/* تب‌های داخلی داشبورد باشگاه */
.sub-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; padding: 6px; background: var(--bg2, #161a22); border-radius: 12px; border: 1px solid var(--line, #333); }
.sub-tab { padding: 8px 16px; border-radius: 9px; border: none; background: transparent; color: var(--muted); font-weight: 700; font-size: .85rem; cursor: pointer; transition: all .2s; }
.sub-tab:hover { color: var(--gold); background: rgba(245,197,66,.08); }
.sub-tab.active { background: linear-gradient(135deg, var(--gold), #ff9d2e); color: #1a1200; }
/* visibility توسط JS و کلاس hidden کنترل میشه */
/* چیپ‌های اطلاعاتی اعضای باشگاه */
.chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 999px;
  font-size: .72rem; font-weight: 700; white-space: nowrap;
  border: 1px solid var(--line, #333); background: var(--bg2, #161a22); color: var(--muted);
}
.chip-green { background: rgba(62,207,142,.12); color: var(--green); border-color: rgba(62,207,142,.35); }
.chip-red { background: rgba(229,72,77,.12); color: var(--red); border-color: rgba(229,72,77,.35); }
.chip-yellow { background: rgba(245,197,66,.12); color: var(--gold); border-color: rgba(245,197,66,.35); }
.chip-blue { background: rgba(29,155,240,.12); color: #1d9bf0; border-color: rgba(29,155,240,.35); }
.chip-gold { background: rgba(245,197,66,.14); color: var(--gold); border-color: rgba(245,197,66,.45); }
.chip-purple { background: rgba(168,85,247,.12); color: #a855f7; border-color: rgba(168,85,247,.35); }
.badge-paid { background: rgba(62,207,142,.15); color: var(--green); border: 1px solid rgba(62,207,142,.4); }
.badge-unpaid { background: rgba(229,72,77,.12); color: var(--red); border: 1px solid rgba(229,72,77,.35); }
.ri-docs { display: flex; gap: 8px; margin: 6px 0; flex-wrap: wrap; }
.doc-link { color: var(--gold); font-size: .75rem; text-decoration: none; border: 1px solid var(--line); padding: 3px 10px; border-radius: 8px; background: var(--bg2); }
.doc-link:hover { border-color: var(--gold); }

/* ---------- تقویم شمسی ---------- */
.jp-wrap { position: relative; display: block; }
.jp-input { cursor: pointer; }
.jp-input.jp-filled { color: var(--gold); font-weight: 700; }
.jp-popup {
  position: fixed; top: 0; right: auto; left: 0; z-index: 1000;
  background: var(--card2); border: 1px solid var(--line); border-radius: 12px;
  padding: 12px; width: 280px; box-shadow: 0 14px 44px rgba(0,0,0,.55);
}
.jp-head { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.jp-head select { margin-top: 0; padding: 6px 8px; font-size: .78rem; flex: 1; min-width: 0; }
.jp-nav {
  background: var(--bg2); border: 1px solid var(--line); color: var(--gold);
  border-radius: 8px; width: 30px; height: 30px; cursor: pointer; font-size: 1.05rem;
  flex-shrink: 0; line-height: 1;
}
.jp-nav:hover { border-color: var(--gold); }
.jp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.jp-dow { text-align: center; font-size: .7rem; color: var(--muted); padding: 4px 0; font-weight: 700; }
.jp-dow.fri { color: var(--red); }
.jp-day {
  text-align: center; padding: 6px 0; border-radius: 8px; cursor: pointer; font-size: .8rem;
  border: none; background: transparent; color: var(--text); font-family: inherit;
}
.jp-day:hover { background: rgba(245,197,66,.15); }
.jp-day.today { outline: 1px solid var(--gold); outline-offset: -1px; }
.jp-day.selected { background: var(--gold); color: #1a1200; font-weight: 700; }
.jp-day.disabled { color: var(--line); cursor: not-allowed; }
.jp-foot { display: flex; justify-content: space-between; margin-top: 10px; }
.jp-foot button {
  background: var(--bg2); border: 1px solid var(--line); color: var(--muted);
  border-radius: 8px; padding: 5px 12px; font-size: .75rem; cursor: pointer; font-family: inherit;
}
.jp-foot button:hover { color: var(--gold); border-color: var(--gold); }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid var(--line); padding: 18px 0; text-align: center; color: var(--muted); font-size: .8rem; }

/* ============ ROLE-SPECIFIC DASHBOARD STYLES ============ */

/* Role Banner */
.role-banner {
  display: flex;
  align-items: center;
  gap: 18px;
  background: linear-gradient(135deg, var(--card), var(--card2));
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px 24px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,.25);
}
.role-banner::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  background: var(--role-color, var(--gold));
  border-radius: 0 3px 3px 0;
}
.role-banner-icon {
  font-size: 48px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
  animation: roleFloat 3s ease-in-out infinite;
}
@keyframes roleFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.role-banner-text { flex: 1; }
.role-banner-title { font-size: 1.35rem; font-weight: 700; margin-bottom: 4px; }
.role-banner-desc { font-size: .85rem; }
/* سوییچر نقش در داشبورد */
.role-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.role-switch-btn {
  border: 1px solid var(--border, #d0d5dd);
  background: rgba(255,255,255,.06);
  color: var(--text, #111);
  border-radius: 999px;
  padding: 5px 14px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.role-switch-btn:hover { border-color: var(--gold, #f5c542); }
.role-switch-btn.active {
  background: var(--gold, #f5c542);
  border-color: var(--gold, #f5c542);
  color: #1a1a1a;
}
.role-banner-badge {
  padding: 6px 16px;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
  white-space: nowrap;
}

/* Profile Cards */
.profile-card {
  position: relative;
  overflow: hidden;
}
.profile-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 14px 14px 0 0;
}
.coach-card::before { background: linear-gradient(90deg, #4f8cff, #6aa0ff); }
.referee-card::before { background: linear-gradient(90deg, #3ecf8e, #5ee0a8); }
.club-card::before { background: linear-gradient(90deg, #e5484d, #ff6b6b); }

.profile-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.profile-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex-shrink: 0;
}
.coach-avatar { background: linear-gradient(135deg, rgba(79,140,255,.15), rgba(79,140,255,.05)); border: 2px solid rgba(79,140,255,.3); }
.referee-avatar { background: linear-gradient(135deg, rgba(62,207,142,.15), rgba(62,207,142,.05)); border: 2px solid rgba(62,207,142,.3); }
.club-avatar { background: linear-gradient(135deg, rgba(229,72,77,.15), rgba(229,72,77,.05)); border: 2px solid rgba(229,72,77,.3); }
.athlete-avatar { background: linear-gradient(135deg, rgba(245,197,66,.15), rgba(245,197,66,.05)); border: 2px solid rgba(245,197,66,.3); }
.profile-avatar-large {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.profile-avatar-large .profile-avatar { width: 90px; height: 110px; border-radius: 12px; font-size: 40px; }

.profile-status-badge {
  margin-right: auto;
  padding: 4px 14px;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
}
.profile-status-badge.badge-paid { background: rgba(62,207,142,.12); color: var(--green); border: 1px solid rgba(62,207,142,.35); }
.profile-status-badge.badge-unpaid { background: rgba(229,72,77,.12); color: var(--red); border: 1px solid rgba(229,72,77,.35); }
.profile-status-badge.badge-pending { background: rgba(245,197,66,.12); color: var(--gold); border: 1px solid rgba(245,197,66,.35); }
/* تیک آبی تأیید باشگاه — مثل تیک تأیید شبکه‌های اجتماعی */
.profile-status-badge.badge-blue {
  background: rgba(29,155,240,.15); color: #1d9bf0; border: 1px solid rgba(29,155,240,.45);
}
.blue-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 50%;
  background: #1d9bf0; color: #fff;
  font-size: .72rem; font-weight: 700;
  box-shadow: 0 0 6px rgba(29,155,240,.6);
}

.profile-info { margin-bottom: 12px; }
.profile-info .mini-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.profile-info .mini-table th { text-align: right; color: var(--muted); padding: 5px 10px 5px 0; width: 130px; font-weight: 400; }
.profile-info .mini-table td { color: var(--text); padding: 5px 0; font-weight: 600; }

.card-divider {
  border: none;
  border-top: 1px dashed var(--line);
  margin: 14px 0;
}

.profile-edit-form .form-grid { grid-template-columns: 1fr 1fr; }
@media (max-width: 600px) {
  .profile-edit-form .form-grid { grid-template-columns: 1fr; }
}

.lock-note { display: block; color: var(--muted); font-size: .7rem; margin-top: 2px; }

/* Membership Card */
.membership-active, .membership-inactive {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  margin-bottom: 10px;
}
.membership-active { background: rgba(62,207,142,.08); border: 1px solid rgba(62,207,142,.25); }
.membership-inactive { background: rgba(229,72,77,.06); border: 1px solid rgba(229,72,77,.2); }
.ma-icon { font-size: 28px; }

/* Stats Grid */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}
.stat-card {
  text-align: center;
  padding: 16px 10px;
  border-radius: var(--radius);
  background: var(--card);
  border: 1px solid var(--line);
  transition: all .25s;
}
.stat-card:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 6px 20px rgba(245,197,66,.08); }
.stat-card.gold:hover { border-color: var(--gold); }
.stat-card.silver:hover { border-color: #9aa3c0; }
.stat-card.bronze:hover { border-color: #cd7f32; }
.stat-num { font-size: 1.8rem; font-weight: 700; color: var(--gold); margin-bottom: 4px; }
.stat-card.gold .stat-num { color: var(--gold); }
.stat-card.silver .stat-num { color: #c0c8e0; }
.stat-card.bronze .stat-num { color: #cd7f32; }
.stat-label { font-size: .78rem; color: var(--muted); }

/* Match History */
.hist-list { display: flex; flex-direction: column; gap: 8px; }
.hist-item {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px 14px;
  transition: all .15s;
}
.hist-item:hover { border-color: var(--gold); }
.hi-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.hi-meta { font-size: .78rem; color: var(--muted); }
.hist-item.medal-gold { border-right: 3px solid var(--gold); }
.hist-item.medal-silver { border-right: 3px solid #c0c8e0; }
.hist-item.medal-bronze { border-right: 3px solid #cd7f32; }

/* Flash highlight for membership card */
.flash-highlight {
  animation: flashPulse 2.5s ease;
}
@keyframes flashPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,197,66,0); }
  20% { box-shadow: 0 0 0 6px rgba(245,197,66,.15); border-color: var(--gold); }
  80% { box-shadow: 0 0 0 0 rgba(245,197,66,0); }
}

/* Responsive Stats */
@media (max-width: 700px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .role-banner { flex-direction: column; text-align: center; }
  .role-banner::before { width: 100%; height: 4px; top: 0; right: 0; border-radius: 0; }
  .profile-status-badge { margin-right: 0; }
}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
  .admin-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .upload-grid { grid-template-columns: 1fr; }
  .header-inner { flex-direction: column; align-items: flex-start; }
  .match-card { width: 200px; }
}

.ac-max { color: var(--muted); font-size: .82rem; }
.ac-min { color: var(--muted); font-size: .82rem; }
.ac-name {}
.ac-remove { color: var(--red); cursor: pointer; font-size: .82rem; }
.actions-cell { display: flex; gap: 6px; align-items: center; justify-content: flex-end; }
.active_tab {}
.ad-del { color: var(--red); cursor: pointer; }
.ad-edit { cursor: pointer; }
.admin-link { color: var(--gold); text-decoration: none; font-size: .82rem; }
.admin-page {}
.assign-del { color: var(--red); cursor: pointer; }
.auth-form { display: block; }
.auth-note { color: var(--muted); font-size: .82rem; margin-top: 8px; }
.birth-notice { margin-top: 4px; }
.block-hint { display: block; margin-top: 6px; }
.blue { color: var(--blue); }
.bracket-area { margin-bottom: 20px; }
.bracket-empty { text-align: center; color: var(--muted); padding: 30px; }
.ca-belt {}
.ca-save {}
.ca-style {}
.ca-weight {}
.cd-deadline {}
.cd-start {}
.chk { display: flex; align-items: center; gap: 6px; }
.club-actions {}
.cm-belt {}
.cm-save {}
.cm-style {}
.cm-weight {}
.comp-del { color: var(--red); cursor: pointer; font-size: .82rem; }
.comp-edit { cursor: pointer; font-size: .82rem; }
.comp-pay {}
.comp-wc-wrap {}
.corner-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.crm-cb {}
.crumb-name { color: var(--gold); font-weight: 600; font-size: .85rem; }
.crumb-sep { color: var(--line); margin: 0 4px; }
.data-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.dir-loading { text-align: center; color: var(--muted); padding: 20px; }
.disc-del { color: var(--red); cursor: pointer; font-size: .82rem; }
.disc-toggle { cursor: pointer; }
.downloads-area { margin: 10px 0; }
.embedded {}
.empty-icon { font-size: 2.5rem; margin-bottom: 8px; }
.empty-state { text-align: center; padding: 30px 20px; }
.et-file-del { color: var(--red); cursor: pointer; font-size: .82rem; }
.et-files-card { margin-top: 14px; }
/* تب‌های ناوبری ویرایش مسابقه */
.et-tab-btn { padding: 7px 14px; border-radius: 8px; cursor: pointer; border: none; font-size: .82rem; font-weight: 700; white-space: nowrap; background: transparent; color: var(--muted); transition: all .2s; }
.et-tab-btn:hover { filter: brightness(1.1); }
.et-tab-active { background: var(--gold) !important; color: #1a1200 !important; }
.et-tab-panel { min-height: 100px; }
.et-tab-panel .card { background: var(--bg2, #161a22); }
/* ساب‌تب‌های جزئیات مسابقه */
.td-tab { padding: 6px 12px; border-radius: 8px; cursor: pointer; border: none; font-size: .78rem; font-weight: 700; white-space: nowrap; background: transparent; color: var(--muted); transition: all .2s; }
.td-tab:hover { filter: brightness(1.1); }
.td-tab-active { background: var(--gold) !important; color: #1a1200 !important; }
.fe-name {}
.fe-remove { color: var(--red); cursor: pointer; font-size: .82rem; }
.field-row {}
.filter-bar {}
.foot {}
.gate-actions {}
.gender-notice {}
.green { color: var(--green); }
.jp-clear { background: none; border: none; color: var(--muted); cursor: pointer; font-size: .75rem; }
.jp-month { font-weight: 700; }
.jp-today { background: rgba(245,197,66,.12); }
.jp-year {}
.map-menu-btn { background: none; border: none; color: var(--text); cursor: pointer; font-size: .85rem; }
.match-card-sm { max-width: 180px; }
.match-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.match-group {}
.match-num { color: var(--muted); font-size: .72rem; }
.medal-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.medal-tabs {}
.meta-date { color: var(--muted); font-size: .78rem; }
.meta-deadline { color: var(--muted); font-size: .78rem; }
.mm-fighters {}
.mm-label {}
.mm-meta { color: var(--muted); font-size: .78rem; }
.mm-score {}
.m-result {}
.m-result-btn {}
.pay-box {}
.pay-btn {}
.pay-code { font-family: monospace; direction: ltr; font-size: .85rem; }
.pay-disc {}
.pay-disc-row {}
.pay-fee {}
.pay-final {}
.pay-msg {}
.prefilled { color: var(--gold); font-weight: 600; }
.red { color: var(--red); }
.reg-agecat { color: var(--gold); font-weight: 700; }
.reg-age-hint { color: var(--muted); font-size: .72rem; }
.reg-auth-gate { text-align: center; padding: 20px; }
.reg-belt {}
.reg-birth {}
.reg-birth-iso {}
.reg-city {}
.reg-closed-box { background: rgba(229,72,77,.06); border: 1px solid rgba(229,72,77,.2); border-radius: 10px; padding: 12px; text-align: center; }
.reg-club {}
.reg-confirm {}
.reg-del {}
.reg-doc-insurance {}
.reg-doc-photo {}
.reg-doc-sh {}
.reg-edit {}
.reg-father {}
.reg-form { display: grid; gap: 12px; }
.reg-gender {}
.reg-gender-blocked { opacity: .6; cursor: not-allowed; }
.reg-gender-hint { color: var(--muted); font-size: .75rem; }
.reg-msg {}
.reg-name { font-weight: 700; font-size: .95rem; }
.reg-nid { direction: ltr; text-align: left; font-family: monospace; }
.reg-phone { direction: ltr; text-align: left; }
.reg-profile-box { background: var(--bg2); border: 1px dashed var(--line); border-radius: 10px; padding: 14px; }
.reg-style {}
.reg-submit-btn { width: 100%; margin-top: 6px; }
.reg-weight {}
.result-fighters {}
.results-area {}
.rf-side { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.ring-active { border-color: var(--green) !important; }
.ring-del { color: var(--red); cursor: pointer; font-size: .82rem; }
.role-section { margin-bottom: 20px; }
.role-select { font-size: 1rem; padding: 12px; }
/* فیلدهای اختصاصی نقش در ثبت‌نام */
.reg-extra {
  margin: 4px 0 10px;
  padding: 12px;
  border: 1px dashed var(--border, #d0d5dd);
  border-radius: 12px;
  background: var(--bg-soft, rgba(0,0,0,.02));
}
.reg-extra label { margin-top: 8px; }
.reg-extra label:first-child { margin-top: 0; }
.reg-extra .muted { margin-bottom: 4px; }
.schedule-area {}
.se-remove { color: var(--red); cursor: pointer; font-size: .82rem; }
.se-weights {}
.s-num {}
.span-2 { grid-column: 1 / -1; }
.sport-lock-note { color: var(--muted); font-size: .72rem; }
.style-filter {}
.tc-actions { display: flex; gap: 6px; margin-top: 4px; }
.tc-badge { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: .7rem; font-weight: 700; }
.tc-edit { cursor: pointer; font-size: .82rem; }
.tc-enter { cursor: pointer; font-size: .82rem; }
.tc-head { font-weight: 700; font-size: .88rem; margin-bottom: 4px; }
.tc-meta { font-size: .78rem; color: var(--muted); }
.tc-status {}
.tc-view { cursor: pointer; font-size: .82rem; }
.up-ins {}
.up-photo {}
.up-sh {}
.us-edit { cursor: pointer; color: var(--gold); font-size: .82rem; }
.vs-lg { font-size: 1.5rem; color: var(--gold); font-weight: 700; }
.wc-bracket-view {}
.wc-card {}
.wc-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.wc-count { color: var(--muted); font-weight: 400; margin-left: 4px; }
.wc-done-badge { display: inline-block; padding: 2px 8px; border-radius: 20px; background: rgba(62,207,142,.15); color: var(--green); font-size: .7rem; font-weight: 700; }
.wc-generate {}
.wc-head { font-weight: 700; }
.wc-meta { font-size: .78rem; color: var(--muted); }
.wc-reset { color: var(--red); cursor: pointer; font-size: .82rem; }
.wc-view { cursor: pointer; font-size: .82rem; }
.wi-actual { width: 80px; text-align: center; }
.wi-medical {}
.wi-save {}
.wi-status { font-size: .82rem; font-weight: 700; }
/* JS template literal classes (referenced in admin.js) */
.m\.comp_a_id {}
.m\.comp_b_id {}
.m\.winner_id {}




@keyframes acfSaved {
  0% { background: rgba(62,207,142,.22); }
  100% { background: transparent; }
}

/* --- مودال ویرایش مسابقه: عریض‌تر برای جدول‌های داده‌ای --- */
#edit-tour-modal .modal {
  width: min(980px, 97vw);
  max-width: min(980px, 97vw);
  max-height: 92vh;
  overflow-y: auto;
}
#edit-tour-modal .modal-wide {
  width: min(980px, 97vw);
  max-width: min(980px, 97vw);
}
@media (max-width: 700px) {
  #edit-tour-modal .modal { width: 100%; max-width: 100%; max-height: 94vh; }
}
#edit-tour-modal .modal::-webkit-scrollbar { width: 8px; }
#edit-tour-modal .modal::-webkit-scrollbar-track { background: transparent; }
#edit-tour-modal .modal::-webkit-scrollbar-thumb { background: rgba(245,197,66,.28); border-radius: 8px; }
#edit-tour-modal .modal::-webkit-scrollbar-thumb:hover { background: rgba(245,197,66,.45); }

/* ============================================================
   تب رده‌های سنی — کارت + جدول + حالت پیش‌فرض/سفارشی
   مبنا: تاریخ برگزاری مسابقه (تقویم شمسی)
   ============================================================ */
.acf-wrap { display: flex; flex-direction: column; gap: 14px; }

/* ---------- سرصفحه ---------- */
.acf-head {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 16px 18px; position: relative; overflow: hidden;
  background: linear-gradient(135deg, rgba(245,197,66,.10), rgba(79,140,255,.06) 60%, transparent);
  border: 1px solid var(--line); border-radius: var(--radius);
}
.acf-head::before {
  content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--gold), rgba(245,197,66,.15));
}
.acf-head-icon {
  flex: 0 0 auto; width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; border-radius: 12px;
  background: rgba(245,197,66,.13); border: 1px solid rgba(245,197,66,.28);
}
.acf-head-text { flex: 1; min-width: 0; }
.acf-head-text h4 { margin: 0 0 5px; font-size: 1rem; color: var(--text); }
.acf-head-text p { margin: 0; font-size: .78rem; line-height: 1.75; color: var(--muted); }
.acf-counter {
  flex: 0 0 auto; align-self: center; white-space: nowrap;
  padding: 7px 14px; border-radius: 999px;
  font-size: .76rem; font-weight: 700;
  color: var(--gold); background: rgba(245,197,66,.12);
  border: 1px solid rgba(245,197,66,.3);
}

/* ---------- انتخاب حالت ---------- */
.acf-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.acf-mode-btn {
  display: flex; align-items: center; gap: 11px;
  padding: 12px 14px; cursor: pointer; text-align: right;
  background: var(--bg2); color: var(--text);
  border: 1.5px solid var(--line); border-radius: 12px;
  transition: all .18s; font: inherit; position: relative; overflow: hidden;
}
.acf-mode-btn:hover { border-color: rgba(245,197,66,.45); background: rgba(245,197,66,.045); }
.acf-mode-btn.is-active {
  border-color: var(--gold);
  background: linear-gradient(135deg, rgba(245,197,66,.13), rgba(245,197,66,.03));
  box-shadow: 0 0 0 3px rgba(245,197,66,.09);
}
.acf-mode-btn.is-active::after {
  content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 700; position: absolute; top: 8px; left: 10px;
  width: 19px; height: 19px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; background: var(--gold); color: #12141f;
}
.acf-mode-ico {
  flex: 0 0 auto; width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; border-radius: 10px;
  background: rgba(255,255,255,.05); border: 1px solid var(--line);
}
.acf-mode-btn.is-active .acf-mode-ico { background: rgba(245,197,66,.16); border-color: rgba(245,197,66,.35); }
.acf-mode-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acf-mode-txt b { font-size: .85rem; }
.acf-mode-txt small { font-size: .68rem; color: var(--muted); line-height: 1.5; }
.acf-mode-btn.is-active .acf-mode-txt small { color: #d8dff2; }

/* ---------- یادداشت ---------- */
.acf-note {
  display: none; align-items: center; gap: 9px;
  padding: 10px 14px; border-radius: 10px;
  font-size: .78rem; line-height: 1.7;
}
.acf-note.show { display: flex; }
.acf-note.is-own { color: #9fe8c4; background: rgba(62,207,142,.09); border: 1px solid rgba(62,207,142,.28); }
.acf-note.is-default { color: #b9c6ea; background: rgba(79,140,255,.08); border: 1px solid rgba(79,140,255,.24); }

/* ---------- نوار تاریخ مرجع ---------- */
.acf-refdate {
  display: none; align-items: center; gap: 9px;
  padding: 10px 14px; border-radius: 10px;
  font-size: .77rem; line-height: 1.7;
  background: rgba(245,197,66,.07); border: 1px solid rgba(245,197,66,.25); color: #f0dda0;
}
.acf-refdate.show { display: flex; }
.acf-refdate b { color: var(--gold); }
.acf-refdate.is-missing { background: rgba(229,72,77,.08); border-color: rgba(229,72,77,.28); color: #f0a6a8; }

/* ---------- جدول: ۵ ستون پایه (نام/از/تا/بازه/حذف) ---------- */
.acf-table { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--bg2); }
.acf-thead,
.acf-row {
  display: grid;
  grid-template-columns: minmax(120px, 1.6fr) 84px 84px minmax(110px, 132px) 48px;
  gap: 10px; align-items: center;
}
.acf-thead {
  padding: 11px 14px;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--line);
  font-size: .72rem; font-weight: 700; color: var(--muted);
}
.acf-th-num, .acf-th-range, .acf-th-act { text-align: center; }
.acf-body { display: flex; flex-direction: column; }

/* ---------- جدول: ۶ ستون با بازه تاریخ تولد ---------- */
/* ستون بازه تاریخ تولد — در هر دو حالت نمایش داده می‌شود */
.acf-th-birth { text-align: center; }
.acf-birth-cell { display: flex; align-items: center; justify-content: center; width: 100%; }
.acf-thead,
.acf-row {
  grid-template-columns: minmax(120px, 1.6fr) 82px 82px minmax(160px, 190px) minmax(190px, 240px) 48px;
}

/* ---------- ردیف ---------- */
.acf-row {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(46,54,87,.55);
  transition: background .15s;
}
.acf-row:last-child { border-bottom: 0; }
.acf-row:hover { background: rgba(255,255,255,.025); }
.acf-row-bad { background: rgba(229,72,77,.05); }
.acf-row-bad:hover { background: rgba(229,72,77,.08); }

.acf-field { display: contents; }
.acf-field-label { display: none; }

.acf-input {
  width: 100%; padding: 9px 11px;
  background: var(--bg); color: var(--text);
  border: 1px solid var(--line); border-radius: 9px;
  font: inherit; font-size: .84rem; text-align: center;
  transition: border-color .15s, box-shadow .15s;
}
.acf-input:focus { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(245,197,66,.13); }
.acf-input.acf-name { text-align: right; font-weight: 600; }
input[type=number].acf-input { -moz-appearance: textfield; }
input[type=number].acf-input::-webkit-outer-spin-button,
input[type=number].acf-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.acf-range {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px;
  text-align: center; font-size: .78rem; font-weight: 700;
  color: var(--gold); padding: 7px 8px; border-radius: 8px;
  background: rgba(245,197,66,.09); border: 1px solid rgba(245,197,66,.2);
}
.acf-range-main { display: block; white-space: nowrap; line-height: 1.3; }
.acf-range-sub {
  display: block; font-size: .63rem; font-weight: 500;
  color: var(--muted); line-height: 1.45; white-space: normal;
  padding-top: 3px; border-top: 1px solid rgba(245,197,66,.18); width: 100%;
}
.acf-range.is-empty { color: var(--muted); background: rgba(255,255,255,.03); border-color: var(--line); }

.acf-birth {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 4px;
  text-align: center; font-size: .76rem; font-weight: 700;
  color: #dbe4fb; padding: 9px 10px; border-radius: 9px;
  background: rgba(79,140,255,.10); border: 1px solid rgba(79,140,255,.26);
  line-height: 1.45; width: 100%; box-sizing: border-box;
  direction: rtl; white-space: nowrap;
}
.acf-birth-gap {
  display: block; width: 100%; height: 1px;
  background: rgba(79,140,255,.22); margin: 1px 0;
}
.acf-birth small {
  display: block; font-size: .63rem; color: var(--muted);
  font-weight: 500; line-height: 1.4; white-space: normal;
}

.acf-del {
  width: 34px; height: 34px; justify-self: center;
  display: flex; align-items: center; justify-content: center;
  background: rgba(229,72,77,.1); color: var(--red);
  border: 1px solid rgba(229,72,77,.28); border-radius: 9px;
  cursor: pointer; font-size: 14px; transition: all .15s;
}
.acf-del:hover { background: rgba(229,72,77,.22); border-color: var(--red); transform: scale(1.06); }

.acf-empty { padding: 30px 16px; text-align: center; color: var(--muted); font-size: .82rem; line-height: 1.9; }
.acf-empty span { display: block; font-size: 30px; margin-bottom: 8px; opacity: .5; }

/* ---------- پاصفحه ---------- */
.acf-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.acf-foot-right { display: flex; gap: 8px; }

/* ---------- فقط‌خواندنی (بیننده) ---------- */
.acf-wrap.acf-readonly .acf-input { opacity: .68; cursor: not-allowed; }
.acf-wrap.acf-readonly .acf-del,
.acf-wrap.acf-readonly #et-add-agecat,
.acf-wrap.acf-readonly #et-agecats-save,
.acf-wrap.acf-readonly .acf-foot { display: none !important; }

/* ============================================================
   موبایل — کارت‌های عمودی
   ============================================================ */
@media (max-width: 700px) {
  .acf-head { flex-wrap: wrap; padding: 13px; gap: 10px; align-items: center; }
  .acf-head-icon { width: 38px; height: 38px; font-size: 18px; border-radius: 10px; }
  .acf-head-text { flex: 1 1 100%; order: 3; }
  .acf-head-text h4 { font-size: .92rem; margin-bottom: 3px; }
  .acf-head-text p { font-size: .72rem; line-height: 1.65; }
  .acf-counter { order: 2; margin-inline-start: auto; padding: 5px 11px; font-size: .72rem; }

  .acf-mode { grid-template-columns: 1fr; gap: 8px; }
  .acf-mode-btn { padding: 11px 13px; }
  .acf-mode-txt b { font-size: .82rem; }
  .acf-mode-txt small { font-size: .66rem; }

  .acf-note { font-size: .73rem; padding: 9px 11px; }
  .acf-refdate { font-size: .73rem; padding: 9px 11px; }

  .acf-thead { display: none !important; }
  .acf-table { border: 0; background: transparent; border-radius: 0; overflow: visible; }
  .acf-body { gap: 10px; }

  .acf-row {
    display: grid;
    grid-template-columns: 1fr 1fr 44px;
    grid-template-areas:
      "name  name  del"
      "from  to    to"
      "range range range"
      "birth birth birth";
    gap: 9px; padding: 12px;
    border: 1px solid var(--line); border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.008));
    align-items: end;
  }
  .acf-row:last-child { border-bottom: 1px solid var(--line); }

  .acf-row .acf-name { grid-area: name; text-align: right; font-size: 16px; font-weight: 700; }

  .acf-row .acf-del {
    grid-area: del; position: static; justify-self: end; align-self: center;
    width: 38px; height: 38px; margin: 0;
  }

  .acf-field { display: flex; flex-direction: column; gap: 4px; }
  .acf-field-min { grid-area: from; }
  .acf-field-max { grid-area: to; }
  .acf-field-label { display: block; font-size: .7rem; color: var(--muted); font-weight: 600; padding-inline-start: 2px; }
  .acf-field .acf-input { font-size: 16px; text-align: center; }

  .acf-row .acf-range {
    grid-area: range; text-align: center; font-size: .78rem; padding: 8px 10px; margin: 0;
  }
  .acf-range-sub { font-size: .68rem; }

  .acf-row .acf-birth-cell { grid-area: birth; display: flex; }
  .acf-birth { font-size: .74rem; padding: 8px 10px; }

  .acf-foot { flex-direction: column; align-items: stretch; gap: 8px; }
  .acf-foot-right { flex-direction: column; }
  .acf-foot .btn, .acf-foot-right .btn { width: 100%; padding: 11px; font-size: .86rem; }
  .acf-empty { padding: 26px 14px; font-size: .78rem; }
}

.acf-birth.is-empty {
  background: rgba(255,255,255,.03); border-color: var(--line); color: var(--muted);
}
.acf-birth.is-empty span { font-weight: 600; }


/* ============================================================
   تب قوانین وزنی — دو سربرگ آقایان / بانوان
   ============================================================ */
.wrf-wrap { display: flex; flex-direction: column; gap: 12px; }

.wrf-head {
  display: flex; align-items: center; gap: 12px;
  padding: 13px 15px; border-radius: 12px;
  background: linear-gradient(135deg, rgba(245,197,66,.13), rgba(34,197,94,.07));
  border: 1px solid rgba(245,197,66,.26);
}
.wrf-head-icon { font-size: 1.6rem; line-height: 1; }
.wrf-head-text { flex: 1; min-width: 0; }
.wrf-head-text h4 { margin: 0 0 3px; font-size: .98rem; color: var(--gold); font-weight: 700; }
.wrf-head-text p { margin: 0; font-size: .72rem; color: var(--muted); line-height: 1.6; }
.wrf-counter {
  font-size: .72rem; font-weight: 700; color: var(--gold); white-space: nowrap;
  background: rgba(245,197,66,.13); border: 1px solid rgba(245,197,66,.3);
  padding: 5px 11px; border-radius: 999px;
}

/* --- سربرگ‌های جنسیت --- */
.wrf-sex-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wrf-sex-btn {
  display: flex; align-items: center; gap: 11px;
  padding: 12px 14px; border-radius: 11px; cursor: pointer;
  background: var(--bg2, #161a22); border: 1.5px solid var(--line);
  color: var(--fg); font-family: inherit; text-align: right;
  transition: border-color .16s, background .16s, transform .12s;
}
.wrf-sex-btn:hover { border-color: rgba(245,197,66,.45); }
.wrf-sex-btn:active { transform: scale(.99); }
.wrf-sex-btn.is-active {
  border-color: var(--gold);
  background: linear-gradient(135deg, rgba(245,197,66,.17), rgba(245,197,66,.05));
  box-shadow: 0 0 0 1px rgba(245,197,66,.28);
}
.wrf-sex-ico { font-size: 1.4rem; line-height: 1; width: 26px; text-align: center; }
.wrf-sex-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wrf-sex-txt b { font-size: .88rem; font-weight: 700; }
.wrf-sex-txt small { font-size: .65rem; color: var(--muted); }
.wrf-sex-btn.is-active .wrf-sex-txt b { color: var(--gold); }
.wrf-sex-btn.is-active .wrf-sex-ico { color: var(--gold); }

/* --- جدول وزن‌ها --- */
.wrf-panel { display: flex; flex-direction: column; gap: 9px; }
.wrf-panel.hidden { display: none; }
.wrf-table {
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
  background: var(--bg2, #161a22);
}
.wrf-thead {
  display: grid; grid-template-columns: minmax(120px, 1.1fr) minmax(110px, 1fr) minmax(230px, 2.6fr) 44px;
  gap: 8px; padding: 10px 12px; align-items: center;
  background: rgba(245,197,66,.1); border-bottom: 1px solid rgba(245,197,66,.24);
  font-size: .72rem; font-weight: 700; color: var(--gold);
}
.wrf-body { display: flex; flex-direction: column; }
.wrf-row {
  display: grid; grid-template-columns: minmax(120px, 1.1fr) minmax(110px, 1fr) minmax(240px, 2.8fr) 44px;
  gap: 8px; padding: 10px 12px; align-items: start;
  border-bottom: 1px solid var(--line);
  animation: wrfIn .22s ease;
}
@keyframes wrfIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.wrf-row:last-child { border-bottom: none; }
.wrf-row:nth-child(even) { background: rgba(255,255,255,.014); }
.wrf-row select, .wrf-row input {
  width: 100%; box-sizing: border-box;
  background: var(--input-bg, #11151d); color: var(--fg);
  border: 1px solid var(--line); border-radius: 8px;
  padding: 7px 9px; font-size: .78rem; font-family: inherit;
}
.wrf-row select:focus, .wrf-row input:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(245,197,66,.15);
}
.wrf-row .wr-weights { font-family: ui-monospace, Menlo, monospace; font-size: .76rem; }
.wrf-del {
  background: transparent; border: 1px solid var(--line); border-radius: 8px;
  color: var(--red, #ef4444); cursor: pointer; font-size: .9rem;
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  transition: border-color .15s, background .15s;
}
.wrf-del:hover { border-color: var(--red, #ef4444); background: rgba(239,68,68,.1); }

.wrf-foot { display: flex; justify-content: flex-start; }
.wrf-add { font-size: .76rem; }
.wrf-empty {
  padding: 26px 14px; text-align: center; color: var(--muted);
  font-size: .78rem; line-height: 1.7;
}

.wrf-save-bar {
  display: flex; gap: 9px; align-items: center; flex-wrap: wrap;
  padding-top: 3px; border-top: 1px solid var(--line); margin-top: 3px;
}

@media (max-width: 700px) {
  .wrf-head { flex-wrap: wrap; gap: 9px; }
  .wrf-counter { order: 3; width: 100%; text-align: center; }
  .wrf-sex-tabs { grid-template-columns: 1fr; }
  .wrf-thead { display: none; }
  .wrf-body { gap: 10px; padding: 10px; }
  .wrf-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "style style" "cat del" "w w" "act act";
    gap: 7px; padding: 11px; border: 1px solid var(--line);
    border-radius: 11px; background: rgba(255,255,255,.02);
  }
  .wrf-row:nth-child(even) { background: rgba(255,255,255,.02); }
  .wrf-row > select:nth-of-type(1) { grid-area: style; }
  .wrf-row > select:nth-of-type(2) { grid-area: cat; }
  .wrf-del { grid-area: del; justify-self: end; }
  .wrf-row select, .wrf-row input { font-size: .8rem; padding: 9px 10px; }
  .wrf-save-bar { position: sticky; bottom: 0; background: var(--bg);
                 padding: 10px 0; z-index: 5; }
  .wrf-save-bar .btn { flex: 1; }
}


/* --- دکمه بازگردانی (هشدار) --- */
.btn-warn {
  background: linear-gradient(135deg, rgba(245,158,11,.2), rgba(245,158,11,.08)) !important;
  border: 1px solid rgba(245,158,11,.5) !important;
  color: #f59e0b !important;
  font-weight: 700 !important;
}
.btn-warn:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(245,158,11,.3), rgba(245,158,11,.14)) !important;
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 2px rgba(245,158,11,.16);
}
.btn-warn:disabled { opacity: .65; cursor: wait; }

.acf-foot-right { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
@media (max-width: 620px) {
  .acf-foot { flex-direction: column; gap: 9px; align-items: stretch; }
  .acf-foot-right { flex-direction: column; }
  .acf-foot .btn, .acf-foot-right .btn { width: 100%; }
}


/* --- نمایش/پنهان دکمه بازگردانی --- */
#et-agecats-restore.hidden { display: none !important; }


/* ============================================================
   قوانین وزنی — دسته‌بندی گروهی (رشته → سبک → رده سنی)
   ============================================================ */
.wrf-vt-btn {
  background: transparent; border: 1px solid var(--line); color: var(--muted);
  padding: 6px 13px; border-radius: 8px; cursor: pointer; font-family: inherit;
  font-size: .74rem; font-weight: 700; transition: all .15s;
}
.wrf-vt-btn.is-active { background: rgba(245,197,66,.15); border-color: var(--gold); color: var(--gold); }
.wrf-viewtoggle { display: flex; gap: 6px; padding: 10px 12px 4px; }

/* --- گروه رشته (رینگ / تاتامی) --- */
.wg-method {
  border: 1px solid rgba(245,197,66,.22); border-radius: 12px;
  overflow: hidden; margin-bottom: 12px; background: rgba(255,255,255,.012);
}
.wg-method-head {
  display: flex; align-items: center; gap: 9px; padding: 11px 13px;
  background: linear-gradient(135deg, rgba(245,197,66,.11), rgba(245,197,66,.03));
  border-bottom: 1px solid rgba(245,197,66,.2);
}
.wg-method-ico { font-size: 1.15rem; }
.wg-method-label { font-weight: 700; font-size: .88rem; color: var(--gold); flex: 1; }
.wg-method-meta {
  font-size: .66rem; color: var(--muted); font-weight: 700;
  background: rgba(255,255,255,.05); padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}

/* --- گروه سبک (تاشو) --- */
.wg-style { border-top: 1px solid var(--line); }
.wg-style:first-of-type { border-top: none; }
.wg-style-head {
  display: flex; align-items: center; gap: 9px; width: 100%;
  padding: 10px 13px; background: transparent; border: none; cursor: pointer;
  color: var(--fg); font-family: inherit; font-size: .83rem; font-weight: 700;
  text-align: right; transition: background .14s;
}
.wg-style-head:hover { background: rgba(245,197,66,.055); }
.wg-caret { color: var(--gold); font-size: .7rem; transition: transform .18s; }
.wg-style-head[aria-expanded="false"] .wg-caret { transform: rotate(-90deg); }
.wg-style-name { flex: 1; }
.wg-style-meta {
  font-size: .65rem; color: var(--muted); font-weight: 600;
  background: rgba(255,255,255,.045); padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.wg-style-body { padding: 0 0 8px; }
.wg-style-body.is-collapsed { display: none; }

/* --- ردیف نمایش خوانا (کارتی) --- */
.wc-row { padding: 9px 13px 10px; border-top: 1px dashed rgba(255,255,255,.06); }
.wc-row:first-child { border-top: none; }
.wc-row-head { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; flex-wrap: wrap; }
.wc-row-cat { font-size: .8rem; font-weight: 700; color: #dbe3f5; }
.wc-row-age {
  font-size: .64rem; color: var(--muted); font-weight: 700;
  background: rgba(255,255,255,.045); padding: 2px 8px; border-radius: 999px;
}
.wc-row-count { font-size: .64rem; color: var(--gold); font-weight: 700; margin-right: auto; }
.wc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.wc-chip {
  display: inline-flex; align-items: center;
  font-family: ui-monospace, Menlo, monospace; font-size: .75rem; font-weight: 700;
  color: #cfe0ff; background: rgba(96,140,255,.11);
  border: 1px solid rgba(96,140,255,.26);
  padding: 3px 10px; border-radius: 7px; line-height: 1.5;
}
.wc-chip.is-plus { color: var(--gold); background: rgba(245,197,66,.12); border-color: rgba(245,197,66,.32); }

/* --- حالت خالی --- */
.ww-empty { padding: 30px 16px; text-align: center; color: var(--muted); font-size: .8rem; line-height: 1.8; }
.ww-empty-ico { font-size: 1.9rem; margin-bottom: 7px; opacity: .6; }
.ww-empty p { margin: 0 0 11px; }

@media (max-width: 700px) {
  .wg-method-head { padding: 10px 11px; }
  .wg-method-meta { font-size: .62rem; padding: 2px 7px; }
  .wg-style-head { padding: 9px 11px; font-size: .8rem; }
  .wc-row { padding: 9px 11px; }
  .wc-chip { font-size: .74rem; padding: 3px 9px; }
  .wrf-viewtoggle { padding: 8px 10px 2px; }
  .wrf-viewtoggle .wrf-vt-btn { flex: 1; }
}


/* ============================================================
   کادرهای جداگانه هر وزن (حالت سفارشی)
   ============================================================ */
.wr-weights-box {
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
  padding: 2px 0;
}
.ww-box {
  display: inline-flex; align-items: center; gap: 2px;
  background: var(--input-bg, #11151d);
  border: 1px solid var(--line); border-radius: 9px;
  padding: 0 3px 0 0; overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
}
.ww-box:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(245,197,66,.15);
}
.ww-inp {
  width: 62px; box-sizing: border-box;
  background: transparent; border: none; outline: none;
  color: var(--fg); font-family: ui-monospace, Menlo, monospace;
  font-size: .78rem; font-weight: 700; text-align: center;
  padding: 6px 4px 6px 8px; height: 32px;
}
.ww-inp::placeholder { color: var(--muted); font-weight: 500; opacity: .7; }
.ww-x {
  background: transparent; border: none; cursor: pointer;
  color: var(--muted); font-size: .72rem; line-height: 1;
  width: 22px; height: 22px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  transition: background .14s, color .14s; flex: 0 0 auto;
}
.ww-x:hover { background: rgba(239,68,68,.15); color: var(--red, #ef4444); }
.ww-add {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(245,197,66,.09); border: 1px dashed rgba(245,197,66,.42);
  color: var(--gold); border-radius: 9px; cursor: pointer;
  font-family: inherit; font-size: .72rem; font-weight: 700;
  padding: 6px 11px; height: 32px; white-space: nowrap;
  transition: background .15s, border-color .15s;
}
.ww-add:hover { background: rgba(245,197,66,.18); border-color: var(--gold); }

@media (max-width: 700px) {
  .wrf-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "style style" "cat del" "w w";
    gap: 8px; padding: 11px;
  }
  .wrf-row > select:nth-of-type(1) { grid-area: style; }
  .wrf-row > select:nth-of-type(2) { grid-area: cat; }
  .wr-weights-box { grid-area: w; gap: 5px; }
  .ww-inp { width: 58px; font-size: .8rem; height: 34px; }
  .ww-add { font-size: .7rem; padding: 6px 9px; }
  .ww-x { width: 24px; height: 24px; font-size: .78rem; }
}


/* ============================================================
   حالت سفارشی — نام استایل آزاد (بدون گروه رینگ/تاتامی)
   ============================================================ */
.wr-style-inp {
  width: 100%; box-sizing: border-box;
  background: var(--input-bg, #11151d); color: var(--fg);
  border: 1px solid var(--line); border-radius: 8px;
  padding: 8px 10px; font-size: .8rem; font-family: inherit; font-weight: 700;
}
.wr-style-inp::placeholder { color: var(--muted); font-weight: 500; opacity: .8; }
.wr-style-inp:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(245,197,66,.15);
}

/* در حالت سفارشی، گروه‌های رشته‌ای (رینگ/تاتامی) نمایش داده نمی‌شوند */
.wrf-wrap.is-custom .wg-method { display: none; }

@media (max-width: 700px) {
  .wr-style-inp { font-size: .82rem; padding: 9px 10px; }
}


/* --- جنسیت مسابقه: حالت تک‌جنسیتی --- */
.wrf-sex-tabs.single-sex { grid-template-columns: 1fr; }
.wrf-sex-tabs.single-sex .wrf-sex-btn.is-active {
  cursor: default;
}
/* پیام جنسیت مسابقه */
.wrf-gender-note {
  display: flex; align-items: center; gap: 9px;
  padding: 10px 13px; border-radius: 10px; font-size: .78rem; line-height: 1.6;
  background: rgba(96,140,255,.09); border: 1px solid rgba(96,140,255,.28);
  color: #cfe0ff;
}
.wrf-gender-note b { color: #fff; }
.wrf-gender-note .wgn-ico { font-size: 1.1rem; }

/* هایلایت رده‌های سنی غیرمرتبط */
.acf-row.acf-offscope { opacity: .48; }
.acf-row.acf-offscope .acf-name::after { content: ""; }
.acf-scope-badge {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: .6rem; font-weight: 700; padding: 2px 7px; border-radius: 999px;
  background: rgba(255,255,255,.06); color: var(--muted); white-space: nowrap;
}


/* --- نشانگر جنسیت مسابقه در تب رده‌های سنی --- */
.acf-gender-note {
  display: flex; align-items: center; gap: 9px;
  padding: 10px 13px; border-radius: 10px; margin-bottom: 11px;
  font-size: .78rem; line-height: 1.7;
}
.acf-gender-note .agn-ico { font-size: 1.25rem; line-height: 1; flex: 0 0 auto; }
.acf-gender-note .agn-txt b { font-weight: 700; }
.acf-gender-note.is-male {
  background: rgba(96,140,255,.1); border: 1px solid rgba(96,140,255,.3); color: #cfe0ff;
}
.acf-gender-note.is-male .agn-txt b { color: #9ec3ff; }
.acf-gender-note.is-female {
  background: rgba(236,72,153,.1); border: 1px solid rgba(236,72,153,.3); color: #fbcfe8;
}
.acf-gender-note.is-female .agn-txt b { color: #f9a8d4; }
.acf-gender-note.is-mixed {
  background: rgba(245,197,66,.09); border: 1px solid rgba(245,197,66,.28); color: #f0dfa8;
}
.acf-gender-note.is-mixed .agn-txt b { color: var(--gold); }


/* ============================================================
   انتخابگر منبع رده‌های سنی (حالت سفارشی)
   ============================================================ */
.wrf-agesrc {
  display: flex; flex-direction: column; gap: 10px;
  padding: 13px 15px; border-radius: 12px; margin-bottom: 12px;
  background: rgba(139,92,246,.07);
  border: 1px solid rgba(139,92,246,.28);
}
.wrf-agesrc.hidden { display: none; }
.wrf-agesrc-head { display: flex; align-items: center; gap: 10px; }
.wrf-agesrc-ico { font-size: 1.3rem; line-height: 1; }
.wrf-agesrc-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wrf-agesrc-txt b { font-size: .86rem; font-weight: 700; color: #c4b5fd; }
.wrf-agesrc-txt small { font-size: .68rem; color: var(--muted); line-height: 1.5; }

.wrf-agesrc-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.wrf-asrc-btn {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 13px; border-radius: 10px; cursor: pointer;
  background: var(--bg2, #161a22); border: 1.5px solid var(--line);
  color: var(--fg); font-family: inherit; text-align: right;
  transition: border-color .16s, background .16s, transform .12s;
}
.wrf-asrc-btn:hover:not(:disabled) { border-color: rgba(139,92,246,.5); }
.wrf-asrc-btn:active:not(:disabled) { transform: scale(.99); }
.wrf-asrc-btn:disabled { opacity: .45; cursor: not-allowed; }
.wrf-asrc-btn.is-active {
  border-color: #8b5cf6;
  background: linear-gradient(135deg, rgba(139,92,246,.2), rgba(139,92,246,.06));
  box-shadow: 0 0 0 1px rgba(139,92,246,.3);
}
.wrf-asrc-btn .was-ico { font-size: 1.2rem; line-height: 1; }
.wrf-asrc-btn .was-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wrf-asrc-btn .was-txt b { font-size: .8rem; font-weight: 700; }
.wrf-asrc-btn .was-txt small { font-size: .62rem; color: var(--muted); }
.wrf-asrc-btn.is-active .was-txt b { color: #c4b5fd; }

.wrf-agesrc-hint {
  font-size: .7rem; color: var(--muted); line-height: 1.6;
  padding-top: 2px; border-top: 1px dashed rgba(139,92,246,.22);
}

@media (max-width: 700px) {
  .wrf-agesrc { padding: 11px 12px; }
  .wrf-agesrc-btns { grid-template-columns: 1fr; }
  .wrf-asrc-btn { padding: 10px 12px; }
}


/* ============================================================
   تب مدارک و فایل‌ها — مدارک پزشکی بر اساس رده سنی
   ============================================================ */

/* --- انتخابگر منبع رده‌های سنی --- */
.et-medsrc {
  margin: 12px 0 10px;
  padding: 12px;
  border: 1px solid var(--line, #2a3040);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(245, 197, 66, .06), rgba(245, 197, 66, .01));
}
.et-medsrc-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.et-medsrc-ico { font-size: 22px; line-height: 1; }
.et-medsrc-txt { display: flex; flex-direction: column; gap: 2px; }
.et-medsrc-txt b { color: var(--gold, #f5c542); font-size: 15px; }
.et-medsrc-txt small { color: var(--muted, #8b93a7); font-size: 12.5px; }

.et-medsrc-btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.et-msrc-btn {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1.5px solid var(--line, #2a3040);
  border-radius: 10px;
  background: var(--bg2, #161a22);
  color: var(--text, #e6e9ef);
  cursor: pointer;
  text-align: right;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .15s, background .15s, box-shadow .15s;
  min-height: 56px;
}
.et-msrc-btn:hover:not(:disabled) { border-color: var(--gold, #f5c542); }
.et-msrc-btn:disabled { opacity: .38; cursor: not-allowed; }
.et-msrc-btn.is-active {
  border-color: var(--gold, #f5c542);
  background: rgba(245, 197, 66, .12);
  box-shadow: 0 0 0 1px var(--gold, #f5c542) inset, 0 2px 10px rgba(245, 197, 66, .12);
}
.et-msrc-btn .ems-ico { font-size: 18px; }
.et-msrc-btn .ems-txt { display: flex; flex-direction: column; gap: 1px; line-height: 1.35; }
.et-msrc-btn .ems-txt b { font-size: 13.5px; }
.et-msrc-btn .ems-txt small { font-size: 11.5px; color: var(--muted, #8b93a7); }
.et-msrc-btn.is-active .ems-txt small { color: #d8c48a; }

.et-medsrc-hint {
  margin-top: 9px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  border-right: 3px solid var(--gold, #f5c542);
  font-size: 12.5px;
  color: var(--muted, #8b93a7);
  line-height: 1.6;
}

/* --- نوار ابزار --- */
.et-medtools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--line, #2a3040);
}
.et-medtools #et-med-count { margin-right: auto; }

/* --- کارت هر رده سنی --- */
#et-medical-list { display: flex; flex-direction: column; gap: 10px; }

.med-age-row {
  padding: 11px 12px;
  border: 1px solid var(--line, #2a3040);
  border-radius: 11px;
  background: var(--bg2, #161a22);
  transition: border-color .15s, box-shadow .15s;
}
.med-age-row.has-docs {
  border-color: rgba(245, 197, 66, .45);
  box-shadow: 0 0 0 1px rgba(245, 197, 66, .08) inset;
}
.med-age-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 7px;
}
.med-age-name { font-weight: 700; color: var(--gold, #f5c542); font-size: 15px; }
.med-age-range {
  font-size: 11.5px;
  padding: 2px 8px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .06);
  color: var(--muted, #8b93a7);
  direction: ltr;
}
.med-age-badge {
  margin-right: auto;
  font-size: 11.5px;
  padding: 2px 9px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .05);
  color: var(--muted, #8b93a7);
  white-space: nowrap;
}
.med-age-row.has-docs .med-age-badge {
  background: rgba(46, 204, 113, .16);
  color: #6ee7a8;
  font-weight: 700;
}
.med-age-docs {
  width: 100%;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.9;
  padding: 9px 10px;
  border: 1px solid var(--line, #2a3040);
  border-radius: 9px;
  background: var(--bg, #0f1218);
  color: var(--text, #e6e9ef);
  resize: vertical;
  box-sizing: border-box;
}
.med-age-docs:focus {
  outline: none;
  border-color: var(--gold, #f5c542);
  box-shadow: 0 0 0 3px rgba(245, 197, 66, .14);
}
.med-age-docs:disabled { opacity: .6; cursor: not-allowed; }
.med-age-actions { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.med-age-actions .med-copy-all { color: var(--gold, #f5c542); }

/* موبایل */
@media (max-width: 560px) {
  .et-medsrc-btns { grid-template-columns: 1fr; }
  .et-msrc-btn { min-height: 50px; padding: 9px 10px; }
  .med-age-name { font-size: 14.5px; }
  .med-age-docs { font-size: 15px; }
  .med-age-badge { margin-right: 0; }
  .med-age-head { gap: 6px; }
}

.med-act {
  display: inline-block;
  margin-right: 4px;
  padding: 1px 8px;
  border-radius: 20px;
  background: rgba(46, 204, 113, .18);
  color: #6ee7a8;
  font-size: 11.5px;
  font-weight: 700;
}
.med-inact {
  display: inline-block;
  margin-right: 4px;
  padding: 1px 8px;
  border-radius: 20px;
  background: rgba(245, 197, 66, .14);
  color: #f5c542;
  font-size: 11.5px;
}
/* ── زیرتب‌های تب «جدول‌ها» (bracket subtabs) ── */

/* کانتینر زیرتب (هم‌سبک با td-sub-tabs تب‌های مسابقه) */
.td-sub-tabs {
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding: 4px;
  background: var(--bg2, #161a22);
  border-radius: 10px;
  border: 1px solid var(--line, #2a2f4a);
  overflow-x: auto;
}

/* دکمهٔ زیرتب — واضح و قابل تشخیص */
.td-sub-tabs .td-stab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: inherit;
  font-size: .8rem;
  font-weight: 700;
  white-space: nowrap;
  background: transparent;
  color: var(--muted, #8891b4);
  transition: all .15s;
}
.td-sub-tabs .td-stab:hover {
  background: rgba(245, 197, 66, .1);
  color: var(--text, #e7e9f5);
  border-color: rgba(245, 197, 66, .25);
}
.td-sub-tabs .td-stab.td-stab-active {
  background: var(--gold, #f5c542) !important;
  color: #1a1200 !important;
  border-color: var(--gold, #f5c542);
  box-shadow: 0 2px 8px rgba(245, 197, 66, .28);
}
.td-sub-tabs .td-stab i { font-size: .85em; }

@media (max-width: 560px) {
  .td-sub-tabs .td-stab { font-size: .74rem; padding: 6px 10px; }
}
/* ── کمبوباکس جستجودار انتخاب دسته (bracket move) ── */

.wm-cat-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
  padding: 12px 15px;
  min-height: 50px;
  font-family: inherit;
  font-size: .88rem;
  font-weight: 600;
  color: var(--text, #e7e9f5);
  background: var(--bg2, #161a22);
  border: 1px solid var(--line, #2a2f4a);
  border-radius: 10px;
  cursor: pointer;
  text-align: start;
  transition: border-color .15s, background .15s;
  appearance: none;
  -webkit-appearance: none;
}
.wm-cat-toggle:hover {
  border-color: var(--gold, #f5c542);
}
.wm-cat-toggle:focus-visible {
  outline: 2px solid var(--gold, #f5c542);
  outline-offset: 1px;
}
.wm-cat-toggle #wm-cat-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.wm-cat-toggle .wm-cat-caret {
  font-size: .72rem;
  color: var(--muted, #8891b4);
  flex: 0 0 auto;
}

/* پنل بازشو */
.wm-cat-panel {
  position: absolute;
  z-index: 60;
  inset-inline: 0;
  top: calc(100% + 6px);
  background: var(--bg2, #161a22);
  border: 1px solid var(--line, #2a2f4a);
  border-radius: 11px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .6);
  padding: 9px;
  max-height: 380px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

/* کادر جستجوی داخل پنل */
.wm-cat-search-wrap { position: relative; }
.wm-cat-search-wrap .wm-cat-search {
  width: 100%;
  padding: 11px 56px 11px 34px;
  font-family: inherit;
  font-size: .86rem;
  color: var(--text, #e7e9f5);
  background: var(--bg3, #1b2030);
  border: 1px solid var(--line, #2a2f4a);
  border-radius: 9px;
  min-height: 44px;
}
.wm-cat-search-wrap .wm-cat-search::placeholder { color: var(--muted, #8891b4); }
.wm-cat-search-wrap .wm-cat-search:focus {
  outline: none;
  border-color: var(--gold, #f5c542);
}
.wm-cat-search-wrap .wm-cat-search-icon {
  position: absolute;
  inset-inline-start: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted, #8891b4);
  font-size: .86rem;
  pointer-events: none;
}
.wm-cat-search-wrap .wm-cat-count {
  position: absolute;
  inset-inline-end: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted, #8891b4);
  font-size: .74rem;
}

/* لیست دسته‌ها */
.wm-cat-list {
  overflow-y: auto;
  max-height: 300px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wm-cat-group {
  padding: 7px 10px 4px;
  color: var(--gold, #f5c542);
  font-size: .76rem;
  font-weight: 700;
  position: sticky;
  top: 0;
  background: var(--bg2, #161a22);
  z-index: 1;
}
.wm-cat-item {
  padding: 9px 11px;
  border-radius: 8px;
  cursor: pointer;
  font-size: .85rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  color: var(--text, #e7e9f5);
}
.wm-cat-item:hover { background: rgba(255, 255, 255, .06); }
.wm-cat-item[aria-selected="true"] {
  background: rgba(245, 197, 66, .16);
  color: var(--gold, #f5c542);
}
.wm-cat-item .wm-ci-main {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.wm-cat-item .wm-ci-code {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: .72rem;
  color: var(--muted, #8891b4);
  direction: ltr;
  flex: 0 0 auto;
  padding: 2px 7px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--line, #2a2f4a);
}
.wm-cat-item[aria-selected="true"] .wm-ci-code {
  color: var(--gold, #f5c542);
  border-color: rgba(245, 197, 66, .4);
}
.wm-cat-item .wm-ci-n {
  color: var(--muted, #8891b4);
  font-size: .75rem;
  flex: 0 0 auto;
  min-width: 54px;
  text-align: end;
}

@media (max-width: 620px) {
  .wm-cat-item .wm-ci-code { display: none; }
  .wm-cat-toggle { padding: 10px 12px; min-height: 46px; font-size: .84rem; }
}
/* ── جدول تب «جدول‌ها» پنل ادمین (هم‌سبک تب تساوی‌ها) ── */

/* سربرگ جدول */
.wc-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 12px;
  flex-wrap: wrap;
}
.wc-table-title {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wc-table-count {
  font-size: 12px;
  color: var(--muted, #8891b4);
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 999px;
  padding: 4px 12px;
}

/* جدول — همان الگوی .ei-table تب تساوی‌ها */
.wc-br-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.wc-br-table th {
  background: rgba(255, 255, 255, .08);
  color: #38bdf8;
  text-align: right;
  padding: 10px 9px;
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap;
}
.wc-br-table td {
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding: 9px;
  color: #d8ddf0;
  vertical-align: middle;
}
.wc-br-table tr:hover td { background: rgba(255, 255, 255, .045); }
.wc-br-table td b { color: #fff; }

/* کد دسته */
.wc-br-table .wc-code {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 11.5px;
  color: #8ea0ff;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 6px;
  padding: 3px 8px;
  white-space: nowrap;
  display: inline-block;
}

/* درصد پیشرفت */
.wc-br-table .wc-pct {
  color: #8891b4;
  font-size: 11px;
}
.wc-br-table .ei-medal {
  color: #facc15;
  font-size: 11.5px;
  font-weight: 700;
}

/* برچسب وضعیت */
.ei-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
}
.ei-tag-ok {
  background: rgba(140, 198, 63, .18);
  color: #b8f15a;
}
.ei-tag-wait {
  background: rgba(251, 191, 36, .16);
  color: #fbbf24;
}

/* دکمه‌های عملیات در جدول */
.wc-br-table .wc-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  flex-wrap: nowrap;
}
.wc-br-table .wc-actions .btn {
  padding: 6px 11px;
  font-size: 11.5px;
  white-space: nowrap;
}

@media (max-width: 780px) {
  .wc-br-table { font-size: 11.5px; }
  .wc-br-table th, .wc-br-table td { padding: 7px 6px; }
  .wc-br-table .wc-code { font-size: 10.5px; padding: 2px 6px; }
  .wc-br-table .wc-actions { flex-direction: column; align-items: stretch; }
}
/* ── 🖐️ بازنشانی جدول «جدول‌ها» (رفع ناهم‌ترازی) ── */

/* 🔴 بازنشانی layout — جلوگیری از اثر CSS کارت‌های قدیمی روی جدول */
.wc-br-table {
  display: table !important;
  table-layout: auto !important;
  width: 100% !important;
  border-collapse: collapse !important;
}
.wc-br-table thead { display: table-header-group !important; }
.wc-br-table tbody { display: table-row-group !important; }
.wc-br-table tr,
.wc-br-table tbody tr,
.wc-br-table thead tr {
  display: table-row !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  gap: 0 !important;
  width: auto !important;
}
.wc-br-table th {
  display: table-cell !important;
  text-align: center !important;
  vertical-align: middle;
  background: rgba(255, 255, 255, .08) !important;
  color: #38bdf8 !important;
  padding: 11px 10px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  border: 0 !important;
  border-top: 0 !important;
}
.wc-br-table td {
  display: table-cell !important;
  text-align: center !important;
  vertical-align: middle;
  padding: 10px !important;
  font-size: 12.5px !important;
  color: #d8ddf0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.wc-br-table tbody tr:hover td { background: rgba(255, 255, 255, .045) !important; }
.wc-br-table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, .018); }
.wc-br-table tbody tr:nth-child(even):hover td { background: rgba(255, 255, 255, .05) !important; }
.wc-br-table td b { color: #fff !important; font-size: 12.5px !important; }

/* کد دسته */
.wc-br-table .wc-code {
  font-family: ui-monospace, Menlo, Consolas, monospace !important;
  font-size: 11.5px !important;
  color: #8ea0ff !important;
  background: rgba(255, 255, 255, .05) !important;
  border: 1px solid rgba(255, 255, 255, .09) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  white-space: nowrap;
  display: inline-block !important;
  direction: ltr;
}

/* درصد پیشرفت و قهرمان */
.wc-br-table .wc-pct { color: #8891b4 !important; font-size: 11px !important; }
.wc-br-table .ei-medal { color: #facc15 !important; font-size: 11.5px !important; font-weight: 700; }

/* برچسب وضعیت */
.wc-br-table .ei-tag {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 700;
  white-space: nowrap;
  border: 0 !important;
}
.wc-br-table .ei-tag-ok { background: rgba(140, 198, 63, .18) !important; color: #b8f15a !important; }
.wc-br-table .ei-tag-wait { background: rgba(251, 191, 36, .16) !important; color: #fbbf24 !important; }

/* 🎯 وسط‌چین کردن کل جدول */
.ei-table-wrap.wc-br-wrap {
  display: flex !important;
  justify-content: center !important;
  overflow-x: auto;
}
.ei-table-wrap.wc-br-wrap .wc-br-table {
  max-width: 1240px;
  margin: 0 auto;
}

/* دکمه‌های عملیات در سلول */
.wc-br-table td .wc-actions {
  display: flex !important;
  gap: 6px;
  justify-content: center !important;
  align-items: center;
  flex-wrap: nowrap;
}
.wc-br-table td .wc-actions .btn {
  padding: 6px 11px !important;
  font-size: 11.5px !important;
  white-space: nowrap;
  margin: 0 !important;
}

/* سربرگ جدول — وسط‌چین */
.wc-table-head { justify-content: center !important; text-align: center; }

@media (max-width: 820px) {
  .wc-br-table th, .wc-br-table td { padding: 7px 6px !important; font-size: 11.5px !important; }
  .wc-br-table .wc-code { font-size: 10.5px !important; padding: 2px 6px !important; }
  .wc-br-table td .wc-actions { flex-direction: column; gap: 4px; }
}
/* ── 🚨 جعبهٔ آلارم جابجایی بازیکنان ── */

.wm-alarm {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 12px;
  padding: 0;
}
.wm-al {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 9px;
  font-size: .84rem;
  line-height: 1.7;
  border: 1px solid transparent;
  direction: rtl;
  text-align: start;
}
.wm-al i { margin-top: .18em; flex: 0 0 auto; }
.wm-al b { font-weight: 700; }

/* 🚨 تضاد جدید — خطر */
.wm-al-bad {
  background: rgba(239, 68, 68, .14);
  border-color: rgba(239, 68, 68, .45);
  color: #fca5a5;
}
.wm-al-bad i { color: #f87171; }

/* ✅ تضاد برطرف‌شده */
.wm-al-good {
  background: rgba(140, 198, 63, .14);
  border-color: rgba(140, 198, 63, .42);
  color: #b8f15a;
}
.wm-al-good i { color: #8cc63f; }

/* ✅ بی‌خطر */
.wm-al-ok {
  background: rgba(56, 189, 248, .11);
  border-color: rgba(56, 189, 248, .35);
  color: #7dd3fc;
}
.wm-al-ok i { color: #38bdf8; }


/* ══════════════════════════════════════════════════════════════════════════
   🔷 لوگوی صفحهٔ بارگذاری (page-loader) — بدون کادر سفید
   🖐️ «لوگو سایت رو نمایش میده ولی با کادر سفید — درست کن و همپوشانی داشته باشه»
   🔬 ریشه: border:1px solid rgba(255,255,255,.1) + box-shadow + radius:14px
   ══════════════════════════════════════════════════════════════════════════ */
.page-loader-logo {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  /* 🔷 ابعاد هوشمند از نسبت واقعی فایل */
  width: auto !important;
  height: var(--pl-logo-h, 60px);
  max-width: var(--pl-logo-maxw, 320px);
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* 🔷 تنها پس‌زمینهٔ صفحه — همپوشانی کامل */
.page-loader {
  background: #141623 !important;
}
.page-loader-inner {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* مستطیل افقی (IRAN SPORT DATA) */
.page-loader-logo.shape-wide   { --pl-logo-maxw: 340px; }
.page-loader-logo.shape-square { --pl-logo-maxw: 200px; }
.page-loader-logo.shape-circle { --pl-logo-maxw: 200px; }

@media (max-width: 900px) {
  .page-loader-logo { --pl-logo-h: 52px; }
  .page-loader-logo.shape-wide { --pl-logo-maxw: 270px; }
}
@media (max-width: 560px) {
  .page-loader-logo { --pl-logo-h: 44px; }
  .page-loader-logo.shape-wide { --pl-logo-maxw: 220px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   🗂️ زیرتب‌های تب «سامانه» در پنل ادمین
   🖐️ «تب سامانه رو یه سرو سامان بده، براش تب بزار، تمیز کن»
   ══════════════════════════════════════════════════════════════════════════ */
.ssub-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 16px;
  padding: 6px;
  border-radius: 13px;
  background: rgba(142, 160, 255, .07);
  border: 1px solid rgba(142, 160, 255, .16);
}
.ssub-btn {
  flex: 1 1 auto;
  min-width: 118px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #aab3cc;
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  transition: background .16s, color .16s, border-color .16s;
  white-space: nowrap;
}
.ssub-btn i { font-size: 14px; opacity: .8; }
.ssub-btn:hover {
  background: rgba(255, 255, 255, .06);
  color: #dfe4f5;
}
.ssub-btn.is-on {
  background: linear-gradient(180deg, rgba(142, 160, 255, .22), rgba(142, 160, 255, .13));
  border-color: rgba(142, 160, 255, .44);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 3px 12px rgba(80, 100, 200, .18);
}
.ssub-btn.is-on i { opacity: 1; color: #b9c4ff; }
.ssub { display: none; }
.ssub.is-on { display: block; animation: ssubIn .2s ease; }
@keyframes ssubIn { from { opacity: 0; transform: translateY(5px) } to { opacity: 1; transform: none } }

@media (max-width: 700px) {
  .ssub-bar { gap: 5px; padding: 5px; }
  .ssub-btn { min-width: 0; flex: 1 1 44%; padding: 9px 8px; font-size: 12px; }
  .ssub-btn i { font-size: 13px; }
  .ssub-btn span { font-size: 11.5px; }
}
@media (max-width: 400px) {
  /* ۲ ستون — جای ۴ ردیف تمام‌عرض (نوار کوتاه‌تر) */
  .ssub-btn { flex: 1 1 calc(50% - 3px); min-width: 0; padding: 8px 6px; }
  .ssub-btn span { font-size: 11px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   🎯 زیرتب «صفحهٔ فرود» — استایل پنل ادمین
   ══════════════════════════════════════════════════════════════════════════ */
.lp-h4 {
  margin: 18px 0 10px;
  font-size: .95rem;
  font-weight: 700;
  color: var(--navy, #0b2851);
  display: flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(11, 40, 81, .1);
}
.lp-h4 i { color: #df1f26; }
.lp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px;
  margin-bottom: 6px;
}
.lp-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: .8rem;
  font-weight: 600;
}
.lp-grid input[type="number"],
.lp-grid input[type="color"],
.lp-grid select {
  padding: 7px 9px;
  border: 1px solid rgba(11, 40, 81, .18);
  border-radius: 8px;
  font-size: .85rem;
  font-family: inherit;
  width: 100%;
  box-sizing: border-box;
}
.lp-grid input[type="color"] { height: 38px; padding: 3px; cursor: pointer; }
.lp-switch {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 10px 0 14px;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  padding: 10px 12px;
  background: rgba(46, 150, 71, .07);
  border: 1px solid rgba(46, 150, 71, .22);
  border-radius: 9px;
}
.lp-switch input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; }
.lp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(11, 40, 81, .1);
}
@media (max-width: 640px) {
  .lp-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   🎛️ ویرایش محتوای صفحهٔ فرود — پنل ادمین
   ══════════════════════════════════════════════════════════════════════════ */
.lp-sep { height: 1px; background: rgba(255,255,255,.10); margin: 22px 0; }
.lp-head { display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.lp-head h3 { margin: 0; font-size: 16px; font-weight: 600; color: #fff;
  display: flex; align-items: center; gap: 8px; }
.lp-head h3 i { color: var(--accent, #df1f26); }
.lp-head-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.lp-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }

/* نوار گروه‌ها */
.lc-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0 14px;
  padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
.lc-tab { display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 13px; border-radius: 9px; cursor: pointer;
  background: rgba(255,255,255,.05); color: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.09); font-size: 12.5px; font-family: inherit;
  transition: background .18s, color .18s, border-color .18s; }
.lc-tab:hover { background: rgba(255,255,255,.1); color: #fff; }
.lc-tab.is-on { background: rgba(223,31,38,.16); color: #ff6b78;
  border-color: rgba(223,31,38,.4); }
.lc-tab i { font-size: 12px; }

/* پنل‌ها */
.lc-panel { display: none; }
.lc-panel.is-on { display: block; animation: lcIn .2s ease both; }
@keyframes lcIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.lc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lc-f { display: flex; flex-direction: column; gap: 5px;
  font-size: 12.5px; color: rgba(255,255,255,.72); }
.lc-f--full { grid-column: 1 / -1; }
.lc-f input[type=text], .lc-f textarea {
  width: 100%; padding: 9px 11px; border-radius: 9px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
  color: #fff; font-size: 13.5px; font-family: inherit; box-sizing: border-box;
  transition: border-color .18s, background .18s; }
.lc-f input[type=text]:focus, .lc-f textarea:focus {
  outline: none; border-color: rgba(223,31,38,.55); background: rgba(255,255,255,.09); }
.lc-f textarea { resize: vertical; min-height: 68px; line-height: 1.7; }
.lc-f .field-hint { font-size: 11px; color: rgba(255,255,255,.38); }

/* تصویر */
.lc-img-row { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.lc-img-row input[type=text] { flex: 1 1 200px; min-width: 140px; }
.lc-img-prev { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 9px;
  background: rgba(255,255,255,.05) center/cover no-repeat;
  border: 1px solid rgba(255,255,255,.12); }

@media (max-width: 820px) {
  .lc-grid { grid-template-columns: 1fr; }
  .lc-tab { font-size: 12px; padding: 6px 10px; }
  .lc-img-row input[type=text] { flex: 1 1 100%; }
}


/* 🏷️ نشان اندازهٔ فونت کنار کادر محتوا (پنل «صفحهٔ فرود») */
.lc-fs {
  display: inline-flex; align-items: center; gap: 4px;
  margin-inline-start: 8px; padding: 1px 8px;
  font-size: 11px; font-weight: 600; line-height: 1.7;
  color: rgb(11, 40, 81); background: rgba(11, 40, 81, .07);
  border: 1px solid rgba(11, 40, 81, .14); border-radius: 999px;
  vertical-align: middle; cursor: help;
}
.lc-fs i { font-size: 10px; opacity: .7; }
.lc-fs b { font-weight: 700; color: rgb(223, 31, 38); }
.lc-f label .lc-fs { float: inline-end; }


/* ✏️ نشان اندازهٔ فونت — کادر عدد قابل ویرایش (پنل «صفحهٔ فرود») */
.lc-fs .lc-fs-in {
  width: 52px; height: 22px; padding: 0 4px;
  font: 700 12px/1 inherit; text-align: center;
  color: rgb(223, 31, 38); background: #fff;
  border: 1px solid rgba(11, 40, 81, .22); border-radius: 6px;
  direction: ltr; -moz-appearance: textfield; appearance: textfield;
}
.lc-fs .lc-fs-in::-webkit-outer-spin-button,
.lc-fs .lc-fs-in::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lc-fs .lc-fs-in:focus {
  outline: none; border-color: rgb(223, 31, 38);
  box-shadow: 0 0 0 2px rgba(223, 31, 38, .16);
}
.lc-fs .lc-fs-in.is-saving { opacity: .6; }
.lc-fs .lc-fs-in.is-ok { border-color: #1d7a35; box-shadow: 0 0 0 2px rgba(29, 122, 53, .2); }
.lc-fs .lc-fs-in.is-err { border-color: #df1f26; box-shadow: 0 0 0 2px rgba(223, 31, 38, .25); }
.lc-fs .lc-fs-u { font-size: 10.5px; font-weight: 600; opacity: .75; margin-inline-start: -2px; }
.lc-fs .lc-fs-l { font-weight: 600; }


/* ══════════════════════════════════════════════════════════════════════════
   🎨 نوار سبک هر فیلد — فونت · رنگ · چینش (پنل «صفحهٔ فرود»)
   🖐️ «انتخاب فونت · رنگ · وسط چین/راست چین/چپ چین»
   ══════════════════════════════════════════════════════════════════════════ */
.lc-sty {
  display: inline-flex; align-items: center; gap: 4px;
  margin-inline-start: 6px; vertical-align: middle;
}
.lc-sty-f {
  height: 22px; padding: 0 4px; max-width: 92px;
  font: 600 11px/1 inherit; color: rgb(11, 40, 81);
  background: #fff; border: 1px solid rgba(11, 40, 81, .2); border-radius: 6px;
  cursor: pointer;
}
.lc-sty-f:focus { outline: none; border-color: rgb(223, 31, 38); }
.lc-sty-c {
  width: 26px; height: 22px; padding: 0 1px;
  background: #fff; border: 1px solid rgba(11, 40, 81, .2); border-radius: 6px;
  cursor: pointer; -webkit-appearance: none; appearance: none;
}
.lc-sty-c::-webkit-color-swatch-wrapper { padding: 1px; }
.lc-sty-c::-webkit-color-swatch { border: none; border-radius: 3px; }
.lc-sty-c:focus { outline: none; border-color: rgb(223, 31, 38); }
.lc-sty-a { display: inline-flex; gap: 1px; }
.lc-al {
  width: 24px; height: 22px; padding: 0; display: inline-flex;
  align-items: center; justify-content: center;
  font-size: 10px; color: rgba(11, 40, 81, .55);
  background: #fff; border: 1px solid rgba(11, 40, 81, .18);
  border-radius: 5px; cursor: pointer; transition: all .12s ease;
}
.lc-al:first-child { border-start-start-radius: 6px; border-end-start-radius: 6px; }
.lc-al:last-child { border-start-end-radius: 6px; border-end-end-radius: 6px; }
.lc-al:hover { color: rgb(223, 31, 38); border-color: rgba(223, 31, 38, .4); }
.lc-al.is-on {
  color: #fff; background: rgb(223, 31, 38); border-color: rgb(223, 31, 38);
}
/* در پنل تیره، برچسب فیلد کوتاه شود */
.lc-f > .lc-fs, .lc-f > .lc-sty { flex: 0 0 auto; }


/* ══════════════════════════════════════════════════════════════════════════
   🏆 صفحهٔ «مسابقات» — فیلتر + کارت‌ها (کلاس‌های یکتا: tv-*)
   ══════════════════════════════════════════════════════════════════════════ */
.tv-filters {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin: 0 auto 26px; max-width: 1180px; justify-content: center;
}
.tv-chip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 15px; border-radius: 999px;
  font-size: 13px; font-weight: 600; text-decoration: none;
  color: rgb(11, 40, 81); background: rgba(11, 40, 81, .055);
  border: 1px solid rgba(11, 40, 81, .1);
  transition: all .15s ease;
}
.tv-chip i { font-size: 11px; opacity: .7; }
.tv-chip b {
  font-size: 11.5px; font-weight: 700; padding: 1px 7px;
  border-radius: 999px; background: rgba(11, 40, 81, .1);
}
.tv-chip:hover { background: rgba(11, 40, 81, .1); }
.tv-chip.is-on { color: #fff; background: rgb(11, 40, 81); border-color: rgb(11, 40, 81); }
.tv-chip.is-on i { opacity: .9; }
.tv-chip.is-on b { background: rgba(255, 255, 255, .22); color: #fff; }

.tv-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 18px; max-width: 1180px; margin: 0 auto;
}
.tv-card { display: flex; flex-direction: column; padding: 18px; }
.tv-top { display: flex; gap: 14px; align-items: flex-start; }
.tv-poster {
  flex: 0 0 auto; width: 74px; height: 74px; border-radius: 12px;
  background-size: cover; background-position: center;
  background-color: rgba(11, 40, 81, .06);
}
.tv-poster--none {
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; color: rgba(11, 40, 81, .28);
}
.tv-head { flex: 1 1 auto; min-width: 0; }
.tv-title { margin: 0 0 3px; font-size: 17px; font-weight: 700; line-height: 1.45; color: rgb(11, 40, 81); }
.tv-sub { margin: 0 0 7px; font-size: 12.5px; line-height: 1.6; color: rgba(11, 40, 81, .62); }
.tv-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.tv-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2.5px 9px; border-radius: 999px;
  font-size: 10.5px; font-weight: 700;
}
.tv-badge i { font-size: 9px; }
.tv-badge--live { color: #fff; background: rgb(223, 31, 38); }
.tv-badge--soon { color: rgb(11, 40, 81); background: rgba(0, 128, 255, .13); }
.tv-badge--done { color: rgba(11, 40, 81, .7); background: rgba(11, 40, 81, .09); }
.tv-badge--on   { color: #fff; background: rgb(29, 122, 53); }

.tv-meta {
  list-style: none; margin: 14px 0 0; padding: 12px 0 0;
  border-top: 1px solid rgba(11, 40, 81, .08);
  display: flex; flex-direction: column; gap: 6px;
}
.tv-meta li { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: rgba(11, 40, 81, .72); }
.tv-meta li i { width: 14px; text-align: center; font-size: 11px; opacity: .55; }
.tv-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 14px; }

@media (max-width: 700px) {
  .tv-grid { grid-template-columns: 1fr; gap: 14px; }
  .tv-filters { gap: 6px; }
  .tv-chip { padding: 7px 12px; font-size: 12px; }
  .tv-card { padding: 15px; }
  .tv-poster { width: 62px; height: 62px; }
}
