
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
/* Cuestionario del cliente. Tokens y componentes del prototipo aprobado (tema claro); sin recursos externos. */
/* =====================================================================
   Automatic Perú · sistema visual compartido
   Fábrica (Control v2) usa el tema oscuro "pizarra"; el cuestionario del
   cliente usa el tema claro. Mismos tamaños, ritmo, componentes y marca.
   Reglas canon adoptadas de SpeedGas (visual-system.css):
   1. Cambiar tokens antes de escribir colores o tamaños locales.
   2. Alturas de control únicas: 30 (compacta) / 34 (normal) / 40 (principal).
   3. Espaciado en base 4 (4 8 12 16 20 24 28 32 48); radios 6 controles, 10 paneles.
   4. Texto: cuerpo 13, etiquetas y ayudas 12; jerarquía por peso (400/600/700), no por tamaño.
   5. Colores de estado solo para significado operativo; chips con tinte suave + borde del mismo tono.
   ===================================================================== */

:root {
  /* ---------- Marca (del logo: chevrón blanco + verde lima→bosque) ---------- */
  --lima: #C3E85E;          /* solo avance y logro: segmentos completados, celebración */
  --bosque: #087B40;        /* verde del logo */

  /* ---------- Tema claro (cuestionario) ---------- */
  --canvas: #EEF2F1;
  --surface-1: #FFFFFF;
  --surface-2: #F5F8F7;
  --surface-3: #E6ECEB;
  --border: #D6DEDD;
  --border-strong: #7C8D8F;     /* bordes de campos: 3.3:1 sobre blanco */
  --ink: #13202A;
  --ink-2: #3C4D55;
  --muted: #56666D;             /* 5.9:1 sobre blanco */
  --brand: #087B40;             /* botón principal, texto blanco 5.6:1 */
  --brand-hover: #0D4A31;
  --on-brand: #FFFFFF;
  --brand-text: #087B40;
  --brand-soft: #E1F1E8;
  --done: #087B40;              /* segmento de avance completado */

  --amber: #8F5A00;  --amber-soft: #FBEFD6;
  --red: #B42D25;    --red-soft: #FBE5E3;
  --blue: #1D6497;   --blue-soft: #E0EEF8;
  --green: #087B40;  --green-soft: #E1F1E8;
  --gray: #56666D;   --gray-soft: #E9EEEE;

  --focus: #1D6497;
  --shadow-1: 0 1px 2px rgba(19, 32, 42, .06), 0 1px 1px rgba(19, 32, 42, .04);
  --shadow-2: 0 8px 24px rgba(19, 32, 42, .12);

  /* ---------- Tipografía: una sola familia ---------- */
  --font: "Poppins", "Onest", ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  --mono: ui-monospace, "Cascadia Mono", Consolas, monospace; /* solo direcciones web y códigos */

  /* Escala densa (Fábrica) */
  --t-xs: 11.5px;  /* contadores en chips */
  --t-sm: 12px;    /* meta, etiquetas de columna */
  --t-md: 13px;    /* cuerpo */
  --t-lg: 15px;    /* título de panel */
  --t-xl: 18px;    /* título de página: nunca más grande */
  /* Escala cómoda (cuestionario, móvil primero: 16px evita el zoom de iOS) */
  --q-meta: 13px;
  --q-body: 16px;
  --q-campo: 14px;   /* letra de los campos: 14 en escritorio, 16 en celular (evita el zoom del iPhone) */
  --q-label: 14px;
  --q-title: 22px;
  --q-hero: 28px;

  --w-regular: 400;
  --w-medium: 500;
  --w-semibold: 600;
  --w-bold: 700;
  --lh-tight: 1.25;
  --lh-body: 1.5;

  /* ---------- Espacio (base 4) ---------- */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s7: 28px; --s8: 32px; --s10: 40px; --s12: 48px;

  /* ---------- Forma ---------- */
  --r-sm: 6px;     /* controles */
  --r-md: 10px;    /* paneles */
  --r-pill: 999px; /* chips */

  /* ---------- Controles: tres alturas ---------- */
  --h-sm: 30px;
  --h-md: 34px;
  --field-h: var(--h-md);   /* altura canonica de campos (SpeedGas: 34px) */
  --h-lg: 40px;
  --touch: 44px;

  /* ---------- Movimiento ---------- */
  --dur-1: 120ms;
  --dur-2: 220ms;
  --ease: cubic-bezier(.2, .8, .2, 1);

  /* ---------- Layout ---------- */
  --sidebar: 216px;
  --topbar: 52px;
  --bottombar: 60px;
  --q-width: 860px;

  color-scheme: light;
}

/* =====================================================================
   Base
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--t-md);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "tnum" 1, "cv11" 1;
}
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-weight: var(--w-semibold); line-height: var(--lh-tight); letter-spacing: -.005em; }
a { color: var(--brand-text); text-underline-offset: 2px; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--r-sm); }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.muted { color: var(--muted); }
.num { font-variant-numeric: tabular-nums; }

/* Íconos (sprite en iconos.js) */
.i { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -3px; }
.i-lg { width: 20px; height: 20px; }

/* =====================================================================
   Botones: primario (uno por vista), secundario, fantasma, peligro
   ===================================================================== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s2);
  height: var(--h-md); padding: 0 var(--s4);
  border: 1px solid color-mix(in srgb, var(--brand) 42%, transparent); border-radius: var(--r-sm);
  background: color-mix(in srgb, var(--brand) 11%, var(--surface-1)); color: var(--brand-text);
  font-size: var(--t-md); font-weight: var(--w-bold); white-space: nowrap;
  cursor: pointer; text-decoration: none;
  transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);
}
.btn:hover:not([disabled]) { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 17%, var(--surface-1)); box-shadow: 0 7px 18px color-mix(in srgb, var(--brand) 15%, transparent); }
/* Botón principal (uno por vista): sólido, verde SpeedGas, texto blanco. El resto de botones queda tintado. */
.btn.btn-primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.btn.btn-primary:hover:not([disabled]) { background: color-mix(in srgb, var(--brand) 82%, #000); border-color: color-mix(in srgb, var(--brand) 82%, #000); box-shadow: none; }
.btn-ghost { background: transparent; border-color: transparent; color: var(--ink-2); }
.btn-ghost:hover:not([disabled]) { border-color: transparent; background: var(--surface-3); color: var(--ink); box-shadow: none; }
.btn-sm { height: var(--h-sm); padding: 0 var(--s3); font-size: var(--t-sm); }
.btn-lg { height: var(--h-lg); padding: 0 var(--s6); font-size: var(--q-body); }
.btn-icon { width: var(--h-md); padding: 0; }
.btn-icon.btn-sm { width: var(--h-sm); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

/* =====================================================================
   Campos
   ===================================================================== */
.field { display: grid; gap: 6px; min-width: 0; }
.field > label, .field > .label-row > label, .field .label { font-size: var(--t-md); font-weight: var(--w-semibold); color: var(--ink); display: flex; align-items: center; gap: var(--s2); }
.field .hint { font-size: var(--t-sm); color: var(--muted); }
.input, .select, .textarea {
  width: 100%; height: var(--h-md); padding: 0 var(--s3);
  background: var(--surface-1); color: var(--ink);
  border: 1px solid var(--border-strong); border-radius: var(--r-sm);
  transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.textarea { height: auto; min-height: 84px; padding: var(--s2) var(--s3); resize: vertical; line-height: var(--lh-body); }
.input::placeholder, .textarea::placeholder { color: #9aa29e; opacity: 1; }
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent); }
.select { appearance: none; padding-right: 32px; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 17px) 55%, calc(100% - 12px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.input-affix { display: flex; align-items: stretch; }
.input-affix > .affix { display: inline-flex; align-items: center; padding: 0 var(--s3); border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--muted); font-size: var(--t-sm); white-space: nowrap; }
.input-affix > .affix:first-child { border-right: 0; border-radius: var(--r-sm) 0 0 var(--r-sm); }
.input-affix > .affix:last-child { border-left: 0; border-radius: 0 var(--r-sm) var(--r-sm) 0; }
.input-affix > .input:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-affix > .input:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }

/* Valor típico precargado: fondo tenue + etiqueta. Al editarlo, desaparece. */

/* Error */
.is-error .input, .is-error .select, .is-error .textarea { border-color: var(--red); box-shadow: 0 0 0 1px var(--red); }
.error-msg { display: flex; gap: 6px; align-items: flex-start; color: var(--red); font-size: var(--t-sm); font-weight: var(--w-medium); }

/* Chips seleccionables (opciones múltiples) */
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }

/* Interruptor sí/no */
.switch { position: relative; display: inline-flex; align-items: center; gap: var(--s3); cursor: pointer; }
.switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.switch .track { width: 34px; height: 20px; border-radius: var(--r-pill); background: transparent; border: 1px solid var(--border-strong); position: relative; transition: border-color 180ms ease, background 180ms ease; flex: none; }
.switch .track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--muted); transition: transform 180ms ease, background 180ms ease; }
.switch input:checked + .track { background: transparent; border-color: color-mix(in srgb, var(--brand) 65%, var(--border)); }
.switch input:checked + .track::after { transform: translateX(14px); background: var(--brand); }
.switch input:focus-visible + .track { outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 42%, transparent); }
/* Casilla: colores de SpeedGas (desmarcada borde gris; marcada borde verde, fondo de superficie y check verde). Forma y tamano los define cada regla de uso. */
input[type="checkbox"]:not([role="switch"]):not(.switch input) { appearance: none; -webkit-appearance: none; box-sizing: border-box; border: 1px solid var(--border-strong); border-radius: 4px; background-color: var(--surface-1); background-repeat: no-repeat; background-position: center; background-size: 72%; cursor: pointer; }
input[type="checkbox"]:not([role="switch"]):not(.switch input):checked { border-color: var(--brand); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23087B40' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3 8.2l3.2 3.2L13 4.4'/%3E%3C/svg%3E"); }
input[type="checkbox"]:not([role="switch"]):not(.switch input):focus-visible { outline: 2px solid color-mix(in srgb, var(--brand) 42%, transparent); outline-offset: 2px; }
.count { display: inline-grid; place-items: center; min-width: 20px; height: 18px; padding: 0 5px; border-radius: var(--r-pill); font-size: var(--t-xs); font-weight: var(--w-bold); background: var(--surface-3); color: var(--ink-2); }

/* =====================================================================
   Avance por niveles: segmentos en forma de chevrón (el logo)
   ===================================================================== */
.levels { display: flex; gap: 3px; }
.levels .lv { flex: 1; height: 8px; background: var(--surface-3); clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 50%, calc(100% - 6px) 100%, 0 100%, 6px 50%); }
.levels .lv:first-child { clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 50%, calc(100% - 6px) 100%, 0 100%); border-radius: 3px 0 0 3px; }
.levels .lv.done { background: var(--done); }
.levels .lv.now { background: linear-gradient(90deg, var(--brand) 0 var(--fill, 35%), color-mix(in srgb, var(--brand) 28%, var(--surface-3)) var(--fill, 35%)); }
.levels .lv.fail { background: var(--red); }
@keyframes pop { 0% { filter: brightness(1.6); transform: scaleY(1.9); } 100% { filter: none; transform: none; } }

/* Aviso en línea */
.note { display: flex; gap: var(--s3); align-items: flex-start; padding: var(--s3) var(--s4); border-radius: var(--r-sm); background: var(--surface-2); border: 1px solid var(--border); color: var(--ink-2); }
.note-red { background: var(--red-soft); border-color: color-mix(in srgb, var(--red) 35%, transparent); color: var(--ink); }
.note-red > .i { color: var(--red); }
.note-amber { background: var(--amber-soft); border-color: color-mix(in srgb, var(--amber) 35%, transparent); color: var(--ink); }
.note-amber > .i { color: var(--amber); }

/* Guardado automático discreto */
.autosave { display: inline-flex; align-items: center; gap: 6px; font-size: var(--q-meta); color: var(--muted); }
.autosave .i { width: 14px; height: 14px; color: var(--green); }
.autosave.saving .i { color: var(--muted); animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}

/* Cuestionario del cliente · móvil primero · tema claro */
body.q { font-size: var(--q-body); background: var(--canvas); }
.q .field > label, .q .field > .label-row > label, .q .field .label { font-size: var(--q-label); font-weight: 500; }
.q .field .hint, .q .error-msg { font-size: var(--q-meta); }
.q .input, .q .select { height: var(--field-h); font-size: var(--q-campo); }
.q .textarea { font-size: var(--q-campo); }
.q .btn { height: var(--h-lg); font-size: var(--q-body); }
.q .btn-sm { height: var(--h-md); font-size: var(--q-meta); }
.q .switch { min-height: var(--touch); min-width: var(--touch); justify-content: flex-end; }

/* Cabecera */
.q-top { position: sticky; top: 0; z-index: 10; background: color-mix(in srgb, var(--surface-1) 92%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--border); }
.q-top-in { display: flex; align-items: center; gap: var(--s3); height: 56px; padding: 0 var(--s4); max-width: 1200px; margin: 0 auto; }
.q-top .logo { width: 28px; height: 28px; flex: none; }
.q-top .brand { display: inline-flex; align-items: center; gap: var(--s2); flex: none; }
.q-top .brand-name { font-size: 15px; font-weight: var(--w-bold); white-space: nowrap; }
/* Contexto del formulario (título de página, no marca): «Cuestionario de alta · Negocio del cliente». */
.q-top .ctx { flex: 1 1 auto; min-width: 0; margin: 0 0 0 var(--s3); padding-left: var(--s4); border-left: 1px solid var(--border); font-size: 15px; font-weight: var(--w-semibold); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.q-top .ctx-label { font-weight: var(--w-regular); color: var(--muted); }
@media (max-width: 560px) { .q-top .ctx { margin-left: 0; padding-left: var(--s3); } .q-top .ctx-label { display: none; } }
.q-top .autosave { margin-left: auto; }

/* Esqueleto */
.q-wrap { max-width: 1200px; margin: 0 auto; padding: 0 var(--s4) 120px; }
.q-rail { display: none; }
.q-main { max-width: var(--q-width); margin: 0 auto; }

/* Avance */
.q-progress { padding: var(--s4) 0 var(--s2); }
.q-progress .meta { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--q-meta); color: var(--muted); margin-bottom: var(--s2); }
.q-progress .meta b { color: var(--ink); font-weight: var(--w-semibold); }
.q-progress .levels .lv { height: 10px; }

.q-head { padding: var(--s4) 0 var(--s5); }
.q-head h1 { font-size: var(--q-title); font-weight: var(--w-bold); letter-spacing: -.01em; }
.q-head p { margin-top: 6px; color: var(--ink-2); font-size: 15px; }

/* Bloques del formulario */
.q-block { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--s4); display: grid; gap: var(--s4); }
.q-block + .q-block { margin-top: var(--s3); }
.q-block-head { display: flex; align-items: center; gap: var(--s2); }
.q-block-head h2 { font-size: 16px; font-weight: var(--w-semibold); }
.q-block-head .spacer { flex: 1; }
/* Campana de «¿Cuándo te avisa tu asistente?»: más grande que los otros íconos, en un círculo suave del ámbar de avisos. */
.ic-aviso { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--amber-soft); color: var(--amber); flex: none; }
.ic-aviso .i { width: 22px; height: 22px; vertical-align: 0; stroke-width: 2; }
.ic-aviso.ic-urgencia { background: var(--red-soft); color: var(--red); }
.q-grid2 { display: grid; gap: var(--s4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .q-grid2 { grid-template-columns: 1fr 1fr; } }
.q-add { margin-top: var(--s3); width: 100%; border-style: dashed; color: var(--brand-text); }
/* Nota de tope del plan: amable, sin bloquear el avance. */
.q-plan-note { display: flex; align-items: flex-start; gap: var(--s2); margin: var(--s3) 0 0; padding: var(--s3) var(--s4); background: var(--blue-soft); border: 1px solid var(--border); border-radius: var(--r-md); font-size: var(--q-label); line-height: var(--lh-body); color: var(--ink); }
.q-plan-note .i { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--blue); }
.plan-chip { flex: none; padding: 2px 10px; border: 1px solid var(--border); border-radius: var(--r-pill); background: var(--gray-soft); font-size: var(--q-meta); font-weight: var(--w-semibold); color: var(--muted); white-space: nowrap; }
.plan-chip[hidden] { display: none; }
@media (max-width: 560px) { .q-top-in { gap: var(--s2); } .plan-chip { padding: 1px 8px; } }
.q-inline { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); min-height: var(--touch); }
.q-inline + .q-inline { border-top: 1px solid var(--border); padding-top: var(--s3); }
.q-inline .t { font-size: 15px; font-weight: var(--w-medium); }
.q-inline .t small { display: block; font-size: var(--q-meta); color: var(--muted); font-weight: var(--w-regular); }

/* Servicios: filas compactas */

/* Turnos */
.days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; max-width: 360px; }
.shift { display: grid; gap: var(--s3); padding: var(--s3); border-radius: var(--r-sm); background: var(--surface-2); border: 1px solid var(--border); }
.shift-top { display: flex; align-items: center; gap: var(--s2); }
.shift-avisos { display: grid; gap: var(--s2); }
.shift-avisos:empty { display: none; }
.shift-top .select { flex: 1; }
.hours { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--s2); align-items: center; }
.hours .to { color: var(--muted); font-size: 14px; }

/* Afinar (plegables) */
.fold { border-top: 1px solid var(--border); }
.fold:first-child { border-top: 0; }
.fold summary { list-style: none; display: grid; grid-template-columns: 1fr auto; gap: 2px var(--s3); align-items: center; min-height: 64px; padding: var(--s2) 0; cursor: pointer; }
.fold summary::-webkit-details-marker { display: none; }
.fold summary .t { font-weight: var(--w-semibold); font-size: 15px; }
.fold summary .s { grid-column: 1; font-size: var(--q-meta); color: var(--muted); }
.fold summary .i { grid-row: 1 / span 2; grid-column: 2; color: var(--muted); transition: transform var(--dur-2) var(--ease); }
.fold[open] summary .i { transform: rotate(180deg); }
.fold .fold-body { padding: 0 0 var(--s4); display: grid; gap: var(--s4); }

/* Barra de acciones */
.q-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; background: var(--surface-1); border-top: 1px solid var(--border); box-shadow: 0 -6px 18px rgba(19, 32, 42, .06); padding: var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom)); }
.q-actions-in { display: grid; grid-template-columns: auto 1fr; gap: var(--s3); max-width: var(--q-width); margin: 0 auto; }
.q-actions .skip { grid-column: 1 / -1; justify-self: center; height: var(--touch); font-size: 15px; }

/* Refuerzo al completar un paso */
.toast { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 20; display: flex; align-items: center; gap: var(--s2); padding: 10px 16px; border-radius: var(--r-pill); background: var(--ink); color: #fff; font-size: 14px; font-weight: var(--w-semibold); box-shadow: var(--shadow-2); animation: toast 2.6s var(--ease) forwards; white-space: nowrap; }
.toast .i { color: var(--lima); }
.toast small { color: #B9C6CB; font-weight: var(--w-regular); }
@keyframes toast { 0% { opacity: 0; transform: translate(-50%, 8px); } 10%, 85% { opacity: 1; transform: translate(-50%, 0); } 100% { opacity: 0; transform: translate(-50%, 8px); } }

/* Bienvenida */
.hello { padding: var(--s8) 0 var(--s4); }
.hello h1 { font-size: var(--q-hero); font-weight: var(--w-bold); letter-spacing: -.015em; line-height: 1.15; }
.hello p.lead { margin-top: var(--s3); font-size: 17px; color: var(--ink-2); }
.facts { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s5); color: var(--ink-2); font-size: 15px; }
.facts span { display: inline-flex; align-items: center; gap: 6px; }
.facts .i { color: var(--brand-text); }
.plan { list-style: none; padding: 0; margin: var(--s6) 0 0; counter-reset: p; background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-md); }
.plan li { counter-increment: p; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: var(--s3); min-height: 52px; padding: 0 var(--s4); border-top: 1px solid var(--border); }
.plan li:first-child { border-top: 0; }
.plan li::before { content: counter(p); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--surface-3); font-size: 13px; font-weight: var(--w-bold); color: var(--ink-2); }
.plan li .min { font-size: var(--q-meta); color: var(--muted); }
.plan li.opt .min { color: var(--muted); }

/* Resumen */
.sum { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-md); }
.sum-row { display: grid; grid-template-columns: 28px 1fr auto; gap: var(--s3); align-items: start; padding: var(--s3) var(--s4); border-top: 1px solid var(--border); }
.sum-row:first-child { border-top: 0; }
.sum-row > .i { color: var(--done); width: 22px; height: 22px; margin-top: 1px; }
.sum-row .t { font-weight: var(--w-semibold); font-size: 15px; }
.sum-row .d { font-size: 14px; color: var(--ink-2); }

.confirm { margin-top: var(--s4); }
.check { display: flex; gap: var(--s3); align-items: flex-start; font-size: 15px; cursor: pointer; min-height: var(--touch); padding-top: 10px; }
.check input { width: 22px; height: 22px; margin: 0; flex: none; }

/* Enviado */
.done-hero { text-align: center; padding: var(--s10) 0 var(--s6); }
.done-hero .badge { position: relative; width: 88px; height: 88px; margin: 0 auto var(--s5); }
.done-hero .badge svg.logo { width: 88px; height: 88px; }
.done-hero .badge .ok { position: absolute; right: -6px; bottom: -6px; width: 34px; height: 34px; border-radius: 50%; background: var(--brand); color: #fff; display: grid; place-items: center; border: 3px solid var(--canvas); }
.done-hero .badge .ok .i { width: 18px; height: 18px; stroke-width: 2.6; }
.done-hero h1 { font-size: var(--q-hero); font-weight: var(--w-bold); letter-spacing: -.015em; }
.done-hero p { margin: var(--s3) auto 0; max-width: 34ch; color: var(--ink-2); font-size: 17px; }
.done-levels { max-width: 360px; margin: var(--s6) auto 0; }
.done-levels .levels .lv { height: 12px; }
.done-levels .levels .lv.done { background: var(--done); animation: pop 600ms var(--ease) both; }
.done-levels .levels .lv:nth-child(2) { animation-delay: 90ms; }
.done-levels .levels .lv:nth-child(3) { animation-delay: 180ms; }
.done-levels .levels .lv:nth-child(4) { animation-delay: 270ms; }
.done-levels .levels .lv:nth-child(5) { animation-delay: 360ms; }
.done-levels .levels .lv:nth-child(6) { animation-delay: 450ms; }
.done-levels small { display: block; margin-top: var(--s2); font-size: var(--q-meta); color: var(--muted); text-align: center; }
.next { list-style: none; padding: 0; margin: var(--s8) 0 0; background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-md); }
.next li { display: grid; grid-template-columns: 28px 1fr; gap: var(--s3); padding: var(--s3) var(--s4); border-top: 1px solid var(--border); }
.next li:first-child { border-top: 0; }
.next li .i { margin-top: 2px; width: 20px; height: 20px; color: var(--muted); }
.next li.now .i { color: var(--blue); }
.next li .t { font-weight: var(--w-semibold); font-size: 15px; }
.next li .d { font-size: 14px; color: var(--muted); }

/* Escritorio: riel de pasos a la izquierda, formulario al centro */
@media (min-width: 960px) {
  .q-wrap { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: var(--s10); padding-top: var(--s6); }
  .q-wrap.solo { display: block; }
  .q-rail { display: block; position: sticky; top: 80px; align-self: start; }
  .q-main { margin: 0; max-width: var(--q-width); }
  .q-progress { padding-top: 0; }
  .q-rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
  .q-rail li a { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: var(--s3); height: 44px; padding: 0 var(--s3); border-radius: var(--r-sm); color: var(--ink-2); text-decoration: none; font-size: 15px; font-weight: var(--w-medium); }
  .q-rail li a:hover { background: var(--surface-3); }
  .q-rail li .n { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--border-strong); font-size: 12px; font-weight: var(--w-bold); color: var(--muted); }
  .q-rail li.done .n { background: var(--done); border-color: var(--done); color: #fff; }
  .q-rail li.done .n .i { width: 14px; height: 14px; stroke-width: 2.6; vertical-align: 0; }
  .q-rail li.now a { background: var(--surface-1); color: var(--ink); box-shadow: var(--shadow-1); border: 1px solid var(--border); }
  .q-rail li.now .n { border-color: var(--brand); color: var(--brand-text); }
  .q-rail li .m { font-size: 12px; color: var(--muted); font-weight: var(--w-regular); }
  .q-rail .rail-foot { margin-top: var(--s5); padding: var(--s4) var(--s3) 0; border-top: 1px solid var(--border); font-size: var(--q-meta); color: var(--muted); display: grid; gap: var(--s2); }
  .q-grid2 { grid-template-columns: 1fr 1fr; }
  .q-actions { position: sticky; bottom: 0; margin-top: var(--s6); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--s3); box-shadow: var(--shadow-2); }
  .q-actions-in { grid-template-columns: auto 1fr auto; max-width: none; }
  .q-actions .skip { grid-column: auto; order: 0; height: var(--h-lg); }
  .q-wrap { padding-bottom: var(--s12); }
  /* Servicios como tabla */
  .hello, .done-hero { padding-top: var(--s12); }
  .welcome-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s10); align-items: start; }
  .welcome-grid .plan { margin-top: var(--s8); }
}

/* Profesional plegado */
.pro-mini { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s3); align-items: center; }
.pro-mini .t { font-weight: var(--w-semibold); font-size: 16px; }
.pro-mini .t small { display: block; font-weight: var(--w-regular); font-size: var(--q-meta); color: var(--muted); }
.pro-id { display: grid; grid-template-columns: 1fr; gap: var(--s3); }
@media (min-width: 960px) {
  .q-wrap.solo { min-height: calc(100vh - 56px); align-content: center; padding-top: 0; }
  .welcome-grid .hello { padding: 0; }
  .welcome-grid .plan { margin-top: 0; }
  .welcome-grid { align-items: center; }
  .pro-id { grid-template-columns: max-content minmax(0, 1fr); }
  .toast { bottom: 104px; }
}

/* =====================================================================
   Ajustes propios del formulario real (sobre el prototipo aprobado)
   ===================================================================== */

/* Guardado: también avisa si el navegador no deja guardar */
.autosave.err { color: var(--red); }
.autosave.err .i { color: var(--red); }

/* Foco en el título del paso (se enfoca solo al cambiar de pantalla): sin recuadro */
h1[tabindex="-1"]:focus { outline: none; }

/* Campos */
.field { align-content: start; }
.opc { font-weight: var(--w-regular); color: var(--muted); }
.input[type=number] { -moz-appearance: textfield; appearance: textfield; }
.input[type=number]::-webkit-inner-spin-button, .input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.input[type=time], .input[type=date] { min-width: 0; }
.input[aria-invalid="true"], .select[aria-invalid="true"], .textarea[aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 1px var(--red); }
.field .error-msg .i { margin-top: 2px; }
.q-inline .error-msg { margin-top: 2px; }
.block-error { margin-top: calc(var(--s2) * -1); }

/* Casillas: lista de opciones múltiples (medios de pago, servicios de cada profesional, límites).
   Una fila por opción con casilla, ícono opcional y texto; el error va como texto debajo, sin borde alrededor de las opciones. */

.field.is-error .checklist { border: 0; box-shadow: none; }

.q-otros { margin-top: var(--s3); }

/* Servicios: nombre editable, plegado de opciones */

/* Turnos y horarios */
.shifts { display: grid; gap: var(--s3); }
.hours.con-quitar { grid-template-columns: 1fr auto 1fr auto; }
.shift-actions { display: flex; flex-wrap: wrap; gap: var(--s2); }
.shift-actions .btn { color: var(--brand-text); }
.days .choice { display: block; }
.horario-edit { display: grid; gap: var(--s3); padding-top: var(--s3); }
.q-inline.top { align-items: flex-start; }
.horario-fila + .horario-fila { margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--border); }

/* Profesionales: el desplegable de cada ficha */
.pro-actions { display: flex; gap: var(--s2); }

/* Afinar: fichas dentro de cada bloque plegable */
.fold-body .desc { font-size: var(--q-meta); color: var(--muted); }
.fold-body .q-add { margin-top: 0; }

/* Riel de pasos: paso con datos pendientes */
@media (min-width: 960px) {
  .q-rail li.pend .n { border-color: var(--amber); color: var(--amber); }
  .q-rail li.fut a { color: var(--muted); cursor: default; }
  .q-rail li.fut a:hover { background: transparent; }
}

/* Confirmación */
.check-wrap { display: grid; gap: 4px; }
.confirm .fold summary { min-height: 48px; }

/* Aviso al completar un paso: se muestra unos segundos y se va (también con movimiento reducido) */
.toast { animation: toast-in var(--dur-2) var(--ease) both; transition: opacity var(--dur-2) var(--ease); }
.toast.fuera { opacity: 0; }
@keyframes toast-in { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* Pie con las opciones de archivo (rubro, abrir respuestas, empezar de nuevo) */
.q-foot { max-width: 1200px; margin: 0 auto; padding: var(--s6) var(--s4) var(--s8); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s6); font-size: var(--q-meta); color: var(--muted); }
.q-foot label { display: inline-flex; align-items: center; gap: var(--s2); }
.q-foot .select { width: auto; height: var(--field-h); font-size: 14px; }
.q-foot .link-btn { display: inline-flex; align-items: center; min-height: var(--touch); padding: 0; border: 0; background: none; color: var(--brand-text); font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.q-foot .file-btn { position: relative; }
@media (max-width: 959px) { .q-wrap { padding-bottom: var(--s6); } .q-foot { padding-bottom: 104px; } }

/* Móvil: «Saltar» y «Continuar sin completar» van debajo de Atrás y del botón principal */
@media (max-width: 959px) { .q-actions .skip { order: 3; } }
/* País, moneda y hora del negocio: texto pequeño bajo el país (y selector de zona si el país tiene varias). */
/* El país es un combo pequeño con bandera (no ocupa todo el ancho). */
.field .country-field { max-width: 300px; }
/* Bloque «Ubicación» de cada sede: dirección con pin, referencia y enlace de Google Maps. */
.input-affix.input-icon > .affix { padding: 0 var(--s3); }
.input-affix.input-icon > .affix .i { width: 16px; height: 16px; }
.input-affix > .input { flex: 1; min-width: 0; }
.maps-estado { margin: 0; }
.maps-estado:empty { display: none; }
.maps-estado:not(:empty) { color: var(--muted); }
.field .hint a { color: inherit; text-decoration: underline; }
.ubicacion { margin: calc(var(--s2) * -1) 0 var(--s3); display: grid; gap: var(--s3); }
.ubicacion > .hint { margin: 0; font-size: var(--t-sm); color: var(--muted); }

/* Globo de información (ⓘ) junto al título del campo */
.field > .label-row { display: flex; align-items: center; gap: var(--s2); min-width: 0; }
.info-wrap { position: relative; display: inline-flex; flex: none; }
.info-btn { display: inline-grid; place-items: center; width: 28px; height: 28px; margin: -4px 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; }
.info-btn:hover, .info-btn[aria-expanded="true"] { color: var(--brand-text); background: var(--brand-soft); }
.info-btn .i { width: 18px; height: 18px; vertical-align: 0; }
.info-pop { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; width: min(320px, calc(100vw - 48px)); padding: var(--s3); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); color: var(--ink-2); box-shadow: var(--shadow-2); font-size: var(--q-meta); font-weight: var(--w-regular); line-height: var(--lh-body); }


/* ---------- Servicios y precios: una fila por servicio (activar, duración, cómo se agenda, cómo se cobra) ---------- */
:root { --accent-eval: color-mix(in srgb, var(--brand) 38%, var(--border)); }
.precio > .info-wrap { flex: none; margin-left: -9px; margin-right: 10px; }
.precio .info-btn { margin: 0; width: 24px; height: 24px; }
.precio .info-btn .i { width: 16px; height: 16px; }
.q-block-head .count-svc { color: var(--muted); font-size: var(--t-sm); }
.info-pop p + p { margin-top: 6px; }
.info-pop b { color: var(--ink); font-weight: var(--w-semibold); }

/* Precio: control segmentado + monto solo con Fijo o Desde */
.precio { display: flex; align-items: center; gap: var(--s2); min-width: 0; }
.precio-monto { flex: 1; max-width: 168px; }
.precio-monto .input:disabled { background: var(--surface-3); color: var(--muted); border-color: var(--border); cursor: not-allowed; text-align: center; -webkit-text-fill-color: var(--muted); }

/* Celular: se apila; el precio ocupa la fila completa con las 4 opciones iguales */
@media (max-width: 640px) {
  .precio-monto { max-width: none; flex-basis: 100%; }
}

/* Nota fija con lista (p. ej. qué hace el asistente ante una urgencia) */
.note-fijo .fijo-lista { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.note-fijo .fijo-lista ul { margin: 4px 0 0; padding-left: 18px; display: grid; gap: 4px; }
.note-fijo .fijo-lista li { line-height: 1.45; }

/* Notas explicativas (marco con fondo): letra más chica y negritas suaves para que no compitan con los campos. */
.note { font-size: 14.5px; line-height: 1.5; }
.note > .i { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.note b, .note strong { font-weight: var(--w-semibold); }

/* Vista previa de lo que dirá el asistente (estacionamiento de la sede): nota pequeña y suave bajo las opciones. */
.seg-con-vista { display: flex; flex-direction: column; gap: var(--s2); }

/* Cierre del cuestionario */
.send-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s2); }
.send-note { margin: 0; font-size: 14px; color: var(--ink-2); max-width: 36ch; text-align: right; }
.send-error { color: #b42318; font-weight: 600; }
.btn[disabled] { opacity: .75; cursor: progress; }
.spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; display: inline-block; animation: giro .8s linear infinite; }
@keyframes giro { to { transform: rotate(360deg); } }
.done-hero p.done-sub { max-width: 44ch; font-size: 16px; }
.done-hero .btn-cerrar { margin-top: var(--s5); background: #1f8a4c; border-color: #1f8a4c; color: #fff; padding-inline: var(--s8); }
/* Corrección pedida por el equipo: aviso discreto arriba del formulario y resalte breve de la pregunta. */
.aviso-correccion { margin-bottom: var(--s4); }
.aviso-correccion .correccion-nota { margin: var(--s1) 0 var(--s2); white-space: pre-wrap; overflow-wrap: anywhere; }
.field.resalte { border-radius: var(--r-sm); outline: 2px solid var(--amber); outline-offset: 4px; background: var(--amber-soft); transition: background .6s, outline-color .6s; }
@media (prefers-reduced-motion: reduce) { .field.resalte { transition: none; } }

/* =====================================================================
   Estilo aprobado por el dueño (2026-10-09): tarjetas con cabecera verde, subgrupos,
   opciones en botones redondeados, campos del tamaño de su dato y ayudas en gris.
   Todo se aplica por componentes (clases), no pantalla por pantalla.
   ===================================================================== */
:root {
  --verde-marca: #2D9222;     /* íconos y bordes de lo elegido */
  --verde-texto: #278420;     /* títulos pequeños: 4.8:1 sobre blanco (el #2D9222 da 4.0:1) */
  --verde-oscuro: #1f6f17;    /* texto de la opción elegida */
  --verde-suave: #eef6ec;     /* cabeceras y opción elegida */
  --tarjeta-borde: #dfe3df;
  --linea-suave: #e8ebe8;
  --pill-borde: #c9cfcb;
  --ayuda: #6b7470;           /* ayudas en gris: 4.9:1 sobre blanco */
  --caja-suave: #f6f8f6;
  --rojo-suave: #e9b8b3;
}

/* Más aire entre secciones y títulos claros */
.q-block { border-color: var(--tarjeta-borde); border-radius: 12px; padding: var(--s5); gap: var(--s5); }
.q-block + .q-block, .q-block + .q-add, .q-block + .q-plan-note { margin-top: var(--s6); }
.q-head { padding: var(--s5) 0 var(--s6); }
.q-block-head { gap: var(--s3); padding-bottom: var(--s4); border-bottom: 1px solid var(--linea-suave); }
.q-block-head > .i { color: var(--verde-marca); }
.q-block-head h2 { font-size: 17px; font-weight: var(--w-semibold); }

/* Tarjeta (sede, profesional, servicios, ficha de «Afinar»): borde suave, cabecera verde con ícono y título, «Quitar» con papelera */
.q-block.tarjeta, .q-card.tarjeta { padding: 0; gap: 0; overflow: hidden; background: #fff; border: 1px solid var(--tarjeta-borde); border-radius: 12px; }
.tarjeta-cab { display: flex; align-items: center; gap: var(--s3); min-height: 56px; padding: var(--s2) var(--s5); background: var(--verde-suave); border-bottom: 1px solid var(--tarjeta-borde); }
.tarjeta-cab h2, .tarjeta-cab h3 { margin: 0; font-size: 16px; font-weight: var(--w-semibold); color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.tarjeta-cab .spacer { flex: 1; }
.tarjeta-ic { display: inline-grid; place-items: center; flex: none; color: var(--verde-marca); }
.tarjeta-ic .i { width: 22px; height: 22px; vertical-align: 0; }
.tarjeta-cuerpo { display: grid; gap: var(--s4); padding: var(--s5); }
.tarjeta-plegada .tarjeta-cab { border-bottom: 0; }
.tarjeta .count-svc { color: var(--ayuda); font-size: var(--t-sm); }
.q-card.tarjeta + .q-card.tarjeta { margin-top: var(--s2); }
.q-card.tarjeta .tarjeta-cab { min-height: 48px; }
.q-card.tarjeta .tarjeta-cab h3 { font-size: 15px; }
.q-card.tarjeta .tarjeta-ic .i { width: 20px; height: 20px; }
/* Rubro/servicio no ofrecido: se atenúa con fondo gris y texto #5f6762 (5.3:1), sin bajar la opacidad (el texto se mantiene legible). */
.q-card.off { background: #F1F4F3; border-color: var(--border); color: #5f6762; }
.q-card.off :is(h3, p, label, span, legend) { color: #5f6762; }
.pro-mini .t { font-weight: var(--w-semibold); font-size: 16px; flex: 1; min-width: 0; }
.pro-mini .t small { display: block; font-weight: var(--w-regular); font-size: var(--t-sm); color: var(--ayuda); }

/* «Quitar»: botón con borde rojo suave, texto rojo e ícono de papelera */
.btn-quitar { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 var(--s3); border: 1px solid var(--rojo-suave); border-radius: 8px; background: #fff; color: var(--red); font-size: 13px; font-weight: var(--w-semibold); cursor: pointer; transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease); }
.btn-quitar .i { width: 16px; height: 16px; vertical-align: 0; }
.btn-quitar:hover { background: var(--red-soft); border-color: var(--red); }
.pro-actions { display: flex; align-items: center; gap: var(--s2); }
.tarjeta-cab .btn-sm { height: 36px; border-radius: 8px; background: #fff; }

/* Subgrupos: título pequeño en mayúsculas verdes y una línea suave entre ellos */
.subgrupo { display: grid; gap: var(--s4); min-width: 0; padding: var(--s4); border-radius: 10px; background: #f6f8f6; border: 1px solid #eaeeea; }
.subgrupo + .subgrupo { margin-top: 0; }
.subgrupo-t { display: flex; align-items: center; gap: var(--s2); margin: 0; font-size: 12px; font-weight: var(--w-semibold); letter-spacing: .06em; text-transform: uppercase; color: var(--verde-texto); }
.q-block > .subgrupo + .subgrupo { margin-top: 0; }
.q-block:has(> .subgrupo) { row-gap: var(--s4); }
.horario-sede { display: grid; gap: var(--s3); }

/* Opciones de elección única o múltiple: SIEMPRE botones redondeados; la elegida, borde verde 1.5 px, fondo verde suave, texto verde oscuro y ✓ */
.sino, .seg-precio, .seg, .checklist, .days { border: 0; padding: 0; margin: 0; min-width: 0; }
.sino, .seg-precio, .seg, .checklist { display: flex; flex-wrap: wrap; gap: var(--s2); }
.q-inline > .sino { flex: none; flex-wrap: nowrap; }
.q-inline > .t { flex: 1; min-width: 0; }
.seg-precio legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0; }
.choice span, .seg-precio label, .seg button, .check-row {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 32px; padding: 4px 14px; border: 1px solid var(--pill-borde); border-radius: var(--r-pill);
  background: #fff; color: var(--ink-2); font-size: 14px; font-weight: var(--w-medium); line-height: 1.25; text-align: center; cursor: pointer;
  transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
}
.choice span:hover, .seg-precio label:hover, .seg button:hover, .check-row:hover { background: var(--caja-suave); border-color: var(--ink-2); }
.choice input, .seg-precio input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.check-row input[type="checkbox"] { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.choice { position: relative; }
.check-row .i { width: 18px; height: 18px; color: var(--ayuda); vertical-align: 0; }
.choice input:checked + span, .seg-precio label:has(input:checked), .seg button[aria-pressed="true"], .check-row:has(input:checked) {
  border: 1.5px solid var(--verde-marca); padding: 3.5px 13.5px; background: var(--verde-suave); color: var(--verde-oscuro); font-weight: var(--w-semibold);
}
.check-row:has(input:checked) .i { color: var(--verde-oscuro); }
.choice input:checked + span::before, .seg-precio label:has(input:checked)::before, .seg button[aria-pressed="true"]::before, .check-row:has(input:checked)::before { content: "✓"; content: "✓" / ""; font-weight: var(--w-bold); line-height: 1; }
.choice input:focus-visible + span, .seg-precio label:has(input:focus-visible), .seg button:focus-visible, .check-row:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.seg-opc.seg-largo label { text-align: left; justify-content: flex-start; }
/* Días de la semana: la misma pieza, en siete columnas iguales y sin ✓ para que quepa la letra */
.days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; max-width: 380px; }
.days .choice { display: block; }
.days .choice span { display: flex; width: 100%; min-height: 32px; padding: 0; font-size: 13.5px; }
.days .choice input:checked + span { padding: 0; }
.days .choice input:checked + span::before { content: none; }

/* Campos del tamaño de su dato */
.field-corto > .input { max-width: 132px; }
.field-corto > .input-affix { max-width: 176px; }
.input[type="date"] { max-width: 200px; }
.q-grid2 > .field, .pro-id > .field { min-width: 0; }

/* Ayudas en gris, cortas; ejemplos y avisos en caja suave */
.field .hint, .q .field .hint { font-size: 12px; line-height: 1.45; color: var(--ayuda); }
.q-inline .t small, .fold summary .s, .fold-body .desc { color: var(--ayuda); font-size: 12px; }
.note-bot { display: flex; gap: var(--s2); align-items: flex-start; margin: 0; padding: 10px 12px; border-radius: 8px; background: var(--caja-suave); border: 1px solid var(--linea-suave); font-size: 12px; line-height: 1.45; color: var(--ink-2); }
.note-bot[hidden] { display: none; }
.note-bot > .i { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--verde-marca); vertical-align: 0; }
.note-bot small { display: block; margin-top: 2px; color: var(--ayuda); font-size: 12px; }
.seg-con-vista .note-bot { align-self: stretch; }

/* Servicios: el precio va en su propia línea, con los cuatro botones y el monto */
.precio { flex-wrap: wrap; }
.seg-precio { flex: 0 1 auto; }

/* Celular: una columna y objetivos táctiles de 44 px */
@media (max-width: 640px) {
  .q-block { padding: var(--s4); gap: var(--s4); }
  .tarjeta-cab { flex-wrap: wrap; padding: var(--s2) var(--s4); }
  .tarjeta-cuerpo { padding: var(--s4); }
  .seg-precio label, .seg button, .check-row { min-height: 44px; }
  .choice span { min-height: 32px; }
  .choice { padding: 6px 0; }
  .btn-quitar, .tarjeta-cab .btn-sm { height: 44px; }
  .days .choice { padding: 6px 0; } /* area tactil de 44 px invisible: el input cubre todo el .choice */
  .days .choice span { min-height: 32px; }
  .days { gap: 4px; }
  .seg-opc.seg-largo { display: grid; grid-template-columns: 1fr; }
  .seg-opc.seg-largo label { justify-content: flex-start; }
  .seg-precio { width: 100%; }
  .seg-precio label { flex: 1 1 auto; padding-left: 10px; padding-right: 10px; }
}

/* Etiquetas en línea: la etiqueta, «(opcional)» y «típico» fluyen juntas y bajan de línea con el texto */
.field > label, .field > .label-row > label, .field .label { display: block; }
.field > .label-row { align-items: flex-start; }
.field .opc { margin-left: .4em; }

@media (max-width: 640px) {
  .shift { padding: var(--s2); }
  .q .input[type="time"] { padding: 0 var(--s2); font-size: 15px; }
  .hours.con-quitar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 44px; }
  .hours .btn-icon { width: 44px; height: 44px; }
}
@media (max-width: 480px) { input[type="time"]::-webkit-calendar-picker-indicator { display: none; } }
@media (max-width: 640px) { .precio > .precio-monto { order: 1; } .precio > .info-wrap { order: 2; margin-left: 0; margin-right: 0; } }

/* Cambios del dueño 2026-10-09: placeholder tenue, letra de campos 16 px en celular, subgrupos en panel propio */
.q .input::placeholder, .q .textarea::placeholder { color: #9aa29e; opacity: 1; }
.subgrupo-t { color: #22701c; } /* 5.4:1 sobre el fondo del panel */
@media (max-width: 760px) { :root { --q-campo: 16px; } .q { --q-label: 15px; } .subgrupo { padding: var(--s3); } }

/* Íconos de subgrupo (2026-10-09) */
.subgrupo-ic { display: inline-flex; flex: none; color: var(--verde-texto); }
.subgrupo-ic .i { width: 22px; height: 22px; }

/* Cantidad con botones − / + (stepper): UN solo control unificado, mismo alto que los campos. */
.stepper { display: inline-flex; align-items: stretch; width: 132px; max-width: 100%; height: var(--field-h); box-sizing: border-box; background: #fff; border: 1px solid var(--border-strong); border-radius: 8px; overflow: hidden; transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease); }
.stepper:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent); }
.stepper > .input { flex: 1 1 auto; min-width: 0; width: auto; height: 100%; padding: 0; border: 0; border-left: 1px solid var(--border); border-right: 1px solid var(--border); border-radius: 0; box-shadow: none; background: transparent; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.stepper > .input:focus { box-shadow: none; border-color: var(--border); }
.stepper > .input::-webkit-outer-spin-button, .stepper > .input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.stepper-btn { position: relative; flex: 0 0 36px; width: 36px; height: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #4a5551; font-size: 0; line-height: 0; font-family: inherit; cursor: pointer; transition: background var(--dur-1) var(--ease), color var(--dur-1) var(--ease); }
.stepper-btn::before, .stepper-btn::after { content: ""; position: absolute; left: 50%; top: 50%; background: currentColor; border-radius: 1px; transform: translate(-50%, -50%); }
.stepper-btn::before { width: 12px; height: 2px; }
.stepper-btn[data-step="1"]::after { width: 2px; height: 12px; }
.stepper-btn:hover:not([disabled]) { background: #eef6ec; color: var(--green, #2f7d32); }
.stepper-btn:focus-visible { outline: none; background: #eef6ec; color: var(--green, #2f7d32); }
.stepper-btn[disabled] { color: #c3c9c6; cursor: not-allowed; }
@media (max-width: 760px) { .stepper { width: 150px; height: 44px; } .stepper-btn { flex-basis: 48px; width: 48px; } }

/* =====================================================================
   Servicios y precios v2 (2026-10-09): filas resumidas que se abren al tocar (una a la vez).
   Ayuda en línea gris en lugar de ⓘ; duración con stepper; precio con control segmentado.
   ===================================================================== */
.sx-lista { --sx-sw: 52px; --sx-cols: minmax(0, 1fr) 88px 176px 150px 32px; --sx-h: 36px; --sx-campo: 14px; list-style: none; margin: 0; padding: 0 8px 8px; }
.sx-cols { display: grid; grid-template-columns: 52px minmax(0, 1fr) 88px 176px 150px 32px; gap: 0 16px; padding: 10px 20px 4px 8px; color: var(--ayuda); font-size: 12px; }
.sx-cols span:first-child { grid-column: 2; }
.sx { position: relative; display: grid; grid-template-columns: var(--sx-sw) minmax(0, 1fr); align-items: center; border-top: 1px solid var(--linea-suave); }
.sx:first-child { border-top: 0; }
.sx.abierto { background: var(--caja-suave); border: 1px solid var(--tarjeta-borde); border-radius: 10px; margin: 6px 0; }
.sx.abierto + .sx { border-top: 0; }
.sx-slot { display: grid; place-items: center; align-self: start; height: 56px; }
.sx-slot .switch { margin: 0; }
.sx-fila { all: unset; box-sizing: border-box; display: grid; grid-template-columns: var(--sx-cols); gap: 0 16px; align-items: center; min-height: 56px; padding: 8px 12px 8px 0; cursor: pointer; border-radius: 8px; font-family: inherit; }
div.sx-fila { cursor: default; }
.sx-fila:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.sx:not(.abierto):not(.off) .sx-fila:hover { background: var(--caja-suave); }
.sx-nombre { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; }
.sx-nombre strong { font-weight: 500; font-size: 14px; overflow-wrap: anywhere; }
.sx-sub { flex-basis: 100%; color: var(--ayuda); font-size: 12px; line-height: 1.4; }
.sx-ok { flex-basis: 100%; color: var(--verde-texto); font-size: 12px; display: flex; align-items: center; gap: 4px; }
.sx-ok .i { width: 14px; height: 14px; }
.sx-capsula { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border: 1px solid var(--verde-marca); border-radius: 999px; background: #fff; color: var(--verde-oscuro); font-size: 11.5px; font-weight: 500; white-space: nowrap; }
.sx-dur, .sx-ag { color: var(--ink-2); font-size: 13px; }
.sx-pr { font-size: 13px; font-weight: 500; }
.sx-pr.tenue { color: var(--ayuda); font-weight: 400; }
.sx-pr.falta { color: var(--red); }
.sx-chev { justify-self: end; color: var(--muted); display: inline-flex; transition: transform 160ms; }
.sx.abierto .sx-chev { transform: rotate(180deg); }
.sx.off .sx-nombre strong { color: var(--ayuda); font-weight: 400; }
.sx-off { grid-column: 2 / 5; color: var(--ayuda); font-size: 13px; }
.sx-meta { display: contents; }

/* Evaluación con el especialista (paso previo) */
.sx.sx-eval { background: #eef4fb; border: 1px solid #c9dbef; border-radius: 10px; margin: 6px 0; }
.sx-eval + .sx { border-top: 0; }
.sx-ic-eval { display: inline-grid; place-items: center; color: #2a6db3; }
.sx-ic-eval .i { width: 22px; height: 22px; }
.sx-capsula-azul { border-color: #2a6db3; color: #1f5a96; }
.sx-eval .sx-sub { color: #475a6b; }
.sx-eval .sx-pr.tenue { color: #475a6b; }
.sx-como { margin: 4px 0 12px; padding: 12px 16px; background: #fff; border: 1px solid #c9dbef; border-radius: 8px; font-size: 13.5px; }
.sx-como-t { margin: 0 0 4px; font-weight: 600; }
.sx-como ol { margin: 0; padding-left: 20px; }
.sx-como li + li { margin-top: 2px; }
.sx-como-n { margin: 8px 0 0; color: var(--ayuda); font-size: 12.5px; }

/* Editor */
.sx-editor { grid-column: 1 / -1; padding: 4px 20px 16px var(--sx-sw); }
.sx-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; padding-top: 12px; border-top: 1px solid var(--linea-suave); }
.sx-eval .sx-grid { border-top: 0; padding-top: 4px; }
.sx-grid > .sx-precio, .sx-grid > .sx-agenda-campo { grid-column: 1 / -1; }
.sx-grid > .sx-fila2 { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px 32px; }
.sx-agenda-campo .sx-select { justify-self: start; }
.sx-grid > .sx-agenda-linea { grid-column: 1 / -1; margin: 0; font-size: 14px; }
.sx-agenda-valor { color: var(--muted); }
.sx-campo { display: grid; gap: 6px; align-content: start; min-width: 0; border: 0; margin: 0; padding: 0; }
.sx-lbl { font-size: 14px; font-weight: 500; padding: 0; }
.sx-ayuda { margin: 0; color: var(--ayuda); font-size: 12.5px; line-height: 1.45; }
.sx-err { margin: 0; color: var(--red); font-size: 12.5px; }
.sx-errs { grid-column: 1 / -1; display: grid; gap: 4px; }
.sx-editor .input, .sx-editor .select { height: var(--sx-h); font-size: var(--sx-campo); }
.sx-in-nombre { width: 100%; max-width: 380px; }
.sx-select { width: auto; max-width: 100%; }
.sx-step { display: inline-flex; width: 150px; height: var(--sx-h); border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; overflow: hidden; }
.sx-step.err { border-color: var(--red); }
.sx-step:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px rgba(29, 100, 151, .28); }
.sx-step button { flex: 0 0 36px; border: 0; background: transparent; cursor: pointer; color: #4a5551; display: grid; place-items: center; padding: 0; }
.sx-step button:hover, .sx-step button:focus-visible { background: var(--verde-suave); color: var(--verde-oscuro); outline: none; }
.sx-step-mid { flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px; border-left: 1px solid var(--border); border-right: 1px solid var(--border); }
.sx-step-mid input { width: 3.2ch; height: auto !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; text-align: right; font-size: var(--sx-campo); background: transparent !important; -moz-appearance: textfield; }
.sx-step-mid input:focus { outline: none; }
.sx-step-mid input::-webkit-inner-spin-button, .sx-step-mid input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sx-u { color: var(--muted); font-size: 13px; }
.sx-precio-ctl { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sx-seg { display: inline-flex; border: 1px solid var(--border-strong); border-radius: 8px; overflow: hidden; background: #fff; min-width: 0; }
.sx-seg label { position: relative; display: inline-flex; align-items: center; gap: 4px; height: calc(var(--sx-h) - 2px); padding: 0 12px; font-size: 13px; cursor: pointer; white-space: nowrap; color: var(--ink-2); }
.sx-seg label + label { border-left: 1px solid var(--pill-borde); }
.sx-seg input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.sx-seg label:hover { background: var(--caja-suave); }
.sx-seg label:has(input:checked) { background: var(--verde-suave); color: var(--verde-oscuro); font-weight: 600; }
.sx-seg label:has(input:checked)::before { content: "✓"; font-size: 11px; }
.sx-seg label:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: -2px; }
.sx-monto { display: inline-flex; width: 132px; height: var(--sx-h); border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; overflow: hidden; }
.sx-monto:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px rgba(29, 100, 151, .28); }
.sx-monto.err { border-color: var(--red); }
.sx-aff { display: grid; place-items: center; padding: 0 10px; color: var(--muted); font-size: 13px; background: var(--caja-suave); border-right: 1px solid var(--border); }
.sx-monto input { flex: 1; min-width: 0; height: auto !important; border: 0 !important; padding: 0 10px !important; box-shadow: none !important; font-size: var(--sx-campo); background: transparent !important; }
.sx-monto input:focus { outline: none; }
.sx-mas { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 32px; padding-top: 8px; }
.sx-pie { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding-top: 4px; }
.sx-spacer { flex: 1; }
.sx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid var(--pill-borde); border-radius: 8px; background: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.sx-btn .i { width: 16px; height: 16px; }
.sx-btn-listo, .sx-btn-agregar { color: var(--verde-oscuro); border-color: var(--verde-marca); }
.sx-btn-listo:hover, .sx-btn-agregar:hover { background: var(--verde-suave); }
.sx-btn-quitar { color: var(--red); border-color: var(--rojo-suave); }
.sx-btn-quitar:hover { background: var(--red-soft); border-color: var(--red); }
.sx-tarjeta-pie { padding: 12px 20px 16px 60px; border-top: 1px solid var(--linea-suave); }
.sx-falta { padding: 0 20px 12px; }
.sx-editor :focus-visible, .sx-btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

@media (max-width: 760px) {
  .sx-lista { --sx-sw: 48px; --sx-h: 44px; --sx-campo: 16px; padding: 0 4px 8px; }
  .sx-cols { display: none; }
  .sx-fila { grid-template-columns: minmax(0, 1fr) 24px; grid-template-areas: "n ch" "m ch"; gap: 2px 8px; padding: 10px 8px 10px 0; min-height: 60px; }
  .sx-nombre { grid-area: n; }
  .sx-chev { grid-area: ch; }
  .sx-meta { grid-area: m; display: flex; flex-wrap: wrap; gap: 2px 0; }
  .sx-meta > span { padding: 0 10px; border-left: 1px solid var(--border); line-height: 1.35; }
  .sx-meta > span:first-child { padding-left: 0; border-left: 0; }
  .sx-meta .sx-pr { order: 2; }
  .sx-meta .sx-ag { order: 3; flex-basis: 100%; padding-left: 0; border-left: 0; color: var(--ayuda); font-size: 12.5px; }
  .sx-meta .sx-ag.def, .sx-meta .sx-ag:empty { display: none; }
  .sx-off { grid-area: m; }
  .sx-slot { height: 60px; }
  .sx-editor { padding: 0 12px 14px; }
  .sx-grid, .sx-mas { grid-template-columns: 1fr; gap: 16px; }
  .sx-grid > .sx-precio, .sx-grid > .sx-agenda-campo { grid-column: auto; }
  .sx-grid > .sx-fila2 { grid-column: auto; display: grid; grid-template-columns: 1fr; }
  .sx-in-nombre { max-width: none; }
  .sx-select { width: 100%; }
  .sx-seg { display: flex; width: 100%; }
  .sx-seg label { flex: 1 1 0; justify-content: center; padding: 0 4px; height: 42px; }
  .sx-monto { width: 160px; }
  .sx-step button { flex-basis: 48px; }
  .sx-step { width: 168px; }
  .sx-btn { height: 44px; }
  .sx-tarjeta-pie { padding: 12px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) { .sx-chev { transition: none; } }

/* Textarea con alto automático y contador de caracteres */
.textarea.textarea-auto { width: 100%; box-sizing: border-box; resize: none; overflow: hidden; min-height: calc(2 * var(--lh-body, 1.5) * 1em + 2 * var(--s2)); }
.field > .label-row.label-row-cnt { justify-content: flex-start; width: 100%; }
.label-row-cnt .contador { margin-left: auto; font-size: 12px; font-weight: 400; color: #6b736f; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sx-mas > .field:has(> .textarea-auto) { grid-column: 1 / -1; }

/* Campos de texto: un solo indicador de foco (borde + halo de .input:focus), sin contorno extra. */
.q input:not([type="checkbox"]):not([type="radio"]):focus-visible,
.q textarea:focus-visible,
.q select:focus-visible { outline: none !important; }

/* Pills de opción compactas (32 px) y lista de servicios del profesional */
.checklist .check-row { font-size: 13.5px; }
.shift { background: var(--caja-suave); border-color: var(--linea-suave); }
.shift .select, .shift .input { height: var(--field-h); }
.hours { grid-template-columns: 132px auto 132px; justify-content: start; }
.hours.con-quitar { grid-template-columns: 132px auto 132px auto; }
.svcpick { display: grid; gap: var(--s2); }
.svcpick-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); font-size: 13px; color: var(--ayuda); }
.svcpick-count { font-weight: var(--w-semibold); color: var(--ink-2); }
.svcpick-acc { display: inline-flex; align-items: center; gap: 6px; }
.svcpick-link { border: 0; background: none; padding: 4px 2px; font: inherit; font-weight: var(--w-semibold); color: var(--verde-oscuro); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.svcpick-link:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.svcpick-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s4); background: #fff; border: 1px solid var(--linea-suave); border-radius: 8px; padding: 0 var(--s3); }
.svcpick-row { position: relative; display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 6px 2px; border-bottom: 1px solid var(--linea-suave); cursor: pointer; font-size: 14px; color: var(--ink-2); }
.svcpick-row:hover { background: var(--caja-suave); }
.svcpick-row input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.svcpick-box { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid #8a928d; border-radius: 5px; background: #fff; color: transparent; }
.svcpick-box .i { width: 14px; height: 14px; stroke-width: 3; vertical-align: 0; }
.svcpick-row:has(input:checked) .svcpick-box { background: var(--verde-marca); border-color: var(--verde-marca); color: #fff; }
.svcpick-row:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: -2px; border-radius: 4px; }
.svcpick-name { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; font-weight: var(--w-medium); line-height: 1.25; }
.svcpick-row:has(input:checked) .svcpick-name { color: var(--ink); }
@media (min-width: 641px) { .svcpick-list > .svcpick-row:nth-last-child(-n+2):nth-child(odd), .svcpick-list > .svcpick-row:last-child { border-bottom: 0; } }
@media (max-width: 640px) {
  .svcpick-list { grid-template-columns: 1fr; }
  .svcpick-list > .svcpick-row:last-child { border-bottom: 0; }
  .svcpick-row { min-height: 44px; }
  .hours { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .hours.con-quitar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 44px; }
}
.svcpick-row.svcpick-eval { min-height: 44px; padding: 8px 12px; border: 1px solid #cfe4f2; border-radius: 8px; background: #eef6fb; color: #13202A; }
.svcpick-row.svcpick-eval:hover { background: #e4f0f8; }
.svcpick-eval .sx-ic-eval .i { width: 22px; height: 22px; }
.svcpick-eval .svcpick-name { font-weight: var(--w-semibold); color: #13202A; }

/* Número + unidad: UN bloque compacto de 34 px (número centrado de 60 px y la unidad en gris dentro) */
.input-affix.num { display: inline-flex; align-items: center; width: auto; max-width: none; height: 34px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; overflow: hidden; }
.field-corto > .input-affix.num { max-width: none; }
.input-affix.num > .input { flex: none; width: 60px; height: 100%; min-height: 0; padding: 0 4px; border: 0; border-radius: 0; background: transparent; text-align: center; font-size: 14px; -moz-appearance: textfield; appearance: textfield; }
.input-affix.num > .input::-webkit-outer-spin-button, .input-affix.num > .input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.input-affix.num > .input:focus { outline: none; box-shadow: none; }
.input-affix.num > .affix { align-self: stretch; border: 0; border-left: 1px solid var(--border-strong); border-radius: 0; background: var(--surface-2); padding: 0 12px; color: var(--muted); font-size: 14px; }
.input-affix.num:focus-within { border-color: var(--brand); box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 30%, transparent); }
.input-affix.num:has(.input:disabled) { background: var(--surface-3); border-color: var(--border); }
.input-affix.num:has(.input:disabled) > .affix { border-left-color: var(--border); background: var(--surface-3); }
.input-affix.num:has(.input:disabled) > .input, .input-affix.num:has(.input:disabled) > .affix { color: var(--ayuda); cursor: not-allowed; }
.field.is-error .input-affix.num { border-color: var(--red); }
/* Cancelación: plazo y tolerancia en línea (título a la izquierda, campo a continuación); la pregunta de después del plazo, debajo */
@media (min-width: 641px) {
  .subgrupo[aria-label="Cancelación"] > .field-corto { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); }
  .subgrupo[aria-label="Cancelación"] > .field-corto > label { margin: 0; }
  .subgrupo[aria-label="Cancelación"] > .field-corto > .error-msg { flex-basis: 100%; }
}
.subgrupo > .field > .seg-opc { justify-content: flex-start; }
/* Recordatorio: interruptor, texto y horas en una sola fila */
.recordatorio-fila { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); min-height: 34px; }
.recordatorio-fila .switch { min-height: 0; min-width: 0; justify-content: flex-start; }
.recordatorio-fila > .t { font-size: 14px; font-weight: var(--w-medium); cursor: pointer; }
.recordatorio-fila > .error-msg { flex-basis: 100%; }
.field .input-affix.num { display: inline-flex; width: fit-content; justify-self: start; align-self: flex-start; }
.i.i-wa { width: 20px; height: 20px; flex: none; fill: #25D366; stroke: none; vertical-align: 0; margin-right: -4px; }
.field.field-en-linea { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); }
.field.field-en-linea > .hint, .field.field-en-linea > .error-msg { flex-basis: 100%; }
.input-affix.num > .input::placeholder { color: #9aa3a0; }
/* Interruptor apagado: toda la fila se atenúa (texto gris legible, logo en grises, campo deshabilitado); solo el interruptor conserva su estilo */
.recordatorio-fila.off > .t { color: #6b7470; font-weight: var(--w-regular); }
.recordatorio-fila.off .i-wa { filter: grayscale(1); opacity: .6; }
#f-negocio-generoAsistente label { min-height: 34px; height: 34px; }

/* Campo de teléfono (país + número). Usa los tokens del sistema visual; sin recursos externos. */
.phone-field {
  display: flex; align-items: stretch; width: 100%; min-width: 0; position: relative; box-sizing: border-box;
  height: var(--field-h, 34px); background: var(--surface-1, #fff); color: var(--ink, #13202a);
  border: 1px solid var(--border-strong, #7c8d8f); border-radius: var(--r-sm, 6px);
  transition: border-color var(--dur-1, .12s) var(--ease, ease), box-shadow var(--dur-1, .12s) var(--ease, ease);
}
.q .phone-field { height: var(--field-h, 34px); }
.phone-field:focus-within { border-color: var(--focus, #1d6497); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus, #1d6497) 28%, transparent); }
.phone-field:has([aria-invalid="true"]) { border-color: var(--red, #b3261e); box-shadow: 0 0 0 1px var(--red, #b3261e); }
.phone-field .phone-country {
  flex: none; display: inline-flex; align-items: center; gap: 6px; height: 100%; padding: 0 var(--s2, 8px) 0 var(--s3, 12px);
  background: transparent; color: inherit; font: inherit; cursor: pointer;
  border: 0; border-right: 1px solid var(--border, #d6dedd); border-radius: calc(var(--r-sm, 6px) - 1px) 0 0 calc(var(--r-sm, 6px) - 1px);
}
.phone-field .phone-country:hover { background: var(--surface-2, #f5f8f7); }
.phone-field .phone-country:focus-visible { outline: 2px solid var(--focus, #1d6497); outline-offset: -3px; }
.phone-field .phone-country:disabled { cursor: not-allowed; opacity: .6; }
.phone-field .phone-number { flex: 1 1 auto; min-width: 0; height: 100%; background: transparent; border: 0; border-radius: 0 calc(var(--r-sm, 6px) - 1px) calc(var(--r-sm, 6px) - 1px) 0; box-shadow: none; font-variant-numeric: tabular-nums; }
.phone-field .phone-number:focus, .phone-field .phone-number[aria-invalid="true"] { border: 0; box-shadow: none; outline: none; }
/* Prefijo fijo del país (teléfonos de contacto): texto, sin bandera ni menú. */
.phone-field .phone-fijo { flex: none; display: inline-flex; align-items: center; padding: 0 var(--s3, 12px); color: var(--muted, #56666d); background: var(--surface-2, #f5f8f7); font-variant-numeric: tabular-nums; white-space: nowrap; border-right: 1px solid var(--border, #d6dedd); border-radius: calc(var(--r-sm, 6px) - 1px) 0 0 calc(var(--r-sm, 6px) - 1px); }
.phone-flag { width: 22px; height: 15px; flex: none; border-radius: 2px; box-shadow: 0 0 0 1px rgba(19, 32, 42, .22); }
.phone-dial { font-variant-numeric: tabular-nums; white-space: nowrap; }
.phone-caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; opacity: .7; }
.phone-panel {
  position: fixed; z-index: 1000; display: flex; flex-direction: column; overflow: hidden;
  background: var(--surface-1, #fff); color: var(--ink, #13202a); border: 1px solid var(--border-strong, #7c8d8f);
  border-radius: var(--r-sm, 6px); box-shadow: 0 8px 24px rgba(19, 32, 42, .22);
}
.phone-panel[hidden] { display: none; }
.phone-panel .phone-search { flex: none; width: auto; margin: 8px; }
.phone-list { list-style: none; margin: 0; padding: 0 0 4px; overflow-y: auto; overscroll-behavior: contain; flex: 1 1 auto; }
.phone-option { display: flex; align-items: center; gap: 10px; padding: 0 12px; min-height: 44px; cursor: pointer; }
.phone-option.is-active, .phone-option:hover { background: var(--brand-soft, #e3f1df); }
.phone-option[aria-selected="true"] .phone-name { font-weight: 600; }
.phone-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-code { flex: none; color: var(--muted, #56666d); font-variant-numeric: tabular-nums; }
.phone-sep { height: 1px; margin: 4px 0; background: var(--border, #d6dedd); }
.phone-empty { padding: 12px; color: var(--muted, #56666d); }
@media (max-width: 480px) { .phone-field .phone-country { gap: 4px; padding-left: var(--s2, 8px); } }
/* Desplegable de país (bandera + nombre): el botón ocupa todo el ancho del campo. */
.country-field .phone-country { flex: 1 1 auto; justify-content: flex-start; border-right: 0; border-radius: calc(var(--r-sm, 6px) - 1px); }
.country-field .phone-country .phone-name { flex: 1 1 auto; text-align: left; }

/* =====================================================================
   ANTESALA v2 · capa visual sobre el cuestionario real
   Se carga DESPUÉS de los estilos del cuestionario (factory/intake/src/form/styles.css + phone.css).
   1) Ajusta los tokens del cuestionario a los del panel del cliente (canon-tokens.css): botones y campos 8 px,
      tarjetas 12 px, foco verde de marca, escala de letra de herramienta de gestión.
   2) Dibuja el armazón del panel: menú lateral con candados, franja de avance, Mi cuenta, Ayuda por WhatsApp.
   3) Pantallas fuera del cuestionario: acceso, recuperación, cuenta, revisión, preparando, listo y modo vendedor.
   No crea colores nuevos: todo sale del cuestionario o del panel.
   ===================================================================== */
:root {
  /* tokens del cuestionario, alineados al panel */
  --r-sm: 8px;              /* botones, campos, avisos (regla: esquinas 8 px) */
  --r-md: 12px;             /* bloques y tarjetas (= --r-lg del panel) */
  --focus: #087B40;         /* foco del panel */
  --q-body: 14px; --q-label: 13px; --q-campo: 14px; --q-meta: 12px; --q-title: 18px; --q-hero: 20px;
  --h-lg: 36px;
  /* del panel (canon-tokens.css) */
  --a-sidebar: #DFE4E5;
  --a-sidebar-w: 248px;
  --a-head: 56px;
  --a-nav-title: #06734F;
  --a-nav-ink: #56666D;
  --a-shadow-3: 0 18px 44px rgba(19, 32, 42, .18);
  --a-overlay: rgba(13, 26, 24, .48);
  --a-wa: #0E7A3F;         /* verde WhatsApp oscurecido para texto AA (5.4:1) */
  --a-chat-wall: #EFEAE2;
  --a-bubble: #D9FDD3;
  --a-dark: #0B1216;        /* fondo del logo de Automatic Perú; vista previa del logo en oscuro */
}
@media (max-width: 760px) { :root { --q-campo: 16px; --h-lg: 44px; } }

body.q { font-size: var(--q-body); }
/* Texto de ejemplo en los campos con contraste AA (el del cuestionario era 2.6:1) */
.input::placeholder, .textarea::placeholder, .phone-number::placeholder { color: #687673; }
.i { width: 16px; height: 16px; }
.i-lg { width: 20px; height: 20px; }

/* ---------- Botones al estilo del panel: secundario blanco, primario verde (uno por vista) ---------- */
.btn { height: 34px; border-radius: var(--r-sm); border: 1px solid #B9C4C4; background: var(--surface-1); color: var(--ink); font-weight: var(--w-semibold); font-size: 13px; }
.btn:hover:not([disabled]) { border-color: var(--border-strong); background: var(--surface-2); box-shadow: none; }
.btn.btn-primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.btn.btn-primary:hover:not([disabled]) { background: #066A37; border-color: #066A37; }
.btn-ghost { background: transparent; border-color: transparent; color: var(--brand-text); }
.btn-ghost:hover:not([disabled]) { background: var(--surface-3); border-color: transparent; color: var(--brand-text); }
.q .btn { height: var(--h-lg); font-size: 13px; }
.q .btn-sm, .btn-sm { height: 30px; font-size: 12px; padding: 0 var(--s3); }
.btn-block { width: 100%; }
.btn-wa { color: var(--a-wa); border-color: color-mix(in srgb, var(--a-wa) 45%, transparent); }
.btn-wa .i { color: var(--a-wa); }
.btn-google { gap: 10px; height: 40px; border-color: #747775; color: #1F1F1F; font-weight: var(--w-medium); font-size: 14px; }
.btn-google:hover:not([disabled]) { background: #F7F8F8; border-color: #5F6368; }
.link { padding: 0; border: 0; background: none; color: var(--brand-text); font: inherit; font-weight: var(--w-semibold); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

/* Cápsulas: solo estados */
.pill { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: var(--r-pill); font-size: 12px; font-weight: var(--w-semibold); white-space: nowrap; }
.pill .i { width: 13px; height: 13px; }
.pill.ok { background: var(--green-soft); color: var(--green); }
.pill.info { background: var(--blue-soft); color: var(--blue); }
.pill.warn { background: var(--amber-soft); color: var(--amber); }
.pill.neutral { background: var(--gray-soft); color: var(--ink-2); }

.note { font-size: 13px; border-radius: var(--r-sm); }
.note-ok { background: var(--green-soft); border-color: color-mix(in srgb, var(--green) 30%, transparent); color: var(--ink); }
.note-ok > .i { color: var(--green); }
.note-info { background: var(--blue-soft); border-color: color-mix(in srgb, var(--blue) 30%, transparent); color: var(--ink); }
.note-info > .i { color: var(--blue); }

/* =====================================================================
   Barra del prototipo (no es parte del diseño)
   ===================================================================== */
.proto { position: relative; z-index: 60; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 40px; padding: 6px 12px; background: #1D2421; color: #fff; font-size: 12px; }
.proto select { min-width: 300px; max-width: 100%; height: 28px; border-radius: 6px; border: 0; background: #fff; color: #111; padding: 0 6px; font-size: 12px; }
.proto button { height: 28px; min-width: 28px; padding: 0 10px; border: 1px solid #5D6A64; border-radius: 6px; background: transparent; color: #fff; cursor: pointer; }
.proto .hint { opacity: .8; }
.clean .proto { display: none; }

/* =====================================================================
   Armazón del espacio del cliente (= panel)
   ===================================================================== */
.shell { display: grid; grid-template-columns: var(--a-sidebar-w) minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; overflow-y: auto; padding: var(--s6) var(--s4) var(--s4); border-right: 1px solid var(--border); background: var(--a-sidebar); }
.brandrow { display: flex; align-items: center; gap: 10px; min-height: 48px; margin-bottom: var(--s4); }
.bizlogo { width: 40px; height: 40px; flex: none; border-radius: 50%; display: grid; place-items: center; overflow: hidden; background: var(--brand); color: #fff; font-weight: var(--w-bold); font-size: 14px; }
.bizlogo.img { background: #fff; border: 1px solid var(--border); }
.bizlogo img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.brandrow strong { display: block; color: var(--a-nav-title); font-size: 18px; font-weight: var(--w-bold); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brandrow small { display: block; margin-top: 2px; color: var(--ink-2); font-size: 12px; font-weight: var(--w-medium); }
.nav { display: grid; gap: 2px; }
.nav-item { display: flex; align-items: center; gap: var(--s3); width: 100%; min-height: 36px; padding: 0 12px; border: 1px solid transparent; border-radius: var(--r-sm); background: transparent; color: var(--a-nav-ink); font-size: 13px; font-weight: var(--w-semibold); text-align: left; cursor: pointer; }
.nav-item .i { width: 18px; height: 18px; }
.nav-item:hover { background: rgba(255, 255, 255, .55); color: var(--ink); }
.nav-item.active { background: var(--surface-1); border-color: var(--border); color: var(--brand-text); box-shadow: var(--shadow-1); }
.nav-item .tail { margin-left: auto; display: inline-flex; }
.nav-item .tail .i { width: 14px; height: 14px; }
.nav-item.locked:hover { background: rgba(255, 255, 255, .35); }
.nav-item.locked.active { color: var(--ink); }
.lockgroup { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid #C9D1D2; }
.lnote { display: flex; gap: 6px; align-items: flex-start; padding: 0 12px 8px; color: var(--ink-2); font-size: 12px; line-height: 1.35; }
.lnote .i { width: 14px; height: 14px; margin-top: 1px; }
.sidebar-foot { margin-top: auto; padding-top: var(--s3); border-top: 1px solid #C9D1D2; }
.userchip { display: flex; align-items: center; gap: 10px; width: 100%; padding: 6px 8px; border: 1px solid transparent; border-radius: var(--r-sm); background: transparent; cursor: pointer; text-align: left; }
.userchip:hover, .userchip.active { background: var(--surface-1); border-color: var(--border); }
.avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: none; background: #4F6F9F; color: #fff; font-size: 12px; font-weight: var(--w-bold); }
.userchip b { display: block; color: var(--ink); font-weight: var(--w-semibold); font-size: 13px; line-height: 1.3; }
.userchip small { display: block; color: var(--muted); font-size: 12px; }

.main { min-width: 0; display: flex; flex-direction: column; }
.topbar-m { display: none; }
.strip { position: sticky; top: 0; z-index: 8; display: flex; align-items: center; gap: var(--s4); height: var(--a-head); padding: 0 var(--s6); border-bottom: 1px solid var(--border); background: var(--surface-1); }
.strip .pl { margin: 0; font-size: 15px; font-weight: var(--w-semibold); color: var(--ink); white-space: nowrap; }
.strip .pl b { color: var(--brand-text); font-weight: var(--w-bold); font-variant-numeric: tabular-nums; }
.bar { position: relative; flex: 1; height: 8px; border-radius: var(--r-pill); background: var(--surface-3); overflow: hidden; }
.bar > span { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: linear-gradient(90deg, var(--brand) 0 calc(100% - 10px), var(--lima) calc(100% - 10px)); transition: width 400ms var(--ease); }
.bar.full > span { background: var(--brand); }
.strip .autosave { min-width: 92px; justify-content: flex-end; }
.strip .help { flex: none; }
.content { padding: var(--s6); display: grid; gap: var(--s4); align-content: start; min-width: 0; }
.screenhead { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s4); }
.screenhead h1 { font-size: 18px; font-weight: var(--w-bold); color: var(--ink); line-height: 1.25; }
.screenhead p { margin-top: 4px; color: var(--ink-2); font-size: 14px; }
.card { display: grid; gap: var(--s3); min-width: 0; align-content: start; padding: var(--s4) var(--s5); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); }
.card h2 { font-size: 15px; font-weight: var(--w-semibold); color: var(--ink); }
.two { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--s4); align-items: start; }
.stack { display: grid; gap: var(--s4); align-content: start; }
.mob-only { display: none; }
.scrim { display: none; }

/* Ayuda por WhatsApp (popover) */
.helpwrap { position: relative; }
.pop { position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; width: 360px; display: grid; gap: var(--s3); padding: var(--s4); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); box-shadow: var(--shadow-2); }
.pop h2 { font-size: 15px; font-weight: var(--w-semibold); }
.pop p { color: var(--ink-2); font-size: 13px; }
.wa-msg { padding: 10px 12px; border-radius: 8px 8px 8px 2px; background: var(--a-bubble); color: #111B21; font-size: 13px; line-height: 1.45; box-shadow: 0 1px .5px rgba(11, 20, 26, .13); }
.wa-msg .blank { display: inline-block; width: 2px; height: 1em; vertical-align: -2px; background: #111B21; animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.pop .acts { display: flex; justify-content: flex-end; gap: var(--s2); }

/* Toast del refuerzo breve (el del cuestionario, con el avance): centrado en el área de contenido */
.ante-q .toast { left: calc(50% + var(--a-sidebar-w) / 2); bottom: 92px; border-radius: var(--r-sm); background: #1F2A25; font-size: 13px; padding: 10px 16px; }
/* Subtítulos de grupo sin mayúsculas sostenidas */
.ante-q .subgrupo-t { text-transform: none; letter-spacing: 0; font-size: 13px; }

/* =====================================================================
   El cuestionario dentro del armazón
   ===================================================================== */
.ante-q .content { padding: var(--s5) var(--s6) var(--s6); }
.ante-q .q-wrap { display: block; max-width: none; margin: 0; padding: 0; }
.ante-q .q-wrap.solo { min-height: 0; }
.ante-q .q-main { max-width: none; margin: 0; }
.ante-q .q-head { padding: var(--s2) 0 var(--s4); }
.ante-q .q-head h1 { font-size: 18px; color: var(--ink); }
.ante-q .q-head p { font-size: 14px; margin-top: 4px; }
.ante-q .q-block { padding: var(--s4) var(--s5); }
.ante-q .q-block-head h2 { font-size: 15px; }
.ante-q .tarjeta-cab h2 { font-size: 15px; }
.ante-q .q-actions { position: sticky; bottom: 12px; margin-top: var(--s5); border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--s3); box-shadow: var(--shadow-2); }
.ante-q .q-actions-in { display: flex; align-items: center; gap: var(--s2); max-width: none; }
.ante-q .q-actions-in > :nth-child(2) { margin-left: auto; }
.ante-q .q-actions .btn-primary { min-width: 160px; }
.ante-q .q-actions .skip { order: 0; height: var(--h-lg); }
.ante-q .send-wrap { display: grid; justify-items: end; gap: 4px; }
.ante-q .q-progress { padding: 0 0 var(--s3); }
.ante-q .field .country-field { max-width: none; }
.ante-q .note { font-size: 13px; }
/* tres campos en una fila (Nombre | Logo, Correo | Web, País | Teléfono | ¿WhatsApp?) */
@media (min-width: 1000px) {
  .ante-q .fila-tel { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr); }
}
.fila-tel { display: grid; gap: var(--s4); align-items: start; }
.fila-tel .sino { display: inline-flex; }
.pais-nota { display: flex; align-items: center; gap: var(--s3); }
.pais-nota .phone-flag { width: 22px; height: 15px; flex: none; }
.pais-nota b { font-weight: var(--w-semibold); }

/* Riel de pasos del cuestionario convertido en barra horizontal (escritorio ancho) */
@media (min-width: 1280px) {
  .ante-q .q-rail { display: block; position: static; margin: 0 0 var(--s4); }
  .ante-q .q-rail ol { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); overflow: hidden; }
  .ante-q .q-rail li { flex: 1 1 auto; min-width: 0; }
  .ante-q .q-rail li + li a { border-left: 1px solid var(--border); }
  .ante-q .q-rail li a { display: grid; grid-template-columns: 24px auto; grid-template-rows: auto auto; column-gap: 10px; row-gap: 0; align-content: center; height: 56px; padding: 0 12px; border-radius: 0; box-shadow: none; border-top: 0; border-right: 0; border-bottom: 0; color: var(--ink); text-decoration: none; font-size: 13px; font-weight: var(--w-semibold); white-space: nowrap; }
  .ante-q .q-rail li a > span:nth-child(2) { grid-column: 2; grid-row: 1; line-height: 1.3; }
  .ante-q .q-rail li .n { grid-row: 1 / span 2; grid-column: 1; align-self: center; width: 24px; height: 24px; font-size: 12px; }
  .ante-q .q-rail li .m { grid-column: 2; grid-row: 2; font-size: 12px; line-height: 1.3; color: var(--muted); font-weight: var(--w-regular); }
  .ante-q .q-rail li.now a { background: color-mix(in srgb, var(--brand-soft) 55%, #fff); box-shadow: inset 0 -3px 0 var(--brand); border-top: 0; border-right: 0; border-bottom: 0; }
  .ante-q .q-rail li.now + li a, .ante-q .q-rail li + li.now a { border-left: 1px solid var(--border); }
  .ante-q .q-rail li.done .m:empty::before { content: "Listo"; color: var(--green); font-weight: var(--w-semibold); }
  .ante-q .q-rail li.pend .m { color: var(--amber); }
  .ante-q .q-rail li.fut a { color: var(--muted); }
  .ante-q .q-rail .rail-foot { display: none; }
  .ante-q .q-progress { display: none; }
}
@media (min-width: 960px) and (max-width: 1279px) { .ante-q .q-rail { display: none; } }

/* ---------- Resumen de «Configura tu negocio» (bienvenida del cuestionario en la antesala) ---------- */
.ov-list { padding: 0; gap: 0; overflow: hidden; }
.ov-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) 130px 112px; align-items: center; gap: var(--s4); min-height: 64px; padding: 10px var(--s5); border-top: 1px solid var(--border); }
.ov-row:first-child { border-top: 0; }
.ov-row.cur { background: color-mix(in srgb, var(--brand-soft) 50%, #fff); }
.ov-n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--border-strong); color: var(--muted); font-weight: var(--w-bold); font-size: 12px; background: #fff; }
.ov-n .i { width: 14px; height: 14px; stroke-width: 2.6; }
.ov-row.done .ov-n { background: var(--brand); border-color: var(--brand); color: #fff; }
.ov-row.cur .ov-n { border-color: var(--brand); color: var(--brand-text); box-shadow: 0 0 0 3px var(--brand-soft); }
.ov-row.pend .ov-n { border-color: var(--amber); color: var(--amber); }
.ov-t b { display: block; color: var(--ink); font-weight: var(--w-semibold); font-size: 14px; line-height: 1.3; }
.ov-t span { color: var(--ink-2); font-size: 13px; }
.ov-s { font-size: 12px; color: var(--muted); }
.ov-s .warn { color: var(--amber); font-weight: var(--w-semibold); font-size: 13px; }
.ov-row .btn { justify-self: end; min-width: 104px; }
.banner { display: flex; align-items: center; gap: var(--s4); padding: 14px var(--s5); border: 1px solid color-mix(in srgb, var(--brand) 30%, transparent); border-radius: var(--r-md); background: var(--brand-soft); }
.banner .bic { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; flex: none; background: #fff; color: var(--brand-text); }
.banner .bic .i { width: 18px; height: 18px; }
.banner .txt { flex: 1; min-width: 0; }
.banner b { display: block; color: var(--ink); font-weight: var(--w-semibold); font-size: 15px; }
.banner span { color: var(--ink-2); font-size: 13px; }
.banner.amber { background: var(--amber-soft); border-color: color-mix(in srgb, var(--amber) 35%, transparent); }
.banner.amber .bic { color: var(--amber); }
.banner .nota-ia { margin-top: 6px; padding: 8px 10px; border-left: 3px solid color-mix(in srgb, var(--amber) 55%, transparent); background: rgba(255, 255, 255, .6); border-radius: 0 6px 6px 0; color: var(--ink); font-size: 13px; }
.banner .acts { display: flex; gap: var(--s2); flex-wrap: wrap; justify-content: flex-end; }

/* Cómo sigue */
.journey { display: grid; margin: 0; padding: 0; list-style: none; }
.journey li { position: relative; display: grid; grid-template-columns: 24px 1fr; gap: 10px; padding-bottom: 14px; }
.journey li:last-child { padding-bottom: 0; }
.journey li::after { content: ""; position: absolute; left: 11px; top: 27px; bottom: 3px; width: 2px; background: var(--border); }
.journey li:last-child::after { display: none; }
.journey li.done::after { background: var(--brand); }
.journey .dot { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--border-strong); background: #fff; font-size: 12px; font-weight: var(--w-bold); color: var(--muted); }
.journey .done .dot { border-color: var(--brand); background: var(--brand); color: #fff; }
.journey .cur .dot { border-color: var(--brand); color: var(--brand-text); box-shadow: 0 0 0 3px var(--brand-soft); }
.journey .dot .i { width: 13px; height: 13px; stroke-width: 2.6; }
.journey b { display: block; font-weight: var(--w-semibold); color: var(--ink); line-height: 24px; font-size: 13px; }
.journey .done b { color: var(--ink-2); font-weight: var(--w-regular); }
.journey small { display: block; margin-top: -2px; color: var(--muted); font-size: 12px; }

/* ---------- Logo del negocio (control nuevo del cuestionario) ---------- */
.logo-up { display: flex; align-items: center; gap: var(--s3); min-height: 56px; padding: 8px 10px; border: 1px dashed var(--border-strong); border-radius: var(--r-sm); background: var(--surface-2); }
.logo-up.lleno { border-style: solid; border-color: var(--border); background: var(--surface-1); }
.logo-up .ph { width: 40px; height: 40px; flex: none; border-radius: 50%; display: grid; place-items: center; overflow: hidden; background: var(--surface-1); border: 1px solid var(--border); color: var(--muted); }
.logo-up .ph img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.logo-up .t { flex: 1; min-width: 0; font-size: 12px; color: var(--muted); line-height: 1.35; }
.logo-up .t b { display: block; color: var(--ink); font-size: 13px; font-weight: var(--w-semibold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.logo-up .acts { display: flex; gap: 6px; flex: none; }
.logo-prev { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); margin-top: 6px; }
.logo-prev figure { margin: 0; display: grid; gap: 6px; }
.logo-prev figcaption { font-size: 12px; color: var(--muted); }
.lp { display: grid; gap: 8px; padding: 10px; border-radius: var(--r-sm); border: 1px solid var(--border); }
.lp.claro { background: var(--a-sidebar); }
.lp.oscuro { background: var(--a-dark); border-color: var(--a-dark); }
.lp .row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lp .av { width: 30px; height: 30px; border-radius: 50%; flex: none; overflow: hidden; background: #fff; display: grid; place-items: center; }
.lp .av img { width: 100%; height: 100%; object-fit: contain; padding: 2px; }
.lp .nm { min-width: 0; font-size: 12px; font-weight: var(--w-semibold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp .nm small { display: block; font-weight: var(--w-regular); font-size: 11px; opacity: .8; }
.lp.claro .nm { color: var(--a-nav-title); }
.lp.oscuro .nm { color: #F2F5F4; }
.lp .chat { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; }
.lp.claro .chat { background: #fff; }
.lp.oscuro .chat { background: #1F2C33; }

/* ---------- Google Maps (mejora del control del cuestionario) ---------- */
.maps-row { display: flex; gap: var(--s2); align-items: stretch; }
.maps-row > .input { flex: 1; min-width: 0; }
.maps-row .btn { height: var(--field-h); flex: none; }
.maps-estado.ok { color: var(--green); font-weight: var(--w-semibold); }
.maps-estado.busca { color: var(--muted); }
.maps-prev { margin-top: 4px; overflow: hidden; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface-2); }
.maps-prev iframe { display: block; width: 100%; height: 170px; border: 0; }

/* =====================================================================
   Pantallas sueltas: acceso, ingreso, recuperación, modo vendedor
   ===================================================================== */
.auth { min-height: 100vh; display: grid; align-content: center; justify-items: center; gap: var(--s4); padding: var(--s8) var(--s4); }
.wordmark { display: flex; align-items: center; gap: 10px; white-space: nowrap; color: var(--ink); font-weight: var(--w-bold); font-size: 16px; }
.wordmark svg { width: 32px; height: 32px; flex: none; }
.paycard { width: min(940px, 100%); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); box-shadow: var(--shadow-2); }
.paycard > section { padding: var(--s8); display: grid; gap: var(--s4); align-content: start; }
.paycard .receipt { background: var(--surface-2); border-right: 1px solid var(--border); }
.okmark { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--green-soft); color: var(--green); }
.okmark .i { width: 22px; height: 22px; stroke-width: 2.4; }
.h-auth { font-size: 20px; font-weight: var(--w-bold); color: var(--ink); line-height: 1.2; }
.h-form { font-size: 16px; font-weight: var(--w-semibold); color: var(--ink); }
.sub { margin-top: 4px; color: var(--ink-2); font-size: 13px; }
dl.kv { display: grid; grid-template-columns: 96px 1fr; gap: 6px 12px; margin: 0; font-size: 13px; }
dl.kv dt { color: var(--muted); }
dl.kv dd { margin: 0; color: var(--ink); font-weight: var(--w-semibold); }
.authcard { width: min(420px, 100%); padding: var(--s8); display: grid; gap: var(--s4); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); box-shadow: var(--shadow-2); }
.authcard .back { justify-self: start; margin-left: -10px; }
.authfoot { color: var(--muted); font-size: 12px; text-align: center; }
.or { display: flex; align-items: center; gap: var(--s3); color: var(--muted); font-size: 12px; }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.row-between { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; }
.fld { display: grid; gap: 6px; min-width: 0; align-content: start; }
.fld > label, .fld > .lbl, .fld > .row-between > label { font-size: 13px; font-weight: var(--w-semibold); color: var(--ink); }
.fld .hint { font-size: 12px; color: var(--muted); }
.fld .input { height: 38px; font-size: 14px; }
.with-btn { position: relative; }
.with-btn .input { padding-right: 96px; }
.with-btn .peek { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 4px; height: 30px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: var(--brand-text); font-size: 12px; font-weight: var(--w-semibold); cursor: pointer; }
.with-btn .peek:hover { background: var(--surface-3); }
.reqs { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: var(--muted); }
.reqs li { display: flex; align-items: center; gap: 6px; }
.reqs li::before { content: ""; width: 14px; height: 14px; flex: none; border-radius: 50%; border: 1.5px solid currentColor; box-sizing: border-box; }
.reqs li.ok { color: var(--green); }
.reqs li.ok::before { border-color: var(--green); background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.2 2.2 4.8-4.8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.reqs li.no { color: var(--red); font-weight: var(--w-semibold); }
.reqs li.no::before { background: var(--red-soft); }
.err { display: flex; gap: 6px; align-items: center; font-size: 12px; font-weight: var(--w-semibold); color: var(--red); }
.otp { display: grid; grid-template-columns: repeat(6, 46px); gap: 8px; }
.otp input { width: 46px; height: 50px; padding: 0; border: 1px solid var(--border-strong); border-radius: var(--r-sm); background: var(--surface-1); text-align: center; font-size: 20px; font-weight: var(--w-semibold); color: var(--ink); }
.otp input:focus { outline: none; border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent); }
.otp input[aria-invalid="true"] { border-color: var(--red); background: #FFF8F8; }
.otp input:disabled { background: var(--surface-3); color: var(--muted); border-color: var(--border); }

/* Revisando / preparando */
.prep { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 0; padding: 0; overflow: hidden; }
.prep > section { padding: var(--s6); display: grid; gap: var(--s4); align-content: start; }
.prep > section + section { border-left: 1px solid var(--border); background: var(--surface-2); }
.timeline { display: grid; margin: 0; padding: 0; list-style: none; }
.timeline li { position: relative; display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; padding-bottom: 20px; align-items: start; }
.timeline li:last-child { padding-bottom: 0; }
.timeline li::after { content: ""; position: absolute; left: 15px; top: 35px; bottom: 3px; width: 2px; background: var(--border); }
.timeline li.done::after { background: var(--brand); }
.timeline li:last-child::after { display: none; }
.timeline .dot { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--border-strong); background: #fff; color: var(--muted); font-weight: var(--w-bold); font-size: 13px; }
.timeline .done .dot { background: var(--brand); border-color: var(--brand); color: #fff; }
.timeline .done .dot .i { width: 15px; height: 15px; stroke-width: 2.6; }
.timeline .cur .dot { border-color: var(--brand); color: var(--brand-text); box-shadow: 0 0 0 4px var(--brand-soft); }
.timeline .cur .dot .i { animation: spin 1.4s linear infinite; }
.timeline b { display: block; color: var(--ink); font-weight: var(--w-semibold); font-size: 14px; line-height: 32px; }
.timeline p { color: var(--ink-2); margin-top: -4px; font-size: 13px; }
.timeline .pill { margin-top: 5px; }

/* Bloqueado */
.locked-view { justify-items: center; text-align: center; gap: var(--s3); padding: 56px var(--s6); }
.bigic { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-3); color: var(--ink-2); }
.bigic .i { width: 26px; height: 26px; }
.bigic.ok { background: var(--green-soft); color: var(--green); }
.locked-view p { max-width: 52ch; color: var(--ink-2); }

/* Panel listo */
.okstrip { display: flex; align-items: center; gap: var(--s4); padding: 14px var(--s5); border: 1px solid color-mix(in srgb, var(--brand) 30%, transparent); border-radius: var(--r-md); background: var(--brand-soft); }
.okstrip .txt { flex: 1; }
.okstrip b { display: block; color: var(--ink); font-size: 15px; font-weight: var(--w-semibold); }
.okstrip span { color: var(--ink-2); }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s3); }
.metric { padding: 14px var(--s4); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); }
.metric small { display: block; color: var(--muted); font-size: 12px; }
.metric b { display: block; margin-top: 4px; font-size: 24px; color: var(--ink); font-weight: var(--w-bold); line-height: 1.15; }
.loaded { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; gap: 0; overflow: hidden; }
.loaded > div { display: grid; gap: 2px; align-content: start; padding: 14px var(--s4); border-left: 1px solid var(--border); }
.loaded > div:first-child { border-left: 0; }
.loaded small { color: var(--muted); font-size: 12px; }
.loaded b { color: var(--ink); font-weight: var(--w-semibold); font-size: 13px; }
.cardhead { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; justify-content: space-between; padding: 14px var(--s5); border-bottom: 1px solid var(--border); }

/* Mi cuenta */
.acc { padding: 0; gap: 0; }
.arow { display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; gap: var(--s4); align-items: center; padding: 14px var(--s5); border-top: 1px solid var(--border); }
.arow:first-child { border-top: 0; }
.arow .k { color: var(--muted); font-size: 12px; font-weight: var(--w-semibold); }
.arow .v b { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--ink); font-weight: var(--w-semibold); }
.arow .v small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.arow.open { grid-template-columns: 190px minmax(0, 1fr); align-items: start; background: var(--surface-2); }
.inlineform { display: grid; gap: var(--s3); max-width: 420px; }
.inlineform .acts { display: flex; gap: var(--s2); }
.gmark { width: 18px; height: 18px; flex: none; }

/* Modo vendedor (web) */
.webtop { position: sticky; top: 0; z-index: 8; display: flex; align-items: center; gap: var(--s4); height: 60px; padding: 0 var(--s6); background: var(--surface-1); border-bottom: 1px solid var(--border); }
.webtop .who { margin-left: auto; display: flex; align-items: center; gap: var(--s3); font-size: 13px; color: var(--ink-2); }
.webtop .who b { color: var(--ink); font-weight: var(--w-semibold); }
.webwrap { width: min(1080px, 100%); margin: 0 auto; padding: var(--s6) var(--s4) var(--s8); display: grid; gap: var(--s4); }
.sale { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--s4); align-items: start; }
.sale .card { padding: 0; gap: 0; }
.sale .sec { display: grid; gap: var(--s3); padding: var(--s4) var(--s5); border-top: 1px solid var(--border); }
.sale .sec:first-child { border-top: 0; }
.sale .sec > h2 { font-size: 14px; font-weight: var(--w-semibold); display: flex; align-items: center; gap: 8px; }
.sale .sec > h2 .n { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-3); color: var(--ink-2); font-size: 12px; font-weight: var(--w-bold); }
.g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3) var(--s4); }
.g2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3) var(--s4); }
.sgm { display: inline-flex; padding: 3px; gap: 2px; border-radius: var(--r-sm); background: var(--surface-3); }
.sgm.full { display: flex; }
.sgm.full button { flex: 1; }
.sgm button { height: 32px; padding: 0 14px; border: 0; border-radius: 6px; background: transparent; color: var(--ink-2); font-size: 13px; font-weight: var(--w-semibold); cursor: pointer; }
.sgm button[aria-pressed="true"] { background: var(--surface-1); color: var(--ink); box-shadow: var(--shadow-1); }
.paym { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.paym label { display: grid; grid-template-columns: 18px 1fr; gap: 4px 10px; align-items: start; padding: 12px; border: 1px solid var(--border); border-radius: var(--r-sm); cursor: pointer; background: var(--surface-1); }
.paym label:has(input:checked) { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); background: color-mix(in srgb, var(--brand-soft) 45%, #fff); }
.paym input { margin: 2px 0 0; accent-color: var(--brand); width: 16px; height: 16px; }
.paym b { font-weight: var(--w-semibold); font-size: 13px; color: var(--ink); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.paym small { grid-column: 2; color: var(--muted); font-size: 12px; }
.direct { display: grid; gap: var(--s3); padding: var(--s4); border-radius: var(--r-sm); background: var(--surface-2); border: 1px solid var(--border); }
.sale .sum { padding: var(--s4) var(--s5); gap: var(--s3); }
.g3.v-plan { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); }
.sum dl.kv { grid-template-columns: 1fr auto; }
.sum dl.kv dd { text-align: right; }
.sum .total { display: flex; justify-content: space-between; align-items: baseline; padding-top: var(--s3); border-top: 1px solid var(--border); }
.sum .total b { font-size: 20px; font-weight: var(--w-bold); color: var(--ink); }
.qrcard { width: min(560px, 100%); display: grid; gap: var(--s4); padding: var(--s6) var(--s8); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); box-shadow: var(--shadow-2); justify-items: center; text-align: center; }
.qrcard .done-line { display: flex; align-items: center; gap: 10px; justify-self: stretch; padding: 10px 12px; border-radius: var(--r-sm); background: var(--green-soft); color: var(--ink); font-size: 13px; text-align: left; }
.qrcard .done-line .i { color: var(--green); width: 18px; height: 18px; }
.qrbox { position: relative; width: 216px; height: 216px; padding: 12px; border: 1px solid var(--border); border-radius: var(--r-md); background: #fff; }
.qrbox svg { width: 100%; height: 100%; display: block; }
.qrbox.off svg { opacity: .12; }
.qrbox .over { position: absolute; inset: 0; display: grid; place-items: center; }
.timer { font-variant-numeric: tabular-nums; font-weight: var(--w-bold); color: var(--ink); }
.waiting { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: var(--r-pill); background: var(--surface-2); color: var(--ink-2); font-size: 13px; }
.waiting .i { animation: spin 1.2s linear infinite; }
.qrcard .acts { display: grid; gap: var(--s2); justify-items: center; }

@media (prefers-reduced-motion: reduce) { .timeline .cur .dot .i, .waiting .i, .wa-msg .blank { animation: none; } .bar > span { transition: none; } }

/* =====================================================================
   Tableta y celular
   ===================================================================== */
@media (max-width: 959px) {
  .shell { display: block; }
  .sidebar { position: fixed; z-index: 40; left: 0; top: 0 !important; height: 100vh !important; width: 86vw; max-width: 320px; transform: translateX(-102%); transition: transform var(--dur-2) var(--ease); box-shadow: var(--a-shadow-3); visibility: hidden; }
  .drawer .sidebar { transform: none; visibility: visible; }
  .scrim { display: none; }
  .drawer .scrim { display: block; position: fixed; inset: 0; z-index: 35; background: var(--a-overlay); }
  .topbar-m { position: sticky; top: 0; z-index: 9; display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 var(--s2) 0 var(--s2); background: var(--a-sidebar); border-bottom: 1px solid var(--border); }
  .topbar-m .bizlogo { width: 32px; height: 32px; font-size: 12px; }
  .topbar-m strong { flex: 1; min-width: 0; color: var(--a-nav-title); font-weight: var(--w-bold); font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .icbtn { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--ink); cursor: pointer; }
  .icbtn .i { width: 22px; height: 22px; }
  .icbtn.wa { color: var(--a-wa); }
  .strip { position: static; height: auto; flex-wrap: wrap; gap: 6px 12px; padding: 10px var(--s4) 12px; }
  .strip .pl { font-size: 14px; }
  .strip .bar { flex-basis: 100%; order: 3; height: 6px; }
  .strip .autosave { margin-left: auto; min-width: 0; }
  .strip .helpwrap { display: none; }
  .pop { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; }
  .content, .ante-q .content { padding: var(--s4); }
  .two, .prep, .sale, .paycard { grid-template-columns: 1fr; }
  .mob-only { display: grid; }
  .ov-row { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px var(--s4); }
  .ov-row .ov-n { grid-row: 1 / span 2; align-self: start; }
  .ov-row .ov-s { grid-column: 2; grid-row: 2; }
  .ov-row .btn { grid-column: 3; grid-row: 1 / span 2; align-self: center; justify-self: end; min-width: 100px; margin: 0; }
  .ov-row.cur .btn { grid-column: 2 / span 2; grid-row: 3; justify-self: stretch; }
  .banner { flex-direction: column; align-items: stretch; }
  .banner .bic { display: none; }
  .banner .acts { justify-content: stretch; }
  .banner .acts .btn { flex: 1; }
  .prep > section + section { border-left: 0; border-top: 1px solid var(--border); }
  .metrics, .loaded { grid-template-columns: 1fr 1fr; }
  .loaded > div:nth-child(3) { border-left: 0; }
  .loaded > div:nth-child(n + 3) { border-top: 1px solid var(--border); }
  .arow, .arow.open { grid-template-columns: 1fr; gap: 6px; padding: 14px var(--s4); }
  .arow .btn { justify-self: start; }
  .okstrip { flex-direction: column; align-items: stretch; }
  .okstrip .bigic { display: none; }
  .ante-q .q-actions { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; border-radius: 0; border-width: 1px 0 0; box-shadow: 0 -6px 18px rgba(19, 32, 42, .06); padding: var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom)); }
  .ante-q .q-actions-in { display: grid; grid-template-columns: auto 1fr; }
  .ante-q .q-actions-in > :nth-child(2) { margin-left: 0; }
  .ante-q .q-actions .btn-primary { min-width: 0; }
  .ante-q .q-actions .skip { grid-column: 1 / -1; order: 3; }
  .ante-q .send-wrap { justify-items: stretch; }
  .ante-q .toast { left: 50%; }
  .ante-q .q-wrap { padding-bottom: 110px; }
}
@media (max-width: 760px) {
  .btn { font-size: 14px; height: auto; min-height: 44px; white-space: normal; text-align: center; line-height: 1.2; padding-top: 6px; padding-bottom: 6px; }
  .btn-sm { min-height: 40px; }
  .q .btn { height: auto; min-height: 44px; }
  .fld .input { height: 44px; font-size: 16px; }
  .paycard { box-shadow: none; }
  .paycard > section { padding: var(--s5); }
  .paycard .receipt { border-right: 0; border-bottom: 1px solid var(--border); }
  .paycard .receipt .journey { display: none; }
  .auth { padding: var(--s4); align-content: start; }
  .authcard { padding: var(--s5); box-shadow: none; }
  .otp { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
  .otp input { width: 100%; }
  .g3, .g2, .paym, .g3.v-plan { grid-template-columns: 1fr; }
  .webtop { padding: 0 var(--s4); height: 56px; }
  .webtop .who .nm { display: none; }
  .qrcard { padding: var(--s5); box-shadow: none; }
  .logo-up { flex-wrap: wrap; }
  .logo-up .acts { width: 100%; }
  .logo-up .acts .btn { flex: 1; }
  .logo-prev { grid-template-columns: 1fr; }
  .maps-row { flex-direction: column; }
  .maps-row .btn { height: 44px; }
  .ante-q .toast { bottom: 150px; width: calc(100% - 32px); white-space: normal; }
  .screenhead { flex-direction: column; align-items: stretch; }
}

/* =====================================================================
   Revisión del dueño (2026-10-11) sobre la v2
   ===================================================================== */
/* Cápsula «típico» fuera de todos los campos (también «Duraciones típicas»). En el repo: quitarla de fieldBlock/vistaTabla. */
.tag-typical, .sx-tag { display: none !important; }

/* Todos los «Agregar…»: tamaño de la antesala (36 px, 13 px) con el estilo del cuestionario: borde punteado, fondo verde tenue, letra verde. */
.q-add, .sx-btn-agregar, .ante-q .shift-actions .btn:first-child {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 36px; min-height: 36px; padding: 0 14px;
  border: 1px dashed color-mix(in srgb, var(--brand) 60%, transparent); border-radius: var(--r-sm);
  background: color-mix(in srgb, var(--brand) 8%, var(--surface-1)); color: var(--brand-text);
  font-size: 13px; font-weight: var(--w-semibold); line-height: 1; cursor: pointer; box-shadow: none;
}
.q-add:hover:not([disabled]), .sx-btn-agregar:hover, .ante-q .shift-actions .btn:first-child:hover:not([disabled]) {
  border-color: var(--brand); background: color-mix(in srgb, var(--brand) 14%, var(--surface-1)); color: var(--brand-text); box-shadow: none;
}
.q-add { width: 100%; margin-top: var(--s3); }
.q-add .i, .sx-btn-agregar .i { width: 16px; height: 16px; color: currentColor; }
/* «Agregar servicio» alineado con el borde izquierdo donde empiezan los interruptores de la lista */
.ante-q .sx-tarjeta-pie { padding-left: 22px; }

/* Teléfono de contacto: segunda línea, opcional y más tenue, con ⓘ */
.hint-tenue { color: #687673; font-size: 12px; }
.hint-tenue .info-wrap { vertical-align: middle; }

/* Logo: una sola fila */
.logo-up .ph { border-radius: 8px; width: 44px; height: 44px; background: #fff; }
.logo-up .acts .btn { min-width: 84px; }

/* Refuerzo breve en la franja, junto al avance: 3 s, sin bloquear clics, nunca tapa botones */
.refuerzo { display: inline-flex; align-items: center; gap: 6px; max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; color: var(--green); font-size: 13px; font-weight: var(--w-semibold); pointer-events: none; transition: opacity 200ms var(--ease), max-width 300ms var(--ease); }
.refuerzo.visible { max-width: 260px; opacity: 1; }
.refuerzo .i { width: 16px; height: 16px; }
.ante-q .toast { display: none !important; }

/* Revisa y envía: recuadro «Para que sepas» (avisos que no frenan) y fecha automática */
.para-que-sepas { display: grid; gap: var(--s2); margin: var(--s3) 0; padding: var(--s4) var(--s5); border: 1px solid color-mix(in srgb, var(--blue) 28%, transparent); border-radius: var(--r-md); background: var(--blue-soft); }
.para-que-sepas h2 { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: var(--w-semibold); color: var(--ink); }
.para-que-sepas h2 .i { color: var(--blue); width: 18px; height: 18px; }
.para-que-sepas .pqs-lead { color: var(--ink-2); font-size: 13px; }
.para-que-sepas ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.para-que-sepas li { display: flex; align-items: center; gap: var(--s4); padding: 10px 0; border-top: 1px solid color-mix(in srgb, var(--blue) 18%, transparent); font-size: 13px; color: var(--ink); }
.para-que-sepas li > span:first-child { flex: 1; min-width: 0; }
.pqs-acts { display: flex; gap: 6px; flex: none; }
.fecha-envio { color: var(--muted); font-size: 12px; }
.sum .d .link { font-size: inherit; font-weight: var(--w-semibold); }

/* Revisando / creando: qué hacer, dicho claro */
.cerrar-ok b { font-weight: var(--w-semibold); }
.listo-view h2 { font-size: 18px; }

/* Panel: franja ámbar del modo demo (shell.css .review-banner) */
.review-banner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s4); min-height: var(--a-head); padding: var(--s2) var(--s5); border-bottom: 2px solid #E0A526; background: #FFF4D6; color: #8A3B12; font-size: 13px; line-height: 1.35; }
.review-banner .review-msg { display: flex; align-items: center; gap: var(--s3); flex: 1 1 360px; min-width: 0; }
.review-banner b { color: #6B2A0B; }
.review-banner .nowrap { white-space: nowrap; }
.review-banner .btn { border-color: #8A3B12; color: #8A3B12; background: #fff; }
.review-sign { flex: none; }
.review-sign polygon { fill: #FACC15; stroke: #111; stroke-width: 1.8; stroke-linejoin: round; }
.review-sign path { fill: none; stroke: #111; stroke-width: 2.4; stroke-linecap: round; }
.review-sign circle { fill: #111; }
.review-block { max-width: 640px; }

/* Mi cuenta: botones iguales, alineados a la derecha; «Cerrar sesión» aparte */
.acc-btn { width: 156px; min-width: 0; justify-self: end; white-space: nowrap; }
.acc-sesion { margin-top: var(--s4); }

@media (max-width: 959px) {
  .strip .refuerzo.visible ~ .autosave, .strip .refuerzo.visible ~ #guardado { display: none; }
  .para-que-sepas li { flex-direction: column; align-items: stretch; gap: var(--s2); }
  .acc-btn { justify-self: start; }
  .review-banner { padding: var(--s3) var(--s4); }
}
@media (max-width: 760px) {
  .logo-up { flex-wrap: wrap; }
  .logo-up .t { flex: 1 1 160px; }
  .logo-up .acts { width: 100%; flex-direction: row; }
  .logo-up .acts .btn { flex: 1; }
  .ante-q .sx-tarjeta-pie { padding-left: var(--s4); }
}

/* =====================================================================
   Segunda vuelta del dueño (2026-10-11): rejilla común y campos cortos lado a lado
   Medidas comunes: rótulo de fila 320 px · país, teléfono y WhatsApp en 3 columnas iguales · teléfono 260 px · números 240 px (con su unidad) · fecha 200 px.
   ===================================================================== */
/* Fila de contacto: País | Teléfono de contacto | ¿Tiene WhatsApp? | WhatsApp de contacto (solo con «No»); ayudas debajo */
.fila-contacto { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 8px 16px; }
.fila-contacto > .field { min-width: 0; width: round(down, 100%, 1px); } /* mismo ancho exacto en las 3 columnas */
.fila-contacto .c-tel .hint, .fila-contacto .c-wa .hint { margin: 0; }
.fila-contacto .country-field, .fila-contacto .phone-field { width: 100%; max-width: none; }
.phone-fijo { display: inline-flex; align-items: center; flex: none; padding: 0 var(--s3); border-right: 1px solid var(--border); background: var(--surface-2); color: var(--ink-2); font-variant-numeric: tabular-nums; border-radius: calc(var(--r-sm) - 1px) 0 0 calc(var(--r-sm) - 1px); }
@media (max-width: 640px) { .fila-contacto { grid-template-columns: minmax(0, 1fr); } }

/* Globo ⓘ del teléfono: título y lista con viñetas reales (etiqueta en negrita), ~380 px, sin salir de la pantalla */
.info-pop { width: min(380px, calc(100vw - 32px)); max-width: min(380px, calc(100vw - 32px)); white-space: normal; line-height: 1.45; }
.info-pop .pop-t { display: block; margin-bottom: 8px; font-size: 13px; color: var(--ink); }
.info-pop .pop-lista, .info-pop .pop-lista ul { margin: 0; padding-left: 18px; display: grid; gap: 10px; font-size: 13px; color: var(--ink-2); }
.info-pop .pop-lista { list-style: disc; }
.info-pop .pop-lista ul { list-style: circle; margin-top: 8px; gap: 6px; }
.info-pop .pop-lista b { color: var(--ink); }

/* Servicio abierto: rejilla de 2 columnas (Nombre | Duración; Cómo se agenda | Precio), ayudas a la misma altura */
.ante-q .sx-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 16px 32px; }
.ante-q .sx-grid > .sx-fila2 { display: contents; }
.ante-q .sx-grid > .sx-agenda-campo, .ante-q .sx-grid > .sx-fila2 > .sx-agenda-campo { grid-column: 1; }
.ante-q .sx-grid > .sx-precio, .ante-q .sx-grid > .sx-fila2 > .sx-precio { grid-column: 2; }
.ante-q .sx-grid > .sx-mas, .ante-q .sx-grid > .sx-pie, .ante-q .sx-grid > .sx-agenda-linea { grid-column: 1 / -1; }
.ante-q .sx-nombre-campo .input, .ante-q .sx-agenda-campo .select { width: 100%; max-width: 420px; }
@media (max-width: 760px) {
  .ante-q .sx-grid { grid-template-columns: 1fr; }
  .ante-q .sx-grid > *, .ante-q .sx-grid > .sx-fila2 > * { grid-column: 1 !important; }
}

/* Reglas de citas: un solo patrón en los 3 bloques. Rótulo a la izquierda (300 px), campo a la derecha en el mismo borde. */
@media (min-width: 761px) {
  .reglas-rejilla .subgrupo > .q-grid2 { display: contents; }
  .reglas-rejilla .subgrupo > .field, .reglas-rejilla .subgrupo > .q-grid2 > .field {
    display: grid; grid-template-columns: 320px minmax(0, 1fr); column-gap: 10px; row-gap: 4px; align-items: center;
  }
  .reglas-rejilla .subgrupo .field > label, .reglas-rejilla .subgrupo .field > .label { grid-column: 1; margin: 0; }
  .reglas-rejilla .subgrupo .field > :not(label):not(.label) { grid-column: 2; justify-self: start; }
  .reglas-rejilla .subgrupo .field > .seg-precio { justify-self: start; }
  .reglas-rejilla .subgrupo > .field[aria-label], .reglas-rejilla .subgrupo .field { margin: 0; }
  /* recordatorios: interruptor + ícono + rótulo en la columna de rótulos, el número en la de campos */
  .reglas-rejilla .recordatorio-fila { display: grid; grid-template-columns: 34px 20px 246px minmax(0, 1fr); column-gap: 10px; align-items: center; }
  .reglas-rejilla .recordatorio-fila > .input-affix { grid-column: 4; justify-self: start; }
  .reglas-rejilla .recordatorio-fila > .error-msg { grid-column: 4; }
  .reglas-rejilla .recordatorio-fila > label.t { white-space: normal; }
}
/* números del mismo ancho, con su unidad */
.reglas-rejilla .input-affix.num { width: 240px; max-width: 240px; }
.reglas-rejilla .input-affix.num > .input { flex: 0 0 64px; width: 64px; }
.reglas-rejilla .input-affix.num > .affix { flex: 1; justify-content: flex-start; }

/* Cierre: Desde | Hasta | ¿Qué se cierra?; la sede o el profesional debajo; Motivo | Mensaje lado a lado */
@media (min-width: 761px) {
  .cierre-rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "desde hasta alcance alcance" "sede sede . ." "motivo motivo mensaje mensaje"; gap: 16px; align-items: start; }
  .cierre-rejilla > .c-desde { grid-area: desde; } .cierre-rejilla > .c-hasta { grid-area: hasta; }
  .cierre-rejilla > .c-alcance { grid-area: alcance; } .cierre-rejilla > .c-sede { grid-area: sede; }
  .cierre-rejilla > .c-motivo { grid-area: motivo; } .cierre-rejilla > .c-mensaje { grid-area: mensaje; }
  .cierre-rejilla .input[type=date] { max-width: 200px; }
}

/* Revisa y envía: Nombre | Cargo en la misma fila */
.fila-firma { gap: var(--s4); }

/* Creando tu sistema: tiempo en este paso */
.transcurrido { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--ink-2); font-size: 13px; }
.transcurrido b { color: var(--ink); font-variant-numeric: tabular-nums; }

/* Logo por omisión: el ícono del rubro */
.bizlogo.icono { background: var(--brand-soft); color: var(--brand); border: 1px solid color-mix(in srgb, var(--brand) 25%, transparent); }
.bizlogo.icono svg { width: 26px; height: 26px; }
.topbar-m .bizlogo.icono svg { width: 22px; height: 22px; }
.logo-up .ph.rubro { background: var(--brand-soft); color: var(--brand); border-color: color-mix(in srgb, var(--brand) 25%, transparent); }
.logo-up .ph.rubro svg { width: 28px; height: 28px; }

/* QR escaneado: lo que ve la clienta en su celular (marco de teléfono en PC; pantalla completa en celular) */
.qr-escena { min-height: 100vh; display: grid; justify-items: center; align-content: center; gap: var(--s4); padding: var(--s6) var(--s4); }
.qr-escena-t { color: var(--muted); font-size: 13px; }
.celular { width: 390px; height: min(780px, calc(100vh - 72px)); padding: 12px; border-radius: 44px; background: #11181C; box-shadow: var(--shadow-2); }
.celular-pantalla { width: 100%; height: 100%; overflow: auto; border-radius: 34px; background: var(--canvas); }
.cel-barra { position: sticky; top: 0; display: flex; justify-content: center; padding: 18px 16px 12px; background: var(--canvas); }
.cel-barra .wordmark svg { width: 28px; height: 28px; }
.cel-cuerpo { display: grid; gap: var(--s4); margin: 0 12px 16px; padding: var(--s5); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-1); }
.cel-cuerpo .fld .input { height: 44px; font-size: 16px; }
.cel-cuerpo .btn { min-height: 44px; }
.qr-cel-msg { display: grid; justify-items: center; text-align: center; gap: var(--s3); padding: var(--s6) 0; }
@media (max-width: 640px) {
  .qr-escena { padding: 0; align-content: start; }
  .qr-escena-t { display: none; }
  .celular { width: 100%; height: auto; padding: 0; border-radius: 0; background: none; box-shadow: none; }
  .celular-pantalla { border-radius: 0; overflow: visible; }
  .cel-cuerpo { margin: 0 var(--s4) var(--s4); }
}

/* Rejilla común en el resto de pasos */
/* teléfonos sueltos (número de guardia, teléfono de la sede, WhatsApp aparte) con el mismo ancho que el de contacto */
.ante-q .field > .phone-field { max-width: 260px; }
.ante-q .fila-contacto .field > .phone-field { max-width: none; }
/* Sede: Capacidad | Accesibilidad lado a lado (campos cortos del local); Estacionamiento y Horario a todo el ancho */
@media (min-width: 761px) {
  .ante-q .tarjeta-cuerpo:has(> .subgrupo[aria-label="Capacidad"]) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); align-items: stretch; }
  .ante-q .tarjeta-cuerpo:has(> .subgrupo[aria-label="Capacidad"]) > * { grid-column: 1 / -1; order: 3; }
  .ante-q .tarjeta-cuerpo > .subgrupo[aria-label="Ubicación"] { order: 0; }
  .ante-q .tarjeta-cuerpo > .subgrupo[aria-label="Capacidad"] { grid-column: 1; order: 1; }
  .ante-q .tarjeta-cuerpo > .subgrupo[aria-label="Accesibilidad"] { grid-column: 2; order: 1; }
  .ante-q .tarjeta-cuerpo > .subgrupo[aria-label="Estacionamiento"] { order: 2; }
}
/* Turnos del profesional: Sede | Días | Horario en una fila (el aviso que no frena, debajo) */
@media (min-width: 1280px) {
  .ante-q .shift:has(> .shift-top select) { display: grid; grid-template-columns: 240px auto auto minmax(0, 1fr) auto; align-items: center; gap: 10px 16px; }
  .ante-q .shift:has(> .shift-top select) > .shift-top { display: contents; }
  .ante-q .shift:has(> .shift-top select) > .shift-top > .select { grid-column: 1; grid-row: 1; }
  .ante-q .shift:has(> .shift-top select) > .shift-top > :not(.select) { grid-column: 5; grid-row: 1; }
  .ante-q .shift:has(> .shift-top select) > .days { grid-column: 2; grid-row: 1; }
  .ante-q .shift:has(> .shift-top select) > .hours { grid-column: 3; grid-row: 1; }
  .ante-q .shift:has(> .shift-top select) > .shift-avisos { grid-column: 1 / -1; grid-row: 2; }
  .ante-q .shift:not(:has(select)) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
  .ante-q .shift:not(:has(select)) > .shift-avisos { flex-basis: 100%; }
  .ante-q .shift > .days { width: 320px; max-width: 320px; }
}
.pqs-acts .btn { min-width: 112px; }

.info-pop.arriba { top: auto; bottom: calc(100% + 6px); }

/* Reglas: un rótulo con ⓘ (label-row) también va en la columna de rótulos */
@media (min-width: 761px) { .reglas-rejilla .subgrupo .field > .label-row.label-row { grid-column: 1; justify-self: start; margin: 0; } }

/* Reglas: Anticipación y Cancelación, cada par con su ancho natural, 48 px entre pares; el 2.º par empieza en el mismo punto en los dos bloques */
@media (min-width: 761px) {
  .reglas-rejilla .subgrupo > .q-grid2.par-reglas { display: grid; grid-template-columns: var(--par1, max-content) minmax(0, max-content); justify-content: start; gap: 16px 48px; }
  .reglas-rejilla .subgrupo .par-reglas.par-reglas > .field { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 6px; align-content: start; }
  .reglas-rejilla .subgrupo .par-reglas.par-reglas > .field > * { grid-column: 1 !important; justify-self: start; }
  .reglas-rejilla .subgrupo .par-reglas > .field > label, .reglas-rejilla .subgrupo .par-reglas > .field > .label-row { white-space: nowrap; }
}

/* Cambios tardíos: pregunta aparte a todo el ancho; rótulo arriba (con ⓘ) y las dos opciones de siempre en una línea */
.reglas-rejilla .subgrupo > .field.cambio-tardio { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
.reglas-rejilla .subgrupo > .field.cambio-tardio > * { grid-column: 1 !important; justify-self: start; }
.cambio-tardio > .label .info-wrap { margin-left: 2px; }

/* Recordatorios con el mismo patrón: interruptor + rótulo arriba, caja abajo; un recordatorio por columna */
@media (min-width: 761px) {
  .reglas-rejilla .par-reglas > .recordatorio-fila { display: grid; grid-template-columns: minmax(0, max-content); row-gap: 6px; justify-content: start; align-content: start; }
  .reglas-rejilla .par-reglas > .recordatorio-fila > * { grid-column: 1 !important; justify-self: start; }
  .reglas-rejilla .rec-cab { display: flex; align-items: center; gap: 10px; min-width: 0; }
  .reglas-rejilla .rec-cab > .switch { min-height: 0; min-width: 0; }
  .reglas-rejilla .rec-cab > .switch, .reglas-rejilla .rec-cab > svg { flex: none; }
  .reglas-rejilla .subgrupo > .q-grid2.par-reglas { align-items: end; }
  .reglas-rejilla .par-reglas > .cambio-tardio { align-self: start; }
  .reglas-rejilla .par-reglas > :first-child .rec-cab label.t { white-space: nowrap; }
  .reglas-rejilla .par-reglas > :first-child > label, .reglas-rejilla .par-reglas > :first-child > .label-row { white-space: nowrap; }
}

/* Recordatorios: rótulo arriba; la caja en el borde de la columna y su interruptor a la derecha, centrado con ella */
.reglas-rejilla .rec-linea { display: flex; align-items: center; gap: 12px; }
.reglas-rejilla .rec-linea > .switch { min-height: 0; min-width: 0; flex: none; }
/* Cambios tardíos: opciones del tamaño de Sí/No y Precio (32 px, letra 13) */
.cambio-tardio .seg-precio label { height: 32px; min-height: 32px; padding: 0 12px; font-size: 13px; font-weight: 500; }
@media (max-width: 760px) { .cambio-tardio .seg-precio label { height: auto; min-height: 40px; } }
.reglas-rejilla .subgrupo > .field.cambio-tardio { margin-top: 8px; } /* 24 px desde la fila de arriba (16 de separación + 8) */

/* Primera vez en el celular: sin «Cómo sigue»; ayuda en una línea compacta al final */
.ayuda-linea { margin: 0; align-items: center; justify-content: center; gap: 6px; font-size: 13px; color: var(--ink-2); }
.ayuda-linea.mob-only { display: none; }
.link-wa { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--a-wa); }
.link-wa .i { width: 16px; height: 16px; }
@media (max-width: 959px) { .ayuda-linea.mob-only { display: flex; } }
@media (max-width: 760px) { .como-sigue { display: none; } }

/* Celular (≤ 768 px), solo en la antesala: sin menú ni «Mi cuenta»; arriba a la derecha, «Salir». El panel real conserva su menú. PC no cambia. */
.topbar-m .salir { display: none; }
.ayuda-shell { display: none; }
@media (max-width: 768px) {
  .es-antesala .topbar-m [data-act="menu"], .es-antesala .topbar-m .icbtn.wa, .es-antesala .sidebar, .es-antesala .scrim { display: none !important; }
  .es-antesala .topbar-m { padding-left: var(--s4); padding-right: var(--s4); }
  .es-antesala .topbar-m .salir { display: inline-flex; align-items: center; min-height: 44px; margin-left: auto; font-size: 14px; font-weight: var(--w-semibold); color: var(--ink-2); text-decoration: none; }
  .es-antesala .ayuda-shell { display: flex; padding: 0 var(--s4) var(--s4); }
  .es-antesala:has(.ov-list) .ayuda-shell, .es-antesala:has(#contenido [data-act="ayuda"]) .ayuda-shell { display: none; } /* sin repetir si la pantalla ya ofrece la ayuda */
  .es-antesala.ante-q .ayuda-shell { padding-bottom: 96px; }
  .es-antesala.ante-q .q-wrap { padding-bottom: 8px; }
}

/* Contenedores de la franja (no ocupan lugar propio: PC queda igual) */
.slot-refuerzo, .slot-guardado { display: contents; }
/* Celular (≤ 768 px), en los pasos del cuestionario: sin franja «Tu asistente: N % listo»; «Guardado» (y el refuerzo) a la derecha
   de «Paso N de 7 · …». En inicio, revisando y creando sigue la franja aprobada. */
@media (max-width: 768px) {
  .es-antesala.ante-q:has(.q-progress) .strip { display: none; }
  .ante-q .q-progress { padding-top: var(--s3); }
  .ante-q .q-progress .meta { display: flex; align-items: center; gap: 8px; }
  .ante-q .q-progress .meta > span:first-child { flex: 1; min-width: 0; }
  .ante-q .q-progress .meta-der { display: inline-flex; align-items: center; gap: 8px; flex: none; }
  .ante-q .q-progress .meta-der .autosave { min-width: 0; }
  .ante-q .q-progress .meta-der .refuerzo.visible { max-width: 140px; }
  .ante-q .q-progress .meta:has(.refuerzo.visible) > span:nth-child(2) { display: none; }
  .ante-q .q-progress .meta:has(.refuerzo.visible) .autosave { display: none; }
}

/* Celular (≤ 768 px), pasos del cuestionario: sin cajas grises internas (los campos usan todo el ancho); el título de cada sección
   se queda como siempre (ícono + texto verde). La tarjeta exterior va de borde a borde, con 16 px a los lados. PC no cambia. */
@media (max-width: 768px) {
  .ante-q .subgrupo { background: none; border: 0; border-radius: 0; padding: 0; }
  .ante-q .subgrupo + .subgrupo, .ante-q .q-block > .subgrupo + .subgrupo { margin-top: var(--s5); }
  .ante-q .q-block { margin-left: calc(var(--s4) * -1); margin-right: calc(var(--s4) * -1); padding: var(--s4); border-left: 0; border-right: 0; border-radius: 0; }
  .ante-q .q-block.tarjeta { padding: 0; }
  .ante-q .tarjeta-cab { padding: var(--s2) var(--s4); }
  .ante-q .tarjeta-cuerpo { padding: var(--s3) var(--s4) var(--s4); }
  /* línea de pasos compacta: ~40 px, texto de 12 px en una línea, barra de 4 px a 6 px */
  .ante-q .q-progress { padding: 8px 0; }
  .ante-q .q-progress .meta { margin-bottom: 6px; font-size: 12px; line-height: 16px; white-space: nowrap; }
  .ante-q .q-progress .levels .lv { height: 4px; }
  .ante-q .q-progress .meta-der .autosave { font-size: 12px; }
  .ante-q .q-progress .meta.apretado > span:nth-child(2), .ante-q .q-progress .meta.apretado .autosave > span { display: none; }
}
/* Celular (≤ 768 px): «¿Dudas? Ayuda por WhatsApp» compacta (~34 px), pegada al contenido de arriba. PC no cambia. */
@media (max-width: 768px) {
  .ayuda-linea { padding: 5px 0; line-height: 18px; margin: 0; }
  .ayuda-linea .link-wa { min-height: 18px; }
  .stack > .ayuda-linea.mob-only { margin-top: -8px; } /* pegada a la lista: el hueco de la columna (16 px) queda en 8 */
  .es-antesala .ayuda-shell { padding: 5px var(--s4); margin: -8px 0 0; }
  /* En los pasos, el único espacio bajo la línea es el alto exacto de la barra fija Atrás/Siguiente (para que no la tape) */
  .es-antesala.ante-q .ayuda-shell { padding-bottom: 5px; margin-bottom: var(--alto-barra, 69px); }
  .es-antesala.ante-q .content { padding-bottom: 0; }
}

/* Logo: piezas solo de celular (ocultas en PC; el contenedor de la miniatura no ocupa lugar en PC) */
.ph-caja { display: contents; }
.ph-insignia, .solo-cel { display: none; }
/* Celular (≤ 768 px): toda la fila (≈ 64 px) abre el selector; insignia de lápiz en la miniatura; «Quitar» como enlace a la derecha */
@media (max-width: 768px) {
  .ante-q .logo-up { position: relative; flex-wrap: nowrap; min-height: 64px; padding: 8px 12px; cursor: pointer; }
  .ante-q .logo-up:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
  .ante-q .logo-up .ph-caja { display: block; position: relative; flex: none; }
  .ante-q .logo-up .ph-insignia { display: grid; place-items: center; position: absolute; right: -4px; bottom: -4px; width: 20px; height: 20px; border-radius: 50%; background: var(--brand); color: #fff; box-shadow: 0 0 0 2px #fff; }
  .ante-q .logo-up .ph-insignia .i { width: 11px; height: 11px; }
  .ante-q .logo-up .solo-pc { display: none; }
  .ante-q .logo-up .solo-cel { display: inline; }
  .ante-q .logo-up .t b { white-space: normal; }
  .ante-q .logo-up .acts { width: auto; flex: none; }
  .ante-q .logo-up .logo-elegir { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; }
  .ante-q .logo-up .logo-quitar { position: relative; z-index: 1; min-height: 44px; height: 44px; padding: 0 4px; border: 0; background: none; color: var(--red); font-size: 13px; font-weight: var(--w-semibold); text-decoration: underline; text-underline-offset: 2px; flex: none; }
}
/* Celular (≤ 768 px), línea de pasos FINAL (reemplaza la anterior): una sola línea de ~32 px; a la izquierda «Paso N de 7 · …» y a la
   derecha la barra de 7 segmentos (5 px), centrada con el texto. Sin «Quedan ~N min» ni «Guardado». PC no cambia. */
@media (max-width: 768px) {
  .ante-q .q-progress { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
  .ante-q .q-progress .meta { flex: none; margin: 0; }
  .ante-q .q-progress .meta > span:nth-child(2), .ante-q .q-progress .meta-der { display: none !important; }
  .ante-q .q-progress .levels { flex: 1; min-width: 0; }
  .ante-q .q-progress .levels .lv { height: 5px; }
}
/* Celular (≤ 768 px): íconos de título de sección del mismo tamaño (16 px), línea tenue entre secciones y línea de pasos pegada
   a la cabecera (8 px). PC no cambia. */
@media (max-width: 768px) {
  .ante-q .subgrupo-ic { display: inline-grid; place-items: center; width: 16px; height: 16px; }
  .ante-q .subgrupo-ic .i, .ante-q .subgrupo-ic svg { width: 16px; height: 16px; }
  .ante-q .subgrupo + .subgrupo, .ante-q .q-block > .subgrupo + .subgrupo { margin-top: 0; padding-top: 16px; border-top: 1px solid var(--border); } /* 16 px sobre la línea (separación de la rejilla) y 16 px debajo */
  .es-antesala.ante-q:has(.q-progress) .content { padding-top: 0; }
}
/* Celular (≤ 768 px): «Quitar» de sede, servicio, profesional, cierre o pregunta = solo ícono de papelera, 32 × 32 px visible,
   44 × 44 px de área táctil, rojo tenue; el nombre accesible ya es «Quitar …» (aria-label del cuestionario). PC no cambia. */
@media (max-width: 768px) {
  .ante-q .btn-quitar { position: relative; width: 32px; height: 32px; min-width: 32px; padding: 0; justify-content: center; gap: 0; font-size: 0; flex: none; }
  .ante-q .btn-quitar .i { width: 16px; height: 16px; }
  .ante-q .btn-quitar::after { content: ""; position: absolute; inset: -6px; }
}
/* Celular (≤ 768 px): enlace de Google Maps en letra pequeña (13 px; 16 px al escribir, para que iOS no haga zoom), papelera de
   19 px en su marco de 32 px y «¿Dudas?…» a 16 px de lo anterior en los pasos. PC no cambia. */
@media (max-width: 768px) {
  .ante-q .maps-row [data-kind="mapa"] { font-size: 13px; height: var(--field-h, 34px); min-height: var(--field-h, 34px); }
  .ante-q .maps-row [data-kind="mapa"]::placeholder { font-size: 13px; }
  .ante-q .maps-row [data-kind="mapa"]:focus { font-size: 16px; }
  .ante-q .btn-quitar .i { width: 19px; height: 19px; }
  .es-antesala.ante-q .ayuda-shell { margin-top: 0; }
  .es-antesala.ante-q .q-wrap { padding-bottom: 16px; }
}

/* Celular (≤ 768 px): «Abrir Maps» como enlace en la línea del rótulo, a la derecha (44 px de área táctil); sin botón. PC no cambia. */
.maps-link-cel { display: none; }
@media (max-width: 768px) {
  .ante-q .field.con-maps { position: relative; }
  .ante-q .maps-row > .btn { display: none; }
  .ante-q .field.con-maps > label { padding-right: 88px; flex-wrap: wrap; row-gap: 0; } /* «(opcional)» baja de línea antes que tocar el enlace */
  .ante-q .maps-link-cel { display: inline-flex; align-items: center; position: absolute; right: 0; top: -12px; min-height: 44px; padding: 0 2px; color: var(--brand-text); font-size: 13px; font-weight: var(--w-semibold); text-decoration: underline; text-underline-offset: 2px; }
}
@media (max-width: 768px) { .ante-q .field.con-maps .rotulo-maps { white-space: nowrap; } }
@media (max-width: 768px) { .ante-q .q-head .solo-pc { display: none; } .ante-q .q-head .solo-cel { display: inline; } }
/* Celular (≤ 768 px), Recordatorios: el ícono de WhatsApp va en línea con el rótulo (16 px, 6 px de separación, centrado). PC no cambia. */
@media (max-width: 768px) {
  .reglas-rejilla .rec-cab { display: flex; align-items: center; gap: 6px; }
  .reglas-rejilla .rec-cab > svg.i-wa { position: static; width: 16px; height: 16px; margin: 0; flex: none; }
  .reglas-rejilla .recordatorio-fila { display: grid; row-gap: 6px; }
}

/* Secciones de una sola pregunta: en el celular la pregunta es el encabezado (con el ícono) y no hay título ni divisoria intermedia. */
.preg-cab { display: none; }
@media (max-width: 768px) {
  .ante-q .q-block.pregunta-unica > .q-block-head > h2:not(.preg-cab), .ante-q .pregunta-unica .preg-orig { display: none; }
  .ante-q .q-block.pregunta-unica > .q-block-head > .preg-cab { display: block; }
  .ante-q .q-block.pregunta-unica > .q-block-head { border-bottom: 0; padding-bottom: 0; }
  .ante-q .q-block.pregunta-unica .q-inline { border-top: 0; padding-top: 0; }
  .ante-q .q-block.pregunta-unica .q-inline > .t > small { margin-top: 0; }
}

.preg-cab-sg { display: none; }
@media (max-width: 768px) {
  .ante-q .pregunta-unica-sg .sg-titulo, .ante-q .pregunta-unica-sg .preg-orig-sg { display: none; }
  .ante-q .pregunta-unica-sg .preg-cab-sg { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
}
/* Celular (≤ 768 px), Paso 2: sin el subtítulo «Ubicación» ni su ícono; los campos de la sede van directo (el pin de Dirección se queda). PC no cambia. */
@media (max-width: 768px) { .ante-q .subgrupo[aria-label="Ubicación"] > .subgrupo-t { display: none; } }
/* Celular (≤ 768 px), Paso 4: sin el subtítulo «Perfil» ni su ícono. PC no cambia. */
@media (max-width: 768px) { .ante-q .subgrupo[aria-label="Perfil"] > .subgrupo-t { display: none; } }
/* Celular (≤ 768 px), Profesionales → «Servicios que atiende»: sin el contador «N de N»; «Todos · Ninguno» sube a la línea del título,
   a la derecha (área táctil de 44 px). PC no cambia. */
@media (max-width: 768px) {
  .ante-q .subgrupo[aria-label="Servicios"] { position: relative; }
  .ante-q .subgrupo[aria-label="Servicios"] .svcpick-count { display: none; }
  .ante-q .subgrupo[aria-label="Servicios"] .svcpick-head { position: absolute; right: 0; top: calc(var(--sg-pad, 16px) + 8px); transform: translateY(-50%); margin: 0; padding: 0; }
  .ante-q .subgrupo[aria-label="Servicios"]:first-child .svcpick-head { top: 8px; }
  .ante-q .subgrupo[aria-label="Servicios"] .svcpick-link { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Celular (≤ 768 px), Paso 1: «Logo (opcional)» como encabezado del mismo nivel que «Nombre comercial» (13 px, 600, verde, ícono);
   «(opcional)» en gris normal. PC no cambia (el ícono se oculta). */
.ic-logo-cel { display: none; }
@media (max-width: 768px) {
  .ante-q label.rotulo-como-titulo { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; line-height: 16.25px; color: #22701c; }
  .ante-q label.rotulo-como-titulo .ic-logo-cel { display: block; width: 16px; height: 16px; color: rgb(39, 132, 32); }
  .ante-q label.rotulo-como-titulo .opc { color: var(--muted); font-weight: var(--w-regular); }
}
.ic-mundo-cel { display: none; }
@media (max-width: 768px) {
  .ante-q .subgrupo-ic:has(.ic-mundo-cel) > svg:not(.ic-mundo-cel) { display: none; }
  .ante-q .subgrupo-ic > .ic-mundo-cel { display: block; width: 16px; height: 16px; }
}

/* Celular (≤ 768 px), PATRÓN GENERAL de rótulos: cada campo lleva su propio título con el formato de «Nombre comercial»
   (ícono de 16 px + texto 13 px, 600, verde); «(opcional)» en gris normal; la ⓘ al final; la ayuda gris queda debajo del campo.
   Los subtítulos de grupo redundantes se ocultan (la línea divisoria entre grupos se queda). PC no cambia (el ícono se oculta). */
.ic-campo-cel { display: none; }
@media (max-width: 768px) {
  .ante-q .subgrupo:has(.rotulo-cel, .rec-cab) > .subgrupo-t, .ante-q .q-block-head.cab-redundante { display: none; }
  .ante-q .rotulo-cel { font-size: 13px !important; font-weight: 600 !important; line-height: 16.25px !important; color: #22701c !important; letter-spacing: 0; }
  .ante-q .label-row:has(> .rotulo-cel) { line-height: 16.25px; }
  .ante-q .rotulo-cel .solo-pc { display: none; }
  .ante-q .rotulo-cel .solo-cel { display: inline; }
  .ante-q .rotulo-cel > .ic-campo-cel { display: inline-block; width: 16px; height: 16px; margin: 0 8px 0 -24px; vertical-align: top; color: rgb(39, 132, 32); flex: none; }
  .ante-q .rotulo-cel { padding-left: 24px; } /* si el título ocupa dos líneas, la segunda empieza bajo el texto, no bajo el ícono */
  .ante-q .rotulo-cel .opc { color: var(--muted); font-weight: var(--w-regular); }
  /* Recordatorios: «Recordatorio automático por WhatsApp» con el mismo formato (el ícono de WhatsApp ya está en su línea). */
  .reglas-rejilla .rec-cab { gap: 8px; }
  .reglas-rejilla .rec-cab > label.t { font-size: 13px; font-weight: 600; line-height: 16.25px; color: #22701c; }
  .reglas-rejilla .rec-cab > svg.i-wa { color: rgb(39, 132, 32); }
}

/* Celular (≤ 768 px): espacio UNIFORME en todos los campos: 4 px de la base del título al borde superior del campo (o de las opciones
   Sí/No o de los botones) y 4 px del campo a su ayuda gris. La ⓘ y el contador de la línea del título no la agrandan. PC no cambia. */
@media (max-width: 768px) {
  .ante-q .label-row:has(> .rotulo-cel) { align-items: center; }
  .ante-q .label-row:has(> .rotulo-cel) > :not(.rotulo-cel) { margin-block: -6px; }
  .ante-q .rotulo-cel .info-wrap { margin-block: 0; height: 16px; vertical-align: top; align-items: center; } /* ⓘ dentro del título: centrada en su línea */
  .ante-q .field:has(> .rotulo-cel, > .label-row > .rotulo-cel), .ante-q .sx-campo:has(> .rotulo-cel), .reglas-rejilla .recordatorio-fila { row-gap: 4px; }
  .reglas-rejilla .subgrupo > .field.cambio-tardio { row-gap: 4px; }
  .ante-q .sx-precio > legend.rotulo-cel { padding: 0 0 0 24px; margin-bottom: 4px; }
  .ante-q .field:has(> .rotulo-cel, > .label-row > .rotulo-cel) > .hint, .ante-q .sx-campo:has(> .rotulo-cel) > .sx-ayuda { margin-top: 0; }
}
/* Celular (≤ 768 px): 16 px UNIFORMES entre el final de un campo (o de su ayuda) y el título del siguiente. PC no cambia. */
@media (max-width: 768px) {
  .ante-q .fila-contacto, .ante-q .pro-id { row-gap: 16px; }
  .reglas-rejilla .subgrupo > .field.cambio-tardio { margin-top: 0; }
  .ante-q .field.q-otros { margin-top: 16px; }
  .ante-q .sx-mas { padding-top: 0; }
}
/* Celular (≤ 768 px): filas con interruptor («¿Puede usar emojis?»): ícono, texto e interruptor centrados en la misma línea. PC no cambia. */
@media (max-width: 768px) {
  .ante-q .q-inline > .t:has(> .rotulo-fila) { display: flex; flex-direction: column; align-items: flex-start; line-height: 16.25px; }
  .ante-q .rotulo-cel.rotulo-fila { display: inline-flex; align-items: center; padding-left: 0; }
  .ante-q .rotulo-fila > .ic-campo-cel { margin: 0 8px 0 0; }
}
@media (max-width: 768px) { .ante-q .rotulo-cel.rotulo-oculto-cel { display: none; } } /* Paso 6: sin «Lo que tu asistente nunca responde» en el celular. PC no cambia. */
@media (max-width: 768px) { .ante-q .q-head .bajada-tenue { font-size: 12px; color: var(--muted); } } /* Paso 7: aclaración en letra menor y gris (contraste AA). PC no cambia. */
@media (max-width: 768px) { .ante-q .q-head .solo-cel > b { color: #22701c; font-weight: 600; } } /* Paso 7: «Sección opcional» en el verde de los títulos de campo. PC no cambia. */
@media (max-width: 768px) { .ante-q .q-head .solo-cel > b { display: block; } .ante-q .q-head .solo-cel > b + .bajada-tenue { display: block; margin-top: 2px; } } /* Paso 7: el paréntesis en su propia línea, 2 px debajo. PC no cambia. */
@media (max-width: 768px) { .ante-q .aviso-doble .solo-pc, .ante-q .para-que-sepas .solo-pc { display: none; } .ante-q .aviso-doble .solo-cel, .ante-q .para-que-sepas .solo-cel { display: inline; } } /* Avisos de turno y «Revisa los detalles…»: textos del dueño para celular. PC no cambia. */
@media (max-width: 768px) { .cerrar-ok .solo-pc { display: none; } .cerrar-ok .solo-cel { display: inline; } } /* «Revisando tus datos…»: invita a esperar (sin correo ni cerrar). PC no cambia. */
@media (max-width: 768px) { .timeline li.sin-correo-cel p { display: none; } } /* «Revisando tus datos…»: sin mencionar el correo en el celular (se sigue enviando). PC no cambia. */
@media (max-width: 768px) { .ante-q .count-svc { color: var(--muted); } } /* «7 de 7 activos»: contraste AA sobre el fondo verde claro (4,37 → 5,2). PC no cambia. */

/* =====================================================================================================================
   PROPUESTA v3 · PC (≥ 769 px). La PC toma el lenguaje del celular aprobado (2026-10-12), adaptado al ancho.
   TODO lo nuevo de PC vive en este archivo (se inserta después de antesala.css) y no toca nada ≤ 768 px: el celular queda
   idéntico al oficial (v2). Se conserva de la PC aprobada: rejilla común y campos cortos lado a lado, País | Teléfono |
   WhatsApp a 3 columnas, Reglas de citas en pares con el interruptor al inicio, menú lateral con candados y los ⓘ.
   ===================================================================================================================== */
@media (min-width: 769px) {
  /* 1. Línea de pasos (reemplaza, en los pasos, la franja «Tu asistente: N % listo» y el riel de 7 pestañas).
        Banda blanca fija arriba, del alto del encabezado del panel (56 px): «Paso N de 7 · Nombre» | barra de 7 tramos |
        refuerzo o «Guardado» | «¿Dudas? Ayuda por WhatsApp». En inicio, revisando y creando sigue la franja aprobada. */
  .es-antesala.ante-q:has(.q-progress) .strip { display: none; }
  .ante-q .q-rail { display: none !important; }
  .ante-q .q-progress { display: flex !important; align-items: center; gap: var(--s4); position: sticky; top: 0; z-index: 8; height: var(--a-head); margin: calc(var(--s5) * -1) calc(var(--s6) * -1) var(--s2); padding: 0 var(--s6); border-bottom: 1px solid var(--border); background: var(--surface-1); }
  .ante-q .q-progress .meta { display: contents; }
  .ante-q .q-progress .meta > span:first-child { order: 0; flex: none; font-size: 14px; color: var(--ink-2); white-space: nowrap; }
  .ante-q .q-progress .meta > span:first-child b { color: var(--ink); font-weight: var(--w-semibold); }
  .ante-q .q-progress .meta > span:nth-child(2) { display: none; } /* sin «Quedan ~N min», como en el celular */
  .ante-q .q-progress .levels { order: 1; flex: 1; min-width: 120px; margin: 0; }
  .ante-q .q-progress .levels .lv { height: 6px; }
  .ante-q .q-progress .meta-der { order: 2; display: inline-flex !important; align-items: center; gap: var(--s5); flex: none; font-size: 13px; }
  .ante-q .q-progress .meta-der .autosave { min-width: 0; font-size: 13px; }
  .ante-q .q-progress .meta-der .refuerzo.visible { max-width: 220px; }
  .ante-q .q-progress .meta-der:has(.refuerzo.visible) .autosave { display: none; }
  .ante-q .q-progress .ayuda-paso { order: 9; position: relative; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--ink-2); white-space: nowrap; }
  .ante-q .q-progress .ayuda-paso .link-wa { min-height: 32px; font-size: 13px; font-weight: var(--w-semibold); color: var(--a-wa); }
  .ante-q .q-progress .ayuda-paso .pop { top: calc(100% + 16px); white-space: normal; }

  /* 2. Secciones sin caja gris interna: una línea tenue de 1 px entre secciones (16 px arriba y abajo). */
  .ante-q .subgrupo { background: none; border: 0; border-radius: 0; padding: 0; }
  .ante-q .subgrupo + .subgrupo, .ante-q .q-block > .subgrupo + .subgrupo { margin-top: 0; padding-top: var(--s4); border-top: 1px solid var(--border); }
  /* Paso 2: Capacidad | Accesibilidad van lado a lado; la línea de arriba cruza también el hueco entre columnas (una sola línea). */
  .ante-q .tarjeta-cuerpo > .subgrupo[aria-label="Capacidad"] { position: relative; }
  .ante-q .tarjeta-cuerpo > .subgrupo[aria-label="Capacidad"]::after { content: ""; position: absolute; top: -1px; right: -40px; width: 40px; border-top: 1px solid var(--border); }
  .ante-q .subgrupo-ic { display: inline-grid; place-items: center; width: 16px; height: 16px; }
  .ante-q .subgrupo-ic .i, .ante-q .subgrupo-ic svg { width: 16px; height: 16px; }
  .ante-q .subgrupo[aria-label="Ubicación"] > .subgrupo-t, .ante-q .subgrupo[aria-label="Perfil"] > .subgrupo-t { display: none; }
  .ante-q .subgrupo-ic:has(.ic-mundo-cel) > svg:not(.ic-mundo-cel) { display: none; }
  .ante-q .subgrupo-ic > .ic-mundo-cel { display: block; width: 16px; height: 16px; }

  /* 3. Títulos de campo: cada campo lleva su título con ícono de 16 px, verde, 13 px y 600 (formato de «Nombre comercial»);
        «(opcional)» en gris normal y la ⓘ al final. Se ocultan los subtítulos que repetían el título del campo. */
  .ante-q .subgrupo:has(.rotulo-cel, .rec-cab) > .subgrupo-t, .ante-q .q-block-head.cab-redundante { display: none; }
  .ante-q .rotulo-cel { font-size: 13px !important; font-weight: 600 !important; line-height: 16.25px !important; color: #22701c !important; letter-spacing: 0; padding-left: 24px; }
  .ante-q .label-row:has(> .rotulo-cel) { line-height: 16.25px; align-items: center; }
  .ante-q .label-row:has(> .rotulo-cel) > :not(.rotulo-cel) { margin-block: -6px; }
  .ante-q .rotulo-cel .solo-pc { display: none; }
  .ante-q .rotulo-cel .solo-cel { display: inline; }
  .ante-q .rotulo-cel > .ic-campo-cel { display: inline-block; width: 16px; height: 16px; margin: 0 8px 0 -24px; vertical-align: top; color: rgb(39, 132, 32); flex: none; }
  .ante-q .rotulo-cel .opc { color: var(--muted); font-weight: var(--w-regular); }
  .ante-q .rotulo-cel .info-wrap { margin-block: 0; height: 16px; vertical-align: top; align-items: center; }
  .ante-q .rotulo-cel.rotulo-oculto-cel { display: none; }
  .ante-q .q-inline > .t:has(> .rotulo-fila) { display: flex; flex-direction: column; align-items: flex-start; line-height: 16.25px; }
  .ante-q .rotulo-cel.rotulo-fila { display: inline-flex; align-items: center; padding-left: 0; }
  .ante-q .rotulo-fila > .ic-campo-cel { margin: 0 8px 0 0; }
  .ante-q label.rotulo-como-titulo { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; line-height: 16.25px; color: #22701c; }
  .ante-q label.rotulo-como-titulo .ic-logo-cel { display: block; width: 16px; height: 16px; color: rgb(39, 132, 32); }
  .ante-q label.rotulo-como-titulo .opc { color: var(--muted); font-weight: var(--w-regular); }
  .reglas-rejilla .rec-cab { display: flex; align-items: center; gap: 8px; }
  .reglas-rejilla .rec-cab > svg.i-wa { position: static; width: 16px; height: 16px; margin: 0; flex: none; color: rgb(39, 132, 32); }
  .reglas-rejilla .rec-cab > label.t { font-size: 13px; font-weight: 600; line-height: 16.25px; color: #22701c; }
  .reglas-rejilla .recordatorio-fila { display: grid; row-gap: 4px; }

  /* ⓘ pegada a la última palabra: nunca baja sola de línea (el globo sí parte sus líneas). */
  .ancla-info { white-space: nowrap; }
  .ancla-info .info-pop { white-space: normal; }

  /* Paso 1: País angosto (240 px: entra «República Dominicana» con bandera y flecha); Teléfono y WhatsApp se reparten el resto por igual. */
  .ante-q .fila-contacto { grid-template-columns: 240px minmax(0, 1fr) minmax(0, 1fr); }

  /* 4. Espacios uniformes: 4 px título → campo, 4 px campo → ayuda, 16 px entre campos. */
  .ante-q .field:has(> .rotulo-cel, > .label-row > .rotulo-cel), .ante-q .sx-campo:has(> .rotulo-cel) { row-gap: 4px; }
  .reglas-rejilla .subgrupo > .field.cambio-tardio { row-gap: 4px; margin-top: 0; }
  .ante-q .sx-precio > legend.rotulo-cel { padding: 0 0 0 24px; margin-bottom: 4px; }
  .ante-q .field:has(> .rotulo-cel, > .label-row > .rotulo-cel) > .hint, .ante-q .sx-campo:has(> .rotulo-cel) > .sx-ayuda { margin-top: 0; }
  .ante-q .field.q-otros { margin-top: var(--s4); }
  .ante-q .sx-mas { padding-top: 0; }

  /* 5. Preguntas directas: en las secciones de una sola pregunta, la pregunta es el encabezado, con la ⓘ al final. */
  .ante-q .q-block.pregunta-unica > .q-block-head > h2:not(.preg-cab), .ante-q .pregunta-unica .preg-orig { display: none; }
  .ante-q .q-block.pregunta-unica > .q-block-head > .preg-cab { display: block; }
  .ante-q .q-block.pregunta-unica > .q-block-head { border-bottom: 0; padding-bottom: 0; }
  .ante-q .q-block.pregunta-unica .q-inline { border-top: 0; padding-top: 0; }
  .ante-q .q-block.pregunta-unica .q-inline > .t > small { margin-top: 0; }
  .ante-q .pregunta-unica-sg .sg-titulo, .ante-q .pregunta-unica-sg .preg-orig-sg { display: none; }
  .ante-q .pregunta-unica-sg .preg-cab-sg { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }

  /* 5b. En PC, la explicación va bajo la pregunta y Sí/No debajo, alineados a la izquierda (como todo campo: título → control). */
  .ante-q .q-block.pregunta-unica > .q-block-head + * { margin-top: -12px; } /* pregunta → explicación: 8 px */
  .ante-q .q-block.pregunta-unica .q-inline.q-sino { flex-direction: column; align-items: flex-start; gap: var(--s2); }
  /* Interruptores con título («¿Puede usar emojis?»): el interruptor junto al título, no al otro extremo de la tarjeta. */
  .ante-q .q-inline:has(> .t > .rotulo-fila) { justify-content: flex-start; gap: var(--s4); }
  .ante-q .q-inline > .t:has(> .rotulo-fila) { flex: 0 0 auto; }
  /* Paso 6: «Nombre del asistente» | «¿Cómo trata a los pacientes?» lado a lado (usa el ancho; el género aparece al lado del nombre). */
  .ante-q .subgrupo:has([data-path$="nombreAsistente"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s4); align-items: start; }
  .ante-q .subgrupo:has([data-path$="nombreAsistente"]) > .q-grid2 { display: contents; }
  .ante-q .subgrupo:has([data-path$="nombreAsistente"]) > .subgrupo-t { grid-column: 1 / -1; }
  /* Paso 7: filas plegadas más bajas (56 px). */
  .ante-q .fold summary { min-height: 56px; }

  /* 6. Logo: toda la caja abre el selector (sin botón), con insignia de lápiz en la miniatura; «Quitar» como enlace. */
  .ante-q .logo-up { position: relative; flex-wrap: nowrap; min-height: 64px; cursor: pointer; transition: border-color var(--dur-1), background var(--dur-1); }
  .ante-q .logo-up:hover { border-color: var(--brand); background: color-mix(in srgb, var(--brand-soft) 45%, #fff); }
  .ante-q .logo-up:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
  .ante-q .logo-up .ph-caja { display: block; position: relative; flex: none; }
  .ante-q .logo-up .ph-insignia { display: grid; place-items: center; position: absolute; right: -4px; bottom: -4px; width: 20px; height: 20px; border-radius: 50%; background: var(--brand); color: #fff; box-shadow: 0 0 0 2px #fff; }
  .ante-q .logo-up .ph-insignia .i { width: 11px; height: 11px; }
  .ante-q .logo-up .t b { white-space: normal; }
  .ante-q .logo-up .acts { width: auto; flex: none; margin-left: auto; }
  .ante-q .logo-up .logo-elegir { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; }
  .ante-q .logo-up .logo-quitar { position: relative; z-index: 1; min-height: 32px; height: 32px; padding: 0 4px; border: 0; background: none; color: var(--red); font-size: 13px; font-weight: var(--w-semibold); text-decoration: underline; text-underline-offset: 2px; flex: none; }

  /* 7. Quitar (sede, servicio, profesional, cierre, pregunta): solo ícono de papelera, 32 × 32 px, rojo tenue. */
  .ante-q .btn-quitar { position: relative; width: 32px; height: 32px; min-width: 32px; padding: 0; justify-content: center; gap: 0; font-size: 0; flex: none; }
  .ante-q .btn-quitar .i { width: 19px; height: 19px; }

  /* 8. Google Maps: «Abrir Maps» como enlace en la línea del título, a la derecha; sin botón. */
  .ante-q .field.con-maps { position: relative; }
  .ante-q .maps-row > .btn { display: none; }
  .ante-q .field.con-maps > label { padding-right: 88px; }
  .ante-q .field.con-maps .rotulo-maps { white-space: nowrap; }
  .ante-q .maps-link-cel { display: inline-flex; align-items: center; position: absolute; right: 0; top: -8px; min-height: 32px; padding: 0 2px; color: var(--brand-text); font-size: 13px; font-weight: var(--w-semibold); text-decoration: underline; text-underline-offset: 2px; }

  /* 9. Profesionales → «Servicios que atiende»: sin contador; «Todos · Ninguno» en la línea del título, a la derecha. */
  .ante-q .subgrupo[aria-label="Servicios"] { position: relative; }
  .ante-q .subgrupo[aria-label="Servicios"] .svcpick-count { display: none; }
  .ante-q .subgrupo[aria-label="Servicios"] .svcpick-head { position: absolute; right: 0; top: calc(var(--s4) + 8px); transform: translateY(-50%); margin: 0; padding: 0; }
  .ante-q .subgrupo[aria-label="Servicios"]:first-child .svcpick-head { top: 8px; }
  .ante-q .subgrupo[aria-label="Servicios"] .svcpick-link { min-height: 32px; display: inline-flex; align-items: center; }

  /* 10. Textos del dueño (los mismos del celular). */
  .ante-q .q-head .solo-pc { display: none; }
  .ante-q .q-head .solo-cel { display: inline; }
  .ante-q .q-head .bajada-tenue { font-size: 12px; color: var(--muted); }
  .ante-q .q-head .solo-cel > b { display: block; color: #22701c; font-weight: 600; }
  .ante-q .q-head .solo-cel > b + .bajada-tenue { display: block; margin-top: 2px; }
  .ante-q .aviso-doble .solo-pc, .ante-q .para-que-sepas .solo-pc, .cerrar-ok .solo-pc { display: none; }
  .ante-q .aviso-doble .solo-cel, .ante-q .para-que-sepas .solo-cel, .cerrar-ok .solo-cel { display: inline; }
  .timeline li.sin-correo-cel p { display: none; }
  .ante-q .count-svc { color: var(--muted); }
}
/* Entre 769 y 959 px el panel usa la barra superior con el botón de WhatsApp: la ayuda no se repite en la línea de pasos. */
@media (min-width: 769px) and (max-width: 959px) {
  .ante-q .q-progress .ayuda-paso { display: none; }
  .ante-q .q-progress { top: 56px; margin: calc(var(--s4) * -1) calc(var(--s4) * -1) var(--s2); padding: 0 var(--s4); } /* bajo la barra superior; el contenido tiene 16 px de margen */
}

/* Tarjetas con encabezado propio (Paso 6: Urgencias, ¿Cuándo avisa…?, Lo que tu asistente no responde, y toda tarjeta con ese
   encabezado), en PC Y en celular: sin línea bajo el título; el contenido empieza 12 px debajo. Las líneas entre campos no cambian. */
.ante-q .q-block > .q-block-head { border-bottom: 0; padding-bottom: 0; }
.ante-q .q-block:not(.pregunta-unica) > .q-block-head:not(.cab-redundante) + * { margin-top: calc(12px - var(--gap-qblock, 20px)); }
@media (max-width: 768px) { .ante-q .q-block { --gap-qblock: 16px; } } /* en el celular la tarjeta separa 16 px */

/* =====================================================================
   «mi.» en producción: lo mínimo que el diseño aprobado no traía porque era un prototipo con datos de ejemplo.
   Todo usa los tokens del cuestionario/panel; no hay colores nuevos.
   ===================================================================== */
.stack-form { display: grid; gap: var(--s4); }
.peq, .link-peq, .hint-peq { font-size: 12px; }
.hint-peq { color: var(--muted); }
a.link-peq { color: var(--brand-text); font-weight: var(--w-semibold); }
.screenhead + .note { margin-bottom: var(--s4); }
.screenhead + .note-ok > div { color: var(--ink); }
.arow .err { grid-column: 1 / -1; }
.err[hidden] { display: none; }
.en-acceso .authcard .btn-block { text-decoration: none; }
.en-acceso [data-slot="google"]:empty { display: none; }

/* Confirmación de país y moneda: respira 16 px bajo la fila de contacto (el diseño aprobado). */
.ante-q .fila-pais > .ubicacion { margin: var(--s4) 0 var(--s3); }

/* Paso 7 · Afinar: «Sección opcional» en el verde de los títulos de campo y, debajo, la aclaración tenue (12 px). */
.ante-q .q-head .bajada-opcional { display: block; color: #22701c; font-weight: 600; }
.ante-q .q-head .bajada-tenue { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); }

/* Mi cuenta · cambiar correo: el formulario tiene dos pasos (correo y contraseña; luego el código) con el mismo ritmo que el resto. */
.inlineform > [data-paso-correo] { display: grid; gap: var(--s3); }
.inlineform > [data-paso-correo][hidden] { display: none; }

/* Sprite de íconos: escondido por clase (no por estilo en atributo, que la CSP de las páginas sin sesión no permite). */
.sprite-oculto { position: absolute; width: 0; height: 0; overflow: hidden; }
/* Logo oficial de WhatsApp: marca rellena, sin trazo. */
#i-whatsapp path { fill: currentColor; stroke: none; }

/* Entre 960 y ~1100 px la línea de pasos (con sus márgenes negativos) pasaba unos píxeles del ancho: nunca hay desplazamiento horizontal. */
.es-antesala .main { overflow-x: clip; }
/* Celular (paso 1 y la línea de ayuda): áreas táctiles de 44 px SIN cambiar cómo se ven. La zona sensible se extiende con un pseudo-elemento transparente
   (ⓘ 28 → 44, selector de país 32 → 44, «Ayuda por WhatsApp» 18 → 44). */
@media (max-width: 768px) {
  .ante-q .info-btn, .ante-q .phone-country, .ayuda-linea .link-wa { position: relative; }
  .ante-q .info-btn::after { content: ""; position: absolute; inset: -8px; }
  .ante-q .phone-country::after { content: ""; position: absolute; left: 0; right: 0; top: -6px; bottom: -6px; }
  .ayuda-linea .link-wa::after { content: ""; position: absolute; left: -4px; right: -4px; top: -9px; bottom: -17px; }
}
