/* Mail-style rows. This versioned component does not depend on old global swipe CSS. */
.trip-swipe-row { --trip-action-size:76px; position:relative; min-width:0; width:100%; contain:inline-size; border-bottom:1px solid #e3e7df; background:var(--bm-paper,#fcfaf5); }
.trip-swipe-row.is-preparing { visibility:hidden; }
.trip-swipe-scroll { overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; touch-action:auto; direction:ltr; }
.trip-swipe-scroll::-webkit-scrollbar { display:none; }
.trip-swipe-track { display:flex; width:max-content; min-width:100%; align-items:stretch; }
.trip-swipe-front { position:relative; flex:0 0 var(--trip-row-width,100%); width:var(--trip-row-width,100%); background:var(--bm-paper,#fcfaf5); scroll-snap-align:start; scroll-snap-stop:always; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.trip-swipe-front .workspace-trip-card { width:100%; box-sizing:border-box; border:0; }
.trip-swipe-front img { -webkit-user-drag:none; }
.trip-swipe-row[data-reveal="delete"] .trip-swipe-front,.trip-swipe-row[data-reveal="more"] .trip-swipe-front { border-radius:14px; }
.trip-swipe-actions { display:flex; align-items:center; justify-content:center; flex:none; box-sizing:border-box; padding:8px 6px; background:var(--bm-paper,#fcfaf5); }
.trip-swipe-actions[hidden] { display:none; }
.trip-swipe-actions.is-start { width:88px; scroll-snap-align:start; scroll-snap-stop:normal; }
.trip-swipe-actions.is-end { position:relative; padding-top:18px; padding-bottom:0; width:calc(var(--trip-action-count,2) * 76px + 12px); scroll-snap-align:end; scroll-snap-stop:normal; }
.trip-swipe-actions button { display:flex; flex:0 0 76px; width:76px; min-height:76px; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin:0; padding:4px; border:0; background:transparent; color:#617078; font:500 12px/1.35 system-ui,sans-serif; cursor:pointer; touch-action:manipulation; }
.trip-swipe-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#277f89; color:white; }
.trip-swipe-icon svg { width:23px; height:23px; }
.trip-swipe-actions [data-trip-list-action="delete"] .trip-swipe-icon { background:#f33f49; }
.trip-swipe-actions [data-trip-list-action="star"] .trip-swipe-icon { background:#c18a20; }
.trip-swipe-actions [data-trip-list-action="private"] .trip-swipe-icon { background:#707d86; }
.trip-swipe-actions [aria-pressed="true"] .trip-swipe-icon svg { fill:currentColor; }
.trip-swipe-actions button:disabled { opacity:.45; cursor:default; }
.trip-swipe-row .workspace-trip-star { color:#947024; }
.trip-swipe-row button:focus-visible { outline:2px solid #1c6370; outline-offset:-2px; }
.trip-swipe-row.is-mouse-drag .trip-swipe-scroll,.trip-swipe-row.is-preparing .trip-swipe-scroll { scroll-snap-type:none; }
.trip-swipe-access:focus-visible { width:44px!important; height:44px!important; clip-path:none!important; overflow:visible!important; top:50%; right:4px; transform:translateY(-50%); display:grid; place-items:center; border-radius:10px; background:#edf2ed; color:#24515b; }
.trip-swipe-access svg { width:22px; height:22px; }

.trip-swipe-context { position:absolute; top:3px; left:10px; right:10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#36535c; font:600 12px/1.2 system-ui,sans-serif; }

.trip-swipe-front .workspace-trip-card:hover,.trip-swipe-front .workspace-trip-card:active { background:var(--bm-paper,#fcfaf5); box-shadow:none; }
/* Schedule cards share native row scrolling; only the dedicated handle reorders. */
.schedule-swipe-row { border:1px solid #dce3dc; border-radius:16px; margin-block:0 12px; }
.schedule-swipe-row .trip-swipe-scroll { border-radius:inherit; }
.schedule-swipe-row .trip-swipe-front { border-radius:inherit; }
.schedule-swipe-row .workspace-trip-detail__item { margin:0; border:0; border-radius:inherit; background:var(--bm-paper,#fcfaf5); box-shadow:none; }
.schedule-swipe-row .workspace-trip-detail__item-main { margin:8px 0 0; }
.schedule-swipe-row .schedule-actions-trigger { width:44px; height:44px; padding:10px; border:0; border-radius:8px; background:transparent; color:#58777c; }
.schedule-actions-trigger svg { width:24px; height:24px; }
.schedule-swipe-row [data-schedule-swipe-action="delete"] .trip-swipe-icon { background:#f33f49; }
.trip-schedule-actions { box-sizing:border-box; width:min(400px,calc(100vw - 32px)); max-height:calc(100dvh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding:0; border:1px solid #cedbd5; border-radius:20px; background:#fcfaf5; color:#183e47; box-shadow:0 16px 48px #183e4733; overflow:auto; }
.trip-schedule-actions::backdrop { background:#153f4940; }
.trip-schedule-actions header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; position:sticky; top:0; background:#fcfaf5; z-index:1; border-bottom:1px solid #dce3dc; }
.trip-schedule-actions header strong { min-width:0; overflow-wrap:anywhere; }
.trip-schedule-actions button { display:block; box-sizing:border-box; width:100%; min-height:48px; padding:12px 16px; text-align:left; border:0; border-radius:0; border-bottom:1px solid #e3e7df; background:transparent; color:inherit; font:600 15px/1.4 system-ui,sans-serif; }
.trip-schedule-actions header button { flex:none; width:44px; padding:4px; text-align:center; font-size:26px; border:0; }
.trip-schedule-actions button:disabled { opacity:.45; }
.trip-schedule-actions button:focus-visible { outline:2px solid #1c6370; outline-offset:-3px; }
.trip-schedule-actions .workspace-trip-detail__remove { color:#a02f35; }
.trip-schedule-actions .schedule-place-info { padding:16px; border-bottom:1px solid #dce3dc; font-size:14px; }
.trip-schedule-actions .schedule-place-info img { width:100%; max-height:160px; object-fit:cover; border-radius:10px; margin-bottom:12px; }
.trip-schedule-actions p { margin:6px 0; }
.trip-schedule-actions .workspace-trip-day-move { display:flex; padding:12px 16px; gap:16px; align-items:center; }
.trip-schedule-actions select { box-sizing:border-box; min-height:44px; max-width:65%; font:inherit; padding:6px 12px; border:1px solid #afc6c0; border-radius:10px; background:white; color:#183e47; }
.trip-schedule-actions .workspace-trip-submission-hint { display:block; padding:8px 16px; }

/* Photo-led schedule rows: no separate time/header band. */
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) { margin-bottom:8px; border-radius:14px; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item { display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:8px; padding:12px; align-items:center; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-main { grid-column:1; grid-row:1; display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; align-items:center; margin:0; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-media { width:96px; height:104px; border-radius:10px; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-media > span { right:4px; bottom:4px; min-width:22px; padding:2px 4px; border-width:1px; border-radius:6px; font-size:10px; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-main > div { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-title,
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-main strong { min-height:0; padding:0; font-size:17px; line-height:1.4; font-weight:700; text-align:left; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-title { min-height:44px; display:flex; align-items:center; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .schedule-card-location { font-size:12px; line-height:1.45; color:#64797d; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .schedule-card-meta { display:flex; margin-top:3px; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-time { font-size:12px; font-weight:500; line-height:1.4; color:#64797d; font-variant-numeric:tabular-nums; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .schedule-card-materials { font-size:11px; line-height:1.4; color:#64797d; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-top { grid-column:2; grid-row:1; min-height:0; display:flex; align-self:stretch; align-items:center; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-controls { display:flex; flex-direction:column; gap:4px; margin:0; }
:is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-controls button { box-sizing:border-box; width:48px; height:48px; min-height:48px; padding:12px; }
#workspace-trips .workspace-trip-day__head { min-height:48px; margin:12px 0 4px; gap:8px; }
#workspace-trips .workspace-trip-day__head > div:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; }
#workspace-trips .workspace-trip-day__head h5 { font-size:13px; font-weight:700; line-height:1.5; margin:0; }
#workspace-trips .workspace-trip-day__head time { display:inline; font-size:12px; line-height:1.5; margin:0; }
@media(max-width:359px) {
 :is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item { padding:10px; gap:4px; }
 :is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-main { grid-template-columns:76px minmax(0,1fr); gap:10px; }
 :is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-media { width:76px; height:100px; }
 :is(#workspace-trips .schedule-swipe-row,.workspace-schedule-drag-ghost) .workspace-trip-detail__item-title { font-size:16px; }
}

/* Hold activation is visible; ordinary touches retain native scrolling. */
.workspace-schedule-drag-ghost.schedule-swipe-row { position:fixed; z-index:10020; pointer-events:none; margin:0; opacity:.96; box-shadow:0 14px 32px #153f4930; border-color:#397e80; }
#workspace-trips .schedule-swipe-row.is-hold-ready { outline:2px solid #397e80; outline-offset:2px; }
#workspace-trips [data-workspace-trip-reorder] { -webkit-touch-callout:none; user-select:none; }
#workspace-trips .schedule-swipe-row .workspace-trip-detail__item-controls { align-self:flex-start; }
.trip-schedule-actions .schedule-move-options > summary { min-height:48px; box-sizing:border-box; padding:12px 16px; font-weight:600; cursor:pointer; }
