.trip-actions { padding-block: 1rem; }
.trip-action-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .8rem; }
.trip-button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .5rem; padding: .65rem 1rem; border: 1px solid var(--color-line-strong); border-radius: .4rem; color: var(--color-ink); background: var(--color-surface); font: inherit; font-size: .85rem; font-weight: 700; line-height: 1.4; cursor: pointer; }
.trip-button:hover { background: var(--color-surface-sunken); }
.trip-button-save { color: white; background: var(--color-accent-solid); border-color: var(--color-accent-solid); }
.trip-button-save:hover { color: white; background: var(--color-accent-ink); }
.trip-button-save[aria-pressed="true"] { background: var(--color-accent-ink); }
.trip-button-save[aria-pressed="true"] svg { fill: currentColor; }
.trip-button-subtle { padding-inline: .5rem; border-color: transparent; background: transparent; }
.trip-button:disabled { opacity: .5; cursor: default; }
.trip-list-link { display: inline-flex; align-items: center; min-height: 2.75rem; gap: .4rem; color: var(--color-accent-ink); font-size: .85rem; font-weight: 700; text-underline-offset: .2em; }
.trip-status { margin: .4rem 0 0; color: var(--color-ink-muted); font-size: .8rem; line-height: 1.6; }
.trip-status:empty { display: none; }
.trip-copy-fallback { margin-top: 1rem; font-size: .85rem; }
.trip-copy-fallback textarea { display: block; width: 100%; margin-top: .5rem; border: 1px solid var(--color-line-strong); border-radius: .35rem; background: var(--color-surface); color: var(--color-ink); padding: .7rem; font: inherit; resize: vertical; }
.trip-actions [hidden], .saved-trip-shell [hidden] { display: none !important; }
.saved-trip-shell { width: min(100% - 2rem, 68rem); margin-inline: auto; padding-bottom: 3rem; }
.saved-trip-heading { padding-block: 1.4rem 1rem; }
.saved-trip-heading h1 { margin: 0; font-family: var(--font-sans); font-weight: 780; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.045em; line-height: 1.1; }
.saved-trip-heading > p { margin: .65rem 0 0; color: var(--color-ink-muted); font-size: .9rem; line-height: 1.6; }
.saved-trip-export { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .9rem; }
.saved-trip-context-note { max-width: 55rem; color: var(--color-ink-muted); font-size: .78rem; line-height: 1.6; margin: 0 0 1.5rem; }
.saved-trip-layout { display: grid; align-items: start; gap: 2rem; }
.saved-trip-main { min-width: 0; }
.saved-trip-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 2px solid var(--color-brand-solid); padding-bottom: .75rem; }
.saved-trip-list-heading h2 { margin: 0; font-size: 1rem; }
.saved-trip-list-heading > span { color: var(--color-ink-muted); font-size: .8rem; }
.saved-trip-empty { margin-block: 1.2rem; padding: 1.25rem; border: 1px solid var(--color-line); border-radius: .4rem; background: var(--color-surface); }
.saved-trip-empty h3 { margin: 0 0 .7rem; font-family: var(--font-sans); font-size: 1.3rem; font-weight: 750; }
.saved-trip-empty p { max-width: 33rem; margin: 0 0 1rem; color: var(--color-ink-muted); font-size: .9rem; line-height: 1.7; }
.saved-trip-empty .trip-list-link { margin-left: .5rem; }
.saved-trip-list { padding: 0; margin: 0; list-style: none; }
.saved-trip-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .8rem; padding-block: 1.1rem; border-bottom: 1px solid var(--color-line); break-inside: avoid; }
.saved-trip-row > div { min-width: 0; }
.saved-trip-row a { display: block; margin-top: .3rem; font-size: 1.05rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; color: var(--color-ink); text-decoration: none; }
.saved-trip-row a:hover { color: var(--color-brand-ink); text-decoration: underline; }
.saved-trip-kind { display: block; color: var(--color-brand-ink); font-size: .75rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.saved-trip-row-status { margin: .5rem 0 0; color: #734209; font-size: .78rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.saved-trip-row button { font-size: .75rem; }
.saved-trip-sidebar { border-top: 1px solid var(--color-line); padding-top: 1.2rem; }
.saved-trip-sidebar h2 { margin: 0 0 .65rem; font-family: var(--font-sans); font-weight: 750; font-size: 1.1rem; line-height: 1.3; }
.saved-trip-sidebar nav { display: grid; margin-bottom: 1rem; }
.saved-trip-sidebar nav a { display: flex; align-items: center; min-height: 2.75rem; color: var(--color-brand-ink); font-size: .85rem; font-weight: 650; text-decoration: none; }
.saved-trip-sidebar nav a:hover { text-decoration: underline; }
.saved-trip-storage { margin-bottom: .5rem; color: var(--color-ink-muted); font-size: .8rem; line-height: 1.7; }
.saved-trip-storage summary { cursor: pointer; min-height: 2.75rem; padding-block: .65rem; color: var(--color-ink); font-weight: 650; }
.saved-trip-storage p { margin: .25rem 0 1rem; }
.saved-trip-reminder { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-line); color: var(--color-ink-muted); font-size: .78rem; line-height: 1.7; }
.saved-trip-confirm { margin-top: .75rem; padding: 1rem; background: var(--color-surface); border: 1px solid var(--color-line-strong); font-size: .85rem; }
.saved-trip-confirm p { margin-bottom: .75rem; }
.saved-trip-print-url { display: none; }
@media (min-width: 52rem) { .saved-trip-layout { grid-template-columns: minmax(0, 1fr) 17rem; gap: 3rem; } }
@media (max-width: 30rem) { .saved-trip-export { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); } .saved-trip-export .trip-button { padding-inline: .35rem; font-size: .75rem; } .saved-trip-heading { padding-top: 1rem; } }
@media print {
  body { background: white !important; color: black !important; }
  body > header, body > footer, [data-consent-root], .trip-actions, .saved-trip-sidebar, .saved-trip-export, .saved-trip-shell nav, .saved-trip-row button, .trip-copy-fallback, .trip-status, .saved-trip-shell noscript { display: none !important; }
  .saved-trip-shell { width: 100%; padding: 0; }
  .saved-trip-heading { padding-block: 0 1.5rem; }
  .saved-trip-heading h1 { font-size: 30pt; }
  .saved-trip-layout { display: block; }
  .saved-trip-row { padding-block: .7rem; }
  .saved-trip-print-url { display: block; margin-top: .35rem; font-size: 9pt; color: black; overflow-wrap: anywhere; }
  .saved-trip-row a { color: black; text-decoration: none; }
  .saved-trip-row-status, .saved-trip-kind { color: black; }
  .saved-trip-row { display: block; }
}
.trip-tools-menu{position:relative;color:var(--color-ink);font-size:.875rem}
.trip-tools-menu summary{cursor:pointer;min-height:2.75rem;padding:.65rem .5rem;font-weight:600}
.trip-tools-menu>div{position:absolute;top:100%;right:0;background:#fff;padding:.5rem;box-shadow:0 8px 25px #142b4020;border:1px solid var(--color-line);border-radius:.35rem;z-index:10;min-width:9rem;display:grid;gap:.3rem}

.trip-tools-menu summary::after, .saved-trip-storage summary::after { content:""; display:inline-block; width:.45rem; height:.45rem; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); margin:0 .2rem .2rem .65rem; }
.trip-tools-menu[open] summary::after, .saved-trip-storage[open] summary::after { transform:rotate(225deg); margin-bottom:-.1rem; }
