/* v180.6.24.0 - Admin/Secretaria hard dark override
   Capa final no destructiva para eliminar restos legacy claros en módulos admin,
   secretaría, dominios, ciclos, programas, docentes, alumnos y formularios masivos. */
:root{
  --hard-bg:#06101e;
  --hard-panel:#0b172a;
  --hard-panel2:#0f2038;
  --hard-panel3:#142844;
  --hard-line:rgba(148,163,184,.28);
  --hard-line2:rgba(96,165,250,.42);
  --hard-text:#f4f8ff;
  --hard-muted:#b9c8dd;
  --hard-soft:#dbeafe;
  --hard-blue:#3b82f6;
  --hard-violet:#7c3aed;
  --hard-green:#22c55e;
  --hard-red:#ef4444;
  --hard-shadow:0 18px 48px rgba(0,0,0,.38);
}

html,body{background:#06101e!important;color:var(--hard-text)!important;color-scheme:dark!important;}
main,.content,.page,.container,.container-fluid,.wrap,.admin-content,.secretaria-content{
  background:transparent!important;color:var(--hard-text)!important;
}

/* Legacy white-killer: common Bootstrap/custom blocks */
.bg-white,.bg-light,.text-bg-light,.table-light,.table-white,.card-light,
.list-group,.list-group-item,.modal-content,.modal-header,.modal-body,.modal-footer,
.dropdown-menu,.dropdown-item,.offcanvas,.accordion,.accordion-item,.accordion-body,
.card,.card-body,.card-header,.card-footer,.panel,.box,.section,.module,.widget,
.saas-card,.ui-card,.admin-card,.secretaria-card,.form-card,.filter-card,.table-card,
[class*="panel"],[class*="card"],[class*="box"],[class*="section"]{
  background:linear-gradient(180deg,rgba(15,29,51,.96),rgba(8,17,31,.99))!important;
  color:var(--hard-text)!important;
  border-color:var(--hard-line)!important;
}

/* Inline legacy backgrounds */
[style*="background:#fff"],[style*="background: #fff"],[style*="background:white"],[style*="background: white"],
[style*="background-color:#fff"],[style*="background-color: #fff"],[style*="background-color:white"],[style*="background-color: white"],
[style*="background:#f8"],[style*="background: #f8"],[style*="background-color:#f8"],[style*="background-color: #f8"],
[style*="background:#e"],[style*="background: #e"],[style*="background-color:#e"],[style*="background-color: #e"]{
  background:linear-gradient(180deg,rgba(15,29,51,.96),rgba(8,17,31,.99))!important;
  color:var(--hard-text)!important;
  border-color:var(--hard-line)!important;
}

/* Typography/readability */
body *{scrollbar-color:rgba(148,163,184,.55) rgba(8,17,31,.85);}
h1,h2,h3,h4,h5,h6,.title,.page-title,.section-title,strong,b,th,label{
  color:#f8fbff!important;
}
p,span,small,em,li,div,td,.muted,.text-muted,.help,.hint,.description,.subtitle{
  color:inherit;
}
.text-muted,.muted,.help,.hint,.description,.subtitle,small{color:var(--hard-muted)!important;}
a:not(.btn):not(.nav-link){color:#93c5fd!important;}

/* Forms: no more white controls */
input,select,textarea,.form-control,.form-select,.form-check-input,
.input,.select,.textarea,[contenteditable="true"]{
  background:#0d1b2f!important;
  color:#f8fbff!important;
  border:1px solid rgba(148,163,184,.40)!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
  outline:none!important;
}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select{min-height:42px!important;}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{
  background:#10213a!important;
  color:#fff!important;
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(59,130,246,.24)!important;
}
input::placeholder,textarea::placeholder{color:#9fb0c8!important;opacity:1!important;}
select option{background:#0b172a!important;color:#f8fbff!important;}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{
  -webkit-text-fill-color:#f8fbff!important;
  -webkit-box-shadow:0 0 0 1000px #0d1b2f inset!important;
  transition:background-color 9999s ease-in-out 0s!important;
}
.form-check-input:checked{background-color:#3b82f6!important;border-color:#60a5fa!important;}

/* Tables hard layer */
.table-responsive,.table-container,.table-shell,.table-wrap,.data-table-wrap,
.table-card,.listado,.listado table,.grid-table,.tabla-wrap{
  background:linear-gradient(180deg,rgba(10,22,39,.98),rgba(7,16,30,.99))!important;
  color:var(--hard-text)!important;
  border:1px solid var(--hard-line)!important;
  border-radius:18px!important;
  overflow:auto!important;
  box-shadow:var(--hard-shadow)!important;
}
table,.table,table.table{
  background:#071120!important;
  color:var(--hard-text)!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
table thead,table thead tr,.table thead,.table thead tr,
thead,thead tr{
  background:linear-gradient(180deg,#162943,#0b172a)!important;
  color:#fff!important;
}
table th,.table th,thead th{
  background:linear-gradient(180deg,#162943,#0b172a)!important;
  color:#f8fbff!important;
  border-color:rgba(96,165,250,.34)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
table tbody,table tbody tr,.table tbody,.table tbody tr{background:#0b172a!important;color:var(--hard-soft)!important;}
table td,.table td,tbody td{
  background:rgba(11,23,42,.92)!important;
  color:#e6f0ff!important;
  border-color:rgba(148,163,184,.18)!important;
}
table tr:nth-child(even) td,.table tr:nth-child(even) td{background:rgba(15,31,54,.92)!important;}
table tr:hover td,.table tr:hover td{background:rgba(37,99,235,.18)!important;color:#fff!important;}
table td *, .table td *{color:inherit!important;}
table .badge,table .pill,table .btn,table button{color:#fff!important;}

/* Buttons/chips */
button,.btn,a.btn,input[type="submit"],input[type="button"],.button,.ui-btn{
  border-radius:12px!important;
  font-weight:900!important;
  border:1px solid rgba(148,163,184,.32)!important;
}
.btn-primary,button[type="submit"],input[type="submit"],.primary,.ui-btn.primary{
  background:linear-gradient(135deg,var(--hard-blue),var(--hard-violet))!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(37,99,235,.26)!important;
}
.btn-secondary,.btn-light,.btn-outline,.secondary,.volver,.back{
  background:rgba(15,29,51,.96)!important;
  color:#eaf2ff!important;
}
.badge,.pill,.tag,.chip,.status,.estado,[class*="badge"],[class*="pill"]{
  background:rgba(37,99,235,.18)!important;
  color:#dbeafe!important;
  border:1px solid rgba(96,165,250,.34)!important;
  border-radius:999px!important;
  font-weight:900!important;
}

/* Admin page structure */
.admin-hero,.secretaria-hero,.page-hero,.hero,.summary-panel,.stats-panel,.metrics-panel{
  background:linear-gradient(135deg,rgba(30,64,175,.92),rgba(15,23,42,.98) 62%,rgba(8,17,31,.98))!important;
  color:#fff!important;
  border:1px solid rgba(96,165,250,.42)!important;
  border-radius:20px!important;
  box-shadow:var(--hard-shadow)!important;
}
.filters,.filter-row,.toolbar,.actions,.admin-toolbar,.secretaria-toolbar{
  background:rgba(8,17,31,.56)!important;
  color:var(--hard-text)!important;
  border-color:var(--hard-line)!important;
}

/* Mobile admin readability */
@media (max-width: 900px){
  main,.content,.page,.container,.container-fluid,.wrap{padding-left:10px!important;padding-right:10px!important;}
  .topbar,.nav,.navbar,.tabs,.area-nav,.role-nav,.admin-tabs,.secretaria-tabs,.panel-tabs{
    overflow-x:auto!important;flex-wrap:nowrap!important;gap:8px!important;padding:10px!important;
    -webkit-overflow-scrolling:touch;
  }
  .topbar a,.nav a,.navbar a,.tabs a,.area-nav a,.role-nav a,.admin-tabs a,.secretaria-tabs a,.panel-tabs a,
  .topbar button,.nav button,.tabs button{white-space:nowrap!important;flex:0 0 auto!important;min-height:38px!important;}
  .grid,.row,.metrics-grid,.stats-grid,.kpi-grid,.form-grid,.filters-grid,.cards-grid{grid-template-columns:1fr!important;}
  table,.table{min-width:760px!important;font-size:12px!important;}
  th,td,.table th,.table td{padding:10px 11px!important;}
  input,select,textarea,.form-control,.form-select{font-size:14px!important;min-height:44px!important;}
}
@media (max-width: 520px){
  h1{font-size:24px!important;} h2{font-size:20px!important;} h3{font-size:17px!important;}
  table,.table{min-width:680px!important;}
}
