/* ATENEA v174 — Unified Experience REAL
   Capa incremental no destructiva: unifica contraste, superficies, navegación, tablas,
   formularios y mobile sin modificar lógica académica ni tenancy. */
:root{
  --ate-bg-0:#050b18;
  --ate-bg-1:#071326;
  --ate-bg-2:#0b1730;
  --ate-surface:#0f1d34;
  --ate-surface-2:#14243d;
  --ate-surface-3:#1b2d49;
  --ate-elevated:rgba(15,29,52,.96);
  --ate-border:rgba(148,163,184,.24);
  --ate-border-strong:rgba(147,197,253,.38);
  --ate-text:#f8fafc;
  --ate-text-2:#eaf2ff;
  --ate-muted:#cbd5e1;
  --ate-muted-2:#9fb0c9;
  --ate-primary:#3b82f6;
  --ate-primary-2:#6d4cff;
  --ate-primary-3:#8b5cf6;
  --ate-success:#22c55e;
  --ate-warning:#f59e0b;
  --ate-danger:#fb7185;
  --ate-info:#38bdf8;
  --ate-radius:18px;
  --ate-radius-sm:12px;
  --ate-shadow:0 22px 60px rgba(0,0,0,.34);
  --ate-shadow-soft:0 14px 32px rgba(0,0,0,.22);
  --text:var(--ate-text);
  --text-muted:var(--ate-muted);
  --surface:var(--ate-surface);
  --border:var(--ate-border);
}
html,body{
  min-height:100%;
  background:
    radial-gradient(circle at 18% 8%,rgba(59,130,246,.18),transparent 32%),
    radial-gradient(circle at 88% 12%,rgba(109,76,255,.16),transparent 34%),
    linear-gradient(135deg,var(--ate-bg-0),var(--ate-bg-1) 48%,#0d1530) !important;
  color:var(--ate-text) !important;
}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;}
body *{box-sizing:border-box;}
main,.container,.page,.panel-page,.admin-page,.dashboard-page,.content,.wrapper{
  background:transparent !important;
  color:var(--ate-text) !important;
}
/* Login / selector de rol */
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,.auth-panel,.role-panel{
  background:linear-gradient(180deg,rgba(15,29,52,.97),rgba(8,18,34,.97)) !important;
  border:1px solid var(--ate-border) !important;
  box-shadow:var(--ate-shadow) !important;
  color:var(--ate-text) !important;
}
.login-pro h1,.login-pro h2,.login-pro h3,.login-pro label,
.login-panel h1,.login-panel h2,.login-panel h3,.login-panel label,.auth-panel h1,.auth-panel h2,.auth-panel label{
  color:var(--ate-text) !important;
}
.login-pro p,.login-pro small,.login-pro .muted,.login-panel p,.login-panel small,.login-panel .muted,.auth-panel p,.auth-panel small{
  color:var(--ate-muted) !important;
  opacity:1 !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;}
/* Layout global */
.topbar,.navbar,.smart-nav-card,.role-nav,.admin-nav,.panel-nav,.ate-topbar{
  background:linear-gradient(180deg,rgba(13,24,43,.97),rgba(8,18,34,.97)) !important;
  border:1px solid var(--ate-border) !important;
  color:var(--ate-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,.ate-topbar a{
  color:var(--ate-text-2) !important;
  background:rgba(15,23,42,.72) !important;
  border:1px solid rgba(148,163,184,.28) !important;
  text-decoration:none !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,.mode-btn.active{
  background:linear-gradient(135deg,var(--ate-primary),var(--ate-primary-3)) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
}
.sidebar,.side-nav,.app-sidebar,.layout-sidebar,.ate-sidebar{
  background:linear-gradient(180deg,#061020,#081a31) !important;
  border-right:1px solid var(--ate-border) !important;
  color:var(--ate-text) !important;
}
.sidebar a,.side-nav a,.app-sidebar a,.layout-sidebar a,.ate-sidebar a{color:var(--ate-text-2) !important;text-decoration:none !important;}
.sidebar a.active,.side-nav a.active,.app-sidebar a.active,.layout-sidebar a.active,.ate-sidebar a.active{
  background:linear-gradient(135deg,var(--ate-primary),var(--ate-primary-3)) !important;
  color:#fff !important;
}
/* Superficies / cards */
.card,.panel,.box,.content-card,.admin-card,.dash-card,.metric-card,.stat-card,.kpi-card,.module-card,
section[class*="card"],div[class*="card"],div[class*="panel"],article[class*="card"]{
  background:linear-gradient(180deg,rgba(17,31,54,.96),rgba(11,23,42,.96)) !important;
  border:1px solid var(--ate-border) !important;
  border-radius:var(--ate-radius) !important;
  color:var(--ate-text) !important;
  box-shadow:var(--ate-shadow-soft) !important;
}
.card .card,.panel .card,.box .box,.content-card .content-card,.dash-card .card{
  background:linear-gradient(180deg,rgba(20,36,61,.92),rgba(14,27,48,.92)) !important;
  box-shadow:none !important;
}
/* Tipografía y links */
h1,h2,h3,h4,h5,h6,.title,.page-title,.section-title{color:var(--ate-text) !important;letter-spacing:-.02em;}
p,li,td,th,label,small,.muted,.text-muted,.help,.hint,.subtitle,.description,.small{
  color:var(--ate-muted) !important;
  opacity:1 !important;
}
strong,b,.fw-bold{color:var(--ate-text) !important;}
.text-info,.text-primary,.link-info,a.link-info{color:#93c5fd !important;}
a{color:#bfdbfe;}a:hover{color:#fff;}
/* Formularios */
input,select,textarea,.input,.form-control,.form-select,.form-input,.form-select-sm{
  background:linear-gradient(180deg,#121f36,#0f1b30) !important;
  color:var(--ate-text) !important;
  border:1px solid var(--ate-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(--ate-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;}
/* Botones */
button,.btn,.button,input[type="submit"],a.btn{border-radius:12px !important;font-weight:800 !important;}
.btn-primary,.button-primary,button[type="submit"],input[type="submit"],.primary-action{
  background:linear-gradient(135deg,var(--ate-primary),var(--ate-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,.secondary-action{
  background:rgba(15,23,42,.82) !important;
  color:var(--ate-text-2) !important;
  border:1px solid var(--ate-border-strong) !important;
}
button:disabled,.btn:disabled,.disabled{opacity:.58 !important;color:#cbd5e1 !important;background:rgba(30,41,59,.58) !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,.92) !important;
  border:1px solid rgba(148,163,184,.42) !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;
}
/* Tablas */
table,.table{
  color:var(--ate-text) !important;
  background:rgba(8,18,34,.5) !important;
  border-color:var(--ate-border) !important;
}
thead,thead tr,table th,.table th{
  background:#0b1426 !important;
  color:#eaf2ff !important;
  border-color:var(--ate-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(--ate-border);}
/* Badges */
.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;}
.badge-info,.chip-info{background:rgba(56,189,248,.16) !important;color:#bae6fd !important;}
/* Secretaría: neutraliza bloques claros remanentes */
.sec-v173 .sec-action,.sec-v173 .sec-quick,.sec-v173 .sec-kpi{
  color:#fff !important;
  background:linear-gradient(135deg,rgba(17,36,61,.98),rgba(10,24,45,.98)) !important;
  border-color:var(--ate-border) !important;
}
.sec-v173 .sec-action small,.sec-v173 .sec-quick small,.sec-v173 .sec-kpi .kpi-label{color:#dbeafe !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(--ate-border) !important;
  color:var(--ate-text) !important;
}
/* Mobile */
@media (max-width: 900px){
  .container,.page{width:100% !important;max-width:100% !important;padding-left:12px !important;padding-right:12px !important;}
  .topbar,.navbar,.smart-nav-card{border-radius:0 0 18px 18px !important;}
}
@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;}
  table{min-width:720px;}
}
