/* Asistente de inicio (primer uso). Pantalla completa, una pregunta por
   pantalla, tarjetas grandes: pensado para alguien que nunca ha usado un POS. */

.asistente-overlay {
 position: fixed;
 inset: 0;
 z-index: 9700;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 20px;
 background: var(--nexo-bg, #f3f4f6);
 overflow-y: auto;
 animation: asistenteEntrar .22s ease;
}

@keyframes asistenteEntrar {
 from { opacity: 0; transform: translateY(8px); }
 to { opacity: 1; transform: none; }
}

.asistente-card {
 width: min(640px, 100%);
 max-height: calc(100vh - 40px);
 display: flex;
 flex-direction: column;
 gap: 18px;
 padding: 28px 30px 24px;
 background: var(--nexo-surface-strong, #fff);
 color: var(--nexo-text, #0f172a);
 border: 1px solid var(--nexo-line, rgba(15, 23, 42, .10));
 border-radius: var(--nexo-radius-xl, 24px);
 box-shadow: var(--nexo-shadow-soft, 0 20px 55px rgba(15, 23, 42, .12));
}

.asistente-progreso {
 height: 6px;
 border-radius: 999px;
 background: var(--nexo-line, rgba(15, 23, 42, .10));
 overflow: hidden;
}

.asistente-progreso > span {
 display: block;
 height: 100%;
 border-radius: inherit;
 background: var(--nexo-brand, #0d6efd);
 transition: width .3s ease;
}

.asistente-cabecera {
 display: flex;
 align-items: center;
 gap: 14px;
}

.asistente-mascota {
 width: 64px;
 height: 64px;
 flex: none;
 object-fit: contain;
}

.asistente-cabecera small {
 display: block;
 color: var(--nexo-text-muted, #667085);
 font-size: 12px;
 font-weight: 700;
 letter-spacing: .04em;
 text-transform: uppercase;
}

.asistente-cabecera h2 {
 margin: 2px 0 0;
 font-size: 24px;
 line-height: 1.2;
}

.asistente-cuerpo {
 display: flex;
 flex-direction: column;
 gap: 16px;
 overflow-y: auto;
 padding: 2px;
}

.asistente-cuerpo p {
 margin: 0;
 color: var(--nexo-text-muted, #667085);
 line-height: 1.5;
}

.asistente-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
 gap: 12px;
}

.asistente-tarjeta {
 display: flex;
 flex-direction: column;
 gap: 4px;
 padding: 16px;
 text-align: left;
 color: inherit;
 background: var(--nexo-bg, #f3f4f6);
 border: 2px solid transparent;
 border-radius: var(--nexo-radius-md, 16px);
 cursor: pointer;
 font: inherit;
 transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.asistente-tarjeta:hover { transform: translateY(-1px); }

.asistente-tarjeta[aria-pressed="true"] {
 border-color: var(--nexo-brand, #0d6efd);
 background: var(--nexo-brand-soft, #e8f0fe);
}

.asistente-tarjeta .icono { font-size: 28px; line-height: 1; }
.asistente-tarjeta strong { font-size: 16px; }
.asistente-tarjeta span.detalle { color: var(--nexo-text-muted, #667085); font-size: 13px; }

.asistente-campo {
 display: flex;
 flex-direction: column;
 gap: 6px;
 font-size: 13px;
 font-weight: 700;
}

.asistente-campo input[type="text"],
.asistente-campo input[type="tel"],
.asistente-campo input[type="email"] {
 height: var(--nexo-control-height, 42px);
 padding: 0 12px;
 font: inherit;
 font-weight: 400;
 color: inherit;
 background: var(--nexo-bg, #f3f4f6);
 border: 1px solid var(--nexo-line, rgba(15, 23, 42, .10));
 border-radius: var(--nexo-radius-sm, 12px);
}

.asistente-campo input:disabled { opacity: .6; }
.asistente-campo .ayuda { color: var(--nexo-text-muted, #667085); font-weight: 400; font-size: 12px; }

.asistente-dos-columnas {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 12px;
}

.asistente-fila-correo {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 10px;
 padding: 12px 14px;
 background: var(--nexo-bg, #f3f4f6);
 border-radius: var(--nexo-radius-sm, 12px);
 font-size: 14px;
}

.asistente-etiqueta {
 display: inline-block;
 padding: 3px 10px;
 border-radius: 999px;
 font-size: 12px;
 font-weight: 700;
 background: var(--nexo-brand-soft, #e8f0fe);
 color: var(--nexo-brand, #0d6efd);
}

.asistente-etiqueta.advertencia { background: rgba(245, 158, 11, .16); color: #b45309; }

.asistente-casilla {
 display: flex;
 align-items: center;
 gap: 8px;
 font-size: 14px;
 cursor: pointer;
}

.asistente-pregunta { display: flex; flex-direction: column; gap: 8px; }
.asistente-pregunta > strong { font-size: 14px; }
.asistente-opciones { display: flex; flex-wrap: wrap; gap: 8px; }

.asistente-chip {
 padding: 9px 14px;
 font: inherit;
 font-size: 14px;
 color: inherit;
 background: var(--nexo-bg, #f3f4f6);
 border: 2px solid transparent;
 border-radius: 999px;
 cursor: pointer;
}

.asistente-chip[aria-pressed="true"] {
 border-color: var(--nexo-brand, #0d6efd);
 background: var(--nexo-brand-soft, #e8f0fe);
 font-weight: 700;
}

.asistente-colores { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.asistente-color {
 width: 30px;
 height: 30px;
 border-radius: 50%;
 border: 3px solid transparent;
 cursor: pointer;
 padding: 0;
}

.asistente-color[aria-pressed="true"] { border-color: var(--nexo-text, #0f172a); }

.asistente-logo {
 display: flex;
 align-items: center;
 gap: 14px;
}

.asistente-logo-vista {
 width: 64px;
 height: 64px;
 flex: none;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: var(--nexo-radius-sm, 12px);
 background: var(--nexo-bg, #f3f4f6);
 overflow: hidden;
 font-weight: 800;
 color: var(--nexo-text-muted, #667085);
}

.asistente-logo-vista img { width: 100%; height: 100%; object-fit: contain; }

.asistente-resumen {
 display: flex;
 flex-direction: column;
 gap: 8px;
 padding: 14px 16px;
 background: var(--nexo-bg, #f3f4f6);
 border-radius: var(--nexo-radius-md, 16px);
}

.asistente-resumen div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.asistente-resumen div span:first-child { color: var(--nexo-text-muted, #667085); }
.asistente-resumen div span:last-child { font-weight: 700; text-align: right; }

.asistente-error {
 display: none;
 margin: 0;
 padding: 10px 12px;
 border-radius: var(--nexo-radius-sm, 12px);
 background: rgba(239, 68, 68, .12);
 color: #b91c1c;
 font-size: 13px;
}

.asistente-acciones {
 display: flex;
 align-items: center;
 gap: 10px;
 flex-wrap: wrap;
}

.asistente-acciones .espacio { flex: 1; }

.asistente-boton {
 min-height: var(--nexo-control-height, 42px);
 padding: 0 20px;
 font: inherit;
 font-weight: 700;
 border: none;
 border-radius: var(--nexo-radius-sm, 12px);
 cursor: pointer;
 color: #fff;
 background: var(--nexo-brand, #0d6efd);
}

.asistente-boton.secundario {
 color: var(--nexo-text, #0f172a);
 background: var(--nexo-bg, #f3f4f6);
}

.asistente-boton:disabled { opacity: .55; cursor: wait; }

.asistente-enlace {
 padding: 6px 4px;
 font: inherit;
 font-size: 13px;
 color: var(--nexo-text-muted, #667085);
 background: transparent;
 border: none;
 cursor: pointer;
 text-decoration: underline;
}

/* Recordatorio flotante cuando el asistente quedo a medias */
.asistente-pendiente {
 position: fixed;
 left: 18px;
 bottom: 18px;
 z-index: 9000;
 display: flex;
 align-items: center;
 gap: 10px;
 padding: 10px 14px;
 background: var(--nexo-surface-strong, #fff);
 color: var(--nexo-text, #0f172a);
 border: 1px solid var(--nexo-line, rgba(15, 23, 42, .10));
 border-radius: 999px;
 box-shadow: var(--nexo-shadow-soft, 0 20px 55px rgba(15, 23, 42, .12));
 font-size: 13px;
}

.asistente-pendiente button {
 padding: 6px 12px;
 font: inherit;
 font-weight: 700;
 color: #fff;
 background: var(--nexo-brand, #0d6efd);
 border: none;
 border-radius: 999px;
 cursor: pointer;
}

@media (max-width: 560px) {
 .asistente-card { padding: 22px 18px 18px; }
 .asistente-dos-columnas { grid-template-columns: 1fr; }
}

/* Pantalla final: tres salidas en una sola fila */
.asistente-boton.chico { padding: 0 14px; font-size: 14px; }

/* pregunta por el equipo en la pantalla final */
.asistente-equipo-pregunta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 14px 0; padding: 14px 16px; border-radius: 16px; border: 1px solid rgba(100, 116, 139, .3); background: rgba(124, 58, 237, .08); }
.asistente-equipo-pregunta > span { font-size: 28px; }
.asistente-equipo-pregunta > div { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 2px; }
.asistente-equipo-pregunta small { font-size: 13px; opacity: .8; }
