/* ============================================================================
   Citas: la hoja de "Agendar una cita", "Mover", "Cancelar" y la hoja de una cita (fase 3 de Citas con Xarpie; lienzo aprobado por Daniel el 2026-09-21).
   Solo tokens de cuarto-oscuro.css (--piedra, --tinta, --medio, --e-*, --r-*...): ningun color, sombra ni duracion escritos a mano (paridad-cuarto-oscuro).
   Forma: pildora = se toca; 16 px = flota; 4 px = contenido. Filas sin cajas. Color solo si significa algo: aqui no hay ninguno (ni "cancelada" se pinta de rojo:
   es un estado, no una alarma). En telefono el modal ya es una hoja desde abajo (cuarto-oscuro.css): los botones quedan pegados abajo.
   ============================================================================ */
.ah-modal{ width:560px; }
.ah-cuerpo{ display:flex; flex-direction:column; gap:var(--e-4); }
.ah-bloque{ min-width:0; }
.ah-et{ display:block; margin:0 0 var(--e-2); font-size:var(--t-meta); color:var(--medio); }
.ah-nota{ margin:var(--e-3) 0 0; font-size:var(--t-meta); line-height:1.5; color:var(--apagado); }
.ah-txt{ margin:0; font-size:var(--t-texto); line-height:1.5; color:var(--medio); }
.ah-tenue{ color:var(--medio); }
.ah-vacio{ margin:0; font-size:var(--t-texto); line-height:1.5; color:var(--medio); }
.ah-link{ display:inline; min-height:32px; padding:0; border:0; background:transparent; font:inherit; font-size:var(--t-meta); color:var(--medio); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
@media (hover:hover){ .ah-link:hover{ color:var(--tinta); } }

/* Cliente */
.ah-chip-cli{ display:flex; align-items:center; gap:var(--e-3); min-height:52px; padding:0 var(--e-2) 0 var(--e-3); border-radius:var(--r-pildora); background:var(--piedra); }
.ah-av{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:var(--piedra-on); color:var(--tinta); font-size:var(--t-meta); font-weight:500; }
.ah-cli-t{ display:flex; flex-direction:column; min-width:0; text-align:left; }
.ah-cli-n{ font-size:var(--t-texto); font-weight:500; color:var(--tinta); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ah-cli-s{ font-size:var(--t-meta); color:var(--medio); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ah-chip-cli .ah-link{ margin-left:auto; padding:0 var(--e-3); font-size:var(--t-texto); text-decoration:none; }
.ah-lista{ display:flex; flex-direction:column; margin-top:var(--e-2); max-height:220px; overflow-y:auto; }
.ah-fila{ display:flex; align-items:center; gap:var(--e-3); width:100%; min-height:52px; padding:0 var(--e-3); margin:0; border:0; border-radius:var(--r); background:transparent; font:inherit; color:inherit; text-align:left; cursor:pointer; }
@media (hover:hover){ .ah-fila:hover{ background:var(--tinte-toque); } }
.ah-fila:active{ transform:scale(.99); }
.ah-campos{ display:grid; gap:var(--e-2); margin-bottom:var(--e-2); }

/* Servicio */
.ah-chips{ display:flex; flex-wrap:wrap; gap:var(--e-2); }
.ah-chip{ min-height:34px; padding:0 var(--e-4); border:0; border-radius:var(--r-pildora); background:var(--piedra); box-shadow:inset 0 0 0 1px var(--linea); font:inherit; font-size:var(--t-texto); color:var(--texto); cursor:pointer; }
.ah-chip.on{ background:var(--boton); color:var(--boton-t); box-shadow:none; font-weight:500; }
.ah-chip.on .ah-tenue{ color:inherit; opacity:.7; }
.ah-fijo{ font-size:var(--t-texto); color:var(--tinta); }

/* Huecos */
.ah-dia{ margin:0 0 var(--e-3); }
.ah-dia-t{ margin:0 0 var(--e-2); font-size:var(--t-meta); color:var(--apagado); }
.ah-slots{ display:flex; flex-wrap:wrap; gap:var(--e-2); }
.ah-slot{ min-height:34px; padding:0 var(--e-3); border:0; border-radius:var(--r-pildora); background:var(--piedra); box-shadow:inset 0 0 0 1px var(--linea); font:inherit; font-size:var(--t-texto); font-variant-numeric:tabular-nums; color:var(--texto); cursor:pointer; }
.ah-slot.on{ background:var(--boton); color:var(--boton-t); box-shadow:none; font-weight:500; }
.ah-otra{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--e-2); margin-top:var(--e-3); }
.ah-otra[hidden]{ display:none; }

/* Pie: el resumen, el aviso y los botones */
.ah-pie{ flex-direction:column; align-items:stretch; gap:var(--e-3); }
.ah-pie-c{ display:flex; flex-direction:column; gap:var(--e-3); min-width:0; }
.ah-resumen{ font-size:var(--t-texto); line-height:1.45; color:var(--tinta); }
.ah-resumen-s{ font-size:var(--t-meta); color:var(--medio); }
.ah-avisar{ display:flex; align-items:center; gap:var(--e-3); font-size:var(--t-meta); color:var(--texto); }
.ah-avisar .cv-sw:disabled{ opacity:.45; cursor:default; }
.ah-avisar-t{ min-width:0; }
.ah-pie-b{ display:flex; justify-content:flex-end; gap:var(--e-2); }

/* La hoja de una cita */
.ah-dl{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--e-2) var(--e-4); margin:0; font-size:var(--t-texto); }
.ah-dl dt{ color:var(--medio); }
.ah-dl dd{ margin:0; color:var(--tinta); overflow-wrap:anywhere; }
.ah-acciones{ display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:var(--e-2); }
.ah-acciones .btn{ justify-content:center; min-height:40px; }
.ah-acciones .btn .ico{ margin-right:var(--e-1); }
.ah-elim{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.ah-elim .ah-nota{ margin-top:0; }
.ah-pildora{ display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:0 var(--e-3); border-radius:var(--r-pildora); background:var(--piedra-on); font-size:var(--t-meta); color:var(--texto); }
.ah-pt{ width:6px; height:6px; border-radius:50%; background:var(--medio); }
.ah-confirmada .ah-pt{ background:var(--ok); }

@media (max-width:860px){
  .ah-pie-b{ display:grid; grid-template-columns:1fr 1fr; }
  .ah-pie-b .btn{ min-height:44px; justify-content:center; }
  .ah-slot, .ah-chip{ min-height:40px; }
  .ah-lista{ max-height:none; }
  .ah-otra{ grid-template-columns:minmax(0,1fr); }
  /* Bloquear un tiempo: desde y hasta son dos horas cortas, caben lado a lado hasta en un telefono. */
  .ah-otra.ah-b-horas{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
.ah-b-horas{ margin-top:0; }

/* Mover con el dedo (calendario): mantener apretado un evento no debe seleccionar su texto ni abrir el menu de iOS. */
@media (pointer:coarse){
  .cf-ev{ -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
}
