:root{
  --bg:#0b1220; --panel:#1b2640; --panel-2:#233150;
  --stroke:rgba(96,165,250,.25); --text:#dbe7ff; --muted:#a8bddf;
  --tab:#20304f; --tab-active:#294064; --accent:#60a5fa;
  --success:#34d399; --danger:#f87171; --warning:#fbbf24;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:#0b1220;color:var(--text);
     font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}

/* Фон-бик */
body.has-bull::before{
  content:""; position:fixed; inset:0;
  background:url("/static/bull.jpg") center/cover no-repeat fixed;
  filter:contrast(105%) brightness(70%) saturate(115%); z-index:-2;
}
body.has-bull::after{
  content:""; position:fixed; inset:0;
  background: radial-gradient(60% 60% at 50% 10%, rgba(11,18,32,.18) 0%, rgba(11,18,32,.7) 55%, rgba(11,18,32,.9) 100%),
             linear-gradient(180deg, rgba(11,18,32,.25) 0%, rgba(11,18,32,.88) 100%);
  z-index:-1;
}

/* Карти/модалки */
.card,.panel,.modal{background:rgba(27,38,64,.92); border:1px solid var(--stroke);
  border-radius:16px; backdrop-filter:saturate(120%) blur(2px); box-shadow:0 20px 60px rgba(0,0,0,.45)}

/* Вкладки — світліші */
.tabs{display:flex; gap:8px; padding:0 8px 8px}
.tab{background:var(--tab); color:#eef3ff; opacity:.98; border-radius:12px 12px 0 0;
  padding:8px 14px; font-weight:700; letter-spacing:.2px; text-shadow:0 1px 0 rgba(0,0,0,.35)}
.tab.active{background:var(--tab-active); color:#fff; box-shadow:inset 0 -3px 0 0 var(--accent)}

/* Інпут/селект/кнопки */
input[type="text"],input[type="number"],input[type="password"],select,textarea{
  width:100%; color:#e9f2ff; background:#0f1a2f; border:1px solid rgba(96,165,250,.25);
  border-radius:10px; padding:10px 12px; outline:none
}
input::placeholder{color:#94a9c9} label{color:#cfe0ff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;
  border-radius:12px;border:1px solid transparent;background:#17213a;color:#e8f0ff;cursor:pointer;text-decoration:none}
.btn-primary{background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-color:#335cb3}
.btn-warning{background:linear-gradient(180deg,#f59e0b,#d97706);border-color:#c26e05}
.btn-danger{background:linear-gradient(180deg,#ef4444,#b91c1c);border-color:#a11b1b}
.btn-success{background:linear-gradient(180deg,#10b981,#047857);border-color:#0f8f6f}

/* Таблиці */
.table{width:100%; border-collapse:separate; border-spacing:0 8px}
.table th{color:#cfe0ff; font-weight:700}
.table td,.table th{padding:10px 12px; background:#111b31}
.col-signal{max-width:220px;overflow:hidden;text-overflow:ellipsis}

/* Логін по центру */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.auth-card{width:100%;max-width:560px;padding:22px 20px}
.auth-title{margin:0 0 14px;font-weight:800;font-size:clamp(18px,2.2vw,22px);letter-spacing:.5px}
.auth-sub{margin:6px 0 18px;color:var(--muted);font-size:14px}

/* Бренд-футер */
.brand-footer{position:fixed;left:0;right:0;bottom:18px;text-align:center;font-weight:900;
  font-size:clamp(28px,6vw,64px);letter-spacing:.35em;color:transparent;
  background:linear-gradient(90deg,#67e8f9,#60a5fa,#8b5cf6);-webkit-background-clip:text;background-clip:text;opacity:.28;
  user-select:none;pointer-events:none}

/* Мобілка: ховаємо колонку Signal */
@media (max-width:640px){
  .col-signal{display:none!important}
  .table td,.table th{font-size:12px;padding:8px}
  .auth-card{margin:0 auto}
}

/* Опційна заборона виділення (вмикає суперадмін) */
.no-select, .no-select *{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}
