/* La Agenda dentro de la pantalla: mudada del laboratorio el 07/10/2026 y encerrada en .seccion-agenda. */
.seccion-agenda, .seccion-agenda, .seccion-agenda { height: 100%; }
.seccion-agenda { margin: 0; font: 14px/1.45 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
         color: var(--texto); background: var(--fondo-suave); -webkit-font-smoothing: antialiased; }
.seccion-agenda button, .seccion-agenda input, .seccion-agenda select, .seccion-agenda textarea { font: inherit; color: inherit; }
.seccion-agenda button { cursor: pointer; }
.seccion-agenda button:disabled { cursor: not-allowed; opacity: .45; }
.seccion-agenda button:focus-visible, .seccion-agenda input:focus-visible, .seccion-agenda select:focus-visible, .seccion-agenda textarea:focus-visible { outline: 2px solid var(--acento); outline-offset: 1px; }
@media (max-width: 760px) {
.seccion-agenda .crm .app { flex-direction: column; }
.seccion-agenda .crm .principal { flex: 1; min-height: 0; }
.seccion-agenda .crm .lateral { width: 100%; flex-direction: row; order: 2; flex: none; justify-content: space-around; border-right: 0;
                    border-top: 1px solid var(--borde); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
.seccion-agenda .crm .lateral .logo, .seccion-agenda .crm #nav-historial { display: none !important; }
.seccion-agenda .crm .nav.abajo { margin-top: 0; }
}
.seccion-agenda .principal { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.seccion-agenda .barra { min-height: 56px; flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 16px;
           background: var(--fondo); border-bottom: 1px solid var(--borde); }
.seccion-agenda .barra h1 { font-size: 16px; font-weight: 600; margin: 0 8px 0 0; white-space: nowrap; }
.seccion-agenda .espacio { flex: 1; }
.seccion-agenda .quien { color: var(--texto-suave); font-size: 13px; white-space: nowrap; }
.seccion-agenda .contenido { flex: 1; overflow: auto; padding: 16px; }
.seccion-agenda .btn { border: 1px solid var(--borde); background: var(--fondo); border-radius: 8px; padding: 6px 12px; font-weight: 500; }
.seccion-agenda .btn:hover:not(:disabled) { background: var(--fondo-hover); }
.seccion-agenda .btn.primario { background: var(--acento); border-color: var(--acento); color: #fff; }
.seccion-agenda .btn.primario:hover { filter: brightness(.95); background: var(--acento); }
.seccion-agenda .btn.peligro { color: var(--rojo); border-color: var(--rojo-fondo); }
.seccion-agenda .btn.peligro:hover { background: var(--rojo-fondo); }
.seccion-agenda .btn.chico { padding: 4px 10px; font-size: 13px; }
.seccion-agenda .icono { border: 0; background: transparent; border-radius: 6px; width: 32px; height: 32px; color: var(--texto-suave); font-size: 18px; }
.seccion-agenda .icono:hover { background: var(--fondo-hover); color: var(--texto); }
.seccion-agenda .pill { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: 999px;
          font-size: 12px; font-weight: 500; background: var(--gris-fondo); color: var(--texto-suave); white-space: nowrap; }
.seccion-agenda .pill.confirmado { background: var(--acento-fondo); color: var(--acento-texto); }
.seccion-agenda .pill.asistio { background: var(--verde-fondo); color: var(--verde); }
.seccion-agenda .pill.no_vino { background: var(--rojo-fondo); color: var(--rojo); }
.seccion-agenda .pill.aviso { background: var(--ambar-fondo); color: var(--ambar); }
.seccion-agenda .semana { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; align-items: start; }
.seccion-agenda .dia { background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; overflow: hidden; }
.seccion-agenda .dia-titulo { padding: 10px 12px; font-weight: 600; border-bottom: 1px solid var(--borde); text-transform: capitalize;
                display: flex; justify-content: space-between; align-items: baseline; }
.seccion-agenda .dia-titulo small { color: var(--texto-tenue); font-weight: 500; }
.seccion-agenda .dia.hoy .dia-titulo { color: var(--acento-texto); }
.seccion-agenda .celdas { padding: 6px; display: flex; flex-direction: column; gap: 4px; }
.seccion-agenda .celda { display: flex; gap: 8px; align-items: flex-start; padding: 6px 8px; border-radius: 8px; border: 1px solid transparent;
           background: transparent; text-align: left; width: 100%; }
.seccion-agenda .celda .hora { font-variant-numeric: tabular-nums; color: var(--texto-suave); font-size: 12px; min-width: 38px; padding-top: 1px; }
.seccion-agenda .celda .cuerpo { flex: 1; min-width: 0; }
.seccion-agenda .celda .nombre { display: block; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seccion-agenda .celda .detalle { font-size: 12px; color: var(--texto-suave); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 2px; }
.seccion-agenda .celda.libre { color: var(--texto-tenue); border: 1px dashed transparent; }
.seccion-agenda button.celda.libre:hover { border-color: var(--acento); color: var(--acento-texto); background: var(--acento-fondo); }
.seccion-agenda .celda.turno { background: var(--fondo-suave); border-color: var(--borde); }
.seccion-agenda .celda.turno:hover { border-color: var(--borde-fuerte); background: var(--fondo-hover); }
.seccion-agenda .celda.sin-ficha { border-left: 3px solid var(--ambar); }
.seccion-agenda .celda.bloqueo { background: repeating-linear-gradient(135deg, var(--fondo-suave), var(--fondo-suave) 6px,
                   var(--fondo-hover) 6px, var(--fondo-hover) 12px); border-color: var(--borde); color: var(--texto-suave); }
.seccion-agenda .celda.ocupado { color: var(--texto-tenue); font-size: 12px; }
.seccion-agenda .celda.pasado { opacity: .5; }
.seccion-agenda .envoltura { position: relative; }
.seccion-agenda .fuera-marca { color: var(--texto-tenue); font-size: 12px; white-space: nowrap; }
.seccion-agenda .envoltura > .celda { padding-right: 76px; }
.seccion-agenda .marcar { position: absolute; top: 6px; right: 6px; display: flex; gap: 4px; }
.seccion-agenda .marcar button { width: 32px; height: 30px; border-radius: 7px; border: 1px solid var(--borde-fuerte); background: var(--fondo);
                   font-weight: 700; font-size: 15px; line-height: 1; }
.seccion-agenda .marcar .si { color: var(--verde); }
.seccion-agenda .marcar .no { color: var(--rojo); }
.seccion-agenda .marcar .si:hover { background: var(--verde-fondo); border-color: var(--verde); }
.seccion-agenda .marcar .no:hover { background: var(--rojo-fondo); border-color: var(--rojo); }
.seccion-agenda .contador { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px;
              border-radius: 999px; background: var(--rojo); color: #fff; font-size: 11px; font-weight: 700; }
.seccion-agenda .asist { display: flex; flex-direction: column; gap: 8px; }
.seccion-agenda .asist-fila { border: 1px solid var(--borde); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.seccion-agenda .asist-fila .arriba { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.seccion-agenda .asist-fila .arriba b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.seccion-agenda .asist-fila .botones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.seccion-agenda .asist-fila .botones button { padding: 10px; border-radius: 8px; border: 1px solid var(--borde-fuerte); background: var(--fondo); font-weight: 600; }
.seccion-agenda .asist-fila .botones .si.elegido { background: var(--verde-fondo); border-color: var(--verde); color: var(--verde); }
.seccion-agenda .asist-fila .botones .no.elegido { background: var(--rojo-fondo); border-color: var(--rojo); color: var(--rojo); }
.seccion-agenda .vacio { color: var(--texto-tenue); padding: 24px; text-align: center; }
.seccion-agenda .asist-fila .botones.tres { grid-template-columns: 1fr 1fr 1fr; }
.seccion-agenda .asist-fila .botones .plan.elegido { background: var(--verde-fondo); border-color: var(--verde); color: var(--verde); }
.seccion-agenda .envios { max-width: 720px; display: flex; flex-direction: column; gap: 24px; }
.seccion-agenda .envios h2 { font-size: 15px; margin: 0 0 4px; }
.seccion-agenda .envios .explica { color: var(--texto-suave); font-size: 13px; margin: 0 0 10px; }
.seccion-agenda .envio-fila { display: flex; flex-direction: row; align-items: center; gap: 10px; text-align: left; font-size: 14px; color: var(--texto); cursor: pointer; padding: 10px 12px; background: var(--fondo);
                border: 1px solid var(--borde); border-radius: 10px; margin-bottom: 8px; }
.seccion-agenda .envio-fila .que { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.seccion-agenda .envio-fila .que b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seccion-agenda .envio-fila .que small { color: var(--texto-suave); white-space: normal; }
.seccion-agenda .envio-fila .motivo { color: var(--ambar); }
.seccion-agenda .envio-fila input[type=checkbox] { width: 18px; height: 18px; flex: none; }
.seccion-agenda .tarjeta { background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; padding: 12px 14px; margin-bottom: 8px;
             display: flex; justify-content: space-between; gap: 8px; align-items: center; width: 100%; text-align: left; }
.seccion-agenda .tarjeta:hover { border-color: var(--borde-fuerte); }
.seccion-agenda h2 { font-size: 15px; margin: 18px 0 8px; }
.seccion-agenda .velo { position: fixed; inset: 0; background: rgba(15, 23, 42, .25); display: none; z-index: 10; }
.seccion-agenda .velo.visible { display: block; }
.seccion-agenda .cajon { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 100%); background: var(--fondo);
           border-left: 1px solid var(--borde); box-shadow: var(--sombra); z-index: 11; transform: translateX(100%);
           transition: transform .18s ease; display: flex; flex-direction: column; }
.seccion-agenda .cajon.visible { transform: none; }
@media (prefers-reduced-motion: reduce) {
.seccion-agenda .cajon { transition: none; }
}
.seccion-agenda .cajon-cabeza { height: 56px; flex: none; display: flex; align-items: center; justify-content: space-between; padding: 0 12px 0 16px;
                  border-bottom: 1px solid var(--borde); font-weight: 600; }
.seccion-agenda .cajon-titulos { display: flex; align-items: center; gap: 12px; }
.seccion-agenda .cajon-titulos .btn { font-weight: 500; }
.seccion-agenda .cajon-cuerpo { flex: 1; overflow: auto; padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.seccion-agenda .dato { display: grid; grid-template-columns: 96px 1fr; gap: 8px; font-size: 13px; }
.seccion-agenda .dato span:first-child { color: var(--texto-suave); }
.seccion-agenda .grupo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.seccion-agenda .seccion { border-top: 1px solid var(--borde); padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.seccion-agenda .seccion h3 { font-size: 12px; margin: 0; color: var(--texto-suave); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.seccion-agenda .seccion h3.con-accion { display: flex; justify-content: space-between; align-items: baseline; }
.seccion-agenda .seccion h3 .enlace { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 500; }
.seccion-agenda .ficha-cabeza { display: flex; flex-direction: column; gap: 6px; }
.seccion-agenda .ficha-cabeza .cuando b { text-transform: capitalize; }
.seccion-agenda .ficha-cabeza .linea { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.seccion-agenda .ficha-cabeza .tel { font-variant-numeric: tabular-nums; color: var(--acento-texto); }
.seccion-agenda .ficha-cabeza .pedido { color: var(--texto-suave); font-size: 13px; }
.seccion-agenda .seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; border: 1px solid var(--borde-fuerte); border-radius: 10px; overflow: hidden; }
.seccion-agenda .seg button { border: 0; border-right: 1px solid var(--borde-fuerte); background: var(--fondo); padding: 10px 6px; font-weight: 600; }
.seccion-agenda .seg button:last-child { border-right: 0; }
.seccion-agenda .seg button:hover:not(:disabled) { background: var(--fondo-hover); }
.seccion-agenda .seg .si.elegido, .seccion-agenda .seg .plan.elegido { background: var(--verde-fondo); color: var(--verde); }
.seccion-agenda .seg .no.elegido { background: var(--rojo-fondo); color: var(--rojo); }
.seccion-agenda .seg .conf.elegido { background: var(--acento-fondo); color: var(--acento-texto); }
.seccion-agenda .ayuda { color: var(--texto-tenue); font-size: 12.5px; margin: 0; white-space: normal; }
.seccion-agenda .envios { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; }
.seccion-agenda .envios li { display: flex; justify-content: space-between; gap: 10px; color: var(--texto-suave); }
.seccion-agenda .envios li span:last-child { color: var(--texto-tenue); font-variant-numeric: tabular-nums; }
.seccion-agenda .estado-plan { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.seccion-agenda .datos-lista { display: grid; grid-template-columns: 70px 1fr; gap: 6px 10px; font-size: 13.5px; }
.seccion-agenda .datos-lista span:nth-child(odd) { color: var(--texto-suave); }
.seccion-agenda .datos-lista span:nth-child(even) { overflow-wrap: anywhere; }
.seccion-agenda .datos-lista .vacio-dato { color: var(--texto-tenue); }
.seccion-agenda .enlace { border: 0; background: none; padding: 0; color: var(--acento-texto); font-weight: 500; }
.seccion-agenda .enlace.rojo { color: var(--rojo); }
.seccion-agenda .pie-cajon { border-top: 1px solid var(--borde); padding-top: 12px; display: flex; justify-content: space-between; align-items: center;
               gap: 10px; color: var(--texto-tenue); font-size: 12px; }
.seccion-agenda .btn.ancho { width: 100%; padding: 10px; }
.seccion-agenda label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--texto-suave); }
.seccion-agenda label.linea { flex-direction: row; align-items: center; gap: 8px; color: var(--texto); }
.seccion-agenda input[type=text], .seccion-agenda input[type=tel], .seccion-agenda input[type=email], .seccion-agenda input[type=date], .seccion-agenda input[type=time], .seccion-agenda input[type=password], .seccion-agenda select, .seccion-agenda textarea { border: 1px solid var(--borde); background: var(--fondo); border-radius: 8px; padding: 7px 10px; width: 100%; color: var(--texto); }
.seccion-agenda textarea { min-height: 64px; resize: vertical; }
.seccion-agenda .fila { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.seccion-agenda .error { color: var(--rojo); font-size: 13px; }
.seccion-agenda .huecos { display: flex; flex-wrap: wrap; gap: 6px; }
.seccion-agenda form.pila { display: flex; flex-direction: column; gap: 12px; }
.seccion-agenda .cartel { flex: none; background: var(--ambar-fondo); color: var(--texto); border-bottom: 1px solid var(--borde); padding: 8px 16px; font-size: 13px; }
.seccion-agenda .cartel summary { cursor: pointer; color: var(--ambar); font-weight: 600; }
.seccion-agenda .cartel ul { list-style: none; margin: 8px 0 2px; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.seccion-agenda .cartel li button { border: 0; background: transparent; padding: 4px 6px; border-radius: 6px; text-align: left; width: 100%; }
.seccion-agenda .cartel li button:hover { background: var(--fondo); }
.seccion-agenda .cartel .cuando { font-variant-numeric: tabular-nums; color: var(--texto-suave); text-transform: capitalize; }
.seccion-agenda .segmentos { display: inline-flex; border: 1px solid var(--borde); border-radius: 8px; overflow: hidden; }
.seccion-agenda .segmentos button { border: 0; background: transparent; padding: 4px 12px; font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .segmentos button + button { border-left: 1px solid var(--borde); }
.seccion-agenda .segmentos button.activo { background: var(--acento-fondo); color: var(--acento-texto); font-weight: 600; }
.seccion-agenda .resumen { --gris: #94a3b8; --rojo-oscuro: #991b1b; --calor: 31, 147, 255; display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px; }
.seccion-agenda .resumen .nota-suave { grid-column: 1 / -1; margin: 0; }
.seccion-agenda .resumen.arriba { margin-bottom: 12px; }
.seccion-agenda .caja { background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; padding: 14px 16px;
          display: flex; flex-direction: column; gap: 10px; grid-column: span 12; }
.seccion-agenda .caja.media { grid-column: span 6; }
@media (max-width: 760px) {
.seccion-agenda .caja.media { grid-column: span 12; }
}
.seccion-agenda .caja h3 { font-size: 12px; margin: 0; color: var(--texto-suave); font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
             display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.seccion-agenda .caja h3 small { text-transform: none; letter-spacing: 0; font-weight: 400; text-align: right; }
.seccion-agenda .ayuda { font-size: 12px; color: var(--texto-tenue); margin: 0; }
.seccion-agenda .resumen .cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; }
.seccion-agenda .resumen .cifra { display: flex; flex-direction: column; gap: 2px; }
.seccion-agenda .resumen .rotulo { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .resumen .valor { white-space: nowrap; font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.15; }
.seccion-agenda .resumen .compara { font-size: 12px; color: var(--texto-suave); font-variant-numeric: tabular-nums; }
.seccion-agenda .compara .sube { color: var(--verde); font-weight: 600; }
.seccion-agenda .compara .baja { color: var(--rojo); font-weight: 600; }
.seccion-agenda .punto { width: 8px; height: 8px; border-radius: 50%; background: var(--verde); display: inline-block; flex: none; }
.seccion-agenda .punto.mal, .seccion-agenda .punto.no_vino { background: var(--rojo); }
.seccion-agenda .punto.gris, .seccion-agenda .punto.agendado { background: var(--gris); }
.seccion-agenda .hola .saludo { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.seccion-agenda .hola h2 { margin: 0; font-size: 18px; }
.seccion-agenda .tira { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; }
.seccion-agenda .tira .hueco { height: 36px; border-radius: 6px; background: var(--fondo-suave); border: 1px solid var(--borde); display: flex;
                 flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 11px; color: var(--texto-tenue);
                 padding: 0; font-variant-numeric: tabular-nums; }
.seccion-agenda .tira .hueco.fuera { border-style: dashed; }
.seccion-agenda .tira .hueco.pasado { opacity: .55; }
.seccion-agenda .tira .hueco.ahora { border-color: var(--acento); color: var(--acento-texto); }
.seccion-agenda .tira .hueco.turno.ahora { border: 2px solid var(--acento); background: var(--acento-fondo); color: var(--acento-texto); font-weight: 600; }
.seccion-agenda .tira .hueco .punto { width: 10px; height: 10px; }
.seccion-agenda .tira .hueco .candado { font-size: 10px; line-height: 10px; }
.seccion-agenda .tira .hueco.turno { background: var(--fondo); border-color: var(--borde-fuerte); cursor: pointer; color: var(--texto-suave); }
.seccion-agenda .tira .hueco.turno:hover { border-color: var(--acento); }
.seccion-agenda .tira .hueco.libre { cursor: pointer; }
.seccion-agenda .tira .hueco.libre:hover { border-color: var(--acento); color: var(--acento-texto); }
.seccion-agenda .fichas { display: flex; flex-wrap: wrap; gap: 8px; }
.seccion-agenda .fichas .ficha { flex: 1 1 200px; }
.seccion-agenda .ficha { display: flex; flex-direction: column; align-items: flex-start; padding: 8px 12px; border-radius: 8px; background: var(--fondo-suave);
           border: 1px solid var(--borde); text-align: left; min-width: 150px; color: var(--texto); }
.seccion-agenda button.ficha:hover, .seccion-agenda a.ficha:hover { border-color: var(--acento); }
.seccion-agenda a.ficha { text-decoration: none; }
.seccion-agenda .resumen .ficha .valor { font-size: 22px; }
.seccion-agenda .ficha.ambar { background: var(--ambar-fondo); border-color: transparent; color: var(--ambar); flex-direction: row; align-items: center;
                 gap: 6px; min-width: 0; font-weight: 500; }
.seccion-agenda .ficha.ambar b { font-size: 16px; font-variant-numeric: tabular-nums; }
.seccion-agenda .embudo { display: grid; grid-template-columns: 120px 1fr 250px; gap: 8px 12px; align-items: center; }
@media (max-width: 760px) {
.seccion-agenda .embudo { grid-template-columns: 1fr; }
}
.seccion-agenda .embudo .paso { font-weight: 500; }
.seccion-agenda .embudo .barra-e { height: 22px; background: var(--acento-fondo); border-radius: 4px; position: relative; }
.seccion-agenda .embudo .barra-e i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--acento); }
.seccion-agenda .embudo .barra-e span { position: absolute; left: 8px; top: 0; line-height: 22px; font-size: 12px; font-weight: 600;
                          font-variant-numeric: tabular-nums; color: #fff; }
.seccion-agenda .embudo .barra-e span.fuera { color: var(--texto); }
.seccion-agenda .embudo .tasa { font-size: 12px; color: var(--texto-suave); font-variant-numeric: tabular-nums; }
.seccion-agenda .embudo .tasa b { color: var(--texto); font-weight: 600; }
.seccion-agenda .adquisicion { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.seccion-agenda .adquisicion .cifra { padding: 12px 14px; border-radius: 8px; background: var(--fondo-suave); border: 1px solid var(--borde); gap: 4px; }
.seccion-agenda .resumen .adquisicion .valor { font-size: 30px; }
.seccion-agenda .resumen .adquisicion .rotulo { font-size: 13px; color: var(--texto); font-weight: 500; }
@media (max-width: 760px) {
.seccion-agenda .adquisicion { grid-template-columns: 1fr; }
}
.seccion-agenda .operacion { margin: 0; font-size: 12px; color: var(--texto-suave); display: flex; flex-wrap: wrap; gap: 4px 14px; }
.seccion-agenda .operacion b { font-weight: 600; color: var(--texto); }
.seccion-agenda .tabla-scroll { overflow-x: auto; }
.seccion-agenda table.datos { width: 100%; border-collapse: collapse; font-size: 13px; }
.seccion-agenda table.datos th, .seccion-agenda table.datos td { text-align: right; padding: 7px 6px; border-bottom: 1px solid var(--borde); font-variant-numeric: tabular-nums;
                                   white-space: nowrap; }
.seccion-agenda table.datos th { color: var(--texto-suave); font-weight: 500; font-size: 12px; }
.seccion-agenda table.datos th:first-child, .seccion-agenda table.datos td:first-child { text-align: left; white-space: normal; min-width: 160px; }
.seccion-agenda table.datos tr.organico td { color: var(--texto-suave); }
.seccion-agenda table.datos tr.mejor td.destacado { color: var(--verde); font-weight: 600; }
.seccion-agenda table.datos tr.peor td.destacado { color: var(--rojo); font-weight: 600; }
.seccion-agenda table.datos td .minibarra { display: inline-block; height: 8px; background: var(--acento); border-radius: 4px; vertical-align: middle; margin-right: 6px; }
.seccion-agenda table.datos .vacia { color: var(--texto-tenue); }
.seccion-agenda .pie-tabla { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .pie-tabla .estado-ad { display: inline-flex; gap: 5px; align-items: center; }
.seccion-agenda .pie-tabla { align-items: center; }
.seccion-agenda table.datos th button.orden { border: 0; background: transparent; padding: 0; color: inherit; font: inherit; white-space: nowrap; }
.seccion-agenda table.datos th button.orden:hover, .seccion-agenda table.datos th button.orden.activo { color: var(--acento-texto); }
.seccion-agenda .apilada { display: flex; height: 22px; gap: 2px; border-radius: 4px; overflow: hidden; }
.seccion-agenda .apilada i { display: block; height: 100%; min-width: 2px; }
.seccion-agenda .apilada .asistio { background: var(--verde); }
.seccion-agenda .apilada .no_vino { background: var(--rojo); }
.seccion-agenda .apilada .cancelado { background: var(--rojo-oscuro); }
.seccion-agenda .apilada .sin_marcar { background: var(--ambar); }
.seccion-agenda .leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .leyenda span { display: inline-flex; align-items: center; gap: 6px; }
.seccion-agenda .leyenda i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.seccion-agenda .leyenda b { color: var(--texto); font-weight: 600; font-variant-numeric: tabular-nums; }
.seccion-agenda .sub { margin: 6px 0 0; font-size: 12px; font-weight: 600; color: var(--texto-suave); }
.seccion-agenda .horas { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; align-items: end; height: 92px; }
.seccion-agenda .horas .col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 3px; font-size: 11px;
                color: var(--texto-suave); font-variant-numeric: tabular-nums; }
.seccion-agenda .horas .col .n { font-weight: 600; color: var(--texto); }
.seccion-agenda .horas .col .pila { width: 100%; max-width: 26px; display: flex; flex-direction: column-reverse; gap: 2px; }
.seccion-agenda .horas .col .pila i { display: block; width: 100%; border-radius: 3px; }
.seccion-agenda .horas .col .pila i.no_vino { background: var(--rojo); }
.seccion-agenda .horas .col .pila i.cancelado { background: var(--rojo-oscuro); }
.seccion-agenda .calor { display: grid; grid-template-columns: 36px repeat(24, 1fr); gap: 2px; font-size: 11px; color: var(--texto-suave); }
.seccion-agenda .calor .h { text-align: center; font-variant-numeric: tabular-nums; }
.seccion-agenda .calor .d { align-self: center; }
.seccion-agenda .calor .c { aspect-ratio: 1 / 1; border-radius: 3px; background: rgba(var(--calor), var(--p, 0)); position: relative; min-height: 14px; }
.seccion-agenda .calor .c.vacia { background: var(--gris-fondo); }
.seccion-agenda .calor .c.atiende { box-shadow: inset 0 0 0 1.5px var(--acento); }
.seccion-agenda .calor .c:hover::after { content: attr(data-t); position: absolute; bottom: calc(100% + 4px); left: 50%; transform: translateX(-50%);
                           background: var(--texto); color: var(--fondo); padding: 3px 7px; border-radius: 6px; white-space: nowrap; z-index: 2; font-size: 12px; }
.seccion-agenda .escala { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--texto-suave); flex-wrap: wrap; }
.seccion-agenda .escala i { width: 14px; height: 10px; border-radius: 2px; display: inline-block; background: rgba(var(--calor), var(--p)); }
.seccion-agenda .escala .marco { width: 14px; height: 10px; border-radius: 2px; display: inline-block; box-shadow: inset 0 0 0 1.5px var(--acento); margin-left: 10px; }
.seccion-agenda .servicio { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px;
              background: var(--fondo-suave); border: 1px solid var(--borde); font-size: 13px; }
.seccion-agenda .buscador { display: flex; gap: 8px; margin-bottom: 12px; max-width: 520px; }
.seccion-agenda .movs { display: flex; flex-direction: column; gap: 6px; max-width: 860px; }
.seccion-agenda .movs h2 { text-transform: capitalize; }
.seccion-agenda .nota-suave { margin: 0 0 12px; color: var(--texto-suave); font-size: 13px; }
.seccion-agenda .mov .pill { justify-self: start; }
.seccion-agenda .mov { display: grid; grid-template-columns: 44px 128px 1fr; gap: 10px; align-items: center; width: 100%; text-align: left;
         background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; padding: 10px 12px; }
.seccion-agenda .mov:hover { border-color: var(--borde-fuerte); }
.seccion-agenda .mov .hora { font-variant-numeric: tabular-nums; color: var(--texto-suave); font-size: 12px; }
.seccion-agenda .mov .que { min-width: 0; }
.seccion-agenda .mov .que b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.seccion-agenda .mov .que span { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda table.comparar { width: 100%; border-collapse: collapse; font-size: 13px; }
.seccion-agenda table.comparar th, .seccion-agenda table.comparar td { text-align: left; padding: 6px 4px; border-bottom: 1px solid var(--borde); vertical-align: top;
                                         overflow-wrap: anywhere; }
.seccion-agenda table.comparar th { color: var(--texto-suave); font-weight: 500; width: 92px; }
.seccion-agenda table.comparar tr.cambio td { background: var(--ambar-fondo); }
.seccion-agenda table.comparar td.vacio-celda { color: var(--texto-tenue); }
.seccion-agenda .con-sugerencias { position: relative; }
.seccion-agenda .sugerencias { position: absolute; left: 0; right: 0; top: 100%; margin-top: 4px; z-index: 12; background: var(--fondo);
                 border: 1px solid var(--borde-fuerte); border-radius: 8px; box-shadow: var(--sombra); overflow: hidden; }
.seccion-agenda .sugerencias button { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 8px 10px;
                        color: var(--texto); }
.seccion-agenda .sugerencias button span { display: block; font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .sugerencias button:hover, .seccion-agenda .sugerencias button.marcada { background: var(--acento-fondo); }
.seccion-agenda .login { max-width: 360px; margin: 12vh auto; background: var(--fondo); border: 1px solid var(--borde);
           border-radius: 12px; padding: 28px; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: 14px; }
.seccion-agenda .login h1 { font-size: 20px; margin: 0; }
.seccion-agenda .oculto { display: none !important; }
.seccion-agenda .aviso-flotante { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); background: var(--texto);
                    color: var(--fondo); padding: 8px 14px; border-radius: 8px; box-shadow: var(--sombra); z-index: 20; }
:root[data-tema="oscuro"] .seccion-agenda .resumen { --gris: #6b7178; --rojo-oscuro: #b91c1c; --calor: 59, 161, 255; }
.seccion-agenda { color-scheme: light; }
:root[data-tema="oscuro"] .seccion-agenda { color-scheme: dark; }

/* Calendario propio del «otro horario»: los días cerrados y los pasados, tachados */
.seccion-agenda .campo { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--texto-suave); }  /* como un label */
.seccion-agenda .selector-dia { position: relative; display: block; }
.seccion-agenda .campo-dia { width: 100%; text-align: left; border: 1px solid var(--borde); background: var(--fondo); border-radius: 8px; padding: 7px 10px;
                             color: var(--texto); text-transform: capitalize; cursor: pointer; }
.seccion-agenda .calendario { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; width: 260px; background: var(--fondo);
                              border: 1px solid var(--borde); border-radius: 10px; box-shadow: var(--sombra); padding: 10px; display: block; }
.seccion-agenda .calendario.oculto { display: none; }
.seccion-agenda .cal-cabeza { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; color: var(--texto); }
.seccion-agenda .cal-cabeza b { text-transform: capitalize; font-size: 13.5px; }
.seccion-agenda .cal-cabeza button { border: 0; background: none; color: var(--texto-suave); font-size: 18px; padding: 2px 8px; border-radius: 6px; cursor: pointer; }
.seccion-agenda .cal-cabeza button:hover { background: var(--fondo-hover); }
.seccion-agenda .cal-grilla { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.seccion-agenda .cal-grilla i { font-style: normal; text-align: center; font-size: 11px; color: var(--texto-tenue); padding: 2px 0; }
.seccion-agenda .cal-grilla button { border: 0; background: none; color: var(--texto); height: 30px; border-radius: 6px; font-size: 13px; cursor: pointer;
                                     font-variant-numeric: tabular-nums; }
.seccion-agenda .cal-grilla button:hover:not(:disabled) { background: var(--fondo-hover); }
.seccion-agenda .cal-grilla button.hoy { box-shadow: inset 0 0 0 1px var(--borde-fuerte); }
.seccion-agenda .cal-grilla button.elegido { background: var(--acento); color: #fff; }
.seccion-agenda .cal-grilla button:disabled { color: var(--texto-tenue); opacity: .45; text-decoration: line-through; cursor: not-allowed; }
