.planner-page{--planner-danger:#a32924}
[data-theme=dark] .planner-page{--planner-danger:#ffb4ab}
/* Shared brand tokens; a focused workflow instead of nested forms. */
.planner-page{padding-bottom:88px}.planner-page [hidden]{display:none!important}
.planner-page~.mobile-contact{display:none}.planner-page h2,.planner-page legend{scroll-margin-top:130px}.planner-intro{padding-block:24px 28px;max-width:1220px;position:relative}.planner-back{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:20px}.planner-intro .eyebrow{margin-bottom:14px}.planner-intro h1{font-size:clamp(38px,4vw,54px);line-height:1.05;letter-spacing:-.05em}.planner-intro>p:last-child{max-width:760px;font-size:16px;margin-top:16px;margin-bottom:0}.planner-layout{max-width:1220px;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:32px;align-items:start}.planner-workspace{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.planner-progress{padding:24px 32px;border-bottom:1px solid var(--line);background:var(--soft)}.planner-progress ol{display:flex;list-style:none;gap:20px;margin:0;padding:0;justify-content:space-between}.planner-progress li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);line-height:1.4}.planner-progress li span{display:grid;place-items:center;min-width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:var(--surface)}.planner-progress [aria-current]{color:var(--ink);font-weight:700}.planner-progress [aria-current] span,.planner-progress .complete span{color:var(--surface);background:var(--brand);border-color:var(--brand)}[data-theme=dark] .planner-progress [aria-current] span,[data-theme=dark] .planner-progress .complete span{color:#092140}
.planner-panel{padding:36px}.planner-panel h2{font-size:34px;line-height:1.16;margin-bottom:14px;letter-spacing:-.035em}.planner-panel>.eyebrow{font-size:12px;margin-bottom:10px}.planner-panel>p{font-size:15px}.planner-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.planner-choice{padding:25px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);display:flex;flex-direction:column;align-items:start;gap:14px;transition:background .2s,border-color .2s,transform .2s}.planner-choice:hover{background:var(--soft);border-color:var(--brand);transform:translateY(-3px)}.planner-choice:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.planner-choice-icon{background:var(--soft);color:var(--brand);border-radius:12px;width:46px;height:46px;display:grid;place-items:center}.planner-choice>strong{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.1}.planner-choice>span:not(.planner-choice-icon){color:var(--muted);font-size:14px;line-height:1.6}.planner-choice>b{color:var(--brand);font-size:13px;margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;gap:10px;width:100%}.planner-trust{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px;color:var(--muted);font-size:13px}.planner-trust>span{display:flex;align-items:center;gap:8px}.planner-trust svg{width:17px;height:17px}
.planner-help{padding:27px;border-radius:18px;background:var(--soft)}.planner-help h2{font-size:25px;letter-spacing:-.035em;margin:20px 0 14px}.planner-help p{font-size:14px}.planner-phone{font-size:23px;font-weight:700;color:var(--brand);white-space:nowrap}.planner-hours{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:13px}.planner-hours p{margin:6px 0;font-size:13px}.planner-expect{padding:26px 12px 0}.planner-expect h3{font-size:16px;letter-spacing:-.015em}.planner-expect ol{list-style:none;counter-reset:stage;padding:0;margin:22px 0}.planner-expect li{position:relative;padding:0 0 22px 33px;counter-increment:stage}.planner-expect li:before{content:counter(stage);position:absolute;left:0;top:0;border:1px solid var(--line);border-radius:50%;width:22px;height:22px;text-align:center;font-size:12px;color:var(--brand)}.planner-expect b,.planner-expect span{display:block;font-size:13px}.planner-expect span{color:var(--muted);margin-top:4px}.planner-private{font-size:12px;padding:0 12px}
#planner-form{padding:0 36px}#planner-form .booking-step{padding:28px 0 0;margin:0;border:0;min-width:0;width:100%}#planner-form legend{font-family:var(--serif);font-size:32px;line-height:1.2;letter-spacing:-.025em;padding:0;padding-top:24px}#planner-form .step-description{font-size:15px;margin-top:12px}#planner-form .field{font-size:14px}#planner-form input,#planner-form select,#planner-form textarea{font-size:16px;min-width:0;width:100%;border-radius:8px}#planner-form input[type=radio],#planner-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0}#planner-form small{font-size:12px;line-height:1.5}#planner-form .choices{grid-template-columns:1fr;gap:10px}#planner-form .choice{padding:16px;border-radius:10px}#planner-form .choice strong{font-size:15px}#planner-form .choice small{font-size:13px}#planner-form .field-grid{gap:22px}#planner-form .notice,#planner-form .pickup-plan{border-radius:10px;font-size:14px}#planner-form .notice{margin-block:24px 0}#planner-form .prescription-help{padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:14px}#planner-form .prescription-help summary{color:var(--brand);font-weight:600;cursor:pointer}#planner-form .prescription-help p:first-of-type{margin-top:16px}#planner-form .checkbox{font-size:14px;line-height:1.6;margin-block:28px 0}#planner-form .checkbox input{margin-top:4px}#planner-form .checkbox span{min-width:0}#planner-form [aria-invalid=true]{border:2px solid var(--planner-danger)}
.planner-editor-heading{display:flex;justify-content:space-between;gap:12px;padding:24px 0 0;font-size:13px;color:var(--muted)}.planner-editor-heading span:first-child{color:var(--brand);font-weight:700}.planner-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px}.planner-actions .button{font-size:14px;border-radius:9px;min-height:50px;gap:10px}.planner-actions .button:only-child{margin-left:auto}.planner-actions button:disabled{opacity:.55;cursor:wait}#editor-actions{padding-bottom:30px}.planner-text-button{border:0;background:none;color:var(--brand);padding:10px 0;min-height:44px;font-weight:600;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:4px}#cancel-edit{margin:0 0 24px}#change-mode{display:block;margin-top:12px}.planner-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.planner-section-head .eyebrow{margin-bottom:8px}.planner-count{font-size:12px;font-weight:600;background:var(--soft);border-radius:20px;padding:7px 12px;white-space:nowrap}.planner-trip{border:1px solid var(--line);border-radius:14px;margin-top:20px;padding:22px;overflow-wrap:anywhere}.planner-trip-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.planner-trip-top h3{font-size:19px;letter-spacing:-.02em;margin-right:auto}.planner-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--brand);background:var(--soft);font-size:13px;font-weight:700}.planner-route{margin:20px 0;border-left:2px solid var(--line);padding-left:16px;display:grid;gap:12px}.planner-route>div{position:relative}.planner-route>div:before{content:'';position:absolute;width:8px;height:8px;background:var(--brand);border-radius:50%;left:-21px;top:8px}.planner-route span{display:block;color:var(--muted);font-size:12px}.planner-route strong{display:block;font-size:15px;font-weight:500}.planner-trip-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--soft);border-radius:8px;padding:14px}.planner-trip-meta span,.planner-trip-meta b{display:block;font-size:12px;color:var(--muted)}.planner-trip-meta b{font-size:14px;color:var(--ink);font-weight:600;margin-top:5px}.planner-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.planner-tags>span{font-size:12px;background:var(--bg);padding:4px 8px;border-radius:5px;border:1px solid var(--line)}.planner-details{margin-top:16px;font-size:13px}.planner-details summary{cursor:pointer;color:var(--brand);min-height:32px}.planner-details dl{margin:8px 0}.planner-details dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding:6px 0}.planner-details dt{color:var(--muted)}.planner-details dd{margin:0;white-space:pre-line}.planner-card-actions{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;margin-top:12px;padding-top:6px}.planner-note{font-size:14px;border-left:3px solid var(--brand);padding:12px 16px;background:var(--soft);border-radius:0 8px 8px 0;margin-top:24px}.planner-contact-summary{padding:22px;border:1px solid var(--line);border-radius:12px;margin-top:24px}.planner-contact-summary h3{font-size:17px}.planner-contact-summary p{white-space:pre-line;font-size:15px;margin:10px 0 0}.planner-badge{font-size:12px;font-weight:700;background:var(--soft);padding:5px 10px;border-radius:20px}.planner-trip.uncertain,.planner-trip.rejected{border-left:4px solid var(--planner-danger)}.planner-item-message{font-size:14px;margin:20px 0 0}.planner-message{margin:20px 36px 0;padding:14px 16px;background:var(--soft);border-left:3px solid var(--brand);border-radius:6px;font-size:14px}.planner-message.error{border-color:var(--planner-danger);color:var(--planner-danger)}
@media(min-width:1000px){.planner-intro{padding-right:0}.planner-aside{position:sticky;top:130px}}
@media(max-width:1000px){.planner-layout{grid-template-columns:1fr}.planner-aside{display:grid;grid-template-columns:1fr 1fr;gap:24px}.planner-private{grid-column:1/-1}.planner-layout,.planner-intro{max-width:800px}.planner-help h2 br{display:none}}
@media(max-width:600px){.planner-page{padding-bottom:36px}.planner-intro{padding-block:22px 28px}.planner-back{margin-bottom:22px}.planner-intro h1{font-size:44px}.planner-intro>p:last-child{font-size:15px;margin-top:16px}.planner-workspace{border-radius:14px}.planner-progress{padding:17px 16px}.planner-progress ol{gap:12px}.planner-progress li{font-size:12px;flex-direction:column;align-items:start;gap:6px;flex:1}.planner-progress li span{width:25px;min-width:25px;height:25px}.planner-panel{padding:24px 18px}.planner-panel h2{font-size:28px}.planner-choices{grid-template-columns:1fr;margin-top:22px;gap:12px}.planner-choice{padding:20px;display:grid;grid-template-columns:40px 1fr;gap:8px 14px}.planner-choice-icon{grid-row:1/4;width:38px;height:38px}.planner-choice>strong{font-size:24px}.planner-choice>span:not(.planner-choice-icon),.planner-choice>b{grid-column:2}.planner-choice>b{padding-top:6px}.planner-trust{gap:10px;font-size:12px}.planner-trust>span{flex-basis:100%}#planner-form{padding:0 18px}#planner-form legend{font-size:28px}#planner-form .field-grid{grid-template-columns:1fr}.planner-editor-heading{font-size:12px;flex-wrap:wrap}.planner-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.planner-actions .button{width:100%}.planner-section-head{flex-wrap:wrap}.planner-trip{padding:16px}.planner-trip-meta{grid-template-columns:1fr;gap:12px}.planner-aside{display:block}.planner-help{padding:24px}.planner-expect{padding:28px 10px 0}.planner-message{margin:18px 18px 0}.planner-contact-summary{padding:16px}.planner-details dl>div{grid-template-columns:1fr;gap:3px}.planner-count{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.planner-choice{transition:none}.planner-choice:hover{transform:none}}
@media print{body>*:not(main),.planner-intro,.planner-aside,.planner-progress,.planner-actions,.planner-card-actions,.planner-text-button,#planner-error,#planner-status{display:none!important}.planner-layout{display:block;width:100%}.planner-workspace{border:0;box-shadow:none}.planner-trip{break-inside:avoid}.planner-page{--surface:white;--ink:#111;--muted:#333;--soft:#eee;--line:#aaa;--brand:#12466f}.planner-panel{padding:0}.planner-details{display:none}}
/* Hover lift without jitter (see site.css). */
.planner-choice{position:relative}.planner-choice:hover::after{content:"";position:absolute;left:-1px;right:-1px;top:100%;height:5px}

.planner-batch-note,.planner-batch-result{padding:clamp(20px,3vw,32px);margin:24px 0;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.planner-batch-note p,.planner-batch-result p{margin:10px 0 0;line-height:1.65}.planner-batch-result h3{font-size:clamp(23px,3vw,30px);margin:6px 0 16px}.planner-batch-result strong{overflow-wrap:anywhere}#correct-batch{margin-bottom:24px}

/* Multi-request workspace: the draft list stays beside the active editor. */
.planner-desk-content{min-width:0}.planner-preparation{margin-bottom:16px}.planner-preparation>details{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.planner-preparation>details>summary{padding:16px 20px;cursor:pointer;font-weight:600;color:var(--ink);font-size:15px}.planner-preparation>details>summary span{font-weight:400;color:var(--muted);margin-left:12px;font-size:13px}.planner-preparation .fs-preparation-links{margin:0}
.planner-page.planner-multiple-page .planner-layout{grid-template-columns:minmax(0,1fr)}.planner-multiple-page .planner-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px}.planner-multiple-page .planner-private{grid-column:1/-1}.planner-multiple-page .planner-intro h1{font-size:clamp(32px,4vw,44px);line-height:1.15}.planner-multiple-page .planner-back{margin-bottom:12px}.planner-multiple-page .planner-intro{padding-bottom:20px}.planner-multiple .planner-desk{display:grid;grid-template-columns:minmax(0,1fr) 310px}.planner-multiple .planner-desk-content{grid-column:1;grid-row:1}.planner-multiple .planner-board{grid-column:2;grid-row:1;border-left:1px solid var(--line);padding:26px 22px;background:var(--surface)}.planner-multiple .planner-board[hidden]+.planner-desk-content{grid-column:1/-1}
.planner-board details{position:sticky;top:112px}.planner-board summary{display:none}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.board-heading h2{font-family:var(--sans);font-size:17px;letter-spacing:0;line-height:1.4;margin:0}.board-heading>span{font-size:13px;white-space:nowrap;color:var(--muted)}.board-explanation,.board-note,#board-empty{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px}.board-draft{padding:12px 0;border-block:1px solid var(--line);font-size:13px;font-weight:600;color:var(--brand);margin-top:18px}.board-content ol{list-style:none;margin:18px 0;padding:0;max-height:42vh;overflow:auto}.board-content li+li{border-top:1px solid var(--line)}.board-content li button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px 10px;width:100%;padding:14px 0;background:none;border:0;text-align:left;color:var(--ink);cursor:pointer}.board-content li button[aria-current]{border-left:3px solid var(--brand);padding-left:10px}.board-content li button:hover strong{text-decoration:underline}.board-content li button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.board-number{font-size:13px;color:var(--brand);font-weight:700}.board-content li strong,.board-content li small,.board-content li span>span{display:block;overflow-wrap:anywhere}.board-content li strong{font-size:14px;line-height:1.45}.board-content li span>span{font-size:13px;margin-top:4px}.board-content li small{font-size:12px;color:var(--muted);margin-top:4px}.board-edit{grid-column:2;font-size:12px;color:var(--brand)}.board-actions{display:grid;gap:8px;margin-top:18px}.board-actions .button{min-height:48px;font-size:13px;white-space:normal;text-align:center;padding:12px;line-height:1.45}.board-actions button:disabled{opacity:.5;cursor:not-allowed}.board-actions .planner-text-button{font-size:13px}.board-note{border-top:1px solid var(--line);padding-top:14px}
.planner-leave-confirm{margin:24px 30px;padding:22px;border:2px solid var(--brand);border-radius:12px;background:var(--surface)}.planner-leave-confirm h3{font-size:20px;line-height:1.4}.planner-leave-confirm p{font-size:14px;margin:12px 0}.planner-leave-confirm>div{display:flex;flex-wrap:wrap;gap:12px}.planner-leave-confirm .button{font-size:13px;min-height:48px;white-space:normal;text-align:center}
#planner-form .planner-reuse{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);gap:8px}.planner-compact-trip{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:16px;overflow-wrap:anywhere}.planner-compact-trip h3{font-size:18px;line-height:1.4}.planner-draft-label{font-size:12px;color:var(--muted)}.compact-date{display:flex;flex-wrap:wrap;gap:6px 12px;margin:14px 0;font-size:15px}.compact-date>span{color:var(--muted);font-size:13px;align-self:center}.compact-route p{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;font-size:14px;margin:6px 0;color:var(--ink)}.compact-route span{font-size:12px;color:var(--muted)}.compact-needs{font-size:13px;margin:12px 0;color:var(--muted)}.compact-actions{display:flex;flex-wrap:wrap;gap:10px 18px;border-top:1px solid var(--line);padding-top:12px;margin-top:10px;align-items:center}.compact-actions .button{font-size:13px;min-height:44px;padding:10px 16px}.compact-actions .planner-text-button:last-child{margin-left:auto}.planner-multiple .fs-booking-help{margin:22px 30px 0}.planner-multiple .planner-panel{padding:30px}.planner-multiple #planner-form{padding-inline:30px}.planner-multiple #planner-form legend{font-size:30px}.planner-multiple .planner-card-actions{flex-wrap:wrap}
[data-theme=dark] .planner-multiple .planner-progress,[data-theme=dark] .planner-multiple #planner-form .pickup-plan,[data-theme=dark] .planner-multiple #planner-form .notice,[data-theme=dark] .planner-multiple .fs-booking-help{background:var(--surface)}
@media(max-width:900px){.planner-multiple .planner-desk{display:flex;flex-direction:column}.planner-multiple .planner-board{border-left:0;border-bottom:1px solid var(--line);padding:0}.planner-board details{position:static}.planner-board summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;font-weight:600;font-size:14px;cursor:pointer;color:var(--brand);min-height:56px}.planner-board summary:after{content:'+'}.planner-board details[open]>summary:after{content:'−'}.planner-board summary span{margin-left:auto;font-size:13px;color:var(--muted)}.board-content{padding:0 22px 20px}.board-heading{display:none}.board-content ol{max-height:300px}.planner-page.planner-multiple-page .planner-layout{max-width:800px}.planner-multiple-page .planner-intro{max-width:800px}}
@media(min-width:901px){.planner-board details:not([open])>.board-content{display:block}}
@media(max-width:600px){.planner-preparation>details>summary span{display:block;margin:5px 0 0}.planner-multiple .planner-panel{padding:22px 18px}.planner-multiple #planner-form{padding-inline:18px}.planner-multiple .fs-booking-help{margin:18px 18px 0}.planner-multiple-page .planner-aside{display:block}.planner-leave-confirm{margin:18px;padding:18px}.planner-leave-confirm .button{width:100%}.planner-compact-trip{padding:16px}.planner-compact-trip .planner-trip-top{gap:8px}.planner-draft-label{flex-basis:100%}.compact-actions .planner-text-button:last-child{margin-left:0}.planner-multiple #planner-form legend{font-size:28px}}
@media print{.planner-board,.planner-preparation,.planner-leave-confirm{display:none!important}.planner-multiple .planner-desk{display:block}.planner-compact-trip{break-inside:avoid}.compact-actions{display:none}}

.planner-workspace.planner-multiple{overflow:clip}

/* Three short decisions per passenger; the same path for every requester. */
.trip-stage-path{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;padding:0 0 20px;margin:0 0 24px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.trip-stage-path [aria-current]{color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:6px}
#planner-form .payment-options{margin:0;padding:0;border:0;min-width:0;display:grid;gap:12px}
#planner-form .payment-options>legend{font:600 17px/1.5 var(--sans);padding:0 0 16px;margin:0;letter-spacing:0}
#planner-form .payment-option{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--surface);color:var(--ink);min-width:0}
#planner-form .payment-option:has(input:checked){border:2px solid var(--brand);padding:17px}
#planner-form .payment-option:focus-within{outline:2px solid var(--brand);outline-offset:3px}
#planner-form .payment-option input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--brand)}
#planner-form .payment-option strong{display:block;font:600 16px/1.5 var(--sans)}
#planner-form .payment-option small{display:block;font-size:14px;line-height:1.65;color:var(--muted);margin-top:5px}
.payment-hint{font-size:14px;line-height:1.65;color:var(--muted);margin:4px 0 14px}
@media(max-width:600px){.trip-stage-path{font-size:12px;gap:12px}.payment-option{padding:15px}}

/* Keep context help readable and disclosure text stationary. */
.time-explanation{border-left:3px solid var(--brand);padding:4px 0 4px 16px}.time-explanation p{font-size:14px;line-height:1.65;margin:5px 0}.context-note{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.context-note[hidden]{display:none!important}.planner-preparation>details>summary{display:flex;flex-wrap:wrap;gap:6px 18px}.planner-preparation>details>summary>span{transform:none;font-size:14px;margin:0}.planner-preparation>details:not([open])>.fs-preparation-links{display:none}
