/* style.css — Dark Skin unificado (Sesiones / Admin / Importador)
   Convierte la versión clara anterior a la paleta oscura global.
   Paleta tomada de fs-skin (variables de sitio). Si alguna no existe,
   se proveen fallbacks locales.
   Guarda como UTF-8 sin BOM.
*/

/* =========================
   Variables / Fallbacks
   ========================= */
:root{
  --brand-primary:#0097CE;
  /*--brand-accent:#FF5B56;*/
  --brand-accent-dark:#E24B47;

  --fs-text:#E9EEF3;
  --fs-muted:#B8C2CC;
  --fs-invert:#0A0A0A;
  --fs-surface:#0F141A;
  --fs-surface-2:#121920;
  --fs-border:#1F2A33;
  --fs-radius:12px;
  --fs-shadow:0 10px 28px rgba(0,0,0,.55);
  --fs-speed:240ms;
  --fs-ease:cubic-bezier(.16,1,.3,1);
  --fs-col-hi:rgba(0,151,206,0.08);
}

/* =========================
   Contenedor general
   ========================= */
/* Base */
.fs-wrapper {
  font: 14px "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  margin: 1.2rem 0;
  color: var(--fs-text);
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--fs-invert);
  border-radius: var(--fs-radius);
  overflow: hidden;
}


/* Título */
.fs-titulo{
  margin:0 0 .8rem;
  font-weight:600;
  letter-spacing:.2px;
  color:var(--fs-text);
  text-align: center;
}

/* Área agregada (background suave con degradado oscuro) */
.fs-aggregado{
  background: linear-gradient(180deg,#0A0F14 0%, #0A0A0A 100%);
  padding:14px;
  border-radius: calc(var(--fs-radius) + 0px);
  box-sizing:border-box;
  border:1px solid var(--fs-border);
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
}
.fs-data{
  background: var(--fs-surface);
  border:1px solid var(--fs-border);
  padding:16px;
  border-radius: var(--fs-radius);
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
  box-sizing:border-box;
  overflow:visible;
}

/* =========================
   Barra de búsqueda
   ========================= */
.fs-busqueda-bar{
  display:flex; gap:.6rem; flex-wrap:wrap;
  align-items:center; justify-content:normal;
  margin:0 0 .9rem;
  border:1px solid var(--fs-border);
  border-radius: var(--fs-radius);
  padding:10px 12px;
  /*position:sticky; top:0; z-index:5;*/
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: box-shadow var(--fs-speed) var(--fs-ease), background var(--fs-speed) var(--fs-ease);
}
.fs-busqueda-bar.fs-sticky{ box-shadow:0 8px 24px rgba(0,0,0,.45); }

.fs-busqueda-bar .fs-busqueda-left{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex:1 1 auto;
  min-width:160px;
  flex-wrap:nowrap;
}
.fs-busqueda-bar .fs-busqueda-left > *{ flex:0 0 auto; }

.fs-busqueda-bar label[for="fs-buscar-usuarios"]{ order:0; }
.fs-busqueda-bar #fs-buscar-usuarios{ order:1; }

.fs-actions{ margin-left:auto; display:flex; align-items:center; gap:.6rem; }

/* Input buscador */
/*.fs-buscar{
  padding:10px 12px;
  border:1px solid var(--fs-border);
  border-radius:999px;
  min-width:160px;
  max-width:320px;
  flex:0 1 240px;
  width:auto;
  font:inherit;
  background:#0E1319;
  color:var(--fs-text);
  transition:border-color var(--fs-speed) var(--fs-ease), box-shadow var(--fs-speed) var(--fs-ease), transform var(--fs-speed) var(--fs-ease);
}*/
/*.fs-buscar::placeholder{ color:#8A95A1; }
.fs-buscar:focus{
  outline:none;
  border-color: var(--brand-primary);
  box-shadow:0 0 0 4px rgba(0,151,206,.18);
  transform: translateY(-1px);
   border-radius:999px;
}*/

.fs-clear{
  background:#0E1319;
  border:1px solid var(--fs-border);
  color:#C9D2DB;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font-size:16px; line-height:1;
  transition: transform var(--fs-speed) var(--fs-ease), background var(--fs-speed) var(--fs-ease), border-color var(--fs-speed) var(--fs-ease), color var(--fs-speed) var(--fs-ease);
  order:2;
}
.fs-buscar-usuarios{
    color: var(--base-3);
    background-color: #0f2d3c;
    border-color: #0a5570;
    border-radius: 999px;
}
.fs-clear:hover{
  background:#121920; border-color: var(--brand-primary);
  color: var(--brand-primary);
  transform: translateY(-1px) scale(1.02);
}

.fs-count{ font-size:12px; color:var(--fs-muted); order:4; margin-left:auto; }
.fs-count.pulse{ animation: fsPulse 600ms var(--fs-ease); }
@keyframes fsPulse{ 0%{transform:scale(.96); opacity:.6} 60%{transform:scale(1.06); opacity:1} 100%{transform:scale(1)} }

.fs-row-hidden{ display:none; }

#fs-course-filter{
  order:3;
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:.75rem;
  flex:0 0 auto;
  flex-wrap:nowrap;
}

#fs-course-filter .fs-course-filter-group{
  display:inline-flex !important;
  flex-direction:row;
  align-items:center;
  gap:.5rem;
  flex:0 0 auto;
}

#fs-course-filter label{ white-space:nowrap; }

#fs-course-filter select{
  min-width:130px;
  flex:0 1 160px;
}

@media (max-width: 430px) {
  #fs-course-filter {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    padding: 0;
  }

  #fs-course-filter .fs-course-filter-group {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.4rem;
  }

  #fs-course-filter label {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }

  #fs-course-filter select {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    font-size: 0.95rem;
    padding: 0.5em 0.6em;
  }
  .fs-pagination .fs-prev .fs-next button{
    flex-direction: column;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.6rem;
    width: 100%;
    padding: 0;
  }
  
  #fs-buscar-usuarios {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    font-size: 0.95rem;
    padding: 0.5em 0.6em;

  }
}

/*@media (max-width: 430px) {
  .fs-wrapper,
  .fs-aggregado{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .fs-tabla {
    min-width: 100%;
    table-layout: fixed; 
  }

  .fs-tabla th,
  .fs-tabla td {
    font-size: 12px;
    padding: 6px 8px;
    white-space: normal;         
    overflow: hidden;
  }

  .fs-tabla td:first-child {
    max-width: 180px;           
  }
}*/

@media (max-width: 820px){
  .fs-busqueda-bar .fs-busqueda-left{ flex-direction:column; align-items:stretch; }
  .fs-busqueda-bar label[for="fs-buscar-usuarios"]{ order:0; }
  .fs-busqueda-bar #fs-buscar-usuarios{ order:1; width:100%; }
  .fs-clear{ order:2; }
  #fs-course-filter{ order:3; flex-wrap:wrap; width:100%; }
  #fs-course-filter .fs-course-filter-group{ flex-wrap:wrap; }
  #fs-course-filter select{ flex:1 1 100%; min-width:0; }
  .fs-count{ order:4; }
}


/* =========================
   Tabla
   ========================= */
.fs-tabla-wrapper{
  width:100%; overflow:auto;
  border-radius: var(--fs-radius);
  border:1px solid var(--fs-border);
  background: var(--fs-surface-2);
  box-shadow: var(--fs-shadow);
}

.fs-tabla{
  border-collapse:collapse;
  width:100%;
  table-layout:auto;
  min-width:0;
  color:var(--fs-text);
}
.fs-tabla th, .fs-tabla td{
  border-bottom:1px solid var(--fs-border);
  padding:12px 12px;
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
}
.fs-tabla th{
  background: linear-gradient(180deg,#111923,#0F141A);
  font-weight:600;
  color:#D8E7F1;
  font-size:13px;
  letter-spacing:.2px;
  white-space:nowrap;
}

.fs-tabla td.right, .fs-tabla th.right{ text-align:center; }
.fs-tabla tbody tr{ transition: background var(--fs-speed) var(--fs-ease), transform var(--fs-speed) var(--fs-ease); }
.fs-tabla tbody tr:hover{ background: rgba(255,255,255,0.03); transform: translateX(2px); }

/* Hover fila usuario en área agregada */
.fs-aggregado tr[data-fs-user]:hover{ background: rgba(255,255,255,0.04); }

/* Chips numéricos */
.fs-num{
  display:inline-block; min-width:46px; padding:8px 12px;
  border-radius:999px;
  color:#EAF7FF;
  background: linear-gradient(180deg, rgba(0,151,206,0.18), rgba(0,151,206,0.10));
  border:1px solid rgba(0,151,206,0.35);
  font-weight:700; text-align:center; box-sizing:border-box;
  transform: scale(calc(.96 + var(--fs-pop, 0)*.04));
  transition: transform 220ms var(--fs-ease), background 220ms var(--fs-ease), color 220ms var(--fs-ease), border-color 220ms var(--fs-ease);
}
.fs-tabla td .fs-num{ vertical-align:middle; }

/* Resumen detalle (badges pequeños) */
.fs-resumen-detalle{
  display:flex; gap:.9rem; flex-wrap:wrap; margin:0 0 10px;
}
.fs-resumen-detalle div{
  background: var(--fs-surface-2);
  padding:6px 10px; border-radius:8px;
  color: var(--fs-muted); font-size:12.5px;
  border:1px solid var(--fs-border);
}

/* =========================
   Autenticación (caja)
   ========================= */
.fs-auth{
  background: linear-gradient(180deg,#24180A,#1A1308);
  border:1px solid #3a2a14;
  padding:12px;
  border-radius:10px;
  margin:0 0 .8rem;
  color:#e6d5b6;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.fs-auth-actions{
  display:flex;
  gap:.5rem;
  align-items:center;
  flex-wrap:wrap;
}
.fs-auth-status{ color:#d4b980; margin-bottom:.5rem; font-size:13px; }
.fs-auth .fs-btn{
  background: var(--brand-primary);
  color:#fff;
  border:1px solid var(--brand-primary);
  border-radius:999px;
  padding:8px 14px;
  font-weight:600;
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
  cursor:pointer;
  transition: background .2s, transform .2s;
}
.fs-auth .fs-btn:hover{ background:#06aeea; transform:translateY(-1px); }
.fs-btn.fs-btn-outline{
  background:transparent; color: var(--brand-primary);
  border:1px solid var(--fs-border);
}


/* =========================
   Admin (Crear usuarios) overrides
   ========================= */
#fs-admin{ width:100%; box-sizing:border-box; }

#fs-admin .fs-card,
#fs-admin details.fs-card,
#fs-admin .fs-form-grid{
  background: var(--fs-surface) !important;
  border:1px solid var(--fs-border) !important;
  border-radius: var(--fs-radius) !important;
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
  padding:14px !important;
  margin-bottom:14px !important;
  box-sizing:border-box !important;
  color:var(--fs-text) !important;
}

#fs-admin .fs-form-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}

#fs-admin .fs-form-grid label{
  display:block !important;
  color:var(--fs-muted) !important;
  font-size:12.5px !important;
  letter-spacing:.3px !important;
  font-weight:500 !important;
}

#fs-admin .fs-form-grid input[type="text"],
#fs-admin .fs-form-grid input[type="email"],
#fs-admin .fs-form-grid input[type="password"],
#fs-admin .fs-form-grid select,
#fs-admin .fs-form-grid input[type="file"],
#fs-admin .fs-form-grid textarea{
  width:100% !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid var(--fs-border) !important;
  background:#0E1319 !important;
  color:var(--fs-text) !important;
  box-sizing:border-box !important;
  font-size:13.5px !important;
  transition:border-color var(--fs-speed) var(--fs-ease), box-shadow var(--fs-speed) var(--fs-ease) !important;
}
#fs-admin .fs-form-grid input[list]{
  padding-right:34px !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23B8C2CC' d='M1.41.59 6 5.17 10.59.59 12 2l-6 6-6-6z'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  background-size:12px 8px !important;
}
#fs-admin .fs-form-grid input[list]::-webkit-calendar-picker-indicator{
  opacity:0;
  display:none;
}
#fs-admin .fs-form-grid input:focus,
#fs-admin .fs-form-grid select:focus,
#fs-admin .fs-form-grid textarea:focus{
  outline:none !important;
  border-color: var(--brand-primary) !important;
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
}

#fs-admin .fs-btn{
  background: linear-gradient(180deg, rgba(0, 151, 206, 0.18), rgba(0, 151, 206, 0.10));
  color:#fff !important;
  border:1px solid rgba(0, 151, 206, 0.35);
  padding:10px 14px !important;
  border-radius:999px !important;
  font-weight:600 !important;
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
  cursor:pointer !important;
  transition: transform var(--fs-speed) var(--fs-ease), box-shadow var(--fs-speed)
240ms
 var(--fs-ease), background var(--fs-speed) var(--fs-ease), border-color var(--fs-speed) var(--fs-ease);
}
#fs-admin .fs-btn:hover{ background:#ff6d68 !important; transform:translateY(-1px) !important; }

#fs-admin .fs-msg{ color:var(--fs-muted) !important; font-size:13px !important; margin-top:8px !important; }

#fs-admin .fs-logo-preview img{
  width:48px !important; height:48px !important; object-fit:cover !important;
  border-radius:10px !important; border:1px solid var(--fs-border) !important;
  background: var(--fs-surface-2) !important;
}

.fs-admin-nav{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin:0 0 14px;
}

.fs-admin-nav .fs-btn{
  padding:10px 16px;
  border-radius:999px;
  background: linear-gradient(180deg,#11c5ff,#0097CE);
  border:1px solid #0097CE;
  box-shadow:0 6px 16px rgba(0,151,206,.28);
}

.fs-admin-nav .fs-btn:hover{
  background:#00a8e4;
}

/* Responsive admin form */
@media (max-width:900px){
  #fs-admin .fs-form-grid{ grid-template-columns:1fr !important; }
}


/* =========================
   Columnas destacadas (Sesiones / Tiempo Total)
   ========================= */
/* Encabezados 2ª y 3ª columna */
/* Encabezados 1–4 columnas */
    .fs-aggregado .fs-tabla th:nth-child(1),
    #resumen-sesiones .fs-tabla th:nth-child(1),
    .fs-wrapper .fs-tabla th:nth-child(1)

  .fs-aggregado .fs-tabla th:nth-child(2),
  #resumen-sesiones .fs-tabla th:nth-child(2),
  .fs-wrapper .fs-tabla th:nth-child(2),
  
  .fs-aggregado .fs-tabla th:nth-child(3),
  #resumen-sesiones .fs-tabla th:nth-child(3),
  .fs-wrapper .fs-tabla th:nth-child(3),
  
  .fs-aggregado .fs-tabla th:nth-child(4),
    #resumen-sesiones .fs-tabla th:nth-child(4),
    .fs-wrapper .fs-tabla th:nth-child(4){
    background: linear-gradient(180deg,#111923,#0F141A);
    font-weight: 700;
    white-space: nowrap;
    border-left: 1px solid rgba(255,255,255,.06);
    font-size: 12px;
    padding: 6px 8px;
  }

/*.fs-aggregado .fs-tabla td:nth-child(2),
#resumen-sesiones .fs-tabla td:nth-child(2),
.fs-wrapper .fs-tabla td:nth-child(2),

.fs-aggregado .fs-tabla td:nth-child(3),
#resumen-sesiones .fs-tabla td:nth-child(3),
.fs-wrapper .fs-tabla td:nth-child(3){
  text-align:left;
  font-weight:700;
  color:#bfe9ff;
  background: rgba(0,151,206,0.06);
  border-left:1px solid rgba(255,255,255,.04);
  border-right:1px solid rgba(255,255,255,.04);
  padding:10px 12px;
  box-sizing:border-box;
}*/

.fs-aggregado .fs-tabla tbody tr:hover td:nth-child(1),
#resumen-sesiones .fs-tabla tbody tr:hover td:nth-child(1),
.fs-aggregado .fs-tabla tbody tr:hover td:nth-child(2),
#resumen-sesiones .fs-tabla tbody tr:hover td:nth-child(2),
.fs-aggregado .fs-tabla tbody tr:hover td:nth-child(3),
#resumen-sesiones .fs-tabla tbody tr:hover td:nth-child(3),
.fs-aggregado .fs-tabla tbody tr:hover td:nth-child(4),
#resumen-sesiones .fs-tabla tbody tr:hover td:nth-child(4){
  background: rgba(0,151,206,0.14);
  color:#e9f7ff;
}

/* Borde inferior cabezera más visible */
.fs-aggregado .fs-tabla th,
#resumen-sesiones .fs-tabla th{
  border-bottom:1px solid rgba(255,255,255,.05);
}

/* Ajustes móviles */

/*@media (max-width:900px){
  .fs-aggregado .fs-tabla td:nth-child(2),
  #resumen-sesiones .fs-tabla td:nth-child(2),
  .fs-wrapper .fs-tabla td:nth-child(2),
  .fs-aggregado .fs-tabla td:nth-child(3),
  #resumen-sesiones .fs-tabla td:nth-child(3),
  .fs-wrapper .fs-tabla td:nth-child(3),
  .fs-aggregado .fs-tabla td:nth-child(4),
  #resumen-sesiones .fs-tabla td:nth-child(4),
  .fs-wrapper .fs-tabla td:nth-child(4){
      padding:8px; font-size:13px; width:100%;
  } 
}*/

/* =========================
   Helpers
   ========================= */
.text-muted{ color:var(--fs-muted); font-size:13px; }

/* Animaciones skeleton / aparición (reutilizables) */
.fs-row.is-hidden{ opacity:0; transform:translateY(8px); }
.fs-row.in{ opacity:1; transform:translateY(0); animation: fsFadeUp 420ms var(--fs-ease) both; animation-delay: var(--fs-stagger,0ms); }
@keyframes fsFadeUp{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }

.fs-skeleton .fs-skel,.fs-skel{ position:relative; overflow:hidden; background:#16212B; border-radius:10px; height:16px; }
.fs-skel:before{ content:''; position:absolute; inset:0; transform:translateX(-100%); background: linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 50%,rgba(255,255,255,0) 100%); animation: fsShimmer 1.2s infinite; }
@keyframes fsShimmer{ 100%{ transform:translateX(100%); } }

/* Scrollbar dentro de wrappers */
.fs-wrapper ::-webkit-scrollbar{ height:10px; width:10px; }
.fs-wrapper ::-webkit-scrollbar-thumb{ background:#1E2A34; border-radius:10px; }
.fs-wrapper ::-webkit-scrollbar-thumb:hover{ background:#243544; }
.fs-wrapper ::-webkit-scrollbar-track{ background:#0E1319; }

/* Mobile extras */
@media (max-width:900px){
  .fs-busqueda-left{ min-width:100%; }
  .fs-tabla th, .fs-tabla td { padding: 10px 10px; }
  .fs-actions{ width:100%; justify-content:flex-end; }
  /*.fs-tabla th, .fs-tabla td{ padding:10px 10px; }*/
  .fs-num{ min-width:40px; padding:6px 10px; }

}
/* Aviso login requerido */
.fs-login-required{
  background: linear-gradient(180deg,#16232B 0%, #121920 100%);
  border:1px solid rgba(0,151,206,0.35);
  color:#bfe9ff;
  padding:12px 16px;
  border-radius:12px;
  font:600 14px/1.3 "Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  box-shadow:0 6px 18px rgba(0,151,206,.18);
  margin:0 0 14px;
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.fs-login-required::before{
  content:'🔒';
  display:inline-flex;
  font-size:16px;
  vertical-align:middle;
}
.fs-login-required > div{
  flex:1;
  min-width:200px;
}
.fs-login-required a{
  color:#fff;
  text-decoration:underline;
}
.fs-login-required a:hover{
  color:#11c5ff;
}
.fs-login-required .fs-btn-login-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:0;
  margin-left:auto;
  text-decoration:none;
  background: var(--brand-primary);
  color:#fff;
  border:1px solid var(--brand-primary);
  box-shadow:0 8px 20px rgba(0,151,206,.22);
  flex-shrink:0;
}
.fs-login-required .fs-btn-login-link:hover{
  color:#fff;
  background:#06aeea;
}
/* Responsive */
@media (max-width:600px){
  .fs-login-required{ font-size:13px; padding:10px 14px; }
}

/* Selección de sesiones (funnel) */
.fs-sessions-funnel{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:0 0 20px;
}
.fs-sess-card{
  background: var(--fs-surface);
  border:1px solid var(--fs-border);
  border-radius: var(--fs-radius);
  padding:16px;
  box-shadow:0 6px 16px rgba(0, 96, 139,.24);
}
.fs-sess-instructions{
  margin:0;
  color:var(--fs-muted);
  font-size:13px;
}
.fs-sess-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:12px;
  margin-top:12px;
}
.fs-sess-btn{
  width:100%;
  justify-content:center;
  text-align:center;
  font-size:14px;
}
.fs-sess-btn.fs-selected{
  background: linear-gradient(180deg, rgba(0,151,206,0.25), rgba(0,151,206,0.12));
  border-color: rgba(0,151,206,0.6);
  box-shadow:0 8px 20px rgba(0,151,206,.30);
}
.fs-sess-back{
  margin-bottom:12px;
}
.fs-sess-subtitle{
  margin:0;
  font-size:16px;
  color:var(--fs-text);
  font-weight:600;
}
.fs-sess-summary{
  background: var(--fs-surface-2);
  border:1px solid var(--fs-border);
  border-radius: var(--fs-radius);
  padding:12px 16px;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
  font:500 14px/1.4 "Poppins",system-ui;
  color:var(--fs-text);
}
.fs-sess-summary strong{ color:var(--brand-primary); }
.fs-sess-summary .fs-btn{ margin-left:16px; }
.fs-sess-empty{
  color:var(--fs-muted);
  font-size:13px;
  text-align:center;
  padding:10px 0;
}
body.fs-sessions-await-selection .fs-sessions-await-hide{ display:none !important; }

@media (max-width:600px){
  .fs-sess-grid{ grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
}

/* Botón base y de exportar */
.fs-btn{
  appearance:none;
  border:1px solid transparent;
  padding:10px 14px;
  border-radius:999px;
  font:600 13px/1 "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition: transform var(--fs-speed) var(--fs-ease), box-shadow var(--fs-speed) var(--fs-ease), background var(--fs-speed) var(--fs-ease), border-color var(--fs-speed) var(--fs-ease), color var(--fs-speed) var(--fs-ease);
}
.fs-btn:disabled{ opacity:.6; cursor:not-allowed; }
.fs-btn:focus-visible{ outline:none; box-shadow: 0 0 0 4px rgba(255,91,86,.18); }
.fs-ico{ width:16px; height:16px; display:inline-block; flex:0 0 auto; }

.fs-btn-export{
  background:#0b4b31;
  color:#fff;
  transform: translateY(-1px);
}
.fs-btn-export:hover{
  background: linear-gradient(180deg, rgba(11, 75, 49,0.18), rgba(11, 75, 49,0.10));
  color:#fff;
}
.fs-btn-export:active{ transform: translateY(0); }

.fs-pagination {
  display:flex;
  justify-content: center;
  text-align: center;
  margin-top: 1em;
}

.fs-pagination button {
  padding: 6px 12px;
  margin: 0 10px;
  font-size: 14px;
}
/* Barra de sesión en footer (no fija) */
#fs-session-bar.fs-session-bar-footer{
  position:relative; /* ya no es fixed */
  left:auto; right:auto; bottom:auto;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.8rem 1.2rem;
  background: var(--fs-surface-2,#121920);
  border:1px solid var(--fs-border,#1F2A33);
  border-radius:12px;
  padding:12px 18px;
  margin:40px auto 24px; /* separación respecto al contenido anterior y el footer */
  max-width:540px;
  text-align:center;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}

.fs-session-email{
  color:var(--fs-muted,#B8C2CC);
  font-weight:600;
  max-width:60vw;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:600 13px/1.2 "Poppins",system-ui;
}

/* Elimina el padding bottom que se usaba para barra fija (si estaba antes) */
body{
  padding-bottom:0 !important;
}

/* Botón logout rojo (reutilizable) */
.fs-btn-logout-red{
  background: var(--brand-accent,#FF5B56);
  border:1px solid var(--brand-accent,#FF5B56);
  color:#fff;
  border-radius:999px;
  padding:8px 18px;
  font:600 13px/1 "Poppins",system-ui;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(255,91,86,.35);
  transition: background var(--fs-speed) var(--fs-ease), transform var(--fs-speed) var(--fs-ease);
}
.fs-btn-logout-red:hover{
  background: var(--brand-accent-dark,#E24B47);
  border-color: var(--brand-accent-dark,#E24B47);
  transform:translateY(-2px);
}
.fs-btn-logout-red:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(255,91,86,.25);
}
/* === Botón Cerrar sesión en rojo (global) === */

/* Botón dentro del formulario de autenticación */
#fs-logout,
/* Botón dentro de la barra de sesión dinámica */
#fs-session-logout-btn,
/* Por si la barra usa el estilo outline antiguo */
#fs-session-bar .fs-btn.fs-btn-outline {
  background: var(--brand-accent, #FF5B56);
  border:1px solid var(--brand-accent, #FF5B56);
  color:#fff;
  border-radius:999px;
  padding:8px 18px;
  font:600 13px/1 "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(255,91,86,.35);
  transition: background var(--fs-speed) var(--fs-ease), transform var(--fs-speed) var(--fs-ease), box-shadow var(--fs-speed) var(--fs-ease);
}

/* Hover / Active */
#fs-logout:hover,
#fs-session-logout-btn:hover,
#fs-session-bar .fs-btn.fs-btn-outline:hover {
  background: var(--brand-accent-dark, #E24B47);
  border-color: var(--brand-accent-dark, #E24B47);
  transform: translateY(-2px);
}

#fs-logout:active,
#fs-session-logout-btn:active,
#fs-session-bar .fs-btn.fs-btn-outline:active {
  transform: translateY(0);
}

/* Focus accesible */
#fs-logout:focus-visible,
#fs-session-logout-btn:focus-visible,
#fs-session-bar .fs-btn.fs-btn-outline:focus-visible {
  outline:none;
  box-shadow:0 0 0 4px rgba(255,91,86,.25);
}

/* Deshabilitado (por si en algún flujo se bloquea temporalmente) */
#fs-logout:disabled,
#fs-session-logout-btn:disabled {
  opacity:.55;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.fs-menu-highlight {
  color: var(--brand-primary, #0097CE) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
body.fs-guard-active .fs-guard-hide{
  display: none !important;
}
/* Refuerzo: si el guard está activo, oculta estos bloques típicos */
body.fs-guard-active #fecha-widget,
body.fs-guard-active #fs-emp-sessions-v2,
body.fs-guard-active .wp-block-video,
body.fs-guard-active video,
body.fs-guard-active .wp-block-embed,
body.fs-guard-active .wp-block-cover{
  display:none !important;
}

/* Oculta cualquier duplicado de avisos fuera del contenedor conservado */
body.fs-guard-active .fs-guard-hide{
  display:none !important;
}
