.agenda-vertical-scroll { max-height: 65vh; overflow: auto; border: 1px solid #e2e8f0; border-radius: 12px; isolation: isolate; }
.agenda-vertical-scroll:focus-visible, .agenda-vertical-reserva:focus-visible { outline: 3px solid #4f46e5; outline-offset: -3px; }
.agenda-vertical-grilla { display: grid; min-width: 100%; width: max-content; }
.agenda-vertical-cabecera { position: sticky; top: 0; z-index: 3; padding: 12px 6px; background: #eef2ff; color: #312e81; font-size: 12px; font-weight: 700; border-right: 1px solid #cbd5e1; text-align: center; }
.agenda-vertical-cabecera:first-child { left: 0; z-index: 4; }
.agenda-vertical-eje { position: sticky; left: 0; z-index: 2; background: #f8fafc; font: 11px monospace; color: #475569; }
.agenda-vertical-eje span { position: absolute; left: 5px; }
.agenda-vertical-columna { position: relative; border-left: 1px solid #e2e8f0; background: repeating-linear-gradient(to bottom, #fff 0, #fff 47px, #f1f5f9 47px, #f1f5f9 48px, #fff 48px, #fff 95px, #cbd5e1 95px, #cbd5e1 96px); }
.agenda-vertical-reserva { position: absolute; z-index: 1; border: 2px solid #fff; border-radius: 8px; background: #d1fae5; color: #065f46; padding: 4px; overflow: auto; font-size: 11px; font-weight: 600; text-align: left; overflow-wrap: anywhere; }
.agenda-vertical-reserva[data-estado="Cancelado"] { background: #fee2e2; color: #991b1b; }
.agenda-vertical-reserva[data-estado="Pendiente"], .agenda-vertical-reserva[data-estado="Bloqueado"] { background: #fef3c7; color: #92400e; }
.agenda-vertical-reserva[data-estado="Completado"] { background: #dbeafe; color: #1e40af; }
.agenda-vertical-detalle { display: grid; gap: 8px; }
@media (prefers-reduced-motion: reduce) { .agenda-vertical-scroll { scroll-behavior: auto; } }
