/* Proyecto Fénix · PWA / Modal de sesión expirada
 * CSS estático extraído desde pwa_head.php.
 * No modifica el watchdog, tiempos de sesión, fetch, expiración ni redirección.
 */

.fenix-session-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(15,23,42,.54)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.fenix-session-modal{
  width:min(520px,calc(100vw - 28px))!important;
  overflow:hidden!important;
  border:1px solid var(--vt-line,var(--vt-border,#fecaca))!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(15,23,42,.24)!important;
  animation:fenixSessionIn .18s ease-out!important;
}
@keyframes fenixSessionIn{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:none}
}
.fenix-session-head{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:22px 24px 17px!important;
  border-bottom:1px solid #e8edf3!important;
}
.fenix-session-icon{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--vt-line,var(--vt-border,#fecaca))!important;
  border-radius:16px!important;
  color:var(--vt-primary,#e5252a)!important;
  background:var(--vt-soft,var(--vt-surface-tint,#fff1f2))!important;
}
.fenix-session-icon svg{
  width:25px!important;
  height:25px!important;
}
.fenix-session-title{
  margin:0!important;
  color:#172033!important;
  font:800 22px/1.15 "Public Sans",Arial,sans-serif!important;
}
.fenix-session-subtitle{
  margin:5px 0 0!important;
  color:#64748b!important;
  font:500 12px/1.45 "Public Sans",Arial,sans-serif!important;
}
.fenix-session-body{
  padding:20px 24px 8px!important;
}
.fenix-session-notice{
  display:flex!important;
  gap:11px!important;
  padding:14px 15px!important;
  border:1px solid #fde68a!important;
  border-radius:14px!important;
  color:#854d0e!important;
  background:#fffbeb!important;
  font:600 12px/1.55 "Public Sans",Arial,sans-serif!important;
}
.fenix-session-notice strong{
  display:block!important;
  margin-bottom:2px!important;
  color:#713f12!important;
  font-weight:800!important;
}
.fenix-session-actions{
  display:flex!important;
  justify-content:flex-end!important;
  padding:18px 24px 22px!important;
}
.fenix-session-login{
  min-height:48px!important;
  min-width:180px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:11px 18px!important;
  border:1px solid var(--vt-primary,#e5252a)!important;
  border-radius:12px!important;
  color:#fff!important;
  background:var(--vt-primary,#e5252a)!important;
  box-shadow:0 10px 24px rgba(var(--vt-primary-rgb,229,37,42),.20)!important;
  font:800 12px/1 "Public Sans",Arial,sans-serif!important;
  cursor:pointer!important;
}
.fenix-session-login:hover,
.fenix-session-login:focus-visible{
  border-color:var(--vt-primary-dark,#c51f24)!important;
  background:var(--vt-primary-dark,#c51f24)!important;
}
body.fenix-session-locked{
  overflow:hidden!important;
}
@media(max-width:600px){
  .fenix-session-overlay{padding:14px!important}
  .fenix-session-modal{border-radius:19px!important}
  .fenix-session-head{padding:18px 18px 15px!important}
  .fenix-session-body{padding:16px 18px 4px!important}
  .fenix-session-actions{padding:15px 18px 18px!important}
  .fenix-session-login{width:100%!important}
  .fenix-session-title{font-size:19px!important}
}
