:root{
  --bg:#f4f7f4;--surface:#fff;--ink:#17211b;--muted:#607068;--line:#dce5df;
  --brand:#214f38;--brand2:#31704f;--soft:#eaf2ed;--warn:#925c16;--error:#a53a35;
  --shadow:0 10px 30px rgba(24,48,34,.08);--radius:18px
}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer;max-width:100%}
img{max-width:100%;height:auto}
.hidden{display:none!important}
.topbar{min-height:72px;padding:12px clamp(18px,4vw,52px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;letter-spacing:.04em}
.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--muted)}
.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav a,.link-button{color:var(--brand);text-decoration:none;font-weight:650}
.link-button{border:0;background:none}
.page{max-width:1280px;margin:0 auto;padding:34px 24px 80px}
.page-head,.trip-title-row,.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.page-head{margin-bottom:24px}
h1{font-size:clamp(30px,5vw,48px);line-height:1.05;margin:4px 0 8px}h2{margin:0 0 6px;font-size:21px}h3{margin:0}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--brand2);margin:0}
.muted{color:var(--muted);margin:4px 0}.small{font-size:12px}
.primary,.secondary,.back-button,.upload-label{border-radius:10px;padding:10px 15px;font-weight:750;border:1px solid transparent}
.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand2)}
.secondary,.upload-label{background:#fff;color:var(--brand);border-color:#b9cabf}.secondary:hover,.upload-label:hover{background:var(--soft)}
.back-button{padding-left:0;background:none;border:0;color:var(--brand)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin:18px 0}
.trip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.trip-card-shell{position:relative;display:grid}
.trip-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px 20px 54px;box-shadow:var(--shadow);width:100%;height:100%}
.trip-card:hover{border-color:#92b09e;transform:translateY(-1px)}
.trip-card strong{font-size:22px}.trip-country{color:var(--brand2);font-weight:750}.trip-card-foot{font-size:12px;color:var(--muted)}
.danger-link{border:0;background:none;color:var(--error);font-weight:750;padding:7px 9px;border-radius:8px}.danger-link:hover{background:#fff0ef}.danger-link:disabled{opacity:.55;cursor:wait}.delete-trip{position:absolute;left:12px;bottom:10px}.bird-card-actions{display:flex;justify-content:flex-end;margin-top:10px;padding-top:8px;border-top:1px solid #edf1ee}
.trip-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.location-chips,.opportunity-row{display:flex;gap:8px;flex-wrap:wrap}
.location-chip,.opportunity-row span{background:var(--soft);border:1px solid #d8e8dd;border-radius:999px;padding:7px 11px}
.location-chip{display:flex;gap:7px;align-items:center}.location-chip small{color:var(--muted)}
.filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(170px,.7fr) auto;gap:12px;align-items:end;margin:18px 0}
label{display:grid;gap:6px;font-weight:650;color:#34453b}
input,select{width:100%;border:1px solid #c7d4cc;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink)}
.check-line,.switch-label{display:flex;align-items:center;gap:8px}.check-line input,.switch-label input{width:auto}
.bird-list{display:grid;gap:14px}
.bird-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}
.bird-main{display:grid;grid-template-columns:auto minmax(0,1fr) 170px;gap:14px;align-items:start}
.bird-identity h3{font-size:20px}.bird-identity p{margin:2px 0}.tracking-select{font-size:12px}
.bird-thumb{width:72px;height:72px;border:1px solid var(--line);border-radius:12px;padding:0;overflow:hidden;background:var(--soft)}
.bird-thumb img{width:100%;height:100%;object-fit:cover}.thumb-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:12px;color:var(--muted)}
.opportunity-row{margin-top:9px}.opportunity-row span{font-size:11px;padding:4px 8px}
.priority-note{color:var(--warn);font-weight:800!important;font-size:12px;margin-top:7px!important}
.location-matrix{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0;padding:10px 0;border-top:1px solid #edf1ee;border-bottom:1px solid #edf1ee}
.location-matrix label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.location-matrix input{width:auto}
.status-grid{display:grid;gap:8px}
.status-row{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(3,minmax(86px,.7fr));gap:8px}
.sex-label{border:0;background:none;text-align:left;color:var(--brand);font-weight:800}
.sex-image-control{display:flex;align-items:center;gap:10px;min-width:0;padding:2px 0}
.sex-image-thumb{width:54px;height:54px;flex:0 0 54px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--soft);display:grid;place-items:center;color:var(--muted);font-size:10px;line-height:1.15;text-align:center}
.sex-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.status-check{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:8px 10px;border-radius:9px;font-size:12px;background:#fafcfa}
.status-check.done{background:#e5f3e9;border-color:#b9dbc3}.status-check input{width:auto}
.empty-state{border:1px dashed #b8c9bf;border-radius:16px;padding:30px;text-align:center;background:#f9fbf9;grid-column:1/-1}.empty-state.compact{padding:14px}
.notice{max-width:1280px;margin:0 auto 14px;padding:12px 15px;border-radius:10px;background:#e7f4eb;border:1px solid #b5d7bf;color:#245b36}
.notice.error{background:#fff0ef;border-color:#e1b3af;color:var(--error)}
dialog{border:0;border-radius:18px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.25);width:min(94vw,540px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
dialog.wide{width:min(94vw,720px)}
dialog.image-wide{width:min(94vw,760px)}

dialog::backdrop{background:rgba(13,23,17,.52)}
.dialog-form{display:grid;gap:15px;padding:22px;width:100%;max-width:100%;min-width:0;max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden}
.dialog-form.wide,.image-dialog{width:100%;max-width:100%;min-width:0}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head button{border:0;background:none;font-size:26px}
.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0}
.import-bird-list{max-height:320px;max-width:100%;min-width:0;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:12px;padding:10px}
.import-bird-list label{display:flex;align-items:flex-start;gap:8px;padding:8px;border-bottom:1px solid #edf1ee;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.import-bird-list label strong,.import-bird-list label em{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.import-bird-list input{width:auto;flex:0 0 auto;margin-top:3px}
.selected-image{margin:0;max-width:100%;min-width:0;overflow:hidden}.selected-image img{display:block;width:auto;height:auto;max-width:100%;max-height:58vh;object-fit:contain;margin:auto;border-radius:12px}
.commons-viewer,#commonsImageStage{max-width:100%;min-width:0;overflow-x:hidden}
.selected-image figcaption{font-size:12px;color:var(--muted);margin-top:7px;text-align:center}
.image-toolbar{display:flex;gap:10px;flex-wrap:wrap}.upload-label{display:inline-flex;cursor:pointer}.upload-label input{display:none}
.permission-box{display:grid;gap:9px;border:1px solid var(--line);padding:12px;border-radius:12px}.permission-box label{display:flex;gap:8px}.permission-box input{width:auto}
.carousel-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin:10px 0}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));gap:16px;min-width:0}.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.review-card>img{width:100%;height:270px;object-fit:contain;background:#eef3ef}.review-body{padding:16px;display:grid;gap:8px}.review-body p{margin:0}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-shell{width:min(100%,460px)}.auth-card{margin-top:18px}
.auth-card form{display:grid;gap:14px}.text-link{color:var(--brand)}.message.error{color:var(--error)}
@media(max-width:780px){
  .topbar{align-items:flex-start}.topbar nav{gap:10px;font-size:12px;flex-wrap:wrap;justify-content:flex-end}
  .page{padding:24px 14px 60px}.page-head,.trip-title-row,.section-head{display:block}
  .trip-actions{justify-content:flex-start;margin-top:14px}
  .filters{grid-template-columns:1fr 1fr}.filters button{grid-column:1/-1}
  .bird-main{grid-template-columns:auto 1fr}.tracking-select{grid-column:1/-1}
  .status-row{grid-template-columns:1fr 1fr 1fr 1fr}.sex-label{font-size:12px}
}
@media(max-width:520px){
  .brand strong{font-size:13px}.brand-mark{width:38px;height:38px}
  .topbar nav a:nth-child(1){display:none}
  .filters{grid-template-columns:1fr}
  .filters button{grid-column:auto}
  .bird-main{grid-template-columns:62px 1fr}.bird-thumb{width:58px;height:58px}
  .location-matrix{display:grid;grid-template-columns:1fr 1fr}
  .location-matrix strong{grid-column:1/-1}
  .status-row{grid-template-columns:1fr;gap:5px;border-top:1px solid #edf1ee;padding-top:8px}
  .sex-label{padding:5px 0}.sex-image-control{justify-content:flex-start}.sex-image-thumb{width:48px;height:48px;flex-basis:48px}
  .status-check{justify-content:space-between}
  .two-col{grid-template-columns:1fr}
}

.share-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}

.integrated-version{margin-top:28px;padding:16px 20px;text-align:center;font-size:12px;opacity:.72;border-top:1px solid rgba(0,0,0,.12)}

/* Trip Planner V1.3: bird category summary/filter and location editing */
.category-summary-card{padding-bottom:16px}
.category-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.category-chip{display:flex;align-items:center;gap:8px;border:1px solid #cbd9d0;background:#f8fbf9;color:var(--ink);border-radius:999px;padding:8px 12px}
.category-chip strong{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px}
.category-chip span{font-weight:750;font-size:13px}
.category-chip:hover,.category-chip.active{border-color:#7fa58d;background:var(--soft)}
.location-chip{padding-right:6px}
.location-edit{border:0;background:#fff;color:var(--brand);font-size:11px;font-weight:800;border-radius:999px;padding:4px 7px}
.location-edit:hover{background:#dcebe1}
.bird-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bird-category-badge{font-size:10px;font-weight:800;color:var(--brand);background:var(--soft);border:1px solid #d6e4da;border-radius:999px;padding:3px 7px}
@media(min-width:781px){.filters{grid-template-columns:minmax(155px,.9fr) minmax(155px,.9fr) minmax(155px,.9fr) minmax(155px,.8fr) auto}}

/* Trip Planner V1.5: high-level itinerary */
textarea{width:100%;border:1px solid #c7d4cc;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit;resize:vertical}
.itinerary-head{align-items:center}.itinerary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.itinerary-list{display:grid;gap:10px;margin-top:14px}
.itinerary-item{border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;display:grid;gap:7px}
.itinerary-item.subtask{margin-left:32px;border-left:4px solid #c6d9cd;background:#fbfdfb}
.itinerary-row-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.itinerary-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.itinerary-title strong{font-size:15px}
.itinerary-type{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);background:var(--soft);border:1px solid #d3e2d8;border-radius:999px;padding:3px 7px}
.itinerary-status{font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px;background:#f1f4f2;color:#526158}
.itinerary-status.booked,.itinerary-status.arranged,.itinerary-status.confirmed{background:#e8f4eb;color:#275b37}
.itinerary-status.completed{background:#dceee2;color:#1d5630}.itinerary-status.planned{background:#f3f0e2;color:#6d5c18}
.itinerary-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.itinerary-notes{font-size:12px;color:#415047;white-space:pre-wrap}
.itinerary-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.itinerary-controls button{padding:6px 9px;font-size:11px}
.subtask-place-fields{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafcfa;display:grid;gap:10px}
@media(max-width:780px){.itinerary-head{display:block}.itinerary-actions{justify-content:flex-start;margin-top:12px}.itinerary-row-top{display:block}.itinerary-controls{justify-content:flex-start;margin-top:8px}.itinerary-item.subtask{margin-left:14px}}
/* V1.5 journey-flow clarity */
.itinerary-list{position:relative}
.itinerary-item:not(.subtask){position:relative;margin-left:18px}
.itinerary-item:not(.subtask)::before{content:"";position:absolute;left:-18px;top:-11px;bottom:-11px;width:2px;background:#dbe5de}
.itinerary-item:not(.subtask)::after{content:"";position:absolute;left:-22px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:2px solid #fff}
.itinerary-item:not(.subtask):first-child::before{top:20px}
.itinerary-item:not(.subtask):last-child::before{bottom:calc(100% - 25px)}
@media(max-width:780px){.itinerary-item:not(.subtask){margin-left:12px}.itinerary-item:not(.subtask)::before{left:-12px}.itinerary-item:not(.subtask)::after{left:-16px}}

/* Trip Planner V1.6: robust trip-card navigation */
.trip-card.trip-open{text-decoration:none;color:var(--ink);cursor:pointer}
.trip-card.trip-open:focus-visible{outline:3px solid #7fa58d;outline-offset:2px}

/* Trip Planner V1.7: smart high-level journey */
.journey-setup{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:16px 0 8px;padding:14px;border:1px solid var(--border,#d9e0db);border-radius:14px;background:#f8faf8}
.journey-setup label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;min-width:0}
.journey-setup input{width:100%;min-width:0}
.journey-ai-note{margin:0 0 14px}
.itinerary-item .itinerary-type{white-space:nowrap}
@media (max-width:1100px){.journey-setup{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-setup button{min-height:44px}}
@media (max-width:700px){.journey-setup{grid-template-columns:1fr}.journey-setup input,.journey-setup button{min-height:44px}}
.itinerary-auto{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#e8f1ea;color:#31533b;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}

/* Trip Planner V1.8: visible smart-journey feedback */
.journey-status{margin:8px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid #b8d7c3;background:#edf8f0;color:#174b2b;font-weight:700}
.journey-status.error{border-color:#e4b2b2;background:#fff1f1;color:#8a2020}
.journey-status.hidden{display:none}


/* Trip Planner V1.9: one shared Main Locations area inside Smart Journey */
.smart-locations{margin:14px 0 8px;padding:14px;border:1px solid var(--border,#d9e0db);border-radius:14px;background:#fff}
.smart-locations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.smart-locations-head h3{margin:0 0 4px;font-size:17px}
.smart-locations-head p{margin:0}
.smart-locations .location-chips{margin-top:8px}
@media(max-width:700px){.smart-locations-head{flex-direction:column}.smart-locations-head button{width:100%}}


/* Trip Planner V2.1: vertical-only scrolling and responsive media */
.page,.card,.trip-grid,.trip-card-shell,.trip-card,.bird-list,.bird-card,.bird-main,.bird-identity,.status-grid,.location-matrix,.itinerary-list,.itinerary-item,.smart-locations,.journey-setup,.permission-box{min-width:0;max-width:100%}
.page-head>*,.trip-title-row>*,.section-head>*,.dialog-head>*,.bird-main>*,.itinerary-row-top>*{min-width:0;max-width:100%}
.bird-identity h3,.bird-identity p,.itinerary-title,.itinerary-notes,.dialog-head h2,.dialog-head p{overflow-wrap:anywhere}
input,select,textarea{max-width:100%;min-width:0}
.image-toolbar,.carousel-controls{max-width:100%}
@media(max-width:520px){
  dialog,dialog.wide,dialog.image-wide{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}
  .dialog-form{padding:16px}
  .dialog-actions>*{flex:1 1 auto}
  .carousel-controls{gap:8px;flex-wrap:wrap}
  .carousel-controls button{flex:1 1 auto}
}


/* V2.2 image selection feedback */
.image-action-status {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.image-action-status.success {
  border: 1px solid rgba(44, 120, 82, 0.35);
  background: rgba(44, 120, 82, 0.09);
}
.image-action-status.error {
  border: 1px solid rgba(160, 55, 55, 0.45);
  background: rgba(160, 55, 55, 0.08);
}

/* V2.4 personal image selection controls */
.selected-image-actions{display:flex;justify-content:flex-start;gap:10px;margin:8px 0 4px;max-width:100%}
.selected-image-actions .danger-link{width:auto}

/* Trip Planner V2.8: share modes + reliable print/PDF report */
.share-dialog{min-width:min(560px,calc(100vw - 36px))}
.share-mode-card{width:100%;text-align:left;border:1px solid #c7d4cc;background:#fff;color:var(--ink);border-radius:14px;padding:16px 18px;display:grid;gap:5px;margin:8px 0;cursor:pointer}
.share-mode-card:hover{border-color:#7fa58d;background:var(--soft)}
.share-mode-card strong{font-size:17px;color:var(--brand)}
.share-mode-card span{font-size:13px;line-height:1.45;color:#526158}

#printReport{display:none}
@media print{
  @page{margin:14mm}
  body>*:not(#printReport){display:none!important}
  #printReport{display:block!important;color:#111;background:#fff;font:12pt/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
  #printReport *{box-sizing:border-box}
  #printReport h1{font-size:24pt;margin:0 0 4mm}
  #printReport h2{font-size:16pt;margin:7mm 0 3mm;border-bottom:1px solid #bbb;padding-bottom:2mm}
  #printReport h3{font-size:13pt;margin:0 0 2mm}
  #printReport p{margin:1.5mm 0}
  #printReport .print-meta{display:flex;gap:5mm;flex-wrap:wrap;margin-bottom:5mm;color:#444}
  #printReport .print-location,#printReport .print-itinerary-item,#printReport .print-bird{break-inside:avoid;page-break-inside:avoid;border:1px solid #d8d8d8;border-radius:8px;padding:4mm;margin:0 0 3mm}
  #printReport .print-itinerary-item.child{margin-left:7mm}
  #printReport .print-bird-row{display:grid;grid-template-columns:24mm 1fr;gap:4mm;align-items:start}
  #printReport .print-bird img{width:24mm;height:24mm;object-fit:cover;border-radius:5px}
  #printReport table{width:100%;border-collapse:collapse;margin-top:2mm}
  #printReport th,#printReport td{border:1px solid #ddd;padding:2mm;text-align:left;font-size:10.5pt}
  #printReport th{background:#f1f1f1}
  #printReport .yes{font-weight:700}
  #printReport .print-filter{font-size:10.5pt;color:#555;margin-bottom:4mm}
}

/* Trip Planner V2.9: Target Bird collapse controls, summaries and card boundaries */
.target-display-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.target-display-actions .secondary{padding:8px 11px;font-size:12px}
.bird-card{border-color:#cfdad3;box-shadow:0 3px 12px rgba(24,48,34,.05);overflow:hidden}
.bird-card+.bird-card{margin-top:2px}
.bird-main{grid-template-columns:auto minmax(0,1fr) 170px}
.bird-main.no-thumb{grid-template-columns:minmax(0,1fr) 170px}
.bird-card-controls{display:grid;gap:9px;align-content:start}
.bird-collapse-toggle{width:100%;padding:8px 10px;font-size:12px}
.bird-status-summary{display:inline-flex;align-items:center;border:1px solid #cad7cf;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap;background:#f3f6f4;color:#425249}
.bird-status-summary.complete{background:#e5f3e9;border-color:#b9dbc3;color:#245b35}
.bird-status-summary.photo_pending,.bird-status-summary.video_pending{background:#f8f3e3;border-color:#e2d5a7;color:#705b18}
.bird-status-summary.pending_all{background:#faecea;border-color:#e7c5c0;color:#843d35}
.bird-summary-detail{margin-top:4px;color:var(--muted);font-size:11px;font-weight:650}
.bird-card-details{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.bird-card.is-collapsed{padding-top:12px;padding-bottom:12px}
.bird-card.is-collapsed .bird-expanded-only,.bird-card.is-collapsed .bird-card-details{display:none!important}
.bird-card.is-collapsed .bird-main{align-items:center}
.bird-card.is-collapsed .bird-thumb{width:54px;height:54px}
.status-row+.status-row{border-top:1px solid #edf1ee;padding-top:8px}
@media(max-width:700px){
  .target-display-actions{justify-content:flex-start;margin-top:8px}
  .bird-main{grid-template-columns:auto minmax(0,1fr)}
  .bird-card-controls{grid-column:1/-1;display:flex;align-items:end;gap:8px}
  .bird-card-controls .bird-collapse-toggle{width:auto;flex:0 0 auto}
  .bird-card-controls .tracking-select{flex:1 1 auto}
  .bird-card.is-collapsed .bird-card-controls{grid-column:auto;align-self:center;justify-content:flex-end}
}

/* Trip Planner V3.0: simple trip view chooser */
.trip-title-simple{margin-bottom:10px}
.trip-view-chooser{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 22px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trip-view-button{border:1px solid #9fb7a8;border-radius:10px;background:#fff;color:var(--brand);padding:10px 16px;font-weight:800;min-width:140px}
.trip-view-button:hover{background:var(--soft)}
.trip-view-button.active{background:var(--brand);border-color:var(--brand);color:#fff}
.trip-view-section{min-width:0;max-width:100%}
.target-trip-actions{margin:0 0 8px;justify-content:flex-end}
@media(max-width:700px){
  .trip-view-chooser{display:grid;grid-template-columns:1fr}
  .trip-view-button{width:100%;min-width:0}
  .target-trip-actions{justify-content:flex-start}
}


/* WKH Integrated V18.0 Phase 1: destination hierarchy */
.destination-list{display:grid;gap:16px;width:100%}
.destination-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;display:grid;gap:12px}
.destination-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.destination-head>div{display:grid;gap:3px}.destination-head>div>strong{font-size:19px;color:var(--brand)}.destination-head small{color:var(--muted)}
.trip-place-section{border:1px solid #e1e8e3;border-radius:12px;padding:12px;background:#fbfcfb}
.trip-place-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.trip-place-head .secondary{padding:6px 10px;font-size:12px}
.trip-place-list{display:grid;gap:7px}.trip-place-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;border:1px solid #e4ebe6;border-radius:10px;background:#fff}
.trip-place-item>div:first-child{display:grid;gap:2px}.trip-place-item small{display:block;color:var(--muted);font-size:11px}.trip-place-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.small-button{padding:6px 9px;font-size:11px;text-decoration:none}
.place-setup-note{width:100%;padding:12px 14px;margin-bottom:12px;border:1px solid #dec98e;background:#fff8df;border-radius:10px;font-size:12px;line-height:1.5}.place-setup-note code{font-size:11px}
@media(max-width:700px){.destination-head,.trip-place-item{align-items:flex-start;flex-direction:column}.destination-head .secondary{width:100%}.trip-place-actions{width:100%}}


/* V18.0 targeted patch: validated Country and Starting Point autocomplete */
.autocomplete-field{position:relative;min-width:0}
.autocomplete-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:1000;max-height:240px;overflow-y:auto;border:1px solid #b9cabf;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(24,48,34,.16);padding:5px}
.autocomplete-option{display:block;width:100%;border:0;background:#fff;color:var(--ink);text-align:left;padding:10px 11px;border-radius:7px;font-weight:650}
.autocomplete-option:hover,.autocomplete-option:focus{background:var(--soft);outline:none}
.autocomplete-empty{padding:10px 11px;color:var(--muted);font-size:12px}
.field-help{font-size:11px;line-height:1.35;color:var(--muted);font-weight:500}


/* V18.0 targeted patch: Single Country / Multi Country Create Trip */
.trip-type-fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0;min-width:0}
.trip-type-fieldset legend{padding:0 6px;font-weight:750;color:#34453b}
.trip-type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trip-type-option{display:flex;align-items:flex-start;gap:9px;border:1px solid #c7d4cc;border-radius:10px;padding:10px 11px;background:#fff;cursor:pointer}
.trip-type-option:has(input:checked){border-color:#7fa58d;background:var(--soft)}
.trip-type-option input{width:auto;margin-top:3px;flex:0 0 auto}
.trip-type-option span{display:grid;gap:2px}.trip-type-option strong{font-size:13px}.trip-type-option small{font-size:11px;color:var(--muted);font-weight:500}
.destination-country-block{display:grid;gap:9px}
.destination-country-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.destination-country-head>div{display:grid;gap:3px}.destination-country-head strong{color:#34453b}
.destination-country-rows{display:grid;gap:9px}
.destination-country-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.destination-country-row>.autocomplete-field:only-child{grid-column:1/-1}
.destination-country-row .danger-link{margin-top:2px}
@media(max-width:520px){.trip-type-options{grid-template-columns:1fr}.destination-country-head{align-items:flex-start;flex-direction:column}.destination-country-head .secondary{width:100%}.destination-country-row{grid-template-columns:1fr}.destination-country-row .danger-link{justify-self:start}}

/* WKH Integrated V18.0 Phase 1D: WKH Travel guidance for Things to Do */
.wkh-guidance-card{border:1px solid #c8d9ce;border-radius:14px;background:#f7fbf8;padding:14px;display:grid;gap:12px}
.wkh-guidance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.wkh-guidance-head>div{display:grid;gap:2px}.wkh-guidance-head strong{font-size:16px;color:var(--brand)}
.wkh-guidance-badge{display:inline-flex;align-items:center;border:1px solid #b8d6c2;border-radius:999px;background:#e7f4eb;color:#245b36;padding:4px 8px;font-size:10px;font-weight:850;white-space:nowrap}
.wkh-guidance-loading{color:var(--muted);font-size:12px;font-weight:650;padding:8px 0}
.wkh-guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wkh-guidance-block{border:1px solid #dfe9e2;border-radius:10px;background:#fff;padding:10px 11px}
.wkh-guidance-block strong{display:block;color:#34453b;font-size:12px;margin-bottom:4px}
.wkh-guidance-block p{margin:0;color:#415047;font-size:12px;line-height:1.45}
.wkh-guidance-block ul{margin:4px 0 0;padding-left:18px;color:#415047;font-size:12px;line-height:1.45}
#placeGuidanceBasis{margin:0;line-height:1.45}
#placeRecommendationResults{display:grid;gap:8px;margin-top:8px}
@media(max-width:620px){.wkh-guidance-head{flex-direction:column}.wkh-guidance-grid{grid-template-columns:1fr}.wkh-guidance-badge{white-space:normal}}


/* WKH Integrated V18.0 Phase 1E1: Trip Focus foundation */
.trip-focus-fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0;min-width:0;display:grid;gap:10px;background:#fbfcfb}
.trip-focus-fieldset legend{padding:0 6px;font-weight:750;color:#34453b}
.trip-focus-fieldset>p{margin:0}
.trip-focus-summary{font-weight:650;color:#415047}


/* WKH Integrated V18.0 Phase 1E2: Stay Search + Help Me Choose */
.stay-context-card{border:1px solid #dfe8e2;border-radius:12px;background:#f8fbf9;padding:11px 12px;display:grid;gap:3px}
.stay-context-card strong{color:var(--brand);font-size:13px}.stay-context-card p{margin:0}
#placeStayRecommendationResults{display:grid;gap:8px;margin-top:8px}
.stay-recommendation-item small+small{margin-top:2px}
#placeStayGuidance .wkh-guidance-block+#placeStayGuidance .wkh-guidance-block{margin-top:0}

/* V18.1 single-country guided workflow */
.create-trip-step-one{max-width:620px}
.create-trip-step-one .dialog-head{align-items:flex-start}
.create-trip-step-one .eyebrow{margin:0 0 3px}
.inline-help{display:inline;margin-left:6px;font-weight:500}
.workflow-step-note{padding:10px 12px;border-radius:10px;background:#f3f7f4;border:1px solid var(--line)}
.journey-setup input[readonly]{background:#f3f5f3;color:#516057;cursor:default}

/* WKH Trip Planner V18.2: compact destination summary and guided Add Destination */
.destination-trip-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:4px 0 10px;border-radius:12px;background:var(--soft);color:var(--brand)}
.destination-trip-total span{color:var(--muted);font-weight:600}
.destination-list{gap:10px}
.destination-card.destination-accordion{padding:0;overflow:hidden;display:block}
.destination-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}
.destination-summary::-webkit-details-marker{display:none}
.destination-summary::marker{display:none;content:""}
.destination-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-weight:800}
.destination-summary-text{display:grid;gap:2px;min-width:0}
.destination-summary-text strong{font-size:17px;color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.destination-summary-text span{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.destination-nights{font-weight:700;white-space:nowrap;color:#34453b}
.destination-chevron{font-size:22px;line-height:1;transition:transform .15s ease;color:var(--muted)}
.destination-accordion[open] .destination-chevron{transform:rotate(180deg)}
.destination-accordion[open] .destination-summary{border-bottom:1px solid var(--line);background:#fbfcfb}
.destination-details{padding:14px 16px 16px;display:grid;gap:12px}
.destination-main-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:end;padding:10px 12px;border-radius:12px;background:var(--soft)}
.destination-main-row>div{display:grid;gap:2px}
.destination-detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.destination-empty-state{display:grid;gap:4px;padding:14px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
.destination-empty-state strong{color:var(--brand)}
.current-destination-summary{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}
.current-destination-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.current-destination-head>div{display:grid;gap:2px}
.current-destination-head span{font-size:12px;color:var(--muted)}
.current-destination-head>strong{white-space:nowrap;color:var(--brand)}
.current-destination-list{margin:0;padding-left:24px;display:grid;gap:5px;color:#34453b}
.current-destination-empty{display:grid;gap:3px}
.current-destination-empty span{font-size:12px;color:var(--muted)}
.destination-search-help{line-height:1.5}
.destination-search-help>span{display:inline-block;margin-top:4px}
@media(max-width:700px){.destination-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:9px}.destination-chevron{grid-column:3}.destination-nights{grid-column:2;grid-row:2}.destination-main-row{grid-template-columns:1fr 1fr}.destination-main-row .secondary{grid-column:1/-1;width:100%}.current-destination-head{flex-direction:column}.destination-trip-total{align-items:flex-start;flex-direction:column}}

/* WKH Trip Planner V18.3: destination activity dates and stay check-in/out times */
.trip-place-item-scheduled{align-items:flex-start}
.trip-place-main{display:grid!important;gap:4px;min-width:0;flex:1 1 auto}
.place-schedule-controls{margin-top:8px;padding-top:8px;border-top:1px solid #edf1ee;min-width:0}
.place-schedule-controls label{font-size:11px;color:#44544b}
.place-schedule-controls input,.place-schedule-controls select{padding:7px 8px;font-size:12px;min-height:36px}
.stay-time-controls{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr);gap:10px;max-width:360px}
.thing-date-control{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:8px 12px;align-items:end}
.thing-date-control .field-help{align-self:center}
@media(max-width:700px){
  .stay-time-controls,.thing-date-control{grid-template-columns:1fr;max-width:none;width:100%}
  .trip-place-item-scheduled{width:100%}
}


/* WKH Trip Planner V18.7.2: readable Duffel flight comparison */
#flightSearchResults{display:grid;gap:14px;margin-top:14px}
.flight-test-banner{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid #d9c27f;border-radius:12px;background:#fff8dc;color:#5d4a12}
.flight-test-banner strong{flex:0 0 auto;font-size:13px;letter-spacing:.04em}
.flight-test-banner span{font-size:14px;line-height:1.45}
.flight-results-head{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:6px 2px}
.flight-results-head>div{display:grid;gap:3px}
.flight-results-head>div>strong{font-size:18px;color:var(--ink)}
.flight-results-head>div>span{font-size:13px;color:var(--muted)}
.flight-airline-preference{min-width:220px;font-size:13px}
.flight-sort-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0 4px}
.flight-sort-button{border:1px solid #a9bdb0;border-radius:999px;background:#fff;color:var(--brand);padding:9px 14px;font-weight:800;font-size:13px}
.flight-sort-button:hover{background:var(--soft)}
.flight-sort-button.active{background:var(--brand);border-color:var(--brand);color:#fff}
.flight-result-list{display:grid;gap:14px}
.flight-card{border:1px solid #ccd9d1;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(24,48,34,.06);padding:18px;display:grid;gap:14px}
.flight-card-test{border-style:dashed;background:#fffdf6}
.flight-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:4px}
.flight-airline-title{display:grid;gap:6px}
.flight-airline-title>strong{font-size:22px;line-height:1.2;color:var(--ink)}
.flight-badge-row{display:flex;gap:6px;flex-wrap:wrap;min-height:21px}
.flight-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;letter-spacing:.05em}
.flight-badge.best{background:#e2f1e7;color:#1d5832;border:1px solid #b6d7c0}
.flight-badge.test{background:#fff0c7;color:#705812;border:1px solid #e4cd87}
.flight-badge.selected{background:var(--brand);color:#fff}
.flight-price{font-size:22px;line-height:1.2;white-space:nowrap;color:var(--brand)}
.flight-leg{border:1px solid #e0e8e3;border-radius:13px;background:#fafcfa;padding:13px 14px;display:grid;gap:9px}
.flight-leg-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:var(--muted)}
.flight-route{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,.8fr) minmax(100px,1fr);gap:14px;align-items:center}
.flight-airport{display:grid;gap:1px}
.flight-airport strong{font-size:27px;line-height:1;color:var(--ink);letter-spacing:.02em}
.flight-airport span{font-size:18px;font-weight:800;color:#34453b}
.flight-airport-arrival{text-align:right}
.flight-route-middle{text-align:center;display:grid;gap:1px;padding:0 8px;position:relative}
.flight-route-middle::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#cbd8d0;z-index:0}
.flight-route-middle strong,.flight-route-middle span{position:relative;z-index:1;background:#fafcfa;padding:0 6px;width:max-content;max-width:100%;margin:0 auto}
.flight-route-middle strong{font-size:15px;color:var(--brand);text-transform:uppercase}
.flight-route-middle span{font-size:17px;font-weight:800;color:var(--ink)}
.flight-leg-meta{display:flex;gap:10px 18px;flex-wrap:wrap;padding-top:3px;color:var(--muted);font-size:13px;font-weight:650}
.flight-card-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:2px}
.flight-card-footer>div{display:grid;gap:3px;color:var(--muted);font-size:12px}
.flight-test-note{color:#705812}
.flight-card-footer .primary{min-width:150px;min-height:44px;font-size:15px}
.selected-flight-card{border:2px solid #9fc2aa;border-radius:16px;background:#f4faf6;padding:16px;display:grid;gap:12px;margin:12px 0}
.selected-flight-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.selected-flight-head>div{display:grid;gap:6px}
.selected-flight-head>div>strong{font-size:20px}
.flight-small-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}

@media(max-width:760px){
  .flight-results-head{align-items:stretch;flex-direction:column}
  .flight-airline-preference{min-width:0;width:100%}
  .flight-sort-toolbar{display:grid;grid-template-columns:1fr 1fr}
  .flight-route{grid-template-columns:1fr auto 1fr;gap:8px}
  .flight-airport strong{font-size:22px}
  .flight-airport span{font-size:15px}
  .flight-route-middle span{font-size:14px}
  .flight-card-head,.flight-card-footer,.selected-flight-head{align-items:stretch;flex-direction:column}
  .flight-price{font-size:20px}
  .flight-card-footer .primary{width:100%}
}
@media(max-width:480px){
  .flight-sort-toolbar{grid-template-columns:1fr}
  .flight-card{padding:13px}
  .flight-leg{padding:11px}
  .flight-route{grid-template-columns:1fr;gap:7px}
  .flight-airport-arrival{text-align:left}
  .flight-route-middle{text-align:left;padding:4px 0;border-top:1px solid #dbe5de;border-bottom:1px solid #dbe5de}
  .flight-route-middle::before{display:none}
  .flight-route-middle strong,.flight-route-middle span{margin:0;padding:0;background:transparent}
}


/* WKH Trip Planner V18.7.3: selected flight handoff to updated Smart Journey */
.flight-badge.recalculated{background:#e6f3ea;color:#1f5a34;border:1px solid #b7d9c1}
.flight-selection-next{display:grid;gap:4px;padding:14px 16px;border:1px solid #b8d7c3;border-radius:12px;background:#edf8f0;color:#174b2b}
.flight-selection-next strong{font-size:17px}
.flight-selection-next span{font-size:14px;line-height:1.45;color:#31533b}
.flight-warning-box{padding:14px 16px;border:1px solid #e1c47e;border-radius:12px;background:#fff8df;color:#604b13}
.flight-warning-box>strong{display:block;font-size:16px;margin-bottom:6px}
.flight-warning-box ul{margin:0;padding-left:20px;display:grid;gap:6px}
.flight-warning-box li{font-size:14px;line-height:1.45}
.flight-selected-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.flight-selected-actions .primary,.flight-selected-actions .secondary{min-height:46px;font-size:15px}
.flight-selected-actions .primary{min-width:210px}
.journey-review-highlight{animation:wkhJourneyReviewPulse 2.2s ease-out}
@keyframes wkhJourneyReviewPulse{
  0%{box-shadow:0 0 0 4px rgba(49,112,79,.22)}
  55%{box-shadow:0 0 0 9px rgba(49,112,79,.09)}
  100%{box-shadow:none}
}
@media(max-width:620px){
  .flight-selected-actions{display:grid;grid-template-columns:1fr}
  .flight-selected-actions .primary,.flight-selected-actions .secondary{width:100%;min-width:0}
}


/* WKH Trip Planner V18.8: timing-first Smart Journey and late-arrival decisions */
.itinerary-time-primary{margin-top:7px;font-size:17px;line-height:1.25;font-weight:850;color:#1f3f2d;letter-spacing:.01em}
.itinerary-item-review{border-color:#d59a8e;box-shadow:0 0 0 2px rgba(165,58,53,.08)}
.arrival-transfer-review{margin-top:12px;padding:14px 15px;border-radius:12px;display:grid;gap:9px}
.arrival-transfer-review p{margin:0;line-height:1.45}
.arrival-transfer-review.danger{border:2px solid #cc675f;background:#fff1ef;color:#6f2823}
.arrival-transfer-review.caution{border:1px solid #d8b56b;background:#fff8df;color:#604b13}
.arrival-transfer-review.resolved{border:1px solid #a9ccb5;background:#eef8f1;color:#1d5130}
.arrival-review-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.arrival-review-title strong{font-size:16px}
.arrival-review-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;letter-spacing:.05em;background:#a53a35;color:#fff}
.arrival-transfer-review.caution .arrival-review-badge{background:#8b6416}
.arrival-transfer-review.resolved .arrival-review-badge{background:#31704f}
.arrival-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:2px}
.arrival-review-actions button{min-height:44px}
.arrival-morning-time{max-width:300px;font-size:13px}
.arrival-morning-time input{font-size:16px;font-weight:800}
@media(max-width:700px){
  .itinerary-time-primary{font-size:16px}
  .arrival-review-actions{display:grid;grid-template-columns:1fr}
  .arrival-review-actions button,.arrival-transfer-review>.secondary{width:100%}
  .arrival-morning-time{max-width:none}
}


/* WKH Trip Planner V18.8.1: three late-arrival choices + airport hotel Stay */
.arrival-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.arrival-choice-card{display:grid;gap:5px;text-align:left;border:1px solid #cfaaa5;border-radius:12px;background:#fff;color:#562a27;padding:13px;min-height:92px}
.arrival-choice-card:hover{border-color:#a53a35;background:#fff8f7}
.arrival-choice-card strong{font-size:14px}
.arrival-choice-card span{font-size:12px;line-height:1.4;color:#6d4a47}
.arrival-hotel-picker{display:grid;gap:10px;padding:12px;border:1px solid #d7e1da;border-radius:12px;background:#fff}
.arrival-hotel-needed{margin:0!important;padding:10px 11px;border-radius:9px;background:#fff8df;color:#604b13}
.arrival-hotel-actions{display:flex;gap:8px;flex-wrap:wrap}
.arrival-hotel-results{display:grid;gap:8px}
.arrival-hotel-loading{padding:12px;border:1px dashed #b9cabf;border-radius:10px;color:var(--muted);font-size:12px}
.arrival-hotel-result,.arrival-selected-hotel{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:11px;border:1px solid #dfe7e2;border-radius:10px;background:#fbfcfb}
.arrival-hotel-result>div:first-child,.arrival-selected-hotel>div:first-child{display:grid;gap:3px;min-width:0}
.arrival-hotel-result strong,.arrival-selected-hotel strong{color:var(--brand);font-size:14px}
.arrival-hotel-result small,.arrival-selected-hotel small{font-size:11px;color:var(--muted)}
.arrival-hotel-label{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--brand2)}
.arrival-hotel-name-search{padding-top:2px}
.arrival-night-adjustment{display:grid;gap:6px;padding:12px;border:1px solid #cbdacF;border-radius:11px;background:#f8fbf9}
.arrival-night-adjustment>strong{color:var(--brand)}
.arrival-night-adjustment p{margin:0!important;color:#415047}
.arrival-airport-caution{padding:10px 11px;border-radius:9px;background:#fff0e8;color:#7a3c1b}
@media(max-width:760px){
  .arrival-choice-grid{grid-template-columns:1fr}
  .arrival-hotel-result,.arrival-selected-hotel{flex-direction:column}
  .arrival-hotel-actions{display:grid;grid-template-columns:1fr}
  .arrival-hotel-actions button{width:100%}
}


/* WKH Trip Planner V18.8.2: named-hotel search + onward-route hotel guidance */
.arrival-hotel-route-badge{display:inline-flex;width:max-content;border-radius:999px;padding:3px 7px;background:#e5f3e9;border:1px solid #b9dbc3;color:#245b35;font-size:9px;font-weight:900;letter-spacing:.06em}
.arrival-hotel-on-route{border-color:#b8d7c3;background:#f7fbf8}
.arrival-hotel-name-search .field-help{margin-top:2px}


/* WKH Trip Planner V18.8.7: Planning Step 1 destination boundary */
.trip-planning-intro{margin-bottom:10px}
.trip-planning-intro .eyebrow{color:#53635a}
.destination-setup-group{
  padding:16px;
  overflow:hidden;
  border:2px solid #7f8f85;
  border-radius:16px;
  background:#edf0ee;
  box-shadow:0 8px 24px rgba(24,48,34,.08), inset 0 0 0 1px rgba(255,255,255,.7);
}
.destination-group-header{
  margin:-16px -16px 16px;
  padding:18px 20px 20px;
  background:#17211b;
  color:#fff;
  border-bottom:3px solid #91a59a;
}
.destination-group-title{display:grid;gap:6px;min-width:0}
.destination-step-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:1px}
.destination-step-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:4px 9px;
  border:1px solid #b9c9c0;
  border-radius:999px;
  background:#eef3f0;
  color:#193c2a;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
}
.destination-group-country{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:0;
  padding:4px 10px;
  border:1px solid #d7bf78;
  border-radius:999px;
  background:#f2dfa8;
  color:#46350f;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:10px;
  font-weight:900;
}
.destination-group-header h3{
  margin:0;
  color:#fff;
  font-size:25px;
  line-height:1.15;
}
.destination-group-help{
  margin:2px 0 0;
  max-width:820px;
  color:#dbe7df;
  font-size:13px;
  line-height:1.5;
}
.destination-group-add{display:flex;justify-content:flex-start;margin-top:8px}
.destination-group-add .secondary{
  min-height:44px;
  border-color:#d4e0d8;
  background:#fff;
  color:#173e2a;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.destination-setup-group .location-chips{margin-top:0}
.destination-setup-group .destination-trip-total{
  margin:0 0 12px;
  border:1px solid #b7c6bd;
  background:#dde6e0;
  color:#173e2a;
}
.destination-setup-group .destination-trip-total span{color:#435249}
.destination-setup-group .destination-list{gap:10px}
.destination-setup-group .destination-card{
  border:1px solid #c2cec6;
  background:#fff;
  box-shadow:0 2px 9px rgba(24,48,34,.045);
}
.destination-setup-group .destination-card:hover{border-color:#95a89c}
.destination-setup-group .destination-summary{padding-top:15px;padding-bottom:15px}
.destination-setup-group .destination-summary-text>strong{color:#17211b;font-size:18px}
.destination-setup-group .destination-summary-text>span:not(.destination-schedule-summary){color:#526158}
.destination-schedule-summary{
  display:flex;
  gap:8px 18px;
  flex-wrap:wrap;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid #e2e9e4;
  font-size:12px;
  line-height:1.35;
  color:#44544b;
}
.destination-schedule-summary>span{display:inline-flex;gap:5px;align-items:baseline;white-space:nowrap}
.destination-schedule-summary b{color:#214f38;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.destination-next-step{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:16px -1px -1px;
  padding:16px;
  border:1px solid #aabbb0;
  border-radius:12px;
  background:#dfe8e2;
  box-shadow:0 2px 8px rgba(24,48,34,.04);
}
.destination-next-step>div{display:grid;gap:3px}
.destination-next-step strong{font-size:15px;color:#17211b}
.destination-next-step span{font-size:12px;color:#44544b;line-height:1.45}
.destination-next-step .primary{min-width:220px;min-height:46px}
.itinerary-secondary-actions{display:flex;justify-content:flex-end;margin:10px 0 4px}
.itinerary-secondary-actions .secondary{font-size:12px}
@media(max-width:760px){
  .destination-next-step{grid-template-columns:1fr;align-items:stretch}
  .destination-group-add .secondary,.destination-next-step .primary{width:100%;min-width:0}
  .destination-schedule-summary{display:grid;grid-template-columns:1fr}
  .destination-schedule-summary>span{white-space:normal}
  .itinerary-secondary-actions{justify-content:flex-start}
}


/* WKH Trip Planner V18.8.8: Step 2 unified flight search + selected flight */
.flight-step-group{
  margin:18px 0 14px;
  overflow:hidden;
  border:2px solid #83929d;
  border-radius:16px;
  background:#eef2f5;
  box-shadow:0 8px 24px rgba(28,42,52,.08);
}
.flight-step-header{
  padding:18px 20px;
  background:#1d2831;
  color:#fff;
  border-bottom:3px solid #9fb0bb;
}
.flight-step-title{display:flex;gap:12px;align-items:flex-start}
.flight-step-title>div{display:grid;gap:4px;min-width:0}
.flight-step-badge{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  width:max-content;
  margin-top:2px;
  padding:4px 9px;
  border:1px solid #c5d2da;
  border-radius:999px;
  background:#f2f6f8;
  color:#263946;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
}
.flight-step-header h3{margin:0;color:#fff;font-size:25px;line-height:1.15}
.flight-step-help{margin:1px 0 0;max-width:850px;color:#dce6ec;font-size:13px;line-height:1.5}
.flight-plan-summary{
  display:grid;
  gap:6px;
  margin:14px;
  padding:13px 14px;
  border:1px solid #c3cfd6;
  border-radius:12px;
  background:#f8fafb;
}
.flight-plan-summary>strong{color:#1d3442;font-size:14px}
.flight-plan-summary>span{color:#596b76;font-size:12px}
.flight-journey-setup{margin:7px 0 0;background:#fff;border-color:#d0d9de}
.flight-search-panel{
  display:grid;
  gap:12px;
  margin:14px;
  padding:16px;
  border:1px solid #bdcbd4;
  border-radius:13px;
  background:#fff;
}
.flight-search-panel-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding-bottom:11px;
  border-bottom:1px solid #e1e7eb;
}
.flight-search-panel-head>div{display:grid;gap:3px}
.flight-search-panel-head strong{font-size:18px;color:#1c303d}
.flight-search-panel-head p{margin:0;color:#60717b;font-size:12px;line-height:1.45}
.flight-panel-kicker{
  color:#58707f;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
}
.flight-search-panel-head .secondary{flex:0 0 auto}
.flight-step-group #flightSelectedOffer{margin:14px}
.flight-step-group .selected-flight-card{margin:0}
.flight-step-complete{
  border-color:#6d9680;
  background:#edf5f0;
}
.flight-step-complete .flight-step-header{
  background:#17392a;
  border-bottom-color:#9fc2aa;
}
.flight-step-footnote{
  margin:0;
  padding:0 16px 15px;
  color:#66767e;
  font-size:11px;
  line-height:1.45;
}
@media(max-width:760px){
  .flight-step-title,.flight-search-panel-head{flex-direction:column}
  .flight-search-panel-head .secondary{width:100%}
  .flight-plan-summary,.flight-search-panel,#flightSearchSection #flightSelectedOffer{margin:10px}
}


/* WKH Trip Planner V18.8.9: arrival decision gate after airport arrival */
.arrival-decision-gate{
  margin-top:14px;
  padding:18px;
  border:3px solid #b4544c!important;
  border-radius:15px;
  background:#fffaf8;
  box-shadow:0 0 0 4px rgba(180,84,76,.10),0 8px 20px rgba(68,35,31,.08);
  gap:12px;
}
.arrival-decision-gate.caution{
  border-color:#b77a24!important;
  background:#fffbef;
  box-shadow:0 0 0 4px rgba(183,122,36,.10),0 8px 20px rgba(80,61,22,.07);
}
.arrival-decision-gate.resolved{
  border-color:#4f8462!important;
  background:#f5fbf7;
  box-shadow:0 0 0 4px rgba(79,132,98,.10),0 8px 20px rgba(31,73,46,.07);
}
.arrival-decision-heading{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding-bottom:11px;
  border-bottom:1px solid rgba(80,65,55,.14);
}
.arrival-decision-heading>div{display:grid;gap:3px;min-width:0}
.arrival-decision-heading strong{font-size:18px;line-height:1.25;color:#432522}
.arrival-decision-heading span:not(.arrival-review-badge){font-size:13px;line-height:1.45;color:#6a514d}
.arrival-decision-gate.caution .arrival-decision-heading strong{color:#60430f}
.arrival-decision-gate.caution .arrival-decision-heading span:not(.arrival-review-badge){color:#765c26}
.arrival-decision-gate.resolved .arrival-decision-heading strong{color:#214d30}
.arrival-decision-gate.resolved .arrival-decision-heading span:not(.arrival-review-badge){color:#446550}
.itinerary-item-review{
  border-color:#cf8b84;
  box-shadow:0 0 0 2px rgba(180,84,76,.10);
}
@media(max-width:700px){
  .arrival-decision-gate{padding:14px}
  .arrival-decision-heading{flex-direction:column}
}


/* WKH Trip Planner V18.8.10: Arrival Plan is the source of truth for airport-to-first-destination timing */
.arrival-plan-confirm{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:3px;
  padding-top:13px;
  border-top:1px solid rgba(70,82,74,.16);
}
.arrival-plan-confirm>span{
  color:#4c5b52;
  font-size:12px;
  line-height:1.45;
  font-weight:650;
}
.arrival-plan-confirm .primary{
  flex:0 0 auto;
  min-width:180px;
  min-height:44px;
}
.arrival-plan-confirm .primary:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.arrival-decision-gate .arrival-morning-time{
  padding:11px 12px;
  border:1px solid #d8e2dc;
  border-radius:11px;
  background:#fff;
}
@media(max-width:700px){
  .arrival-plan-confirm{align-items:stretch;flex-direction:column}
  .arrival-plan-confirm .primary{width:100%;min-width:0}
}


/* WKH Trip Planner V18.8.12: Step 3 Resolve Journey Changes */
.journey-review-step{
  margin:18px 0 0;
  overflow:hidden;
  border:2px solid #9a8a63;
  border-radius:16px;
  background:#f7f4ec;
  box-shadow:0 8px 24px rgba(55,45,24,.07);
}
.journey-review-step-header{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px 20px;
  background:#302d26;
  color:#fff;
  border-bottom:3px solid #c8b98f;
}
.journey-review-step-header>div{display:grid;gap:4px;min-width:0}
.journey-review-step-header h3{margin:0;color:#fff;font-size:25px;line-height:1.15}
.journey-review-step-header p{margin:0;max-width:880px;color:#e8e2d4;font-size:13px;line-height:1.5}
.journey-review-step-badge{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  width:max-content;
  margin-top:2px;
  padding:4px 9px;
  border:1px solid #ddd4bf;
  border-radius:999px;
  background:#f8f4e9;
  color:#4e4430;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
}
.journey-change-review-content{padding:14px 14px 2px}
.journey-change-review{
  display:grid;
  gap:14px;
  padding:16px;
  border:2px solid #d0b363;
  border-radius:14px;
  background:#fffaf0;
}
.journey-change-review.waiting{
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  border-color:#9aa7af;
  background:#f7f9fa;
}
.journey-change-review.required{border-color:#c88732;background:#fff8e8}
.journey-change-review.complete{
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  border-color:#79a388;
  background:#f1f8f3;
}
.journey-change-review>div>strong,.journey-change-review-head strong{font-size:18px;color:#3d3322}
.journey-change-review.complete>div>strong{color:#214d30}
.journey-change-review p{margin:3px 0 0;color:#5e5749;line-height:1.5}
.journey-change-review.complete p{color:#46624f}
.journey-change-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:4px 9px;
  background:#a56d21;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}
.journey-change-review.waiting .journey-change-status{background:#66757e}
.journey-change-review.complete .journey-change-status{background:#31704f}
.journey-change-review-head{display:flex;gap:12px;align-items:flex-start}
.journey-change-review-head>div{display:grid;gap:3px}
.journey-night-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.journey-night-summary>div{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid #e0d5b6;
  border-radius:10px;
  background:#fff;
}
.journey-night-summary span{font-size:11px;color:#746a54}
.journey-night-summary strong{font-size:17px;color:#423821}
.journey-change-choice-block{
  display:grid;
  gap:8px;
  padding:13px;
  border:1px solid #ded1ae;
  border-radius:12px;
  background:#fff;
}
.journey-change-choice-block>span{font-size:12px;color:#655c49}
.journey-night-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.journey-night-option,.journey-change-action{
  width:100%;
  text-align:left;
  border:1px solid #cbbd98;
  border-radius:11px;
  background:#fff;
  color:#3e3729;
  padding:12px;
}
.journey-night-option:hover,.journey-change-action:hover{background:#fbf7ed;border-color:#9d8854}
.journey-night-option{display:grid;gap:3px}
.journey-night-option-name{font-weight:850;color:#3b3322}
.journey-night-option-place{font-size:11px;color:#786f5e}
.journey-night-option-change{margin-top:4px;font-size:13px;color:#574c35}
.journey-night-option-change strong{font-size:17px;color:#7a5117}
.journey-change-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.journey-change-action{display:grid;gap:4px;min-height:78px}
.journey-change-action strong{font-size:14px}
.journey-change-action span{font-size:12px;line-height:1.4;color:#6c6250}
.journey-change-action.keep-nights{border-color:#9ab1bf;background:#f8fbfd}
.journey-change-action.arrival-plan{border-color:#b0a5bb;background:#fbf9fc}
.journey-change-manual{display:grid;gap:7px;padding:10px;border-radius:9px;background:#fff6dc}
.journey-change-manual span{font-size:12px;color:#655c49}
.journey-review-step .journey-ai-note{margin:12px 16px 6px}
.journey-review-step .itinerary-secondary-actions{margin:8px 16px 4px}
.journey-review-step .itinerary-list{margin:10px 16px 16px}
@media(max-width:850px){
  .journey-night-summary{grid-template-columns:1fr 1fr}
  .journey-night-options{grid-template-columns:1fr}
}
@media(max-width:700px){
  .journey-review-step-header,.journey-change-review-head{flex-direction:column}
  .journey-change-review.waiting,.journey-change-review.complete{grid-template-columns:1fr}
  .journey-change-review.waiting .secondary{width:100%}
  .journey-change-choice-grid,.journey-night-summary{grid-template-columns:1fr}
  .journey-review-step .itinerary-list{margin-left:10px;margin-right:10px}
}


/* WKH Trip Planner V18.8.13 Batch 1: manual Step 1 calculation + persistent downstream gate */
.workflow-recalc-gate{
  display:grid;
  gap:4px;
  margin:16px 0;
  padding:14px 16px;
  border:2px solid #b77a24;
  border-radius:12px;
  background:#fff8df;
  color:#60430f;
  box-shadow:0 4px 14px rgba(80,61,22,.07);
}
.workflow-recalc-gate strong{font-size:16px}
.workflow-recalc-gate span{font-size:13px;line-height:1.45}
.destination-next-step.needs-recalculation{
  border-color:#c18a35;
  background:#fff4d6;
  box-shadow:0 0 0 3px rgba(183,122,36,.09);
}
.destination-next-step.needs-recalculation strong{color:#67470f}
.workflow-step-locked{
  position:relative;
  opacity:.58;
  filter:saturate(.7);
}
.workflow-step-locked::after{
  content:"Locked until Smart Journey is recalculated";
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  padding:6px 9px;
  border:1px solid #b77a24;
  border-radius:999px;
  background:#fff8df;
  color:#60430f;
  font-size:10px;
  font-weight:900;
  letter-spacing:.03em;
}
.workflow-step-locked a{pointer-events:none}
@media(max-width:700px){
  .workflow-step-locked::after{
    position:static;
    display:block;
    width:max-content;
    max-width:calc(100% - 20px);
    margin:10px;
  }
}


/* WKH Trip Planner V18.8.16 Batch 2: dedicated Arrival Plan + Departure Plan */
.journey-plan-step{
  margin:18px 0 0;
  overflow:hidden;
  border:2px solid #7f9488;
  border-radius:16px;
  background:#f3f7f4;
  box-shadow:0 8px 24px rgba(24,48,34,.07);
}
.journey-plan-step-header{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px 20px;
  background:#20362b;
  color:#fff;
  border-bottom:3px solid #a7bcae;
}
.arrival-plan-step{
  border-color:#7f9488;
  background:#f3f7f4;
}
.departure-plan-step{
  border-color:#7c909d;
  background:#f2f6f8;
}
.departure-plan-step .journey-plan-step-header{
  background:#243641;
  border-bottom-color:#a9bbc5;
}
.journey-plan-step-header>div{display:grid;gap:4px;min-width:0}
.journey-plan-step-header h3{margin:0;color:#fff;font-size:25px;line-height:1.15}
.journey-plan-step-header p{margin:0;max-width:880px;color:#e3ece6;font-size:13px;line-height:1.5}
.departure-plan-step .journey-plan-step-header p{color:#e1eaef}
.journey-plan-step-badge{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  width:max-content;
  margin-top:2px;
  padding:4px 9px;
  border:1px solid #d4e0d8;
  border-radius:999px;
  background:#f4f8f5;
  color:#234331;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
}
.departure-plan-step .journey-plan-step-badge{
  border-color:#d4e0e7;
  background:#f4f8fa;
  color:#2b4657;
}
.journey-plan-step-content{
  display:grid;
  gap:12px;
  padding:14px;
}
.journey-plan-summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:15px 16px;
  border:1px solid #b8c9bf;
  border-radius:13px;
  background:#fff;
}
.journey-plan-summary.waiting{border-color:#d3b271;background:#fffaf0}
.journey-plan-summary.complete{border-color:#82aa90;background:#f3faf5}
.journey-plan-summary>div{display:grid;gap:3px}
.journey-plan-summary strong{font-size:17px;color:#203d2b}
.journey-plan-summary p{margin:0;color:#4d5f54;font-size:13px;line-height:1.5}
.journey-plan-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:4px 9px;
  background:#31704f;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}
.journey-plan-summary.waiting .journey-plan-status,
.departure-plan-decision .journey-plan-status{background:#9a6b24}
.departure-plan-decision{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #bac8d1;
  border-radius:13px;
  background:#fff;
}
.journey-plan-decision-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.journey-plan-decision-head>div{display:grid;gap:3px}
.journey-plan-decision-head strong{font-size:18px;color:#243944}
.journey-plan-decision-head p{margin:0;color:#596b75;font-size:13px;line-height:1.5}
.departure-plan-recommendation{
  margin:0;
  padding:11px 12px;
  border:1px solid #b8d7c3;
  border-radius:10px;
  background:#edf8f0;
  color:#245436;
}
.departure-plan-recommendation.caution{
  border-color:#dfc27d;
  background:#fff8df;
  color:#654c13;
}
.departure-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.departure-choice-card{
  display:grid;
  gap:5px;
  text-align:left;
  border:1px solid #b9c8d1;
  border-radius:12px;
  background:#fff;
  color:#263b47;
  padding:14px;
}
.departure-choice-card:hover{background:#f4f8fa;border-color:#718c9c}
.departure-choice-card strong{font-size:15px}
.departure-choice-card span{font-size:12px;line-height:1.45;color:#5c6e78}
.departure-plan-time-grid{padding:2px 0}
.departure-plan-time-grid input{font-size:15px;font-weight:750}
.departure-hotel-results{display:grid;gap:8px}
.journey-change-action.departure-plan{border-color:#8eacb9;background:#f6fafc}
@media(max-width:700px){
  .journey-plan-step-header,.journey-plan-decision-head{flex-direction:column}
  .journey-plan-summary{grid-template-columns:1fr}
  .journey-plan-summary .secondary{width:100%}
  .departure-choice-grid{grid-template-columns:1fr}
}


/* WKH Trip Planner V18.8.25 Batch 4: Step 6 Detailed Journey */
.detailed-journey-step{
  margin:22px 0 0;
  overflow:hidden;
  border:2px solid #111;
  border-radius:18px;
  background:#f6f7f6;
  box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.detailed-journey-step-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:22px 22px 24px;
  background:#101211;
  color:#fff;
  border-bottom:3px solid #59615c;
}
.detailed-journey-step-title{
  display:flex;
  align-items:flex-start;
  gap:13px;
  min-width:0;
}
.detailed-journey-step-title>div{display:grid;gap:5px;min-width:0}
.detailed-journey-step-header h3{
  margin:0;
  color:#fff;
  font-size:28px;
  line-height:1.1;
}
.detailed-journey-step-header p{
  margin:0;
  max-width:790px;
  color:#d8ddda;
  font-size:13px;
  line-height:1.55;
}
.detailed-journey-step-badge{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  width:max-content;
  margin-top:2px;
  padding:5px 10px;
  border:1px solid #c9cfcb;
  border-radius:999px;
  background:#f3f5f4;
  color:#171a18;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
}
.detailed-journey-share-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
.detailed-journey-header-button{
  min-height:42px;
  padding:9px 13px;
  border:1px solid #cbd2ce;
  border-radius:10px;
  background:#fff;
  color:#17211b;
  font-weight:850;
}
.detailed-journey-header-button:hover{background:#edf1ee}
.detailed-journey-body{
  display:grid;
  gap:16px;
  padding:18px;
}
.detailed-journey-summary{
  display:grid;
  gap:12px;
}
.detailed-journey-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.detailed-journey-summary-grid>div{
  display:grid;
  gap:3px;
  min-width:0;
  padding:12px 13px;
  border:1px solid #d3dad6;
  border-radius:11px;
  background:#fff;
}
.detailed-journey-summary-grid span{
  color:#69736d;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.detailed-journey-summary-grid strong{
  color:#17211b;
  font-size:14px;
  overflow-wrap:anywhere;
}
.detailed-journey-ready-note{
  display:flex;
  align-items:flex-start;
  gap:10px 16px;
  padding:12px 14px;
  border:1px solid #abc5b4;
  border-radius:11px;
  background:#edf6f0;
  color:#254b32;
}
.detailed-journey-ready-note strong{white-space:nowrap}
.detailed-journey-ready-note span{font-size:12px;line-height:1.45}
.detailed-journey-plan-links{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  padding:10px 12px;
  border:1px solid #d6dcd8;
  border-radius:11px;
  background:#fff;
}
.detailed-journey-plan-links>span{
  margin-right:auto;
  color:#58645d;
  font-size:12px;
  font-weight:700;
}
.detailed-journey-plan-links .secondary{
  padding:7px 10px;
  font-size:11px;
}
.detailed-journey-content{
  position:relative;
  display:grid;
  gap:0;
  padding:2px 0 4px;
}
.detailed-journey-item{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  min-width:0;
}
.detailed-journey-item-line{
  position:absolute;
  left:13px;
  top:0;
  bottom:0;
  width:2px;
  background:#cdd5d0;
}
.detailed-journey-item:first-child .detailed-journey-item-line{top:24px}
.detailed-journey-item:last-child .detailed-journey-item-line{bottom:calc(100% - 25px)}
.detailed-journey-item-dot{
  position:relative;
  z-index:1;
  grid-column:1;
  width:12px;
  height:12px;
  margin:20px 0 0 8px;
  border:3px solid #f6f7f6;
  border-radius:50%;
  background:#1e4f37;
  box-shadow:0 0 0 1px #799386;
}
.detailed-journey-item-card{
  grid-column:2;
  min-width:0;
  margin:0 0 12px;
  padding:14px 15px;
  border:1px solid #d4dbd7;
  border-radius:13px;
  background:#fff;
}
.detailed-journey-item-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.detailed-journey-item-title{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  min-width:0;
}
.detailed-journey-item-title strong{
  color:#17211b;
  font-size:16px;
  overflow-wrap:anywhere;
}
.detailed-journey-item-type,
.detailed-journey-plan-marker{
  display:inline-flex;
  width:max-content;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.detailed-journey-item-type{
  border:1px solid #cbd7cf;
  background:#edf3ef;
  color:#2b5239;
}
.detailed-journey-plan-marker{
  border:1px solid #d1c392;
  background:#faf3d8;
  color:#66531b;
}
.detailed-journey-item-top time{
  flex:0 0 auto;
  color:#1e3f2c;
  font-size:14px;
  font-weight:850;
  text-align:right;
}
.detailed-journey-item-meta{
  display:flex;
  gap:6px 14px;
  flex-wrap:wrap;
  margin-top:6px;
  color:#647069;
  font-size:11px;
}
.detailed-journey-item-notes{
  margin:8px 0 0;
  color:#455149;
  font-size:12px;
  line-height:1.5;
}
.detailed-journey-destination-extras{
  display:grid;
  gap:10px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e2e7e4;
}
.detailed-journey-destination-label{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.detailed-journey-destination-label strong{color:#214f38}
.detailed-journey-destination-label span{color:#6b756f;font-size:11px}
.detailed-journey-extra-group{
  display:grid;
  gap:7px;
  padding:10px 11px;
  border:1px solid #e0e6e2;
  border-radius:10px;
  background:#fafbfa;
}
.detailed-journey-extra-group h4{
  margin:0;
  color:#35443b;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.detailed-journey-extra-list{display:grid;gap:6px}
.detailed-journey-extra-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:8px 9px;
  border:1px solid #e5eae7;
  border-radius:9px;
  background:#fff;
}
.detailed-journey-extra-item>div{display:grid;gap:2px;min-width:0}
.detailed-journey-extra-item strong{font-size:13px;color:#17211b}
.detailed-journey-extra-item span{font-size:11px;color:#627068}
.detailed-journey-extra-item p{margin:2px 0 0;font-size:11px;color:#4e5a53}
.detailed-journey-extra-item>a{
  flex:0 0 auto;
  color:#214f38;
  font-size:11px;
  font-weight:800;
}
@media(max-width:820px){
  .detailed-journey-step-header{flex-direction:column}
  .detailed-journey-share-actions{width:100%;justify-content:flex-start}
  .detailed-journey-summary-grid{grid-template-columns:1fr 1fr}
  .detailed-journey-item-top{flex-direction:column;gap:7px}
  .detailed-journey-item-top time{text-align:left}
}
@media(max-width:560px){
  .detailed-journey-step-title{flex-direction:column}
  .detailed-journey-step-header{padding:17px}
  .detailed-journey-step-header h3{font-size:24px}
  .detailed-journey-body{padding:12px}
  .detailed-journey-summary-grid{grid-template-columns:1fr}
  .detailed-journey-ready-note{display:grid}
  .detailed-journey-share-actions{display:grid;grid-template-columns:1fr 1fr}
  .detailed-journey-header-button{width:100%}
  .detailed-journey-plan-links{display:grid;grid-template-columns:1fr}
  .detailed-journey-plan-links>span{margin-right:0}
  .detailed-journey-plan-links .secondary{width:100%}
  .detailed-journey-item{grid-template-columns:20px minmax(0,1fr)}
  .detailed-journey-item-line{left:9px}
  .detailed-journey-item-dot{margin-left:4px}
  .detailed-journey-item-card{padding:12px}
  .detailed-journey-extra-item{flex-direction:column}
}

@media print{
  #printReport .print-detailed-kicker{
    margin:0 0 3mm;
    font-size:13pt;
    font-weight:800;
  }
  #printReport .print-detailed-note{
    margin:0 0 5mm;
    color:#555;
    font-size:10.5pt;
  }
  #printReport .print-detailed-journey{display:grid;gap:3mm}
  #printReport .print-detailed-item{
    break-inside:avoid;
    page-break-inside:avoid;
    border:1px solid #d8d8d8;
    border-radius:8px;
    padding:4mm;
  }
  #printReport .print-detailed-item-head{
    display:flex;
    justify-content:space-between;
    gap:5mm;
    align-items:flex-start;
  }
  #printReport .print-detailed-item-head>div{display:grid;gap:1mm}
  #printReport .print-detailed-item-head h3{margin:0}
  #printReport .print-detailed-item-head span{
    font-size:8.5pt;
    font-weight:800;
    text-transform:uppercase;
  }
  #printReport .print-detailed-item-head>strong{
    flex:0 0 auto;
    font-size:10pt;
    text-align:right;
  }
  #printReport .print-detailed-extra{
    margin-top:3mm;
    padding-top:2.5mm;
    border-top:1px solid #ddd;
  }
  #printReport .print-detailed-extra>strong{font-size:10.5pt}
  #printReport .print-detailed-extra p{font-size:10pt;margin:1.5mm 0}
}

/* WKH Trip Planner V18.8.28: hide legacy editable itinerary output after Step 5.
   The DOM remains available to app.js as the internal Smart Journey engine/output,
   but customers see only Step 5 resolution followed by Step 6 Detailed Journey. */
.legacy-itinerary-output{
  display:none!important;
}


/* WKH Trip Planner V19.0.0: Manage Trip foundation */
.manage-trip-section{
  margin:22px 0 0;
  overflow:hidden;
  border:1px solid #b9c9bf;
  border-radius:18px;
  background:#f9fbf9;
  box-shadow:0 10px 28px rgba(24,48,34,.08);
}
.manage-trip-header{
  padding:20px 22px;
  background:#173b2b;
  color:#fff;
}
.manage-trip-header>div{display:grid;gap:5px}
.manage-trip-header h3{margin:0;color:#fff;font-size:26px}
.manage-trip-header p{margin:0;max-width:850px;color:#dce8e0;font-size:13px;line-height:1.5}
.manage-trip-kicker{
  width:max-content;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:9px;
  font-weight:900;
}
.manage-trip-body{display:grid;gap:16px;padding:18px}
.manage-trip-summary{display:grid;gap:10px}
.manage-trip-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.manage-trip-summary-grid>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:12px 13px;
  border:1px solid #d5dfd8;
  border-radius:11px;
  background:#fff;
}
.manage-trip-summary-grid>div.needs-attention{
  border-color:#e0c78f;
  background:#fff8e8;
}
.manage-trip-summary-grid span{
  color:#617068;
  font-size:11px;
  font-weight:750;
}
.manage-trip-summary-grid strong{
  flex:0 0 auto;
  color:#173b2b;
  font-size:22px;
}
.manage-trip-summary-note{
  margin:0;
  color:#5a6860;
  font-size:11px;
}
.manage-trip-setup{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border:1px solid #e0c78f;
  border-radius:11px;
  background:#fff8e8;
  color:#6e5417;
}
.manage-trip-content{display:grid;gap:14px}
.manage-trip-group{
  overflow:hidden;
  border:1px solid #d7e0da;
  border-radius:13px;
  background:#fff;
}
.manage-trip-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  background:#eef4f0;
  border-bottom:1px solid #dbe4de;
}
.manage-trip-group-head h4{margin:0;color:#244a35;font-size:14px}
.manage-trip-group-head span{color:#69776f;font-size:10px;font-weight:750}
.manage-trip-items{display:grid}
.manage-trip-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px 13px;
  border-bottom:1px solid #edf1ee;
}
.manage-trip-item:last-child{border-bottom:0}
.manage-trip-item.plan-changed{background:#fff8f0}
.manage-trip-item-main{display:grid;gap:4px;min-width:0}
.manage-trip-item-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.manage-trip-item-title strong{font-size:13px;color:#17211b;overflow-wrap:anywhere}
.manage-trip-item-main>p{margin:0;color:#647169;font-size:11px}
.manage-trip-status{
  display:inline-flex;
  width:max-content;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid #ccd7d0;
  background:#f2f5f3;
  color:#536158;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.manage-trip-status.status-to_book,
.manage-trip-status.status-to_arrange,
.manage-trip-status.status-not_started{
  border-color:#dfc17d;
  background:#fff4d9;
  color:#755817;
}
.manage-trip-status.status-booked,
.manage-trip-status.status-arranged{
  border-color:#a9cab4;
  background:#edf7f0;
  color:#2d5c3b;
}
.manage-trip-status.status-confirmed,
.manage-trip-status.status-completed{
  border-color:#8fbaa0;
  background:#e3f2e8;
  color:#1f5b32;
}
.manage-trip-status.status-optional,
.manage-trip-status.status-not_required{
  border-color:#cfd7d2;
  background:#f5f7f6;
  color:#66736b;
}
.manage-trip-status.status-needs_review{
  border-color:#dcad83;
  background:#fff0e5;
  color:#844b20;
}
.manage-trip-item-meta{
  display:flex;
  gap:6px 12px;
  flex-wrap:wrap;
  color:#506158;
  font-size:10px;
}
.manage-trip-item-notes{
  color:#45544b;
  font-size:10px;
  white-space:pre-wrap;
}
.manage-trip-change-note{
  margin-top:3px;
  color:#8a4d20;
  font-size:10px;
  font-weight:700;
}
.manage-trip-item>.secondary{padding:7px 10px;font-size:11px}
@media(max-width:820px){
  .manage-trip-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .manage-trip-header{padding:17px}
  .manage-trip-header h3{font-size:23px}
  .manage-trip-body{padding:12px}
  .manage-trip-summary-grid{grid-template-columns:1fr}
  .manage-trip-item{grid-template-columns:1fr}
  .manage-trip-item>.secondary{width:100%}
}

/* WKH Trip Planner V19.0.1: Manage Trip status color coding */
/* Summary cards use the same visual language as the individual checklist items. */
.manage-trip-summary-grid>div.summary-attention{
  border-color:#e2b5b1;
  background:#fff2f1;
}
.manage-trip-summary-grid>div.summary-arranged{
  border-color:#dfc56f;
  background:#fff4cf;
}
.manage-trip-summary-grid>div.summary-confirmed{
  border-color:#a8cbb4;
  background:#edf8f0;
}
.manage-trip-summary-grid>div.summary-optional{
  border-color:#e6ddb7;
  background:#fffced;
}

/* Entire Manage Trip row background by effective status. */
.manage-trip-item.management-tone-attention{background:#fff2f1}
.manage-trip-item.management-tone-arranged{background:#fff6d9}
.manage-trip-item.management-tone-confirmed{background:#eef8f1}
.manage-trip-item.management-tone-optional{background:#fffdf1}

/* Keep changed journey items in the Needs attention family. */
.manage-trip-item.management-tone-attention.plan-changed{background:#fff0ee}

/* Status badges match their row color instead of using conflicting colors. */
.manage-trip-status.status-to_book,
.manage-trip-status.status-to_arrange,
.manage-trip-status.status-not_started,
.manage-trip-status.status-needs_review{
  border-color:#dcaaa5;
  background:#fde7e5;
  color:#7e342e;
}
.manage-trip-status.status-booked,
.manage-trip-status.status-arranged{
  border-color:#d9bd62;
  background:#ffefb8;
  color:#6f5612;
}
.manage-trip-status.status-confirmed,
.manage-trip-status.status-completed{
  border-color:#8fbaa0;
  background:#e3f2e8;
  color:#1f5b32;
}
.manage-trip-status.status-optional,
.manage-trip-status.status-not_required{
  border-color:#e0d6a8;
  background:#fff9df;
  color:#6a602f;
}


/* WKH Trip Planner V19.0.2: Finalize Journey -> Manage Trip workspace */
.detailed-journey-finalize-button{
  min-height:42px;
  padding:9px 15px;
  border:1px solid #e6d38d;
  border-radius:10px;
  background:#f3d979;
  color:#2f2a18;
  font-weight:900;
}
.detailed-journey-finalize-button:hover{background:#f7e39a}
.detailed-journey-ready-note.journey-update-pending{
  border-color:#d7b36b;
  background:#fff8df;
  color:#654c13;
}

.manage-trip-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.manage-trip-header-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
.manage-trip-header-button{
  min-height:40px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:10px;
  background:#fff;
  color:#173b2b;
  font-weight:850;
}
.manage-trip-header-button:hover{background:#eef5f0}
.manage-trip-journey-state{
  display:grid;
  gap:3px;
  padding:12px 13px;
  border:1px solid #aac7b4;
  border-radius:11px;
  background:#edf7f0;
  color:#28533a;
}
.manage-trip-journey-state strong{font-size:13px}
.manage-trip-journey-state span{font-size:11px;line-height:1.45}
.manage-trip-journey-state.changes-pending{
  border-color:#dda8a3;
  background:#fff0ee;
  color:#7c342e;
}

.finalized-subview-bar{
  display:flex;
  align-items:center;
  gap:16px;
  margin:8px 0 14px;
  padding:11px 13px;
  border:1px solid #c7d5cc;
  border-radius:12px;
  background:#f7faf8;
}
.finalized-subview-bar .back-button{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid #b9cabf;
  background:#fff;
}
.finalized-subview-bar>div{display:grid;gap:2px;min-width:0}
.finalized-subview-bar strong{color:#173b2b;font-size:13px}
.finalized-subview-bar span{color:#5e6d64;font-size:11px;line-height:1.4}

/* Once a trip is finalized, hide the six-step planning noise. The existing
   planning engine stays mounted underneath so focused edit/review views can
   reuse it without creating a second planning system. */
#tripView.trip-finalized-mode #tripViewChooser{display:none!important}
#tripView.trip-finalized-mode #targetBirdsView{display:none!important}
#tripView.trip-finalized-mode #smartJourneyView{display:block!important}
#tripView.trip-finalized-mode #smartJourneyView>.itinerary-card{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#tripView.trip-finalized-mode #smartJourneyView>.itinerary-card>*{display:none!important}
#tripView.trip-finalized-mode.finalized-view-manage #manageTripSection{display:block!important;margin-top:0}
#tripView.trip-finalized-mode.finalized-view-detailed #detailedJourneySection{display:block!important;margin-top:0}
#tripView.trip-finalized-mode.finalized-view-destinations .destination-setup-group{display:block!important;margin-top:0}
#tripView.trip-finalized-mode.finalized-view-destinations .destination-step-badge{display:none!important}

@media(max-width:760px){
  .manage-trip-header{flex-direction:column}
  .manage-trip-header-actions{width:100%;justify-content:flex-start}
  .manage-trip-header-button{flex:1 1 180px}
  .finalized-subview-bar{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .manage-trip-header-actions{display:grid;grid-template-columns:1fr;width:100%}
  .manage-trip-header-button{width:100%}
}
/* Detailed Itinerary stays read-only after finalization. Planning edit doors live in Manage Trip. */
#tripView.trip-finalized-mode.finalized-view-detailed .detailed-journey-plan-links{display:none!important}


/* WKH Trip Planner V19.0.3: finalized Edit Destinations visibility fix
   V19.0.2 hides all direct planning-card children after finalization.
   This more-specific rule intentionally re-shows only Step 1 when the
   customer chooses Edit Destinations from Manage Trip. */
#tripView.trip-finalized-mode.finalized-view-destinations #smartJourneyView>.itinerary-card>.destination-setup-group{
  display:block!important;
  margin-top:0;
}


/* WKH Trip Planner V19.0.4: commitment-aware journey changes */
.manage-trip-header-actions{
  max-width:620px;
}
.manage-trip-header-button.needs-review{
  border-color:#e0a39e;
  background:#fff0ee;
  color:#7c342e;
  box-shadow:0 0 0 2px rgba(165,58,53,.08);
}
.manage-trip-header-button.needs-review:hover{background:#ffe6e3}

.manage-trip-change-badge{
  display:inline-flex;
  width:max-content;
  padding:3px 7px;
  border:1px solid #d69a95;
  border-radius:999px;
  background:#a53a35;
  color:#fff;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.manage-trip-change-comparison{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:5px;
}
.manage-trip-change-comparison>span{
  display:grid;
  gap:2px;
  padding:8px 9px;
  border:1px solid #e3c1bd;
  border-radius:9px;
  background:rgba(255,255,255,.72);
  color:#5f4744;
  font-size:10px;
}
.manage-trip-change-comparison b{
  color:#7c342e;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.manage-trip-change-note{
  color:#7c342e;
}

.manage-trip-change-dialog-comparison{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.manage-trip-change-dialog-comparison>div{
  display:grid;
  gap:4px;
  padding:12px 13px;
  border:1px solid #dfb3ae;
  border-radius:11px;
  background:#fff7f6;
}
.manage-trip-change-dialog-comparison span{
  color:#8a4a44;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.manage-trip-change-dialog-comparison strong{
  color:#4c2c29;
  font-size:13px;
  line-height:1.45;
}
.manage-trip-change-dialog-action{
  padding:11px 12px;
  border:1px solid #d7b36b;
  border-radius:10px;
  background:#fff8df;
  color:#654c13;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}

/* Focused planning doors after finalization. Step numbers stay hidden because
   these are tools opened from Manage Trip, not a return to the six-step flow. */
#tripView.trip-finalized-mode.finalized-view-flights #smartJourneyView>.itinerary-card>#flightSearchSection,
#tripView.trip-finalized-mode.finalized-view-arrival #smartJourneyView>.itinerary-card>#arrivalPlanSection,
#tripView.trip-finalized-mode.finalized-view-departure #smartJourneyView>.itinerary-card>#departurePlanSection,
#tripView.trip-finalized-mode.finalized-view-review #smartJourneyView>.itinerary-card>#journeyReviewSection{
  display:block!important;
  margin-top:0;
}
#tripView.trip-finalized-mode.finalized-view-flights .flight-step-badge,
#tripView.trip-finalized-mode.finalized-view-arrival .journey-plan-step-badge,
#tripView.trip-finalized-mode.finalized-view-departure .journey-plan-step-badge,
#tripView.trip-finalized-mode.finalized-view-review .journey-review-step-badge{
  display:none!important;
}

@media(max-width:760px){
  .manage-trip-change-comparison,
  .manage-trip-change-dialog-comparison{
    grid-template-columns:1fr;
  }
}


/* WKH Trip Planner V19.0.5: Resolve Journey Changes flight handoff feedback */
.journey-change-action.keep-nights:hover,
.journey-change-action.keep-nights:focus-visible{
  background:#fbf7ed;
  border-color:#9d8854;
  outline:none;
  box-shadow:0 0 0 2px rgba(157,136,84,.10);
}


/* WKH Trip Planner V19.1.0: Stay booking and cost capture */
.manage-trip-stay-booking,
.manage-trip-stay-cost{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #c9d8cf;
  border-radius:13px;
  background:#f7faf8;
}
.manage-trip-stay-booking-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:16px;
  align-items:end;
}
.manage-trip-stay-booking-head>div{
  display:grid;
  gap:3px;
}
.manage-trip-stay-booking-head>div>span{
  color:#4f6a59;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.manage-trip-stay-booking-head>div>strong{
  color:#173b2b;
  font-size:17px;
}
.manage-trip-stay-booking-head p{
  margin:0;
  color:#5b6961;
  font-size:11px;
  line-height:1.5;
}
.manage-trip-stay-booking-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.manage-trip-stay-booking .journey-status{
  margin:0;
  font-size:11px;
  font-weight:650;
}
.stay-booking-options{
  display:grid;
  gap:8px;
}
.stay-booking-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 12px;
  border:1px solid #d4ded8;
  border-radius:11px;
  background:#fff;
  color:#17211b;
  text-decoration:none;
}
.stay-booking-option:hover{
  border-color:#86a794;
  background:#eef6f1;
}
.stay-booking-option>div{
  display:grid;
  gap:3px;
  min-width:0;
}
.stay-booking-option-title{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.stay-booking-option strong{
  color:#173b2b;
  font-size:13px;
}
.stay-booking-option span:not(.stay-booking-verified):not(.stay-booking-search-badge){
  color:#617068;
  font-size:10px;
  line-height:1.45;
}
.stay-booking-option>b{
  flex:0 0 auto;
  color:#214f38;
  font-size:11px;
}
.stay-booking-verified,
.stay-booking-website-badge,
.stay-booking-search-badge{
  display:inline-flex;
  width:max-content;
  padding:2px 6px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.stay-booking-verified{
  border:1px solid #9fc2aa;
  background:#e7f4eb;
  color:#245b36;
}
.stay-booking-website-badge{
  border:1px solid #b7c8d2;
  background:#f2f7fa;
  color:#34586b;
}
.stay-booking-search-badge{
  border:1px solid #cbd4cf;
  background:#f2f5f3;
  color:#5b6961;
}
.manage-trip-stay-cost-head{
  display:grid;
  gap:3px;
}
.manage-trip-stay-cost-head strong{
  color:#173b2b;
  font-size:15px;
}
.manage-trip-stay-cost-head span{
  color:#5f6d65;
  font-size:11px;
  line-height:1.45;
}
.manage-trip-fx-control{
  display:grid;
  align-content:end;
  gap:6px;
}
.manage-trip-fx-control .secondary{
  width:max-content;
}
@media(max-width:700px){
  .manage-trip-stay-booking-head{
    grid-template-columns:1fr;
  }
  .manage-trip-stay-booking-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .manage-trip-stay-booking-actions button,
  .manage-trip-fx-control .secondary{
    width:100%;
  }
}

/* ========================================================================== 
   WKH Trip Planner V20.0 · Batch 1
   Guided Trip Home + focused Destination workspace
   V19 business logic stays intact underneath this presentation layer.
   ========================================================================== */
:root{
  --v20-bg:#f7f2e9;
  --v20-paper:#fffdf9;
  --v20-ink:#20262b;
  --v20-muted:#74716c;
  --v20-slate:#24313a;
  --v20-slate-2:#344650;
  --v20-accent:#b85f47;
  --v20-accent-deep:#984832;
  --v20-sand:#d6b66f;
  --v20-sand-soft:#f2e5c8;
  --v20-line:#e4dbcf;
  --v20-soft:#efe7dc;
  --v20-shadow:0 18px 50px rgba(55,44,32,.08);
  --v20-shadow-small:0 8px 24px rgba(55,44,32,.07);
}

body{background:var(--v20-bg);color:var(--v20-ink)}
.page{max-width:1440px;padding-top:28px}
.topbar{background:rgba(255,253,249,.96);border-bottom-color:var(--v20-line);backdrop-filter:blur(12px)}
.brand-mark{background:var(--v20-slate)}
.topbar nav a,.link-button,.text-link{color:var(--v20-slate)}
.eyebrow{color:var(--v20-accent);letter-spacing:.14em}
.muted,.field-help{color:var(--v20-muted)}
.primary{background:var(--v20-accent);color:#fff;border-color:var(--v20-accent)}
.primary:hover{background:var(--v20-accent-deep)}
.secondary,.upload-label{background:var(--v20-paper);color:var(--v20-slate);border-color:#d7cab9}
.secondary:hover,.upload-label:hover{background:#f8efe4}
input,select,textarea{border-color:#d9cec0;background:#fffdf9;color:var(--v20-ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(184,95,71,.12);border-color:var(--v20-accent)}
dialog::backdrop{background:rgba(27,33,38,.55)}

/* My Trips becomes an inviting front door rather than an admin list. */
.v20-library-head{
  position:relative;
  overflow:hidden;
  align-items:flex-end;
  min-height:300px;
  margin:0 0 28px;
  padding:44px clamp(28px,5vw,68px);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 18%,rgba(214,182,111,.24) 0 9%,transparent 10%),
    radial-gradient(circle at 82% 65%,rgba(184,95,71,.23) 0 15%,transparent 16%),
    linear-gradient(135deg,#1f2c34 0%,#2d3c45 58%,#4b4540 100%);
  color:#fff;
  box-shadow:0 26px 70px rgba(38,43,46,.16);
}
.v20-library-head:after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-110px;
  bottom:-210px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(255,255,255,.035),0 0 0 116px rgba(255,255,255,.025);
  pointer-events:none;
}
.v20-library-head>div,.v20-library-head>button{position:relative;z-index:1}
.v20-library-head .eyebrow{color:#efd9a9}
.v20-library-head h1{max-width:760px;margin:8px 0 16px;font-size:clamp(42px,6vw,72px);letter-spacing:-.035em}
.v20-library-head h1 span{color:#efd9a9}
.v20-library-head .muted{max-width:700px;color:#e6e2dc;font-size:16px;line-height:1.65}
.v20-create-trip{min-height:52px;padding:13px 20px;border-radius:999px;background:#fff;color:var(--v20-slate);border-color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.v20-create-trip:hover{background:#f4e8d4;color:var(--v20-slate)}
.v20-library-label{display:flex;align-items:baseline;gap:12px;margin:0 2px 14px}
.v20-library-label span{font-size:22px;font-weight:850;color:var(--v20-slate)}
.v20-library-label small{color:var(--v20-muted)}
.v20-trip-library .trip-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.v20-trip-library .trip-card{
  min-height:205px;
  padding:24px 24px 58px;
  border:1px solid var(--v20-line);
  border-radius:22px;
  background:var(--v20-paper);
  box-shadow:var(--v20-shadow-small);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.v20-trip-library .trip-card:before{content:"";width:44px;height:4px;border-radius:999px;background:var(--v20-accent);margin-bottom:10px}
.v20-trip-library .trip-card:hover{transform:translateY(-4px);border-color:#d2b9aa;box-shadow:0 18px 38px rgba(55,44,32,.12)}
.v20-trip-library .trip-country{color:var(--v20-accent);text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.v20-trip-library .trip-card strong{font-size:24px;color:var(--v20-slate)}
.v20-trip-library .trip-card-foot{margin-top:auto;color:var(--v20-muted)}

/* Selected trip cover. */
.v20-trip-hero{
  position:relative;
  overflow:hidden;
  min-height:265px;
  margin-bottom:26px;
  padding:26px clamp(26px,4vw,54px) 40px;
  border-radius:30px;
  background:
    radial-gradient(circle at 90% 22%,rgba(214,182,111,.23) 0 10%,transparent 11%),
    radial-gradient(circle at 76% 90%,rgba(184,95,71,.22) 0 18%,transparent 19%),
    linear-gradient(132deg,#202d35 0%,#2a3a43 55%,#4b4640 100%);
  color:#fff;
  box-shadow:0 24px 65px rgba(41,46,49,.16);
}
.v20-trip-hero:after{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  right:-140px;
  top:-155px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:0 0 0 56px rgba(255,255,255,.035),0 0 0 112px rgba(255,255,255,.025);
}
.v20-trip-hero-top,.v20-trip-hero-content{position:relative;z-index:1}
.v20-trip-hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.v20-hero-back{border:0;background:transparent;color:#f4eee5;font-weight:800;padding:8px 0}
.v20-hero-back:hover{color:#efd9a9}
.v20-hero-brand{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:#d9d7d2}
.v20-trip-hero-content{margin-top:45px}
.v20-trip-country{margin:0 0 7px;color:#efd9a9;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.v20-trip-hero h1{max-width:900px;margin:0 0 14px;color:#fff;font-size:clamp(38px,5vw,64px);letter-spacing:-.035em}
.v20-trip-meta{display:flex;flex-wrap:wrap;gap:10px 24px;color:#e8e3dc;font-size:14px;font-weight:650}
.v20-trip-meta .trip-focus-summary{color:#e8e3dc;margin:0}

/* Trip Plan home. */
.v20-planning-home{margin-bottom:32px}
.v20-home-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin:0 2px 18px}
.v20-home-heading h2{margin:4px 0 6px;font-size:32px;color:var(--v20-slate);letter-spacing:-.025em}
.v20-home-heading p:not(.eyebrow){max-width:720px;margin:0;color:var(--v20-muted);font-size:14px}
.v20-plan-progress{display:grid;justify-items:end;gap:1px;min-width:150px}
.v20-plan-progress strong{font-size:28px;color:var(--v20-accent)}
.v20-plan-progress span{font-size:11px;color:var(--v20-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.v20-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v20-step-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:132px;
  padding:22px 24px;
  text-align:left;
  border:1px solid var(--v20-line);
  border-radius:22px;
  background:var(--v20-paper);
  color:var(--v20-ink);
  box-shadow:var(--v20-shadow-small);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.v20-step-card:not(:disabled):hover{transform:translateY(-3px);border-color:#d3b5a5;box-shadow:0 15px 34px rgba(55,44,32,.11)}
.v20-step-card-wide{grid-column:1/-1}
.v20-step-number{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--v20-soft);color:var(--v20-accent);font-size:18px;font-weight:900;letter-spacing:.04em}
.v20-step-copy{display:grid;gap:5px;min-width:0}
.v20-step-copy strong{font-size:21px;color:var(--v20-slate)}
.v20-step-copy small{color:var(--v20-muted);font-size:13px;line-height:1.4}
.v20-step-state{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:7px 10px;border-radius:999px;background:#f0e5d7;color:#765745;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.v20-step-card.is-complete{border-color:#dbc9a2;background:#fffdf7}
.v20-step-card.is-complete .v20-step-number{background:var(--v20-sand-soft);color:#735c2f}
.v20-step-card.is-complete .v20-step-state{background:var(--v20-slate);color:#fff}
.v20-step-card:disabled,.v20-tool-card:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;filter:saturate(.7)}
.v20-home-tools{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.v20-tool-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:128px;
  padding:22px 24px;
  text-align:left;
  border:1px solid #d6c7b9;
  border-radius:22px;
  background:#f2e9dd;
  color:var(--v20-slate);
}
.v20-tool-card>span{display:grid;gap:4px}
.v20-tool-card small{text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:850;color:var(--v20-accent)}
.v20-tool-card strong{font-size:21px}
.v20-tool-card em{max-width:520px;color:var(--v20-muted);font-size:12px;font-style:normal;font-weight:600}
.v20-tool-card b{white-space:nowrap;color:var(--v20-accent)}
.v20-tool-card:not(:disabled):hover{background:#eadccd;border-color:#cda995}
.v20-tool-card-manage{background:var(--v20-slate);border-color:var(--v20-slate);color:#fff}
.v20-tool-card-manage small{color:#efd9a9}.v20-tool-card-manage em{color:#d9ddd8}.v20-tool-card-manage b{color:#efd9a9}
.v20-tool-card-manage:not(:disabled):hover{background:#31434d}
.v20-tool-card-secondary{grid-column:1/-1;min-height:94px;background:transparent;border-style:dashed}

/* Focused panel bar. */
.v20-step-bar{position:sticky;top:73px;z-index:18;display:flex;align-items:center;gap:18px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--v20-line);border-radius:16px;background:rgba(255,253,249,.95);box-shadow:0 8px 24px rgba(55,44,32,.08);backdrop-filter:blur(10px)}
.v20-step-bar>div{display:grid;gap:1px}.v20-step-bar small{color:var(--v20-accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.v20-step-bar strong{color:var(--v20-slate);font-size:15px}
.v20-step-back{border:0;border-right:1px solid var(--v20-line);padding:6px 18px 6px 0;background:transparent;color:var(--v20-slate);font-weight:850}

/* V20 shows one planning workspace at a time. */
#tripView:not(.trip-finalized-mode) #smartJourneyView>.itinerary-card{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
#tripView:not(.trip-finalized-mode).v20-panel-destinations #smartJourneyView>.itinerary-card>*,
#tripView:not(.trip-finalized-mode).v20-panel-flights #smartJourneyView>.itinerary-card>*,
#tripView:not(.trip-finalized-mode).v20-panel-arrival #smartJourneyView>.itinerary-card>*,
#tripView:not(.trip-finalized-mode).v20-panel-departure #smartJourneyView>.itinerary-card>*,
#tripView:not(.trip-finalized-mode).v20-panel-review #smartJourneyView>.itinerary-card>*,
#tripView:not(.trip-finalized-mode).v20-panel-detailed #smartJourneyView>.itinerary-card>*,
#tripView:not(.trip-finalized-mode).v20-panel-manage #smartJourneyView>.itinerary-card>*{display:none!important}
#tripView:not(.trip-finalized-mode).v20-panel-destinations #smartJourneyView>.itinerary-card>.destination-setup-group,
#tripView:not(.trip-finalized-mode).v20-panel-flights #smartJourneyView>.itinerary-card>#flightSearchSection,
#tripView:not(.trip-finalized-mode).v20-panel-arrival #smartJourneyView>.itinerary-card>#arrivalPlanSection,
#tripView:not(.trip-finalized-mode).v20-panel-departure #smartJourneyView>.itinerary-card>#departurePlanSection,
#tripView:not(.trip-finalized-mode).v20-panel-review #smartJourneyView>.itinerary-card>#journeyReviewSection,
#tripView:not(.trip-finalized-mode).v20-panel-detailed #smartJourneyView>.itinerary-card>#detailedJourneySection,
#tripView:not(.trip-finalized-mode).v20-panel-manage #smartJourneyView>.itinerary-card>#manageTripSection{display:block!important;margin:0}
#tripView.trip-finalized-mode.v20-panel-home #smartJourneyView{display:none!important}
#tripView.trip-finalized-mode.v20-panel-home #finalizedSubViewBar{display:none!important}
#tripView.v20-panel-home #targetBirdsView,#tripView:not(.v20-panel-birds) #targetBirdsView{display:none!important}
#tripView.v20-panel-birds #targetBirdsView{display:block!important}
#tripView.v20-panel-birds #smartJourneyView{display:none!important}
.trip-planning-intro{display:none!important}

/* Step shells share one calmer visual language. */
.destination-setup-group,.flight-step-group,.journey-plan-step,.journey-review-step,.detailed-journey-step,.manage-trip-section{
  border:0!important;
  border-radius:24px!important;
  background:var(--v20-paper)!important;
  box-shadow:var(--v20-shadow-small)!important;
}
.destination-setup-group{padding:24px!important;overflow:visible!important}
.destination-group-header,.flight-step-header,.journey-plan-step-header,.journey-review-step-header,.detailed-journey-step-header,.manage-trip-header{
  margin:0 0 22px!important;
  padding:0 0 18px!important;
  border:0!important;
  border-bottom:1px solid var(--v20-line)!important;
  background:transparent!important;
  color:var(--v20-ink)!important;
}
.destination-group-header h3,.flight-step-header h3,.journey-plan-step-header h3,.journey-review-step-header h3,.detailed-journey-step-header h3,.manage-trip-header h3{color:var(--v20-slate)!important;font-size:30px!important;letter-spacing:-.02em}
.destination-group-help,.flight-step-help,.journey-plan-step-header p,.journey-review-step-header p,.detailed-journey-step-header p,.manage-trip-header p{color:var(--v20-muted)!important}
.destination-step-badge,.flight-step-badge,.journey-plan-step-badge,.journey-review-step-badge,.detailed-journey-step-badge{
  border:0!important;background:#f0e2d6!important;color:var(--v20-accent-deep)!important
}
.destination-group-country{border:0!important;background:var(--v20-sand-soft)!important;color:#67542f!important}
.destination-group-add{margin-top:12px}
.destination-group-add .secondary{border-color:#d8c8b8!important;background:var(--v20-paper)!important;color:var(--v20-slate)!important;box-shadow:none!important}

/* Step 1 destination overview and cards. */
.destination-setup-group .location-chips{display:block!important;margin:0!important}
.v20-destination-overview{display:flex;gap:12px;margin-bottom:16px}
.v20-destination-overview>div{display:grid;gap:2px;min-width:150px;padding:12px 15px;border:1px solid var(--v20-line);border-radius:14px;background:#faf5ee}
.v20-destination-overview small{color:var(--v20-muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.v20-destination-overview strong{color:var(--v20-slate);font-size:16px}
.v20-destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.v20-destination-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--v20-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 24px rgba(55,44,32,.055);
}
.v20-destination-card.is-open{grid-column:1/-1}
.v20-destination-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:20px 20px 14px}
.v20-destination-order{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#f2e7dc;color:var(--v20-accent);font-size:12px;font-weight:900;letter-spacing:.06em}
.v20-destination-title{display:grid;gap:2px;min-width:0}
.v20-destination-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v20-slate);font-size:20px}
.v20-destination-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v20-muted);font-size:12px}
.v20-night-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--v20-slate);color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.v20-destination-timing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 20px;border:1px solid var(--v20-line);border-radius:14px;overflow:hidden;background:var(--v20-line)}
.v20-destination-timing>div{display:grid;gap:3px;padding:11px 12px;background:#fffdf9}
.v20-destination-timing small{color:var(--v20-accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.v20-destination-timing strong{color:#4a4946;font-size:11px;line-height:1.4}
.v20-stay-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin:14px 20px 0;padding:10px 12px;border-radius:12px;background:#f6efe6}
.v20-stay-line span{color:var(--v20-accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.v20-stay-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v20-slate);font-size:13px}
.v20-stay-line.is-empty{background:#fbf7f1;border:1px dashed #dfd1c3}
.v20-stay-line.is-empty strong{color:var(--v20-muted);font-weight:650}
.v20-destination-actions{display:flex;gap:8px;margin-top:auto;padding:16px 20px 20px}
.v20-destination-actions button,.v20-inline-edit-actions button{
  border:1px solid #d8c9ba;border-radius:10px;background:#fffdf9;color:var(--v20-slate);padding:9px 12px;font-size:11px;font-weight:850
}
.v20-destination-actions button:last-child{background:var(--v20-accent);border-color:var(--v20-accent);color:#fff;margin-left:auto}
.v20-destination-actions button:hover,.v20-inline-edit-actions button:hover{background:#f5e8dc}
.v20-destination-actions button:last-child:hover{background:var(--v20-accent-deep)}
.v20-inline-location-edit{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:12px;align-items:end;margin:0 20px 20px;padding:14px;border:1px solid #dcc5b7;border-radius:14px;background:#fbf3ea}
.v20-inline-location-edit label{font-size:11px;color:#625c55}
.v20-inline-location-edit input{background:#fff}
.v20-inline-edit-actions{display:flex;gap:7px;align-items:center}
.v20-inline-edit-actions .v20-location-save{background:var(--v20-slate);border-color:var(--v20-slate);color:#fff}
.v20-destination-body{padding:20px;border-top:1px solid var(--v20-line);background:#fcf9f4}
.v20-destination-body-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.v20-destination-body-head>div{display:grid;gap:2px}.v20-destination-body-head small{color:var(--v20-accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.v20-destination-body-head strong{font-size:18px;color:var(--v20-slate)}
.v20-destination-body-head>span{max-width:560px;color:var(--v20-muted);font-size:11px;text-align:right}
.v20-destination-body .trip-place-section{border-color:#e5d9cc;background:#fff;border-radius:14px}
.v20-destination-body .trip-place-section+.trip-place-section{margin-top:10px}
.v20-destination-body .trip-place-item{border-color:#ece1d6;background:#fffdf9}
.v20-destination-body .trip-place-head .secondary{color:var(--v20-accent-deep);border-color:#dbc9b8}
.v20-destination-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px dashed #d8c7b7;border-radius:20px;background:#fbf6ef}
.v20-destination-empty>span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#f0e1d3;color:var(--v20-accent);font-weight:900}
.v20-destination-empty strong{font-size:18px;color:var(--v20-slate)}
.v20-destination-empty p{margin:4px 0 0;color:var(--v20-muted);font-size:12px}
.v20-destination-empty button{border:0;border-radius:10px;background:var(--v20-accent);color:#fff;padding:10px 14px;font-weight:850}
.destination-next-step{margin:20px 0 0!important;padding:16px 18px!important;border:1px solid #dfd1c3!important;background:#f7f0e7!important;box-shadow:none!important}
.destination-next-step strong{color:var(--v20-slate)!important}.destination-next-step span{color:var(--v20-muted)!important}
.destination-next-step .primary{background:var(--v20-accent)!important;border-color:var(--v20-accent)!important}
.destination-next-step.needs-recalculation{border-color:#d3af6a!important;background:#fff5df!important}

/* Keep remaining V19 controls usable but visually aligned until each step is redesigned. */
.flight-step-group,.journey-plan-step,.journey-review-step,.detailed-journey-step,.manage-trip-section{padding:24px!important;overflow:visible!important}
.flight-plan-summary,.flight-search-panel,.journey-change-review,.detailed-journey-body,.manage-trip-body{border-color:var(--v20-line)!important;background:#fff!important}
.flight-step-group #flightSelectedOffer{margin-left:0;margin-right:0}
.finalized-subview-bar{border-color:var(--v20-line);background:#fffaf3}

@media(max-width:900px){
  .v20-step-grid,.v20-home-tools,.v20-destination-grid{grid-template-columns:1fr}
  .v20-step-card-wide,.v20-tool-card-secondary,.v20-destination-card.is-open{grid-column:auto}
  .v20-home-heading{align-items:flex-start;flex-direction:column}
  .v20-plan-progress{justify-items:start}
  .v20-inline-location-edit{grid-template-columns:1fr 120px}.v20-inline-edit-actions{grid-column:1/-1}
}
@media(max-width:700px){
  .page{padding:16px 12px 54px}
  .v20-library-head{min-height:360px;padding:34px 24px;align-items:flex-start;flex-direction:column;justify-content:flex-end}
  .v20-library-head h1{font-size:45px}
  .v20-create-trip{width:100%;margin-top:18px}
  .v20-trip-hero{min-height:240px;padding:22px 22px 32px;border-radius:24px}
  .v20-trip-hero-content{margin-top:38px}.v20-trip-hero h1{font-size:40px}
  .v20-step-card{grid-template-columns:auto minmax(0,1fr);padding:18px;min-height:116px}.v20-step-state{grid-column:2;justify-self:start}
  .v20-tool-card{align-items:flex-start;flex-direction:column}.v20-tool-card b{align-self:flex-end}
  .v20-step-bar{top:68px}
  .destination-setup-group{padding:18px!important}
  .v20-destination-card-head{grid-template-columns:auto minmax(0,1fr)}.v20-night-pill{grid-column:2;justify-self:start}
  .v20-destination-timing{grid-template-columns:1fr;margin:0 16px}.v20-destination-timing>div+div{border-top:1px solid var(--v20-line)}
  .v20-stay-line{margin-left:16px;margin-right:16px}
  .v20-destination-actions{padding-left:16px;padding-right:16px;flex-wrap:wrap}.v20-destination-actions button{flex:1 1 140px}.v20-destination-actions button:last-child{margin-left:0}
  .v20-inline-location-edit{grid-template-columns:1fr;margin-left:16px;margin-right:16px}.v20-inline-edit-actions{grid-column:auto}
  .v20-destination-body{padding:16px}.v20-destination-body-head{align-items:flex-start;flex-direction:column}.v20-destination-body-head>span{text-align:left}
  .v20-destination-overview{display:grid;grid-template-columns:1fr 1fr}.v20-destination-overview>div{min-width:0}
  .v20-destination-empty{grid-template-columns:auto 1fr}.v20-destination-empty button{grid-column:1/-1;width:100%}
}
@media(max-width:480px){
  .v20-library-head h1{font-size:38px}
  .v20-trip-hero h1{font-size:34px}
  .v20-trip-meta{display:grid;gap:6px}
  .v20-step-number{width:46px;height:46px;border-radius:14px}
  .v20-destination-overview{grid-template-columns:1fr}
}


/* ========================================================================== 
   WKH Trip Planner V20.0 · Batch 2
   Approved Concept D — Expedition Passport destination experience.
   ========================================================================== */
.v20-overview-hint{margin-left:auto;min-width:min(420px,100%)!important;background:#f5eee4!important}
.v20-destination-summary-card .v20-destination-actions{justify-content:flex-end}
.v20-destination-summary-card .v20-destination-actions .v20-destination-manage{margin-left:auto;min-width:150px;background:var(--v20-slate);border-color:var(--v20-slate);color:#fff}
.v20-passport-card{grid-column:1/-1!important;border:0!important;border-radius:28px!important;background:#162327!important;box-shadow:0 24px 60px rgba(30,36,38,.16)!important;overflow:hidden!important}
.v20-passport-shell{margin:18px;padding:24px;border-radius:24px;background:#f6f1e7;color:var(--v20-ink)}
.v20-passport-crumb{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:0 2px;color:#7b756d;font-size:11px;font-weight:750}
.v20-passport-crumb>span{text-transform:uppercase;letter-spacing:.09em}
.v20-passport-crumb button{border:0;background:transparent;color:#9b4c37;font-size:11px;font-weight:850;padding:7px 9px;border-radius:9px}
.v20-passport-crumb button:hover{background:#eee4d8}
.v20-passport-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:34px;min-height:255px;padding:30px 32px;border-radius:24px;background:radial-gradient(circle at 88% 18%,rgba(235,199,142,.15) 0 16%,transparent 17%),linear-gradient(130deg,#17342f 0%,#235344 62%,#30735a 100%);color:#fff;overflow:hidden}
.v20-passport-hero-copy{display:grid;align-content:start;gap:7px;max-width:720px;padding-top:5px}
.v20-passport-hero-copy>small{color:#f0c98a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.v20-passport-hero-copy h4{margin:0;font-size:clamp(32px,4vw,46px);line-height:1.04;letter-spacing:-.035em;color:#fff}
.v20-passport-hero-copy p{margin:0;color:#d8e8e1;font-size:15px;font-weight:700}
.v20-passport-hero-copy>span{max-width:680px;margin-top:8px;color:#d1ddd8;font-size:12px;line-height:1.5}
.v20-passport-edit{position:absolute;right:32px;top:28px;z-index:2;border:0;border-radius:11px;background:var(--v20-accent);color:#fff;padding:10px 14px;font-size:11px;font-weight:850}
.v20-passport-edit:hover{background:var(--v20-accent-deep)}
.v20-passport-facts{align-self:end;display:grid;gap:6px;margin-top:52px;padding:19px 20px;border-radius:18px;background:#fbf6ec;color:#27302f;box-shadow:0 10px 28px rgba(10,25,20,.11)}
.v20-passport-facts small{color:#97704c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.v20-passport-facts strong{font-size:15px;color:#17211b}
.v20-passport-facts span{color:#66665f;font-size:11px;line-height:1.4}
.v20-passport-facts b{margin-top:3px;color:#b55a42;font-size:12px}
.v20-passport-card .v20-inline-location-edit{margin:14px 0 0;border-color:#d7c3b4;background:#fff8ef}
.v20-passport-day-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:24px 4px 12px}
.v20-passport-day-head>div{display:grid;gap:3px}.v20-passport-day-head strong{font-size:20px;color:#17211b}.v20-passport-day-head span{font-size:11px;color:#777168}.v20-passport-day-head>small{color:#8c8278;font-size:10px;font-weight:800}
.v20-day-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.v20-day-tab{display:grid;gap:5px;min-height:72px;padding:13px 15px;text-align:left;border:1px solid #dfd5c7;border-radius:14px;background:#fffdf8;color:#17211b;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.v20-day-tab:hover{transform:translateY(-2px);border-color:#c8a990}
.v20-day-tab small{color:#b15b42;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.v20-day-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.v20-day-tab.is-active{border-color:#203e38;background:#203e38;color:#fff;box-shadow:0 7px 18px rgba(27,55,49,.16)}
.v20-day-tab.is-active small{color:#efca8b}
.v20-day-tabs-empty{grid-column:1/-1;padding:14px;border:1px dashed #d9cdbc;border-radius:12px;color:#777168;font-size:12px}
.v20-passport-selected-day{margin-bottom:14px}
.v20-passport-day-panel{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:18px;padding:18px;border:1px solid #dfd5c7;border-radius:20px;background:#fffdf9}
.v20-passport-day-visual{position:relative;overflow:hidden;display:grid;align-content:start;gap:8px;min-height:230px;padding:24px;border-radius:18px;background:radial-gradient(circle at 82% 28%,rgba(245,228,187,.6) 0 18%,transparent 19%),radial-gradient(circle at 12% 94%,rgba(39,77,67,.15) 0 20%,transparent 21%),linear-gradient(135deg,#cbd8c6,#8ea693);color:#173b34}
.v20-passport-day-visual small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.v20-passport-day-visual strong{max-width:360px;margin-top:10px;font-size:27px;line-height:1.08;letter-spacing:-.02em}
.v20-passport-day-visual span{max-width:360px;color:#35574f;font-size:12px;line-height:1.5;font-weight:650}
.v20-passport-day-detail{display:grid;align-content:start;gap:15px;padding:8px 8px 8px 4px}
.v20-passport-day-detail-head{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:5px 0 12px;border-bottom:1px solid #e8dfd3}
.v20-passport-day-detail-head>div{display:grid;gap:4px}.v20-passport-day-detail-head small{color:#b55a42;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.v20-passport-day-detail-head strong{font-size:24px;color:#17211b}
.v20-passport-add-activity{flex:0 0 auto;border:1px solid #d8c5b5;border-radius:10px;background:#fbf4e9;color:#a14f38;padding:8px 11px;font-size:10px;font-weight:850}
.v20-day-entry-list{display:grid;gap:9px}
.v20-day-entry{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 0}
.v20-day-entry+.v20-day-entry{border-top:1px solid #eee6db}
.v20-day-entry-dot{width:9px;height:9px;margin-top:6px;border-radius:50%;background:#2d7a67;box-shadow:0 0 0 4px #edf4f1}
.v20-day-entry-activity .v20-day-entry-dot{background:#d05a40;box-shadow:0 0 0 4px #fbede8}
.v20-day-entry-checkout .v20-day-entry-dot{background:#345667;box-shadow:0 0 0 4px #edf1f3}
.v20-day-entry-open .v20-day-entry-dot{background:#c4933e;box-shadow:0 0 0 4px #fbf4e5}
.v20-day-entry>div{display:grid;gap:2px}.v20-day-entry strong{font-size:13px;color:#17211b}.v20-day-entry small{font-size:10px;color:#73736d;line-height:1.45}
.v20-passport-day-empty{display:grid;gap:5px;padding:24px;border:1px dashed #d9cdbc;border-radius:18px;background:#fffdf9}.v20-passport-day-empty span{font-size:12px;color:#777168}
.v20-passport-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.v20-passport-support-card{display:grid;align-content:start;gap:5px;min-height:138px;padding:18px;text-align:left;border:1px solid #dfd5c7;border-radius:16px;background:#fffdf9;color:#17211b}
.v20-passport-support-card:hover,.v20-passport-support-card.is-active{border-color:#bf9f87;background:#fbf3e8}
.v20-passport-support-card small{color:#a56b40;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.v20-passport-support-card strong{font-size:17px}.v20-passport-support-card span{color:#74716c;font-size:10px;line-height:1.45}.v20-passport-support-card b{margin-top:auto;padding-top:10px;color:#bd5b42;font-size:10px}
.v20-passport-manage-panels{margin-top:12px}
.v20-passport-manage-panel{padding:14px;border:1px solid #dfd5c7;border-radius:18px;background:#fffaf3}
.v20-passport-manage-panel .trip-place-section{margin:0;border-color:#e5d9cc;background:#fffdf9}
.v20-passport-next{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin-top:14px;padding:15px 18px;text-align:left;border:0;border-radius:14px;background:#17282d;color:#fff}
.v20-passport-next>span{display:grid;gap:3px}.v20-passport-next small{color:#efca8b;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.v20-passport-next strong{font-size:12px}.v20-passport-next>b{color:#fff;font-size:11px;white-space:nowrap}.v20-passport-next:hover{background:#20363d}.v20-passport-next.is-last{cursor:default}
@media(max-width:980px){
  .v20-overview-hint{display:none!important}
  .v20-passport-hero{grid-template-columns:1fr}.v20-passport-facts{margin-top:0}.v20-passport-edit{right:24px;top:24px}
  .v20-passport-day-panel{grid-template-columns:1fr}.v20-passport-day-visual{min-height:185px}
  .v20-passport-support-grid{grid-template-columns:1fr 1fr}.v20-passport-support-card:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .v20-passport-card{border-radius:20px!important}.v20-passport-shell{margin:8px;padding:14px;border-radius:18px}
  .v20-passport-hero{padding:22px 18px}.v20-passport-hero-copy h4{padding-right:80px;font-size:32px}.v20-passport-edit{right:16px;top:16px;padding:8px 10px}
  .v20-passport-day-head{align-items:start;flex-direction:column}.v20-day-tabs{display:flex;overflow-x:auto;padding-bottom:4px}.v20-day-tab{flex:0 0 150px}
  .v20-passport-day-panel{padding:12px}.v20-passport-day-detail{padding:2px}.v20-passport-day-detail-head{flex-direction:column}.v20-passport-add-activity{width:100%}
  .v20-passport-support-grid{grid-template-columns:1fr}.v20-passport-support-card:last-child{grid-column:auto}
  .v20-passport-next{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   WKH Trip Planner V20.0 · Batch 3
   Full Concept D system — Flights, Arrival, Departure, Review, Detailed
   Journey, Manage Trip, dialogs and target-bird workspace.
   ========================================================================== */

.v20-full-redesign .page{max-width:1420px;padding-left:28px;padding-right:28px}
.v20-full-redesign .v20-trip-hero{
  background:
    radial-gradient(circle at 90% 16%,rgba(240,201,138,.16) 0 12%,transparent 13%),
    radial-gradient(circle at 77% 92%,rgba(216,93,66,.15) 0 18%,transparent 19%),
    linear-gradient(128deg,#112622 0%,#1d3d37 54%,#274d43 100%);
}
.v20-full-redesign .v20-step-bar{
  border:0;
  background:#17282d;
  color:#fff;
  box-shadow:0 10px 28px rgba(21,36,39,.14);
}
.v20-full-redesign .v20-step-bar small{color:#efca8b}
.v20-full-redesign .v20-step-bar strong{color:#fff}
.v20-full-redesign .v20-step-back{border-right-color:rgba(255,255,255,.18);color:#fff}
.v20-full-redesign .v20-step-back:hover{color:#efca8b}

/* One visual shell for every major Trip Planner workspace. */
.v20-full-redesign .v20-passport-workspace{
  margin:0!important;
  padding:18px!important;
  border:0!important;
  border-radius:28px!important;
  background:#162327!important;
  box-shadow:0 24px 60px rgba(28,35,36,.15)!important;
  overflow:visible!important;
}
.v20-full-redesign .v20-passport-workspace>.flight-step-header,
.v20-full-redesign .v20-passport-workspace>.journey-plan-step-header,
.v20-full-redesign .v20-passport-workspace>.journey-review-step-header,
.v20-full-redesign .v20-passport-workspace>.detailed-journey-step-header,
.v20-full-redesign .v20-passport-workspace>.manage-trip-header{
  margin:0 0 14px!important;
  padding:26px 28px!important;
  border:0!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 91% 14%,rgba(240,201,138,.14) 0 15%,transparent 16%),
    linear-gradient(128deg,#18342f 0%,#235344 62%,#2d6a53 100%)!important;
  color:#fff!important;
}
.v20-full-redesign .departure-plan-step>.journey-plan-step-header{
  background:
    radial-gradient(circle at 91% 14%,rgba(240,201,138,.13) 0 15%,transparent 16%),
    linear-gradient(128deg,#173039 0%,#234a50 62%,#2e6664 100%)!important;
}
.v20-full-redesign .v20-passport-workspace>.flight-step-header h3,
.v20-full-redesign .v20-passport-workspace>.journey-plan-step-header h3,
.v20-full-redesign .v20-passport-workspace>.journey-review-step-header h3,
.v20-full-redesign .v20-passport-workspace>.detailed-journey-step-header h3,
.v20-full-redesign .v20-passport-workspace>.manage-trip-header h3{
  color:#fff!important;
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.06!important;
}
.v20-full-redesign .v20-passport-workspace>.flight-step-header p,
.v20-full-redesign .v20-passport-workspace>.journey-plan-step-header p,
.v20-full-redesign .v20-passport-workspace>.journey-review-step-header p,
.v20-full-redesign .v20-passport-workspace>.detailed-journey-step-header p,
.v20-full-redesign .v20-passport-workspace>.manage-trip-header p{
  max-width:900px!important;
  color:#d6e3df!important;
  font-size:13px!important;
}
.v20-full-redesign .flight-step-badge,
.v20-full-redesign .journey-plan-step-badge,
.v20-full-redesign .journey-review-step-badge,
.v20-full-redesign .detailed-journey-step-badge{
  border:0!important;
  background:#f7eddb!important;
  color:#8d5d32!important;
}
.v20-full-redesign .flight-step-title,
.v20-full-redesign .journey-plan-step-header,
.v20-full-redesign .journey-review-step-header{align-items:flex-start}
.v20-full-redesign .flight-step-title>div,
.v20-full-redesign .journey-plan-step-header>div,
.v20-full-redesign .journey-review-step-header>div{gap:7px}

/* Paper body inside the dark expedition shell. */
.v20-full-redesign .flight-plan-summary,
.v20-full-redesign .flight-search-panel,
.v20-full-redesign .journey-plan-step-content,
.v20-full-redesign .journey-change-review-content,
.v20-full-redesign .detailed-journey-body,
.v20-full-redesign .manage-trip-body{
  margin:0!important;
  padding:22px!important;
  border:0!important;
  border-radius:22px!important;
  background:#f6f1e7!important;
  box-shadow:none!important;
}
.v20-full-redesign .flight-search-panel{margin-top:12px!important}
.v20-full-redesign .flight-step-group #flightSelectedOffer{
  margin:12px 0 0!important;
  padding:18px;
  border-radius:20px;
  background:#f6f1e7;
}
.v20-full-redesign .flight-step-footnote{
  margin:12px 0 0;
  padding:13px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:#d3ddda;
}

/* FLIGHTS — passport facts instead of a wide five-field form. */
.v20-full-redesign .flight-plan-summary{
  display:grid;
  gap:14px;
}
.v20-full-redesign .flight-plan-summary>strong{
  color:#17211b;
  font-size:21px;
}
.v20-full-redesign .flight-plan-summary>span{
  max-width:880px;
  color:#777168;
  font-size:12px;
  line-height:1.5;
}
.v20-full-redesign .flight-journey-setup{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.v20-full-redesign .flight-journey-setup label{
  display:grid;
  align-content:start;
  gap:7px;
  min-height:96px;
  padding:14px 15px;
  border:1px solid #dfd5c7;
  border-radius:15px;
  background:#fffdf9;
  color:#9b6844;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.v20-full-redesign .flight-journey-setup label:nth-child(1),
.v20-full-redesign .flight-journey-setup label:nth-child(2){grid-column:span 1}
.v20-full-redesign .flight-journey-setup input[readonly]{
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#17211b!important;
  font-size:14px!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.v20-full-redesign .flight-search-panel{
  gap:14px;
}
.v20-full-redesign .flight-search-panel-head{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:0 0 14px;
  border-bottom:1px solid #e5dacb;
}
.v20-full-redesign .flight-search-panel-head strong{font-size:23px;color:#17211b}
.v20-full-redesign .flight-search-panel-head p{max-width:820px;color:#777168}
.v20-full-redesign .flight-search-panel-head .secondary{justify-self:start}
.v20-full-redesign .flight-panel-kicker{color:#b15b42}
.v20-full-redesign .flight-search-panel .two-col{
  gap:10px;
}
.v20-full-redesign .flight-search-panel label{
  padding:12px 13px;
  border:1px solid #e2d7c9;
  border-radius:14px;
  background:#fffdf9;
  color:#6d655d;
  font-size:11px;
}
.v20-full-redesign .flight-search-panel label input,
.v20-full-redesign .flight-search-panel label select{
  margin-top:3px;
  border-color:#d7cab9;
  background:#fff;
}
.v20-full-redesign #findFlightsButton{
  justify-self:start;
  min-width:170px;
  border-radius:12px;
  background:#d05a40;
}
.v20-full-redesign .flight-results-head{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
}
.v20-full-redesign .flight-airline-preference{min-width:0;max-width:360px}
.v20-full-redesign .flight-sort-toolbar{padding-top:6px}
.v20-full-redesign .flight-sort-button{
  border-color:#d7c7b8;
  color:#27423c;
  background:#fffdf9;
}
.v20-full-redesign .flight-sort-button.active{background:#203e38;border-color:#203e38}
.v20-full-redesign .flight-card,
.v20-full-redesign .selected-flight-card{
  border-color:#dfd5c7;
  border-radius:18px;
  background:#fffdf9;
  box-shadow:none;
}
.v20-full-redesign .flight-leg{
  border-color:#e7ddd0;
  background:#faf5ed;
}
.v20-full-redesign .flight-badge.selected{background:#203e38}
.v20-full-redesign .flight-price{color:#b75b43}
.v20-full-redesign .flight-card-footer{
  align-items:flex-start;
  flex-direction:column;
}
.v20-full-redesign .flight-card-footer .primary{min-width:160px}

/* ARRIVAL + DEPARTURE — decision cards, no left/right extremes. */
.v20-full-redesign .journey-plan-step-content{
  gap:14px;
}
.v20-full-redesign .journey-plan-summary{
  grid-template-columns:1fr!important;
  gap:10px;
  align-items:start;
  padding:18px;
  border:1px solid #dfd5c7;
  border-radius:18px;
  background:#fffdf9;
}
.v20-full-redesign .journey-plan-summary.waiting{border-color:#e0c995;background:#fff8e8}
.v20-full-redesign .journey-plan-summary.complete{border-color:#b5cdbd;background:#f4faf6}
.v20-full-redesign .journey-plan-summary .secondary{justify-self:start}
.v20-full-redesign .journey-plan-status{
  background:#203e38;
  color:#fff;
}
.v20-full-redesign .journey-plan-summary.waiting .journey-plan-status,
.v20-full-redesign .departure-plan-decision .journey-plan-status{background:#b47a2d}
.v20-full-redesign .journey-plan-summary strong{font-size:21px;color:#17211b}
.v20-full-redesign .journey-plan-summary p{max-width:920px;color:#6f6f69}
.v20-full-redesign .arrival-transfer-review,
.v20-full-redesign .departure-plan-decision,
.v20-full-redesign .arrival-decision-gate{
  padding:18px!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.v20-full-redesign .arrival-decision-heading,
.v20-full-redesign .journey-plan-decision-head{
  display:grid!important;
  grid-template-columns:1fr;
  gap:7px;
}
.v20-full-redesign .arrival-choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.v20-full-redesign .arrival-choice-card,
.v20-full-redesign .departure-choice-card{
  min-height:124px;
  padding:16px;
  border:1px solid #dccfc0;
  border-radius:16px;
  background:#fffdf9;
  color:#17211b;
}
.v20-full-redesign .arrival-choice-card:hover,
.v20-full-redesign .departure-choice-card:hover{
  border-color:#bd9b82;
  background:#fbf3e8;
}
.v20-full-redesign .arrival-choice-card strong,
.v20-full-redesign .departure-choice-card strong{font-size:16px;color:#17211b}
.v20-full-redesign .arrival-choice-card span,
.v20-full-redesign .departure-choice-card span{color:#726d66}
.v20-full-redesign .departure-choice-grid{gap:10px}
.v20-full-redesign .arrival-hotel-picker{
  padding:15px;
  border-color:#dfd5c7;
  border-radius:16px;
  background:#fffdf9;
}
.v20-full-redesign .arrival-hotel-result,
.v20-full-redesign .arrival-selected-hotel{
  border-color:#e2d7ca;
  border-radius:13px;
  background:#faf6ef;
}
.v20-full-redesign .arrival-hotel-result strong,
.v20-full-redesign .arrival-selected-hotel strong{color:#21483f}
.v20-full-redesign .arrival-plan-confirm{
  align-items:flex-start;
  flex-direction:column;
}
.v20-full-redesign .arrival-plan-confirm .primary{min-width:180px}
.v20-full-redesign .departure-plan-time-grid{
  padding:12px;
  border:1px solid #e2d7ca;
  border-radius:14px;
  background:#fffdf9;
}

/* REVIEW JOURNEY — structured resolution board. */
.v20-full-redesign .journey-change-review-content{
  display:grid;
  gap:12px;
}
.v20-full-redesign .journey-change-review{
  padding:18px;
  border:1px solid #dfd5c7;
  border-radius:18px;
  background:#fffdf9;
}
.v20-full-redesign .journey-change-review.waiting,
.v20-full-redesign .journey-change-review.complete{
  grid-template-columns:1fr;
  align-items:start;
}
.v20-full-redesign .journey-change-review.required{border-color:#d8b06c;background:#fff8e8}
.v20-full-redesign .journey-change-review.complete{border-color:#adc8b7;background:#f4faf6}
.v20-full-redesign .journey-change-review-head{display:grid;grid-template-columns:1fr;gap:7px}
.v20-full-redesign .journey-night-summary{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.v20-full-redesign .journey-night-summary>div{
  min-height:92px;
  border-color:#e4d8c7;
  border-radius:14px;
  background:#fffdf9;
}
.v20-full-redesign .journey-night-options{gap:8px}
.v20-full-redesign .journey-night-option,
.v20-full-redesign .journey-change-action{
  min-height:96px;
  border-color:#dccdb8;
  border-radius:14px;
  background:#fffdf9;
}
.v20-full-redesign .journey-change-choice-block{
  border-color:#e2d7c8;
  border-radius:15px;
  background:#faf5ed;
}
.v20-full-redesign .journey-review-step .journey-ai-note,
.v20-full-redesign .journey-review-step .itinerary-secondary-actions,
.v20-full-redesign .journey-review-step .itinerary-list{
  margin-left:22px;
  margin-right:22px;
}
.v20-full-redesign .journey-review-step .journey-ai-note{
  color:#d5dedb;
}
.v20-full-redesign .journey-review-step .itinerary-secondary-actions{
  margin-top:12px;
  padding:12px;
  border-radius:14px;
  background:#f6f1e7;
}

/* DETAILED JOURNEY — same day-selector behavior as Concept D. */
.v20-full-redesign .detailed-journey-step-header{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.v20-full-redesign .detailed-journey-share-actions{
  justify-content:flex-start;
  width:100%;
}
.v20-full-redesign .detailed-journey-finalize-button{
  border-color:#efd192;
  background:#efca7f;
  color:#3f3421;
}
.v20-full-redesign .detailed-journey-header-button{
  border-color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.10);
  color:#fff;
}
.v20-full-redesign .detailed-journey-header-button:hover{background:rgba(255,255,255,.18)}
.v20-full-redesign .detailed-journey-body{gap:14px}
.v20-full-redesign .detailed-journey-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.v20-full-redesign .detailed-journey-summary-grid>div{
  min-height:86px;
  border-color:#e1d6c8;
  border-radius:14px;
  background:#fffdf9;
}
.v20-full-redesign .detailed-journey-summary-grid span{color:#a06a43}
.v20-full-redesign .detailed-journey-ready-note{
  border-color:#c5d7ca;
  border-radius:14px;
  background:#f2f8f4;
}
.v20-full-redesign .detailed-journey-plan-links{
  border-color:#e2d7c9;
  border-radius:14px;
  background:#fffdf9;
}
.v20-full-redesign .v20-detailed-passport{display:grid;gap:12px}
.v20-full-redesign .v20-detailed-day-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding:4px 2px 2px;
}
.v20-full-redesign .v20-detailed-day-heading>div{display:grid;gap:3px}
.v20-full-redesign .v20-detailed-day-heading small{color:#b15b42;font-size:9px;font-weight:900;letter-spacing:.1em}
.v20-full-redesign .v20-detailed-day-heading strong{font-size:22px;color:#17211b}
.v20-full-redesign .v20-detailed-day-heading span{color:#777168;font-size:11px}
.v20-full-redesign .v20-detailed-all-button{
  border:1px solid #d8c7b7;
  border-radius:11px;
  background:#fffdf9;
  color:#974b37;
  padding:9px 13px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.v20-full-redesign .v20-detailed-all-button.is-active{background:#203e38;border-color:#203e38;color:#fff}
.v20-full-redesign .v20-detailed-day-tabs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:9px;
}
.v20-full-redesign .v20-detailed-day-tab{
  display:grid;
  gap:5px;
  min-height:72px;
  padding:13px 14px;
  text-align:left;
  border:1px solid #dfd5c7;
  border-radius:14px;
  background:#fffdf9;
  color:#17211b;
}
.v20-full-redesign .v20-detailed-day-tab small{color:#b15b42;font-size:9px;font-weight:900;text-transform:uppercase}
.v20-full-redesign .v20-detailed-day-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;text-transform:uppercase}
.v20-full-redesign .v20-detailed-day-tab:hover{border-color:#c5a58d;background:#fbf4ea}
.v20-full-redesign .v20-detailed-day-tab.is-active{border-color:#203e38;background:#203e38;color:#fff;box-shadow:0 7px 18px rgba(27,55,49,.14)}
.v20-full-redesign .v20-detailed-day-tab.is-active small{color:#efca8b}
.v20-full-redesign .v20-detailed-day-stage{
  padding:16px;
  border:1px solid #dfd5c7;
  border-radius:18px;
  background:#fffdf9;
}
.v20-full-redesign .v20-detailed-day-section+.v20-detailed-day-section{margin-top:18px}
.v20-full-redesign .v20-detailed-day-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:2px 2px 12px;
  border-bottom:1px solid #eadfd2;
}
.v20-full-redesign .v20-detailed-day-section-head>div{display:grid;gap:2px}
.v20-full-redesign .v20-detailed-day-section-head small{color:#b15b42;font-size:9px;font-weight:900;text-transform:uppercase}
.v20-full-redesign .v20-detailed-day-section-head strong{font-size:19px;color:#17211b}
.v20-full-redesign .v20-detailed-day-section-head>span{color:#837b73;font-size:10px;font-weight:800}
.v20-full-redesign .v20-detailed-day-items{padding-top:12px}
.v20-full-redesign .detailed-journey-content{padding:0}
.v20-full-redesign .detailed-journey-item{grid-template-columns:22px minmax(0,1fr)}
.v20-full-redesign .detailed-journey-item-line{left:10px;background:#d9ddd7}
.v20-full-redesign .detailed-journey-item-dot{
  width:10px;height:10px;margin-left:5px;border-color:#fffdf9;background:#2d7a67;box-shadow:0 0 0 1px #88aa9c;
}
.v20-full-redesign .detailed-journey-item-card{
  margin-bottom:9px;
  padding:13px 14px;
  border-color:#e5dbcf;
  border-radius:14px;
  background:#faf6ef;
}
.v20-full-redesign .detailed-journey-item-top{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.v20-full-redesign .detailed-journey-item-top time{text-align:left;color:#a35a42;font-size:11px}
.v20-full-redesign .detailed-journey-item-title strong{font-size:15px}
.v20-full-redesign .detailed-journey-item-type{border-color:#c9d9d2;background:#eef5f1;color:#2a5a48}
.v20-full-redesign .detailed-journey-plan-marker{border-color:#e2ce9f;background:#fbf1d6;color:#775f28}
.v20-full-redesign .detailed-journey-destination-extras{border-top-color:#e7ddd0}
.v20-full-redesign .detailed-journey-extra-group{border-color:#e6dbcf;background:#fffdf9}
.v20-full-redesign .v20-detailed-empty{display:grid;gap:4px;padding:28px;border:1px dashed #d8cbbd;border-radius:16px;background:#faf6ef;color:#17211b}
.v20-full-redesign .v20-detailed-empty span{color:#777168;font-size:12px}

/* MANAGE TRIP — a dashboard of cards, not a form list. */
.v20-full-redesign .manage-trip-header{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.v20-full-redesign .manage-trip-header>div:first-child{max-width:900px}
.v20-full-redesign .manage-trip-kicker{color:#efca8b!important}
.v20-full-redesign .manage-trip-header-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  justify-content:stretch!important;
}
.v20-full-redesign .v20-manage-tools-label{
  grid-column:1/-1;
  color:#efca8b;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.v20-full-redesign .manage-trip-header-button{
  min-height:46px;
  padding:10px 12px;
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.09);
  color:#fff;
  text-align:left;
}
.v20-full-redesign .manage-trip-header-button:hover{background:rgba(255,255,255,.17)}
.v20-full-redesign .manage-trip-header-button.needs-review{
  border-color:#f0b0a4;
  background:#783d34;
  color:#fff;
}
.v20-full-redesign .manage-trip-summary{gap:12px}
.v20-full-redesign .manage-trip-journey-state{
  border-color:#bfd0c4;
  border-radius:15px;
  background:#f2f8f4;
}
.v20-full-redesign .manage-trip-journey-state.changes-pending{border-color:#e2b5a9;background:#fff0ea}
.v20-full-redesign .manage-trip-summary-grid{gap:8px}
.v20-full-redesign .manage-trip-summary-grid>div{
  display:grid;
  align-content:start;
  justify-content:stretch;
  gap:7px;
  min-height:100px;
  padding:14px;
  border-radius:15px;
  background:#fffdf9;
}
.v20-full-redesign .manage-trip-summary-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.v20-full-redesign .manage-trip-summary-grid strong{font-size:28px;color:#17211b}
.v20-full-redesign .manage-trip-summary-note{color:#777168}
.v20-full-redesign .manage-trip-content{gap:12px}
.v20-full-redesign .manage-trip-group{
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
.v20-full-redesign .manage-trip-group-head{
  padding:9px 2px;
  border:0;
  background:transparent;
}
.v20-full-redesign .manage-trip-group-head h4{
  color:#17211b;
  font-size:18px;
}
.v20-full-redesign .manage-trip-group-head span{
  padding:5px 8px;
  border-radius:999px;
  background:#eee4d8;
  color:#775f4e;
}
.v20-full-redesign .manage-trip-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.v20-full-redesign .manage-trip-item{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  min-height:170px;
  padding:15px;
  border:1px solid #e2d7c9!important;
  border-radius:16px;
  background:#fffdf9!important;
}
.v20-full-redesign .manage-trip-item.plan-changed{border-color:#e1b29d!important;background:#fff4ed!important}
.v20-full-redesign .manage-trip-item-main{gap:6px}
.v20-full-redesign .manage-trip-item-title{align-items:flex-start}
.v20-full-redesign .manage-trip-item-title strong{
  flex-basis:100%;
  margin-top:3px;
  color:#17211b;
  font-size:15px;
}
.v20-full-redesign .manage-trip-item-main>p{color:#726d66;font-size:11px;line-height:1.45}
.v20-full-redesign .manage-trip-item-meta{
  gap:6px;
}
.v20-full-redesign .manage-trip-item-meta span{
  padding:4px 7px;
  border-radius:999px;
  background:#f2ebe2;
  color:#675f57;
}
.v20-full-redesign .manage-trip-item>.secondary{
  width:100%;
  margin-top:auto;
  border-color:#d5c4b4;
  background:#faf2e7;
  color:#a14f38;
  text-align:center;
  font-weight:900;
}
.v20-full-redesign .manage-trip-item>.secondary:hover{background:#f0e2d4}
.v20-full-redesign .manage-trip-change-comparison.compact{grid-template-columns:1fr}
.v20-full-redesign .manage-trip-change-note{color:#9c4f37}
.v20-full-redesign .manage-trip-status{font-size:8px}
.v20-full-redesign .summary-attention,
.v20-full-redesign .summary-arranged,
.v20-full-redesign .summary-confirmed,
.v20-full-redesign .summary-optional{background:#fffdf9!important}

/* Finalized V20 has one navigation bar only. */
.v20-full-redesign #finalizedSubViewBar{display:none!important}

/* Dialogs and edit forms use the same expedition/paper system. */
.v20-full-redesign dialog{
  border-radius:24px;
  background:#f6f1e7;
  box-shadow:0 34px 100px rgba(12,23,20,.30);
}
.v20-full-redesign dialog::backdrop{background:rgba(12,25,22,.60);backdrop-filter:blur(3px)}
.v20-full-redesign .dialog-form{
  gap:14px;
  padding:24px;
  background:#f6f1e7;
}
.v20-full-redesign .dialog-head{
  align-items:flex-start;
  margin:-24px -24px 4px;
  padding:20px 22px;
  border-radius:24px 24px 0 0;
  background:
    radial-gradient(circle at 91% 12%,rgba(240,201,138,.14) 0 18%,transparent 19%),
    linear-gradient(128deg,#18342f,#235344);
  color:#fff;
}
.v20-full-redesign .dialog-head h2{color:#fff;font-size:25px}
.v20-full-redesign .dialog-head p{color:#d7e4df!important}
.v20-full-redesign .dialog-head .eyebrow{color:#efca8b}
.v20-full-redesign .dialog-head button{color:#fff}
.v20-full-redesign .dialog-form>label,
.v20-full-redesign .dialog-form .two-col>label,
.v20-full-redesign .destination-country-block,
.v20-full-redesign .trip-type-fieldset{
  padding:12px 13px;
  border:1px solid #e2d7c9;
  border-radius:14px;
  background:#fffdf9;
}
.v20-full-redesign .dialog-form>label input,
.v20-full-redesign .dialog-form>label select,
.v20-full-redesign .dialog-form>label textarea,
.v20-full-redesign .dialog-form .two-col>label input,
.v20-full-redesign .dialog-form .two-col>label select{
  margin-top:2px;
  background:#fff;
}
.v20-full-redesign .dialog-actions{
  margin-top:4px;
  padding-top:14px;
  border-top:1px solid #dfd4c7;
}
.v20-full-redesign .dialog-actions .primary{background:#d05a40}
.v20-full-redesign .trip-view-chooser{
  padding:6px;
  border:1px solid #ded1c2;
  border-radius:14px;
  background:#efe6da;
}
.v20-full-redesign .trip-view-button{
  min-width:0;
  border-color:transparent;
  background:transparent;
  color:#514b45;
}
.v20-full-redesign .trip-view-button.active{background:#203e38;color:#fff}
.v20-full-redesign .wkh-guidance-card,
.v20-full-redesign .stay-context-card,
.v20-full-redesign .current-destination-summary,
.v20-full-redesign .manage-trip-stay-booking,
.v20-full-redesign .manage-trip-stay-cost{
  border-color:#dfd5c7!important;
  background:#fffdf9!important;
}

/* Target birds get the same warm paper / deep green visual language. */
.v20-full-redesign #targetBirdsView .card{
  border-color:#e1d6c8;
  border-radius:22px;
  background:#fffdf9;
  box-shadow:var(--v20-shadow-small);
}
.v20-full-redesign #targetBirdsView .category-chip{
  border-color:#ddcfbf;
  background:#faf4eb;
}
.v20-full-redesign #targetBirdsView .category-chip strong{background:#203e38}
.v20-full-redesign #targetBirdsView .bird-card{
  border-color:#e3d8cb;
  border-radius:18px;
  background:#fffdf9;
  box-shadow:none;
}
.v20-full-redesign #targetBirdsView .status-check{border-color:#e4d9cc;background:#faf6ef}
.v20-full-redesign #targetBirdsView .filters label{
  padding:10px 11px;
  border:1px solid #e3d8cb;
  border-radius:13px;
  background:#faf6ef;
}

/* Responsive tightening for the full V20 system. */
@media(max-width:1050px){
  .v20-full-redesign .flight-journey-setup{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v20-full-redesign .manage-trip-header-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v20-full-redesign .manage-trip-items{grid-template-columns:1fr}
}
@media(max-width:820px){
  .v20-full-redesign .arrival-choice-grid,
  .v20-full-redesign .departure-choice-grid,
  .v20-full-redesign .journey-night-summary,
  .v20-full-redesign .detailed-journey-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .v20-full-redesign .page{padding-left:12px;padding-right:12px}
  .v20-full-redesign .v20-passport-workspace{padding:8px!important;border-radius:20px!important}
  .v20-full-redesign .v20-passport-workspace>.flight-step-header,
  .v20-full-redesign .v20-passport-workspace>.journey-plan-step-header,
  .v20-full-redesign .v20-passport-workspace>.journey-review-step-header,
  .v20-full-redesign .v20-passport-workspace>.detailed-journey-step-header,
  .v20-full-redesign .v20-passport-workspace>.manage-trip-header{padding:20px 18px!important;border-radius:17px!important}
  .v20-full-redesign .flight-plan-summary,
  .v20-full-redesign .flight-search-panel,
  .v20-full-redesign .journey-plan-step-content,
  .v20-full-redesign .journey-change-review-content,
  .v20-full-redesign .detailed-journey-body,
  .v20-full-redesign .manage-trip-body{padding:14px!important;border-radius:17px!important}
  .v20-full-redesign .flight-journey-setup,
  .v20-full-redesign .arrival-choice-grid,
  .v20-full-redesign .departure-choice-grid,
  .v20-full-redesign .journey-night-summary,
  .v20-full-redesign .detailed-journey-summary-grid,
  .v20-full-redesign .manage-trip-header-actions{grid-template-columns:1fr!important}
  .v20-full-redesign .v20-detailed-day-heading,
  .v20-full-redesign .v20-detailed-day-section-head{align-items:flex-start;flex-direction:column}
  .v20-full-redesign .v20-detailed-day-tabs{display:flex;overflow-x:auto;padding-bottom:4px}
  .v20-full-redesign .v20-detailed-day-tab{flex:0 0 145px}
}

/* V20.0.2 — Smart Manage Trip forms */
.v20-full-redesign .manage-trip-dialog{width:min(96vw,1000px)}
.v20-full-redesign .manage-trip-smart-form{gap:16px}
.v20-full-redesign .manage-trip-dialog-head{margin-bottom:0}
.v20-full-redesign .manage-smart-guidance,
.v20-full-redesign .manage-smart-section{
  border:1px solid #ddd1c3;
  border-radius:18px;
  background:#fffdf9;
  padding:16px;
}
.v20-full-redesign .manage-smart-guidance{
  background:linear-gradient(135deg,#f0f7f2,#fffaf2);
  border-color:#c8d8ce;
}
.v20-full-redesign .manage-smart-guidance-head,
.v20-full-redesign .manage-smart-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.v20-full-redesign .manage-smart-guidance-head>div,
.v20-full-redesign .manage-smart-section-head>div{display:grid;gap:2px}
.v20-full-redesign .manage-smart-guidance-head span,
.v20-full-redesign .manage-smart-section-head span{
  color:#a6553e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.v20-full-redesign .manage-smart-guidance-head strong,
.v20-full-redesign .manage-smart-section-head strong{font-size:18px;color:#17211b}
.v20-full-redesign .manage-smart-guidance>p{margin:0 0 12px;color:#46534c;line-height:1.55}
.v20-full-redesign .manage-guidance-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid #b7cfc0;
  border-radius:999px;
  background:#e7f2eb;
  color:#24543c!important;
  padding:5px 9px;
  white-space:nowrap;
}
.v20-full-redesign .manage-guidance-checklist{display:grid;gap:7px;margin:10px 0 12px}
.v20-full-redesign .manage-guidance-checklist>div{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:start}
.v20-full-redesign .manage-guidance-checklist span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#dfeee5;color:#24543c;font-size:11px;font-weight:900}
.v20-full-redesign .manage-guidance-checklist p{margin:0;color:#4f5b54;font-size:12px;line-height:1.45}
.v20-full-redesign .manage-guidance-links,
.v20-full-redesign .manage-provider-buttons{display:flex;gap:8px;flex-wrap:wrap}
.v20-full-redesign .manage-guidance-links a,
.v20-full-redesign .manage-provider-buttons a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 11px;
  border:1px solid #d7c4b2;
  border-radius:10px;
  background:#fbf2e8;
  color:#9d4f38;
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}
.v20-full-redesign .manage-guidance-links a:hover,
.v20-full-redesign .manage-provider-buttons a:hover{background:#f0e1d3}
.v20-full-redesign .manage-smart-section>.two-col,
.v20-full-redesign .manage-flight-booked-area>.two-col,
.v20-full-redesign .manage-flight-changed-fields>.two-col{margin-top:10px}
.v20-full-redesign .manage-smart-section label,
.v20-full-redesign .manage-flight-booked-area label,
.v20-full-redesign .manage-flight-changed-fields label{
  padding:11px 12px;
  border:1px solid #e4d9cc;
  border-radius:13px;
  background:#faf6ef;
}
.v20-full-redesign .manage-flight-planned{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:10px 0 12px;
}
.v20-full-redesign .manage-flight-leg-card{
  display:grid;
  gap:5px;
  min-width:0;
  padding:14px;
  border:1px solid #d6ded9;
  border-radius:15px;
  background:#f4f8f5;
}
.v20-full-redesign .manage-flight-leg-card>span{color:#a6553e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.v20-full-redesign .manage-flight-leg-card>strong{font-size:20px;color:#203e38}
.v20-full-redesign .manage-flight-leg-card>p{margin:0;color:#5b665f;font-size:12px;line-height:1.45}
.v20-full-redesign .manage-flight-booked-area{margin-top:14px;padding-top:14px;border-top:1px solid #e5d9cc}
.v20-full-redesign .manage-flight-changed-fields{margin-top:12px;padding:13px;border:1px solid #e0c7b7;border-radius:14px;background:#fff8f1}
.v20-full-redesign .manage-smart-note{margin:0 0 8px;color:#5d554e;font-size:12px;line-height:1.5}
.v20-full-redesign .manage-flight-lookup-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:11px}
.v20-full-redesign .manage-flight-resolved{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}
.v20-full-redesign .manage-flight-resolved article{display:grid;gap:4px;padding:11px;border:1px solid #cbdccf;border-radius:12px;background:#f1f8f3}
.v20-full-redesign .manage-flight-resolved article>span{color:#2e6b53;font-size:9px;font-weight:900;text-transform:uppercase}
.v20-full-redesign .manage-flight-resolved article>strong{font-size:14px;color:#18362d}
.v20-full-redesign .manage-flight-resolved article>p{margin:0;color:#56645c;font-size:11px;line-height:1.4}
.v20-full-redesign .manage-activity-visit-info{margin:8px 0 12px}
.v20-full-redesign .manage-activity-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:9px}
.v20-full-redesign .manage-activity-info-grid>div{display:grid;gap:3px;padding:10px 11px;border:1px solid #e2d8cc;border-radius:12px;background:#faf6ef}
.v20-full-redesign .manage-activity-info-grid span{color:#8d7d6e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.v20-full-redesign .manage-activity-info-grid strong{color:#28352f;font-size:12px;line-height:1.4}
.v20-full-redesign .manage-card-preview{margin-top:7px;padding:9px 10px;border:1px solid #e5d9cb;border-radius:11px;background:#faf5ed}
.v20-full-redesign .manage-card-preview-label{display:block;margin-bottom:3px;color:#a6553e;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.v20-full-redesign .manage-card-preview p{margin:0!important;color:#625c55!important;font-size:10px!important;line-height:1.4!important}
.v20-full-redesign .manage-card-flight-preview{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.v20-full-redesign .manage-card-flight-preview span{display:grid;gap:2px;color:#5e5a54;font-size:10px;line-height:1.35}
.v20-full-redesign .manage-card-flight-preview b{color:#203e38;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.v20-full-redesign #manageTripProviderFields.hidden{display:none!important}
.v20-full-redesign .manage-trip-dialog-actions{position:sticky;bottom:-24px;z-index:3;margin-left:-24px;margin-right:-24px;margin-bottom:-24px;padding:14px 24px 20px;background:linear-gradient(to bottom,rgba(246,241,231,.94),#f6f1e7 32%)}
@media(max-width:700px){
  .v20-full-redesign .manage-trip-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px)}
  .v20-full-redesign .manage-flight-planned,
  .v20-full-redesign .manage-flight-resolved,
  .v20-full-redesign .manage-activity-info-grid,
  .v20-full-redesign .manage-card-flight-preview{grid-template-columns:1fr}
  .v20-full-redesign .manage-smart-guidance-head,
  .v20-full-redesign .manage-smart-section-head{flex-direction:column}
  .v20-full-redesign .manage-trip-dialog-actions{bottom:-16px;margin-left:-16px;margin-right:-16px;margin-bottom:-16px;padding:12px 16px 16px}
}

/* V20.0.3 — location-aware official airport taxi guidance */
.v20-full-redesign .manage-guidance-links .manage-airport-taxi-guide{
  flex:1 0 100%;
  display:grid;
  gap:12px;
  margin-top:8px;
  padding:15px;
  border:1px solid #bfd2c5;
  border-radius:16px;
  background:#f7fbf8;
}
.v20-full-redesign .manage-airport-taxi-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.v20-full-redesign .manage-airport-taxi-head>div{display:grid;gap:3px}
.v20-full-redesign .manage-airport-taxi-head span{
  color:#2e6b53;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
}
.v20-full-redesign .manage-airport-taxi-head strong{
  color:#18372e;
  font-size:17px;
  line-height:1.3;
}
.v20-full-redesign .manage-airport-taxi-head>b{
  flex:0 0 auto;
  padding:5px 9px;
  border:1px solid #bfd4c6;
  border-radius:999px;
  background:#e7f2eb;
  color:#24543c;
  font-size:10px;
}
.v20-full-redesign .manage-airport-taxi-guide>p{
  margin:0;
  color:#44534b;
  font-size:12px;
  line-height:1.5;
}
.v20-full-redesign .manage-airport-pickup{
  padding:10px 11px;
  border-left:3px solid #d85d42;
  border-radius:8px;
  background:#fff8f2;
}
.v20-full-redesign .manage-official-taxi-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.v20-full-redesign .manage-official-taxi-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border:1px solid #d7e1da;
  border-radius:13px;
  background:#fff;
}
.v20-full-redesign .manage-official-taxi-card>div:first-child{
  display:grid;
  gap:3px;
  min-width:0;
}
.v20-full-redesign .manage-official-taxi-card>div:first-child>span{
  color:#7a8a81;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v20-full-redesign .manage-official-taxi-card strong{
  color:#203e35;
  font-size:13px;
  line-height:1.3;
}
.v20-full-redesign .manage-official-taxi-card p{
  margin:0;
  color:#69736d;
  font-size:10px;
  line-height:1.4;
}
.v20-full-redesign .manage-official-taxi-actions{
  display:flex;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:wrap;
  max-width:220px;
}
.v20-full-redesign .manage-guidance-links .manage-official-taxi-actions a,
.v20-full-redesign .manage-use-provider{
  min-height:30px;
  padding:6px 8px;
  border:1px solid #d7c4b2;
  border-radius:8px;
  background:#fbf2e8;
  color:#9d4f38;
  font:inherit;
  font-size:9px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}
.v20-full-redesign .manage-use-provider{
  border-color:#9fbdab;
  background:#edf6f0;
  color:#285941;
}
.v20-full-redesign .manage-guidance-links .manage-official-taxi-actions a:hover{background:#f0e1d3}
.v20-full-redesign .manage-use-provider:hover{background:#dfefe4}
.v20-full-redesign .manage-airport-source{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:9px;
  border-top:1px solid #dce6df;
}
.v20-full-redesign .manage-airport-source span{
  color:#6a756e;
  font-size:10px;
  line-height:1.4;
}
.v20-full-redesign .manage-guidance-links .manage-airport-source a{
  flex:0 0 auto;
  min-height:32px;
}
@media(max-width:760px){
  .v20-full-redesign .manage-official-taxi-grid{grid-template-columns:1fr}
  .v20-full-redesign .manage-official-taxi-card{grid-template-columns:1fr}
  .v20-full-redesign .manage-official-taxi-actions{justify-content:flex-start;max-width:none}
  .v20-full-redesign .manage-airport-taxi-head,
  .v20-full-redesign .manage-airport-source{align-items:flex-start;flex-direction:column}
}

/* ==========================================================================
   WKH Trip Planner V20.0.5 · Focused Food / Restaurant Experience
   Replaces the legacy left-title / right-Add restaurant block.
   ========================================================================== */
.v20-food-manage-panel{
  padding:0!important;
  overflow:hidden;
  border:1px solid #ddcfbd!important;
  background:#fffaf3!important;
}
.v20-food-panel{
  display:grid;
  gap:0;
  overflow:hidden;
  border-radius:17px;
  background:#fffaf3;
}
.v20-food-panel-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:22px 24px;
  border-bottom:1px solid #e6d9ca;
  background:
    radial-gradient(circle at 91% 8%,rgba(240,201,138,.20) 0 16%,transparent 17%),
    linear-gradient(128deg,#fffdf9 0%,#fbf3e8 100%);
}
.v20-food-panel-copy{
  display:grid;
  gap:5px;
  min-width:0;
}
.v20-food-panel-copy>small,
.v20-food-saved-head small,
.v20-food-saved-copy>small{
  color:#a56b40;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.v20-food-panel-copy>strong{
  color:#17211b;
  font-size:21px;
  line-height:1.2;
}
.v20-food-panel-copy>span{
  max-width:760px;
  color:#6e6b66;
  font-size:12px;
  line-height:1.55;
}
.v20-food-panel-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.v20-food-panel-actions button{
  min-height:44px;
  white-space:nowrap;
}
.v20-food-saved{
  display:grid;
  gap:12px;
  padding:20px 24px 24px;
}
.v20-food-saved-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:end;
}
.v20-food-saved-head>div{
  display:grid;
  gap:2px;
}
.v20-food-saved-head strong{
  color:#17211b;
  font-size:15px;
}
.v20-food-saved-head>span{
  color:#77736d;
  font-size:10px;
}
.v20-food-empty{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:96px;
  padding:16px;
  border:1px dashed #d8c8b7;
  border-radius:14px;
  background:#fffdf9;
}
.v20-food-empty-mark{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#f4e8da;
  color:#a65f43;
  font-size:10px;
  font-weight:900;
}
.v20-food-empty>div{
  display:grid;
  gap:3px;
}
.v20-food-empty strong{
  color:#17211b;
  font-size:14px;
}
.v20-food-empty p{
  margin:0;
  color:#74716c;
  font-size:11px;
  line-height:1.5;
}
.v20-food-saved-list{
  display:grid;
  gap:9px;
}
.v20-food-saved-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #e3d8cb;
  border-radius:13px;
  background:#fff;
}
.v20-food-saved-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.v20-food-saved-copy>strong{
  color:#17211b;
  font-size:14px;
  overflow-wrap:anywhere;
}
.v20-food-saved-copy>span{
  color:#6e6b66;
  font-size:10px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.v20-food-saved-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media(max-width:760px){
  .v20-food-panel-head{
    grid-template-columns:1fr;
    align-items:stretch;
    padding:18px;
  }
  .v20-food-panel-actions{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .v20-food-panel-actions button{
    width:100%;
  }
  .v20-food-saved{
    padding:17px 18px 20px;
  }
  .v20-food-saved-head{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .v20-food-saved-card{
    grid-template-columns:1fr;
    align-items:start;
  }
  .v20-food-saved-actions{
    justify-content:flex-start;
  }
}
/* ============================================================
   V24 COSTA RICA MAP — DESTINATION IMPORT CONTEXT
   Reuses the existing Bird Intel import dialog for destination-only
   handoff without changing the Trip Planner database structure.
   ============================================================ */

.import-destination-context{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #c7d9cd;
  border-radius:13px;
  background:#f7fbf8;
}

.import-destination-context.hidden{
  display:none !important;
}

.import-destination-context-head{
  display:grid;
  gap:3px;
}

.import-destination-context-head small{
  color:var(--brand2);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.import-destination-context-head strong{
  color:var(--brand);
  font-size:18px;
}

.import-destination-context-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
}

.import-destination-context-grid div{
  display:grid;
  gap:2px;
  min-width:0;
}

.import-destination-context-grid span{
  color:var(--muted);
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.import-destination-context-grid b{
  color:#34453b;
  font-size:12px;
  font-weight:700;
  overflow-wrap:anywhere;
}

.import-destination-match{
  padding:9px 10px;
  border-radius:9px;
  background:#e9f4ec;
  color:#245b36;
  font-size:12px;
  font-weight:700;
  line-height:1.45;
}

.import-destination-match.is-new{
  background:#f3f0e2;
  color:#6d5c18;
}

@media(max-width:620px){
  .import-destination-context-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   WKH HOMEPAGE ENTRY MODES
   Build / Share / Track landing guidance for Trip Planner.
   Reuses the existing Trip Planner workflows and status styles.
   ============================================================ */

.trip-entry-intro{margin:0 0 22px}

.trip-entry-panel,
.trip-entry-hub-card{
  border:1px solid #d4dfd8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(24,48,34,.06);
  padding:22px;
}

.trip-entry-panel-copy{max-width:820px;display:grid;gap:5px}

.trip-entry-panel-copy h2,
.trip-entry-hub-head h2{
  margin:0;
  font-size:clamp(24px,3vw,34px);
  line-height:1.08;
  color:#17211b;
}

.trip-entry-panel-copy p:not(.eyebrow),
.trip-entry-hub-head p{
  margin:0;
  color:#5a685f;
  line-height:1.55;
}

.trip-entry-tutorial-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin-top:18px;
}

.trip-entry-tutorial-grid button{
  min-height:74px;
  border:1px solid #cedbd2;
  border-radius:13px;
  background:#f8fbf9;
  color:#214f38;
  text-align:left;
  padding:11px;
  font-weight:900;
  font-size:11px;
}

.trip-entry-tutorial-grid button span{
  display:block;
  margin-top:5px;
  color:#34453b;
  font-size:12px;
  font-weight:750;
  line-height:1.3;
}

.trip-entry-tutorial-grid button:hover,
.trip-entry-tutorial-link:hover{
  border-color:#8faf9a;
  background:#eef5f0;
}

.trip-entry-feature-grid{display:grid;gap:10px;margin-top:18px}
.trip-entry-feature-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.trip-entry-feature-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}

.trip-entry-feature{
  min-width:0;
  border:1px solid #dce5df;
  border-radius:13px;
  background:#f8faf8;
  padding:14px;
  display:grid;
  gap:5px;
}

.trip-entry-feature strong{color:#214f38;font-size:14px}
.trip-entry-feature span{color:#5f6d64;font-size:12px;line-height:1.45}

.trip-entry-tutorial-link{
  margin-top:15px;
  border:1px solid #b9cabf;
  border-radius:999px;
  background:#fff;
  color:#214f38;
  padding:9px 13px;
  font-size:12px;
  font-weight:800;
}

.trip-entry-card-action{
  margin-top:auto;
  padding-top:8px;
  color:#214f38;
  font-size:12px;
  font-weight:850;
}

.trip-entry-hub{margin:20px 0}

.trip-entry-hub-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:22px;
}

.trip-entry-hub-head>div{max-width:820px;display:grid;gap:5px}

.trip-entry-hub-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.trip-entry-hub-actions button{min-height:44px}

.trip-entry-hub-note{
  margin:12px 0 0;
  padding:10px 12px;
  border-radius:10px;
  background:#f3f6f4;
  color:#5c6a61;
  font-size:12px;
  line-height:1.45;
}

.trip-entry-status-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:15px;
}

@media(max-width:900px){
  .trip-entry-tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-entry-feature-grid.four,
  .trip-entry-feature-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .trip-entry-panel,
  .trip-entry-hub-card{padding:16px}
  .trip-entry-tutorial-grid,
  .trip-entry-feature-grid.four,
  .trip-entry-feature-grid.three{grid-template-columns:1fr}
  .trip-entry-hub-head{flex-direction:column}
  .trip-entry-hub-head>button,
  .trip-entry-hub-actions,
  .trip-entry-hub-actions button{width:100%}
  .trip-entry-hub-actions{display:grid;grid-template-columns:1fr}
}

/* Step 1: WKH Trip Planner, whole-trip deletion confirmation only. */
#wkhDeleteTripDialog{
  width:min(92vw,520px);
  max-width:calc(100vw - 24px);
  padding:0;
  border:0;
  border-radius:22px;
  background:#f7f2e9;
  color:#20262b;
  box-shadow:0 30px 90px rgba(12,25,22,.30);
}
#wkhDeleteTripDialog::backdrop{background:rgba(12,25,22,.63);backdrop-filter:blur(3px)}
#wkhDeleteTripDialog .wkh-delete-trip-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:24px 26px 23px;
  background:radial-gradient(circle at 92% 8%,rgba(233,199,133,.16) 0 19%,transparent 20%),linear-gradient(125deg,#18342f,#235344);
  color:#fff;
}
#wkhDeleteTripDialog .wkh-delete-trip-eyebrow{
  display:block;
  margin-bottom:7px;
  color:#efca8b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#wkhDeleteTripDialog .wkh-delete-trip-header h2{margin:0;color:#fff;font-size:27px;line-height:1.18}
#wkhDeleteTripDialog .wkh-delete-trip-close{
  flex:0 0 auto;
  border:0;
  border-radius:8px;
  padding:0 8px 3px;
  background:transparent;
  color:#fff;
  font-size:29px;
  line-height:1.15;
}
#wkhDeleteTripDialog .wkh-delete-trip-close:hover{background:rgba(255,255,255,.12)}
#wkhDeleteTripDialog .wkh-delete-trip-content{display:grid;gap:15px;padding:24px 26px 26px}
#wkhDeleteTripDialog .wkh-delete-trip-intro{margin:0;color:#4d554e;font-size:15px}
#wkhDeleteTripDialog .wkh-delete-trip-name{
  margin:0;
  padding:15px 16px;
  border:1px solid #ded2c3;
  border-radius:12px;
  background:#fffdf9;
  color:#203e38;
  font-size:19px;
  font-weight:800;
  overflow-wrap:anywhere;
}
#wkhDeleteTripDialog .wkh-delete-trip-warning{
  padding:14px 16px;
  border:1px solid #e4c3b8;
  border-left:4px solid #a53a35;
  border-radius:11px;
  background:#fff6f2;
  color:#733a31;
}
#wkhDeleteTripDialog .wkh-delete-trip-warning strong{font-size:15px}
#wkhDeleteTripDialog .wkh-delete-trip-warning p{margin:5px 0 0;font-size:13px;line-height:1.55}
#wkhDeleteTripDialog .wkh-delete-trip-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:13px;
  border-top:1px solid #e3d7c8;
}
#wkhDeleteTripDialog .wkh-delete-trip-actions button{min-height:44px;padding:10px 17px;border-radius:10px;font-weight:800}
#wkhDeleteTripDialog .wkh-delete-trip-confirm{border:1px solid #a53a35;background:#a53a35;color:#fff}
#wkhDeleteTripDialog .wkh-delete-trip-confirm:hover{border-color:#822a26;background:#822a26}
#wkhDeleteTripDialog button:focus-visible{outline:3px solid #d6b66f;outline-offset:3px}
@media(max-width:520px){
  #wkhDeleteTripDialog .wkh-delete-trip-header{padding:20px}
  #wkhDeleteTripDialog .wkh-delete-trip-content{padding:20px}
  #wkhDeleteTripDialog .wkh-delete-trip-actions{display:grid;grid-template-columns:1fr 1fr}
}
