/* =========================================
   BITS Norte Theme (Opción A: Rebranding)
   - Sin cambiar lógica, solo look + contraste
   ========================================= */

:root{
  --bits-bg: #070B12;
  --bits-panel: rgba(255,255,255,.06);
  --bits-panel2: rgba(255,255,255,.04);
  --bits-text: #EAF2FF;
  --bits-muted: rgba(234,242,255,.72);
  --bits-line: rgba(255,255,255,.10);
  --bits-blue: #35B6FF;
  --bits-blue2:#3A6BFF;
  --bits-radius: 18px;
}

html, body { height:100%; }
body{
  background: radial-gradient(900px 420px at 20% -10%, rgba(53,182,255,.18), transparent 60%),
              radial-gradient(700px 420px at 80% 10%, rgba(58,107,255,.14), transparent 60%),
              var(--bits-bg);
  color: var(--bits-text);
}

/* Links */
a{ color: var(--bits-text); }
a:hover{ color: #fff; }

/* Navbar */
.navbar{
  background: linear-gradient(90deg, rgba(11,22,38,.95), rgba(16,36,61,.95));
  border-bottom: 1px solid rgba(53,182,255,.15) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.navbar .navbar-brand{
  color:#fff !important;
  font-weight:800;
  letter-spacing:.2px;
  display:flex;
  align-items:center;
  gap:10px;
}
.navbar .navbar-brand img{
  width:30px;
  height:30px;
  object-fit:contain;
}
.navbar-dark .navbar-nav .nav-link{
  color: rgba(234,242,255,.85) !important;
}
.navbar-dark .navbar-nav .nav-link:hover{
  color:#fff !important;
}

/* Dropdowns */
.dropdown-menu{
  background-color: #0f1c2e;
  border: 1px solid rgba(53,182,255,.25);
  backdrop-filter: blur(10px);
  border-radius: 14px;
}
.dropdown-item{ color: var(--bits-text); }
.dropdown-item:hover, .dropdown-item:focus{
  background-color: rgba(53,182,255,.15);
  color: #fff;
}
.dropdown-divider{ border-color: rgba(255,255,255,.10); }

/* Bootstrap text helpers */
.text-muted, .text-secondary{
  color: rgba(234,242,255,.70) !important;
}

/* Cards */
.card{
  background: var(--bits-panel);
  border: 1px solid var(--bits-line);
  border-radius: var(--bits-radius);
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
  color: var(--bits-text);
}
.card .card-title, .card h1, .card h2, .card h3, .card h4{
  color: #fff;
}

/* Buttons */
.btn-primary{
  border-color: rgba(53,182,255,.40) !important;
  background: linear-gradient(90deg, rgba(53,182,255,.25), rgba(58,107,255,.25)) !important;
}
.btn-primary:hover{
  border-color: rgba(53,182,255,.60) !important;
  filter: brightness(1.06);
}
.btn-outline-primary{
  color: var(--bits-text) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.btn-outline-primary:hover{
  background: rgba(53,182,255,.12) !important;
  border-color: rgba(53,182,255,.45) !important;
}
.btn-outline-danger{
  border-color: rgba(255,255,255,.18) !important;
}

/* Forms contrast */
label, .form-label, .form-check-label{
  color: #CFE8FF !important;
  font-weight: 600;
}
.form-control{
  color:#fff !important;
  background-color: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
.form-control::placeholder{
  color: rgba(255,255,255,0.55) !important;
}
.form-control:focus{
  border-color: rgba(53,182,255,.55) !important;
  box-shadow: 0 0 0 .2rem rgba(53,182,255,.15) !important;
}

/* KPI mini-cards (dashboard counters) */
.kpi-card, .stat-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(53,182,255,.18);
  border-radius: 14px;
}
.kpi-card .kpi-value, .stat-card .kpi-value{
  color: var(--bits-blue) !important;
  font-weight: 900;
}

/* Login card helper */
.bits-auth-wrap{
  min-height: 72vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 32px 0;
}
.bits-auth-card{
  width: min(640px, calc(100% - 24px));
  padding: 26px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(10,14,22,.70);
  backdrop-filter: blur(14px);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.bits-auth-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom: 16px;
}
.bits-auth-head img{
  width:34px;height:34px;object-fit:contain;
}
.bits-auth-head .title{
  font-weight:900;
  margin:0;
}
.bits-auth-head .sub{
  color: rgba(234,242,255,.70);
  margin:0;
  font-size: 13px;
}

/* ===== TABLAS MODO DARK ===== */

table,
.table {
    color: #EAF2FF !important;
}

    .table thead th {
        color: #FFFFFF !important;
        border-color: rgba(255,255,255,.15);
    }

    .table tbody td {
        color: #EAF2FF !important;
        border-color: rgba(255,255,255,.08);
    }

.table-hover tbody tr:hover {
    background-color: rgba(53,182,255,.08);
}

/* DataTables controles */

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
    color: #CFE8FF !important;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    background-color: rgba(255,255,255,.08);
    color: #FFFFFF;
    border: 1px solid rgba(255,255,255,.25);
}

/* Paginación */

.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: #CFE8FF !important;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: rgba(53,182,255,.25) !important;
    border-color: rgba(53,182,255,.45);
    color: #FFFFFF !important;
}

.table thead {
    background: linear-gradient(90deg, #0b1626, #10243d);
}