/* ================================================
   SAMADI CAPITAL - Complete Design System
   Dark Gold Premium | RTL Persian | Vazirmatn
================================================ */

/* فونت Vazirmatn local — کار می‌کنه حتی بدون VPN
   فاز ۲: WOFF2 اول (۴۹KB بجای TTF)، TTF فقط fallback مرورگرهای خیلی قدیمی */
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Vazirmatn-400.woff2') format('woff2'),
       url('../assets/fonts/Vazirmatn-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/Vazirmatn-500.woff2') format('woff2'),
       url('../assets/fonts/Vazirmatn-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/Vazirmatn-700.woff2') format('woff2'),
       url('../assets/fonts/Vazirmatn-700.ttf') format('truetype');
}

/* ---- CSS Variables ---- */
:root {
  --gold: #C9A84C;
  --gold-light: #E8C96B;
  --gold-lighter: #F5E08A;
  --gold-dark: #9A7A2E;
  --gold-gradient: linear-gradient(135deg, #9A7A2E 0%, #C9A84C 40%, #E8C96B 70%, #C9A84C 100%);
  --gold-gradient-h: linear-gradient(90deg, #9A7A2E, #C9A84C, #E8C96B, #C9A84C, #9A7A2E);

  --black: #050505;
  --dark-1: #0A0A0A;
  --dark-2: #111111;
  --dark-3: #181818;
  --dark-4: #222222;
  --dark-5: #2D2D2D;

  --text-primary: #F0F0F0;
  --text-secondary: #BBBBBB;
  --text-muted: #9A9A9A;   /* پیش‌تر ‎#777 — زیرِ حدِ خوانایی روی زمینهٔ تیره (بازنگری UI/UX، ۱۴۰۵/۰۷) */

  --success: #2ECC71;
  --warning: #F39C12;
  --danger: #E74C3C;
  --info: #3498DB;

  --border-gold: rgba(201,168,76,0.18);
  --border-gold-hover: rgba(201,168,76,0.55);

  --shadow-sm: 0 2px 12px rgba(0,0,0,0.5);
  --shadow-md: 0 4px 28px rgba(0,0,0,0.65);
  --shadow-lg: 0 10px 50px rgba(0,0,0,0.75);
  --shadow-gold: 0 4px 28px rgba(201,168,76,0.22);
  --shadow-gold-lg: 0 8px 44px rgba(201,168,76,0.35);

  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;

  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  --transition-fast: all 0.15s ease;
}

/* ---- Reset ---- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { direction:rtl; scroll-behavior:smooth; font-size:16px; }
body {
  font-family: 'Vazirmatn', system-ui, sans-serif;
  background: var(--dark-1);
  color: var(--text-primary);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration:none; color:inherit; transition:var(--transition); }
img { max-width:100%; height:auto; display:block; }
/* لوگوی زنده (js/sc-logo.js): svg همان جای <img> لوگو را می‌گیرد و همان رفتار را دارد؛
   :where یعنی وزنِ صفر — قاعده‌های کلاس‌دارِ هر جا (اندازه، سایه، نمایش در موبایل) مثلِ قبل غالب‌اند */
:where(svg.sc-logo) { display:block; max-width:100%; aspect-ratio:1 / 1; flex-shrink:0; }
button { cursor:pointer; font-family:'Vazirmatn',sans-serif; }
input, textarea, select { font-family:'Vazirmatn',sans-serif; }
ul { list-style:none; }

::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:var(--dark-2); }
::-webkit-scrollbar-thumb { background:var(--gold-dark); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--gold); }

/* ---- Typography ---- */
h1 { font-size: clamp(2rem,5vw,3.6rem); font-weight:900; line-height:1.2; }
h2 { font-size: clamp(1.5rem,3.5vw,2.4rem); font-weight:800; line-height:1.3; }
h3 { font-size: clamp(1.1rem,2.5vw,1.6rem); font-weight:700; }
h4 { font-size:1.1rem; font-weight:600; }

/* ---- Utilities ---- */
.container { max-width:1240px; margin:0 auto; padding:0 24px; }
.text-gold { color:var(--gold); }
.text-center { text-align:center; }
.text-muted { color:var(--text-muted); }
.d-flex { display:flex; }
.align-center { align-items:center; }
.gap-8 { gap:8px; }
.gap-12 { gap:12px; }
.gap-16 { gap:16px; }
.gap-24 { gap:24px; }
.mt-8 { margin-top:8px; }
.mt-16 { margin-top:16px; }
.mt-24 { margin-top:24px; }
.mb-8 { margin-bottom:8px; }
.mb-16 { margin-bottom:16px; }
.mb-24 { margin-bottom:24px; }
.mb-32 { margin-bottom:32px; }
.w-full { width:100%; }

.gold-text {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---- Buttons ---- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 30px;
  border-radius: var(--radius);
  font-size: 0.95rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
  text-decoration: none;
  font-family: 'Vazirmatn', sans-serif;
  position: relative;
  overflow: hidden;
}
.btn::after {
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0);
  transition:var(--transition);
}
.btn:hover::after { background:rgba(255,255,255,0.04); }

.btn-gold {
  background: var(--gold-gradient);
  color: #000;
  font-weight: 700;
  box-shadow: var(--shadow-gold);
}
.btn-gold:hover { transform:translateY(-2px); box-shadow:var(--shadow-gold-lg); }
.btn-gold:active { transform:translateY(0); }

.btn-outline {
  background: transparent;
  color: var(--gold);
  border: 1.5px solid var(--gold);
}
.btn-outline:hover { background:rgba(201,168,76,0.08); box-shadow:var(--shadow-gold); }

.btn-dark {
  background: var(--dark-4);
  color: var(--text-primary);
  border: 1px solid var(--dark-5);
}
.btn-dark:hover { background:var(--dark-5); }

.btn-ghost {
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--dark-5);
}
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }

.btn-danger {
  background: rgba(231,76,60,0.12);
  color: var(--danger);
  border: 1px solid rgba(231,76,60,0.3);
}
.btn-danger:hover { background:rgba(231,76,60,0.2); }

.btn-sm { padding:8px 18px; font-size:0.85rem; }
.btn-lg { padding:17px 44px; font-size:1.1rem; }
.btn-xl { padding:20px 56px; font-size:1.15rem; border-radius:var(--radius-lg); }
.btn-icon { width:38px; height:38px; padding:0; border-radius:var(--radius-sm); }

/* ---- Badge ---- */
.badge {
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 12px; border-radius:50px; font-size:0.75rem; font-weight:600;
}
.badge-gold { background:rgba(201,168,76,0.12); color:var(--gold); border:1px solid rgba(201,168,76,0.3); }
.badge-blue { background:rgba(52,152,219,0.12); color:var(--info); border:1px solid rgba(52,152,219,0.3); }
.badge-green { background:rgba(46,204,113,0.12); color:var(--success); border:1px solid rgba(46,204,113,0.3); }
.badge-red { background:rgba(231,76,60,0.12); color:var(--danger); border:1px solid rgba(231,76,60,0.3); }
.badge-gray { background:var(--dark-4); color:var(--text-muted); border:1px solid var(--dark-5); }
.badge-lg { padding:6px 16px; font-size:0.875rem; }

/* ---- Card ---- */
.card {
  background:var(--dark-3);
  border:1px solid var(--border-gold);
  border-radius:var(--radius-lg);
  padding:28px;
  transition:var(--transition);
}
.card:hover { border-color:var(--border-gold-hover); box-shadow:var(--shadow-gold); }

/* ---- Form Controls ---- */
.form-group { margin-bottom:18px; }
.form-label { display:block; color:var(--text-secondary); font-size:0.875rem; font-weight:500; margin-bottom:8px; }
.form-control {
  width:100%; background:var(--dark-4); border:1.5px solid var(--dark-5);
  border-radius:var(--radius); padding:13px 16px; color:var(--text-primary);
  font-family:'Vazirmatn',sans-serif; font-size:0.95rem; transition:var(--transition);
  direction:rtl; outline:none;
}
.form-control:focus { border-color:var(--gold); background:var(--dark-3); box-shadow:0 0 0 3px rgba(201,168,76,0.1); }
.form-control::placeholder { color:var(--text-muted); }
.form-select {
  width:100%; background:var(--dark-4); border:1.5px solid var(--dark-5);
  border-radius:var(--radius); padding:13px 16px; color:var(--text-primary);
  font-family:'Vazirmatn',sans-serif; font-size:0.95rem; cursor:pointer; outline:none; direction:rtl;
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:left 14px center;
}
.form-select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,0.1); }
.form-select option { background:var(--dark-3); color:var(--text-primary); }
textarea.form-control { resize:vertical; min-height:90px; }

/* ---- Alert ---- */
.alert {
  padding:13px 18px; border-radius:var(--radius); font-size:0.9rem;
  display:flex; align-items:center; gap:10px; margin-bottom:16px;
}
.alert-warning { background:rgba(243,156,18,0.1); border:1px solid rgba(243,156,18,0.3); color:var(--warning); }
.alert-success { background:rgba(46,204,113,0.1); border:1px solid rgba(46,204,113,0.3); color:var(--success); }
.alert-danger  { background:rgba(231,76,60,0.1);  border:1px solid rgba(231,76,60,0.3);  color:var(--danger); }
.alert-info    { background:rgba(201,168,76,0.1);  border:1px solid rgba(201,168,76,0.3);  color:var(--gold); }

/* ---- Divider ---- */
.gold-divider { width:60px; height:3px; background:var(--gold-gradient); margin:14px auto; border-radius:2px; }
.gold-divider-full { width:100%; height:1px; background:var(--border-gold); margin:20px 0; }

/* ---- Section Title ---- */
.section-title { text-align:center; margin-bottom:64px; }
.section-title .tag {
  display:inline-block; background:rgba(201,168,76,0.1);
  color:var(--gold); border:1px solid var(--border-gold);
  padding:6px 20px; border-radius:50px; font-size:0.8rem; margin-bottom:16px;
}
.section-title h2 { margin-bottom:14px; }
.section-title p { color:var(--text-secondary); max-width:580px; margin:0 auto; font-size:1.05rem; }

/* ---- Progress Bar ---- */
.progress-wrap { margin-top:8px; }
.progress-label { display:flex; justify-content:space-between; font-size:0.78rem; color:var(--text-muted); margin-bottom:6px; }
.progress-bg { background:var(--dark-5); border-radius:50px; height:7px; overflow:hidden; }
.progress-fill { height:100%; border-radius:50px; background:var(--gold-gradient); transition:width 1.2s cubic-bezier(0.4,0,0.2,1); }
.progress-fill-blue { background:linear-gradient(90deg,#2980B9,#3498DB); }
.progress-fill-green { background:linear-gradient(90deg,#27AE60,#2ECC71); }

/* ---- Notification Toast ---- */
.toast {
  position:fixed; top:20px; left:50%; transform:translateX(-50%) translateY(-120px);
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius); padding:13px 24px;
  display:flex; align-items:center; gap:10px;
  z-index:9999; transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:var(--shadow-md); font-size:0.9rem; white-space:nowrap; min-width:200px;
}
.toast.show { transform:translateX(-50%) translateY(0); }
.toast.success { border-color:var(--success); color:var(--success); }
.toast.error   { border-color:var(--danger);  color:var(--danger); }
.toast.info    { border-color:var(--gold);    color:var(--gold); }
.toast.warning { border-color:var(--warning); color:var(--warning); }

/* ============================================
   NAVBAR
============================================ */
.navbar {
  position:fixed; top:0; right:0; left:0; z-index:900;
  padding:18px 0; transition:var(--transition);
}
.navbar.scrolled {
  background:rgba(10,10,10,0.96);
  backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border-gold);
  padding:12px 0;
  box-shadow:var(--shadow-md);
}
.navbar .container { display:flex; align-items:center; justify-content:space-between; }
.navbar-brand { display:flex; align-items:center; gap:12px; }
.navbar-logo { height:46px; width:auto; filter:drop-shadow(0 0 10px rgba(201,168,76,0.3)); }
.navbar-text .name { font-size:1.05rem; font-weight:700; color:var(--gold); line-height:1.2; }
.navbar-text .tag  { font-size:0.65rem; color:var(--text-muted); letter-spacing:1px; }
.navbar-actions { display:flex; align-items:center; gap:10px; }

/* ============================================
   HERO
============================================ */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%, #1c1000 0%, #0D0D0D 45%, #050505 100%);
}
/* Grid overlay */
.hero::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,0.03) 1px, transparent 1px);
  background-size:70px 70px;
  pointer-events:none;
}
/* Center glow */
.hero-glow {
  position:absolute; top:30%; left:50%; transform:translate(-50%,-50%);
  width:700px; height:700px;
  background:radial-gradient(circle, rgba(201,168,76,0.07) 0%, transparent 65%);
  pointer-events:none; animation:glowPulse 4s ease-in-out infinite;
}
@keyframes glowPulse {
  0%,100% { opacity:0.6; transform:translate(-50%,-50%) scale(1); }
  50% { opacity:1; transform:translate(-50%,-50%) scale(1.1); }
}
/* Floating particles */
.particles { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.particle {
  position:absolute; border-radius:50%;
  background:var(--gold); opacity:0;
  animation:floatUp var(--d,10s) var(--delay,0s) infinite ease-in;
}
@keyframes floatUp {
  0%   { transform:translateY(110vh) scale(0.3); opacity:0; }
  10%  { opacity:var(--op,0.4); }
  90%  { opacity:var(--op,0.4); }
  100% { transform:translateY(-10vh) scale(1); opacity:0; }
}
.hero-content {
  position:relative; z-index:2; width:100%;
  text-align:center; padding:130px 24px 80px;
}
.hero-logo {
  width:150px; height:150px; object-fit:contain;
  margin:0 auto 32px;
  filter:drop-shadow(0 0 40px rgba(201,168,76,0.5));
  animation:logoPulse 3.5s ease-in-out infinite alternate;
}
@keyframes logoPulse {
  from { filter:drop-shadow(0 0 25px rgba(201,168,76,0.35)); transform:scale(1); }
  to   { filter:drop-shadow(0 0 60px rgba(201,168,76,0.75)); transform:scale(1.03); }
}
.hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.3);
  color:var(--gold); padding:8px 22px; border-radius:50px;
  font-size:0.85rem; margin-bottom:22px;
  backdrop-filter:blur(10px);
}
.hero h1 { margin-bottom:14px; letter-spacing:-0.5px; }
.hero-subtitle {
  font-size:clamp(0.9rem,2vw,1.25rem); color:var(--gold);
  letter-spacing:5px; text-transform:uppercase; font-weight:300;
  margin-bottom:22px;
}
.hero-desc {
  color:var(--text-secondary); font-size:1.05rem; max-width:580px;
  margin:0 auto 40px; line-height:1.85;
}
.hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:60px; }
.hero-scroll {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  color:var(--text-muted); font-size:0.75rem;
  text-transform:uppercase; animation:scrollBounce 2s ease-in-out infinite;
}
.scroll-line { width:1px; height:38px; background:linear-gradient(var(--gold),transparent); }
@keyframes scrollBounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50% { transform:translateX(-50%) translateY(8px); }
}

/* ============================================
   STATS BAR
============================================ */
.stats-bar {
  background:var(--dark-2);
  border-top:1px solid var(--border-gold);
  border-bottom:1px solid var(--border-gold);
  padding:50px 0;
}
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:34px 28px; }
.stat-item { text-align:center; }
.stat-num {
  font-size:2.8rem; font-weight:900;
  background:var(--gold-gradient);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; margin-bottom:6px; display:block;
}
.stat-label { color:var(--text-secondary); font-size:0.9rem; }

/* ============================================
   BENEFITS
============================================ */
.benefits-section { padding:100px 0; }
.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.benefit-card {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:32px;
  transition:var(--transition); position:relative; overflow:hidden;
}
.benefit-card::after {
  content:''; position:absolute; top:-30px; right:-30px;
  width:100px; height:100px;
  background:radial-gradient(circle, rgba(201,168,76,0.08), transparent 70%);
  pointer-events:none;
}
.benefit-card:hover { border-color:var(--gold); transform:translateY(-5px); box-shadow:var(--shadow-gold-lg); }
.benefit-icon {
  width:58px; height:58px; background:rgba(201,168,76,0.1);
  border:1px solid var(--border-gold); border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin-bottom:20px; transition:var(--transition);
}
.benefit-card:hover .benefit-icon { background:rgba(201,168,76,0.18); box-shadow:var(--shadow-gold); }
.benefit-card h3 { font-size:1.05rem; color:var(--gold-light); margin-bottom:10px; }
.benefit-card p { color:var(--text-secondary); font-size:0.92rem; line-height:1.75; }

/* ============================================
   JOURNEY TIMELINE
============================================ */
.journey-section { padding:100px 0; background:var(--dark-2); }
.timeline { max-width:860px; margin:0 auto; position:relative; }
.timeline::before {
  content:''; position:absolute; right:27px; top:0; bottom:0;
  width:2px;
  background:linear-gradient(to bottom, var(--gold) 0%, rgba(201,168,76,0.2) 80%, transparent 100%);
}
.timeline-item { display:flex; gap:22px; margin-bottom:32px; position:relative; }
.timeline-dot {
  width:56px; height:56px; flex-shrink:0;
  background:var(--dark-3); border:2px solid var(--border-gold);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; z-index:1; transition:var(--transition);
  box-shadow:0 0 0 4px var(--dark-2);
}
.timeline-item.active .timeline-dot {
  border-color:var(--gold); background:rgba(201,168,76,0.15);
  box-shadow:0 0 20px rgba(201,168,76,0.4), 0 0 0 4px var(--dark-2);
}
.timeline-item.done .timeline-dot { border-color:var(--success); background:rgba(46,204,113,0.15); }
.timeline-body {
  flex:1; background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:22px 24px; transition:var(--transition);
}
.timeline-body:hover { border-color:var(--border-gold-hover); }
.timeline-step { font-size:0.75rem; color:var(--gold); margin-bottom:7px; }
.timeline-body h3 { font-size:1rem; margin-bottom:6px; }
.timeline-body p  { color:var(--text-secondary); font-size:0.88rem; line-height:1.6; }
.timeline-link {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--gold); font-size:0.82rem; margin-top:10px;
  border:1px solid var(--border-gold); padding:5px 13px; border-radius:50px; transition:var(--transition);
}
.timeline-link:hover { background:rgba(201,168,76,0.1); }

/* ============================================
   MARKETS
============================================ */
.markets-section { padding:80px 0; }
.markets-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.market-card {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:32px 22px; text-align:center; transition:var(--transition);
}
.market-card:hover { border-color:var(--gold); box-shadow:var(--shadow-gold); transform:translateY(-5px); }
.market-emoji { font-size:2.6rem; margin-bottom:14px; display:block; }
.market-card h3 { font-size:1.05rem; color:var(--gold); margin-bottom:7px; }
.market-card p  { color:var(--text-muted); font-size:0.82rem; }

/* ============================================
   CTA SECTION
============================================ */
.cta-section {
  padding:100px 0; text-align:center; position:relative; overflow:hidden;
  background:var(--dark-2);
}
.cta-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center, rgba(201,168,76,0.06), transparent 65%);
}
.cta-section .container { position:relative; z-index:1; }
.cta-section h2 { margin-bottom:16px; }
.cta-section p  { color:var(--text-secondary); max-width:480px; margin:0 auto 38px; font-size:1.05rem; }
.cta-note { color:var(--text-muted); font-size:0.82rem; margin-top:16px; }

/* ============================================
   FOOTER
============================================ */
.footer { background:var(--black); border-top:1px solid var(--border-gold); padding:60px 0 28px; }

/* ── امضای AFA AI WEBSITE (AFA-footer-kit، css/afa-signature.css) — فقط متغیرهای تم این‌جا عوض می‌شوند ── */
.footer.footer-sig { padding: 0; border-top: 0; background: var(--black); }
.home-premium .footer.footer-sig { background: var(--black); }
.footer-sig .afa-sig {
  --afa-sig-accent: 201 168 76;        /* طلاییِ سایت ‎#C9A84C */
  --afa-sig-accent-lit: 232 201 107;   /* ‎#E8C96B */
  --afa-sig-text: 240 240 240;         /* ‎#F0F0F0 */
  --afa-sig-panel-from: #110f0b;       /* یک پله روشن‌تر از زمینه، با ته‌رنگِ طلایی */
  --afa-sig-panel-to: #050505;         /* تیره‌ترین زمینهٔ سایت */
  --afa-sig-display-font: 'Vazirmatn', system-ui, sans-serif;
}
.afa-sig__langbtn { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-align: start; }
/* style.css کلِ صفحه را direction:rtl می‌کند (حتی در EN)؛ امضا طبقِ کیت با زبانِ صفحه آینه می‌شود */
html[lang="en"] .footer-sig { direction: ltr; }
@media (max-width: 768px) { .footer.footer-sig { padding-bottom: 72px; } }   /* نوارِ «مشاوره» چسبانِ پایینِ گوشی روی خطِ حقوق ننشیند */
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr; gap:48px; margin-bottom:40px; }
.footer-brand-row { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.footer-logo { height:44px; }
.footer-brand-name { font-size:1rem; font-weight:700; color:var(--gold); }
.footer-desc { color:var(--text-muted); font-size:0.88rem; line-height:1.8; margin-bottom:20px; }
.footer-social { display:flex; gap:10px; }
.social-btn {
  width:38px; height:38px; background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center;
  font-size:1rem; transition:var(--transition);
}
.social-btn:hover { background:rgba(201,168,76,0.12); border-color:var(--gold); color:var(--gold); }
.footer-col h4 { color:var(--gold); font-size:0.95rem; margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid var(--border-gold); }
.footer-links li { margin-bottom:10px; }
.footer-links a { color:var(--text-muted); font-size:0.88rem; transition:var(--transition); }
.footer-links a:hover { color:var(--gold); padding-right:6px; }
.footer-bottom {
  border-top:1px solid var(--border-gold); padding-top:22px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.footer-bottom p { color:var(--text-muted); font-size:0.82rem; }

/* ============================================
   LOGIN PAGE
============================================ */
.auth-page {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:24px; position:relative; overflow:hidden;
  background:radial-gradient(ellipse at 35% 45%, #180e00 0%, #0D0D0D 50%, #050505 100%);
}
.auth-page::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,0.03) 1px, transparent 1px);
  background-size:55px 55px;
}
.auth-card {
  position:relative; z-index:1;
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-xl); padding:48px 44px; width:100%; max-width:460px;
  box-shadow:var(--shadow-lg), 0 0 80px rgba(201,168,76,0.06);
}
.auth-logo { text-align:center; margin-bottom:32px; }
.auth-logo img, .auth-logo .sc-logo { width:78px; margin:0 auto 12px; filter:drop-shadow(0 0 20px rgba(201,168,76,0.45)); }
.auth-logo h2 { font-size:1.35rem; color:var(--gold); }
.auth-logo p  { color:var(--text-muted); font-size:0.85rem; margin-top:4px; }
.auth-tabs {
  display:flex; background:var(--dark-4); border-radius:var(--radius);
  padding:4px; margin-bottom:28px; gap:4px;
}
.auth-tab {
  flex:1; padding:11px; text-align:center; border-radius:var(--radius-sm);
  cursor:pointer; font-size:0.9rem; font-weight:500; transition:var(--transition);
  color:var(--text-muted); background:transparent; border:none;
  font-family:'Vazirmatn',sans-serif;
}
.auth-tab.active { background:var(--gold-gradient); color:#000; font-weight:700; }
.auth-pane { display:none; }
.auth-pane.active { display:block; }
.auth-error {
  display:none; background:rgba(231,76,60,0.1); border:1px solid rgba(231,76,60,0.3);
  color:var(--danger); padding:12px 16px; border-radius:var(--radius-sm);
  font-size:0.875rem; margin-bottom:14px; text-align:center;
}
.auth-error.show { display:block; }
.auth-back { text-align:center; margin-top:22px; color:var(--text-muted); font-size:0.875rem; }
.auth-back a { color:var(--gold); }

/* ============================================
   DASHBOARD LAYOUT
============================================ */
.dash-layout { display:flex; min-height:100vh; }

/* --- Sidebar --- */
.sidebar {
  width:272px; flex-shrink:0; background:var(--dark-2);
  border-left:1px solid var(--border-gold);
  position:fixed; right:0; top:0; height:100vh; z-index:200;
  display:flex; flex-direction:column; transition:transform 0.3s ease;
}
.sidebar-head {
  padding:20px 22px; border-bottom:1px solid var(--border-gold);
  display:flex; align-items:center; gap:11px;
}
.sidebar-head-logo { height:42px; filter:drop-shadow(0 0 8px rgba(201,168,76,0.3)); }
.sidebar-head-brand .name   { font-size:0.95rem; font-weight:700; color:var(--gold); }
.sidebar-head-brand .tagline{ font-size:0.62rem; color:var(--text-muted); }
.sidebar-profile {
  padding:18px 22px; border-bottom:1px solid var(--border-gold);
  display:flex; align-items:center; gap:12px;
}
.profile-ava {
  width:44px; height:44px; border-radius:50%;
  background:rgba(201,168,76,0.12); border:2px solid var(--gold);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0;
}
.profile-info .pname { font-size:0.95rem; font-weight:600; }
.profile-info .ptype { display:inline-flex; align-items:center; gap:4px; padding:2px 9px; border-radius:50px; font-size:0.75rem; font-weight:700; margin-top:3px; }
.type-vip { background:rgba(201,168,76,0.12); border:1px solid rgba(201,168,76,0.4); color:var(--gold); }
.type-cip { background:rgba(52,152,219,0.12); border:1px solid rgba(52,152,219,0.4); color:var(--info); }
.sidebar-nav { flex:1; padding:14px 12px; overflow-y:auto; }
.nav-cat { font-size:0.75rem; color:var(--text-muted); padding:10px 12px 6px; }
.nav-btn {
  display:flex; align-items:center; gap:12px; padding:11px 15px;
  border-radius:var(--radius); color:var(--text-secondary); cursor:pointer;
  transition:var(--transition); font-size:0.92rem; margin-bottom:3px;
  border:none; background:transparent; font-family:'Vazirmatn',sans-serif;
  width:100%; text-align:right;
}
.nav-btn .nicon { font-size:1rem; width:20px; text-align:center; }
.nav-btn:hover { background:rgba(201,168,76,0.07); color:var(--gold-light); }
.nav-btn.active { background:rgba(201,168,76,0.1); color:var(--gold); border:1px solid rgba(201,168,76,0.2); font-weight:600; }
.sidebar-foot { padding:14px 12px; border-top:1px solid var(--border-gold); }

/* --- Main Content --- */
.dash-main { flex:1; min-width:0; margin-right:272px; display:flex; flex-direction:column; }
.dash-topbar {
  background:var(--dark-2); border-bottom:1px solid var(--border-gold);
  padding:18px 30px; display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:100; backdrop-filter:blur(10px);
}
.topbar-title { font-size:1.25rem; font-weight:700; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.dash-body { padding:28px 30px; flex:1; }

/* --- Dash Cards Grid --- */
.dash-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px; margin-bottom:28px; }
.dash-card {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:22px; transition:var(--transition);
}
.dash-card:hover { border-color:var(--gold); box-shadow:var(--shadow-gold); }
.dc-icon {
  width:46px; height:46px; border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; margin-bottom:14px;
  background:rgba(201,168,76,0.1); border:1px solid var(--border-gold);
}
.dc-value { font-size:1.75rem; font-weight:800; color:var(--gold); line-height:1; margin-bottom:5px; }
.dc-label { color:var(--text-muted); font-size:0.82rem; }

/* --- Section Card --- */
.section-card {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:26px; margin-bottom:22px;
}
.section-card-title {
  font-size:1rem; font-weight:700; color:var(--gold);
  margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--border-gold);
  display:flex; align-items:center; gap:9px;
}

/* --- Phase Steps --- */
.phase-wrap { position:relative; }
.phase-wrap::before {
  content:''; position:absolute; right:19px; top:30px; bottom:30px;
  width:2px; background:linear-gradient(to bottom, var(--gold), rgba(201,168,76,0.1));
}
.phase-item { display:flex; align-items:flex-start; gap:14px; padding:12px; border-radius:var(--radius); transition:var(--transition); }
.phase-item:hover { background:rgba(201,168,76,0.04); }
.phase-dot {
  width:40px; height:40px; border-radius:50%; flex-shrink:0; z-index:1;
  background:var(--dark-3); border:2px solid var(--dark-5);
  display:flex; align-items:center; justify-content:center;
  font-size:0.8rem; font-weight:700; color:var(--text-muted); transition:var(--transition);
}
.phase-item.done .phase-dot   { border-color:var(--success); color:var(--success); background:rgba(46,204,113,0.1); }
.phase-item.active .phase-dot { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.12); box-shadow:0 0 15px rgba(201,168,76,0.35); animation:dotPulse 2s infinite; }
@keyframes dotPulse { 0%,100%{box-shadow:0 0 12px rgba(201,168,76,0.3);}50%{box-shadow:0 0 25px rgba(201,168,76,0.6);} }
.phase-text .p-name { font-size:0.92rem; font-weight:600; margin-bottom:3px; }
.phase-item.done .p-name   { color:var(--success); }
.phase-item.active .p-name { color:var(--gold); }
.phase-text .p-desc { font-size:0.8rem; color:var(--text-muted); }
.phase-badge { margin-right:auto; font-size:0.75rem; padding:3px 9px; border-radius:50px; }

/* --- Exam Card --- */
.exam-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
.exam-card {
  background:var(--dark-4); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:20px; transition:var(--transition);
}
.exam-card:hover { border-color:var(--gold); box-shadow:var(--shadow-gold); }
.exam-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:11px; }
.exam-icon { font-size:1.5rem; }
.exam-card h4 { font-size:0.92rem; margin-bottom:5px; }
.exam-card p  { color:var(--text-muted); font-size:0.78rem; margin-bottom:13px; }

/* --- Channel Card --- */
.channel-item {
  background:var(--dark-4); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:18px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin-bottom:11px; transition:var(--transition);
}
.channel-item:hover { border-color:var(--gold); box-shadow:var(--shadow-gold); }
.channel-left { display:flex; align-items:center; gap:13px; }
.channel-ico {
  width:42px; height:42px; border-radius:var(--radius);
  background:rgba(0,136,204,0.12); border:1px solid rgba(0,136,204,0.3);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0;
}
.channel-name { font-size:0.95rem; font-weight:600; margin-bottom:3px; }
.channel-desc { font-size:0.78rem; color:var(--text-muted); }

/* --- Countdown --- */
.countdown-box {
  background:linear-gradient(135deg, var(--dark-3), rgba(201,168,76,0.04));
  border:1px solid var(--gold); border-radius:var(--radius-lg);
  padding:24px; text-align:center; margin-bottom:22px;
}
.countdown-label { color:var(--text-secondary); font-size:0.88rem; margin-bottom:16px; }
.countdown-blocks { display:flex; justify-content:center; gap:10px; }
.cd-block { background:var(--dark-4); border:1px solid var(--border-gold); border-radius:var(--radius); padding:13px 18px; min-width:68px; }
.cd-num { font-size:1.9rem; font-weight:800; color:var(--gold); line-height:1; }
.cd-unit{ font-size:0.75rem; color:var(--text-muted); margin-top:4px; }

/* --- Payment Card --- */
.pay-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 0; border-bottom:1px solid rgba(201,168,76,0.05);
}
.pay-row:last-child { border-bottom:none; }
.pay-row .pl { color:var(--text-muted); font-size:0.88rem; }
.pay-row .pv { font-weight:600; font-size:0.95rem; }
.pv-green  { color:var(--success); }
.pv-red    { color:var(--danger); }
.pv-gold   { color:var(--gold); }

/* --- Profile Header --- */
.profile-header-card {
  background:linear-gradient(135deg, var(--dark-3), rgba(201,168,76,0.04));
  border:1px solid var(--border-gold); border-radius:var(--radius-lg);
  padding:28px; display:flex; align-items:center; gap:22px; margin-bottom:22px;
}
.ph-avatar {
  width:76px; height:76px; background:rgba(201,168,76,0.12);
  border:2px solid var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:1.9rem; flex-shrink:0;
}
.ph-name { font-size:1.35rem; font-weight:700; margin-bottom:5px; }
.ph-sub  { color:var(--text-muted); font-size:0.88rem; margin-bottom:10px; }
.info-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:13px; }
.info-card {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius); padding:15px;
}
.ic-label { color:var(--text-muted); font-size:0.75rem; margin-bottom:5px; }
.ic-value { font-weight:600; font-size:0.95rem; }

/* ============================================
   ADMIN PANEL
============================================ */
.admin-layout { display:flex; min-height:100vh; }
.admin-sidebar {
  width:256px; flex-shrink:0; background:var(--dark-2);
  border-left:1px solid var(--border-gold);
  position:fixed; right:0; top:0; height:100vh; z-index:200;
  display:flex; flex-direction:column; transition:transform 0.3s ease;
}
.admin-head {
  padding:20px 22px; border-bottom:1px solid var(--border-gold);
  background:linear-gradient(135deg, rgba(201,168,76,0.08), transparent);
}
.admin-head-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.admin-head-logo { height:40px; filter:drop-shadow(0 0 8px rgba(201,168,76,0.3)); }
.admin-lbl {
  background:var(--gold-gradient); color:#000;
  padding:3px 11px; border-radius:50px; font-size:0.75rem; font-weight:800; letter-spacing:1px;
}
.admin-head-name { font-size:0.85rem; color:var(--text-muted); }
/* min-width:0 حیاتی است: آیتم فلکس پیش‌فرض min-width:auto دارد و کوچک‌تر از محتوایش
   (جدول‌های min-width:640) نمی‌شود ⇒ کل صفحه در موبایل پهن و زوم‌اوت می‌شد. */
.admin-main { flex:1; min-width:0; margin-right:256px; display:flex; flex-direction:column; }

/* Admin Stats */
.admin-stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:26px; }
.astat {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:20px 22px;
  display:flex; align-items:center; gap:14px; transition:var(--transition);
}
.astat:hover { box-shadow:var(--shadow-gold); border-color:var(--gold); }
.astat-icon {
  width:48px; height:48px; border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.astat-gold   { background:rgba(201,168,76,0.12); color:var(--gold); }
.astat-blue   { background:rgba(52,152,219,0.12);  color:var(--info); }
.astat-green  { background:rgba(46,204,113,0.12);  color:var(--success); }
.astat-purple { background:rgba(155,89,182,0.12);  color:#9B59B6; }
.astat-val { font-size:1.75rem; font-weight:800; color:var(--text-primary); line-height:1; }
.astat-label { font-size:0.78rem; color:var(--text-muted); margin-top:4px; }

/* Table */
.table-wrap {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); overflow-x:auto; overflow-y:hidden;   /* پیش‌تر hidden: ستونِ آخرِ جدولِ پهن بریده و دست‌نیافتنی می‌شد */
}
.table-top {
  padding:18px 22px; border-bottom:1px solid var(--border-gold);
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  background:var(--dark-2);
}
.table-ttl { font-size:1rem; font-weight:600; }
.search-inp {
  display:flex; align-items:center; gap:9px;
  background:var(--dark-4); border:1px solid var(--dark-5);
  border-radius:var(--radius); padding:9px 15px; min-width:230px;
  transition:var(--transition);
}
.search-inp:focus-within { border-color:var(--gold); }
.search-inp input { background:transparent; border:none; outline:none; color:var(--text-primary); font-family:'Vazirmatn',sans-serif; font-size:0.88rem; width:100%; direction:rtl; }
.search-inp input::placeholder { color:var(--text-muted); }
.data-table { width:100%; border-collapse:collapse; font-size:0.88rem; }
.data-table thead tr { background:var(--dark-2); border-bottom:1px solid var(--border-gold); }
.data-table thead th { padding:13px 18px; text-align:right; color:var(--gold); font-weight:600; white-space:nowrap; font-size:0.82rem; }
.data-table tbody tr { border-bottom:1px solid rgba(201,168,76,0.04); transition:var(--transition); }
.data-table tbody tr:hover { background:rgba(201,168,76,0.03); }
.data-table tbody td { padding:13px 18px; color:var(--text-secondary); vertical-align:middle; }
.data-table tbody td:first-child { color:var(--text-primary); font-weight:500; }
.data-table .no-data { text-align:center; padding:50px; color:var(--text-muted); font-size:0.9rem; }
.act-btns { display:flex; gap:6px; }
.act-btn {
  width:30px; height:30px; border-radius:var(--radius-sm); border:none;
  cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.85rem; transition:var(--transition);
}
.act-edit   { background:rgba(201,168,76,0.1); color:var(--gold); }
.act-edit:hover { background:rgba(201,168,76,0.22); }
.act-view   { background:rgba(52,152,219,0.1); color:var(--info); }
.act-view:hover { background:rgba(52,152,219,0.22); }
.act-delete { background:rgba(231,76,60,0.1); color:var(--danger); }
.act-delete:hover { background:rgba(231,76,60,0.22); }

/* Modal */
.modal-bg {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.82);
  z-index:800; backdrop-filter:blur(10px); align-items:center; justify-content:center; padding:20px;
}
.modal-bg.open { display:flex; }
.modal {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-xl); padding:36px; width:100%; max-width:660px;
  max-height:92vh; overflow-y:auto; box-shadow:var(--shadow-lg);
  animation:modalSlideIn 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes modalSlideIn {
  from { opacity:0; transform:scale(0.88) translateY(20px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}
.modal-head {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:26px; padding-bottom:18px; border-bottom:1px solid var(--border-gold);
}
.modal-ttl { font-size:1.15rem; color:var(--gold); display:flex; align-items:center; gap:9px; }
.modal-x {
  width:34px; height:34px; background:var(--dark-4); border:1px solid var(--dark-5);
  border-radius:var(--radius-sm); cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:var(--text-muted); transition:var(--transition);
}
.modal-x:hover { background:rgba(231,76,60,0.12); color:var(--danger); border-color:var(--danger); }
.modal-foot {
  display:flex; gap:10px; justify-content:flex-end;
  margin-top:26px; padding-top:18px; border-top:1px solid var(--border-gold);
}
.form-2col { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-full  { grid-column:1/-1; }

/* Settings */
.settings-block {
  background:var(--dark-3); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:26px; margin-bottom:18px;
}
.settings-block-title {
  font-size:0.95rem; font-weight:600; color:var(--gold);
  margin-bottom:22px; padding-bottom:12px; border-bottom:1px solid var(--border-gold);
  display:flex; align-items:center; gap:8px;
}

/* Tab System */
.tab-bar { display:flex; gap:4px; background:var(--dark-3); border:1px solid var(--border-gold); border-radius:var(--radius); padding:4px; margin-bottom:22px; overflow-x:auto; }
.tab-btn { flex-shrink:0; padding:9px 18px; border-radius:var(--radius-sm); border:none; background:transparent; color:var(--text-muted); font-family:'Vazirmatn',sans-serif; font-size:0.88rem; cursor:pointer; transition:var(--transition); white-space:nowrap; }
.tab-btn.active { background:var(--gold-gradient); color:#000; font-weight:700; }
.tab-pane { display:none; }
.tab-pane.active { display:block; }

/* Section Header */
.sec-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; gap:10px; }
.sec-hd h2 { font-size:1.15rem; display:flex; align-items:center; gap:8px; }

/* Mobile Toggle */
.mob-toggle {
  display:none; position:fixed; bottom:22px; left:22px;
  width:48px; height:48px; background:var(--gold-gradient);
  border:none; border-radius:50%; cursor:pointer; z-index:300;
  align-items:center; justify-content:center; font-size:1.3rem;
  box-shadow:var(--shadow-gold-lg);
}

/* Fade Animation */
.fade-in { opacity:0; transform:translateY(18px); transition:opacity 0.6s ease, transform 0.6s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* ============================================
   RESPONSIVE
============================================ */
@media (max-width:1100px) {
  .benefits-grid { grid-template-columns:repeat(2,1fr); }
  .markets-grid  { grid-template-columns:repeat(2,1fr); }
  .stats-grid    { grid-template-columns:repeat(2,1fr); }
  .admin-stats-row { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .sidebar { transform:translateX(100%); }
  .sidebar.open { transform:translateX(0); }
  .dash-main { margin-right:0; }
  .admin-sidebar { transform:translateX(100%); }
  .admin-sidebar.open { transform:translateX(0); }
  .admin-main { margin-right:0; }
  .mob-toggle { display:flex; }
  .dash-topbar, .dash-body { padding-left:16px; padding-right:16px; }
}
@media (max-width:640px) {
  .benefits-grid { grid-template-columns:1fr; }
  .markets-grid  { grid-template-columns:repeat(2,1fr); }
  .stats-grid    { grid-template-columns:repeat(2,1fr); }
  .footer-grid   { grid-template-columns:1fr; }
  .admin-stats-row { grid-template-columns:repeat(2,1fr); }
  .form-2col     { grid-template-columns:1fr; }
  .auth-card     { padding:32px 24px; }
  .hero-actions  { flex-direction:column; align-items:center; }
  .dash-cards    { grid-template-columns:repeat(2,1fr); }
  .exam-grid     { grid-template-columns:1fr; }
  .countdown-blocks { gap:6px; }
  .cd-block      { padding:11px 12px; min-width:58px; }
}
@media (max-width:420px) {
  .stats-grid { grid-template-columns:1fr; }
  /* دوستونه بمانند: چهار عددِ ساده نباید یک صفحهٔ کاملِ گوشی را بگیرند (بازنگری UI/UX) */
  .dash-cards { grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:20px; }
  .dash-card { padding:14px; }
  .dash-card .dc-icon { width:36px; height:36px; font-size:1rem; margin-bottom:10px; }
  .dash-card .dc-value { font-size:1.15rem; line-height:1.35; }
  .admin-stats-row { grid-template-columns:repeat(2,1fr); gap:10px; }
}

/* ============================================
   SESSION CALENDAR — تقویم رومیزی شمسی
============================================ */
.cal-card {
  position:relative;
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(201,168,76,0.08), transparent 60%),
    linear-gradient(165deg, var(--dark-2), var(--dark-3));
  border:1px solid var(--border-gold); border-radius:18px;
  padding:30px 22px 20px; margin-top:16px; margin-bottom:18px;
  box-shadow:0 16px 46px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.03);
}
/* شیرازهٔ تقویم رومیزی (حلقه‌های بالای کارت) */
.cal-card::before {
  content:''; position:absolute; top:10px; left:34px; right:34px; height:9px;
  background-image:radial-gradient(circle at center, rgba(201,168,76,0.85) 0 3px, transparent 3.6px);
  background-size:32px 9px; background-repeat:repeat-x; opacity:0.65;
}
.cal-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.cal-title-row { display:flex; align-items:center; gap:12px; }
.cal-cal-icon { font-size:1.7rem; filter:drop-shadow(0 2px 6px rgba(201,168,76,0.4)); }
.cal-title { font-weight:800; font-size:1.1rem; color:var(--gold); letter-spacing:0.2px; }
.cal-period { font-size:0.92rem; font-weight:700; color:var(--text-primary); margin-top:3px; }
.cal-views { display:flex; gap:3px; background:var(--dark-4); border:1px solid var(--dark-5); border-radius:11px; padding:3px; }
.cal-vbtn { border:none; background:transparent; color:var(--text-muted); font-family:'Vazirmatn',sans-serif; font-size:0.82rem; padding:7px 15px; border-radius:8px; cursor:pointer; transition:var(--transition); white-space:nowrap; }
.cal-vbtn:hover { color:var(--text-primary); }
.cal-vbtn.active { background:var(--gold-gradient); color:#1a1206; font-weight:700; box-shadow:0 3px 10px rgba(201,168,76,0.35); }
.cal-nav { display:flex; align-items:center; gap:6px; }
.cal-navbtn { width:36px; height:36px; border-radius:10px; border:1px solid var(--dark-5); background:var(--dark-4); color:var(--text-secondary); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--transition); }
.cal-navbtn:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.08); }
.cal-today { border:1px solid var(--border-gold); background:rgba(201,168,76,0.08); color:var(--gold); font-family:'Vazirmatn',sans-serif; font-weight:600; font-size:0.8rem; padding:8px 16px; border-radius:10px; cursor:pointer; transition:var(--transition); }
.cal-today:hover { background:rgba(201,168,76,0.18); }

/* Month grid */
.cal-grid { display:flex; flex-direction:column; }
.cal-wdrow { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; margin-bottom:8px; }
.cal-wd { text-align:center; font-size:0.76rem; font-weight:800; color:var(--gold); padding:9px 0; background:var(--dark-2); border:1px solid var(--dark-5); border-radius:9px; }
.cal-wd-fri { color:#ff8fa3; }
.cal-cells { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; }
.cal-cell { min-height:96px; background:linear-gradient(160deg,var(--dark-4),var(--dark-3)); border:1px solid var(--dark-5); border-radius:11px; padding:8px; cursor:pointer; transition:var(--transition); display:flex; flex-direction:column; }
.cal-cell.cal-empty { background:transparent; border:none; cursor:default; min-height:0; box-shadow:none; }
.cal-cell:not(.cal-empty):hover { border-color:var(--gold); transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,0.35); }
.cal-cell.cal-fri { background:linear-gradient(160deg,rgba(255,77,109,0.05),var(--dark-3)); }
.cal-cell.cal-has { border-color:rgba(201,168,76,0.32); }
.cal-cell.cal-today-cell { border-color:var(--gold); box-shadow:0 0 0 1.5px var(--gold), 0 8px 20px rgba(201,168,76,0.2); background:linear-gradient(160deg,rgba(201,168,76,0.1),var(--dark-3)); }
.cal-daynum { display:flex; align-items:center; gap:5px; font-size:0.92rem; font-weight:800; color:var(--text-primary); }
.cal-today-cell .cal-daynum { color:var(--gold); }
.cal-todaytag { font-size:0.56rem; background:var(--gold-gradient); color:#1a1206; border-radius:6px; padding:1px 6px; font-weight:800; }
.cal-evs { display:flex; flex-direction:column; gap:3px; margin-top:6px; }
.cal-evchip { display:flex; align-items:center; gap:4px; font-size:0.6875rem; background:var(--dark-2); border-right:3px solid var(--c,var(--gold)); border-radius:5px; padding:3px 6px; line-height:1.4; overflow:hidden; white-space:nowrap; }
.cal-evchip b { color:var(--c,var(--gold)); font-variant-numeric:tabular-nums; flex-shrink:0; }
.cal-evchip span { color:var(--text-secondary); overflow:hidden; text-overflow:ellipsis; }
.cal-evmore { font-size:0.6875rem; color:var(--text-muted); padding-right:4px; }
.cal-dots { display:none; flex-wrap:wrap; align-items:center; gap:3px; margin-top:auto; }
.cal-dot { width:7px; height:7px; border-radius:50%; display:inline-block; }
.cal-dcnt { font-size:0.6875rem; color:var(--text-muted); margin-right:2px; }

/* Week view */
.cal-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.cal-wcol { background:var(--dark-4); border:1px solid var(--dark-5); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.cal-wcol.cal-today-cell { border-color:var(--gold); }
.cal-wcol-h { background:var(--dark-2); padding:7px 6px; text-align:center; font-size:0.74rem; font-weight:700; color:var(--gold); display:flex; flex-direction:column; gap:2px; }
.cal-wcol-h span { color:var(--text-muted); font-weight:400; font-size:0.6875rem; }
.cal-wcol-b { padding:7px 6px; display:flex; flex-direction:column; gap:5px; min-height:90px; cursor:pointer; }
.cal-ev { font-size:0.6875rem; background:var(--dark-3); border-right:3px solid var(--gold); border-radius:6px; padding:5px 7px; line-height:1.4; color:var(--text-secondary); }
.cal-ev b { color:var(--text-primary); }
.cal-empty-mini { color:var(--text-muted); text-align:center; font-size:0.8rem; opacity:0.4; margin:auto; }

/* Day view */
.cal-daylist { display:flex; flex-direction:column; gap:9px; }
.cal-dayrow { display:flex; align-items:center; gap:13px; background:var(--dark-4); border:1px solid var(--dark-5); border-right:3px solid var(--gold); border-radius:11px; padding:12px 15px; flex-wrap:wrap; }
.cal-dayrow-time { font-size:1.05rem; font-weight:800; color:var(--gold); min-width:54px; font-variant-numeric:tabular-nums; }
.cal-dayrow-main { flex:1; min-width:140px; }
.cal-dayrow-name { font-weight:700; font-size:0.92rem; }
.cal-mt { font-size:0.6875rem; color:var(--text-muted); background:var(--dark-2); padding:1px 7px; border-radius:8px; }
.cal-dayrow-meta { font-size:0.72rem; color:var(--text-muted); }
.cal-dayrow-note { font-size:0.76rem; color:var(--text-secondary); margin-top:3px; }
.cal-tag { font-size:0.72rem; border-radius:20px; padding:3px 11px; white-space:nowrap; }
.cal-day-empty { text-align:center; padding:42px 16px; color:var(--text-muted); }
.cal-addbtn { border:1px solid var(--border-gold); background:rgba(201,168,76,0.1); color:var(--gold); font-family:'Vazirmatn',sans-serif; font-weight:700; font-size:0.82rem; padding:9px 18px; border-radius:10px; cursor:pointer; transition:var(--transition); display:inline-flex; align-items:center; gap:7px; }
.cal-addbtn:hover { background:var(--gold-gradient); color:#1a1206; box-shadow:0 4px 14px rgba(201,168,76,0.3); }

/* Year view */
.cal-year { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.cal-ymonth { background:var(--dark-4); border:1px solid var(--dark-5); border-radius:12px; padding:12px; }
.cal-ymonth-h { font-size:0.85rem; font-weight:700; color:var(--gold); margin-bottom:9px; cursor:pointer; display:flex; align-items:center; gap:7px; }
.cal-ymonth-h:hover { text-decoration:underline; }
.cal-ymonth-h span { font-size:0.6875rem; color:#000; background:var(--gold); border-radius:10px; padding:1px 7px; font-weight:700; }
.cal-ygrid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.cal-ywd { text-align:center; font-size:0.6875rem; color:var(--text-muted); padding-bottom:2px; }
.cal-ycell { aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:0.6875rem; color:var(--text-secondary); border-radius:5px; cursor:pointer; transition:var(--transition); }
.cal-ycell.cal-yempty { cursor:default; }
.cal-ycell.cal-yhas { background:rgba(0,208,132,0.22); color:#fff; font-weight:700; }
.cal-ycell.cal-ytoday { box-shadow:inset 0 0 0 1.5px var(--gold); color:var(--gold); }
.cal-ycell:not(.cal-yempty):hover { background:rgba(201,168,76,0.25); }

.cal-legend { display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; padding-top:13px; border-top:1px solid var(--dark-5); font-size:0.74rem; color:var(--text-muted); }
.cal-legend span { display:flex; align-items:center; gap:6px; }

/* ============================================
   SESSION HOURS CARD (کارت ساعت جلسات — با reveal ارزش دلاری روی hover)
============================================ */
.hours-card {
  position:relative; overflow:hidden; cursor:default;
  border-radius:16px; margin-bottom:22px; min-height:104px;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(201,168,76,0.16), transparent 55%),
    linear-gradient(135deg, #15110a, var(--dark-3));
  border:1px solid var(--border-gold);
  box-shadow:0 10px 34px rgba(0,0,0,0.32);
  transition:box-shadow .35s, transform .35s;
}
.hours-card:hover { box-shadow:0 16px 44px rgba(201,168,76,0.18); transform:translateY(-2px); }
.hours-face { display:flex; align-items:center; gap:18px; padding:20px 24px; }
.hours-icon {
  width:58px; height:58px; flex-shrink:0; border-radius:16px;
  background:linear-gradient(135deg,#9A7A2E,#E8C96B); color:#1a1206;
  display:flex; align-items:center; justify-content:center; font-size:1.7rem;
  box-shadow:0 6px 18px rgba(201,168,76,0.4);
}
.hours-main { flex:1; }
.hours-num { font-size:2.3rem; font-weight:900; color:var(--gold); line-height:1; letter-spacing:0.5px; }
.hours-num .hours-h { font-size:1rem; font-weight:700; color:var(--text-secondary); margin-right:4px; }
.hours-unit { font-size:0.82rem; color:var(--text-muted); margin-top:5px; }
.hours-sessions {
  font-size:0.75rem; color:var(--gold); background:rgba(201,168,76,0.1);
  border:1px solid var(--border-gold); border-radius:20px; padding:5px 13px; white-space:nowrap; align-self:flex-start;
}
.hours-hint {
  position:absolute; bottom:8px; left:14px; font-size:0.75rem; color:var(--text-muted);
  opacity:0.7; display:flex; align-items:center; gap:5px; transition:opacity .3s;
}
.hours-card:hover .hours-hint { opacity:0; }
/* پرده‌ی ارزش دلاری که از پایین بالا می‌آید (بدون نیاز به کلیک) */
.hours-reveal {
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:linear-gradient(135deg, rgba(0,208,132,0.16), rgba(201,168,76,0.12)), var(--dark-2);
  transform:translateY(101%); transition:transform .5s cubic-bezier(.22,1,.36,1);
  text-align:center; padding:14px;
}
.hours-card:hover .hours-reveal { transform:translateY(0); }
.hours-reveal-label { font-size:0.8rem; color:#00d084; font-weight:700; }
.hours-value { font-size:2.4rem; font-weight:900; color:#fff; line-height:1; font-variant-numeric:tabular-nums; text-shadow:0 2px 12px rgba(0,208,132,0.4); }
.hours-reveal-note { font-size:0.75rem; color:var(--text-muted); }
@media (max-width:480px){
  .hours-face { gap:13px; padding:16px; }
  .hours-icon { width:48px; height:48px; font-size:1.4rem; }
  .hours-num { font-size:1.9rem; }
  .hours-value { font-size:2rem; }
}

/* ============================================
   MOBILE POLISH (ریسپانسیو موبایل)
============================================ */
@media (max-width:768px) {
  /* tables scroll horizontally instead of clipping */
  .table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .table-wrap .data-table { min-width:640px; }
  .data-table thead th, .data-table tbody td { padding:11px 12px; }
  /* modals: full-width, centered, internal scroll (always fully visible) */
  .modal-bg { padding:12px; align-items:center; }
  .modal { padding:20px 16px; max-width:100%; max-height:90vh; border-radius:16px; }
  .modal-head { margin-bottom:18px; padding-bottom:14px; }
  .modal-foot { flex-direction:column-reverse; gap:8px; }
  .modal-foot .btn { width:100%; }
  /* calendar — on phones show compact dots instead of full event chips */
  .cal-card { padding:22px 12px 14px; }
  .cal-toolbar { gap:10px; }
  .cal-views, .cal-nav { flex:1 1 auto; justify-content:center; }
  .cal-wdrow, .cal-cells { gap:5px; }
  .cal-cell { min-height:62px; padding:5px 6px; }
  .cal-evs { display:none; }
  .cal-dots { display:flex; margin-top:auto; }
  .cal-week { grid-template-columns:repeat(7,minmax(120px,1fr)); overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .cal-year { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
  /* settings + section paddings */
  .settings-block { padding:18px 15px; }
  /* keep content from underflowing the fixed mobile toggle */
  .dash-body { padding-bottom:90px; }
}
@media (max-width:480px) {
  .cal-views .cal-vbtn { padding:6px 9px; font-size:0.76rem; }
  .cal-title { font-size:0.95rem; }
  .cal-wdrow, .cal-cells { gap:4px; }
  .cal-wd { font-size:0.6875rem; padding:6px 0; }
  .cal-cell { min-height:54px; border-radius:8px; }
  .cal-daynum { font-size:0.8rem; }
  .cal-dot { width:6px; height:6px; }
  .cal-year { grid-template-columns:1fr 1fr; }
  .cal-dayrow-time { min-width:46px; font-size:0.95rem; }
  /* dashboard cards single/again handled; tighten hero/section text */
  .table-top { flex-direction:column; align-items:stretch; }
  .search-inp { min-width:0; width:100%; }
}

/* ================================================
   فاز ۱ — بخش‌های جدید صفحهٔ اصلی (Founder / FAQ / Testimonials)
   محتوا از پنل «مدیریت سایت» می‌آید؛ تا پر نشود این بخش‌ها مخفی‌اند
================================================ */

/* ---- Founder ---- */
.founder-section { padding: 90px 0; background: var(--dark-2); }
.founder-card {
  display: flex; gap: 36px; align-items: flex-start;
  max-width: 900px; margin: 0 auto;
  background: var(--dark-3);
  border: 1px solid var(--border-gold);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: var(--shadow-md);
}
.founder-photo {
  flex-shrink: 0; width: 220px; height: 220px;
  border-radius: var(--radius-lg); overflow: hidden;
  border: 2px solid var(--border-gold-hover);
  box-shadow: var(--shadow-gold);
}
.founder-photo img { width: 100%; height: 100%; object-fit: cover; }
.founder-info { flex: 1; min-width: 0; }
.founder-name { font-size: 1.5rem; font-weight: 800; color: var(--text-primary); margin-bottom: 4px; }
.founder-title { color: var(--gold); font-weight: 700; font-size: 0.95rem; }
.founder-subtitle { color: var(--text-muted); font-size: 0.85rem; margin-bottom: 14px; direction: ltr; text-align: right; }
.founder-bio { color: var(--text-secondary); line-height: 1.9; font-size: 0.95rem; margin-bottom: 16px; }
.founder-points { display: grid; gap: 8px; margin-bottom: 16px; }
.founder-points li { display: flex; align-items: center; gap: 10px; color: var(--text-secondary); font-size: 0.9rem; }
.founder-points li i { color: var(--gold); }
.founder-socials { display: flex; gap: 10px; }
@media (max-width: 700px) {
  .founder-card { flex-direction: column; align-items: center; text-align: center; padding: 24px; }
  .founder-photo { width: 160px; height: 160px; }
  .founder-subtitle { text-align: center; }
  .founder-points li { justify-content: center; }
  .founder-socials { justify-content: center; }
}

/* ---- Testimonials ---- */
.testimonials-section { padding: 90px 0; background: var(--dark-1); }
.testimonials-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px; max-width: 1000px; margin: 0 auto;
}
.testimonial-card {
  background: var(--dark-3);
  border: 1px solid var(--dark-5);
  border-radius: var(--radius-lg);
  padding: 26px;
  display: flex; flex-direction: column; gap: 18px;
  transition: var(--transition);
}
.testimonial-card:hover { border-color: var(--border-gold-hover); box-shadow: var(--shadow-gold); transform: translateY(-3px); }
.testimonial-text { color: var(--text-secondary); line-height: 1.9; font-size: 0.92rem; flex: 1; }
.testimonial-text::before { content: '\201D'; color: var(--gold); font-size: 1.6rem; line-height: 0; margin-left: 6px; }
.testimonial-footer { display: flex; align-items: center; gap: 12px; }
.testimonial-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 1.5px solid var(--border-gold-hover); }
.testimonial-name { font-weight: 700; color: var(--gold); font-size: 0.9rem; }

/* ---- FAQ ---- */
.faq-section { padding: 90px 0; background: var(--dark-2); }
.faq-list { max-width: 760px; margin: 0 auto; display: grid; gap: 12px; }
.faq-item {
  background: var(--dark-3);
  border: 1px solid var(--dark-5);
  border-radius: var(--radius);
  overflow: hidden;
  transition: var(--transition);
}
.faq-item[open] { border-color: var(--border-gold-hover); box-shadow: var(--shadow-gold); }
.faq-q {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 18px 20px;
  font-weight: 700; color: var(--text-primary); font-size: 0.95rem;
  user-select: none;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-chev { color: var(--gold); font-size: 0.8rem; transition: transform 0.3s; flex-shrink: 0; }
.faq-item[open] .faq-chev { transform: rotate(180deg); }
.faq-a { padding: 0 20px 18px; color: var(--text-secondary); line-height: 1.9; font-size: 0.9rem; }

/* ================================================
   فاز ۲ — زبان طراحی Premium
================================================ */

/* ---- آیکون‌های SVG طلایی (جایگزین ایموجی) ---- */
.sc-icon {
  width: 26px; height: 26px;
  color: var(--gold);
  filter: drop-shadow(0 0 7px rgba(201,168,76,0.35));
  flex-shrink: 0;
}
.benefit-icon .sc-icon { width: 27px; height: 27px; }
.timeline-dot .sc-icon { width: 23px; height: 23px; }
.timeline-item.active .timeline-dot .sc-icon { color: var(--gold-light); }
.market-icon {
  display: flex !important;
  justify-content: center;
  margin-bottom: 16px;
}
.sc-icon-lg { width: 46px; height: 46px; }
.cta3-icon { display: flex; align-items: center; }
.cta3-icon .sc-icon { width: 26px; height: 26px; }
.cta3-consult .cta3-icon .sc-icon { color: #141005; filter: none; }
.cta3-login   .cta3-icon .sc-icon { color: #d9d9d9; filter: none; }
.market-card:hover .sc-icon { color: var(--gold-light); filter: drop-shadow(0 0 12px rgba(201,168,76,0.55)); }

/* ---- هیرو: بوم «شبکه هوش مالی» ---- */
.hero-net { position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-content { position:relative; z-index:2; }
.home-premium .particles { display:none; }   /* ذرات قدیمی → جایگزین با شبکه canvas */

/* ---- بک‌گراند داینامیک سراسری (فقط صفحهٔ اصلی) ---- */
body.home-premium::before {
  content:''; position:fixed; inset:-22%;
  background:
    radial-gradient(36% 28% at 16% 20%, rgba(201,168,76,0.075), transparent 62%),
    radial-gradient(30% 26% at 84% 72%, rgba(154,122,46,0.065), transparent 62%),
    radial-gradient(24% 20% at 60% 10%, rgba(232,201,107,0.04), transparent 60%);
  z-index:-2; pointer-events:none;
  animation: scAmbient 48s ease-in-out infinite alternate;
  will-change: transform;
}
body.home-premium::after {
  content:''; position:fixed; inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,0.022) 1px, transparent 1px);
  background-size: 46px 46px;
  z-index:-1; pointer-events:none;
  -webkit-mask-image: radial-gradient(80% 65% at 50% 38%, #000 25%, transparent 100%);
  mask-image: radial-gradient(80% 65% at 50% 38%, #000 25%, transparent 100%);
}
@keyframes scAmbient {
  from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
  to   { transform: translate3d(1.5%, 2%, 0) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  body.home-premium::before { animation: none; }
}

/* سکشن‌های مات → نیمه‌شفاف تا عمق و نور پس‌زمینه در اسکرول دیده شود */
.home-premium .stats-bar           { background: rgba(17,17,17,0.72); backdrop-filter: blur(3px); }
.home-premium .journey-section     { background: rgba(17,17,17,0.55); }
.home-premium .cta-section         { background: rgba(17,17,17,0.55); }
.home-premium .founder-section     { background: rgba(17,17,17,0.55); }
.home-premium .faq-section         { background: rgba(17,17,17,0.55); }
.home-premium .testimonials-section{ background: rgba(10,10,10,0.35); }
.home-premium .footer              { background: rgba(5,5,5,0.82); }

/* ---- ناوبری کامل (فاز ۲) ---- */
.navbar-menu { display:flex; align-items:center; gap:4px; }
.navbar-menu a {
  position:relative; padding:8px 13px; border-radius:8px;
  font-size:0.86rem; color:var(--text-secondary); font-weight:500;
  transition:var(--transition-fast);
}
.navbar-menu a:hover { color:var(--gold-light); background:rgba(201,168,76,0.07); }
.navbar-menu a.active { color:var(--gold); }
.navbar-menu a.active::after {
  content:''; position:absolute; right:13px; left:13px; bottom:3px; height:2px;
  border-radius:2px; background:var(--gold-gradient-h);
}
.navbar-burger {
  display:none; width:42px; height:42px; border-radius:10px;
  background:rgba(201,168,76,0.08); border:1px solid var(--border-gold);
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
  transition:var(--transition-fast);
}
.navbar-burger span {
  display:block; width:18px; height:2px; border-radius:2px;
  background:var(--gold); transition:var(--transition-fast);
}
.navbar-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.navbar-burger.open span:nth-child(2) { opacity:0; }
.navbar-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* منوی کامل در یک خط ~۱۰۷۰px (فارسی) و ~۱۱۳۱px (انگلیسی) جا می‌خواهد؛ پیش‌تر تا ۱۰۲۳px کشویی بود و
   بین ۱۰۲۴ تا ۱۱۳۰ منو دو خط می‌شد و لوگوی هیرو رویش می‌افتاد. حالا تا ۱۱۸۰px کشویی است. */
@media (max-width: 1180px) {
  .navbar-menu {
    position:absolute; top:calc(100% + 8px); right:16px; left:16px;
    flex-direction:column; align-items:stretch; gap:2px; padding:12px;
    background:rgba(10,10,10,0.92);
    backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
    border:1px solid var(--border-gold); border-radius:16px;
    box-shadow:var(--shadow-lg);
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
  }
  .navbar-menu.open { opacity:1; visibility:visible; transform:translateY(0); }
  .navbar-menu a { padding:13px 16px; font-size:0.95rem; text-align:right; }
  .navbar-menu a.active::after { display:none; }
  .navbar-menu a.active { background:rgba(201,168,76,0.1); }
  .navbar-burger { display:flex; }
}
@media (max-width: 1023px) {
  /* روی موبایل دکمهٔ مشاوره جا نمی‌شود — فقط ورود + برگر (بین ۱۰۲۴ و ۱۱۸۰ جا دارد و می‌ماند) */
  .navbar-actions .btn-gold { display:none; }
}

/* ---- فاز ۲: جلای شیشه‌ای و تایپوگرافی (فقط صفحهٔ اصلی) ---- */
.home-premium .stat-num {
  font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #F5E08A 0%, #C9A84C 60%, #9A7A2E 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 12px rgba(201,168,76,0.25));
}
.home-premium .benefit-card,
.home-premium .market-card {
  background: rgba(24,24,24,0.66);
  backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
}
.home-premium .benefit-card:hover,
.home-premium .market-card:hover {
  background: rgba(28,26,18,0.78);
}
.home-premium .timeline-body {
  background: rgba(24,24,24,0.7);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.home-premium .founder-card,
.home-premium .testimonial-card,
.home-premium .faq-item {
  background: rgba(24,24,24,0.68);
  backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
}
/* خط بالای کارت مزایا هنگام hover — امضای طلایی ظریف */
.home-premium .benefit-card::after {
  content:''; position:absolute; top:0; right:12%; left:12%; height:1.5px;
  background: var(--gold-gradient-h);
  opacity:0; transition: opacity 0.35s;
}
.home-premium .benefit-card:hover::after { opacity:0.85; }
/* هیرو: زیرعنوان لاتین با فاصله‌گذاری لوکس */
.home-premium .hero-subtitle { letter-spacing: 5px; text-transform: uppercase; font-size: 0.82rem; }
/* تیکر: اعداد جدولی */
.ticker-price, .ticker-change { font-variant-numeric: tabular-nums; }

/* ---- تایپوگرافی: جلوگیری از کلمهٔ یتیم (تک‌کلمه در خط آخر) ----
   balance: تعادل طول خطوط در تیترها و متن‌های کوتاهِ وسط‌چین
   pretty:  جلوگیری از تک‌کلمهٔ انتهایی در پاراگراف‌های بلند
   مرورگرهای قدیمی این را نادیده می‌گیرند (بدون عارضه) */
.section-title h2,
.section-title p,
.hero h1,
.hero-desc,
.slide-title,
.slide-desc,
.benefit-card h3,
.market-card h3,
.timeline-body h3,
.cta-note,
.founder-name,
.faq-q {
  text-wrap: balance;
}
.benefit-card p,
.market-card p,
.timeline-body p,
.faq-a,
.testimonial-text,
.founder-bio,
.footer-desc,
.slide-desc {
  text-wrap: pretty;
}

/* ================================================================
   برنامه‌ریز مدیریتی (پنل ادمین — تقویم تسک‌ها)
   ================================================================ */
.pl-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.pl-views { display:flex; background:var(--dark-3); border:1px solid var(--border-gold); border-radius:10px; overflow:hidden; }
.pl-vbtn { background:none; border:none; color:var(--text-muted); padding:8px 18px; cursor:pointer; font-family:inherit; font-size:0.82rem; transition:all 0.2s; }
.pl-vbtn.active { background:rgba(201,168,76,0.16); color:var(--gold); font-weight:700; }
.pl-nav { display:flex; align-items:center; gap:8px; }
.pl-title { font-weight:800; font-size:1.02rem; color:var(--gold); margin-right:6px; min-width:150px; }
.pl-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.pl-chip { background:var(--dark-3); border:1px solid var(--dark-5); color:var(--text-secondary); border-radius:20px; padding:5px 14px; font-size:0.76rem; cursor:pointer; font-family:inherit; transition:all 0.2s; }
.pl-chip.active { border-color:var(--c); color:var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); font-weight:700; }
.pl-wdrow { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:6px; text-align:center; font-size:0.75rem; color:var(--text-muted); font-weight:700; }
.pl-wdrow .fri { color:#ff6b9d; }
.pl-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.pl-cell { background:var(--dark-3); border:1px solid var(--dark-5); border-radius:10px; min-height:92px; padding:6px; cursor:pointer; transition:border-color 0.2s; overflow:hidden; }
.pl-cell:hover { border-color:var(--border-gold); }
.pl-cell.empty { background:transparent; border:none; cursor:default; }
.pl-cell.today { border-color:var(--gold); box-shadow:0 0 0 1px rgba(201,168,76,0.4); }
.pl-cell.fri .pl-cell-num { color:#ff6b9d; }
.pl-cell-num { font-size:0.78rem; font-weight:700; color:var(--text-secondary); margin-bottom:4px; }
.pl-cell.today .pl-cell-num { color:var(--gold); }
.pl-tchip { background:color-mix(in srgb, var(--c) 14%, var(--dark-4)); border-right:3px solid var(--c); border-radius:6px; padding:2px 7px; font-size:0.6875rem; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; color:var(--text-secondary); }
.pl-tchip b { font-size:0.6875rem; color:var(--c); }
.pl-tchip.done { opacity:0.45; text-decoration:line-through; }
.pl-more { font-size:0.6875rem; color:var(--text-muted); }
.pl-week { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; align-items:start; }
.pl-wcol { background:var(--dark-3); border:1px solid var(--dark-5); border-radius:10px; padding:8px; min-height:160px; }
.pl-wcol.today { border-color:var(--gold); }
.pl-whead { text-align:center; font-size:0.75rem; color:var(--text-muted); border-bottom:1px solid var(--dark-5); padding-bottom:7px; margin-bottom:8px; cursor:pointer; line-height:1.7; }
.pl-wcol.today .pl-whead { color:var(--gold); }
.pl-wcol.fri .pl-whead { color:#ff6b9d; }
.pl-empty { text-align:center; color:var(--text-muted); opacity:0.4; font-size:0.8rem; padding:10px 0; }
/* وظیفه‌های هفتگی — عمداً شبیهِ ردیف‌های روز نیست، چون اصلاً کارِ امروز
   نیستند. کادرِ بنفشِ کم‌رنگ، ردیف‌های فشرده، بدون دکمهٔ «انجام شد» که
   با تیکِ کارهای روز اشتباه گرفته شود. */
.pl-weekly { background:rgba(138,124,255,0.06); border:1px solid rgba(138,124,255,0.28);
  border-radius:14px; padding:13px 16px; margin-bottom:16px; }
.pl-weekly-h { display:flex; align-items:center; justify-content:space-between; gap:10px;
  flex-wrap:wrap; font-weight:700; color:#8a7cff; font-size:0.88rem; }
.pl-weekly-range { font-weight:400; font-size:0.76rem; color:var(--text-muted); }
.pl-weekly-note { font-size:0.75rem; color:var(--text-muted); line-height:1.9; margin:6px 0 10px; }
.pl-wrow { display:flex; align-items:center; gap:10px; padding:8px 2px;
  border-top:1px solid rgba(138,124,255,0.16); font-size:0.82rem; cursor:pointer; }
.pl-wrow:hover .pl-wtitle { color:var(--gold); }
.pl-wdot { width:7px; height:7px; border-radius:99px; flex:none; }
.pl-wtitle { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-wcat { flex:none; font-size:0.75rem; color:var(--text-muted); }
.pl-wst { flex:none; font-size:0.75rem; min-width:76px; text-align:left; }
.pl-weekly-f { font-size:0.75rem; color:var(--text-muted); margin-top:9px;
  border-top:1px solid rgba(138,124,255,0.16); padding-top:8px; }
@media (max-width:640px){
  .pl-wcat { display:none; }
  .pl-wst { min-width:auto; }
}
.pl-drow { display:flex; align-items:center; gap:12px; background:var(--dark-3); border:1px solid var(--dark-5); border-radius:12px; padding:13px 16px; margin-bottom:9px; cursor:pointer; transition:border-color 0.2s; }
.pl-drow:hover { border-color:var(--border-gold); }
.pl-drow.done { opacity:0.55; }
.pl-drow.done .pl-dtitle { text-decoration:line-through; }
.pl-dtime { min-width:64px; text-align:center; font-size:0.8rem; font-weight:700; color:var(--gold); background:var(--dark-4); border-radius:8px; padding:6px 4px; }
.pl-dprio { width:6px; height:36px; border-radius:4px; background:var(--gold); flex-shrink:0; }
.pl-dprio.high { background:#ff4d6d; }
.pl-dprio.low { background:var(--dark-5); }
.pl-dtitle { font-weight:700; font-size:0.92rem; margin-bottom:3px; }
.pl-dmeta { font-size:0.75rem; color:var(--text-muted); }
.pl-davatars { display:flex; gap:4px; }
.pl-avatar { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:800; background:color-mix(in srgb, var(--c) 18%, var(--dark-4)); color:var(--c); border:1px solid var(--c); }
.pl-donebtn { width:32px; height:32px; border-radius:50%; border:1px solid var(--dark-5); background:var(--dark-4); color:var(--text-muted); cursor:pointer; flex-shrink:0; transition:all 0.2s; }
.pl-donebtn.on { background:rgba(0,208,132,0.18); border-color:#00d084; color:#00d084; }
.pl-empty-day { text-align:center; padding:44px; color:var(--text-muted); background:var(--dark-3); border-radius:14px; }
.pl-year { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.pl-ymonth { background:var(--dark-3); border:1px solid var(--dark-5); border-radius:12px; padding:14px; cursor:pointer; text-align:center; transition:border-color 0.2s; }
.pl-ymonth:hover { border-color:var(--border-gold); }
.pl-ymname { font-weight:800; color:var(--gold); margin-bottom:6px; }
.pl-ymcount { font-size:0.78rem; color:var(--text-secondary); margin-bottom:8px; }
.pl-ymbar { height:5px; background:var(--dark-5); border-radius:4px; overflow:hidden; }
.pl-ymbar i { display:block; height:100%; background:linear-gradient(90deg,#00d084,#C9A84C); }
.pl-ymdone { font-size:0.6875rem; color:#00d084; margin-top:5px; }
.pl-asg { display:flex; align-items:center; gap:6px; background:var(--dark-4); border:1px solid var(--dark-5); border-radius:10px; padding:7px 12px; font-size:0.78rem; cursor:pointer; }
.pl-asg:has(input:checked) { border-color:var(--c); color:var(--c); background:color-mix(in srgb, var(--c) 10%, transparent); }
.pl-asg input { accent-color:#C9A84C; }
.pl-chkrow { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
@media (max-width: 860px) {
  .pl-grid .pl-cell { min-height:64px; }
  .pl-tchip b { display:none; }
  .pl-week { grid-template-columns:1fr; }
  .pl-title { min-width:0; font-size:0.9rem; }
}

/* ================================================================
   آمار و تحلیل (پنل ادمین)
   ================================================================ */
.an-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:14px; margin-top:6px; }
.an-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.an-label { width:132px; font-size:0.76rem; color:var(--text-secondary); flex-shrink:0; }
.an-track { flex:1; height:14px; background:var(--dark-4); border-radius:5px; overflow:hidden; }
.an-track i { display:block; height:100%; background:linear-gradient(90deg, rgba(201,168,76,0.55), #C9A84C); border-radius:0 4px 4px 0; transition:width 0.5s; }
.an-val { min-width:52px; font-size:0.8rem; font-weight:700; color:var(--text-primary); text-align:left; direction:ltr; }
.an-money { background:var(--dark-4); border:1px solid var(--border-gold); border-radius:10px; padding:10px 16px; }
.an-money-val { font-weight:900; font-size:1.05rem; color:var(--gold); }
.an-money-cur { font-size:0.75rem; color:var(--text-muted); margin-top:2px; }
.an-person { display:flex; align-items:center; gap:8px; background:var(--dark-4); border-radius:9px; padding:8px 12px; margin-bottom:6px; font-size:0.8rem; }
@media (max-width:700px) { .an-label { width:96px; } }

/* تیک ویدیو توسط دانشجو — پالس جلسهٔ بعدی */
@keyframes vidpulse { 0%,100% { box-shadow:0 0 0 0 rgba(201,168,76,0.35); } 50% { box-shadow:0 0 0 5px rgba(201,168,76,0); } }

/* حالت ادمین (assistant): بخش‌های مدیر-فقط پنهان می‌شود (اجرای واقعی سمت سرور است) */
body.role-assistant .mgr-only { display: none !important; }


/* ============================================
   CIP GATE — «درخواست بررسی شرایط عضویت CIP» (داشبورد دانشجو)
============================================ */
.cip-gate {
  position:relative; overflow:hidden; margin-bottom:18px;
  background:linear-gradient(135deg, rgba(153,69,255,0.12), rgba(201,168,76,0.04));
  border:1.5px solid rgba(153,69,255,0.5); border-radius:14px; padding:20px 22px;
  transition:border-color .4s ease, background .4s ease;
}
.cip-gate.cip-approved {
  border-color:rgba(0,208,132,0.55);
  background:linear-gradient(135deg, rgba(0,208,132,0.10), rgba(201,168,76,0.05));
}
.cip-gate-glow {
  position:absolute; top:-30px; left:-30px; width:120px; height:120px; pointer-events:none;
  background:radial-gradient(circle, rgba(153,69,255,0.3), transparent 70%);
}
.cip-gate-body, .cip-result { display:flex; align-items:center; gap:14px; flex-wrap:wrap; position:relative; }
.cip-gate-crown { font-size:2rem; }
.cip-gate-title {
  font-weight:800; font-size:1.05rem;
  background:linear-gradient(90deg,#C9A84C,#9945FF);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cip-gate-sub { color:var(--text-secondary); font-size:0.86rem; line-height:1.8; margin-top:5px; }
.cip-note {
  margin-top:10px; background:var(--dark-4); border-radius:9px; padding:9px 12px;
  font-size:0.76rem; color:var(--text-muted); line-height:1.8;
}
.cip-gate-btn {
  display:inline-flex; align-items:center; gap:8px; white-space:nowrap; cursor:pointer;
  background:linear-gradient(135deg,#9945FF,#C9A84C); color:#fff; border:none;
  padding:12px 22px; border-radius:var(--radius); font-family:inherit; font-size:0.85rem; font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease; text-decoration:none;
}
.cip-gate-btn:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(153,69,255,0.35); }
.cip-gate-btn-go { background:linear-gradient(135deg,#00d084,#C9A84C); }
.cip-gate-btn-go:hover { box-shadow:0 8px 22px rgba(0,208,132,0.35); }
.cip-gate-btn-soft { background:var(--dark-4); color:var(--text-secondary); border:1px solid var(--border-gold); }
.cip-gate-btn-soft:hover { color:var(--gold); box-shadow:none; }

/* حالت «در حال بررسی» */
.cip-check { display:flex; align-items:center; gap:16px; flex-wrap:wrap; position:relative; }
.cip-spinner { position:relative; width:46px; height:46px; flex-shrink:0; }
.cip-spinner span {
  position:absolute; inset:0; border-radius:50%;
  border:2px solid transparent; border-top-color:var(--gold);
  animation:cipSpin 1.1s cubic-bezier(.5,0,.5,1) infinite;
}
.cip-spinner span:nth-child(2) { inset:6px;  border-top-color:#9945FF; animation-duration:1.5s; animation-direction:reverse; }
.cip-spinner span:nth-child(3) { inset:12px; border-top-color:#00d084; animation-duration:1.9s; }
@keyframes cipSpin { to { transform:rotate(360deg); } }
.cip-step { color:var(--text-muted); font-size:0.82rem; margin-top:6px; animation:cipFade .5s ease; }
@keyframes cipFade { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

/* نشان‌های نتیجه */
.cip-badge-ok, .cip-badge-wait {
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
  animation:cipPop .45s cubic-bezier(.2,1.6,.4,1);
}
.cip-badge-ok   { background:rgba(0,208,132,0.15); color:#00d084; border:1.5px solid rgba(0,208,132,0.5); }
.cip-badge-wait { background:rgba(201,168,76,0.12); color:var(--gold); border:1.5px solid var(--border-gold); }
@keyframes cipPop { from { transform:scale(0.4); opacity:0; } to { transform:scale(1); opacity:1; } }

@media (max-width:640px) {
  .cip-gate { padding:16px; }
  .cip-gate-btn { width:100%; justify-content:center; }
  .cip-gate-crown { font-size:1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cip-spinner span { animation-duration:3s; }
  .cip-badge-ok, .cip-badge-wait, .cip-step { animation:none; }
}

/* ── جلسات رزروشده داخل تقویم برنامه‌ریزی (فقط‌خواندنی) ────────────── */
.pl-tchip.pl-sess { border-right-style:dashed; font-weight:600; }
.pl-tchip.pl-sess.past { opacity:0.5; }
.pl-drow.pl-sessrow { cursor:pointer; border-right:3px solid #2AABEE; background:rgba(42,171,238,0.05); }
.pl-drow.pl-sessrow:hover { background:rgba(42,171,238,0.10); }
.pl-drow.pl-sessrow.past { opacity:0.6; }
.pl-sessgo { font-size:0.6875rem; color:var(--text-muted); white-space:nowrap; display:flex; align-items:center; gap:5px; }
.pl-drow.pl-sessrow:hover .pl-sessgo { color:#2AABEE; }
.pl-vbtn.pl-sesstoggle { border-color:rgba(42,171,238,0.4); }
.pl-vbtn.pl-sesstoggle.active { background:rgba(42,171,238,0.16); color:#2AABEE; border-color:#2AABEE; }

/* ── 📜 قراردادها ─────────────────────────────────────────────────── */
.ct-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.ct-head h3 { margin:0 0 4px; font-size:1.05rem; }
.ct-head p { margin:0; font-size:0.8rem; color:var(--text-muted); line-height:1.9; }
.ct-empty { text-align:center; padding:38px 18px; color:var(--text-muted); line-height:2.1; font-size:0.86rem;
  background:var(--dark-3); border:1px dashed var(--dark-5); border-radius:14px; }
.ct-empty .fas { font-size:1.6rem; color:var(--gold); margin-bottom:6px; }
.ct-card { background:var(--dark-3); border:1px solid var(--dark-5); border-radius:14px; padding:15px 18px; margin-bottom:12px; }
.ct-card-h { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.ct-name { font-weight:700; font-size:0.95rem; }
.ct-sub { font-size:0.76rem; color:var(--text-muted); margin-top:3px; }
.ct-chip { flex:none; font-size:0.75rem; padding:3px 10px; border-radius:99px; color:var(--c);
  border:1px solid var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); white-space:nowrap; }
.ct-desc { font-size:0.8rem; color:var(--text-secondary); margin:9px 0 2px; line-height:1.9; }
.ct-note { font-size:0.78rem; line-height:1.95; margin-top:9px; padding:8px 12px; border-radius:10px;
  background:var(--dark-4); color:var(--text-secondary); }
.ct-note.warn { background:rgba(255,159,67,0.1); border:1px solid rgba(255,159,67,0.35); }
.ct-note.bad { background:rgba(255,107,107,0.1); border:1px solid rgba(255,107,107,0.35); }
.ct-note.gold { background:rgba(201,162,74,0.1); border:1px solid rgba(201,162,74,0.4); }
.ct-note.ok { background:rgba(0,208,132,0.08); border:1px solid rgba(0,208,132,0.35); color:#00d084; }
.ct-ok { font-size:0.76rem; color:#00d084; margin-top:8px; }
.ct-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.ct-actions .btn[disabled] { opacity:.45; cursor:not-allowed; }
.ct-danger { color:#ff6b6b !important; }
.ct-trail { margin-top:10px; font-size:0.75rem; color:var(--text-muted); }
.ct-trail summary { cursor:pointer; }
.ct-trail div { display:flex; gap:10px; flex-wrap:wrap; padding:5px 0; border-top:1px solid var(--dark-5); }
.ct-trail div span:first-child { color:var(--text-secondary); min-width:110px; }
.ct-trail em { flex-basis:100%; font-style:normal; color:#ff9f43; }
.ct-steps { display:flex; gap:6px; flex-wrap:wrap; margin:12px 0 4px; font-size:0.75rem; }
.ct-steps span { padding:4px 10px; border-radius:99px; background:var(--dark-4); color:var(--text-muted); }
.ct-steps span.on { background:rgba(201,162,74,0.16); color:var(--gold); }
.ct-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:0 14px; margin-top:10px; }
.ct-grid .ct-wide { grid-column:1 / -1; }
.ct-hint { font-size:0.75rem; color:var(--text-muted); margin-top:5px; line-height:1.7; min-height:1em; }
.ct-hint.ok { color:#00d084; } .ct-hint.bad { color:#ff9f43; }
.ct-read { display:flex; flex-direction:column; gap:10px; margin-top:8px; padding:12px 14px;
  border-radius:12px; background:var(--dark-4); }
.ct-check { display:flex; gap:9px; align-items:flex-start; font-size:0.8rem; line-height:1.9; cursor:pointer; }
.ct-check input { margin-top:5px; accent-color:var(--gold); width:16px; height:16px; flex:none; }
.ct-sum { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:8px 16px;
  margin-top:10px; font-size:0.8rem; }
.ct-sum div { display:flex; flex-direction:column; gap:2px; }
.ct-sum span { color:var(--text-muted); font-size:0.75rem; }
.ct-sec { font-size:0.78rem; color:var(--gold); margin:10px 0 2px; font-weight:700; }
.ct-p1 { margin-top:12px; font-size:0.8rem; }
.ct-p1 summary { cursor:pointer; color:var(--text-muted); }
.cts-row { display:grid; grid-template-columns:70px 1.3fr 1fr 1fr; gap:0 10px; align-items:end;
  padding-top:10px; border-top:1px solid var(--dark-5); margin-top:10px; }
.cts-n { font-weight:700; padding-bottom:22px; }
.cts-words { grid-column:2 / -1; font-size:0.75rem; color:var(--text-secondary); margin:-8px 0 4px; line-height:1.8; }
@media (max-width:640px) {
  .cts-row { grid-template-columns:1fr; }
  .cts-n { padding-bottom:0; }
  .cts-words { grid-column:1; margin:0 0 4px; }
}

/* ============================================
   ⭐ قدم بعدی تو — بالای داشبورد دانشجو (بازنگری UI/UX، ۱۴۰۵/۰۷)
   ============================================ */
.next-card { background:linear-gradient(135deg,var(--dark-3),rgba(201,168,76,0.07)); border:1px solid var(--border-gold);
  border-radius:var(--radius-lg); padding:20px 22px; margin-bottom:22px; display:flex; flex-direction:column; gap:14px; }
.next-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.next-hi { font-size:1.15rem; font-weight:800; }
.next-phase { font-size:0.8rem; color:var(--text-muted); margin-top:2px; }
.next-session { display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:0.8rem; color:#00d084; cursor:pointer;
  background:rgba(0,208,132,0.1); border:1px solid rgba(0,208,132,0.35); border-radius:999px; padding:6px 12px; min-height:36px; }
.next-main { background:var(--dark-2); border:1px solid var(--border-gold); border-radius:14px; padding:16px;
  display:flex; flex-direction:column; gap:12px; }
.next-eyebrow { font-size:0.75rem; font-weight:800; color:var(--gold); }
.next-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.next-ic { flex:none; width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:rgba(201,168,76,0.12); color:var(--gold); font-size:1.1rem; }
.next-ic.ok { background:rgba(0,208,132,0.12); color:#00d084; }
.next-txt { min-width:0; flex:1 1 170px; }
.next-title { font-weight:800; font-size:1.02rem; line-height:1.6; }
.next-desc { font-size:0.84rem; color:var(--text-secondary); line-height:1.8; margin-top:2px; }
.next-go { flex:none; min-height:40px; display:inline-flex; align-items:center; gap:8px; }
.next-more { display:flex; flex-direction:column; gap:8px; }
.next-more-h { font-size:0.75rem; color:var(--text-muted); }
.next-mini { display:flex; align-items:center; gap:10px; width:100%; text-align:right; font:inherit; font-size:0.86rem;
  color:var(--text-primary); background:var(--dark-3); border:1px solid var(--dark-5); border-radius:10px;
  padding:10px 12px; cursor:pointer; min-height:44px; }
.next-mini > i:first-child { color:var(--gold); width:18px; text-align:center; }
.next-mini .next-chev { margin-right:auto; color:var(--text-muted); font-size:0.75rem; }
.next-mini:hover, .next-session:hover { border-color:var(--gold); }
.next-mini:focus-visible, .next-session:focus-visible, .next-go:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.next-sub { font-size:0.84rem; color:var(--text-secondary); margin-top:2px; }
.next-quote { font-size:0.82rem; color:var(--text-secondary); line-height:1.9; padding-top:12px; border-top:1px dashed rgba(201,168,76,0.25); }
.next-quote span { color:var(--text-muted); white-space:nowrap; }
@media (max-width:560px) { .next-go { flex-basis:100%; justify-content:center; } }
@media (max-width:420px) { .next-card { padding:16px; } }

/* پیشرفت کلی دوره — فشرده (بازنگری UI/UX، ۱۴۰۵/۰۷) */
.prog-card-title { flex-wrap:wrap; }
.prog-level { margin-right:auto; }
.level-chip-sm { display:inline-flex; align-items:center; gap:6px; padding:3px 12px; border:1px solid; border-radius:999px;
  font-size:0.8rem; font-weight:800; white-space:nowrap; }
.prog-overall { display:flex; align-items:center; gap:18px; padding:14px 18px; border-radius:12px;
  background:linear-gradient(135deg,rgba(201,168,76,0.08),rgba(201,168,76,0.02)); border:1px solid rgba(201,168,76,0.2); }
.prog-overall-num { flex:none; font-size:2.3rem; font-weight:900; color:var(--gold); line-height:1; }
.prog-overall-main { flex:1; min-width:0; }
.prog-formula { color:var(--text-muted); font-size:0.75rem; margin-top:12px; line-height:1.7; }
.prog-hint { font-size:0.8rem; color:var(--text-muted); line-height:1.8; margin:10px 2px 20px; }
.prog-hint:empty { display:none; }
.prog-parts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 28px; }
/* تلگرام و ژورنال: در دسکتاپ کنار هم */
.ov-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); column-gap:16px; }
@media (max-width:640px) {
  .prog-parts { grid-template-columns:1fr; gap:14px; }
  .prog-overall { gap:14px; padding:12px 14px; }
  .prog-overall-num { font-size:1.9rem; }
}
@media (max-width:420px) { .ov-links > div { padding:14px !important; } }

/* ============================================
   پنل مدیر — بازنگری UI/UX، ۱۴۰۵/۰۷
   ============================================ */
/* ستونِ «عملیات» همیشه دیده شود، حتی وقتی جدول پهن‌تر از صفحه است و افقی اسکرول می‌خورد */
.sticky-actions th:last-child, .sticky-actions td:last-child:not(.no-data) {
  position:sticky; left:0; z-index:1; background:var(--dark-3); box-shadow:10px 0 12px -12px rgba(0,0,0,0.8); }
.sticky-actions thead th:last-child { background:var(--dark-2); }

/* منوی گروه‌بندی‌شده */
.nav-group + .nav-group { margin-top:2px; }
.nav-group-h { display:flex; align-items:center; gap:8px; width:100%; background:none; border:0; cursor:pointer;
  font:inherit; font-size:0.78rem; font-weight:700; color:var(--text-muted); padding:10px 12px 6px; text-align:right; border-radius:8px; }
.nav-group-h:hover { color:var(--gold); }
.nav-group-h:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.nav-group-h .ng-chev { margin-right:auto; font-size:0.75rem; transition:transform .2s; transform:rotate(90deg); }
.nav-group.open .nav-group-h .ng-chev { transform:none; }
.nav-group-b { display:none; }
.nav-group.open .nav-group-b { display:block; }

/* 📌 نیازمند توجه امروز */
.attn { background:var(--dark-3); border:1px solid var(--border-gold); border-radius:var(--radius-lg); padding:18px 20px; margin-bottom:22px; }
.attn-h { display:flex; align-items:center; gap:10px; margin-bottom:12px; color:var(--gold); }
.attn-h h2 { font-size:1.05rem; margin:0; color:var(--text-primary); }
.attn-at { margin-right:auto; font-size:0.75rem; color:var(--text-muted); }
.attn-list { display:flex; flex-direction:column; gap:8px; }
.attn-row { --c:#5bb8ff; display:flex; align-items:center; gap:12px; background:var(--dark-2); border:1px solid var(--dark-5);
  border-right:4px solid var(--c); border-radius:12px; padding:12px 14px; }
.attn-row[data-tone="danger"] { --c:#ff6b6b; }
.attn-row[data-tone="warn"] { --c:#ff9f43; }
.attn-ic { flex:none; width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
  background:color-mix(in srgb, var(--c) 14%, transparent); color:var(--c); }
.attn-txt { flex:1; min-width:0; }
.attn-title { font-weight:700; font-size:0.92rem; }
.attn-hint { font-size:0.8rem; color:var(--text-muted); margin-top:2px; }
.attn-go { flex:none; min-height:38px; display:inline-flex; align-items:center; gap:7px; }
.attn-empty { display:flex; align-items:center; gap:10px; color:#00d084; font-weight:600; font-size:0.9rem; padding:6px 2px; }
.attn-wait { color:var(--text-muted); font-size:0.85rem; }
.attn-err { display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--text-secondary); font-size:0.85rem; }
@media (max-width:560px) { .attn-row { flex-wrap:wrap; } .attn-go { width:100%; justify-content:center; } }

/* ===== بیانیهٔ صندوق ترید Hyperliquid (js/fund-notice.js) — یک صفحهٔ رسمی، خوانا و آرام ===== */
.fund-doc { max-width:820px; margin:0 auto 22px; background:var(--dark-3); border:1px solid rgba(201,168,76,0.35);
  border-radius:18px; padding:28px 30px 24px; box-shadow:0 12px 40px rgba(0,0,0,0.35); }
.fund-head { text-align:center; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid var(--border-gold); }
.fund-kicker { display:inline-flex; align-items:center; gap:8px; font-size:0.78rem; font-weight:700; color:var(--gold);
  background:rgba(201,168,76,0.1); border:1px solid rgba(201,168,76,0.3); border-radius:999px; padding:4px 14px; }
.fund-title { font-size:1.18rem; font-weight:800; color:var(--text-primary); margin:12px 0 4px; line-height:1.7; }
.fund-meta { font-size:0.78rem; color:var(--text-muted); }
.fund-intro { font-size:0.92rem; line-height:2; color:var(--text-secondary); margin:0 0 14px; }
.fund-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.fund-list li { display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; }
.fund-n { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-size:0.8rem; font-weight:800;
  color:var(--gold); background:rgba(201,168,76,0.1); border:1px solid rgba(201,168,76,0.35); margin-top:3px; }
.fund-list p { margin:0; font-size:0.9rem; line-height:1.95; color:var(--text-secondary); text-align:justify; }
.fund-list b { color:var(--text-primary); font-weight:800; }
.fund-closing { margin:16px 0 0; font-size:0.86rem; color:var(--gold); text-align:left; }
.fund-ack { margin-top:20px; padding-top:18px; border-top:1px dashed rgba(201,168,76,0.35); display:grid; gap:12px; }
.fund-check { display:flex; gap:12px; align-items:flex-start; cursor:pointer; padding:14px 16px; border-radius:12px;
  background:rgba(201,168,76,0.06); border:1px solid rgba(201,168,76,0.3); font-weight:700; line-height:1.9; color:var(--text-primary); }
.fund-check input { width:20px; height:20px; margin-top:5px; accent-color:var(--gold); flex:none; cursor:pointer; }
.fund-btns { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.fund-btns .fund-go { min-width:190px; min-height:44px; justify-content:center; }
.fund-ack > .fund-print { justify-self:start; }
.fund-print { min-height:40px; }
.fund-go[disabled] { opacity:0.45; cursor:not-allowed; filter:grayscale(0.4); }
.fund-note { margin:0; font-size:0.78rem; color:var(--text-muted); }
.fund-done { display:flex; gap:10px; align-items:center; padding:14px 16px; border-radius:12px; font-weight:700;
  color:#2EE59D; background:rgba(0,208,132,0.08); border:1px solid rgba(0,208,132,0.35); line-height:1.8; }
.fund-err { color:#ff8fa3; font-size:0.84rem; margin:0; }
@media (max-width:560px) {
  .fund-doc { padding:20px 16px 18px; border-radius:14px; }
  .fund-title { font-size:1.05rem; }
  .fund-list li { grid-template-columns:24px 1fr; gap:10px; }
  .fund-n { width:24px; height:24px; font-size:0.75rem; }
  .fund-list p { text-align:right; }
  .fund-btns { flex-direction:column; align-items:stretch; }
  .fund-ack > .fund-print { justify-self:stretch; }
}
/* پنل مدیر: وضعیتِ تأییدها */
.fund-adm-sum { font-size:0.9rem; margin-bottom:12px; color:var(--text-secondary); }
.fund-adm-sum b { color:var(--gold); }
.fund-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.fund-chip { font-size:0.8rem; padding:5px 12px; border-radius:999px; border:1px solid; white-space:nowrap; line-height:1.6; }
.fund-chip.wait { color:#ff8fa3; border-color:rgba(255,77,109,0.4); background:rgba(255,77,109,0.08); }
.fund-chip.ok { color:#2EE59D; border-color:rgba(0,208,132,0.35); background:rgba(0,208,132,0.07); }
.fund-preview summary { cursor:pointer; color:var(--gold); font-size:0.86rem; margin-top:4px; }
.fund-preview .fund-doc { margin-top:14px; box-shadow:none; }

/* صفحهٔ ورود: جابه‌جایی بین «بخش ادمین» و «بخش دانشجویی» (login.html?as=…) */
.switch-hint { margin:0 0 14px; padding:10px 14px; border-radius:10px; font-size:0.85rem; line-height:1.8;
  color:var(--gold-light); background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.3); }
