/* Leave room inside the horizontal scroller for tab shadows and focus rings. */
/* Standard expressive easing lets the header settle just outside the viewport. */
.topbar { transition: transform .35s cubic-bezier(.4, .14, .3, 1); }
.topbar-hidden .topbar { transform: translateY(calc(-100% - 4px)); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .topbar { transition: none; } }
.day-dock .day-tabs { padding: 8px 4px 10px; margin: -4px -4px 0; overflow-x: auto; overflow-y: hidden; }
.day-dock .day-tab { flex-shrink: 0; }
.day-dock .day-tab:focus-visible { outline-offset: -3px; }
.dock-time-toggle { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; padding: 8px 12px; border: 0; border-top: 1px solid #d9dfd4; border-radius: 0 0 14px 14px; background: transparent; color: var(--muted); font-size: .8125rem; }
.dock-time-toggle:hover, .dock-time-toggle[aria-expanded=true] { color: var(--red); background: #ffffff60; }
.dock-time-toggle:disabled { opacity: .5; cursor: wait; }
.dock-time-toggle svg { fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform .35s cubic-bezier(.4, .14, .3, 1); }
.dock-time-toggle[aria-expanded=true] svg { transform: rotate(180deg); }
.dock-time-panel[hidden] { display: none; }
.dock-time-panel { max-height: min(32dvh, 250px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; border-top: 1px solid #d9dfd4; padding: 12px 4px 5px; }
.dock-time-panel h2 { margin: 0 8px 8px; font: 500 .75rem/1.6 var(--sans); color: var(--muted); }
.dock-time-stop { display: grid; grid-template-columns: minmax(105px, .8fr) minmax(0, 1.6fr); gap: 10px; width: 100%; text-align: left; min-height: 48px; padding: 10px 8px; border: 0; border-radius: 8px; background: transparent; line-height: 1.5; }
.dock-time-stop + .dock-time-stop { border-top: 1px solid #d9dfd470; }
.dock-time-stop:hover, .dock-time-stop:focus-visible { background: #fff9; }
.dock-stop-time { color: var(--red); font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dock-stop-name { color: var(--ink); font-size: .8125rem; overflow-wrap: anywhere; }
.dock-time-stop:focus-visible, .dock-time-toggle:focus-visible { outline-offset: -3px; }
.dock-empty { padding: 8px; margin: 0; font-size: .875rem; color: var(--muted); }
footer { padding-bottom: calc(220px + env(safe-area-inset-bottom)); }
@media (prefers-reduced-motion: reduce) { .dock-time-toggle svg { transition: none; } }
