:root { --estado-confirmado: #4ade80; --estado-asistio: #166534; --estado-pendiente: #4b5563; --estado-vencido: #991b1b; }
:root[data-tema="oscuro"] { --estado-confirmado: #86efac; --estado-asistio: #16a34a; --estado-pendiente: #9ca3af; --estado-vencido: #f87171; }
/* 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-lleno); border-color: var(--acento-lleno); color: #fff; }
.seccion-agenda .btn.primario:hover { filter: brightness(.95); background: var(--acento-lleno); }
.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: color-mix(in srgb, var(--estado-confirmado) 25%, transparent); color: var(--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; font-size: 12px; }
.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); border-color: var(--borde-fuerte); }
.seccion-agenda .celda.turno.pasado { color: var(--texto-suave); opacity: 1; }
.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: .75; }
.seccion-agenda .envoltura { position: relative; }
.seccion-agenda .celda-fuera { border-style: dashed; }
.seccion-agenda .celda .detalle { flex-wrap: nowrap; justify-content: space-between; }
.seccion-agenda .celda .detalle-texto { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seccion-agenda .celda .pill { flex: none; }
/* Hora libre: un tinte apenas del acento y una cruz dibujada; al pasar, el tinte se completa. */
.seccion-agenda button.celda.libre { position: relative; background: color-mix(in srgb, var(--acento-fondo) 45%, transparent); }
.seccion-agenda button.celda.libre::after, .seccion-agenda .eq-libre::after { content: ""; width: 11px; height: 11px; color: var(--acento-texto); opacity: .55;
  background: linear-gradient(currentColor, currentColor) center / 11px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 11px no-repeat; }
.seccion-agenda button.celda.libre::after { position: absolute; right: 10px; top: 50%; margin-top: -5.5px; }
.seccion-agenda button.celda.libre:hover::after, .seccion-agenda .eq-libre:hover::after, .seccion-agenda .eq-libre:focus-visible::after { opacity: 1; }
.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 .envios .btn.peligro { background: transparent; border-color: var(--rojo); }
.seccion-agenda .envios .btn.peligro:hover:not(:disabled) { background: var(--rojo-fondo); }
.seccion-agenda .envio-fila .btn { flex: none; }
.seccion-agenda .envios .btn.neutro { background: transparent; border-color: var(--texto-tenue); color: var(--texto-suave); }
.seccion-agenda .envios .btn.neutro:hover { background: var(--fondo-hover); }
.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: 4px; padding: 12px 14px; background: var(--fondo-suave); border-radius: 10px; }
.seccion-agenda .ficha-turno { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.seccion-agenda .ficha-turno .cuando { font-size: 15px; font-weight: 600; }
.seccion-agenda .ficha-detalle { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda #cajon-accion .tel { font-size: 13px; font-weight: 400; font-variant-numeric: tabular-nums; color: var(--texto-suave); }
.seccion-agenda .ficha-cabeza .cuando { text-transform: capitalize; }
.seccion-agenda .ficha-cabeza .linea { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.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: 10px; min-height: 28px; color: var(--texto); cursor: pointer; }
.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: 12px; 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: .75; }
.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, .seccion-agenda .leyenda i.cancelado, .seccion-agenda .horas .col .pila i.cancelado { background: repeating-linear-gradient(45deg, var(--texto-tenue) 0 3px, var(--gris-fondo) 3px 6px); }
.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 .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(title); 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: 12px; 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-lleno); color: #fff; }
.seccion-agenda .cal-grilla button:disabled { color: var(--texto-tenue); opacity: .45; text-decoration: line-through; cursor: not-allowed; }
.seccion-agenda .tabla-fallas { width: 100%; margin-top: 12px; border-collapse: collapse; font-size: 13px; }
.seccion-agenda .tabla-fallas th { text-align: left; font-weight: 600; color: var(--texto-suave); padding: 6px 8px; }
.seccion-agenda .tabla-fallas td { padding: 6px 8px; border-top: 1px solid var(--borde); vertical-align: top; }
.seccion-agenda .tabla-fallas td:first-child { white-space: nowrap; }
.seccion-agenda .tabla-fallas .error-cola { font-family: ui-monospace, monospace; font-size: 12px; word-break: break-word; }
.seccion-agenda .panel-fallas { margin-top: 12px; }
.seccion-agenda .panel-fallas summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; font-weight: 600; user-select: none; }
.seccion-agenda .panel-fallas summary::-webkit-details-marker { display: none; }
.seccion-agenda .panel-fallas summary .cuenta { font-size: 11px; font-weight: 600; line-height: 16px; color: var(--texto-suave); background: var(--gris-fondo); border: 1px solid var(--borde); border-radius: 999px; padding: 0 7px; }
.seccion-agenda .panel-fallas .chevron { transition: transform .15s; }
.seccion-agenda .panel-fallas[open] .chevron { transform: rotate(90deg); }
.seccion-agenda .tabla-fallas tr.vista td { opacity: .55; }
.seccion-agenda .tabla-fallas td:last-child { white-space: nowrap; text-align: right; }
.seccion-agenda .panel-fallas .cargar-mas { margin-top: 8px; }

/* Configuración */
.seccion-agenda .configuracion .ajustes { max-width: 420px; }
.seccion-agenda .configuracion .dato { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; font-size: 14px; }
.seccion-agenda .semana-fija { display: flex; flex-wrap: wrap; gap: 8px; }
.seccion-agenda .semana-fija span { background: var(--fondo-suave); border: 1px solid var(--borde); border-radius: 8px; padding: 6px 10px; font-size: 13px; }
.seccion-agenda .extra-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-bottom: 6px; }
.seccion-agenda .extra-form label, .seccion-agenda .extra-form .campo { display: flex; flex-direction: column; font-size: 12px; color: var(--texto-suave); gap: 4px; }
.seccion-agenda .envio-fila .que small { display: block; color: var(--texto-suave); }
.seccion-agenda .configuracion > section + section { border-top: 1px solid var(--borde); padding-top: 20px; }
.seccion-agenda .envio-fila .estado { font-size: 12px; color: var(--texto-suave); white-space: nowrap; }
.seccion-agenda .envio-fila .nombre-fila { display: flex; align-items: center; gap: 6px; min-width: 0; }
.seccion-agenda .envio-fila .nuevo { flex: none; font-size: 11px; font-weight: 600; line-height: 16px; color: #fff; background: var(--rojo); border-radius: 999px; padding: 0 7px; }

/* Estadísticas: pestañas, período, cifras con variación, «?», PD, fechas y lo nuevo (tendencias, ocupación, campañas) */
.seccion-agenda .resumen.cargando { opacity: .55; pointer-events: none; transition: opacity .15s; }
.seccion-agenda .pestanas-est { grid-column: 1 / -1; display: flex; gap: 4px; border-bottom: 1px solid var(--borde); }
.seccion-agenda .pestanas-est button { border: 0; background: none; padding: 8px 14px; font-size: 14px; color: var(--texto-suave); border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; }
.seccion-agenda .pestanas-est button[aria-selected="true"] { color: var(--texto); border-bottom-color: var(--acento); font-weight: 600; }
.seccion-agenda .periodo-barra { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.seccion-agenda .periodo-barra .segmentos { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
.seccion-agenda .periodo-barra .segmentos button { white-space: nowrap; flex: none; }
.seccion-agenda .periodo-barra .rango { font-size: 13px; font-variant-numeric: tabular-nums; }
.seccion-agenda .periodo-barra .contra { color: var(--texto-suave); }
.seccion-agenda .kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.seccion-agenda .kpis.destacados { grid-column: 1 / -1; }
.seccion-agenda .kpi { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 8px; background: var(--fondo-suave); border: 1px solid var(--borde); min-width: 0; }
.seccion-agenda .kpis.destacados .kpi { background: var(--fondo); }
.seccion-agenda .kpi .valor { font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; white-space: nowrap; }
.seccion-agenda .kpi .rotulo { font-size: 12px; color: var(--texto-suave); display: inline-flex; align-items: center; gap: 4px; }
.seccion-agenda .kpi .compara { font-size: 12px; color: var(--texto-suave); display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.seccion-agenda .grupo-kpi { display: flex; flex-direction: column; gap: 6px; }
.seccion-agenda .delta { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--texto-suave); }
.seccion-agenda .delta.bien { color: var(--verde); }
.seccion-agenda .delta.mal { color: var(--rojo); }
.seccion-agenda .info, .seccion-agenda .pd, .seccion-agenda .fecha-eti { position: relative; display: inline-flex; align-items: center; justify-content: center; cursor: help; }
.seccion-agenda .info { width: 15px; height: 15px; border-radius: 50%; border: 1px solid var(--borde-fuerte); font-size: 10px; font-weight: 700; color: var(--texto-suave);
  text-transform: none; letter-spacing: 0; flex: none; }
.seccion-agenda .pd { font-size: 10px; font-weight: 700; padding: 1px 5px; border-radius: 4px; background: var(--ambar-fondo); color: var(--ambar); letter-spacing: .03em; }
.seccion-agenda .fecha-eti { font-size: 12px; font-weight: 500; text-transform: none; letter-spacing: 0; padding: 2px 8px; border-radius: 999px; background: var(--gris-fondo); color: var(--texto-suave); }
.seccion-agenda .globo { display: none; position: fixed; z-index: 50; width: max-content; max-width: 260px;
  background: var(--texto); color: var(--fondo); padding: 6px 9px; border-radius: 6px; font-size: 12px; font-weight: 400; line-height: 1.4; text-align: left;
  text-transform: none; letter-spacing: 0; white-space: normal; }
.seccion-agenda .info:hover .globo, .seccion-agenda .info:focus .globo, .seccion-agenda .info.abierto .globo,
.seccion-agenda .pd:hover .globo, .seccion-agenda .pd:focus .globo, .seccion-agenda .pd.abierto .globo,
.seccion-agenda .fecha-eti:hover .globo, .seccion-agenda .fecha-eti:focus .globo, .seccion-agenda .fecha-eti.abierto .globo { display: block; }
.seccion-agenda .alerta-sistema { grid-column: 1 / -1; display: block; padding: 10px 14px; border-radius: 8px; background: var(--rojo-fondo); color: var(--rojo); text-decoration: none; font-size: 13px; }
.seccion-agenda .aviso-capacidad { grid-column: 1 / -1; padding: 10px 14px; border-radius: 8px; background: var(--ambar-fondo); color: var(--ambar); font-size: 13px; font-weight: 500; }
.seccion-agenda .tendencias { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.seccion-agenda .tendencia { display: flex; flex-direction: column; gap: 4px; }
.seccion-agenda .tendencia .rotulo { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda svg.linea { width: 100%; height: auto; overflow: visible; }
.seccion-agenda svg.linea path { fill: none; stroke: var(--acento); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.seccion-agenda svg.linea circle { fill: var(--acento); stroke: var(--fondo); stroke-width: 2; }
.seccion-agenda svg.linea circle.curso { fill: var(--fondo); stroke: var(--acento); stroke-width: 1.5; }
.seccion-agenda svg.linea .base { stroke: var(--borde); stroke-width: 1; }
.seccion-agenda svg.linea text { fill: var(--texto-suave); font-size: 10px; font-variant-numeric: tabular-nums; }
.seccion-agenda svg.linea text.ultimo { fill: var(--texto); font-weight: 600; font-size: 11px; }
.seccion-agenda svg.linea text.maximo { fill: var(--texto-suave); }
.seccion-agenda .ver-numeros summary { cursor: pointer; font-size: 13px; color: var(--acento-texto); }
.seccion-agenda .apilada i { display: flex; align-items: center; justify-content: center; font-style: normal; }
.seccion-agenda .apilada i b { font-size: 11px; font-weight: 600; color: #fff; text-shadow: 0 0 2px rgba(0,0,0,.45); }
.seccion-agenda .apilada .cancelado b { color: var(--texto); text-shadow: none; }
.seccion-agenda .leyenda i.asistio { background: var(--verde); } .seccion-agenda .leyenda i.no_vino { background: var(--rojo); } .seccion-agenda .leyenda i.sin_marcar { background: var(--ambar); }
.seccion-agenda .horas { height: 108px; }
.seccion-agenda .horas .col .cant { font-size: 10px; color: var(--texto-tenue); }
.seccion-agenda .calor .c { font-size: 9px; display: flex; align-items: center; justify-content: center; color: var(--texto); font-variant-numeric: tabular-nums; }
.seccion-agenda .barras-h { display: flex; flex-direction: column; gap: 4px; }
.seccion-agenda .fila-barra { display: grid; grid-template-columns: 64px 1fr auto auto; align-items: center; gap: 8px; font-size: 12px; font-variant-numeric: tabular-nums; }
.seccion-agenda .fila-barra i { display: block; height: 10px; border-radius: 0 4px 4px 0; background: var(--acento); min-width: 2px; }
.seccion-agenda .fila-barra b { font-weight: 600; }
.seccion-agenda .fila-barra em { font-style: normal; color: var(--texto-suave); display: inline-flex; gap: 4px; align-items: center; }
.seccion-agenda .top { font-size: 13px; margin: 0; }
.seccion-agenda .solo-angosto { display: none; }
@media (max-width: 760px) {
  .seccion-agenda .solo-ancho { display: none !important; }
  .seccion-agenda .solo-angosto { display: flex; flex-direction: column; gap: 8px; }
}
.seccion-agenda button.enlace { border: 0; background: none; padding: 0; color: var(--acento-texto); font: inherit; cursor: pointer; text-decoration: underline; }
.seccion-agenda table.anuncios th:first-child, .seccion-agenda table.anuncios td:first-child { position: sticky; left: 0; background: var(--fondo); z-index: 1; min-width: 220px; }
.seccion-agenda table.anuncios tr.campana td { background: var(--fondo-suave); font-weight: 600; }
.seccion-agenda table.anuncios tr.campana td small { font-weight: 400; color: var(--texto-suave); }
.seccion-agenda table.anuncios .plegar-camp { border: 0; background: none; cursor: pointer; color: var(--texto-suave); padding: 0 4px 0 0; }
.seccion-agenda td.nombre-ad { display: flex; gap: 8px; align-items: center; }
.seccion-agenda td.nombre-ad img, .seccion-agenda td.nombre-ad .sin-img { width: 32px; height: 32px; border-radius: 4px; object-fit: cover; flex: none; background: var(--gris-fondo); }
.seccion-agenda td.nombre-ad small { display: flex; align-items: center; gap: 4px; color: var(--texto-suave); font-size: 12px; }
.seccion-agenda .tasa-b { display: inline-block; min-width: 44px; padding: 1px 4px; border-radius: 4px; font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, var(--acento-fondo) var(--w), transparent var(--w)); }
.seccion-agenda .tarjeta-camp { display: flex; flex-direction: column; gap: 8px; }
.seccion-agenda .tarjeta-ad { display: flex; gap: 10px; padding: 10px; border: 1px solid var(--borde); border-radius: 8px; }
.seccion-agenda .tarjeta-ad img { width: 48px; height: 48px; border-radius: 6px; object-fit: cover; flex: none; }
.seccion-agenda .tarjeta-ad .nom { font-weight: 600; font-size: 13px; display: block; }
.seccion-agenda .tarjeta-ad .tres { display: flex; flex-direction: column; font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .tarjeta-ad .tres b { color: var(--texto); }
#cfg-sistema .grupo { display: flex; flex-wrap: wrap; gap: 6px; }
.seccion-agenda table.anuncios tr.campana { cursor: pointer; }
.seccion-agenda table.anuncios tr.campana:hover td { background: var(--fondo-hover); }
.seccion-agenda table.anuncios .chevron-camp { display: inline-block; width: 14px; color: var(--texto-suave); }
.seccion-agenda .caja h3 .moneda { text-transform: none; letter-spacing: 0; font-weight: 400; margin-left: 8px; vertical-align: middle; }
.seccion-agenda .caja h3 .moneda button { padding: 1px 9px; font-size: 12px; cursor: pointer; }
.seccion-agenda .kpi .desglose { flex-basis: 100%; color: var(--texto-suave); }
.seccion-agenda .pd.est { background: var(--gris-fondo); color: var(--texto-suave); }
.seccion-agenda .cerrada { margin: 4px 0 0; font-size: 12px; color: var(--texto-suave); display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.seccion-agenda .cerrada b { color: var(--texto); font-weight: 600; }
.seccion-agenda .tira-periodo { display: flex; align-items: center; gap: 10px; max-width: 100%; }
.seccion-agenda .tira-periodo .rotulo-tira { font-size: 12px; color: var(--texto-suave); min-width: 86px; }
.seccion-agenda .fila-barra { grid-template-columns: 96px 1fr auto auto; }
.seccion-agenda .fila-barra > span { display: inline-flex; align-items: center; gap: 4px; }
.seccion-agenda .embudo .paso { display: inline-flex; align-items: center; gap: 6px; }
.seccion-agenda .pill-plan { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: var(--gris-fondo); color: var(--texto-suave); white-space: nowrap; }
.seccion-agenda .pill-plan.ok { background: var(--verde-fondo); color: var(--verde); }
.seccion-agenda .pill-plan.espera { background: var(--ambar-fondo); color: var(--ambar); }

/* ---------- Finanzas (finanzas.js): clases propias fin-*; dentro de la Agenda y en la ficha de la paciente ---------- */
.fin-pila { display: flex; flex-direction: column; gap: 10px; }
.fin-izq { align-self: flex-start; }
#t-cobro .fin-cargado + .fin-cargado { margin-top: 0; }
.fin { max-width: 1080px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.fin-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fin-mes { min-width: 130px; text-align: center; }
.fin-caja { background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; padding: 12px 14px; min-width: 0; overflow-x: auto; }
.fin-caja h2 { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--texto-tenue); margin: 0 0 8px;
               display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.fin-caja h2 .enlace, .fin-caja h2 .fin-sub { text-transform: none; letter-spacing: 0; font-weight: 500; }
.fin-ganancia { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 32px; padding: 16px 18px; }
.fin-ganancia .ayuda { flex-basis: 100%; }
.fin-rot { display: block; font-size: 13px; color: var(--texto-suave); }
.fin-grande { display: block; font-size: 30px; font-weight: 700; letter-spacing: -.01em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.fin-grande.neg { color: var(--rojo); }
.fin-cuenta { display: flex; gap: 24px; flex-wrap: wrap; padding-bottom: 4px; }
.fin-cuenta span { font-size: 13px; color: var(--texto-suave); }
.fin-cuenta b { display: block; font-size: 16px; color: var(--texto); font-variant-numeric: tabular-nums; }
.fin-dos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 16px; }
.fin-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.fin-tabla th { text-align: left; font-weight: 500; color: var(--texto-tenue); font-size: 12px; padding: 6px 8px; border-bottom: 1px solid var(--borde); }
.fin-tabla td { padding: 7px 8px; border-bottom: 1px solid var(--borde); vertical-align: top; }
.fin-tabla tr:last-child td { border-bottom: 0; }
.fin-tabla tfoot td { font-weight: 600; border-top: 1px solid var(--borde-fuerte); }
.fin-tabla .d { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fin-tabla.fin-mini td, .fin-tabla.fin-mini th { padding: 4px 0; border: 0; }
.fin-fecha { color: var(--texto-tenue); white-space: nowrap; font-variant-numeric: tabular-nums; }
.fin-sub { font-size: 12px; color: var(--texto-tenue); font-weight: 400; }
.fin-bloque { display: block; }
.fin-mas { color: var(--verde); }
.fin-debe { color: var(--ambar); }
.fin-auto { font-size: 11.5px; border-radius: 4px; padding: 0 5px; background: var(--gris-fondo); color: var(--texto-suave); font-weight: 600; }
.fin-filtros { margin-bottom: 8px; }
.fin-aviso { border-radius: 8px; padding: 8px 10px; background: var(--fondo-suave); border: 1px solid var(--borde); font-size: 13px; }
.fin-aviso.ambar { background: var(--ambar-fondo); border-color: transparent; color: var(--ambar); }
.fin-aviso.verde { background: var(--verde-fondo); border-color: transparent; color: var(--verde); }
.fin-recuadro { border: 1px solid var(--borde); border-radius: 8px; padding: 8px 10px; background: var(--fondo-suave); display: flex; flex-direction: column; gap: 6px; }
.fin-medios, .fin-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.fin-medio { border: 1px solid var(--borde-fuerte); background: var(--fondo); border-radius: 8px; padding: 5px 10px; font-size: 13px;
             display: flex; flex-direction: column; align-items: flex-start; line-height: 1.25; }
.fin-medio small { font-size: 11px; color: var(--texto-tenue); }
.fin-medio.elegido { border-color: var(--acento); background: var(--acento-fondo); color: var(--acento-texto); font-weight: 600; }
.fin-medio.elegido small { color: var(--acento-texto); }
.fin-monto { text-align: right; font-variant-numeric: tabular-nums; }
.fin-fila-monto { grid-template-columns: 1fr 130px; }
.fin-cargado { border: 1px solid var(--borde); border-radius: 8px; padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.fin-linea { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.fin-chico { font-size: 12.5px; align-self: flex-start; }
.fin-insumos { border: 1px dashed var(--borde-fuerte); border-radius: 8px; padding: 8px 10px; display: flex; flex-direction: column; gap: 8px; }
.fin-insumos 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; }
.fin-quitar { border: 0; background: transparent; color: var(--texto-tenue); font-size: 16px; line-height: 1; padding: 0 0 0 6px; }
.fin-quitar:hover { color: var(--rojo); }
.fin-agregar { display: grid; grid-template-columns: 1fr 120px; gap: 6px; }
.fin-agregar .fin-ancho { grid-column: 1 / -1; }
.fin-agregar .grupo { justify-content: flex-end; }
.fin-celda { width: 100%; min-width: 96px; padding: 5px 7px; border: 1px solid var(--borde-fuerte); border-radius: 7px; background: var(--fondo); font-size: 13px; }
.fin-celda.fin-falta { border-color: var(--rojo); outline: 2px solid var(--rojo-fondo); }
.fin-pct { width: 64px; min-width: 0; text-align: right; }
.fin-acciones { display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.fin-scroll { overflow-x: auto; }
.fin-sugerencias { display: flex; flex-direction: column; gap: 2px; }
.fin-sugerencia { border: 0; background: transparent; text-align: left; padding: 6px 8px; border-radius: 6px; }
.fin-sugerencia:hover { background: var(--fondo-hover); }
.fin-det summary { cursor: pointer; }
.fin-h3 { font-size: 13px; margin: 16px 0 6px; display: flex; justify-content: space-between; align-items: baseline; }
.fin-sesion { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--borde); padding-top: 8px; }
.fin-tildes { display: flex; flex-wrap: wrap; gap: 4px 14px; }
/* La ficha de la paciente está fuera de la Agenda: lo que el formulario de pago toma de ella, acá */
.fin-plan { border: 1px solid var(--borde); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 10px; }
.fin-plan-cab { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: flex-end; }
.fin-plan-cab b { font-variant-numeric: tabular-nums; }
.fin-barra-pago { display: block; height: 6px; width: 180px; max-width: 100%; border-radius: 999px; background: var(--gris-fondo); overflow: hidden; margin-top: 4px; }
.fin-barra-pago i { display: block; height: 100%; background: var(--verde); }
.fin-plan .grupo { display: flex; flex-wrap: wrap; gap: 6px; }
.fin-plan .btn.primario { background: var(--acento-lleno); border-color: var(--acento-lleno); color: #fff; }
.fin-plan .oculto { display: none !important; }
.fin-plan .fila { display: grid; grid-template-columns: 1fr 130px; gap: 8px; }
.fin-plan label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--texto-suave); }
.fin-plan input[type=text] { border: 1px solid var(--borde-fuerte); border-radius: 7px; padding: 6px 8px; background: var(--fondo); font: inherit; color: inherit; }
.fin-plan .enlace { border: 0; background: none; padding: 0; color: var(--acento-texto); font-weight: 500; cursor: pointer; align-self: flex-start; }
.fin-plan .error { color: var(--rojo); font-size: 13px; }
.fin-plan .campo { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--texto-suave); }
.fin-plan .pill { display: inline-flex; padding: 1px 8px; border-radius: 999px; font-size: 12px; background: var(--gris-fondo); color: var(--texto-suave); }
@media (max-width: 760px) {
  .fin-cel-no { display: none; }
  .fin-grande { font-size: 26px; }
  .fin-tabla th, .fin-tabla td { padding: 6px 6px; }
}
.fin-modal-texto { margin: 0 0 4px; color: var(--texto-suave); font-size: 14px; }
.seccion-agenda .btn.fin-cobrar-mas { width: 100%; padding: 10px; background: var(--acento-fondo); border-color: var(--acento); color: var(--acento-texto); font-weight: 600; }
.seccion-agenda .btn.fin-cobrar-mas:hover { filter: brightness(.97); background: var(--acento-fondo); }
.fin-tacho { border: 0; background: transparent; color: var(--texto-tenue); padding: 4px; border-radius: 6px; display: inline-grid; place-items: center; cursor: pointer; }
.fin-tacho:hover { color: var(--rojo); background: var(--rojo-fondo); }

/* ---------- Cobro en el cajón (boceto aprobado el 02/11): una tarjeta por servicio, filas desplegables y formulario propio ---------- */
:root { --fin-ocre: #ca8a04; }
:root[data-tema="oscuro"] { --fin-ocre: #eab308; }
.fin-unidad { border: 1px solid var(--borde); border-radius: 10px; overflow: hidden; }
.fin-res { padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.fin-res.ok { background: var(--verde-fondo); } .fin-res.debe { background: var(--ambar-fondo); }
.fin-res-plan { flex-direction: column; align-items: stretch; gap: 4px; }
.fin-res-arriba { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.fin-total { display: block; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.fin-res-der { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.fin-estado { font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.fin-res.ok .fin-estado { color: var(--verde); } .fin-res.debe .fin-estado { color: var(--ambar); }
.fin-barra-plan { display: block; height: 6px; border-radius: 999px; background: var(--fondo); overflow: hidden; margin-top: 4px; }
.fin-barra-plan i { display: block; height: 100%; background: var(--verde); }
.fin-costos { padding: 2px 14px; background: var(--fondo); border-top: 1px solid var(--borde); }
.fin-costos.suelta { border: 1px solid var(--borde); border-radius: 10px; }
.fin-c-fila { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 9px 0; font-size: 13.5px; width: 100%; }
.fin-c-fila + .fin-c-fila, .fin-c-det + .fin-c-fila { border-top: 1px solid var(--borde); }
.fin-c-boton { border: 0; background: transparent; text-align: left; color: inherit; }
.fin-c-fila > span:first-child { color: var(--texto); }
.fin-rojo .fin-num, .fin-rojo .fin-pct { color: var(--rojo); }
.fin-verde .fin-num, .fin-verde .fin-pct { color: var(--verde); }
.fin-ocre .fin-num, .fin-ocre .fin-pct { color: var(--fin-ocre); }
.fin-c-total { font-weight: 700; }
.fin-pct { font-weight: 400; font-size: 12.5px; margin-left: 4px; }
.fin-ver { color: var(--acento-texto); font-size: 12.5px; margin-left: 4px; font-weight: 400; }
.fin-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin-c-det { padding: 0 0 10px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.fin-c-det table { width: 100%; border-collapse: collapse; }
.fin-c-det td { padding: 3px 0; } .fin-c-det td.d { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin-gasto { color: var(--rojo); }
.fin-col-tacho { width: 28px; }
.fin-grupo-tit { font-weight: 600; padding-top: 8px !important; }
.fin-sangria { padding-left: 12px !important; }
.fin-agregar-ins { width: 100%; border: 1px dashed var(--borde-fuerte); background: transparent; border-radius: 8px; padding: 8px;
                   color: var(--acento-texto); font-weight: 500; font-size: 13px; }
.fin-agregar-ins:hover { background: var(--acento-fondo); border-color: var(--acento); }
.fin-lista { border: 1px solid var(--borde); border-radius: 10px; overflow: hidden; }
.fin-fila-cobro { width: 100%; border: 0; background: var(--fondo); display: grid; grid-template-columns: 1fr auto auto 12px; gap: 10px;
                  align-items: center; padding: 11px 12px; text-align: left; color: inherit; }
.fin-fila-cobro + .fin-fila-cobro, .fin-det-cobro + .fin-fila-cobro { border-top: 1px solid var(--borde); }
.fin-fila-cobro:hover { background: var(--fondo-hover); }
.fin-con { font-weight: 600; }
.fin-flecha { color: var(--texto-tenue); transition: transform .15s; }
.fin-fila-cobro[aria-expanded="true"] .fin-flecha { transform: rotate(90deg); }
.fin-pill { display: inline-flex; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.fin-pill.ok { background: var(--verde-fondo); color: var(--verde); } .fin-pill.debe { background: var(--ambar-fondo); color: var(--ambar); }
.fin-det-cobro { background: var(--fondo-suave); padding: 8px 12px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 13px;
                 border-top: 1px solid var(--borde); }
.fin-pago { display: grid; grid-template-columns: 1fr auto 28px; gap: 8px; align-items: center; }
.fin-pago > span:first-child { display: flex; flex-direction: column; }
.fin-pago small { color: var(--texto-tenue); font-size: 12px; }
.fin-pie { display: flex; justify-content: space-between; align-items: center; border-top: 1px dashed var(--borde); padding-top: 8px; margin-top: 2px; }
.fin-quieto { border: 0; background: none; padding: 0; color: var(--texto-tenue); font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
.fin-quieto:hover { color: var(--rojo); }
.fin-centro { align-self: center; }
.fin-txt-debe { color: var(--ambar); font-weight: 600; } .fin-txt-ok { color: var(--verde); font-weight: 600; display: inline-flex; gap: 6px; align-items: center; }
.fin-txt-rojo { color: var(--rojo); font-weight: 600; }
.seccion-agenda .btn.fin-cobrar-mas { margin-top: 0; }
/* formulario */
.fin-nuevo { border: 1px solid var(--borde-fuerte); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: var(--fondo); }
.fin-nuevo-tit { display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 15px; }
.fin-x { border: 0; background: transparent; font-size: 20px; line-height: 1; color: var(--texto-tenue); padding: 0 4px; }
.fin-x:hover { color: var(--texto); }
.fin-opc { color: var(--texto-tenue); font-size: 12px; }
.fin-monto-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: end; }
.fin-monto-fila .enlace { padding-bottom: 10px; }
.fin-campo-tit { font-size: 13px; color: var(--texto-suave); margin-bottom: -4px; }
.fin-partes { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--borde-fuerte); border-radius: 8px; overflow: hidden; }
.fin-partes button { border: 0; background: var(--fondo); padding: 9px 6px; font-weight: 500; }
.fin-partes button + button { border-left: 1px solid var(--borde-fuerte); }
.fin-partes .on { background: var(--acento-fondo); color: var(--acento-texto); font-weight: 600; }
.fin-medios3 { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: 6px; }
.fin-medios3 button { border: 1px solid var(--borde-fuerte); background: var(--fondo); border-radius: 8px; min-height: 44px; padding: 6px 4px; font-size: 13px;
                      display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.2; }
.fin-medios3 small { font-size: 11px; color: var(--texto-tenue); }
.fin-medios3 .on { border-color: var(--acento); background: var(--acento-fondo); color: var(--acento-texto); font-weight: 600; }
.fin-medios3 .on small { color: var(--acento-texto); }
.fin-queda { padding: 8px 10px; border-radius: 8px; background: var(--fondo-suave); font-size: 13.5px; }
#t-cobro > div:empty { display: none; }
.seccion-agenda .btn.fin-guardar, .fin-plan .btn.fin-guardar { width: 100%; padding: 10px; }
/* desplegable propio */
.fin-desp { position: relative; display: block; }
.fin-desp-boton { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 8px; border: 1px solid var(--borde-fuerte);
                  border-radius: 8px; padding: 8px 10px; background: var(--fondo); font-size: 14px; color: var(--texto); text-align: left; }
.fin-desp-boton:hover { border-color: var(--texto-tenue); }
.fin-desp.abierto .fin-desp-boton { border-color: var(--acento); box-shadow: 0 0 0 3px var(--acento-fondo); }
.fin-desp-boton svg { color: var(--texto-tenue); transition: transform .15s; flex: none; }
.fin-desp.abierto .fin-desp-boton svg { transform: rotate(180deg); }
.fin-desp-vacio { color: var(--texto-tenue); }
.fin-desp-lista { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; margin: 0; padding: 4px; list-style: none; background: var(--fondo);
                  border: 1px solid var(--borde); border-radius: 10px; box-shadow: var(--sombra); max-height: 260px; overflow: auto; }
.fin-desp-lista li { display: grid; grid-template-columns: 1fr auto 16px; gap: 8px; align-items: center; padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 14px; color: var(--texto); }
.fin-desp-lista li:hover { background: var(--fondo-hover); }
.fin-desp-lista li small { color: var(--texto-tenue); font-size: 12.5px; }
.fin-desp-lista li.elegida { color: var(--acento-texto); font-weight: 600; }
.fin-desp-lista li.no { opacity: .5; cursor: default; } .fin-desp-lista li.no:hover { background: transparent; }
.fin-agregar .fin-ancho { grid-column: 1 / -1; }
.seccion-agenda .fin-monto-fila .enlace { align-self: end; justify-self: start; padding-bottom: 10px; }
#t-cobro [data-pago] .fin-nuevo, #t-cobro [data-cuota-form] .fin-nuevo { margin-top: 10px; }
#t-cobro [data-plan] { display: flex; flex-direction: column; gap: 10px; }
.fin-agregar-ins-form { display: flex; flex-direction: column; gap: 8px; }
.fin-agregar-fila { display: flex; gap: 8px; align-items: center; }
.fin-agregar-fila input { flex: 1; min-width: 0; }
.fin-agregar-fila .btn { flex: none; }
.fin-pie-borrar { border-top: 1px dashed var(--borde); padding-top: 8px; margin-top: 2px; }
.seccion-agenda .btn.btn-chico-fin { padding: 4px 10px; font-size: 13px; }
.fin-medio-fila { display: grid; grid-template-columns: 1fr 130px 28px; gap: 8px; align-items: center; }
.seccion-agenda .btn.peligro.fin-guardar { border-color: var(--rojo); font-weight: 600; }
.fin-pill.regalo { background: var(--gris-fondo); color: var(--texto-suave); }
.fin-desp-caja { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; background: var(--fondo); border: 1px solid var(--borde);
                 border-radius: 10px; box-shadow: var(--sombra); overflow: hidden; }
.fin-desp-caja .fin-desp-lista { position: static; border: 0; box-shadow: none; border-radius: 0; }
.seccion-agenda input.fin-desp-buscar[type=text] { display: block; width: calc(100% - 8px); margin: 4px; border: 1px solid var(--borde-fuerte); border-radius: 7px; padding: 7px 9px; background: var(--fondo-suave); font-size: 14px; }
/* La caja recorta lo que sobresale: el foco va en el borde, no en un contorno por fuera. */
.seccion-agenda input.fin-desp-buscar[type=text]:focus-visible { outline: 0; border-color: var(--acento); }
.fin-desp-lista li.marcada { background: var(--fondo-hover); }
.fin-desp-nada { color: var(--texto-tenue); font-size: 13px; }

/* El día de todos: una columna por profesional sobre un eje de horas común. --eq-media llega desde agenda.js. */
.seccion-agenda .eq-dia { display: grid; grid-template-columns: 52px repeat(var(--eq-cols), minmax(148px, 1fr)); width: max(100%, calc(54px + var(--eq-cols) * 148px));
  background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; }
.seccion-agenda .eq-esquina, .seccion-agenda .eq-cabeza { position: sticky; top: -16px; z-index: 3; background: var(--fondo); border: 0; border-bottom: 1px solid var(--borde); }
.seccion-agenda .eq-esquina { left: 0; z-index: 4; border-radius: 10px 0 0 0; }
.seccion-agenda .eq-cabeza { display: flex; flex-direction: column; gap: 1px; min-width: 0; padding: 10px 12px; text-align: left; cursor: pointer; border-left: 1px solid var(--borde); }
.seccion-agenda .eq-cabeza:hover { background: var(--fondo-hover); }
.seccion-agenda .eq-cabeza b { font-weight: 600; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.seccion-agenda .eq-cabeza small { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .eq-horas { position: sticky; left: 0; z-index: 2; height: calc(var(--eq-alto) + 26px); background: var(--fondo); border-radius: 0 0 0 10px; }
.seccion-agenda .eq-hora { position: absolute; right: 8px; margin-top: 2px; font-size: 12px; color: var(--texto-tenue); font-variant-numeric: tabular-nums; }
.seccion-agenda .eq-col { position: relative; height: calc(var(--eq-alto) + 26px); border-left: 1px solid var(--borde);
  background: repeating-linear-gradient(135deg, var(--fondo), var(--fondo) 7px, var(--borde) 7px, var(--borde) 8px); }
.seccion-agenda .eq-franja { position: absolute; inset-inline: 0; background: linear-gradient(var(--borde) 1px, transparent 1px) 0 0 / 100% calc(var(--eq-media) * 2) var(--fondo); }
.seccion-agenda .eq-libre { position: absolute; inset-inline: 3px; height: calc(var(--eq-media) - 4px); margin-top: 2px; padding: 0 8px; display: flex; align-items: center;
  justify-content: space-between; background: color-mix(in srgb, var(--acento-fondo) 45%, transparent); border: 0; border-radius: 6px; cursor: pointer; }
.seccion-agenda .eq-libre span { opacity: 0; font-size: 12px; color: var(--acento-texto); font-variant-numeric: tabular-nums; }
.seccion-agenda .eq-libre:hover, .seccion-agenda .eq-libre:focus-visible { background: var(--acento-fondo); }
.seccion-agenda .eq-libre:hover span, .seccion-agenda .eq-libre:focus-visible span { opacity: 1; }
.seccion-agenda .eq-turno { z-index: 2; position: absolute; inset-inline: 3px; margin-top: 2px; padding: 0 8px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; min-width: 0;
  background: var(--fondo); border: 1px solid var(--borde-fuerte); border-radius: 6px; font-size: 13px; font-weight: 500; text-align: left; cursor: pointer; box-sizing: border-box; }
.seccion-agenda .eq-turno:hover { border-color: var(--borde-fuerte); }
.seccion-agenda .eq-turno > span:first-child { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.seccion-agenda .estado-icono { display: inline-block; flex: none; width: 14px; height: 14px; margin-right: 7px; vertical-align: -2px; }
.seccion-agenda .cfg-estado { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.seccion-agenda .eq-turno .pill { font-size: 11.5px; line-height: 15px; padding: 0 6px; }
.seccion-agenda .eq-bloqueo { justify-content: flex-start; padding-top: 8px; color: var(--texto-suave); background: repeating-linear-gradient(135deg, var(--fondo-suave), var(--fondo-suave) 6px, var(--fondo-hover) 6px, var(--fondo-hover) 12px); }
.seccion-agenda .eq-turno.eq-paso { color: var(--texto-suave); font-weight: 400; }
.seccion-agenda .eq-ahora { position: absolute; inset-inline: 0; height: 1px; background: var(--texto); z-index: 1; pointer-events: none; }
.seccion-agenda .eq-elegir { display: flex; flex-direction: column; gap: 4px; }
.seccion-agenda .eq-opcion { display: flex; flex-direction: column; gap: 1px; padding: 9px 12px; text-align: left; background: transparent; border: 1px solid var(--borde); border-radius: 8px; cursor: pointer; }
.seccion-agenda .eq-opcion:hover { background: var(--fondo-hover); border-color: var(--borde-fuerte); }
.seccion-agenda .eq-opcion b { font-weight: 600; }
.seccion-agenda .eq-opcion small { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .eq-accion:hover:not(:disabled) { background: var(--fondo-hover); border-color: var(--borde-fuerte); }
.seccion-agenda .eq-accion b { font-weight: 600; color: var(--acento-texto); font-variant-numeric: tabular-nums; }
.seccion-agenda .eq-hora.eq-media { font-size: 11px; margin-top: 3px; color: var(--texto-tenue); }
.seccion-agenda .eq-hora-ahora { position: absolute; right: 4px; z-index: 1; margin-top: -9px; padding: 1px 4px; font-size: 11px; font-weight: 600; line-height: 16px; color: var(--fondo); background: var(--texto); border-radius: 4px; font-variant-numeric: tabular-nums; }
.seccion-agenda .eq-selector { position: relative; }
.seccion-agenda #elige-prof { display: inline-flex; align-items: center; gap: 6px; max-width: 280px; }
.seccion-agenda .eq-sel-rotulo { color: var(--texto-suave); font-weight: 400; }
.seccion-agenda #elige-prof-nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seccion-agenda .eq-menu { position: absolute; top: calc(100% + 4px); left: 0; z-index: 20; display: flex; flex-direction: column; gap: 2px; width: 260px; max-height: 420px; overflow: auto; padding: 4px;
  background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; box-shadow: 0 8px 24px rgb(0 0 0 / .14); }
.seccion-agenda .eq-menu .eq-opcion { border-color: transparent; padding: 7px 10px; }
.seccion-agenda .eq-opcion.activa { background: var(--acento-fondo); }
.seccion-agenda .ficha-con { font-weight: 600; margin-bottom: 2px; }
.seccion-agenda .ficha-acciones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.seccion-agenda .ficha-cancelar { color: var(--rojo); }
.seccion-agenda .ficha-recordar { width: 100%; margin-top: 8px; }
.seccion-agenda .asist-grupo { border-bottom: 1px solid var(--borde); padding: 10px 0; }
.seccion-agenda .asist-grupo summary { display: flex; justify-content: space-between; gap: 10px; cursor: pointer; list-style: none; }
.seccion-agenda .asist-grupo summary::-webkit-details-marker { display: none; }
.seccion-agenda .asist-grupo summary b { font-weight: 600; }
.seccion-agenda .asist-grupo summary span { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .asist-grupo .asist { margin-top: 10px; }
.seccion-agenda .ficha-resumen { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: var(--fondo-suave); border-radius: 10px; }
.seccion-agenda .ficha-resumen b { font-size: 15px; font-weight: 600; }
.seccion-agenda .ficha-resumen span { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .eq-desp { position: relative; display: block; }
.seccion-agenda .eq-desp-boton { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 8px 10px; text-align: left; background: var(--fondo); border: 1px solid var(--borde); border-radius: 8px; cursor: pointer; }
.seccion-agenda .eq-desp-lista { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 20; display: flex; flex-direction: column; gap: 2px; max-height: 240px; overflow: auto; padding: 4px;
  background: var(--fondo); border: 1px solid var(--borde); border-radius: 8px; box-shadow: 0 8px 24px rgb(0 0 0 / .14); }
.seccion-agenda .eq-desp-lista button { font-weight: 600; padding: 7px 10px; text-align: left; background: transparent; border: 0; border-radius: 6px; cursor: pointer; }
.seccion-agenda .eq-desp-lista button:hover { background: var(--fondo-hover); }
.seccion-agenda .eq-libres-grupo { display: flex; flex-direction: column; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--borde); }
.seccion-agenda .eq-libres-quien { display: flex; flex-direction: column; gap: 1px; }
.seccion-agenda .eq-libres-quien b { font-weight: 600; }
.seccion-agenda .eq-libres-quien small { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .eq-libres-horas { display: flex; flex-wrap: wrap; gap: 6px; }
.seccion-agenda #eq-marcar b { color: var(--estado-vencido); }
.seccion-agenda .eq-tarjeta { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 16px 16px 0; padding: 10px 14px; background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; }
.seccion-agenda .eq-tarjeta h2 { margin: 0 4px; font-size: 17px; font-weight: 600; white-space: nowrap; }
.seccion-agenda #eq-hoy { margin: 0 6px 0 8px; }
.seccion-agenda #eq-hoy.activo { background: var(--acento-fondo); border-color: var(--acento); color: var(--acento-texto); font-weight: 600; }
.seccion-agenda .eq-pie { border-top: 1px solid var(--borde-fuerte); box-shadow: 0 -8px 16px -12px rgb(15 23 42 / .25); position: sticky; left: 0; bottom: -16px; z-index: 5; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 -16px -16px; padding: 12px 16px; background: var(--fondo-suave); }
.seccion-agenda .contenido:has(.eq-pie) { display: flex; flex-direction: column; gap: 12px; }
.seccion-agenda .contenido:has(.eq-pie) > * { flex: none; }
.seccion-agenda .eq-accion { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; font-size: 14px; font-weight: 500; background: var(--fondo); border: 1px solid var(--borde-fuerte); border-radius: 10px; cursor: pointer; }
.seccion-agenda .eq-nuevo-ancho { grid-column: span 2; padding: 13px; font-size: 14px; font-weight: 600; color: #fff; background: var(--acento-lleno); border: 0; border-radius: 10px; cursor: pointer; }
@media (max-width: 760px) { .seccion-agenda .eq-pie { grid-template-columns: repeat(2, 1fr); } }
.seccion-agenda .eq-leyenda { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; margin-left: auto; font-size: 12.5px; color: var(--texto-suave); }
.seccion-agenda .eq-capsula { position: absolute; inset-inline: 4px; z-index: 2; margin-top: 3px; }
.seccion-agenda .eq-capsula .celda, .seccion-agenda .eq-capsula .envoltura { height: 100%; }
.seccion-agenda .eq-leyenda span { display: inline-flex; align-items: center; }
.seccion-agenda .eq-leyenda .estado-icono { margin-right: 5px; }
/* La tarjeta se mantiene en una fila: primero se acorta el nombre. Si no alcanza, la referencia baja entera, a la izquierda. */
.seccion-agenda .eq-tarjeta { flex-wrap: nowrap; }
.seccion-agenda .eq-tarjeta > * { flex: none; }
.seccion-agenda #vista-equipo { flex: 0 1 auto; min-width: 0; flex-wrap: nowrap; }
.seccion-agenda #vista-equipo .segmentos { flex: none; }
.seccion-agenda .eq-selector { flex: 0 1 auto; min-width: 120px; }
.seccion-agenda #elige-prof { max-width: 100%; }
.seccion-agenda .eq-leyenda { flex-wrap: nowrap; white-space: nowrap; }
@media (max-width: 1250px) {
  .seccion-agenda .eq-tarjeta { flex-wrap: wrap; }
  .seccion-agenda .eq-leyenda { order: 1; flex-basis: 100%; margin-left: 0; padding: 2px 4px 0; flex-wrap: wrap; }
}
/* Con varios profesionales, ✓ y ✗ van en la segunda línea: el nombre conserva todo el ancho. */
.seccion-agenda .eq-marca-abajo > .celda { padding-right: 8px; }
.seccion-agenda .eq-marca-abajo .detalle { padding-right: 56px; }
.seccion-agenda .eq-marca-abajo .marcar { top: auto; bottom: 5px; right: 6px; }
.seccion-agenda .eq-marca-abajo .marcar button { width: 25px; height: 23px; }

/* Ventas */
.seccion-agenda .v { container-type: inline-size; max-width: 1120px; margin: 0 auto; }
.seccion-agenda .v-pila { display: grid; gap: 12px; }
.seccion-agenda .v-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.seccion-agenda .v-pestanas { display: flex; gap: 3px; background: var(--fondo-suave); border: 1px solid var(--borde); border-radius: 10px; padding: 3px; }
.seccion-agenda .v-pestanas button { border: 0; background: none; border-radius: 8px; padding: 7px 14px; font-size: 14px; font-weight: 600; color: var(--texto-suave); cursor: pointer; }
.seccion-agenda .v-pestanas button[aria-selected="true"] { background: var(--fondo); color: var(--texto); box-shadow: var(--sombra); }
.seccion-agenda .v-nota { font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .v-registrar { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; border: 0; border-radius: 10px; background: var(--acento-lleno); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.seccion-agenda .v-registrar:hover { filter: brightness(.95); }
.seccion-agenda .v-caja { background: var(--fondo); border: 1px solid var(--borde); border-radius: 10px; padding: 16px; min-width: 0; }
.seccion-agenda .v-caja h3 { font-size: 13px; font-weight: 600; margin: 0 0 12px; color: var(--texto); }
.seccion-agenda .v-caja h3 span { font-weight: 400; color: var(--texto-suave); margin-left: 4px; }
.seccion-agenda .v-principal h3 { font-size: 15px; margin-bottom: 6px; }
.seccion-agenda .v-entrega { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) 104px 72px 148px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--borde); font-size: 14px; }
.seccion-agenda .v-entrega:first-of-type { border-top: 0; }
.seccion-agenda .v-nombre { border: 0; background: none; padding: 0; text-align: left; font-size: 14px; font-weight: 600; cursor: pointer; min-width: 0; color: inherit; }
.seccion-agenda .v-nombre:hover { text-decoration: underline; text-underline-offset: 2px; }
.seccion-agenda .v-producto { color: var(--texto-suave); min-width: 0; }
.seccion-agenda .v-plata { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.seccion-agenda .v-cuando { color: var(--texto-suave); font-size: 13px; white-space: nowrap; }
.seccion-agenda .btn.v-borde { border-color: var(--acento-lleno); color: var(--acento-texto); width: 100%; background: var(--fondo); font-weight: 600; }
.seccion-agenda .btn.v-borde:hover { background: var(--acento-fondo); }
.seccion-agenda .v-dos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.seccion-agenda .v-linea { display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; gap: 8px; align-items: center; width: 100%; border: 0; border-top: 1px solid var(--borde); background: none; padding: 9px 0; text-align: left; cursor: pointer; font-size: 14px; color: inherit; }
.seccion-agenda .v-linea:first-of-type { border-top: 0; }
.seccion-agenda .v-linea:hover b { text-decoration: underline; text-underline-offset: 2px; }
.seccion-agenda .v-linea b { font-weight: 500; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seccion-agenda .v-linea small { display: block; font-size: 12px; font-weight: 400; color: var(--texto-suave); }
.seccion-agenda .v-linea span { font-size: 13px; color: var(--texto-suave); white-space: nowrap; font-variant-numeric: tabular-nums; }
.seccion-agenda .v-linea span.pronto { color: var(--ambar); font-weight: 600; }
.seccion-agenda .v-linea svg { color: var(--texto-tenue); }
.seccion-agenda .v-vacio { font-size: 13px; color: var(--texto-suave); margin: 0; padding: 6px 0; }
.seccion-agenda .v-mas { margin-top: 10px; }
.seccion-agenda .v-mes { display: flex; align-items: center; gap: 4px; }
.seccion-agenda .v-mes b { font-size: 16px; font-weight: 600; min-width: 136px; text-align: center; }
.seccion-agenda .v-flecha { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--borde); border-radius: 8px; background: var(--fondo); color: var(--texto-suave); cursor: pointer; }
.seccion-agenda .v-flecha:hover:not(:disabled) { background: var(--fondo-hover); color: var(--texto); }
.seccion-agenda .v-flecha:disabled { color: var(--borde-fuerte); cursor: default; }
.seccion-agenda .v-resumen { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; }
.seccion-agenda .v-rotulo { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .v-monto { font-size: 34px; line-height: 1.15; font-weight: 650; letter-spacing: -.02em; font-variant-numeric: tabular-nums; margin: 2px 0 4px; white-space: nowrap; }
.seccion-agenda .v-cambio { font-size: 13px; color: var(--texto-suave); margin-top: 6px; }
.seccion-agenda .v-cambio.sube { color: var(--verde); font-weight: 600; }
.seccion-agenda .v-cambio.baja { color: var(--rojo); font-weight: 600; }
.seccion-agenda .v-datos { margin: 14px 0 0; padding: 0; border-top: 1px solid var(--borde); }
.seccion-agenda .v-datos div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 12px; padding: 8px 0; border-bottom: 1px solid var(--borde); }
.seccion-agenda .v-datos div:last-child { border-bottom: 0; padding-bottom: 0; }
.seccion-agenda .v-datos dt { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .v-datos dd { margin: 0; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.seccion-agenda .v-grafico { display: flex; flex-direction: column; min-width: 0; }
.seccion-agenda .v-columnas { flex: 1; min-height: 200px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.seccion-agenda .v-col { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; border-radius: 8px; min-width: 0; }
.seccion-agenda .v-col.elegido { background: var(--acento-fondo); }
.seccion-agenda .v-pilar { align-self: center; width: min(44px, 70%); }
.seccion-agenda .v-pilar i { display: block; min-height: 2px; background: var(--acento); border-radius: 4px 4px 0 0; }
.seccion-agenda .v-col.curso .v-pilar i { background-image: repeating-linear-gradient(135deg, transparent 0 4px, var(--fondo) 4px 6px); }
.seccion-agenda .v-etq { font-size: 12px; color: var(--texto-suave); text-align: center; line-height: 1.25; min-height: 30px; }
.seccion-agenda .v-col.elegido .v-etq { color: var(--texto); font-weight: 600; }
.seccion-agenda .v-etq small { display: block; font-size: 11px; font-weight: 400; }
.seccion-agenda .v-rank { display: flex; flex-direction: column; gap: 12px; }
.seccion-agenda .v-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: baseline; }
.seccion-agenda .v-item span { font-size: 13px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seccion-agenda .v-item b { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.seccion-agenda .v-barra { grid-column: 1 / -1; height: 8px; border-radius: 0 4px 4px 0; background: var(--acento); min-width: 2px; }
.seccion-agenda .v-cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.seccion-agenda .v-cifras dt { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .v-cifras dd { margin: 2px 0 0; font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.seccion-agenda .v-pie { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--borde); font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .v-pie b { color: var(--texto); font-weight: 600; font-variant-numeric: tabular-nums; }
.seccion-agenda .v-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.seccion-agenda .v-tabla th { font-size: 12px; font-weight: 500; color: var(--texto-suave); text-align: left; padding: 6px 8px 6px 0; border-bottom: 1px solid var(--borde); }
.seccion-agenda .v-tabla td { padding: 8px 8px 8px 0; border-bottom: 1px solid var(--borde); font-variant-numeric: tabular-nums; }
.seccion-agenda .v-tabla tr:last-child td { border-bottom: 0; }
.seccion-agenda .v-tabla .v-der { text-align: right; padding-right: 0; white-space: nowrap; }
.seccion-agenda .v-etiqueta { font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .v-globo { align-self: flex-end; max-width: 92%; background: var(--bot-fondo); border-radius: 10px 10px 2px 10px; padding: 9px 12px; font-size: 14px; line-height: 1.45; }
.seccion-agenda .v-marcas { display: flex; flex-direction: column; }
.seccion-agenda .v-marca-fila { padding: 8px 0; border-bottom: 1px solid var(--borde); display: grid; gap: 6px; }
.seccion-agenda .v-marca { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; border: 0; background: none; padding: 2px 0; text-align: left; cursor: pointer; font-size: 14px; color: inherit; }
.seccion-agenda .v-marca i { width: 20px; height: 20px; display: grid; place-items: center; border: 1.5px solid var(--borde-fuerte); border-radius: 5px; color: #fff; }
.seccion-agenda .v-marca[aria-checked="true"] i { background: var(--acento-lleno); border-color: var(--acento-lleno); }
.seccion-agenda .v-marca[aria-checked="false"] span, .v-marca[aria-checked="false"] b { color: var(--texto-suave); }
.seccion-agenda .v-marca b { font-weight: 600; font-variant-numeric: tabular-nums; }
.seccion-agenda .v-total { display: flex; justify-content: space-between; font-size: 15px; }
.seccion-agenda .v-total b { font-weight: 650; font-variant-numeric: tabular-nums; }
.seccion-agenda .v-form { display: flex; flex-direction: column; min-height: 100%; gap: 14px; }
.seccion-agenda .v-form > .pila { flex: 1; display: grid; gap: 14px; align-content: start; }
.seccion-agenda .v-grupo-venta + .v-grupo-venta { padding-top: 14px; border-top: 2px solid var(--borde); }
.seccion-agenda .v-grupo-venta { display: grid; gap: 4px; }
.seccion-agenda .v-linea-venta { display: grid; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--borde); }
.seccion-agenda .v-lv-cab { display: flex; align-items: center; gap: 8px; }
.seccion-agenda .v-lv-cab > div { flex: 1; min-width: 0; }
.seccion-agenda .v-lv-cab b:first-child { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; color: var(--texto); }
.seccion-agenda .v-quitar { flex: none; width: 28px; height: 28px; display: grid; place-items: center; border: 0; background: none; border-radius: 8px; color: var(--texto-suave); cursor: pointer; }
.seccion-agenda .v-quitar:hover { background: var(--fondo-hover); }
.seccion-agenda .v-lv-pie { display: flex; gap: 20px; flex-wrap: wrap; }
.seccion-agenda .v-paso { display: grid; gap: 4px; font-size: 12px; color: var(--texto-suave); }
.seccion-agenda .v-agregar { margin-top: 8px; }
.seccion-agenda .v-agregar .fin-desp-boton { border: 0; background: none; padding: 6px 0; color: var(--acento-texto); font-weight: 600; justify-content: flex-start; box-shadow: none; }
.seccion-agenda .v-agregar .fin-desp-boton .fin-desp-vacio { color: inherit; }
.seccion-agenda .v-agregar .fin-desp-boton svg { display: none; }
.seccion-agenda .v-texto { border: 0; background: none; padding: 6px 0; color: var(--acento-texto); font-weight: 600; font-size: 14px; cursor: pointer; }
.seccion-agenda .v-texto:disabled { color: var(--texto-tenue); cursor: default; }
.seccion-agenda .v-texto.v-centro { justify-self: center; color: var(--texto-suave); font-weight: 500; font-size: 13px; }
.seccion-agenda .v-quien { display: flex; align-items: center; gap: 12px; }
.seccion-agenda .v-quien .ficha-resumen { flex: 1; min-width: 0; }
.seccion-agenda .v-pie-fijo { position: sticky; bottom: 0; display: grid; gap: 8px; padding: 12px 0 4px; background: var(--fondo); border-top: 1px solid var(--borde); }
.seccion-agenda .v-pie-fijo .btn { width: 100%; }
.seccion-agenda .v-dosis { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--texto-suave); }
.seccion-agenda .v-dosis b { min-width: 16px; text-align: center; color: var(--texto); font-size: 15px; font-variant-numeric: tabular-nums; }
@container (max-width: 680px) {
  .seccion-agenda .v-resumen, .seccion-agenda .v-dos { grid-template-columns: minmax(0, 1fr); }
  .seccion-agenda .v-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seccion-agenda .v-monto { font-size: 30px; }
  .seccion-agenda .v-columnas { min-height: 170px; }
  .seccion-agenda .v-tabla .solo-ancho { display: none; }
  .seccion-agenda .v-entrega { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; }
  .seccion-agenda .v-entrega .v-producto { grid-row: 2; grid-column: 1; }
  .seccion-agenda .v-entrega .v-cuando { grid-row: 2; grid-column: 2; text-align: right; }
  .seccion-agenda .v-entrega .btn { grid-column: 1 / -1; margin-top: 8px; padding: 8px 10px; }
}
