/* ATENEA v171 — Core Layout Visual Stabilizer
   Capa incremental: mejora contraste, inputs dark, navegación y superficies sin tocar lógica PHP. */
:root{
  --atenea-bg:#071326;
  --atenea-bg-deep:#050b18;
  --atenea-bg-soft:#0b1730;
  --atenea-surface:#0f1d34;
  --atenea-surface-2:#14243d;
  --atenea-surface-3:#1b2d49;
  --atenea-border:rgba(148,163,184,.24);
  --atenea-border-strong:rgba(148,163,184,.38);
  --atenea-text:#f8fafc;
  --atenea-text-soft:#dbeafe;
  --atenea-muted:#b8c7dd;
  --atenea-muted-2:#8fa4bf;
  --atenea-primary:#3b82f6;
  --atenea-primary-2:#6d4cff;
  --atenea-primary-3:#8b5cf6;
  --atenea-success:#22c55e;
  --atenea-warning:#f59e0b;
  --atenea-danger:#fb7185;
  --atenea-radius:18px;
  --atenea-radius-sm:12px;
  --atenea-shadow:0 22px 60px rgba(0,0,0,.34);
  --atenea-shadow-soft:0 14px 32px rgba(0,0,0,.22);
}
html,body{
  min-height:100%;
  background:
    radial-gradient(circle at 16% 6%,rgba(59,130,246,.18),transparent 32%),
    radial-gradient(circle at 86% 14%,rgba(109,76,255,.16),transparent 34%),
    linear-gradient(135deg,var(--atenea-bg-deep),var(--atenea-bg) 48%,#0d1530) !important;
  color:var(--atenea-text) !important;
}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;}
body *{box-sizing:border-box;}
main,.page,.container,.panel-page,.admin-page,.dashboard-page{background:transparent !important;color:var(--atenea-text) !important;}
/* Login / acceso: más navy, menos celeste, inputs integrados */
body:has(.login-pro),body.login,body.auth-page,[class*="login-page"]{
  background:
    radial-gradient(circle at 22% 18%,rgba(59,130,246,.20),transparent 34%),
    linear-gradient(135deg,#061020 0%,#0b1830 52%,#12183a 100%) !important;
}
.login-pro,.auth-card,.login-card,.role-card,.login-panel{
  border:1px solid var(--atenea-border) !important;
  box-shadow:var(--atenea-shadow) !important;
}
.login-panel,.auth-panel,.role-panel{
  background:linear-gradient(180deg,rgba(15,29,52,.96),rgba(8,18,34,.96)) !important;
  color:var(--atenea-text) !important;
}
.login-panel h1,.login-panel h2,.login-panel h3,.login-panel label,.login-panel strong,
.auth-panel h1,.auth-panel h2,.auth-panel label{color:var(--atenea-text) !important;}
.login-panel p,.login-panel small,.login-panel .muted,.login-panel .help,
.auth-panel p,.auth-panel small{color:var(--atenea-muted) !important;}
.login-hero,.brand-hero,.campus-hero{
  background:linear-gradient(145deg,#255ef6 0%,#4f46e5 48%,#7c3aed 100%) !important;
  color:#fff !important;
}
.login-hero *,.brand-hero *,.campus-hero *{color:#fff !important;}
/* Inputs/selects integrados al dark theme */
input,select,textarea,.input,.form-control,.form-select,.form-input,.form-select-sm{
  background:linear-gradient(180deg,#121f36,#0f1b30) !important;
  color:var(--atenea-text) !important;
  border:1px solid var(--atenea-border-strong) !important;
  border-radius:12px !important;
  min-height:40px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
input::placeholder,textarea::placeholder{color:var(--atenea-muted-2) !important;opacity:1 !important;}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{
  outline:2px solid rgba(59,130,246,.45) !important;
  border-color:rgba(96,165,250,.72) !important;
  box-shadow:0 0 0 4px rgba(59,130,246,.14), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
option{background:#0f1b30 !important;color:#f8fafc !important;}
/* Evitar blanco lavado en paneles/cards */
.card,.panel,.box,.content-card,.admin-card,.dash-card,.metric-card,.stat-card,.kpi-card,
section[class*="card"],div[class*="card"],div[class*="panel"]{
  background:linear-gradient(180deg,rgba(17,31,54,.96),rgba(11,23,42,.96)) !important;
  border:1px solid var(--atenea-border) !important;
  border-radius:var(--atenea-radius) !important;
  color:var(--atenea-text) !important;
  box-shadow:var(--atenea-shadow-soft) !important;
}
/* Cards de contenido internas algo más suaves */
.card .card,.panel .card,.box .box,.content-card .content-card{
  background:linear-gradient(180deg,rgba(20,36,61,.92),rgba(14,27,48,.92)) !important;
  box-shadow:none !important;
}
/* Navegación superior y botones */
.topbar,.navbar,.smart-nav-card,.role-nav,.admin-nav,.panel-nav{
  background:linear-gradient(180deg,rgba(13,24,43,.96),rgba(8,18,34,.96)) !important;
  border:1px solid var(--atenea-border) !important;
  color:var(--atenea-text) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24) !important;
}
.topbar a,.navbar a,.smart-nav-card a,.role-nav a,.admin-nav a,.panel-nav a{
  color:var(--atenea-text-soft) !important;
  background:rgba(15,23,42,.72) !important;
  border:1px solid rgba(148,163,184,.28) !important;
}
.topbar a:hover,.navbar a:hover,.smart-nav-card a:hover,.role-nav a:hover,.admin-nav a:hover,.panel-nav a:hover{
  color:#fff !important;background:rgba(59,130,246,.22) !important;border-color:rgba(96,165,250,.55) !important;
}
.topbar a.active,.navbar a.active,.smart-nav-card a.active,.role-nav a.active,.admin-nav a.active,.panel-nav a.active,
.nav-link.active,.active>a{
  background:linear-gradient(135deg,var(--atenea-primary),var(--atenea-primary-3)) !important;
  color:#fff !important;border-color:rgba(255,255,255,.18) !important;
}
/* Cerrar sesión siempre legible */
a[href*="logout"],a[href$="/logout"],button[name*="logout"],.logout,.btn-logout{
  color:#f8fafc !important;
  background:rgba(15,23,42,.88) !important;
  border:1px solid rgba(148,163,184,.38) !important;
  opacity:1 !important;
  text-shadow:none !important;
}
a[href*="logout"]:hover,a[href$="/logout"]:hover,button[name*="logout"]:hover,.logout:hover,.btn-logout:hover{
  background:rgba(251,113,133,.16) !important;
  border-color:rgba(251,113,133,.5) !important;
  color:#fff !important;
}
button,.btn,.button,input[type="submit"]{
  border-radius:12px !important;
  font-weight:700 !important;
}
.btn-primary,.button-primary,button[type="submit"],input[type="submit"]{
  background:linear-gradient(135deg,var(--atenea-primary),var(--atenea-primary-3)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 10px 22px rgba(59,130,246,.25) !important;
}
.btn-secondary,.btn-light,.btn-outline,.button-secondary{
  background:rgba(15,23,42,.82) !important;color:var(--atenea-text-soft) !important;border:1px solid var(--atenea-border-strong) !important;
}
button:disabled,.btn:disabled,.disabled{opacity:.55 !important;color:#cbd5e1 !important;background:rgba(30,41,59,.58) !important;}
/* Textos: nunca más celeste claro ilegible */
h1,h2,h3,h4,h5,h6,.title,.page-title,.section-title{color:var(--atenea-text) !important;letter-spacing:-.02em;}
p,li,td,th,label,small,.muted,.text-muted,.help,.hint,.subtitle,.description{
  color:var(--atenea-muted) !important;
}
strong,b,.fw-bold{color:var(--atenea-text) !important;}
.text-info,.text-primary,.link-info{color:#93c5fd !important;}
a{color:#bfdbfe;} a:hover{color:#fff;}
/* Tablas SaaS */
table,.table{
  color:var(--atenea-text) !important;
  background:rgba(8,18,34,.5) !important;
  border-color:var(--atenea-border) !important;
}
thead,thead tr,table th,.table th{
  background:#0b1426 !important;
  color:#eaf2ff !important;
  border-color:var(--atenea-border) !important;
}
tbody tr,table td,.table td{border-color:rgba(148,163,184,.16) !important;color:#edf4ff !important;}
tbody tr:hover{background:rgba(59,130,246,.08) !important;}
.table-responsive{border-radius:16px;overflow:auto;border:1px solid var(--atenea-border);}
/* Badges semánticos */
.badge,.pill,.tag,.chip{border-radius:999px !important;font-weight:800 !important;border:1px solid rgba(255,255,255,.10) !important;}
.badge-success,.badge.active,.estado-activa,.chip-success{background:rgba(34,197,94,.18) !important;color:#86efac !important;}
.badge-warning,.chip-warning{background:rgba(245,158,11,.18) !important;color:#fbbf24 !important;}
.badge-danger,.chip-danger{background:rgba(251,113,133,.18) !important;color:#fda4af !important;}
/* Sidebar si existe */
.sidebar,.side-nav,.app-sidebar,.layout-sidebar{
  background:linear-gradient(180deg,#061020,#081a31) !important;
  border-right:1px solid var(--atenea-border) !important;
  color:var(--atenea-text) !important;
}
.sidebar a,.side-nav a,.app-sidebar a,.layout-sidebar a{color:var(--atenea-text-soft) !important;}
.sidebar a.active,.side-nav a.active,.app-sidebar a.active,.layout-sidebar a.active{
  background:linear-gradient(135deg,var(--atenea-primary),var(--atenea-primary-3)) !important;color:#fff !important;
}
/* Ficha alumno / transferencia */
.academic-transfer,.transfer-card,[class*="transferencia"],[class*="asignacion-academica"]{
  background:linear-gradient(180deg,rgba(20,36,61,.96),rgba(13,24,43,.96)) !important;
  border:1px solid var(--atenea-border) !important;
  color:var(--atenea-text) !important;
}
/* Mobile */
@media (max-width: 768px){
  body{font-size:14px;}
  .card,.panel,.box,.content-card,.admin-card,.dash-card{border-radius:16px !important;}
  input,select,textarea,.btn,button{min-height:44px;}
  .topbar,.navbar,.smart-nav-card{border-radius:0 0 18px 18px !important;}
  table{min-width:720px;}
}
