.private-transfer-station {
  --transfer-navy: #172326;
  --transfer-blue: #194f63;
  --transfer-red: #c84d3d;
  --transfer-paper: #fff8e4;
  position: relative;
  min-width: 0;
  margin-top: 32px;
  padding: 22px;
  overflow: hidden;
  border: 3px double var(--transfer-navy);
  color: var(--transfer-navy);
  background: #d9e5df;
  box-shadow: 10px 11px 0 #9aaea6;
}

.private-transfer-station::before {
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(23, 35, 38, 0.25);
  content: "";
  pointer-events: none;
}

.private-transfer-heading,
.private-transfer-drawer-note,
.private-transfer-tickets,
.private-transfer-machine,
.private-transfer-saved-line,
.private-network-terminus,
.private-transfer-status { position: relative; z-index: 1; }

.private-transfer-heading { display: flex; gap: 24px; align-items: start; justify-content: space-between; }
.private-transfer-heading > div { min-width: 0; }
.private-transfer-heading p { max-width: 62ch; margin: 6px 0 0; color: #405458; font-size: 0.72rem; line-height: 1.45; }
.private-transfer-heading p:first-child { margin: 0; color: var(--transfer-red); font: 900 0.55rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.09em; }
.private-transfer-heading h2 { margin: 5px 0; font-size: clamp(1.8rem, 4.4vw, 3.4rem); letter-spacing: -0.058em; line-height: 0.94; text-wrap: balance; }
.private-transfer-stamp { display: grid; flex: 0 0 auto; width: 76px; aspect-ratio: 1; place-items: center; border: 4px double var(--transfer-red); border-radius: 50%; color: var(--transfer-red); background: #f3d16b; font: 900 0.5rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; text-align: center; transform: rotate(8deg); }

.private-transfer-drawer-note { display: flex; margin: 18px 0 12px; padding: 9px 12px; gap: 11px; align-items: center; border: 2px solid var(--transfer-navy); background: #fffdf5; box-shadow: inset 0 -5px 0 #e5d5ab; }
.private-transfer-drawer-note > span { color: var(--transfer-red); font-size: 1.5rem; }
.private-transfer-drawer-note p { display: grid; margin: 0; gap: 2px; }
.private-transfer-drawer-note strong { font-size: 0.7rem; }
.private-transfer-drawer-note small { color: #526164; font: 700 0.54rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace; }

.private-transfer-tickets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 15px; }
.private-transfer-ticket { position: relative; display: grid; min-width: 0; padding: 7px 8px 8px 4px; grid-template-rows: 1fr auto; }
.private-transfer-ticket::before { position: absolute; inset: 10px 4px 5px 8px; border: 2px solid var(--transfer-navy); background: #c7b991; content: ""; transform: rotate(1deg); }
.private-transfer-ticket-select { position: relative; display: grid; min-width: 0; min-height: 210px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.private-transfer-ticket-paper { position: relative; display: grid; min-width: 0; padding: 17px; align-content: start; gap: 8px; border: 2px solid var(--transfer-navy); background: var(--transfer-paper); box-shadow: 5px 6px 0 #ad9d72; transform: rotate(-0.6deg); transition: transform 160ms ease, box-shadow 160ms ease; }
.private-transfer-ticket:nth-child(even) .private-transfer-ticket-paper { background: #eaf2ef; transform: rotate(0.6deg); }
.private-transfer-ticket:nth-child(3n) .private-transfer-ticket-paper { background: #f9e9cf; }
.private-transfer-ticket-paper small { color: var(--transfer-blue); font: 900 0.51rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.07em; }
.private-transfer-ticket-paper strong { font-size: clamp(1rem, 2.1vw, 1.35rem); letter-spacing: -0.035em; line-height: 1.05; overflow-wrap: anywhere; }
.private-transfer-ticket-paper span { color: #42565a; font-size: 0.7rem; }
.private-transfer-ticket-paper em { margin-top: 3px; padding-top: 8px; border-top: 1px dashed var(--transfer-navy); color: #42565a; font: 700 0.6rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.private-transfer-ticket-select > b { position: absolute; right: 11px; bottom: 7px; z-index: 2; padding: 9px 7px; border: 3px double var(--transfer-red); border-radius: 50%; color: var(--transfer-red); background: #f3d16b; font: 900 0.46rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace; opacity: 0.72; transform: rotate(-10deg) scale(0.92); transition: opacity 140ms ease, transform 180ms ease; }
.private-transfer-ticket[data-ticket-state="selected"] .private-transfer-ticket-paper { box-shadow: 7px 8px 0 var(--transfer-blue); transform: translateY(-3px) rotate(-0.3deg); }
.private-transfer-ticket[data-ticket-state="selected"] .private-transfer-ticket-select > b { opacity: 1; transform: rotate(-10deg) scale(1); }
.private-transfer-ticket-select:hover .private-transfer-ticket-paper { transform: translateY(-2px); }
.private-transfer-ticket-lead { position: relative; margin: 12px 9px 3px; padding: 8px 10px; border: 2px solid var(--transfer-navy); color: #fffdf5; background: var(--transfer-blue); font: 900 0.54rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; cursor: pointer; box-shadow: 3px 3px 0 var(--transfer-red); }
.private-transfer-ticket-lead[aria-pressed="true"] { color: var(--transfer-navy); background: #f3d16b; }
.private-transfer-ticket-lead:disabled { color: #677679; background: #cbd3cf; box-shadow: none; cursor: default; }

.private-transfer-machine { display: grid; margin-top: 19px; padding: 16px; grid-template-columns: 130px minmax(0, 1fr) 170px; gap: 16px; align-items: center; border: 3px solid var(--transfer-navy); background: #f1cc63; box-shadow: inset 0 0 0 6px #fff4ce; }
.private-transfer-slot { display: grid; gap: 8px; justify-items: center; color: var(--transfer-blue); font: 900 0.48rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.06em; text-align: center; }
.private-transfer-slot i { display: block; width: 94px; height: 10px; border: 3px solid var(--transfer-navy); border-radius: 99px; background: var(--transfer-navy); box-shadow: inset 0 0 0 2px #fff4ce; }
.private-transfer-preview { min-width: 0; padding: 12px; border: 2px solid var(--transfer-navy); background: #fffdf5; }
.private-transfer-preview > small { color: var(--transfer-red); font: 900 0.49rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.07em; }
.private-transfer-preview p { display: grid; min-width: 0; margin: 8px 0; gap: 3px; }
.private-transfer-preview p span { color: var(--transfer-blue); font: 900 0.47rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.private-transfer-preview p strong { font-size: 0.7rem; line-height: 1.35; overflow-wrap: anywhere; }
.private-transfer-track { display: grid; height: 8px; grid-template-columns: repeat(5, 1fr); gap: 5px; border-top: 2px solid var(--transfer-navy); border-bottom: 2px solid var(--transfer-navy); }
.private-transfer-track i { width: 2px; height: 12px; place-self: center; background: var(--transfer-navy); transform: translateY(-4px) rotate(20deg); }
.private-transfer-lever { display: flex; min-width: 0; padding: 10px; gap: 10px; align-items: center; justify-content: space-between; border: 2px solid var(--transfer-navy); color: #fffdf5; background: var(--transfer-blue); text-align: left; cursor: pointer; box-shadow: 5px 5px 0 var(--transfer-red); }
.private-transfer-lever span { display: grid; min-width: 0; gap: 3px; }
.private-transfer-lever small { color: #f3d16b; font: 800 0.44rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.private-transfer-lever strong { font-size: 0.72rem; }
.private-transfer-lever > b { position: relative; display: block; width: 24px; height: 48px; }
.private-transfer-lever > b::before { position: absolute; bottom: 4px; left: 8px; width: 6px; height: 31px; background: #f3d16b; content: ""; transform: rotate(18deg); transform-origin: bottom; }
.private-transfer-lever > b::after { position: absolute; top: 0; right: 0; width: 18px; aspect-ratio: 1; border: 2px solid #fffdf5; border-radius: 50%; background: var(--transfer-red); content: ""; }
.private-transfer-lever:disabled { color: #5e6b6e; background: #b7c0bb; box-shadow: none; cursor: default; }
.private-transfer-lever:disabled small { color: #5e6b6e; }

.private-transfer-saved-line { display: grid; margin-top: 18px; padding: 17px; grid-template-columns: 74px minmax(0, 1fr); gap: 15px; align-items: start; border: 3px double var(--transfer-navy); background: #fffdf5; box-shadow: 7px 7px 0 var(--transfer-red); }
.private-transfer-line-seal { display: grid; width: 68px; aspect-ratio: 1; place-items: center; border: 4px double var(--transfer-blue); border-radius: 50%; color: var(--transfer-blue); background: #d9e5df; font: 900 0.48rem/1.15 ui-monospace, "SFMono-Regular", Menlo, monospace; text-align: center; transform: rotate(-6deg); }
.private-transfer-saved-line > div { min-width: 0; }
.private-transfer-saved-line small { color: var(--transfer-red); font: 900 0.5rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.07em; }
.private-transfer-saved-line h3 { margin: 4px 0 11px; font-size: clamp(1.25rem, 3vw, 2rem); letter-spacing: -0.045em; line-height: 1; overflow-wrap: anywhere; }
.private-transfer-saved-line p { display: grid; margin: 7px 0 0; gap: 2px; }
.private-transfer-saved-line p span { color: var(--transfer-blue); font: 900 0.48rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.private-transfer-saved-line p strong { font-size: 0.7rem; line-height: 1.4; }

.private-network-terminus { position: relative; margin-top: 25px; padding: clamp(18px, 4vw, 34px); overflow: hidden; border: 5px double #f7d46e; color: #fff9e8; background: var(--transfer-navy); box-shadow: 9px 10px 0 var(--transfer-red); }
.private-network-terminus::before { position: absolute; inset: 8px; border: 1px solid rgba(247, 212, 110, 0.42); content: ""; pointer-events: none; }
.private-network-terminus-topline { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 20px; align-items: start; }
.private-network-grand-stamp { display: grid; width: 84px; aspect-ratio: 1; place-items: center; border: 4px double #f7d46e; border-radius: 50%; color: #f7d46e; font: 900 0.48rem/1.15 ui-monospace, "SFMono-Regular", Menlo, monospace; text-align: center; transform: rotate(-8deg); }
.private-network-terminus small { color: #f7d46e; font: 900 0.5rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.08em; }
.private-network-terminus h3 { max-width: 18ch; margin: 5px 0 7px; font-size: clamp(1.7rem, 4.5vw, 3.25rem); letter-spacing: -0.055em; line-height: 0.95; text-wrap: balance; }
.private-network-terminus-topline p { max-width: 55ch; margin: 0; color: #cddbd5; font-size: 0.7rem; line-height: 1.45; }
.private-network-arrivals { position: relative; display: grid; margin: 22px 0 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; list-style: none; }
.private-network-arrivals li { display: grid; min-width: 0; padding: 13px; align-content: start; gap: 5px; border: 2px solid #f7d46e; background: #244b53; box-shadow: inset 0 -5px 0 #17373e; }
.private-network-arrivals strong { font-size: clamp(0.9rem, 2vw, 1.2rem); line-height: 1.05; overflow-wrap: anywhere; }
.private-network-arrivals span { color: #cddbd5; font-size: 0.6rem; line-height: 1.4; overflow-wrap: anywhere; }
.private-network-platform { position: relative; display: grid; height: 44px; margin: 18px 4px 8px; grid-template-columns: repeat(3, 1fr); align-items: start; border-top: 5px double #f7d46e; }
.private-network-platform i { width: 2px; height: 22px; justify-self: center; background: #f7d46e; transform: rotate(24deg); }
.private-network-platform b { position: absolute; left: 50%; bottom: 0; display: grid; width: 35px; aspect-ratio: 1; place-items: center; border: 2px solid #f7d46e; border-radius: 50%; color: #f7d46e; background: var(--transfer-navy); transform: translateX(-50%); }
.private-network-source-count { position: relative; margin: 0; color: #f7d46e; font: 900 0.58rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; text-align: center; letter-spacing: 0.06em; }
.private-network-terminus.is-opening { animation: private-network-open 620ms cubic-bezier(0.18, 0.85, 0.3, 1.15) both; }
.private-network-terminus.is-opening .private-network-grand-stamp { animation: private-network-stamp 520ms 180ms ease-out both; }

.terminus-overnight-desk { position: relative; margin-top: 26px; padding: clamp(15px, 3.5vw, 25px); border: 2px solid #f7d46e; color: var(--transfer-navy); background: #e4c66e; box-shadow: 6px 7px 0 #0d1719; }
.terminus-overnight-desk::before { position: absolute; inset: 6px; border: 1px dashed rgba(23, 35, 38, 0.42); content: ""; pointer-events: none; }
.terminus-overnight-heading,
.terminus-overnight-form,
.terminus-overnight-departure,
.terminus-overnight-proposal,
.terminus-overnight-status,
.terminus-caretaker-season,
.terminus-overnight-history { position: relative; z-index: 1; }
.terminus-overnight-heading { display: flex; gap: 18px; align-items: start; justify-content: space-between; }
.terminus-overnight-heading > div { min-width: 0; }
.terminus-overnight-heading small,
.terminus-overnight-desk legend,
.terminus-overnight-desk button small,
.terminus-overnight-departure small,
.terminus-overnight-proposal small,
.terminus-overnight-history small { color: #91382d; font: 900 0.49rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: 0.08em; }
.terminus-overnight-heading h4 { max-width: 18ch; margin: 5px 0; font-size: clamp(1.45rem, 4vw, 2.5rem); letter-spacing: -0.052em; line-height: 0.96; }
.terminus-overnight-heading p { max-width: 56ch; margin: 0; color: #394a4d; font-size: 0.68rem; line-height: 1.45; }
.terminus-overnight-heading > span { position: relative; display: grid; flex: 0 0 auto; width: 64px; aspect-ratio: 1; place-items: center; border: 3px double var(--transfer-navy); border-radius: 50%; color: var(--transfer-navy); font-size: 1.8rem; transform: rotate(7deg); }
.terminus-overnight-heading > span b { position: absolute; right: -4px; bottom: 4px; padding: 3px; color: #fff9e8; background: #91382d; font: 900 0.43rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.terminus-overnight-form { display: grid; margin-top: 19px; gap: 14px; }
.terminus-overnight-form fieldset { min-width: 0; margin: 0; padding: 11px; border: 2px solid var(--transfer-navy); background: rgba(255, 249, 232, 0.72); }
.terminus-overnight-form legend { padding: 0 5px; color: var(--transfer-blue); }
.terminus-overnight-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.terminus-overnight-option { display: grid; min-width: 0; min-height: 78px; padding: 10px; align-content: start; gap: 4px; border: 2px solid var(--transfer-navy); color: inherit; background: #fff9e8; text-align: left; cursor: pointer; box-shadow: 3px 3px 0 #a78d47; }
.terminus-overnight-option small { color: var(--transfer-blue); }
.terminus-overnight-option strong { font-size: 0.74rem; line-height: 1.18; overflow-wrap: anywhere; }
.terminus-overnight-option span { color: #526164; font-size: 0.58rem; line-height: 1.35; overflow-wrap: anywhere; }
.terminus-overnight-option:hover { transform: translateY(-1px); }
.terminus-overnight-option[aria-pressed="true"] { color: #fff9e8; background: var(--transfer-blue); box-shadow: 4px 4px 0 #91382d; transform: translateY(-2px); }
.terminus-overnight-option[aria-pressed="true"] small,
.terminus-overnight-option[aria-pressed="true"] span { color: #f7d46e; }
.terminus-overnight-send { display: flex; width: 100%; min-width: 0; padding: 11px 14px; gap: 14px; align-items: center; justify-content: space-between; border: 2px solid var(--transfer-navy); color: #fff9e8; background: #91382d; text-align: left; cursor: pointer; box-shadow: 5px 5px 0 var(--transfer-navy); }
.terminus-overnight-send span { display: grid; gap: 3px; }
.terminus-overnight-send small { color: #f7d46e; }
.terminus-overnight-send strong { font-size: 0.76rem; }
.terminus-overnight-send > b { font-size: 1.35rem; }
.terminus-overnight-send:disabled { color: #687578; background: #b9b9a3; box-shadow: none; cursor: default; }
.terminus-overnight-send:disabled small { color: #687578; }

.terminus-overnight-departure { display: grid; margin-top: 19px; padding: 16px; grid-template-columns: 50px minmax(0, 1fr); gap: 14px; border: 2px solid var(--transfer-navy); background: #fff9e8; }
.terminus-overnight-departure > span { display: grid; width: 46px; aspect-ratio: 1; place-items: center; border: 3px double #91382d; border-radius: 50%; color: #91382d; font-size: 1.25rem; transform: rotate(-7deg); }
.terminus-overnight-departure h5,
.terminus-overnight-proposal h5,
.terminus-overnight-history h5 { margin: 4px 0 6px; font-size: 1rem; line-height: 1.1; }
.terminus-overnight-departure p { margin: 0 0 7px; color: #46575a; font-size: 0.66rem; line-height: 1.45; }
.terminus-overnight-departure strong { font-size: 0.67rem; }

.terminus-overnight-proposal { margin-top: 19px; padding: 17px; border: 3px double var(--transfer-navy); background: #fff9e8; box-shadow: 5px 5px 0 #91382d; }
.terminus-overnight-proposal header p { margin: 0; color: #46575a; font-size: 0.66rem; line-height: 1.45; }
.terminus-overnight-change { display: grid; margin: 14px 0; padding: 11px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 10px; align-items: center; border: 2px solid var(--transfer-navy); background: #d8e5df; }
.terminus-overnight-change p { display: grid; min-width: 0; margin: 0; gap: 4px; }
.terminus-overnight-change p:last-child { text-align: right; }
.terminus-overnight-change del,
.terminus-overnight-change strong { font-size: 0.7rem; line-height: 1.25; overflow-wrap: anywhere; }
.terminus-overnight-change > span { color: #91382d; font-size: 1.2rem; }
.terminus-overnight-notice { margin: 0; padding: 9px 11px; border-left: 4px solid #91382d; color: #394a4d; background: #f4df9f; font-size: 0.65rem; line-height: 1.45; }
.terminus-overnight-decisions { display: grid; margin-top: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.terminus-overnight-decisions button { display: grid; min-width: 0; padding: 10px; gap: 3px; border: 2px solid var(--transfer-navy); color: #fff9e8; background: var(--transfer-blue); text-align: left; cursor: pointer; box-shadow: 3px 3px 0 #91382d; }
.terminus-overnight-decisions button:last-child { color: var(--transfer-navy); background: transparent; box-shadow: none; }
.terminus-overnight-decisions button:last-child small { color: #91382d; }
.terminus-overnight-decisions strong { font-size: 0.7rem; }

.terminus-overnight-status { margin: 13px 0 0; color: #394a4d; font: 800 0.57rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.terminus-overnight-desk[data-overnight-state="error"] .terminus-overnight-status { padding: 9px; border: 2px solid #91382d; color: #76291f; background: #fff1df; }
.terminus-overnight-history { margin-top: 18px; padding-top: 14px; border-top: 2px dashed var(--transfer-navy); }
.terminus-overnight-history > div { margin-bottom: 9px; }
.terminus-overnight-history ol { display: grid; margin: 0; padding: 0; gap: 7px; list-style: none; }
.terminus-overnight-history li { display: grid; padding: 9px 10px; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; border: 1px solid var(--transfer-navy); background: rgba(255, 249, 232, 0.68); }
.terminus-overnight-history li > b { padding: 4px 5px; color: #fff9e8; background: var(--transfer-blue); font: 900 0.46rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.terminus-overnight-history li[data-decision="reject"] > b { color: var(--transfer-navy); background: #c6c7af; }
.terminus-overnight-history li div { display: grid; min-width: 0; gap: 2px; }
.terminus-overnight-history li strong { font-size: 0.65rem; line-height: 1.3; overflow-wrap: anywhere; }
.terminus-overnight-history li span { color: #526164; font-size: 0.57rem; line-height: 1.35; }

.terminus-caretaker-season { display: grid; margin-top: 19px; padding: clamp(13px, 3vw, 21px); gap: 14px; border: 4px double var(--transfer-navy); background: #fff9e8; box-shadow: 7px 7px 0 #91382d; }
.terminus-season-heading { display: grid; min-width: 0; grid-template-columns: 74px minmax(0, 1fr); gap: 13px; align-items: center; }
.terminus-season-heading > div { min-width: 0; }
.terminus-season-folder { display: grid; min-height: 68px; padding: 7px; place-items: center; border: 3px solid var(--transfer-navy); color: #fff9e8; background: var(--transfer-blue); box-shadow: 4px 4px 0 #e4c66e; font: 900 0.48rem/1.05 ui-monospace, "SFMono-Regular", Menlo, monospace; text-align: center; transform: rotate(-3deg); }
.terminus-season-heading h5,
.terminus-season-heading p,
.terminus-season-pass h5,
.terminus-season-pass p,
.terminus-season-status { margin: 0; }
.terminus-season-heading h5 { margin: 4px 0 5px; font-size: clamp(1.15rem, 3vw, 1.75rem); line-height: 1; }
.terminus-season-heading p { max-width: 58ch; color: #46575a; font-size: 0.64rem; line-height: 1.42; }
.terminus-season-trips { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; counter-reset: season-trip; list-style: none; }
.terminus-season-trip { position: relative; display: grid; min-width: 0; min-height: 148px; padding: 12px; align-content: start; gap: 5px; border: 2px solid var(--transfer-navy); background: #e5eee9; box-shadow: inset 0 -5px 0 #b8cec5; counter-increment: season-trip; }
.terminus-season-trip::before { position: absolute; top: 7px; right: 7px; content: "0" counter(season-trip); color: rgba(23, 35, 38, 0.26); font: 900 1.65rem/1 Georgia, serif; }
.terminus-season-trip[data-decision="reject"] { background: #ede7d5; box-shadow: inset 0 -5px 0 #cec7b3; }
.terminus-season-trip > small { padding-right: 30px; color: #91382d; }
.terminus-season-trip > strong { font-size: 0.72rem; line-height: 1.2; overflow-wrap: anywhere; }
.terminus-season-trip > span { color: #46575a; font-size: 0.59rem; line-height: 1.38; overflow-wrap: anywhere; }
.terminus-season-trip > em { margin-top: auto; padding-top: 7px; border-top: 1px dashed #91382d; color: #91382d; font: 800 0.48rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace; font-style: normal; }
.terminus-season-appointment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 0.34fr); gap: 11px; align-items: stretch; }
.terminus-season-appointment fieldset { min-width: 0; margin: 0; padding: 10px; border: 2px solid var(--transfer-navy); }
.terminus-season-caretakers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.terminus-season-caretaker { display: grid; min-width: 0; min-height: 74px; padding: 9px; align-content: start; gap: 3px; border: 2px solid var(--transfer-navy); color: inherit; background: #f5dfa0; box-shadow: 3px 3px 0 #a78d47; text-align: left; cursor: pointer; }
.terminus-season-caretaker strong { font-size: 0.69rem; line-height: 1.2; }
.terminus-season-caretaker span { color: #526164; font-size: 0.54rem; line-height: 1.3; overflow-wrap: anywhere; }
.terminus-season-caretaker:hover { transform: translateY(-1px); }
.terminus-season-caretaker[aria-pressed="true"] { color: #fff9e8; background: var(--transfer-blue); box-shadow: 4px 4px 0 #91382d; transform: translateY(-2px) rotate(-0.4deg); }
.terminus-season-caretaker[aria-pressed="true"] small,
.terminus-season-caretaker[aria-pressed="true"] span { color: #f7d46e; }
.terminus-season-file { display: flex; min-width: 0; padding: 11px; align-items: center; justify-content: space-between; gap: 10px; border: 3px double var(--transfer-navy); color: #fff9e8; background: #91382d; box-shadow: 4px 4px 0 var(--transfer-navy); text-align: left; cursor: pointer; }
.terminus-season-file span { display: grid; min-width: 0; gap: 4px; }
.terminus-season-file strong { font-size: 0.72rem; line-height: 1.2; }
.terminus-season-file > b { font-size: 1.25rem; }
.terminus-season-file:disabled { color: #687578; background: #b9b9a3; box-shadow: none; cursor: default; }
.terminus-season-file:disabled small { color: #687578; }
.terminus-season-pass { display: grid; min-width: 0; padding: 15px; grid-template-columns: 92px minmax(0, 1fr); gap: 15px; align-items: center; border: 4px solid var(--transfer-navy); background: #e5eee9; box-shadow: inset 0 0 0 6px #f7d46e, 6px 6px 0 var(--transfer-blue); }
.terminus-season-pass > span { display: grid; min-height: 82px; padding: 8px; place-items: center; border: 4px double #91382d; border-radius: 50%; color: #91382d; background: #fff9e8; font: 900 0.43rem/1.05 ui-monospace, "SFMono-Regular", Menlo, monospace; text-align: center; transform: rotate(-5deg); }
.terminus-season-pass > div { display: grid; min-width: 0; gap: 4px; }
.terminus-season-pass h5 { font-size: clamp(1.2rem, 3vw, 1.8rem); line-height: 1; overflow-wrap: anywhere; }
.terminus-season-pass p { color: #46575a; font-size: 0.62rem; line-height: 1.4; }
.terminus-season-pass strong { color: #91382d; font: 900 0.5rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.terminus-season-status { color: #394a4d; font: 800 0.57rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.terminus-caretaker-season[data-season-state="error"] .terminus-season-status { padding: 9px; border: 2px solid #91382d; color: #76291f; background: #fff1df; }
.terminus-caretaker-season[data-season-state="filed"] { background: #f6e8b9; box-shadow: 7px 7px 0 var(--transfer-blue); }
.private-network-arrivals li[data-station-change="kept"] { background: #315d51; box-shadow: inset 0 -5px 0 #17373e, 0 0 0 2px #f7d46e; }
.private-network-arrivals li[data-station-change="kept"] small::after { content: " · NIGHT CHANGE KEPT"; color: #fff9e8; }
.private-network-arrivals li[data-station-change="kept"] em { color: #f7d46e; font: 700 0.52rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace; }

.terminus-overnight-desk:focus,
.terminus-overnight-departure:focus,
.terminus-overnight-proposal:focus,
.terminus-caretaker-season:focus,
.terminus-season-pass:focus,
.terminus-overnight-option:focus-visible,
.terminus-overnight-send:focus-visible,
.terminus-overnight-decisions button:focus-visible,
.terminus-season-caretaker:focus-visible,
.terminus-season-file:focus-visible { outline: 3px solid #91382d; outline-offset: 3px; }

.private-transfer-status { margin: 16px 0 0; color: #405458; font: 700 0.59rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; }
.private-transfer-station:focus,
.private-transfer-saved-line:focus,
.private-network-terminus:focus,
.private-transfer-ticket-select:focus-visible,
.private-transfer-ticket-lead:focus-visible,
.private-transfer-lever:focus-visible { outline: 3px solid var(--transfer-blue); outline-offset: 4px; }
.private-network-terminus:focus { outline-color: #f7d46e; }

@keyframes private-network-open {
  from { opacity: 0; transform: translateY(24px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes private-network-stamp {
  from { opacity: 0; transform: rotate(-24deg) scale(1.8); }
  to { opacity: 1; transform: rotate(-8deg) scale(1); }
}

@media (max-width: 760px) {
  .private-transfer-station { padding: 14px 12px; box-shadow: 5px 6px 0 #9aaea6; }
  .private-transfer-heading { flex-direction: column; gap: 10px; }
  .private-transfer-stamp { position: absolute; top: 0; right: 0; width: 58px; }
  .private-transfer-heading > div { padding-right: 64px; }
  .private-transfer-tickets { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .private-transfer-ticket-select { min-height: 0; }
  .private-transfer-ticket-paper { padding: 14px; }
  .private-transfer-machine { grid-template-columns: minmax(0, 1fr); }
  .private-transfer-slot { display: none; }
  .private-transfer-lever { width: 100%; }
  .private-network-terminus { box-shadow: 5px 6px 0 var(--transfer-red); }
  .private-network-arrivals { grid-template-columns: minmax(0, 1fr); }
  .terminus-overnight-options { grid-template-columns: minmax(0, 1fr); }
  .terminus-overnight-option { min-height: 0; }
  .terminus-season-trips,
  .terminus-season-caretakers,
  .terminus-season-appointment { grid-template-columns: minmax(0, 1fr); }
  .terminus-season-trip { min-height: 0; }
  .terminus-overnight-change,
  .terminus-overnight-decisions { grid-template-columns: minmax(0, 1fr); }
  .terminus-overnight-change > span { transform: rotate(90deg); justify-self: center; }
  .terminus-overnight-change p:last-child { text-align: left; }
}

@media (max-width: 380px) {
  .private-transfer-heading > div { padding-right: 0; }
  .private-transfer-stamp { display: none; }
  .private-transfer-drawer-note { align-items: start; }
  .private-transfer-saved-line,
  .private-network-terminus-topline { grid-template-columns: minmax(0, 1fr); }
  .private-transfer-line-seal { width: 54px; }
  .private-network-grand-stamp { width: 66px; }
  .terminus-overnight-heading > span { display: none; }
  .terminus-season-heading,
  .terminus-season-pass { grid-template-columns: minmax(0, 1fr); }
  .terminus-season-folder { width: 62px; min-height: 54px; }
  .terminus-season-pass > span { width: 74px; min-height: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  .private-transfer-station *,
  .private-transfer-station *::before,
  .private-transfer-station *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
