/* Lucky Cobros · Ajustes — estilos propios de la pantalla (prefijo .ajs-).
   Solo tokens de estilos.css. Las únicas excepciones son la placa del QR (siempre oscuro sobre blanco,
   para que cualquier celular lo lea) y las miniaturas de tema (muestran el tema claro y el oscuro tal
   cual, sin importar el tema activo): sus valores copian los tokens de cada tema. */

/* ---------- Ficha de la cuenta + chequeo de seguridad ---------- */
.ajs-ficha {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: var(--e-6);
  padding: var(--e-5) var(--e-6); align-items: center; margin-bottom: var(--e-6);
}
.ajs-ficha__persona { display: flex; align-items: center; gap: var(--e-4); min-width: 0; }
.ajs-ficha__nombre { font-family: var(--fuente-titulo); font-size: var(--t-20); }
.ajs-ficha__meta { font-size: var(--t-14); color: var(--texto-2); }
.ajs-ficha__meta + .ajs-ficha__meta { font-size: var(--t-13); color: var(--texto-3); }
.ajs-chequeo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-2); list-style: none; margin: 0; padding: 0; }
.ajs-chequeo__item {
  display: flex; align-items: flex-start; gap: var(--e-3); width: 100%; height: 100%; padding: var(--e-3);
  border: 1px solid var(--borde); border-radius: var(--radio-2); background: var(--superficie-2);
  text-align: left; cursor: pointer; font: inherit; color: inherit;
  transition: border-color var(--dur-1), background var(--dur-1);
}
.ajs-chequeo__item:hover { border-color: var(--borde-fuerte); background: var(--superficie-3); }
.ajs-chequeo__ico { flex: none; width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--exito-fondo); color: var(--exito); }
.ajs-chequeo__ico .ico { width: 18px; height: 18px; }
.ajs-chequeo__item--alerta { border-color: var(--alerta-borde); background: var(--alerta-fondo); }
.ajs-chequeo__item--alerta:hover { border-color: var(--alerta); background: var(--alerta-fondo); }
.ajs-chequeo__item--alerta .ajs-chequeo__ico { background: var(--superficie); color: var(--alerta); }
.ajs-chequeo__texto { display: grid; gap: 1px; min-width: 0; font-size: var(--t-13); color: var(--texto-2); line-height: 1.4; }
.ajs-chequeo__texto strong { font-size: var(--t-14); color: var(--texto); }

/* ---------- Navegación de secciones (pestañas verticales en escritorio) ---------- */
.ajs-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--e-8); align-items: start; }
.ajs-nav.pestanas__lista {
  position: sticky; top: calc(var(--alto-barra) + var(--e-4));
  flex-direction: column; gap: 2px; border-bottom: 0; margin: 0; overflow: visible;
}
.ajs-nav .pestana {
  justify-content: flex-start; align-items: flex-start; gap: var(--e-3); width: 100%;
  min-height: 56px; padding: 10px var(--e-3); border-radius: var(--radio-2); text-align: left; white-space: normal;
}
.ajs-nav .pestana > .ico { margin-top: 1px; color: var(--texto-3); flex: none; }
.ajs-nav .pestana__textos { display: grid; gap: 1px; line-height: 1.3; min-width: 0; }
.ajs-nav .pestana__bajada { font-size: var(--t-12); font-weight: 400; color: var(--texto-3); }
.ajs-nav .pestana[aria-selected="true"] { background: var(--superficie); box-shadow: var(--sombra-1), inset 0 0 0 1px var(--borde); }
.ajs-nav .pestana[aria-selected="true"]::after { left: 0; right: auto; top: 12px; bottom: 12px; width: 3px; height: auto; border-radius: 0 3px 3px 0; }
.ajs-nav .pestana[aria-selected="true"] > .ico { color: var(--primario-texto); }
.ajs-nav .pestana .estado { margin-left: auto; align-self: center; }

.ajs-panel { display: grid; gap: var(--e-5); min-width: 0; }
.ajs-panel:focus-visible { outline-offset: 6px; }
.ajs-panel__cabecera h2 { font-size: var(--t-24); }
.ajs-panel__cabecera p { color: var(--texto-2); font-size: var(--t-15); margin-top: 2px; max-width: 68ch; }

/* ---------- Tarjeta de ajustes: cuerpo con formulario y pie con guardado ---------- */
.ajs-pie { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); }
.ajs-pie__estado { margin-right: auto; display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-13); color: var(--texto-3); }
.ajs-pie__estado .ico { width: 16px; height: 16px; }
.ajs-pie[data-cambios="si"] .ajs-pie__estado { color: var(--alerta); font-weight: 600; }
.ajs-pie .ajs-pie__con-cambios { display: none; }
.ajs-pie[data-cambios="si"] .ajs-pie__con-cambios { display: inline; }
.ajs-pie[data-cambios="si"] .ajs-pie__sin-cambios { display: none; }

/* ---------- Foto de perfil ---------- */
.ajs-foto { display: flex; align-items: center; gap: var(--e-5); flex-wrap: wrap; }
.avatar.ajs-avatar-xl { width: 80px; height: 80px; font-size: var(--t-24); font-family: var(--fuente-titulo); }
.ajs-foto__textos { display: grid; gap: var(--e-2); min-width: 0; }

/* Permisos del rol */
.ajs-permisos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-2) var(--e-6); font-size: var(--t-14); }
.ajs-permisos li { display: flex; align-items: flex-start; gap: var(--e-2); color: var(--texto); }
.ajs-permisos .ico { width: 16px; height: 16px; margin-top: 3px; color: var(--exito); stroke-width: 2.25; flex: none; }

/* QR, códigos de respaldo, fuerza de la contraseña, filas de ajuste y sesiones: componentes del sistema (estilos.css) */

/* ---------- Avisos: evento × canal ---------- */
.ajs-avisos { display: grid; }
.ajs-avisos__cabecera, .ajs-aviso {
  display: grid; grid-template-columns: minmax(0, 1fr) 112px 112px; gap: var(--e-4); align-items: center;
  padding: var(--e-3) var(--e-5);
}
.ajs-avisos__cabecera { background: var(--superficie-2); border-bottom: 1px solid var(--borde); font-size: var(--t-12); font-weight: 600; color: var(--texto-3); text-transform: uppercase; letter-spacing: 0.06em; }
.ajs-avisos__cabecera > span:not(:first-child) { text-align: center; display: grid; justify-items: center; gap: 1px; }
.ajs-avisos__cabecera small { font-size: var(--t-11); text-transform: none; letter-spacing: 0; font-weight: 500; }
.ajs-avisos__grupo { padding: var(--e-3) var(--e-5) var(--e-1); font-size: var(--t-12); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--texto-3); }
.ajs-aviso { border-bottom: 1px solid var(--borde); padding-top: var(--e-4); padding-bottom: var(--e-4); }
.ajs-aviso:last-child { border-bottom: 0; }
.ajs-aviso__textos { display: grid; gap: 2px; min-width: 0; }
.ajs-aviso__titulo { font-weight: 600; font-size: var(--t-15); display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); }
.ajs-aviso__texto { font-size: var(--t-13); color: var(--texto-2); }
.ajs-aviso__nota { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: var(--t-13); color: var(--alerta); font-weight: 500; }
.ajs-aviso__nota .ico { width: 15px; height: 15px; }
.ajs-aviso .switch { justify-self: center; }
.ajs-canal-etq { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ajs-avisos[data-telegram="no"] .ajs-col-telegram .switch { cursor: not-allowed; }

/* ---------- Miniaturas de tema ---------- */
.ajs-temas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-3); }
.ajs-temas .opcion-tarjeta { flex-direction: column; gap: var(--e-3); padding: var(--e-3); }
.ajs-temas .opcion-tarjeta__fila { display: flex; align-items: center; gap: var(--e-2); }
.ajs-tema {
  --m-fondo: #f5f4ef; --m-sup: #ffffff; --m-borde: #e2e0d8; --m-texto: #c9c6bb; --m-marca: #0b6b53; --m-lateral: #10261f;
  position: relative; display: grid; grid-template-columns: 22% 1fr; height: 92px; border-radius: var(--radio-2);
  overflow: hidden; border: 1px solid var(--borde); background: var(--m-fondo);
}
.ajs-tema--oscuro { --m-fondo: #0c1210; --m-sup: #141b18; --m-borde: #26312c; --m-texto: #38463f; --m-marca: #4cc9a0; --m-lateral: #09100d; }
.ajs-tema__lateral { background: var(--m-lateral); padding: 8px 6px; display: grid; align-content: start; gap: 5px; }
.ajs-tema__lateral i { display: block; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, 0.22); }
.ajs-tema__lateral i:first-child { background: #5ed3a8; width: 70%; }
.ajs-tema__cuerpo { padding: 8px; display: grid; align-content: start; gap: 6px; }
.ajs-tema__cuerpo i { display: block; height: 5px; border-radius: 3px; background: var(--m-texto); }
.ajs-tema__tarjeta { background: var(--m-sup); border: 1px solid var(--m-borde); border-radius: 5px; padding: 6px; display: grid; gap: 5px; }
.ajs-tema__tarjeta b { display: block; height: 8px; width: 55%; border-radius: 3px; background: var(--m-marca); }
.ajs-tema--sistema { grid-template-columns: 1fr 1fr; }
.ajs-tema--sistema > .ajs-tema { border: 0; border-radius: 0; height: 100%; }

/* Vista previa de formatos */
.ajs-vista { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-4); padding: var(--e-3) var(--e-4); border-radius: var(--radio-2); background: var(--superficie-2); border: 1px solid var(--borde); font-size: var(--t-14); color: var(--texto-2); }
.ajs-vista strong { color: var(--texto); font-variant-numeric: tabular-nums; }

/* Pasos del vínculo con Telegram */
.ajs-instrucciones { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-4); counter-reset: inst; }
.ajs-instrucciones > li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--e-3); counter-increment: inst; font-size: var(--t-14); }
.ajs-instrucciones > li::before { content: counter(inst); width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--primario-suave); color: var(--primario-texto); font-weight: 700; font-size: var(--t-13); }
.ajs-codigo-vinculo { font-family: var(--fuente-mono); font-size: var(--t-24); font-weight: 500; letter-spacing: 0.12em; color: var(--texto); }

/* Éxito dentro de un paso */
.ajs-listo { display: grid; justify-items: center; text-align: center; gap: var(--e-2); padding: var(--e-4) 0; }
.ajs-listo__ico { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--exito-fondo); color: var(--exito); margin-bottom: var(--e-2); }

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
  .ajs-ficha { grid-template-columns: minmax(0, 1fr); gap: var(--e-4); }
}
@media (max-width: 1023px) {
  .ajs-layout { grid-template-columns: minmax(0, 1fr); gap: var(--e-4); }
  .ajs-nav.pestanas__lista {
    position: static; flex-direction: row; overflow-x: auto; gap: var(--e-1);
    border-bottom: 1px solid var(--borde); margin: 0 calc(-1 * var(--e-4)); padding: 0 var(--e-4);
  }
  .ajs-nav .pestana { width: auto; min-height: 44px; padding: 0 var(--e-3); align-items: center; border-radius: var(--radio-1) var(--radio-1) 0 0; white-space: nowrap; flex: none; }
  .ajs-nav .pestana > .ico { margin-top: 0; }
  .ajs-nav .pestana__bajada { display: none; }
  .ajs-nav .pestana[aria-selected="true"] { background: none; box-shadow: none; }
  .ajs-nav .pestana[aria-selected="true"]::after { left: 8px; right: 8px; top: auto; bottom: -1px; width: auto; height: 2px; border-radius: 2px; }
  .ajs-nav .pestana .estado { display: none; }
}
@media (max-width: 767px) {
  .ajs-ficha { padding: var(--e-4); margin-bottom: var(--e-4); }
  .ajs-chequeo { grid-template-columns: minmax(0, 1fr); }
  .ajs-panel__cabecera h2 { font-size: var(--t-20); }
  .sesion-fila .btn { margin-left: 60px; }
  .ajs-permisos { grid-template-columns: minmax(0, 1fr); }
  .ajs-temas { grid-template-columns: minmax(0, 1fr); }
  .ajs-temas .opcion-tarjeta { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; }
  .ajs-tema { height: 72px; }
  .ajs-avisos__cabecera { display: none; }
  .ajs-aviso { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--e-3) var(--e-4); padding: var(--e-4); }
  .ajs-aviso__textos { grid-column: 1 / -1; }
  .ajs-aviso .switch { justify-self: start; }
  .ajs-canal-etq { position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: var(--t-14); color: var(--texto-2); }
  .ajs-avisos__grupo { padding: var(--e-4) var(--e-4) 0; }
  .ajs-pie .btn { flex: 1 1 auto; }
  .ajs-pie__estado { width: 100%; }
}
@media (max-width: 420px) {
}

/* ---------- Varios ---------- */
.avatar.ajs-avatar-l { width: 56px; height: 56px; font-size: var(--t-18); font-family: var(--fuente-titulo); }
.avatar img { display: block; }
.ajs-campo-accion { display: flex; gap: var(--e-2); align-items: stretch; }
.ajs-campo-accion .campo__control { flex: 1; min-width: 0; }
.ajs-fieldset-limpio { border: 0; padding: 0; margin: 0; min-width: 0; }
.ajs-fieldset-limpio > legend { padding: 0; margin-bottom: var(--e-3); }
.btn.ajs-btn-peligro { color: var(--peligro); }
.btn.ajs-btn-peligro:hover { background: var(--peligro-fondo); color: var(--peligro); }
@media (max-width: 767px) {
  .ajs-campo-accion { flex-wrap: wrap; }
  .ajs-campo-accion .btn { flex: 1 1 100%; }
}
.ajs-panel .campo, .modal .campo { align-content: start; }
.ajs-panel .segmentado { justify-self: start; }
#modal-2fa .pasos { margin-bottom: var(--e-6); }
