/* Reference: desktop/mobile crew-on-form recordings supplied by the user. */
.desk {grid-template-columns:minmax(220px,.6fr) minmax(0,1fr)!important;grid-template-areas:"summary summary" "intro plan" "time time" "air air" "budget budget" "crate crate" "docs docs"!important;align-items:start;}
.crew-plan-intro {grid-area:intro;padding:30px 22px 20px 0;}
.crew-plan-intro>span {font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted);}
.crew-plan-intro h2 {font-size:clamp(28px,3vw,42px);line-height:1.1;margin:16px 0;}
.crew-plan-intro p {font-size:18px;line-height:1.6;color:var(--muted);max-width:30ch;}
.crew-plan-card {grid-area:plan;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 12px 36px #0001;overflow:hidden;min-width:0;scroll-margin-top:90px;}
.crew-plan-card .a-chat,.crew-plan-card .a-edit {border:0!important;box-shadow:none!important;margin:0!important;background:transparent!important;border-radius:0!important;}
.crew-plan-card .a-chat {padding:18px 22px 12px!important;}
.crew-plan-card .a-chat>.panel-h,.crew-plan-card .dino-wrap,.crew-plan-card .chips {display:none!important;}
.crew-plan-card .crew-stick {display:block!important;}
.crew-plan-card .crew-stick>.panel-b {padding:0!important;margin:0!important;}
.crew-plan-card #chat-on {gap:10px!important;}
.crew-plan-card .composer {order:-2;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:28px;padding:5px 6px 5px 14px;}
.crew-plan-card .composer textarea {min-height:42px!important;height:42px;border:0!important;background:transparent!important;resize:vertical;padding:9px 2px;flex:1;min-width:0;box-shadow:none!important;}
.crew-plan-card .composer .actions {display:flex;gap:4px;flex:none;}
.crew-plan-card .composer #send {border-radius:50%;min-width:42px;min-height:42px;padding:7px;font-size:12px;}
.crew-plan-card .composer #stop {padding:5px;font-size:12px;}
.crew-plan-card #crew-latest {order:-1;font-size:14px;line-height:1.6;padding:0 8px;}
.crew-plan-card #crew-latest p {margin:0;}
.crew-plan-card #log {display:none!important;max-height:260px;overflow:auto;}
.crew-plan-card.conversation-expanded #log {display:grid!important;}
.crew-history-toggle {justify-self:start;background:transparent;border:0;text-decoration:underline;color:var(--muted);font:inherit;font-size:12px;padding:4px 8px;cursor:pointer;}
.crew-plan-card .chat-note {padding:4px 8px 16px;margin:0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5;}
.crew-plan-card .a-edit>.panel-h {padding:18px 22px;}
.crew-plan-card .a-edit>.panel-b {padding:0 22px 22px;}
.crew-plan-card .crew-filled {background:color-mix(in srgb,var(--teal) 7%,var(--surface))!important;}
.crew-plan-card .crew-asked {background:color-mix(in srgb,#ffcb52 8%,var(--surface))!important;}
@media(max-width:760px){
 .desk {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"summary" "intro" "plan" "time" "air" "budget" "crate" "docs"!important;}
 .crew-plan-intro {padding:12px 4px 4px;}
 .crew-plan-intro h2 {font-size:30px;margin:10px 0;}
 .crew-plan-intro p {font-size:16px;max-width:none;margin:8px 0;}
 .crew-plan-card .a-chat {padding:16px 15px 10px!important;}
 .crew-plan-card .a-edit>.panel-h {padding:16px 15px;}
 .crew-plan-card .a-edit>.panel-b {padding:0 15px 18px;}
 .crew-plan-card .crew-stick {height:auto!important;}
 .crew-plan-card .crew-close {display:none!important;}
}
body.onboarding .desk {grid-template-columns:minmax(220px,.6fr) minmax(0,1fr)!important;grid-template-areas:"summary summary" "intro plan" "time time" "air air" "budget budget" "crate crate" "docs docs"!important;grid-template-rows:none!important;}
.crew-plan-card .a-edit>summary {display:none!important;}
.crew-plan-card .composer::before {content:"";width:32px;height:32px;flex:none;border-radius:50%;background:#26324a url('/brand/approved/airport-crew-clean-v2.webp') -116px -17px / 260px auto no-repeat;}
.crew-plan-card #crew-latest {border-left:3px solid var(--teal);padding-left:12px;}
@media(max-width:760px){body.onboarding .desk{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"summary" "intro" "plan" "time" "air" "budget" "crate" "docs"!important;grid-template-rows:none!important;}}
.crew-trip-title {font-size:15px;font-weight:700;margin:4px 0 16px;}
.crew-plan-card #form {padding-top:18px!important;}
/* Keep the form dense enough to inspect the fields while reading Dino's reply. */
.crew-plan-card #form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;}
.crew-plan-card #form>.row2,.crew-plan-card #pets .row2 {display:contents;}
.crew-plan-card #form>.field,.crew-plan-card #form>.actions,.crew-plan-card #form>.startbar,.crew-plan-card .crew-trip-title,.crew-plan-card #passfirst-on {grid-column:1/-1;}
.crew-plan-card #pets .pet {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;padding:12px;}
.crew-plan-card .pet-top {grid-column:1/-1;}
.crew-plan-card .field {gap:5px;}
.crew-plan-card .field label {font-size:12px;}
.crew-plan-card .field input,.crew-plan-card .field select {min-height:44px!important;padding:9px 10px;}
.crew-plan-card .crew-trip-title {margin:0;}
@media(max-width:760px){.crew-plan-card #form,.crew-plan-card #pets .pet{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:350px){.crew-plan-card #form,.crew-plan-card #pets .pet{grid-template-columns:minmax(0,1fr);}}
.crew-plan-card .composer #send {font-size:0;}
.crew-plan-card .composer #send::after {content:"→";font-size:22px;}
/* Dino's dedicated chat portrait, designed for small circular avatars. */
.crew-plan-card .composer::before {background:#c7c6df url('/brand/approved/dino-headshot-v2-128.webp') center / cover no-repeat;width:36px;height:36px;box-shadow:0 0 0 1px #76c6bc66;}
.crew-avatar-photo.approved-avatar-dino, :is(.botrow,.crew-faces,.crew-field-tag) .crew-avatar-photo.approved-avatar-dino {background:#c7c6df!important;object-fit:cover!important;object-position:center!important;}
.crew-field-tag .crew-avatar-photo.approved-avatar-dino {display:block;width:20px!important;height:20px!important;border-radius:50%;background:none!important;}
.crew-field-tag:has(.crew-avatar-photo.approved-avatar-dino) .dino-ava {display:none;}
#airport-landing .airport-avatar-dino {background-color:#c7c6df;background-image:url('/brand/approved/dino-headshot-v2-128.webp');background-position:center;background-size:cover;}
#airport-landing .airport-avatar-toula {background-image:url('/brand/approved/toula-chat-portrait-v1.webp');background-position:center;background-size:cover;}
#airport-landing .airport-avatar-pinot {background-image:url('/brand/approved/pinot-chat-portrait-v1.webp');background-position:center;background-size:cover;}
/* The welcome conversation and route fields are one card, with no floating chat. */
#airport-landing .airport-connected-card {position:absolute;z-index:3;left:4.25%;top:336px;width:46%;padding:22px;border:1px solid #354b68;border-radius:24px;background:#080f1ef5;box-shadow:0 16px 40px #0004;}
#airport-landing .airport-connected-card .airport-chat,#airport-landing .airport-connected-card .airport-planner {position:static;width:100%;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
#airport-landing .airport-connected-card .airport-chat {display:flex;flex-direction:column;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #354b68;}
#airport-landing .airport-connected-card .airport-chat-title {color:#f8faff!important;}
#airport-landing .airport-connected-card .airport-chat>p {color:#b9c4dc!important;}
#airport-landing .airport-connected-card .airport-avatars {position:absolute;right:18px;top:-32px;gap:6px;}
#airport-landing .airport-connected-card .airport-avatar-approved {width:48px;height:48px;flex-basis:48px;box-shadow:0 4px 12px #0006;}
#airport-landing .airport-connected-card .airport-chat-form {order:1;margin:8px 0 12px;}
#airport-landing .airport-connected-card .airport-chat-greeting {order:2;margin-bottom:4px;background:#142036;color:#edf0ff!important;}
#airport-landing .airport-connected-card #airport-chat-status {order:3;margin-bottom:0;}
#airport-landing .airport-connected-card select.crew-filled {outline:2px solid #8292ff!important;outline-offset:2px;}
@media(min-width:761px){#airport-landing .airport-stage{height:940px;}}
@media(max-width:760px){#airport-landing .airport-connected-card{position:relative;order:2;left:auto;top:auto;width:100%;padding:18px;margin-top:16px;}#airport-landing .airport-connected-card .airport-form-fields{grid-template-columns:1fr 1fr;}#airport-landing .airport-connected-card .airport-form-fields label:first-child{grid-column:1/-1;}}
:is(.botrow,.crew-faces) .crew-avatar-photo:is(.approved-avatar-toula,.approved-avatar-pinot) {background-image:none!important;object-fit:cover!important;object-position:center!important;}
.crew-plan-card #crew-latest:not([hidden]) {display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 10px;border:0;padding:4px 8px;align-items:start;}
.crew-reply-portrait {display:block;width:36px;height:36px;object-fit:cover;object-position:center 30%;background:#c7c6df;border-radius:50%;grid-row:1 / span 2;}
.crew-plan-card #crew-latest p,.crew-plan-card #crew-latest .crew-fill-count {grid-column:2;}
