:root {
  --iptv-bg: #0b0f1a;
  --iptv-bg-2: #121a2e;
  --iptv-card: rgba(255, 255, 255, 0.04);
  --iptv-border: rgba(255, 255, 255, 0.09);
  --iptv-text: #f0f4fb;
  --iptv-muted: #ccc;
  --iptv-accent: #6c5ce7;
  --iptv-accent-2: #00cec9;
  --iptv-grad: linear-gradient(135deg, #6c5ce7 0%, #a29bfe 50%, #00cec9 100%);

  /* Переопределяем мрачные Bootstrap-переменные на светлые */
  --bs-body-color: #e8edf6;
  --bs-body-color-rgb: 232, 237, 246;
  --bs-secondary-color: rgba(204, 204, 204, 0.9);
  --bs-secondary-color-rgb: 204, 204, 204;
  --bs-tertiary-color: rgba(204, 204, 204, 0.7);
  --bs-secondary-bg: #1a2236;
}

/* Явный светлый цвет для утилит/меток, которые полагаются на --bs-secondary-color */
.text-muted, .text-secondary, .form-text, .form-label {
  color: #ccc !important;
}


html, body {
  background: var(--iptv-bg);
  color: var(--iptv-text);
  font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 { color: #fff !important; }
p { color: #ddd; }

a { color: var(--iptv-accent-2); }
a:hover { color: #fff; }

/* Обёртки */
.auth-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(108,92,231,.35), transparent 60%),
    radial-gradient(900px 500px at 10% 110%, rgba(0,206,201,.25), transparent 55%),
    var(--iptv-bg);
}

/* Карточки */
.card-glass {
  background: var(--iptv-card);
  border: 1px solid var(--iptv-border);
  border-radius: 1rem;
  backdrop-filter: blur(6px);
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
}
.card-glass .card-header {
  background: transparent;
  border-bottom: 1px solid var(--iptv-border);
  font-weight: 600;
}

/* Кнопки */
.btn-brand {
  background: var(--iptv-grad);
  border: none;
  color: #fff;
  font-weight: 600;
}
.btn-brand:hover { filter: brightness(1.1); color: #fff; }
.btn-outline-brand {
  border: 1px solid var(--iptv-accent-2);
  color: var(--iptv-accent-2);
}
.btn-outline-brand:hover { background: var(--iptv-accent-2); color: #062b2b; border-color: var(--iptv-accent-2); }

.bg-brand { background: var(--iptv-grad); }
.nav-pills .nav-link.active.bg-brand { color: #fff; }

/* Формы */
.form-control, .form-select {
  background: rgba(255,255,255,.05);
  border: 1px solid var(--iptv-border);
  color: var(--iptv-text);
}
.form-control:focus, .form-select:focus {
  background: rgba(255,255,255,.08);
  border-color: var(--iptv-accent-2);
  color: var(--iptv-text);
  box-shadow: 0 0 0 .2rem rgba(0,206,201,.15);
}
.form-control::placeholder { color: var(--iptv-muted); }
.form-label { color: var(--iptv-muted); font-size: .9rem; }

/* Таблицы */
.table { color: var(--iptv-text); }
.table thead th {
  color: var(--iptv-muted);
  border-color: var(--iptv-border);
  font-weight: 600;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .04em;
}
.table tbody td { border-color: var(--iptv-border); vertical-align: middle; }
.table-hover tbody tr:hover { background: rgba(255,255,255,.04); color: #fff; }

/* Навбар */
.navbar-brand { font-weight: 800; letter-spacing: .02em; }
.brand-dot { color: var(--iptv-accent-2); }
.navbar { border-bottom: 1px solid var(--iptv-border); background: rgba(11,15,26,.85); backdrop-filter: blur(8px); }
.navbar .nav-link { color: var(--iptv-muted); }
.navbar .nav-link:hover, .navbar .nav-link.active { color: #fff; }

/* Hero */
.hero {
  padding: 4.5rem 0 3.5rem;
  background:
    radial-gradient(1000px 500px at 70% 0%, rgba(108,92,231,.35), transparent 60%),
    radial-gradient(800px 400px at 10% 100%, rgba(0,206,201,.22), transparent 55%);
}
.hero h1 { font-weight: 800; font-size: 2.6rem; }
.grad-text { background: var(--iptv-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Badges/теги */
.badge-soft { padding: .45em .8em; border-radius: .6em; font-weight: 600; }

/* Статистика админки */
.stat-card { padding: 1.2rem; }
.stat-card .num { font-size: 2rem; font-weight: 800; }
.stat-card .lbl { color: var(--iptv-muted); }

/* Tab */
.nav-tabs .nav-link { color: var(--iptv-muted); border-color: transparent; }
.nav-tabs .nav-link.active { background: transparent; color: #fff; border-bottom: 2px solid var(--iptv-accent-2); }

.footer {
  border-top: 1px solid var(--iptv-border);
  color: var(--iptv-muted);
}

.mono { font-family: 'Consolas', 'Courier New', monospace; }

.brand-logo {
  width: 46px; height: 46px; border-radius: .8rem;
  background: var(--iptv-grad);
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 800; font-size: 1.2rem;
}
