/* v180.6.23.9 - Enterprise role polish
   Capa no destructiva para terminar de unificar admin, secretaría, dirección,
   superadmin y módulos operativos con dark enterprise/mobile-first. */

:root{
  --erp-bg:#06101e;
  --erp-panel:#0b172a;
  --erp-panel-2:#101f36;
  --erp-panel-3:#132844;
  --erp-border:rgba(148,163,184,.24);
  --erp-border-blue:rgba(96,165,250,.38);
  --erp-text:#eef6ff;
  --erp-muted:#aab9cf;
  --erp-dim:#7f91ad;
  --erp-blue:#3b82f6;
  --erp-cyan:#06b6d4;
  --erp-violet:#7c3aed;
  --erp-green:#22c55e;
  --erp-amber:#f59e0b;
  --erp-red:#ef4444;
  --erp-shadow:0 18px 44px rgba(0,0,0,.34);
}

html{background:var(--erp-bg)!important;}
body{
  background:
    radial-gradient(circle at 12% -8%,rgba(37,99,235,.18),transparent 32%),
    radial-gradient(circle at 90% 0%,rgba(124,58,237,.12),transparent 30%),
    linear-gradient(180deg,#06101e 0%,#071120 100%)!important;
  color:var(--erp-text)!important;
}

/* Root polish for remaining legacy role screens */
.admin-view,.secretaria-view,.director-view,.superadmin-view,
[class*="admin"],[class*="secretaria"],[class*="director"],[class*="superadmin"]{
  color:var(--erp-text);
}

/* Navigation chips/topbars */
.topbar,.nav,.navbar,.tabs,.area-nav,.mode-switch,.role-nav,
.admin-tabs,.secretaria-tabs,.panel-tabs,.menu-tabs{
  background:rgba(8,17,31,.78)!important;
  border:1px solid var(--erp-border)!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(10px);
}

.topbar a,.nav a,.navbar a,.tabs a,.area-nav a,.role-nav a,
.admin-tabs a,.secretaria-tabs a,.panel-tabs a,.menu-tabs a,
.topbar button,.nav button,.navbar button,.tabs button,.area-nav button{
  background:rgba(15,29,51,.88)!important;
  color:#eaf2ff!important;
  border:1px solid rgba(148,163,184,.28)!important;
  border-radius:12px!important;
  font-weight:850!important;
  text-decoration:none!important;
}

.topbar a.active,.nav a.active,.navbar a.active,.tabs a.active,.area-nav a.active,
.role-nav a.active,.admin-tabs a.active,.secretaria-tabs a.active,
.topbar button.active,.nav button.active,.tabs button.active,
.topbar a:hover,.nav a:hover,.tabs a:hover,.area-nav a:hover{
  background:linear-gradient(135deg,var(--erp-blue),var(--erp-violet))!important;
  color:#fff!important;
  border-color:rgba(191,219,254,.38)!important;
  box-shadow:0 12px 28px rgba(37,99,235,.24)!important;
}

/* Universal enterprise sections */
.hero,.page-hero,.admin-hero,.secretaria-hero,.director-hero,
.dashboard-hero,.summary-panel,.stats-panel,.metrics-panel,
.section,.section-card,.panel-card,.card,.box,.panel,.widget,.module,
.kpi-card,.metric-card,.stat-card,.report-card,.data-card,
form,.filters,.filter-card,.form-card,.create-card,.edit-card{
  background:linear-gradient(180deg,rgba(15,29,51,.94),rgba(8,17,31,.98))!important;
  color:var(--erp-text)!important;
  border:1px solid var(--erp-border)!important;
  border-radius:18px!important;
  box-shadow:var(--erp-shadow)!important;
}

.hero,.page-hero,.admin-hero,.secretaria-hero,.director-hero,.dashboard-hero{
  background:
    linear-gradient(135deg,rgba(30,64,175,.92),rgba(15,23,42,.98) 58%,rgba(8,17,31,.98))!important;
  border-color:rgba(96,165,250,.34)!important;
}

h1,h2,h3,h4,h5,h6,.title,.page-title,.section-title{
  color:#f8fbff!important;
  letter-spacing:-.015em;
}
p,.subtitle,.lead,.description,.muted,small,.help,.hint,.text-muted{
  color:var(--erp-muted)!important;
}

/* Stronger data tables for remaining screens */
.table-responsive,.table-container,.table-shell,.table-wrap,.data-table-wrap,
.listing-table,.tabla-wrap,.grid-table{
  background:linear-gradient(180deg,rgba(10,22,39,.97),rgba(7,16,30,.99))!important;
  border:1px solid var(--erp-border)!important;
  border-radius:18px!important;
  overflow:auto!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}

table,.table{
  background:transparent!important;
  color:var(--erp-text)!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
thead,thead tr,table thead,.table thead{
  background:linear-gradient(180deg,#142640,#0b172a)!important;
}
th,.table th,table th{
  background:linear-gradient(180deg,#142640,#0b172a)!important;
  color:#f8fbff!important;
  border-bottom:1px solid var(--erp-border-blue)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  font-size:12px!important;
  padding:13px 14px!important;
}
td,.table td,table td{
  background:rgba(11,23,42,.80)!important;
  color:#dbeafe!important;
  border-bottom:1px solid rgba(148,163,184,.14)!important;
  padding:13px 14px!important;
}
tr:nth-child(even) td{background:rgba(15,31,54,.80)!important;}
tr:hover td{background:rgba(37,99,235,.16)!important;color:#fff!important;}

/* Kill remaining white legacy blocks */
.bg-white,.bg-light,.table-light,.list-group-item,
.card-body,.card-header,.card-footer,
.form-control-plaintext,.dropdown-menu,.dropdown-item{
  background-color:rgba(11,23,42,.94)!important;
  color:var(--erp-text)!important;
  border-color:var(--erp-border)!important;
}

/* Forms */
input,select,textarea,.form-control,.form-select,
.input,.select,.textarea,.search-input,
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"],input[type="url"]{
  background:#0d1b2f!important;
  color:#f8fbff!important;
  border:1px solid rgba(148,163,184,.36)!important;
  border-radius:12px!important;
  min-height:42px;
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{
  background:#10213a!important;
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(59,130,246,.22)!important;
}
input::placeholder,textarea::placeholder{color:#93a4bd!important;opacity:1!important;}
select option{background:#0b172a!important;color:#f8fbff!important;}
label,.form-label{color:#cfe0f7!important;font-weight:850!important;}

/* Buttons/status */
button,.btn,a.btn,input[type="submit"],input[type="button"]{
  border-radius:12px!important;
  font-weight:900!important;
}
.btn-primary,button[type="submit"],input[type="submit"],.primary{
  background:linear-gradient(135deg,var(--erp-blue),var(--erp-violet))!important;
  color:#fff!important;
  border:1px solid rgba(147,197,253,.30)!important;
  box-shadow:0 12px 28px rgba(37,99,235,.24)!important;
}
.btn-secondary,.btn-light,.btn-outline,.btn-outline-light,.secondary{
  background:rgba(15,29,51,.94)!important;
  color:#eaf2ff!important;
  border:1px solid rgba(148,163,184,.32)!important;
}
.btn-success,.success{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;}
.btn-warning,.warning{background:linear-gradient(135deg,#d97706,#f59e0b)!important;color:#111827!important;}
.btn-danger,.danger{background:linear-gradient(135deg,#dc2626,#ef4444)!important;color:#fff!important;}
.badge,.pill,.tag,.chip,.status,.estado,[class*="badge"],[class*="pill"]{
  border-radius:999px!important;
  border:1px solid rgba(96,165,250,.30)!important;
  background:rgba(37,99,235,.16)!important;
  color:#dbeafe!important;
  font-weight:900!important;
}

/* Notifications/toasts/dropdowns */
.toast,.alert,.notice,.notification,.notification-item,.dropdown-menu{
  background:linear-gradient(180deg,rgba(15,29,51,.97),rgba(8,17,31,.99))!important;
  color:var(--erp-text)!important;
  border:1px solid var(--erp-border)!important;
  border-radius:16px!important;
  box-shadow:var(--erp-shadow)!important;
}
.alert-success{border-color:rgba(34,197,94,.36)!important;background:rgba(34,197,94,.12)!important;}
.alert-warning{border-color:rgba(245,158,11,.38)!important;background:rgba(245,158,11,.12)!important;}
.alert-danger{border-color:rgba(239,68,68,.38)!important;background:rgba(239,68,68,.12)!important;}

/* Mobile extreme: readable admin/secretaria on phones */
@media (max-width: 760px){
  body{font-size:14px!important;}
  main,.container,.container-fluid,.content,.page,.wrap{padding-left:10px!important;padding-right:10px!important;}
  .topbar,.nav,.navbar,.tabs,.area-nav,.role-nav,.admin-tabs,.secretaria-tabs{
    gap:8px!important;
    padding:10px!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;
  }
  .topbar a,.nav a,.navbar a,.tabs a,.area-nav a,.role-nav a,
  .topbar button,.nav button,.tabs button{
    min-height:38px!important;
    padding:8px 11px!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
  .hero,.page-hero,.admin-hero,.secretaria-hero,.director-hero,.dashboard-hero,
  .section,.section-card,.panel-card,.card,.box,.panel,.widget,.module,
  form,.filters,.filter-card,.form-card{
    border-radius:16px!important;
    padding:14px!important;
  }
  .grid,.row,.metrics-grid,.stats-grid,.kpi-grid,.form-grid,.filters-grid,.cards-grid{
    grid-template-columns:1fr!important;
  }
  .table-responsive,.table-container,.table-shell,.table-wrap,.data-table-wrap{
    margin-left:-2px!important;
    margin-right:-2px!important;
  }
  table,.table{min-width:680px!important;font-size:12px!important;}
  th,.table th,table th,td,.table td,table td{padding:10px 11px!important;}
  input,select,textarea,.form-control,.form-select{font-size:14px!important;min-height:44px!important;}
  .btn,button,a.btn,input[type="submit"]{min-height:40px!important;padding:9px 12px!important;}
}

@media (max-width: 460px){
  h1{font-size:24px!important;}
  h2{font-size:20px!important;}
  h3{font-size:17px!important;}
  table,.table{min-width:620px!important;}
}
