#pickups-screen { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
.pickup-card { min-width: 0; border: 1px solid var(--line, #d8e0dd); border-radius: 18px; background: #fff; overflow: hidden; padding: 14px; }
.pickup-heading h2 { font-size: 1.1rem; margin: 6px 0; overflow-wrap: anywhere; }
.pickup-heading p, .pickup-address, .pickup-note { margin: 7px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.pickup-destination { display: inline-block; padding: 4px 10px; border-radius: 18px; background: #ecf3ef; color: #355d4c; font-size: .82rem; font-weight: 650; }
.pickup-phone { display: inline-block; padding-block: 10px; overflow-wrap: anywhere; color: #365e4b; }
.pickup-items { list-style: none; padding: 0; margin: 10px 0 0; }
.pickup-items li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border-top: 1px solid #dce5df; padding: 12px 0; }
.pickup-items li > div { flex: 1 1 180px; min-width: 0; overflow-wrap: anywhere; }
.pickup-items p { margin: 4px 0; }
.pickup-items small { display: block; color: #59695f; margin-top: 6px; }
.pickup-items button { min-height: 44px; }
.pickup-status { display: inline-block; margin-top: 4px; border-radius: 18px; padding: 4px 10px; background: #eef0ef; font-size: .83rem; }
.pickup-status-collected { color: #28503e; background: #e2f3e8; }
.pickup-status-partial, .pickup-status-unavailable, .pickup-warning { color: #793e25; background: #fcf0e8; }
.pickup-warning { padding: 10px; border-radius: 10px; }
#pickups-list, #pickups-tour-list { display: grid; gap: 12px; }
#pickups-tour { margin-bottom: 16px; }
#pickups-tour > summary { cursor: pointer; font-weight: 650; padding: 14px; min-height: 48px; }
#pickups-tour-list { padding-top: 8px; }
.pickup-filter { max-width: 240px; margin: 0 0 12px; }
.pickup-dialog { width: min(560px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; border-radius: 18px; padding: 16px; }
.pickup-dialog h2, #pickup-editor-context { overflow-wrap: anywhere; }
.pickup-dialog .dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; position: sticky; bottom: -16px; padding-block: 12px; background: #fff; }
.pickup-dialog .dialog-actions button { flex: 1 1 150px; min-height: 44px; }
.pickup-dialog label { min-width: 0; }
.pickup-dialog select, .pickup-dialog textarea { width: 100%; min-width: 0; }
@media (min-width: 760px) { #pickups-list, #pickups-tour-list { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); align-items: start; } }
@media (max-width: 360px) { .pickup-items button { width: 100%; } }
@media (prefers-reduced-motion: no-preference) { .pickup-card { transition: border-color 150ms ease; } }
