:root,
[data-bs-theme="dark"] {
  --bs-body-bg: #0b0b0e;
  --bs-body-color: #e6eaf2;
  --bs-border-color: #23263a;
  --bs-card-bg: #121522;
  --bs-card-border-color: #23263a;
  --bs-link-color: #7ab7ff;
  --bs-primary: #6ea8fe;
  --bs-secondary: #9aa4b2;
}

/* ===== БАЗА ===== */
html, body { height: 100%; }
a { text-decoration: none; }



/* ===== Страница логина ===== */
.auth-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.auth-card { max-width: 420px; width: 100%; }

/* Поля формы — аккуратно в тёмной теме */
.form-control, .form-select {
  background-color: #0e1220;
  border-color: #2b2f47;
  color: var(--bs-body-color);
}
.form-control:focus, .form-select:focus {
  background-color: #101426;
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .2rem rgba(110,168,254,.25);
}

/* ===== Шапка/навигация (если захочешь подключить позже) ===== */
.app-header, .app-nav {
  background: #11131a;
  border-bottom: 1px solid #23263a;
}
.app-wrap { max-width: 1100px; margin: 0 auto; padding: 16px; }
.app-muted { color: #9aa4b2; }
.app-badge {
  display: inline-block; padding: 2px 8px; border-radius: 999px;
  border: 1px solid #2b2f47; background: #151a2b; font-size: 12px;
}

/* Таблицы на внутренних страницах (если понадобятся) */
.table > :not(caption) > * > * {
  border-bottom-color: #23263a;
}

/* Всплывашки (совместимы с Bootstrap alerts) */
.alert { border-radius: .6rem; }

.sidebar-sticky{position:sticky;top:72px;max-height:calc(100vh - 90px);overflow:auto;}


.btn-close { filter: invert(1); opacity:.7; }
.btn-close:hover { opacity:1; }


input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
/*input[type=number] { -moz-appearance:textfield; }*/



tr.groupsite1 { background: rgba(0,123,255,0.05); }   /* голубой 5% */
tr.groupsite2 { background: rgba(40,167,69,0.05); }   /* зелёный 5% */
tr.groupsite1:nth-child(even),
tr.groupsite2:nth-child(even) { background-color: rgba(0,0,0,0.05); }


/* Убираем перекрывающий box-shadow */
.table tr.siteGroup1 td,
.table tr.siteGroup2 td {
    box-shadow: none !important;
}

/* Цвета групп */
.table tr.siteGroup1 td {
    background-color: rgba(255, 255, 255, 0.05) !important;
}
.table tr.siteGroup2 td {
    background-color: rgba(255, 255, 255, 0.15) !important;
}

/* Подсветка выбранных */
.table tr.selected td {
    background-color: rgba(0, 123, 255, 0.3) !important;
}


/* Подсветка выбранных строк в таблице прокси */
#proxy-list tbody tr.table-active {
    background-color: rgba(0, 123, 255, 0.25) !important;  
    color: #fff !important;
}

#proxy-list tbody tr input[type="checkbox"]:checked ~ td,
#proxy-list tbody tr input[type="checkbox"]:checked {
    background-color: rgba(0, 123, 255, 0.15) !important;
}
