/* v180.6.23.8 - Admin/Secretaria enterprise dark layer
   Objetivo: eliminar fondos blancos legacy, mejorar legibilidad en tablas/formularios
   y unificar experiencia admin/secretaria/directivo sin tocar lógica ni tenancy. */

:root{
  --adm-bg:#071120;
  --adm-surface:#0b1628;
  --adm-surface-2:#0f1d33;
  --adm-surface-3:#12233b;
  --adm-line:rgba(148,163,184,.26);
  --adm-line-strong:rgba(96,165,250,.38);
  --adm-text:#eaf2ff;
  --adm-muted:#a9b8cf;
  --adm-soft:#dbeafe;
  --adm-blue:#3b82f6;
  --adm-violet:#7c3aed;
  --adm-green:#22c55e;
  --adm-red:#ef4444;
  --adm-yellow:#f59e0b;
  --adm-shadow:0 18px 45px rgba(0,0,0,.28);
}

body{
  background:radial-gradient(circle at top left,rgba(37,99,235,.13),transparent 32%),linear-gradient(180deg,#071120 0%,#08111f 100%) !important;
  color:var(--adm-text) !important;
}

/* Contenedores administrativos heredados */
.admin-view,.secretaria-view,.panel-admin,.panel-secretaria,.dashboard-admin,.dashboard-secretaria,
main,.container,.container-fluid,.content,.page,.wrap,.card,.panel,.box,.panel-card,.hero-side,.kpi,.metric-card{
  color:var(--adm-text);
}

.admin-view .panel-card,.secretaria-view .panel-card,.panel-card,.card,.panel,.box,
.table-wrap,.form-card,.filters,.filter-card,.listado,.list-card,.section-card,
[class*="card"],[class*="panel"]{
  border-color:var(--adm-line) !important;
}

/* Fondos blancos legacy: tablas, filas, formularios y cards */
table,thead,tbody,tr,td,th,
.table,.table-wrap,.mobile-table-scroll,
.card,.panel,.box,.panel-card,.form-card,.filters,.filter-card,.listado,.list-card,
.bg-white,.bg-light,.table-light,.table-striped>tbody>tr:nth-of-type(odd)>*,.table-striped>tbody>tr:nth-of-type(even)>*{
  background-color:transparent !important;
  color:var(--adm-text) !important;
}

.card,.panel,.box,.panel-card,.form-card,.filters,.filter-card,.listado,.list-card,.section-card{
  background:linear-gradient(180deg,rgba(15,29,51,.96),rgba(8,17,31,.98)) !important;
  border:1px solid var(--adm-line) !important;
  box-shadow:var(--adm-shadow) !important;
  border-radius:18px !important;
}

/* Tablas enterprise */
.table-wrap,.mobile-table-scroll{
  overflow:auto !important;
  border:1px solid var(--adm-line) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(10,22,39,.96),rgba(8,17,31,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}

table,.table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  min-width:760px;
}

thead,table thead,.table thead{
  background:linear-gradient(180deg,#13243d,#0b1628) !important;
}

th,table th,.table th{
  background:linear-gradient(180deg,#13243d,#0b1628) !important;
  color:#f8fbff !important;
  border-bottom:1px solid var(--adm-line-strong) !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.025em !important;
  text-transform:uppercase !important;
  padding:13px 14px !important;
  white-space:nowrap;
}

td,table td,.table td{
  background:rgba(11,22,40,.72) !important;
  color:#dbeafe !important;
  border-bottom:1px solid rgba(148,163,184,.16) !important;
  padding:13px 14px !important;
  vertical-align:middle !important;
}

tbody tr:nth-child(even) td{background:rgba(15,29,51,.82) !important;}
tbody tr:hover td{background:rgba(37,99,235,.16) !important;color:#fff !important;}

td a,td .link,.table a{color:#93c5fd !important;text-decoration:none !important;font-weight:800;}
td a:hover,.table a:hover{color:#bfdbfe !important;text-decoration:underline !important;}

/* Formularios y filtros: sacar blanco total */
input,select,textarea,
.form-control,.form-select,.inputx,.selectx,
input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="search"],input[type="tel"]{
  background:#0d1b2f !important;
  color:#f8fbff !important;
  border:1px solid rgba(148,163,184,.36) !important;
  border-radius:12px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
  outline:none !important;
}

input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus,.inputx:focus,.selectx:focus{
  border-color:#60a5fa !important;
  box-shadow:0 0 0 3px rgba(59,130,246,.22),inset 0 1px 0 rgba(255,255,255,.04) !important;
  background:#10213a !important;
}

input::placeholder,textarea::placeholder{color:#93a4bd !important;opacity:1 !important;}
label,.form-label,.muted,small,.help,.hint{color:var(--adm-muted) !important;}

select option{background:#0b1628 !important;color:#f8fbff !important;}
input[readonly],textarea[readonly],select[disabled],input[disabled]{background:#111c2f !important;color:#cbd5e1 !important;opacity:1 !important;}

/* Botones */
.btn,button.btn,a.btn,input[type="submit"].btn,
button[type="submit"],.btn-primary{
  background:linear-gradient(135deg,var(--adm-blue),var(--adm-violet)) !important;
  color:#fff !important;
  border:1px solid rgba(147,197,253,.28) !important;
  border-radius:12px !important;
  font-weight:900 !important;
  box-shadow:0 12px 28px rgba(37,99,235,.24) !important;
}

.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,.btn-outline-light,.btn-light{
  background:rgba(15,29,51,.94) !important;
  color:#eaf2ff !important;
  border:1px solid rgba(148,163,184,.32) !important;
  border-radius:12px !important;
  font-weight:850 !important;
}

.btn-danger,.danger,button[name*="eliminar"],button[name*="borrar"]{
  background:linear-gradient(135deg,#dc2626,#ef4444) !important;
  color:#fff !important;
  border-color:rgba(248,113,113,.35) !important;
}

.btn:hover,button:hover,a.btn:hover,.btn-secondary:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
}

/* Badges y estados */
.badge,.pill,.tag,.status,.estado,
[class*="badge"],[class*="pill"]{
  background:rgba(37,99,235,.18) !important;
  color:#dbeafe !important;
  border:1px solid rgba(96,165,250,.30) !important;
  border-radius:999px !important;
  font-weight:900 !important;
}

.badge-success,.success,.activo,.ok{color:#bbf7d0 !important;border-color:rgba(34,197,94,.35) !important;background:rgba(34,197,94,.13) !important;}
.badge-warning,.warning,.pendiente{color:#fde68a !important;border-color:rgba(245,158,11,.35) !important;background:rgba(245,158,11,.13) !important;}
.badge-danger,.error,.inactivo{color:#fecaca !important;border-color:rgba(239,68,68,.35) !important;background:rgba(239,68,68,.13) !important;}

/* Modal legacy */
.modal,.modal-content,.modal-body,.modal-header,.modal-footer{
  background:#0b1628 !important;
  color:var(--adm-text) !important;
  border-color:var(--adm-line) !important;
}

/* Scrollbar dentro de listados */
.table-wrap::-webkit-scrollbar,.mobile-table-scroll::-webkit-scrollbar,tbody::-webkit-scrollbar{height:10px;width:10px;}
.table-wrap::-webkit-scrollbar-thumb,.mobile-table-scroll::-webkit-scrollbar-thumb,tbody::-webkit-scrollbar-thumb{background:#475569;border-radius:999px;}
.table-wrap::-webkit-scrollbar-track,.mobile-table-scroll::-webkit-scrollbar-track,tbody::-webkit-scrollbar-track{background:#0b1628;}

/* Mobile-first para secretaría/admin */
@media (max-width: 860px){
  body{font-size:14px;}
  main,.container,.container-fluid{padding-left:10px !important;padding-right:10px !important;}
  .admin-view,.secretaria-view{gap:12px !important;}
  .hero,.kpi-grid,.metrics-grid,.stats-grid,.create-grid,.filters-grid,.form-grid{
    grid-template-columns:1fr !important;
  }
  .card,.panel,.box,.panel-card,.form-card,.filters,.filter-card{border-radius:16px !important;padding:14px !important;}
  table,.table{min-width:720px !important;font-size:12px !important;}
  th,table th,.table th,td,table td,.table td{padding:11px 12px !important;}
  input,select,textarea,.form-control,.form-select{min-height:42px !important;font-size:14px !important;}
  .btn,button.btn,a.btn,.btn-secondary,button[type="submit"]{min-height:40px !important;padding:9px 12px !important;}
}

@media (max-width: 520px){
  table,.table{min-width:640px !important;}
  h1{font-size:24px !important;}
  h2{font-size:19px !important;}
  .hero-main{padding:18px !important;}
}
