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

  .lz-ag-aviso { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 16px; padding:10px 14px; border:1px solid var(--border); border-radius:var(--r-card); background:transparent; font-size:var(--fs-2); color:var(--text-2); }
  .lz-ag-aviso__i { display:inline-flex; color:var(--warn-text); }
  .lz-ag-aviso__i .lz-glifo { width:16px; height:16px; }
  .lz-ag-aviso b { color:var(--text); font-weight:500; }
  .lz-ag-aviso > span:not(.lz-ag-aviso__i) { flex:1 1 260px; min-width:0; }
  .lz-ag-aviso > .zbtn { margin-left:auto; }

  .lz-ag-barra { display:flex; align-items:flex-start; gap:10px; margin:0 0 24px; }
  .lz-ag-chips { display:flex; gap:6px; flex-wrap:wrap; flex:1 1 0; margin:0; padding:0; border:0; min-width:0; }
  /* Filtro de asesor: enlaces y no radios + «Filtrar». Un clic filtra (antes eran dos), funciona con Tab y
     Enter, y la URL es la fuente de verdad, así que se comparte y vuelve con Atrás. */
  .lz-ag-chip { display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:var(--r-pill); border:1px solid var(--field-line); background:transparent; color:var(--text-2); font-size:var(--fs-2); font-weight:450; white-space:nowrap; text-decoration:none; border-color:var(--border); }
  .lz-ag-chip.on { background:var(--sel-bg); color:var(--text); border-color:transparent; font-weight:500; }
  .lz-ag-chip:focus-visible { outline:none; box-shadow:var(--ring); border-radius:var(--r-pill); }
  @media (hover:hover) { .lz-ag-chip:not(.on):hover { border-color:var(--border); color:var(--text); background:var(--surface-2); } }
  @media (pointer:coarse) { .lz-ag-chip { min-height:44px; } }

  /* En colores forzados el fondo lo pone el sistema: el filtro activo se distingue por su borde (PCB-243). */
  @media (forced-colors:active) { .lz-ag-chip.on { border:2px solid Highlight; } .lz-ag-mes td.lz-ag-mes--hoy .lz-ag-mes__d { border:2px solid Highlight; } }
  /* Cifras de la semana y el mes en teléfono: una línea y el detalle plegado, para que la primera cita no
     quede bajo el pliegue (UCB-158). En escritorio el resumen no se pinta y las cifras van siempre abiertas. */
  .lz-ag-cifras { margin:0 0 16px; }
  .lz-ag-cifras > summary { list-style:none; cursor:pointer; display:none; align-items:center; gap:8px; min-height:44px; font-size:var(--fs-2); font-weight:500; color:var(--text); }
  .lz-ag-cifras > summary::-webkit-details-marker { display:none; }
  .lz-ag-cifras > summary::after { content:"Ver cifras"; margin-left:auto; font-weight:500; color:var(--text-muted); }
  .lz-ag-cifras[open] > summary::after { content:"Ocultar"; }
  .lz-ag-cifras > .lz-kpis { margin:0; }
  @media (max-width:720px) { .lz-ag-cifras > summary { display:flex; } .lz-ag-cifras[open] > summary { margin-bottom:8px; } }
  .lz-ag-dia { margin:0 0 28px; }
  .lz-ag-h2 { margin:0 0 14px; font-size:var(--fs-3); font-weight:500; letter-spacing:-.01em; display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:var(--text-2); }
  .lz-ag-h2 .lz-count { margin-left:0; border:0; padding:0; font-size:12px; font-weight:400; color:var(--text-muted); }
  /* El nombre lleva a la ficha y tiene que leerse como enlace (A-4): acento, flecha a la derecha y el
     tono hover del acento junto con su flecha. Sin subrayado, ni en reposo ni en hover. */
  /* 24 px de alto de objetivo (WCAG 2.5.8; medía 19.6). El margen negativo devuelve a la tarjeta casi todo lo que sube el mínimo. */
  .lz-ag-lead { display:inline-flex; align-items:center; gap:4px; justify-self:start; max-width:100%; min-height:24px; margin-block:-2px; color:var(--accent-text); font-weight:600; text-decoration:none; }
  .lz-ag-lead__f { display:inline-flex; flex:none; }
  .lz-ag-lead__f .lz-glifo { width:12px; height:12px; }
  @media (hover:hover) { .lz-ag-lead:hover { color:var(--link-hover); text-decoration:none; } }
  .lz-ag-lead:focus-visible, .lz-ag-mov:focus-visible { outline:none; box-shadow:var(--ring); border-radius:var(--r-chip); }
  /* Una cita movida ya no es una cita viva (A-2): fondo hundido, sin sombra, su hora tachada y UNA
     salida, el enlace a la cita nueva. El anclaje #cita-N cae en la tarjeta destino y la marca. */
  .lz-ag-card.lz-ag-card--movida { background:var(--surface-2); box-shadow:none; }
  .lz-ag-t--movida { color:var(--text-muted); text-decoration:line-through; }
  /* En línea y no en flex: en la columna angosta de la semana el texto parte y la flecha tiene que seguir
     a la última palabra, no quedarse sola en el borde. */
  .lz-ag-mov { display:inline-block; justify-self:start; font-size:var(--fs-2); font-weight:500; color:var(--accent-text); text-decoration:none; }
  .lz-ag-mov__fin { white-space:nowrap; }
  .lz-ag-mov .lz-glifo { width:13px; height:13px; margin-left:6px; vertical-align:-2px; }
  @media (hover:hover) { .lz-ag-mov:hover { color:var(--link-hover); text-decoration:none; } }
  /* Enlaces sueltos (no dentro de una frase) a 44 px de alto con el dedo. */
  @media (pointer:coarse) { .lz-ag-lead, .lz-ag-mov { min-height:44px; align-items:center; } .lz-ag-mov { display:inline-flex; } }
  .lz-ag-enl { display:inline-flex; align-items:center; gap:4px; }
  @media (pointer:coarse) { .lz-ag-enl { min-height:44px; } }
  .lz-ag-enl .lz-glifo { width:13px; height:13px; }
  /* Al saltar a #cita-N la tarjeta no puede quedar bajo la barra, las pestañas y el encabezado del día pegados. */
  .lz-ag-fila, .lz-ag-card { scroll-margin-top:calc(var(--lz-top) + 112px); }
  .lz-ag-fila:target > .lz-ag-card, .lz-ag-card:target { border-color:var(--accent); }
  .lz-ag-sub { font-size:var(--fs-2); color:var(--text-muted); }
  .lz-chip--sincerrar svg { color:var(--warn-text); }

  .lz-ag-riel { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
  .lz-ag-fila { display:grid; grid-template-columns:64px minmax(0,1fr); gap:0 14px; align-items:start; }
  .lz-ag-hora { padding-top:17px; text-align:right; }
  .lz-ag-t { font-family:var(--mono); font-size:var(--fs-2); color:var(--text-muted); font-variant-numeric:tabular-nums; }
  .lz-ag-card { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:14px; padding:16px 18px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-card); box-shadow:none; }
  .lz-ag-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
  .lz-ag-who { display:grid; gap:2px; min-width:0; }
  .lz-ag-top .lz-chip { flex:none; }

  .lz-ag-acc { display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px; }
  .lz-ag-acc > form, .lz-ag-acc > details { margin:0; }
  .lz-ag-acc .lz-glifo { width:14px; height:14px; }
  /* Llamar y WhatsApp (A-3): confirmar asistencia es lo primero que se hace con una cita de hoy.
     Iconos con el mismo peso que los botones de al lado; el verde de WhatsApp lo pone .lz-glifo--wa. */
  .lz-ag-contacto { display:inline-flex; align-items:center; gap:4px; margin-right:4px; padding-right:10px; border-right:1px solid var(--border); }
  .lz-ag-acc .lz-ag-ic { width:30px; height:30px; background:transparent; border-color:transparent; }
  @media (pointer:coarse) { .lz-ag-acc .lz-ag-ic { width:44px; height:44px; } }
  .lz-ag-cancela { margin-left:6px !important; padding-left:12px; border-left:1px solid var(--border); }
  .lz-ag-reag > summary { list-style:none; cursor:pointer; }
  .lz-ag-reag > summary::-webkit-details-marker { display:none; }
  .lz-ag-reag[open] > summary { background:var(--surface-2); }
  .lz-ag-reag__f { display:grid; gap:6px; width:min(260px,100%); margin-top:8px; }
  .lz-ag-reag__f label { font-size:var(--fs-2); font-weight:500; color:var(--text-2); }
  .lz-ag-reag__f .zinput { height:34px; font-size:var(--fs-2); padding:0 8px; }
  /* Encabezado de día pegajoso en semana, mes, abiertas y por resolver: «mar 15 oct · 3 citas». Va bajo las
     pestañas, que también se pegan; el fondo tapa la tarjeta que pasa por debajo. */
  .lz-ag-h2--pega { position:sticky; top:calc(var(--lz-top) + var(--lz-ag-tabs, 42px)); z-index:calc(var(--z-sticky) - 1); margin:0 0 14px; padding:8px 0; background:var(--bg); }
  .lz-ag-h2 .lz-ag-h2__n { font-size:var(--fs-2); font-weight:400; color:var(--text-muted); font-variant-numeric:tabular-nums; margin-left:-6px; }
  @media (max-width:860px) {
    .lz-ag-fila { grid-template-columns:52px minmax(0,1fr); gap:0 10px; }
    .lz-ag-cancela { margin-left:0 !important; padding-left:0; border-left:0; }
  }

  .lz-ag-who { overflow-wrap:anywhere; }
  .lz-ag-hf .lz-ag-top { flex-wrap:wrap; }
  .lz-ag-hf .lz-ag-top .lz-chip { flex:0 1 auto; max-width:100%; height:auto; min-height:22px; white-space:normal; }
  .lz-ag-hf__nom { font-size:14px; font-weight:500; }
  .lz-ag-hf__mail { font-family:var(--mono); font-size:12px; font-weight:400; color:var(--text-muted); }
  .lz-ag-hf__meta { margin-top:3px; font-size:var(--fs-2); color:var(--text-muted); }
  .lz-ag-hf__chips { display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-top:8px; }
  .lz-ag-hf .zhint { margin-top:12px; }
  .lz-ag-hf__eyebrow { margin:12px 0 0; font-size:var(--fs-1); font-weight:500; letter-spacing:0; text-transform:none; color:var(--text-muted); }
  .lz-ag-pot { list-style:none; margin:4px 0 0; padding:0; }
  .lz-ag-pot > li { padding:12px 0; border-top:1px solid var(--border); }
  .lz-ag-pot > li:first-child { border-top:0; }
  .lz-ag-pot__f { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .lz-ag-pot__f form { margin:0 0 0 auto; }
  .lz-ag-pot__por { margin-top:3px; font-size:var(--fs-1); color:var(--text-muted); }
  .lz-ag-hf__atar { margin-top:12px; }
  .lz-ag-hf form .zinput { height:34px; font-size:var(--fs-2); }
  .lz-ag-hf form .zbtn--sm { height:34px; }
  .lz-ag-hf__atar .zinput { width:230px; max-width:100%; }
  .lz-ag-hf__recl { margin-top:12px; padding-top:12px; border-top:1px solid var(--border); flex-wrap:wrap; align-items:center; }
  .lz-ag-hf__recl .zinput { width:auto; }
  .lz-ag-hf__recl select.zinput { width:250px; max-width:100%; }
  .lz-ag-hf__recl input.zinput { width:230px; max-width:100%; }
  .lz-ag-hf__recl .zhint { flex-basis:100%; margin-top:0; }
  .lz-ag-nota { display:grid; margin:0 0 16px; }

  /* Navegar la semana y el mes (PCB5B-09): anterior, siguiente y volver a la actual. El rango va en
     texto en medio para que la fecha de referencia siempre se lea. */
  .lz-ag-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 16px; }
  .lz-ag-nav__t { margin:0 4px; font-size:var(--fs-3); font-weight:500; font-variant-numeric:tabular-nums; }
  .lz-ag-nav .zbtn { gap:6px; }
  .lz-ag-nav .zbtn .lz-glifo { width:14px; height:14px; }
  .lz-ag-nav__atras .lz-glifo { transform:scaleX(-1); }
  .lz-ag-nav__hoy { margin-left:auto; }
  @media (pointer:coarse) { .lz-ag-nav .zbtn { min-height:44px; } }
  @media (max-width:560px) { .lz-ag-nav__t { order:-1; flex:1 0 100%; margin:0; } .lz-ag-nav__hoy { margin-left:0; } }
  /* La cifra que pide acción va en ámbar como en Tareas (UCB5-13): una cita que ya pasó sin cerrarse. */
  /* Cinco cifras en dos columnas dejaban un hueco gris: la última ocupa el ancho entero. */
  @media (max-width:560px) { .lz-kpis > .lz-kpi:last-child:nth-child(odd) { grid-column:1 / -1; } }
  .lz-kpi--aviso .lz-kpi__n { color:var(--warn-text); }
  .lz-kpi--aviso .lz-kpi__p { color:var(--warn-text); }

  /* El mes: una tabla de lunes a domingo. Cada día es un enlace a su semana y lista hasta tres citas. */
  .lz-ag-mes { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; background:transparent; border:1px solid var(--border); border-radius:var(--r-card); overflow:hidden; }
  .lz-ag-mes th { padding:8px 10px; text-align:left; font-size:var(--fs-2); font-weight:500; letter-spacing:0; text-transform:none; color:var(--text-muted); background:transparent; border-bottom:1px solid var(--border); }
  .lz-ag-mes td { vertical-align:top; height:108px; padding:6px; border-top:1px solid var(--border); border-left:1px solid var(--border); }
  .lz-ag-mes th + th, .lz-ag-mes td + td { border-left:1px solid var(--border); }
  .lz-ag-mes tr > td:first-child { border-left:0; }
  .lz-ag-mes td.lz-ag-mes--fuera { background:transparent; }
  /* Hoy se marca en el número, con el acento relleno, y no con un contorno de 2 px que parecía el foco (PCB-379). */
  .lz-ag-mes td.lz-ag-mes--hoy .lz-ag-mes__d { background:var(--accent); color:var(--ink-on-accent); }
  .lz-ag-mes__d { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 6px; border-radius:var(--r-pill); font-size:var(--fs-2); font-weight:500; color:var(--text); text-decoration:none; font-variant-numeric:tabular-nums; }
  .lz-ag-mes td.lz-ag-mes--fuera .lz-ag-mes__d { color:var(--text-muted); font-weight:500; opacity:.7; }
  .lz-ag-mes__d:focus-visible, .lz-ag-mes__c:focus-visible { outline:none; box-shadow:var(--ring); }
  @media (hover:hover) { .lz-ag-mes__d:hover { background:var(--surface-2); } }
  .lz-ag-mes__dl { display:none; }
  .lz-ag-mes__n { display:inline; }
  .lz-ag-mes__l { list-style:none; margin:4px 0 0; padding:0; display:grid; gap:3px; }
  .lz-ag-mes__c { display:flex; align-items:center; gap:6px; min-width:0; min-height:24px; padding:2px 4px; border-radius:var(--r-chip); font-size:var(--fs-1); color:var(--text); text-decoration:none; background:transparent; }
  .lz-ag-mes__c time { font-family:var(--mono); font-variant-numeric:tabular-nums; color:var(--text-2); flex:none; }
  .lz-ag-mes__c span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  /* El estado se dice con forma y no solo con color (PCB-175, PCB-1636): punto = agendada, ✓ = realizada,
     × = no asistió, reloj = ya pasó de hora y nadie la cerró. Mismas marcas que la leyenda de abajo. */
  .lz-ag-mes__c i, .lz-ag-ley i { flex:none; display:inline-grid; place-items:center; width:12px; height:12px; color:var(--accent-text); }
  .lz-ag-mes__c i::before, .lz-ag-ley i::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
  .lz-ag-mes__c i .lz-glifo, .lz-ag-ley i .lz-glifo { width:12px; height:12px; }
  .lz-ag-mes__c i:has(.lz-glifo)::before, .lz-ag-ley i:has(.lz-glifo)::before { display:none; }
  .lz-ag-mes__c--realizada i, .lz-ag-ley__realizada i { color:var(--ok-text); }
  .lz-ag-mes__c--no_asistio i, .lz-ag-ley__no_asistio i { color:var(--bad-text); }
  .lz-ag-mes__c--vencida i, .lz-ag-ley__vencida i { color:var(--warn-text); }
  .lz-ag-ley { list-style:none; display:flex; flex-wrap:wrap; gap:6px 18px; margin:10px 0 0; padding:0; font-size:var(--fs-2); color:var(--text-muted); }
  .lz-ag-ley li { display:inline-flex; align-items:center; gap:6px; }
  @media (hover:hover) { .lz-ag-mes__c:hover { background:var(--hairline); } }
  .lz-ag-mes__mas { display:inline-block; margin-top:2px; padding:0 6px; font-size:var(--fs-1); font-weight:400; color:var(--text-2); text-decoration:none; }
  @media (pointer:coarse) { .lz-ag-mes__c, .lz-ag-mes__mas { min-height:44px; align-items:center; } .lz-ag-mes__mas { display:inline-flex; } }
  @media (max-width:860px) {
    .lz-ag-mes, .lz-ag-mes tbody, .lz-ag-mes tr, .lz-ag-mes td { display:block; }
    .lz-ag-mes thead { display:none; }
    .lz-ag-mes td { height:auto; border-left:0; padding:10px 12px; }
    .lz-ag-mes td[data-vacia] { display:none; }
    /* En lista el día ya dice «Sáb 3»: el número suelto no se repite (PCB-379). */
    .lz-ag-mes__n { display:none; }
    .lz-ag-mes__dl { display:inline; font-size:var(--fs-2); font-weight:500; color:var(--text-2); }
    /* Hoy es una píldora de acento y su etiqueta era la única rotulación del día: en --text-2 sobre el
       acento medía 1.13:1 en claro y 1.26:1 en oscuro (PCB8A-01, PCB8B-03). Hereda --ink-on-accent. */
    .lz-ag-mes td.lz-ag-mes--hoy .lz-ag-mes__dl { color:inherit; }
    /* En lista el día es una fila entera: 44 px de alto táctil sin tocar el dibujo de escritorio. */
    @media (pointer:coarse) { .lz-ag-mes__d { min-height:44px; } }
  }
  /* Rejilla con puntero grueso (tableta horizontal): el área táctil del número crece sin que la píldora
     deje de ser redonda (PCB8B-12). */
  @media (pointer:coarse) and (min-width:861px) {
    .lz-ag-mes__d { position:relative; }
    .lz-ag-mes__d::after { content:""; position:absolute; inset:-9px -6px; }
  }
  /* Reglas del sistema sin base propia: al final, para ganar a la base y a lo que el cascarón pinta antes. */
  .lz-h1__ic { background:transparent; color:var(--text-muted); }
  .lz-kpi__n { font-size:28px; font-weight:500; letter-spacing:-.02em; }
  .lz-kpi__t { font-size:var(--fs-2); font-weight:500; letter-spacing:0; text-transform:none; color:var(--text-muted); }
  .lz-ag-lead { font-weight:500; }
  .lz-ag-acc .zbtn { background:transparent; border-color:transparent; color:var(--text-2); }
  .lz-ag-acc a.zbtn { background:var(--surface-2); border-color:var(--border-control); color:var(--text); }
  @media (hover:hover) { .lz-ag-acc .zbtn:hover, .lz-ag-acc .lz-ag-ic:hover { background:var(--surface-2); border-color:var(--border); color:var(--text); } }
  @media (hover:hover) { .lz-ag-acc a.zbtn:hover { background:var(--surface-3); border-color:var(--border-control); } }
  /* Sin border propio: el círculo ya lleva su línea de 1 px (ESTILOS_LEADZ) y dos darían un aro doble. */
  .lz-vac__i { background:transparent; }
  .lz-vac__t { font-weight:500; }
