/* GENERADO por scripts/leadz-generar-vistas.mjs desde vista-leadz-conversaciones.js#CSS_CONV + vista-leadz-conversaciones.js#CSS_LISTA (vista conversaciones, css). No se edita a mano. */

  .lz-cv { max-width:1240px; }
  .lz-cvh { display:flex; align-items:flex-start; justify-content:space-between; gap:12px 20px; flex-wrap:wrap; margin-bottom:24px; }
  .lz-cvh__id { min-width:0; flex:1 1 320px; }
  .lz-cv-nombre { margin:0; font-size:var(--fs-6); font-weight:500; letter-spacing:-.02em; line-height:1.2; }
  .lz-cv-nombre a { color:inherit; text-decoration:none; }
  @media (hover:hover) { .lz-cv-nombre a:hover { color:var(--accent-text); } }
  .lz-cvh__sub { margin-top:2px; font-size:var(--fs-3); color:var(--text-muted); }
  .lz-cvh__meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-top:8px; font-size:var(--fs-2); color:var(--text-2); }
  .lz-cvh__acc { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  .lz-dedujo { display:flex; align-items:center; gap:6px 12px; flex-wrap:wrap; margin:0 0 16px; padding:6px 12px; border-radius:var(--r-card); background:var(--surface-2); font-size:var(--fs-2); }
  .lz-dedujo form { margin:0 0 0 auto; }

  /* La rejilla: lectura a la izquierda (880 como máximo) y carril pegajoso de 300 desde 1280. Bajo
     1280 el carril va PRIMERO y es una franja; el índice no se pinta. */
  .lz-cvg { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
  .lz-cvg__main { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; min-width:0; align-content:start; }
  .lz-cvg__main > * { min-width:0; }
  /* El aire entre tarjetas lo pone solo la rejilla (24): el margen de 12 de CSS_QUIETO_CONV se sumaba y daba 36. */
  .lz-cvg__main > .lz-cv-sec { margin-bottom:0; }
  .lz-cvg__main .zayuda a, .lz-cv-sec .zalert a { font-weight:500; }
  /* PCB9A-30: el enlace de una frase de la ayuda va en línea y con su espacio (se leía «reagendar.Cerrarlas»). */
  .lz-ayuda .zayuda a, .lz-ayuda .zayuda strong, .lz-ayuda .zayuda code { display:inline; margin-inline-start:.2em; }
  .lz-cvg .lz-rail { order:-1; }
  .zcard.lz-cv-sec { padding:24px; overflow:visible; position:relative; scroll-margin-top:calc(var(--lz-top) + 12px); }
  .lz-cvg__main > section[id], .lz-cvg__main > div[id] { scroll-margin-top:calc(var(--lz-top) + 12px); }
  .lz-cv-sec h2, .lz-reco h2 { margin:0; font-size:var(--fs-4); font-weight:600; letter-spacing:-.01em; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
  /* Un glifo por bloque (Alex, 15-oct: «añade un icono distintivo para cada bloque»), en gris tenue a 18 px: identifica
     el módulo sin competir con el título. Los glifos viven en ICON (leadz-vistas.js), Lucide tal cual. */
  .lz-cv-h-ic { display:inline-grid; place-items:center; flex:none; width:20px; height:20px; margin-right:4px; color:var(--text-muted); }
  .lz-cv-h-ic .lz-glifo { width:18px; height:18px; stroke-width:1.75; }
  .lz-cv-sec > .zcab { margin-bottom:16px; align-items:center; }
  /* Plegar: TODA la fila de la cabecera es el control (15-oct, Alex: «toda la fila debe colapsar o descolapsar»).
     El botón se tiende encima de la cabecera entera, transparente, con el chevron a la derecha: un clic en el
     título, en la cifra o en el chip pliega, y el anillo de foco rodea la fila. Lo interactivo que vive en la
     cabecera (el globo de ayuda, un enlace) sube por encima del botón y no dispara el plegado. El hover es un
     velo translúcido de --text sobre la fila, para no tapar el texto que queda debajo del botón. */
  .lz-cv-sec > .zcab > h2 { margin-right:auto; }
  .lz-cv-sec:has(> .zcab > .lz-pleg) > .zcab, .lz-pleg-cab { position:relative; padding-right:40px; }
  .lz-pleg-cab > h2 { margin:0; }
  .lz-pleg { position:absolute; inset:-12px; z-index:1; display:flex; align-items:center; justify-content:flex-end; width:auto; height:auto; margin:0; padding:0 8px 0 12px; border:0; border-radius:var(--r-control); background:transparent; color:var(--text-2); cursor:pointer; transition:background var(--dur-1) var(--ease-out); }
  :is(.zcab, .lz-pleg-cab):has(> .lz-pleg) :is(summary, a, button:not(.lz-pleg), input, select, textarea, label) { position:relative; z-index:2; }
  .lz-pleg .lz-glifo { width:16px; height:16px; stroke-width:2; transition:transform var(--dur-1) var(--ease-out); }
  .lz-pleg[aria-expanded="true"] .lz-glifo { transform:rotate(90deg); }
  @media (hover:hover) { .lz-pleg:hover { background:color-mix(in oklch, var(--text) 4%, transparent); color:var(--text); } }
  .lz-pleg:focus-visible { outline:none; box-shadow:var(--ring); }
  .lz-pleg__c[hidden] { display:none !important; }
  .lz-cv-sec--plegada > .zcab { margin-bottom:0; }
  /* Teléfono: 16 de aire dentro de la tarjeta, no 24 (en 390 px los 24 se comían el ancho de lectura). */
  @media (max-width:560px) {
    .zcard.lz-cv-sec, .lz-cvg__main > .lz-reco, .lz-cvg .lz-rail { padding:16px; }
    .lz-tbusca { margin:0 -16px 8px; padding:12px 16px; }
  }
  .lz-cv-sub { font-size:var(--fs-2); }
  .lz-cv-lin { margin:12px 0; font-size:var(--fs-2); line-height:1.5; color:var(--text-2); }
  .lz-cv-sec .zalert { margin:12px 0; }
  .lz-enl { color:var(--accent-text); text-decoration:none; }
  .lz-enl__f { display:inline-grid; place-items:center; margin-left:3px; vertical-align:-2px; }
  .lz-enl__f .lz-glifo { width:12px; height:12px; stroke-width:1.75; }
  @media (hover:hover) { .lz-enl:hover { color:var(--link-hover); text-decoration:none; } }
  @media (min-width:1280px) {
    .lz-cvg { grid-template-columns:minmax(0,880px) 300px; gap:32px; }
    .lz-cvg--solo { grid-template-columns:minmax(0,880px); }
    .lz-cvg .lz-rail { order:0; position:sticky; top:calc(var(--lz-top) + 16px); max-height:calc(100dvh - var(--lz-top) - 32px); overflow-y:auto; display:block; padding:4px 16px; }
  }

  /* El carril. Franja de secciones lado a lado bajo 1280; columna con hairlines desde 1280. */
  .lz-rail { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px 32px; padding:20px 24px; min-width:0; }
  .lz-rail__s { min-width:0; }
  .lz-rail__s + .lz-rail__s { }
  @media (min-width:1280px) { .lz-rail__s { padding:16px 0; } .lz-rail__s + .lz-rail__s { border-top:1px solid var(--border); } }
  .lz-rail__t { margin:0 0 10px; font-size:var(--fs-2); font-weight:500; color:var(--text-2); }
  .lz-rail__sn { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .lz-rail__n { font-size:44px; font-weight:600; letter-spacing:-.02em; line-height:1; }
  .lz-rail__b { height:24px; padding:0 10px; font-weight:500; color:var(--text-2); }
  .lz-rail__ac { margin:12px 0 0; font-size:var(--fs-2); color:var(--text-2); line-height:1.5; }
  .lz-rail__prov { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; margin:12px 0 0; font-size:var(--fs-2); color:var(--text-2); }
  .lz-rail__k { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; }
  .lz-k { display:flex; flex-direction:column; gap:4px; margin:0; padding:10px 12px; border-radius:var(--r-control); background:var(--surface-anidada); border:1px solid var(--border); min-width:0; }
  .lz-k dt { font-size:var(--fs-2); color:var(--text-2); line-height:1.35; }
  .lz-k dd { margin:0; font-size:var(--fs-5); font-weight:600; line-height:1.15; font-variant-numeric:tabular-nums; }
  .lz-rail__a { margin:0; font-size:var(--fs-3); line-height:1.5; }
  .lz-rail__p { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
  .lz-rail__p li { display:grid; grid-template-columns:1fr auto; gap:0 8px; font-size:var(--fs-2); }
  .lz-rail__pn { font-weight:500; min-width:0; overflow-wrap:anywhere; }
  .lz-rail__pm { grid-row:1; grid-column:2; font-variant-numeric:tabular-nums; }
  .lz-rail__p .muted { grid-column:1; font-size:var(--fs-1); color:var(--text-muted); }
  .lz-cv-idx { display:none; gap:2px; align-content:start; }
  @media (min-width:1280px) { .lz-cv-idx { display:grid; } }
  .lz-cv-idx .lz-rail__t { margin-bottom:6px; }
  .lz-cv-idx a { display:flex; align-items:center; min-height:32px; padding:0 10px; border-radius:var(--r-control); font-size:var(--fs-2); color:var(--text-2); text-decoration:none; }
  @media (hover:hover) { .lz-cv-idx a:hover { background:var(--surface-2); color:var(--text); text-decoration:none; } }
  .lz-cv-idx a.on { background:var(--sel-bg); color:var(--sel-text); font-weight:500; }
  @media (pointer:coarse) { .lz-cv-idx a { min-height:44px; } }

  /* Globos de ayuda (details.lz-pop): lista de renglones, hairline entre ellos. */
  .lz-cv-pop > summary { width:24px; height:24px; border-color:transparent; background:transparent; color:var(--text-muted); }
  .lz-cv-pop > summary svg { width:14px; height:14px; }
  @media (hover:hover) { .lz-cv-pop > summary:hover { background:var(--surface-2); color:var(--text); } }
  @media (pointer:coarse) { .lz-cv-pop > summary { width:44px; height:44px; } }
  .lz-cv-pop .lz-pop__p { left:0; right:auto; min-width:min(320px, 80vw); max-width:min(380px, 86vw); font-size:var(--fs-2); font-weight:400; letter-spacing:0; }
  .lz-rail .lz-cv-pop .lz-pop__p { right:0; left:auto; min-width:0; width:min(268px, 70vw); }
  .lz-cv-pop .zayuda { max-width:none; }
  @media (max-width:820px) {
    .lz-cv-sec, .lz-reco, .lz-rail, .lz-dedujo { position:relative; }
    .lz-cv-pop { position:static; }
    .lz-cv-pop .lz-pop__p, .lz-rail .lz-cv-pop .lz-pop__p { left:12px; right:12px; width:auto; min-width:0; max-width:none; box-sizing:border-box; }
  }

  /* Resumen: la recomendación para la próxima llamada. */
  .lz-reco { border:1px solid var(--border); background:var(--surface); border-radius:var(--r-card); padding:24px; box-shadow:none; scroll-margin-top:calc(var(--lz-top) + 12px); }
  .lz-reco__t { margin:16px 0 0; font-size:var(--fs-4); font-weight:500; line-height:1.5; }
  .lz-reco__p { margin:8px 0 0; font-size:var(--fs-3); line-height:1.5; color:var(--text-2); }

  /* La tarjeta de confirmación (Unidad B, análisis a botón). Radios con label real, no divs con
     click: se navegan con teclado y se leen con lector de pantalla sin nada extra. */
  .lz-confirmar__e { font-size:var(--fs-1); text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:8px; }
  .lz-confirmar__radios { display:flex; flex-direction:column; gap:6px; }
  .lz-radio { display:flex; align-items:flex-start; gap:8px; font-size:var(--fs-3); line-height:1.4; cursor:pointer;
              padding:9px 12px; border:1px solid var(--border); border-radius:var(--r-control); }
  @media (hover:hover) { .lz-radio:hover { background:var(--surface-2); } }
  .lz-radio:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-text); }
  .lz-radio:has(input:focus-visible) { box-shadow:var(--ring); }
  /* El anillo es de la fila: el radio de 13 px no dibuja el suyo encima (medido: dos anillos, el de la fila y el del círculo). */
  .lz-radio input:focus-visible { outline:none; box-shadow:none; animation:none; }
  .lz-radio input { margin-top:3px; flex:0 0 auto; }
  @media (pointer:coarse) { .lz-radio { min-height:44px; align-items:center; } }
  /* La llamada a dos voces. Se pinta arriba de todo porque cambia como se lee TODO lo de abajo:
     el score, las metricas por hablante y el diagnostico son de dos personas, no de una. */
  /* tinte suave en vez de borde lateral: el DS no admite filetes de color en tarjetas */
  .lz-equipo { font-size:var(--fs-3); background:var(--accent-soft); border-color:transparent; }
  .lz-acc { display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap; align-items:center; }
  .lz-acc form { margin:0; }

  /* Citas: enlaces a #tN. La que no verificó va tachada y no es enlace. */
  .lz-ev { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
  span.lz-ev { display:inline-flex; margin-top:0; vertical-align:middle; }
  .lz-ev__c { display:inline-flex; align-items:center; gap:6px; max-width:100%; min-height:24px; padding:1px 10px; font-size:var(--fs-1); color:var(--text-2); border:1px solid var(--border); border-radius:var(--r-chip); text-decoration:none; background:var(--surface-anidada); }
  a.lz-ev__c { color:var(--accent-text); }
  @media (hover:hover) { a.lz-ev__c:hover { background:var(--surface-2); border-color:var(--line-2); color:var(--link-hover); text-decoration:none; } }
  .lz-ev__q { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-muted); font-style:italic; }
  .lz-ev__c--mal { color:var(--bad-text); border-color:var(--bad); text-decoration:line-through; }
  @media (pointer:coarse) { a.lz-ev__c { min-height:44px; padding:0 12px; } }
  .lz-aviso-ev { font-size:var(--fs-1); color:var(--bad-text); margin-top:5px; }
  .lz-hall__e { font-size:var(--fs-1); font-weight:500; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); margin:0 0 8px; }
  .lz-hall--nosost { opacity:.6; }
  .lz-oblig { font-size:var(--fs-1); text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); border:1px solid var(--line-2); border-radius:var(--r-chip); padding:0 6px; }
  .lz-fm { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px 32px; margin:16px 0 0; font-size:var(--fs-3); line-height:1.5; }
  .lz-fm > div, .lz-fm li { min-width:0; }
  .lz-ev { min-width:0; }
  .lz-ev__c { min-width:0; }
  .lz-fm ul { margin:0; padding-left:18px; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  @media (max-width:900px) { .lz-fm { grid-template-columns:1fr; } }

  /* Rúbrica: una fila por apartado, con su barra. */
  .lz-rbs { display:grid; grid-template-columns:minmax(0,1fr); }
  .lz-rb { min-width:0; }
  .lz-rb { border-top:1px solid var(--border); }
  .lz-rb:first-child { border-top:0; }
  .lz-rb__h { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) 152px 16px; align-items:center; gap:6px 16px; min-height:44px; padding:12px 0; cursor:pointer; list-style:none; }
  .lz-rb__h::-webkit-details-marker { display:none; }
  .lz-rb__h--fijo { cursor:default; }
  @media (hover:hover) { summary.lz-rb__h:hover .lz-rb__nom { color:var(--accent-text); } }
  .lz-rb__nom { font-size:var(--fs-3); font-weight:500; min-width:0; }
  .lz-rb__bar { height:6px; border-radius:var(--r-pill); background:var(--surface-3); overflow:hidden; }
  .lz-rb__bar i { display:block; height:100%; background:var(--accent); border-radius:inherit; }
  .lz-rb__bar--na { background:transparent; border:1px dashed var(--border-control); }
  .lz-rb__pts { font-size:var(--fs-2); color:var(--text-2); white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }
  .lz-rb__ch { grid-column:1 / -1; grid-row:2; gap:6px; }
  .lz-rb__h > .lz-rb__chev { grid-column:4; grid-row:1; }
  .lz-rb__ch .lz-chip { height:20px; padding:0 7px; }
  .lz-chip--cero { color:var(--text-muted); background:transparent; border-color:var(--border); }
  .lz-rb__chev { display:inline-grid; place-items:center; color:var(--text-muted); transition:transform var(--dur-1) var(--ease-out); }
  .lz-rb__chev .lz-glifo { width:16px; height:16px; stroke-width:1.75; }
  .lz-rb[open] > summary .lz-rb__chev { transform:rotate(90deg); }
  .lz-rb__h:focus-visible { outline:none; box-shadow:var(--ring-inset); border-radius:var(--r-control); }
  .lz-rb__cuerpo { padding:4px 0 16px; }
  /* Aviso dentro de una tarjeta (DESIGN.md): borde de 1 px --warn y texto --warn-text, sin relleno. El relleno
     --warn-soft era el bloque más oscuro de la ficha en oscuro (15-oct, Alex: «muchísimo contraste»). */
  .lz-rb__nota { margin:4px 0 12px; padding:10px 12px; border-radius:var(--r-control); border:1px solid var(--warn); background:transparent; color:var(--warn-text); font-size:var(--fs-2); line-height:1.5; }
  .lz-item { display:flex; gap:12px; padding:12px 0; font-size:var(--fs-3); line-height:1.5; border-top:1px solid var(--hairline); }
  .lz-item:first-of-type { border-top:0; }
  .lz-item__v { flex:0 0 112px; }
  .lz-item__c { flex:1; min-width:0; }
  .lz-item__n { font-size:var(--fs-2); margin-top:4px; color:var(--text-2); }
  .lz-item--rota { background:transparent; border:1px solid var(--warn); border-radius:var(--r-control); padding-left:12px; padding-right:12px; }
  .lz-item--rota + .lz-item { border-top:0; }
  .lz-chip--na { background:transparent; border:1px dashed var(--border-control); color:var(--text-2); }
  .lz-chip--viable i { background:var(--accent); }
  @media (max-width:560px) {
    .lz-rb__h { grid-template-columns:minmax(0,1fr) 16px; }
    .lz-rb__h > .lz-rb__chev { grid-column:2; }
    .lz-rb__ch { grid-row:auto; }
    .lz-rb__bar { grid-column:1 / -1; grid-row:2; }
    .lz-rb__pts { grid-column:1; text-align:left; }
    .lz-item { flex-direction:column; gap:6px; }
    .lz-item__v { flex:none; }
  }
  /* Lo que contó la máquina: filas plegadas con el resumen a la vista. */
  .lz-rb__h--m { grid-template-columns:minmax(0,1fr) auto 16px; }
  .lz-rb__h--m > .lz-rb__chev { grid-column:3; }
  .lz-rb__res { font-size:var(--fs-2); text-align:right; }
  .lz-lista { margin:6px 0 0; padding-left:18px; font-size:var(--fs-2); display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
  .lz-sub-det { margin-top:6px; }
  .lz-sub-det > summary { cursor:pointer; font-size:var(--fs-2); min-height:32px; display:flex; align-items:center; }
  .lz-pie { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-top:16px; padding-top:12px; border-top:1px solid var(--border); font-size:var(--fs-1); color:var(--text-muted); }
  .lz-pie > span { min-width:0; overflow-wrap:anywhere; }
  .lz-pie .lz-chip { font-family:var(--font); }
  .lz-pie--mal { color:var(--bad-text); }

  /* Minuta: una tarjeta, dos pestañas. */
  .lz-tabs.lz-mn__tabs { position:static; margin:4px 0 16px; padding:0; overflow:visible; background:transparent; -webkit-mask-image:none; mask-image:none; }
  .lz-mn__tabs button { display:inline-flex; align-items:center; min-height:36px; padding:0 14px; margin-bottom:-1px; border:0; border-bottom:2px solid transparent; background:transparent; font:inherit; font-size:var(--fs-3); font-weight:500; color:var(--text-2); cursor:pointer; white-space:nowrap; }
  @media (hover:hover) { .lz-mn__tabs button:hover { color:var(--text); } }
  .lz-mn__tabs button[aria-selected="true"] { color:var(--text); border-bottom-color:var(--text); font-weight:500; }
  .lz-mn__tabs button:focus-visible { outline:none; box-shadow:var(--ring-inset); border-radius:var(--r-control); }
  @media (pointer:coarse) { .lz-mn__tabs button { min-height:44px; } }
  .lz-mn.on .lz-tp:not(.act) { display:none; }
  .lz-mn:not(.on) .lz-tp + .lz-tp { margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
  .lz-min { font-size:var(--fs-3); line-height:1.6; }
  .lz-min__asunto { font-weight:500; font-size:var(--fs-4); margin-bottom:12px; }
  .lz-min h3 { font-size:var(--fs-1); font-weight:500; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); margin:24px 0 8px; }
  .lz-min ul { margin:0; padding-left:18px; }
  .lz-min li { margin-bottom:6px; }
  .lz-nosost { opacity:.55; text-decoration:line-through; }
  .lz-mn__f { display:grid; gap:6px; }
  .lz-mn__l { font-size:var(--fs-2); font-weight:500; color:var(--text-2); margin-top:6px; }
  .lz-mn__f .zinput { width:100%; box-sizing:border-box; }
  .lz-min-edit { width:100%; font-family:var(--font); font-size:var(--fs-4); line-height:1.6; padding:10px 12px; height:auto; min-height:260px; resize:vertical; }
  .lz-mn__g { margin-top:6px; }
  .lz-mn__acc { justify-content:flex-start; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
  .lz-mn__nota { margin-top:16px; max-width:none; }
  .lz-mn__enviada { margin:0 0 12px; font-size:var(--fs-3); }
  @media (pointer:coarse) { .lz-mn__acc .zbtn { min-height:44px; } }

  /* Sección comercial: rejilla etiqueta/valor, con los vacíos juntos en una línea. (El rótulo de la sección no va
     en este comentario a propósito: el arnés comprueba que no se pinte antes de confirmar quién es quién.) */
  .lz-cm { display:grid; margin:0; }
  .lz-cm__f { display:grid; grid-template-columns:minmax(150px,200px) minmax(0,1fr); gap:4px 24px; padding:16px 0; border-top:1px solid var(--border); font-size:var(--fs-3); line-height:1.5; }
  .lz-cm__f:first-child { border-top:0; padding-top:0; }
  .lz-cm dt { font-size:var(--fs-2); font-weight:400; color:var(--text-2); }
  .lz-cm dd { margin:0; min-width:0; }
  .lz-cm__s + .lz-cm__s { margin-top:8px; }
  .lz-cm__p { font-size:var(--fs-7); font-weight:600; letter-spacing:-.02em; line-height:1.1; margin-bottom:4px; }
  .lz-cm__sug { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
  .lz-cm__sug form { margin:0; }
  .lz-cm__vacios { display:flex; align-items:center; gap:4px; flex-wrap:wrap; margin:0; padding-top:16px; border-top:1px solid var(--border); font-size:var(--fs-2); color:var(--text-2); }
  .lz-obj { padding:2px 0; }
  .lz-obj + .lz-obj { margin-top:10px; }
  .lz-obj--viva > div:first-child { color:var(--bad-text); }
  @media (max-width:900px) { .lz-cm__f { grid-template-columns:1fr; } }

  /* Números */
  /* Cifras de reporte (DESIGN.md): caja en --surface-anidada con hairline, rótulo arriba y número debajo. El
     marcado trae el número primero; el orden lo pone el CSS. */
  .lz-mets { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); gap:12px; }
  @media (max-width:560px) { .lz-mets { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .lz-met__v { font-size:var(--fs-4); } }
  .lz-met { display:flex; flex-direction:column; gap:4px; background:var(--surface-anidada); border:1px solid var(--border); border-radius:var(--r-control); padding:14px 16px; min-width:0; }
  .lz-met__v { order:1; font-size:var(--fs-5); font-weight:600; line-height:1.15; font-variant-numeric:tabular-nums; }
  .lz-met__e { order:0; font-size:var(--fs-2); line-height:1.35; color:var(--text-2); }
  .lz-met__p { order:2; font-size:var(--fs-1); color:var(--text-muted); }

  /* Transcripción: buscador pegajoso, turnos con ancla, avatar y color por rol. */
  .lz-tbusca { position:sticky; top:var(--lz-top); z-index:var(--z-sticky); display:flex; align-items:center; gap:12px; margin:0 -24px 8px; padding:12px 24px; background:var(--surface); border-bottom:1px solid var(--border); }
  @media (max-width:820px) { .lz-tbusca { top:calc(var(--lz-top) + env(safe-area-inset-top)); } }
  .lz-busca { flex:1 1 auto; max-width:420px; margin:0; }
  .lz-tbusca__n { font-size:var(--fs-2); white-space:nowrap; }
  /* Sin caja dentro de la tarjeta: los turnos se separan por aire y una hairline, no por un marco propio. */
  .lz-turnos { border:0; overflow:clip; }
  .lz-turno { display:grid; grid-template-columns:56px 32px minmax(0,1fr); gap:0 16px; padding:16px 12px 16px 8px; border-bottom:1px solid var(--border); border-radius:0; font-size:var(--fs-3); line-height:1.6; scroll-margin-top:calc(var(--lz-top) + 76px); transition:background var(--dur-3) var(--ease-out); outline:none; }
  .lz-turno:last-child { border-bottom:0; }
  .lz-turno__m { display:grid; gap:2px; align-content:start; justify-items:start; padding-top:2px; font-size:var(--fs-1); color:var(--text-muted); text-decoration:none; }
  @media (hover:hover) { .lz-turno__m:hover { color:var(--accent-text); text-decoration:none; } }
  .lz-turno__m .mono { font-size:var(--fs-1); }
  .lz-av { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; font-size:var(--fs-1); font-weight:500; color:var(--text-2); background:var(--surface-anidada); border:1px solid var(--border); }
  .lz-turno--asesor .lz-av { background:var(--sel-bg); color:var(--text); }
  .lz-turno--lead .lz-av { background:var(--surface-anidada); }
  .lz-turno--sin .lz-av, .lz-turno--otro .lz-av { background:transparent; border:1px dashed var(--border-control); color:var(--text-muted); }
  .lz-turno__h { font-size:var(--fs-2); font-weight:500; color:var(--text-2); margin-bottom:4px; }
  .lz-turno__h .muted { font-weight:400; color:var(--text-muted); }
  .lz-turno__x { overflow-wrap:anywhere; }
  /* El turno citado se marca en su número (a la izquierda, color de enlace), no con un filete: con 38 de 64 turnos
     citados el filete de 3 px pintaba una columna de rayas oscuras a lo largo de toda la transcripción. */
  .lz-turno--citado .lz-turno__m { color:var(--accent-text); }
  /* El turno al que lleva una cita (Alex, 15-oct): recto, sin anillo y con color de atención muy tenue, que se apaga
     en dos segundos. El anillo de foco no aplica: el turno recibe el foco por código, nunca con el tabulador. */
  .lz-turno--hl { background:color-mix(in oklch, var(--warn) 7%, transparent); }
  .lz-turno:focus, .lz-turno:focus-visible { box-shadow:none; }
  @media (max-width:560px) { .lz-turno { grid-template-columns:40px 28px minmax(0,1fr); gap:0 10px; padding:14px 4px; } .lz-av { width:28px; height:28px; } }
  @media (pointer:coarse) { .lz-busca { font-size:16px; min-height:44px; } }


  .lz-cv-cab > div { flex:1 1 100%; }
  .lz-cv-sub { margin:4px 0 0; font-size:13px; }
  .lz-cv-f { font-family:var(--mono); font-size:var(--fs-2); white-space:nowrap; font-variant-numeric:tabular-nums; }
  a.lz-cv-f { text-decoration:none; }
  .lz-cv-h { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 12px; }
  .lz-blk .lz-cv-h h2 { margin:0; }
  .lz-cv-h__s { margin-left:auto; font-size:var(--fs-2); }
  .lz-cv-cola .zayuda { max-width:none; }
  .lz-cv-lista { list-style:none; margin:0; padding:0; }
  .lz-cv-q { display:grid; grid-template-columns:minmax(0,260px) minmax(0,1fr); gap:10px 20px; align-items:center; padding:16px 0; border-top:1px solid var(--border); }
  .lz-cv-q:first-child { border-top:0; padding-top:0; }
  .lz-cv-q__quien { display:grid; gap:2px; min-width:0; }
  .lz-cv-q__cuando { color:var(--text-muted); }
  .lz-cv-lead a { font-weight:500; font-size:var(--fs-3); color:var(--accent-text); text-decoration:none; }
  @media (hover:hover) { .lz-cv-lead a:hover { text-decoration:none; color:var(--link-hover); } }
  .lz-cv-q__nota { font-size:var(--fs-2); }
  .lz-cv-acc { display:flex; gap:6px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
  .lz-cv-acc form { margin:0; }
  .lz-cv-meet { flex:0 0 100%; display:flex; justify-content:flex-end; }
  .lz-cv-reag { display:flex; gap:6px; align-items:center; }
  .lz-cv-reag .zinput { width:196px; height:30px; padding:0 10px; font-family:var(--mono); font-size:var(--fs-2); }
  .lz-tabla th.n { text-align:right; }
  .lz-tabla .n + th, .lz-tabla .n + td { padding-left:28px; }
  .lz-cv-nada { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 16px; padding:10px 14px; border-radius:var(--r-card); background:transparent; font-size:var(--fs-2); border:1px solid var(--border); }
  .lz-cv-nada h2 { margin:0; font-size:14px; font-weight:500; letter-spacing:-.01em; }
  .lz-cv-vig { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 28px; align-items:start; }
  .lz-cv-big { display:grid; gap:4px; min-width:150px; }
  .lz-cv-big__n { display:flex; align-items:center; gap:10px; }
  .lz-cv-dot { width:8px; height:8px; border-radius:50%; background:var(--text-muted); flex:none; }
  .lz-cv-dot--ok { background:var(--ok); }
  .lz-cv-dot--warn { background:var(--text-muted); }
  .lz-vig__n { display:block; font-family:var(--mono); font-size:30px; font-weight:500; letter-spacing:-.02em; line-height:1.1; font-variant-numeric:tabular-nums; }
  .lz-cv-big--mal .lz-vig__n { color:var(--text); }
  .lz-cv-big small { display:block; padding-left:18px; font-size:var(--fs-2); font-weight:500; letter-spacing:0; text-transform:none; color:var(--text-muted); }
  .lz-blk .lz-cv-vig__t h2 { margin:0 0 10px; font-size:14px; }
  .lz-cv-vig__d { font-weight:400; font-size:var(--fs-2); }
  .lz-cv-vig .zayuda { max-width:none; }
  .lz-cv-det { margin:12px 0 0; }
  .lz-cv-det__f { padding:0 14px 8px; }
  .lz-cv-det__f > div { display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; padding:10px 0; border-top:1px solid var(--border); font-size:var(--fs-2); }
  .lz-cv-det__f > div:first-child { border-top:0; }
  .lz-cv-linea { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 16px; padding:10px 14px; border-radius:var(--r-card); background:transparent; font-size:var(--fs-2); border:1px solid var(--border); }
  .lz-vig__n.lz-cv-k { display:inline; font-family:inherit; font-size:var(--fs-2); font-weight:500; letter-spacing:0; text-transform:none; color:var(--text-muted); }
  form.lz-filtros select.zinput { min-width:176px; padding-right:32px; }
  .lz-cv-vacio { display:flex; align-items:center; gap:14px; }
  .lz-cv-vacio__i { display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; background:transparent; color:var(--text-2); flex:none; }
  .lz-cv-vacio__i .lz-glifo { width:18px; height:18px; stroke-width:1.75; }
  .lz-cv-vacio__t { flex:1; min-width:0; display:grid; gap:2px; font-size:var(--fs-2); }
  .lz-cv-vacio__t b { font-size:var(--fs-4); font-weight:500; }
  /* La fecha nueva de una cita pasada es el campo del calendario propio (lz-fecha); aquí solo se le da el ancho de la fila. */
  .lz-cv-reag .lz-fecha__lbl { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .lz-cv-reag .lz-fecha { width:196px; }
  /* Sans y con fondo de campo, igual que el mismo disparador en el Inbox: en mono y con el texto apagado se leia
     como un boton deshabilitado entre tres botones activos (PCB7A-34). */
  .lz-cv-reag .lz-fecha__btn { min-height:30px; padding:0 10px; font-family:inherit; font-size:var(--fs-2); }
  .lz-cv-reag .lz-fecha__t--vacio { color:var(--text-2); }
  .lz-ayuda > summary:hover { background:color-mix(in oklch, var(--text) 5%, transparent); color:var(--text); }
  /* Táctil: lo que se toca mide 44 px y los campos 16 px (Safari acerca la página al enfocar uno menor). */
  @media (pointer:coarse) {
    .lz-tabla td a, .lz-cv-lead a { display:inline-flex; align-items:center; min-height:44px; }
    form.lz-filtros select.zinput, .lz-busca { font-size:16px; min-height:44px; }
    .lz-cv-acc .zbtn { min-height:44px; }
    .lz-cv-reag .lz-fecha { width:100%; }
    .lz-cv-reag .lz-fecha__btn { min-height:44px; font-size:16px; }
  }
  @media (max-width:900px) {
    .lz-cv-q { grid-template-columns:1fr; }
    .lz-cv-acc { justify-content:flex-start; }
    .lz-cv-vig { grid-template-columns:1fr; }
    .lz-cv-vacio { flex-wrap:wrap; }
  }
