@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
.transport-icon{width:22px;height:22px;flex:none;vertical-align:middle}.transport-mode{display:inline-flex;align-items:center;gap:6px;color:var(--blue);white-space:nowrap;font-size:14px;font-weight:600}.leg-mode{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.leg-duration{font-weight:500;white-space:nowrap;color:var(--muted)}.mode-plus{color:var(--muted);font-weight:400}.transit-summary-modes{display:inline-flex;gap:8px;margin-right:10px;align-items:center;flex-wrap:wrap}.transit-body li .transport-mode{margin-right:7px}.stop-photo-button{width:128px;height:96px;border:0;padding:0;background:var(--soft);border-radius:9px;overflow:hidden;flex:none;align-self:center;position:relative;margin-left:auto}.place-photo-img{width:100%;height:100%;object-fit:cover;display:block}.stop-info{min-width:0;flex:1}.place-photo-figure{margin:0 0 20px}.place-photo-figure>.place-photo-img{aspect-ratio:16/9;height:auto;max-height:340px;border-radius:12px;object-fit:cover}.place-photo-figure figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:9px}.photo-unavailable::before{content:attr(data-photo-fallback);display:block;padding:14px;color:var(--muted);font-size:13px}.place-photo-img[hidden]{display:none}@media(max-width:760px){.stop-photo-button{width:80px;height:80px}.stop-main{flex-wrap:wrap}.stop-info{min-width:130px}.transport-mode{font-size:14px}.leg{flex-wrap:wrap}.transit-summary-modes{display:flex;margin-bottom:5px}.place-photo-figure>.place-photo-img{max-height:240px}}@media(min-width:761px) and (max-width:1250px){.stop-photo-button{width:92px;height:88px}}
:root{font-family:'DM Sans',sans-serif;color:#202838;background:#f6f7fa;font-synthesis:none;--blue:#087d78;--ink:#182338;--line:#e5e8ef;--muted:#717987;--soft:#e7f5f2;--green:#297057;--orange:#a56623}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #92a9ff;outline-offset:3px}button{border:1px solid var(--line);border-radius:9px;background:white;padding:10px 14px;color:var(--ink);font-weight:600;font-size:14px}button:hover:not(:disabled){background:#f0f3fc}a{color:var(--blue);text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand{font-family:'Manrope',sans-serif}h1{font-size:38px;line-height:1.2;letter-spacing:-1.5px}h2{font-size:24px;letter-spacing:-.7px}h3{font-size:18px;letter-spacing:-.4px}p{line-height:1.6}small,.subtle{color:var(--muted);font-size:13px;line-height:1.5}.topbar{height:80px;display:flex;align-items:center;gap:30px;padding:0 38px;background:white;border-bottom:1px solid var(--line)}.brand{font-size:32px;font-weight:800;color:var(--ink);letter-spacing:-2px;display:flex;gap:5px;align-items:center}.brand-dot{color:var(--blue);font-size:29px}.prototype{font-size:11px;letter-spacing:1.3px;color:#768095;border:1px solid var(--line);padding:6px 9px;border-radius:5px;font-weight:600}.toplinks{display:flex;align-items:center;gap:28px;margin-left:48px;font-size:14px}.toplinks .active{color:var(--blue);font-weight:700}.topright{margin-left:auto;display:flex;gap:12px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9edf8;color:#475a8f;font-size:12px;font-weight:700}.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 3px 7px #087d7815}.primary:hover:not(:disabled){background:#05625e}.secondary{background:var(--soft);color:var(--blue);border-color:transparent}.text-button{border:0;background:transparent;padding:5px 0;color:var(--blue)}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:14px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.initial{max-width:1150px;margin:55px auto;padding:0 25px}.initial-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:30px}.sample-stop{display:flex;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.sample-stop b{font-size:14px}.layout{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:calc(100vh - 80px)}.sidebar{background:white;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;gap:26px}.nav-item{display:flex;gap:13px;align-items:center;width:100%;margin:3px 0;border:0;color:#758095;text-align:left;padding:13px 15px;font-weight:500}.nav-item.selected{background:var(--soft);color:var(--blue);font-weight:650}.nav-icon{width:20px;font-size:18px}.brief-mini{background:#f7f8fc;border-radius:12px;padding:19px 16px}.brief-mini p{margin-bottom:8px;font-size:14px}.brief-mini h3{font-size:15px}.brief-mini .text-button{margin-top:10px;font-size:13px}.side-bottom{margin-top:auto;padding-top:25px}.side-note{font-size:12px;color:#8b92a0;line-height:1.7}.main{padding:34px 36px 60px;min-width:0;max-width:1500px;width:100%;margin:auto}.breadcrumb{font-size:12px;color:#8b93a4;margin-bottom:22px}.trip-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.trip-header h1{margin-bottom:9px}.trip-meta{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:13px;color:#7d8595}.pill{display:inline-flex;padding:5px 9px;background:var(--soft);color:var(--blue);border-radius:6px;font-size:12px;font-weight:600;gap:5px;align-items:center}.pill.green{background:#edf7f1;color:var(--green)}.pill.orange{background:#fff4df;color:var(--orange)}.workspace{display:grid;grid-template-columns:minmax(390px,1fr) 320px;gap:26px;align-items:start}.day-tabs{display:flex;gap:8px;margin-bottom:23px;overflow-x:auto;padding-bottom:2px}.day-tab{border:0;background:transparent;min-width:77px;flex:1;text-align:center;padding:10px 8px}.day-tab b{display:block;font-size:14px;margin-bottom:5px}.day-tab span{font-size:12px;color:#9299a7;font-weight:400}.day-tab.active{background:var(--blue);color:white;box-shadow:0 4px 10px #087d7825}.day-tab.active span{color:#d6dfff}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px}.day-heading h2{font-size:21px;margin:0 0 5px}.day-heading p{font-size:13px;color:#8a91a0;margin:0}.day-heading button{white-space:nowrap}.day-stats{display:flex;gap:17px;font-size:12px;color:#737e90;padding:12px 0 17px;border-bottom:1px solid var(--line);margin-bottom:21px}.notice{display:flex;gap:10px;font-size:13px;line-height:1.55;padding:13px 15px;border-radius:9px;background:#e7f5f2;color:#286e66;margin-bottom:20px}.notice.warning{background:#fff3df;color:#9c6324}.notice.success{background:#eef7f2;color:var(--green)}.timeline{position:relative}.stop-wrap{position:relative;padding-left:30px}.stop-wrap:before{content:'';position:absolute;left:9px;top:23px;bottom:-32px;width:1px;background:#d8deeb}.stop-wrap:last-of-type:before{display:none}.number{position:absolute;left:0;top:24px;background:white;border:1px solid #c9d4f6;color:var(--blue);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:11px;font-weight:700;z-index:1}.stop{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .15s,transform .15s}.stop:hover{box-shadow:0 4px 18px #26355709;border-color:#cbd4e9}.stop.dragging{opacity:.4}.stop-wrap.over .stop{outline:2px dashed var(--blue);outline-offset:3px}.stop.locked{border-left:3px solid #5475e8}.stop.conflict{border-color:#e1b469}.stop-main{display:flex;gap:13px;padding:17px 17px 12px;align-items:flex-start}.grip{padding:1px;border:0;background:none;color:#aab1bd;cursor:grab;font-size:20px;margin-top:18px}.activity-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;flex-shrink:0;font-size:20px;background:#f1eafb;color:#8059ac;margin-top:5px}.activity-symbol.food{background:#fff0dc;color:#b88642}.activity-symbol.nature{background:#e9f3ed;color:#508b6d}.activity-symbol.view{background:#eaf0ff;color:#5a79c1}.activity-symbol.rest{background:#edf1f4;color:#788797}.stop-info{flex:1;min-width:0}.stop-time{font-size:12px;color:#8b93a2;font-weight:600;display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.stop h3{font-size:16px;margin:0 0 5px}.stop-desc{font-size:12px;color:#85909f;line-height:1.5}.stop-actions{border-top:1px solid #f0f2f6;padding:8px 14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stop-actions button{border:0;padding:3px 4px;color:#8791a0;background:transparent;font-weight:500;font-size:12px}.stop-actions button:hover{color:var(--blue)}.stop-actions .book{margin-left:auto;color:var(--blue)}.leg{padding:11px 10px 12px 5px;font-size:12px;display:flex;align-items:center;gap:7px;color:#98a0ad}.leg strong{font-weight:500;color:#768196}.lock-label{color:var(--blue);font-size:11px}.conflict-text{margin:0;padding:0 17px 12px 52px;color:#9c6324;font-size:12px}.right-rail{display:flex;flex-direction:column;gap:20px}.destination-photo{height:170px;background:#233e65;position:relative;overflow:hidden;border-radius:13px 13px 0 0}.destination-photo img{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;inset:0;background:linear-gradient(transparent,#07162992);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:white}.photo-overlay h3{font-size:21px;margin-bottom:3px}.photo-overlay span{font-size:11px;letter-spacing:1.4px}.route-panel{padding:0;overflow:hidden}.route-body{padding:19px}.route-body h3,.rail-title{font-size:14px;margin-bottom:15px}.route-svg{width:100%;height:180px;background:#f5f7fc;border-radius:9px}.route-key{display:flex;gap:12px;font-size:11px;margin:11px 0 0;color:#8b93a2}.rail-card{padding:20px;border-radius:13px;border:1px solid var(--line);background:white}.hotel-icon{width:38px;height:38px;border-radius:10px;background:#eff2fb;display:grid;place-items:center;color:var(--blue);font-size:18px;margin-bottom:13px}.hotel-title{font-size:15px;line-height:1.5;font-weight:650;margin-bottom:5px}.rail-card p{font-size:13px;color:#85909f;margin:7px 0 13px}.wide{width:100%}.bottom-note{padding:20px 0 0 30px;color:#8b93a2;font-size:12px;line-height:1.6}.footer-caption{font-size:11px;color:#949ba7;line-height:1.5;margin-top:10px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-heading h2{margin-bottom:9px}.close{border:0;background:#f2f4f8;padding:5px 10px;border-radius:50%;font-size:20px;font-weight:400}.modal-sub{font-size:14px;color:#8290a5;line-height:1.6}.modal-body{margin-top:23px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:19px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:19px;width:min(620px,calc(100% - 30px));padding:30px;color:var(--ink);box-shadow:0 30px 110px #16263b30;max-height:90vh;overflow:auto}dialog::backdrop{background:#14234460;backdrop-filter:blur(4px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:block;margin-bottom:18px;font-size:14px;font-weight:500}.field input,.field select,.field textarea{display:block;width:100%;padding:11px 12px;background:#fbfcfe;border:1px solid #dce1ec;border-radius:8px;margin-top:8px;color:#293a55;min-height:43px}.field textarea{resize:vertical}.field small{display:block;margin-top:6px;font-weight:400}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:23px}.choice{padding:15px;text-align:left;border-radius:10px;font-weight:500}.choice.chosen{border-color:var(--blue);background:var(--soft);color:var(--blue)}.choice small{display:block;margin-top:5px;font-size:12px}.step-dots{display:flex;gap:5px;margin:0 0 23px}.step-dots span{height:3px;background:#e8ecf5;flex:1;border-radius:3px}.step-dots span.on{background:var(--blue)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chip{border-radius:25px;font-size:13px}.chip.chosen{background:var(--blue);border-color:var(--blue);color:white}.review-row{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:14px}.review-row span{color:#8892a4}.error{color:#a34629;font-size:13px}.change-row{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.change-row small{display:block;margin-top:6px}.check-label{display:flex;gap:12px;align-items:flex-start;line-height:1.55;font-size:14px;padding:16px 0}.check-label input{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0}.external-links{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.external-links a{font-size:13px;border:1px solid var(--line);border-radius:7px;padding:9px 12px}.toast-show{opacity:1!important;transform:translate(-50%,0)!important}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);z-index:10;opacity:0;transition:.2s;background:#1b2b46;color:white;border-radius:10px;padding:13px 22px;box-shadow:0 5px 20px #192d4930;font-size:14px;max-width:90%;pointer-events:none}.empty-state{padding:35px;text-align:center;border:1px dashed #ccd5e7;border-radius:12px;color:#7c899f}.brief-page{max-width:780px}.completed .stop{opacity:.7}.completed .number{background:#eaf5ee;color:var(--green)}.mobile-brief{display:none}.no-motion *{transition:none!important}svg text{font-family:'DM Sans',sans-serif}.booking-list{display:grid;gap:14px}.booking-item{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;gap:20px;align-items:center;justify-content:space-between}.booking-item h3{margin-bottom:6px}.booking-item p{margin-bottom:0;font-size:13px;color:var(--muted)}
@media(min-width:1600px){.main{padding-top:45px}.workspace{grid-template-columns:minmax(500px,1fr) 355px}.destination-photo{height:195px}}@media(max-width:1250px){.layout{grid-template-columns:200px 1fr}.sidebar{padding:26px 14px}.main{padding:28px 23px}.workspace{gap:19px;grid-template-columns:minmax(340px,1fr) 285px}.toplinks{margin-left:15px}.trip-header h1{font-size:32px}}@media(max-width:1050px){.layout{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 24px}.main{max-width:950px}.mobile-brief{display:inline-flex}.toplinks{margin-left:0}.topright .subtle{display:none}}@media(max-width:760px){.topbar{height:68px;padding:0 18px;gap:14px}.brand{font-size:28px}.prototype{display:none}.toplinks{gap:16px;font-size:12px}.avatar{display:none}.main{padding:25px 16px}.workspace{display:flex;flex-direction:column}.itinerary,.right-rail{width:100%}.right-rail{display:grid;grid-template-columns:1fr}.trip-header{align-items:flex-start}.trip-header h1{font-size:29px;letter-spacing:-1px}.trip-header>.primary{font-size:12px;padding:10px}.day-heading h2{font-size:19px}.day-heading button{font-size:12px;padding:9px}.day-tab{min-width:55px;padding:9px 5px}.day-tabs{gap:4px}.day-tab span{font-size:11px}.stop-main{padding:14px 12px 11px;gap:9px}.stop-wrap{padding-left:27px}.activity-symbol{width:33px;height:33px;font-size:17px}.stop h3{font-size:15px}.stop-actions{gap:6px;padding:8px 9px}.grip{font-size:17px}.trip-meta{gap:8px;font-size:12px}.day-stats{gap:10px;flex-wrap:wrap}dialog{padding:23px}.form-grid{grid-template-columns:1fr}.choices{gap:8px}.choice{font-size:13px;padding:12px}.initial-grid{grid-template-columns:1fr}.booking-item{align-items:flex-start;flex-direction:column}.topright{gap:0}.topright button{font-size:12px;padding:8px}.route-svg{height:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.grip{touch-action:none;user-select:none;-webkit-user-select:none}.stop-wrap.dragging .stop{opacity:.45}.stop-actions button{min-height:30px}.stop-time,.trip-meta,.leg,.stop-actions button{font-size:13px}.stop-desc,.rail-card p{font-size:14px}.footer-caption,.eyebrow,.prototype,.lock-label,.photo-overlay span{font-size:12px}

.edition-switch{display:flex;justify-content:space-between;align-items:center;margin:-3px 0 18px;color:#58847c;font-size:11px;letter-spacing:1.2px}.edition-switch button{letter-spacing:0;font-size:13px}.destination-photo img[src=""]{visibility:hidden}

.language-toggle{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#f5f8f8;flex-shrink:0}.language-toggle button{padding:5px 8px;border:0;background:transparent;font-size:12px;font-weight:600;box-shadow:none;white-space:nowrap}.language-toggle button.selected{background:white;color:var(--blue);box-shadow:0 1px 4px #132d2320}.topright{gap:10px}:lang(zh-CN) h1{font-size:34px;letter-spacing:0}:lang(zh-CN) .eyebrow{letter-spacing:1px}:lang(zh-CN) .toplinks{white-space:nowrap}:lang(zh-CN) .day-heading h2{letter-spacing:0}:lang(zh-CN) .day-heading p{line-height:1.6}@media(max-width:760px){.toplinks{gap:10px}.topbar{gap:10px}.topright .mobile-brief{display:none}.brand{font-size:26px}.topright{margin-left:auto}.language-toggle button{padding:5px 7px}.trip-header h1:lang(zh-CN){font-size:28px}.edition-switch{gap:8px;font-size:10px;letter-spacing:0}.edition-switch button{white-space:nowrap}.prototype{display:none}}

.trip-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ai-chat-log{max-height:280px;overflow:auto;margin-bottom:18px}.ai-message{padding:13px 15px;background:#f2f5f9;border-radius:10px;margin:10px 0}.ai-message.user{background:#e7f5f2;margin-left:24px}.ai-message b{font-size:12px;color:#537267}.ai-message p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.ai-proposal{padding:16px;border:1px solid var(--line);border-radius:10px;margin-bottom:20px}.ai-proposal .subtle{margin-top:14px}.trip-actions button{white-space:nowrap}@media(max-width:760px){.trip-actions{max-width:125px}.trip-actions button{width:100%;font-size:12px;padding:9px}}

/* Direct deletion stays quiet until the activity card is hovered or focused. */
.stop{position:relative}
.stop-remove{position:absolute;left:7px;top:7px;z-index:2;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid #e5e8ef;border-radius:50%;background:white;color:#8b6570;font-size:21px;font-weight:400;line-height:1;opacity:0;pointer-events:none;transform:scale(.9);transition:opacity .15s,transform .15s}
.stop:hover .stop-remove,.stop:focus-within .stop-remove{opacity:1;pointer-events:auto;transform:scale(1)}
.stop .stop-remove:hover{background:#fff0ee;border-color:#ecc6c0;color:#ac4333}
.stop-remove:focus-visible{opacity:1;pointer-events:auto;transform:scale(1)}
@media(hover:none){.stop-remove{opacity:1;pointer-events:auto;transform:none;width:32px;height:32px}}

.stop-actions .ticket-link{margin-left:auto;color:var(--blue);font-weight:700;text-decoration:none;padding:8px 12px}.place-details h3{margin:24px 0 12px;font-size:17px}.place-details p{line-height:1.7}.place-details .review-row{align-items:flex-start;gap:16px}.place-details .review-row strong{text-align:right}.ticket-cta{display:inline-block;padding:12px 18px;border-radius:12px;text-decoration:none;background:var(--blue);color:white}.place-details .external-links a{line-height:1.5}

.ticket-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticket-right .ticket-link{margin-left:0}.ticket-badge{font-size:14px;color:var(--green);padding:7px 10px;background:var(--soft);border-radius:7px}.stop-actions .ticket-info{color:var(--blue);max-width:280px;text-align:right}.transit-detail{margin:0 0 15px 8px;font-size:14px;border-left:2px solid #c7ded9;padding-left:14px;color:var(--muted)}.transit-detail summary{cursor:pointer;line-height:1.7;color:var(--blue);font-weight:600}.transit-body{background:#fff;border:1px solid var(--line);padding:14px;border-radius:10px;margin-top:8px}.transit-body li{margin:8px 0}.transit-body a{color:var(--blue)}.journey-page>h3,.journey-fields h3{margin:24px 0 14px}.journey-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;margin:12px 0}.journey-card h3{font-size:18px}.journey-card p{line-height:1.7;color:var(--muted)}.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.strategy{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--soft)}.strategy p{font-size:14px;line-height:1.7}.journey-page{max-width:1100px}.journey-page .external-links{margin:20px 0}.journey-card .ticket-cta{white-space:nowrap}.journey-fields input{text-transform:none}@media(max-width:700px){.journey-card{flex-direction:column;align-items:flex-start}.strategy-grid{grid-template-columns:1fr}.ticket-right{margin-left:auto;max-width:65%}.ticket-info{font-size:14px!important}}

.day-tabs{overflow-x:auto}.day-tab{flex-shrink:0;min-width:86px}.journey-fields .notice{line-height:1.7}.journey-fields .notice p{margin:8px 0}.journey-fields .subtle{line-height:1.7}

/* Keep cross-day drop targets reachable while an activity is being dragged. */
.day-tabs{position:sticky;top:8px;z-index:4;background:#f5f6fa;padding:8px 0;border-radius:12px}
.day-drop-hint{display:none;font-size:11px;font-weight:500;margin-top:5px}
.is-dragging .day-drop-hint{display:block}
.is-dragging .day-tab{outline:1px dashed #74aaa6;outline-offset:-2px}
.day-tab.over{background:#d7eeeb!important;color:#075d59!important;box-shadow:inset 0 0 0 3px #087c76;transform:translateY(-2px)}
.drag-help{font-size:13px;color:var(--muted);line-height:1.6;margin:7px 0 18px}
.is-dragging{cursor:grabbing;user-select:none}.is-dragging .grip{cursor:grabbing}.grip{touch-action:none}
.ai-plan-day{padding:14px 0;border-top:1px solid var(--line)}.ai-plan-day h4{margin:0 0 10px;font-size:16px}.ai-plan-day ol{padding-left:22px;margin:0}.ai-plan-day li{margin:9px 0;line-height:1.6}.ai-plan-day li b{white-space:nowrap;color:var(--blue);margin-right:8px}.ai-proposal>.primary{width:100%;margin-top:12px}.ai-proposal .notice{font-size:14px;line-height:1.7}.ai-proposal .notice p{margin:8px 0}
.booking-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 26px;border-bottom:1px solid var(--line);padding-bottom:12px}.booking-tab{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;min-height:48px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-weight:600}.booking-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.booking-tab.active .pill{background:#ffffff28;color:#fff}.booking-empty{padding:42px 24px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center}.booking-empty p{color:var(--muted);line-height:1.7;margin-top:12px}.booking-footnote{margin:24px 0;line-height:1.7}.bookings-page .journey-page{max-width:none}.bookings-page .booking-list{margin-bottom:24px}@media(max-width:650px){.booking-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-tab{padding:10px 8px;font-size:14px}.booking-item{gap:12px}.booking-item h3{font-size:17px}.booking-empty{padding:30px 18px}}
.booking-tab.active:hover:not(:disabled),.booking-tab.active:focus-visible{background:var(--blue);color:#fff}.booking-tab:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

.live-travel-group{background:#f8f9fc;border:1px solid var(--line);border-radius:16px;padding:22px;margin:18px 0 28px}.live-group-heading{margin:0 0 14px}.live-group-heading h3{font-size:21px;margin:3px 0 6px}.live-group-heading p{margin:0}.live-travel-results{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.live-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin:8px 0}
.live-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px}
.live-head h3{font-size:19px;margin:2px 0 4px}
.live-head .primary,.live-head .secondary{white-space:nowrap;flex:none}
.travel-page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.recommendation-card{align-items:flex-start;padding:20px 0}.recommendation-card .live-side{align-self:center}.recommendation-label{display:inline-block;color:var(--blue);background:#e7f3f2;padding:5px 9px;border-radius:7px;font-weight:700}.recommendation-card .recommendation-reason{font-weight:600;color:#34445c;margin:9px 0}.hotel-trust{color:var(--blue);font-weight:600}.live-confirmed{margin:12px 0 20px}.travel-manual-action{margin:14px 0}.trip-base-choice{margin:20px 0;border-top:1px solid var(--line);padding-top:15px}.trip-base-choice summary{cursor:pointer;font-weight:700;color:var(--blue)}.trip-base-choice .base-options{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.travel-priority-field{border:0;padding:0;margin:0 0 22px}.travel-priority-field legend{font-weight:700;margin-bottom:10px}.travel-priority-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.travel-priority{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer}.travel-priority.chosen,.travel-priority:has(input:checked){border-color:var(--blue);background:#e7f3f2}.travel-priority input{accent-color:var(--blue)}
.live-loading{color:var(--blue);font-size:14px;padding:14px 0;animation:live-pulse 1.4s ease-in-out infinite}
@keyframes live-pulse{50%{opacity:.45}}
.live-card{display:flex;gap:18px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 0}
.live-card p{line-height:1.6;margin:0 0 6px;font-size:14px}
.live-main{min-width:0;flex:1}
.live-side{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.live-price,.live-card p.live-price,.live-summary p.live-price{font-weight:700;font-size:20px;color:#1d2b45;margin:0;white-space:nowrap}
.live-hotel{align-items:flex-start}
.live-hotel h4{font-size:16px;margin:0 0 4px}
.live-photo{width:112px;height:84px;object-fit:cover;border-radius:9px;flex:none;background:var(--soft)}
.live-offers{margin-top:8px}
.live-offer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-top:1px dashed var(--line)}
.live-offer p{margin:2px 0 0;font-size:13px}
.live-offer-side{display:flex;align-items:center;gap:12px;flex:none}
.live-offer-side .live-price{font-size:17px;font-weight:700}
.live-summary{background:var(--soft);border-radius:10px;padding:14px 16px;margin-bottom:18px}
.live-summary p{margin:0 0 6px;line-height:1.55}
.hotel-review-preview{display:block;background:#f6f8fb;border-left:3px solid var(--blue);padding:10px 12px;margin:10px 0 12px;font-size:13px;line-height:1.6;color:#34445c}.hotel-review-preview small{display:block;color:var(--muted);margin-top:5px}.hotel-detail-page{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;margin:18px 0 30px}.hotel-detail-page>.text-button{margin-bottom:16px}.hotel-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px}.hotel-detail-heading h2{font-size:30px;margin:5px 0 8px}.hotel-detail-heading p{margin:5px 0}.hotel-detail-price{text-align:right;display:flex;flex-direction:column;white-space:nowrap}.hotel-detail-price b{font-size:24px;color:var(--blue)}.hotel-detail-price span{color:var(--muted);font-size:13px}.hotel-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}.hotel-gallery figure{margin:0}.hotel-gallery img{width:100%;height:170px;object-fit:cover;border-radius:10px;background:var(--soft)}.hotel-gallery figcaption{font-size:11px;color:var(--muted);margin-top:4px}.hotel-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}.hotel-detail-section{border-top:1px solid var(--line);padding-top:18px;margin-bottom:20px}.hotel-detail-section h3{margin:0 0 12px}.hotel-description{white-space:pre-line;line-height:1.7}.hotel-facilities{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}.hotel-facilities span{background:#eef4f4;color:#1d5d5b;border-radius:6px;padding:6px 9px;font-size:12px}.hotel-review{border-top:1px solid var(--line);padding:13px 0}.hotel-review:first-of-type{border-top:0}.hotel-review p{line-height:1.65;margin:7px 0}.hotel-review small{color:var(--muted)}.hotel-review-score{background:#e7f3f2;color:var(--blue);font-weight:700;padding:3px 6px;border-radius:5px}.hotel-room-list{background:#f8f9fc;border:1px solid var(--line);border-radius:12px;padding:18px}.hotel-room{border-top:1px solid var(--line);padding:14px 0}.hotel-room p{margin:6px 0}.hotel-room .primary{margin-top:9px}
@media(max-width:700px){.live-head,.live-card,.live-offer{flex-direction:column;align-items:stretch}.live-side,.recommendation-card .live-side{align-items:stretch;text-align:left;align-self:stretch}.live-offer-side{justify-content:space-between}.live-photo{width:100%;height:150px}.travel-page-actions{justify-content:flex-start}.travel-priority-options{grid-template-columns:1fr}}
.flight-card,.live-hotel.recommendation-card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:14px 0;background:#fff;box-shadow:0 5px 20px #1a334c08}.flight-card{gap:24px}.flight-card .live-main{max-width:none;width:100%}.flight-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.flight-card-summary{font-weight:700;color:#4c6373;font-size:13px}.flight-legs{display:grid;gap:12px}.flight-leg{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;padding:16px 20px;border-radius:12px;background:#f6f8fa}.flight-leg-label{font-size:13px;font-weight:800;color:var(--blue)}.flight-leg-route{display:grid;grid-template-columns:minmax(70px,1fr) minmax(120px,1.5fr) minmax(70px,1fr);align-items:center;text-align:center;gap:8px}.flight-endpoint{display:flex;flex-direction:column;align-items:center;line-height:1.2}.flight-endpoint strong{font-size:24px;letter-spacing:-.5px;color:var(--ink)}.flight-endpoint span{font-size:13px;font-weight:800;margin-top:3px}.flight-endpoint small{font-size:11px;color:var(--muted);margin-top:3px}.flight-connection{display:flex;flex-direction:column;align-items:center;gap:3px;color:#56687b}.flight-connection small{font-size:12px}.flight-connection b{font-size:12px;color:var(--blue)}.flight-route-line{display:block;width:100%;font-size:15px;line-height:12px;text-align:center;color:var(--blue);position:relative}.flight-route-line:before,.flight-route-line:after{content:"";position:absolute;top:50%;width:38%;height:1px;background:#a8bec6}.flight-route-line:before{left:0}.flight-route-line:after{right:0}.flight-carrier{grid-column:2;text-align:center;color:var(--muted);font-size:12px!important;margin:0!important}.flight-card .recommendation-reason{padding:10px 12px;border-radius:9px;background:#eaf6f3;font-size:13px!important;margin:14px 0 8px}.flight-baggage{display:flex;flex-wrap:wrap;gap:7px}.flight-baggage span{font-size:12px;color:#56687b;background:#f2f5f8;border-radius:6px;padding:5px 8px}.flight-card .live-side{width:190px;min-width:170px}.flight-card .live-price{font-size:28px}.live-hotel.recommendation-card .live-photo{width:154px;height:130px}.live-hotel.recommendation-card h4{font-size:19px;line-height:1.35;margin:5px 0 8px}.live-hotel.recommendation-card .hotel-trust{display:inline-block;background:#eaf6f3;padding:5px 9px;border-radius:7px;font-weight:800}.live-hotel.recommendation-card .live-price{font-size:25px}.live-hotel.recommendation-card .hotel-review-preview{border-left:3px solid #9bc9c1;padding-left:10px;margin:10px 0!important}.travel-custom-note{margin:8px 0 14px;padding:10px 13px;border-radius:9px;background:#edf6f4;color:#205b58;font-weight:600;font-size:13px}.travel-custom-warning{color:#9e5c1c;background:#fff5e6}.travel-custom-input{margin-top:10px}.travel-custom-input[hidden]{display:none}
@media(max-width:850px){.flight-card{flex-direction:column}.flight-card .live-side{width:100%;min-width:0;align-items:flex-start;text-align:left;align-self:stretch}.flight-card .live-main{max-width:none}.live-hotel.recommendation-card .live-photo{width:120px;height:112px}}
@media(max-width:600px){.flight-card,.live-hotel.recommendation-card{padding:15px}.flight-leg{grid-template-columns:1fr;gap:7px}.flight-leg-route{grid-template-columns:minmax(60px,1fr) minmax(80px,1.2fr) minmax(60px,1fr)}.flight-leg-label,.flight-carrier{grid-column:1}.flight-endpoint strong{font-size:20px}.flight-carrier{font-size:11px!important}.flight-card-top{align-items:flex-start;flex-direction:column}.live-hotel.recommendation-card .live-photo{width:100%;height:155px}}
@media(max-width:800px){.hotel-detail-heading{flex-direction:column}.hotel-detail-price{text-align:left}.hotel-detail-grid{grid-template-columns:1fr}.hotel-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-gallery img{height:140px}}
@media(prefers-reduced-motion:reduce){.live-loading{animation:none}}

.live-stop{border-top:1px solid var(--line);padding:16px 0}
.live-stop-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.live-stop-head h4{font-size:16px;margin:2px 0 0}
.live-stop-head .secondary{white-space:nowrap;flex:none}
.live-exp{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0 4px;margin-top:10px;border-top:1px dashed var(--line)}
.live-exp p{margin:0 0 6px;line-height:1.55;font-size:14px}
.live-exp .live-exp-title{font-weight:600;color:#1d2b45}
.live-exp-photo{width:96px;height:64px;object-fit:cover;border-radius:8px;flex:none;background:var(--soft)}
.live-tags{display:flex;flex-wrap:wrap;gap:6px}
.live-exp p.live-price{font-size:19px;margin:0}
@media(max-width:700px){.live-exp{flex-direction:column;align-items:stretch}.live-exp-photo{width:100%;height:140px}.live-stop-head{align-items:flex-start}}

.stop-tickets{margin:0 20px 16px;padding:14px 16px;border:1px solid #dbeae7;border-radius:12px;background:#f5faf9}.stop-ticket-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stop-ticket-head b{color:var(--blue)}.stop-ticket-date{margin-left:10px;font-size:12px;color:var(--muted)}.stop-ticket-purchase{margin-top:10px}.stop-ticket-purchase .live-exp{background:white;border-radius:10px;padding:12px;margin-top:10px}.stop-tickets .text-button{margin-top:8px}.live-stop .stop-tickets{margin:12px 0 0}@media(max-width:600px){.stop-tickets{margin:0 12px 12px;padding:12px}.stop-ticket-head{align-items:flex-start}.stop-ticket-purchase .live-exp{flex-wrap:wrap}}

.ticket-source-heading{margin:16px 0 8px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;font-weight:700;color:var(--muted)}

.ai-input-wrap{position:relative;display:block}.ai-input-wrap textarea::placeholder{color:#9aa2af;opacity:1}.ai-input-wrap.has-suggestion textarea{padding-right:96px}.ai-suggest-accept{position:absolute;right:9px;bottom:9px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:6px}.ai-suggest-accept:hover{color:var(--blue);border-color:#b9d9d2}.ai-suggest-accept kbd{font:inherit;font-size:11px;padding:1px 5px;border:1px solid #d3d8e2;border-bottom-width:2px;border-radius:4px;background:#f6f7fa}
.ai-import{padding:14px 16px;border:1px dashed #b9d9d2;background:#f7fbfa;border-radius:10px;margin-bottom:16px}.ai-import-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}.ai-import-head .text-button{margin:0}.ai-import-step{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.6;margin:12px 0 8px}.ai-import-step span{flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.ai-import-prompt{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.65;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 10px;max-height:170px;overflow:auto;user-select:text}
.ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ai-suggestion{padding:7px 11px;font-size:13px;font-weight:500;color:var(--muted);background:#f6f7fa;border:1px solid var(--line);border-radius:999px;text-align:left;line-height:1.45}.ai-suggestion:hover,.ai-suggestion.active{color:var(--blue);background:var(--soft);border-color:#b9d9d2}

.lunch-photo-button{width:260px;height:108px}.lunch-preview-grid{height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.lunch-photo-count{position:absolute;bottom:5px;right:5px;background:#182338d9;color:white;border-radius:5px;padding:3px 7px;font-size:11px}.lunch-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lunch-gallery-grid .place-photo-figure>.place-photo-img{aspect-ratio:1;height:auto}.lunch-gallery-grid figcaption strong{color:var(--ink);font-size:14px}.lunch-recommendation{background:var(--soft);padding:20px;border-radius:12px;margin-bottom:24px}.lunch-recommendation h3{font-size:25px;margin:10px 0}.lunch-alternatives{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #cde4de;padding-top:14px}.lunch-alternatives p{font-size:14px;margin:7px 0}.lunch-gallery .photo-unavailable{aspect-ratio:1;background:#f2f4f7;border-radius:12px}@media(max-width:760px){.lunch-photo-button{width:100%;height:120px;margin-left:0}.lunch-gallery-grid{gap:8px}.lunch-gallery-grid figcaption{font-size:10px}.lunch-gallery-grid figcaption strong{font-size:12px}.lunch-alternatives{grid-template-columns:1fr}}

[hidden]{display:none!important}.lunch-preview-grid,.lunch-gallery-grid{grid-template-columns:repeat(var(--photo-count,1),minmax(0,1fr))}.lunch-preview-grid>[data-photo-slot]{height:100%;overflow:hidden}.lunch-photo-button{width:calc(var(--photo-count,1) * 86px);max-width:260px}.lunch-gallery-grid .place-photo-figure{min-width:0}@media(max-width:760px){.lunch-photo-button{width:100%;max-width:260px}}

.trip-actions .ai-core-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,#087d78,#056963);border-color:#087d78;color:white;font-weight:750;box-shadow:0 5px 14px #087d7830}.trip-actions .ai-core-action:hover:not(:disabled){background:#055f5b;box-shadow:0 6px 18px #087d7840}.ai-core-spark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:7px;background:#ffffff20;font-size:17px;line-height:1}.trip-actions .trip-brief-action{background:transparent;border-color:#e1e5ec;color:#6d7685;font-weight:550;box-shadow:none}.trip-actions .trip-brief-action:hover:not(:disabled){background:#eef1f5;border-color:#cbd2dd;color:#394456}@media(max-width:760px){.trip-actions .ai-core-action{gap:6px}.ai-core-spark{width:21px;height:21px;font-size:15px}}
/* Account-first onboarding */
.onboard-page{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:48px 22px;background:radial-gradient(ellipse at top,#e1f3ef,transparent 65%)}
.onboard-card{width:min(100%,650px);padding:48px;background:white;border:1px solid var(--line);border-radius:26px;box-shadow:0 20px 60px #18372d09}
.onboard-card h1{font-size:clamp(28px,4vw,42px);line-height:1.3;margin:18px 0}.onboard-card>p{line-height:1.8;color:#657788}.onboard-mark{display:block;color:#087d78;font-size:40px;margin:20px 0}
.onboard-steps{display:grid;gap:14px;list-style:none;padding:0;margin:26px 0}.onboard-steps li{display:flex;align-items:center;gap:14px;font-weight:650}.onboard-steps b{display:grid;place-items:center;width:30px;height:30px;background:#e5f4f1;border-radius:50%;color:#087d78}
.onboard-card small{display:block;line-height:1.7;color:#7e8998;margin-top:24px}.google-login{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;font-size:17px;min-height:52px}.google-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:white;color:#4285f4;font-weight:800}.account-button{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#e6f4f1;color:#087d78;border-color:transparent}.account-save-status{font-size:12px;color:#72818d;min-height:18px;margin:0 0 10px}.recommendation-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#e6f4f1;padding:14px 18px;border-radius:12px;margin:0 0 22px}.recommendation-next>span{flex:1;color:#32655e;font-size:14px}
@media(max-width:600px){.onboard-card{padding:28px 22px}.onboard-page{padding:26px 16px}.recommendation-next>span{flex-basis:100%}.account-button{max-width:85px}}
.analytics-consent-banner{position:fixed;z-index:200;bottom:20px;left:20px;right:20px;max-width:860px;margin:auto;background:white;border:1px solid var(--line);box-shadow:0 8px 35px #16302e22;border-radius:16px;padding:20px;display:flex;gap:24px;align-items:center}.analytics-consent-banner p{font-size:14px;color:var(--muted);margin:6px 0 0;line-height:1.5}.analytics-consent-banner>div:last-child{display:flex;gap:10px;flex-shrink:0}@media(max-width:640px){.analytics-consent-banner{flex-direction:column;align-items:stretch;left:10px;right:10px;bottom:10px}.analytics-consent-banner>div:last-child{justify-content:flex-end}}

.onboard-card .data-policy-link{font-size:12px;margin-top:18px}.data-policy-link a{text-decoration:underline;text-underline-offset:3px}.analytics-consent-banner{max-height:calc(100dvh - 40px);overflow:auto}

/* Guided itinerary entry and seven-step trip brief */
.onboarding-entry{place-items:start center}.onboard-entry-shell{width:min(100%,980px);padding:34px 0}.onboarding-back{margin-bottom:14px;padding-left:0;color:var(--blue)}.onboard-entry-shell>h1{font-size:clamp(32px,5vw,52px);margin:12px 0}.onboard-entry-lead{max-width:690px;color:#657788;font-size:17px}.onboard-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0 20px}.onboard-choice{display:flex;flex-direction:column;min-height:350px;padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 42px #18372d09}.onboard-choice.featured{border-color:#a9d9cf;background:linear-gradient(160deg,#fff 45%,#edf9f6)}.onboard-choice-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border-radius:14px;background:#edf3f2;color:var(--blue);font-size:24px}.onboard-choice h2{font-size:25px;line-height:1.3;margin-bottom:14px}.onboard-choice p:not(.eyebrow){color:#657788;line-height:1.75}.onboard-choice .wide{margin-top:auto;min-height:48px}.brief-footer-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.brief-must-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.review-notes{margin-top:18px;padding:14px 16px;background:#f6f8fa;border-radius:10px}.review-notes p{margin:6px 0 0;color:var(--muted);white-space:pre-wrap}.check-label small{display:block;margin-top:5px;font-weight:400}.step-dots span.on{background:var(--blue)}
.fixed-booking-ai{display:flex;gap:14px;align-items:flex-start;margin-top:8px;padding:16px;border:1px solid #cfe5e0;border-radius:12px;background:#f1faf8}.fixed-booking-ai-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#dff2ee;color:var(--blue);font-size:18px}.fixed-booking-ai h3{margin:0 0 5px;font-size:15px}.fixed-booking-ai p{margin:0 0 12px;color:#657788;font-size:13px;line-height:1.55}.fixed-booking-ai button{padding:9px 12px}
@media(max-width:720px){.onboard-entry-grid{grid-template-columns:1fr}.onboard-choice{min-height:300px;padding:26px}.brief-must-choices{grid-template-columns:1fr}.fixed-booking-ai{padding:14px}.fixed-booking-ai button{width:100%}.dialog-footer{align-items:flex-start;flex-direction:column}.brief-footer-actions{width:100%;justify-content:space-between}.brief-footer-actions .secondary{width:100%;order:-1}}
.attraction-photo-button{width:210px;height:108px;max-width:40%}.attraction-preview-grid{height:100%;display:grid;grid-template-columns:repeat(var(--photo-count,1),minmax(0,1fr));gap:3px}.attraction-preview-grid>[data-photo-slot]{height:100%;overflow:hidden}.attraction-gallery-grid{display:grid;grid-template-columns:repeat(var(--photo-count,1),minmax(0,1fr));gap:12px}.attraction-gallery-grid .place-photo-figure{min-width:0}.attraction-gallery-grid .place-photo-img{aspect-ratio:4/3;height:auto}.attraction-gallery-grid figcaption{overflow-wrap:anywhere}.attraction-gallery{margin-bottom:24px}@media(max-width:760px){.attraction-photo-button{width:100%;max-width:none;height:130px;margin-left:0}.attraction-gallery-grid{grid-template-columns:1fr}.attraction-gallery-grid .place-photo-img{max-height:300px}.attraction-gallery-grid .place-photo-figure{margin-bottom:8px}}

/* One navigation system: top bar on desktop, left drawer on mobile. */
.workspace-topbar{position:sticky;top:0;z-index:30;gap:22px;padding:0 32px}
.primary-navigation{display:flex;align-items:center;gap:8px;white-space:nowrap}
.navigation-item{flex:none}
.navigation-link{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 15px;border:0;background:transparent;color:#647184;font-size:14px;font-weight:650;border-radius:10px;cursor:pointer;list-style:none}
.navigation-link:hover{background:#f1f6f5;color:var(--blue)}
.navigation-link.active{background:var(--soft);color:var(--blue)}
.primary-navigation .ai-core-action{background:linear-gradient(135deg,#087d78,#056963);color:white;box-shadow:0 4px 12px #087d7828;font-weight:750}
.primary-navigation .ai-core-action:hover{background:#055f5b;color:white}
.booking-dropdown{position:relative}
.trip-dropdown{position:relative}
.trip-dropdown summary::-webkit-details-marker{display:none}
.trip-dropdown[open] .navigation-chevron{transform:rotate(180deg)}
.trip-dropdown-items{position:absolute;top:calc(100% + 12px);left:0;min-width:270px;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 35px #1823381a;z-index:35}
.trip-dropdown-items button{display:flex;align-items:center;text-align:left;min-height:44px;border:0;background:transparent;color:#536275;font-weight:550}
.trip-dropdown-items button:hover{background:var(--soft);color:var(--blue)}
.trip-dropdown-items hr{width:calc(100% - 16px);border:0;border-top:1px solid var(--line);margin:4px 8px}
.trip-dropdown-current{display:grid;gap:2px;margin:8px 10px 6px;color:#657788;font-size:12px}.trip-dropdown-current b{color:var(--ink);font-size:14px}.trip-dropdown-current small{font-size:12px}.trip-dropdown-items .new-trip-button{color:var(--blue)}
.trip-list-page{max-width:960px;margin:0 auto;padding:30px 0 80px}.trip-list-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}.trip-list-heading h1{margin:6px 0}.trip-list-heading p:not(.eyebrow){color:var(--muted)}.trip-cards{display:grid;gap:14px}.trip-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 22px 22px 72px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px #18372d08}.trip-card-main h2{font-size:19px;margin:0 0 5px}.trip-card-main h2 span{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:7px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:600}.trip-card-main p{margin:0;color:#657788}.trip-card-main small{display:block;margin-top:6px;color:#8995a5}.trip-delete-icon{position:absolute;top:18px;left:18px;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:#8b95a5;font-size:24px;line-height:1}.trip-delete-icon:hover{border-color:#b42318;background:#fff1f0;color:#b42318}
.booking-dropdown summary::-webkit-details-marker{display:none}
.navigation-chevron{transition:transform .15s;flex:none}
.booking-dropdown[open] .navigation-chevron{transform:rotate(180deg)}
.booking-dropdown-items{position:absolute;top:calc(100% + 12px);right:0;min-width:195px;display:grid;gap:4px;padding:8px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 35px #1823381a;z-index:35}
.booking-dropdown-items button{display:flex;align-items:center;gap:12px;text-align:left;min-height:44px;border:0;background:transparent;color:#536275;font-weight:550}
.booking-dropdown-items button:hover,.booking-dropdown-items button.active{background:var(--soft);color:var(--blue)}
.workspace-layout{display:block;min-height:calc(100dvh - 80px)}
.workspace-layout .main{max-width:1600px;padding:32px 40px 60px;margin:0 auto}
.workspace-layout .trip-header{margin-bottom:24px;align-items:center}
.workspace-layout .trip-header h1{margin:0}
.workspace-layout .account-save-status{margin:0;min-height:0;flex-shrink:0}
.workspace-layout .account-save-status:empty{display:none}
.workspace-layout .day-heading{margin-bottom:22px}
.mobile-menu-toggle{display:none}
.navigation-drawer{display:none}
.booking-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(min-width:1001px) and (max-width:1250px){.workspace-topbar{gap:16px;padding:0 24px}.workspace-topbar .prototype{display:none}.primary-navigation{gap:4px}.navigation-link{padding:10px 12px}.workspace-topbar .account-button{max-width:130px}}
@media(max-width:1000px){
 .workspace-topbar{height:68px;padding:0 18px;gap:12px}
 .workspace-topbar .desktop-navigation,.workspace-topbar .prototype{display:none}
 .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:22px;min-width:42px;min-height:44px;padding:5px;border:0;background:transparent;color:var(--blue)}
 .workspace-topbar .brand{font-size:28px}
 .workspace-layout{min-height:calc(100dvh - 68px)}
 .workspace-layout .main{padding:28px 24px 48px}
 .navigation-open{overflow:hidden}
 .navigation-drawer[open]{display:flex;flex-direction:column;gap:30px;position:fixed;inset:0 auto 0 0;margin:0;width:min(320px,85vw);height:100dvh;max-height:100dvh;max-width:85vw;border:0;border-right:1px solid var(--line);border-radius:0;padding:24px 20px;box-shadow:12px 0 40px #18233820;overflow-y:auto;overscroll-behavior:contain}
 .navigation-drawer::backdrop{background:#18233866;backdrop-filter:blur(3px)}
 .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
 .drawer-heading .close{min-width:44px;min-height:44px}
 .navigation-drawer .primary-navigation{flex-direction:column;align-items:stretch;gap:12px}
 .navigation-drawer .navigation-link{width:100%;justify-content:flex-start;min-height:50px;padding:13px 16px;font-size:15px}
 .navigation-drawer .navigation-chevron{margin-left:auto}
 .navigation-drawer .booking-dropdown-items{position:static;margin-top:8px;box-shadow:none;border:0;border-left:1px solid #d8e8e3;border-radius:0;padding:0 0 0 10px;margin-left:16px;min-width:0;background:transparent}
 .navigation-drawer .trip-dropdown-items{position:static;margin-top:8px;box-shadow:none;border:0;border-left:1px solid #d8e8e3;border-radius:0;padding:0 0 0 10px;margin-left:16px;min-width:0;background:transparent}
 .navigation-drawer .booking-dropdown-items button{min-height:46px}
}
@media(max-width:760px){
 .workspace-topbar{gap:6px;padding:0 12px}
 .workspace-topbar .topright{gap:6px}
 .workspace-topbar .account-button{max-width:90px}
 .workspace-layout .main{padding:24px 16px 40px}
 .workspace-layout .trip-header{display:block;margin-bottom:22px}
 .workspace-layout .trip-header h1{font-size:27px;line-height:1.35}
 .workspace-layout .account-save-status:not(:empty){margin-top:8px}
 .workspace-layout .day-heading{flex-wrap:wrap;gap:12px;margin-bottom:18px}
 .workspace-layout .day-tabs{margin-bottom:16px}
 .workspace-layout .travel-page-actions{justify-content:flex-start}
 .booking-tabs{display:flex;overflow-x:auto;gap:8px;margin:18px 0;padding-bottom:10px}
 .booking-tab{flex:none;min-height:44px}
}
@media(max-width:374px){.workspace-topbar .account-button{max-width:64px}.workspace-topbar .brand{font-size:24px}.workspace-topbar .brand-dot{font-size:24px}.workspace-topbar .language-toggle button{padding:5px}.workspace-topbar .topright{gap:4px}}
/* Geographic itinerary views */
.map-card-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 14px}.map-card-heading h3{margin:5px 0 0;font-size:18px}.map-card-heading .eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--blue);margin:0}.map-expand{font-size:23px;padding:4px 10px}.daily-route-map{height:310px;background:#e5ebe8;z-index:0}.map-card-footer{padding:18px 20px}.map-card-footer p{font-size:12px;color:#718094;line-height:1.7;margin:10px 0}.map-card-footer>small{display:block;font-size:10px;line-height:1.7;color:#8793a2;margin-top:12px}.map-day-caption{font-size:13px;border-left:4px solid var(--day-color);padding-left:9px;display:block;line-height:1.6}.route-pin-container{background:none!important;border:0!important}.route-pin{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:2px solid white;background:var(--pin-color);box-shadow:0 2px 7px #17342a50;color:#fff;border-radius:50%;font:700 11px/1 system-ui}.leaflet-popup-content{line-height:1.8;min-width:130px}.leaflet-popup-content a{color:#087f83}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:10px!important}.map-tile-status:empty{display:none}.map-tile-status{position:absolute;bottom:30px;left:8px;right:8px;padding:8px;background:#fff9e4;z-index:500;font-size:11px}.city-map-dialog{width:min(1280px,96vw);max-width:1280px;padding:24px;max-height:94dvh}.city-map-dialog .modal-body{padding:0}.city-map-dialog .dialog-heading{margin-bottom:18px}.city-map-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;height:min(680px,72dvh)}.city-map-sidebar{overflow:auto;padding-right:5px}.map-intro{font-size:13px;line-height:1.7;color:#718094;margin:0 0 14px}.city-route-map{height:100%;min-height:320px;z-index:0;border-radius:14px;background:#e5ebe8}.map-day-filter{display:flex;text-align:left;width:100%;gap:10px;align-items:flex-start;padding:12px;margin-bottom:7px;border:1px solid #e4e9ee;border-radius:10px;background:#fff;line-height:1.6;font-size:13px;color:#3c4c60}.map-day-filter.active{border-color:#087f83;background:#e8f5f1}.map-day-filter small{display:block;font-size:11px;color:#728094;font-weight:400}.map-day-dot{width:10px;height:10px;flex-shrink:0;background:var(--day-color);border-radius:50%;margin-top:6px}.map-legend-note{font-size:11px;line-height:1.8;color:#718094;margin-top:16px}.leaflet-control-zoom a{font-family:system-ui!important}.leaflet-container button{color:inherit}
@media(max-width:700px){.city-map-dialog{width:96vw;padding:16px;max-height:96dvh}.city-map-layout{display:flex;flex-direction:column-reverse;gap:12px;height:76dvh}.city-route-map{flex:1;min-height:260px}.city-map-sidebar{max-height:27vh;flex-shrink:0;display:flex;flex-wrap:wrap;gap:6px;padding:0}.map-intro,.map-legend-note{width:100%;margin:0}.map-day-filter{width:calc(50% - 3px);margin:0;font-size:11px;padding:8px}.map-day-filter:first-of-type{width:100%}.daily-route-map{height:280px}}
.ai-fullscreen{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:24px 34px;overflow:hidden;background:#f7f8fb}.ai-fullscreen::backdrop{background:#f7f8fb}.ai-fullscreen .dialog-heading{align-items:center;flex-direction:row-reverse;justify-content:flex-end;gap:24px;min-height:62px}.ai-fullscreen .dialog-heading>div{display:flex;align-items:baseline;gap:18px}.ai-fullscreen .dialog-heading .eyebrow{margin:0}.ai-fullscreen .dialog-heading h2{margin:0;font-size:25px}.ai-fullscreen .ai-back{order:2;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 13px;font-size:13px;white-space:nowrap}.ai-fullscreen>.modal-sub{margin:0 0 12px 152px}.ai-fullscreen .modal-body{display:grid;grid-template-columns:minmax(300px,390px) minmax(520px,1fr);grid-auto-rows:min-content;gap:14px 28px;height:calc(100dvh - 190px);min-height:0;margin-top:10px}.ai-fullscreen .modal-body>.notice,.ai-fullscreen .modal-body>.ai-chat-log,.ai-fullscreen .modal-body>.ai-import,.ai-fullscreen .modal-body>.field,.ai-fullscreen .modal-body>.subtle,.ai-fullscreen .modal-body>.error{grid-column:1}.ai-fullscreen .ai-chat-log{max-height:none;min-height:180px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.ai-fullscreen .modal-body>.field{margin:0}.ai-fullscreen .modal-body>.subtle{margin:0}.ai-fullscreen .modal-body>.ai-proposal{grid-column:2;grid-row:1/8;margin:0;min-height:0;overflow:auto;background:#fff;border-radius:16px;padding:24px}.ai-fullscreen .dialog-footer{margin-top:12px;padding-top:12px}.ai-proposal-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:12px}.ai-proposal-heading .eyebrow{margin-bottom:7px;color:var(--blue)}.ai-proposal-heading h3{font-size:24px;margin:0}.ai-proposal-heading>p{max-width:330px;color:var(--muted);font-size:13px;margin:0}.ai-needs-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:15px 0}.ai-needs-summary h4{grid-column:1/-1;margin:0 0 2px}.ai-needs-summary span{display:flex;flex-direction:column;gap:5px;background:var(--soft);color:#286e66;border-radius:10px;padding:12px;font-size:12px;line-height:1.55}.ai-plan-map-card{margin:20px 0;border:1px solid var(--line);border-radius:13px;overflow:hidden}.ai-plan-map-card>div:first-child{padding:15px 17px}.ai-plan-map-card p{font-size:12px;color:var(--muted);margin:5px 0 0}.ai-plan-map{height:340px;background:#e5ebe8}.ai-plan-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ai-plan-day{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fbfcfe}.ai-plan-day .eyebrow{color:var(--blue);margin-bottom:7px}.ai-plan-day h4{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:17px}.ai-plan-day h4 span{font-family:'DM Sans',sans-serif;color:var(--muted);font-size:12px;white-space:nowrap}.ai-day-ideas{display:grid;gap:7px}.ai-day-ideas p{display:grid;grid-template-columns:68px 1fr;gap:8px;margin:0;font-size:12px;line-height:1.55;color:#596579}.ai-day-ideas b{color:var(--ink)}.ai-must-callout{background:#fff5de;color:#855714;border-radius:9px;padding:11px 12px;margin:12px 0;font-size:12px}.ai-must-callout p{margin:5px 0 0;line-height:1.55}.ai-plan-day ol{border-top:1px solid var(--line);margin-top:13px;padding-top:8px}.ai-plan-day li{font-size:12px}.ai-fullscreen .ai-proposal>.primary{position:sticky;bottom:0;box-shadow:0 -8px 18px #ffffffdd}
@media(max-width:980px){.ai-fullscreen{padding:18px}.ai-fullscreen>.modal-sub{margin-left:0}.ai-fullscreen .modal-body{grid-template-columns:1fr;height:calc(100dvh - 210px);overflow:auto}.ai-fullscreen .modal-body>.ai-proposal{grid-column:1;grid-row:auto;overflow:visible}.ai-fullscreen .ai-chat-log{min-height:240px}.ai-plan-days{grid-template-columns:1fr}.ai-needs-summary{grid-template-columns:1fr}.ai-fullscreen .dialog-footer{flex-shrink:0}}@media(max-width:600px){.ai-fullscreen{padding:14px}.ai-fullscreen .dialog-heading{gap:10px}.ai-fullscreen .dialog-heading>div{display:none}.ai-fullscreen>.modal-sub{font-size:12px}.ai-fullscreen .modal-body{height:calc(100dvh - 150px)}.ai-plan-map{height:260px}.ai-proposal-heading{display:block}.ai-proposal-heading>p{margin-top:8px}.ai-fullscreen .dialog-footer{align-items:center;flex-direction:row}.ai-fullscreen .dialog-footer>div{display:flex;gap:8px}}
.ai-basics{border:1px solid #d5dceb;background:#f8faff;border-radius:12px;padding:16px;margin:14px 0}.ai-basics.confirmed{border-color:#93cbbf;background:#f4fbf9}.ai-basics>.ai-basics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:13px}.ai-basics>div>h4{margin:0 0 5px}.ai-basics>div>p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}.ai-basics .eyebrow{margin:0 0 5px;color:var(--blue)}.ai-basics label{font-size:11px;color:var(--muted);font-weight:650}.ai-basics input,.ai-basics select{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid #dce1ec;border-radius:8px;background:#fff;color:var(--ink);font-size:12px}.ai-basics-action{display:flex;align-items:center;gap:12px;margin-top:12px}.ai-basics-action span{font-size:12px;color:var(--green)}.checklist-card{background:linear-gradient(145deg,#f7fbfa,#eef7f4);border-color:#cfe5df}.checklist-card h3{margin-bottom:7px}.checklist-dialog{width:min(1180px,96vw);max-width:1180px;max-height:94dvh}.checklist-progress{display:flex;align-items:baseline;gap:8px;margin-bottom:16px;padding:13px 16px;border-radius:10px;background:var(--soft);color:var(--blue)}.checklist-progress b{font-size:23px}.checklist-progress span{font-size:12px}.checklist-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checklist-section{border:1px solid var(--line);border-radius:13px;padding:17px;background:#fbfcfe}.checklist-section header{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start}.checklist-section header>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--blue);font-size:17px}.checklist-section h3{font-size:16px;margin:4px 0 0}.checklist-section header em{font-style:normal;font-size:10px;line-height:1.35;text-align:center;border-radius:999px;background:#eaf7f4;color:#087e75;padding:5px 8px}.checklist-insight{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.checklist-insight>p{display:grid;grid-template-columns:64px 1fr;gap:8px;font-size:11px;line-height:1.65;color:var(--muted);margin:0 0 9px}.checklist-insight>p>b{color:#46546c;font-size:10px;letter-spacing:.04em}.checklist-insight>.checklist-solution{border:1px solid #cfe5df;background:#eff8f6;border-radius:10px;padding:10px;color:#294d49}.checklist-insight>.checklist-solution b{color:#087e75}.checklist-insight>.checklist-sources{display:flex;grid-template-columns:none;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;font-size:9px}.checklist-sources>span{color:var(--muted);font-weight:700}.checklist-sources a{color:#607895;text-decoration:none;border-bottom:1px solid #cbd5df}.checklist-sources a:hover{color:var(--blue)}.checklist-actions{margin-top:12px;border-top:1px solid var(--line)}.checklist-actions>p{margin:10px 2px 0;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.05em}.checklist-item{display:flex;align-items:flex-start;gap:9px;padding:10px 2px;border-bottom:1px solid #edf0f4;font-size:12px;line-height:1.5}.checklist-item:last-child{border-bottom:0}.checklist-item input{width:17px;height:17px;flex:none;margin-top:1px;accent-color:var(--blue)}.checklist-item input:checked+span{text-decoration:line-through;color:var(--muted)}
@media(max-width:760px){.ai-basics>.ai-basics-grid{grid-template-columns:1fr 1fr}.checklist-dialog{width:96vw;padding:18px}.checklist-sections{grid-template-columns:1fr}.checklist-section header{grid-template-columns:32px 1fr}.checklist-section header em{grid-column:2;justify-self:start}}@media(max-width:480px){.ai-basics>.ai-basics-grid{grid-template-columns:1fr}}

/* The expanded AI experience is one continuous conversation. */
.ai-fullscreen{display:flex;flex-direction:column;padding:20px 28px;background:#f7f8fb}
.ai-fullscreen .dialog-heading,.ai-fullscreen>.modal-sub,.ai-fullscreen .modal-body,.ai-fullscreen .dialog-footer{width:min(900px,100%);margin-left:auto;margin-right:auto}
.ai-fullscreen>.modal-sub{margin-top:0;margin-bottom:8px}
.ai-fullscreen .modal-body{display:flex;flex:1;flex-direction:column;gap:12px;height:auto;min-height:0;margin-top:6px;overflow:hidden}
.ai-connection-status{align-self:flex-start;color:var(--muted);font-size:11px;padding:5px 9px;border-radius:999px;background:#eef1f6}
.ai-connection-status.ready{color:#286e66;background:var(--soft)}
.ai-fullscreen .ai-chat-log{flex:1;min-height:0;max-height:none;overflow:auto;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;scroll-behavior:smooth}
.ai-fullscreen .ai-message{width:fit-content;max-width:78%;padding:14px 17px;margin:12px 0;background:#f0f3f8;border-radius:14px 14px 14px 4px}
.ai-fullscreen .ai-message.user{margin-left:auto;background:var(--soft);border-radius:14px 14px 4px 14px}
.ai-fullscreen .ai-message.assistant{margin-right:auto}
.ai-fullscreen .ai-message p{font-size:14px;line-height:1.75}
.ai-fullscreen .ai-welcome{max-width:620px}
.ai-reply-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.ai-reply-options button{border-color:#b9dcd5;background:#fff;color:var(--blue);font-size:12px;text-align:left}
.ai-reply-options button:hover:not(:disabled){background:var(--soft)}
.ai-retry-message{border:1px solid #efc6b9;background:#fff9f6!important}
.ai-retry-message .error{margin-bottom:11px}
.ai-fullscreen .ai-confirm-message{display:block;width:100%;max-width:720px;border:1px solid #bcded6;background:#f6fbfa;padding:20px}
.ai-chat-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}
.ai-chat-summary>div{padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #e1ebe8}
.ai-chat-summary dt{font-size:10px;color:var(--muted);margin-bottom:4px}
.ai-chat-summary dd{margin:0;font-size:13px;font-weight:650;color:var(--ink)}
.ai-hotel-results{width:100%;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.ai-hotel-heading h3{margin:4px 0 5px;font-size:19px}.ai-hotel-heading p{margin:0;color:var(--muted)}.ai-hotel-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:15px;align-items:center;border-top:1px solid var(--line);padding:16px 0}.ai-hotel-card>img{width:112px;height:90px;object-fit:cover;border-radius:10px;background:var(--soft)}.ai-hotel-main h4{margin:5px 0;font-size:17px}.ai-hotel-main p{margin:4px 0!important}.ai-hotel-action{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.ai-hotel-action small{color:var(--muted)}.ai-hotel-action .primary{white-space:nowrap;margin-top:6px}.ai-hotel-more{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:14px}.ai-hotel-more p{margin:0!important;color:var(--muted);font-size:12px!important}.accommodation-selected p{margin:7px 0}
@media(max-width:700px){.ai-hotel-card{grid-template-columns:1fr}.ai-hotel-card>img{width:100%;height:150px}.ai-hotel-action{align-items:stretch;text-align:left}.ai-hotel-more{align-items:stretch;flex-direction:column}.ai-hotel-more .secondary{width:100%}}
.ai-confirm-message .ai-needs-summary{grid-template-columns:1fr;padding:8px 0}
.ai-confirm-message .ai-needs-summary h4{font-size:13px}
.ai-confirm-days{display:grid;gap:12px;margin:16px 0}
.ai-confirm-days .ai-plan-day{background:#fff}
.ai-confirm-days .ai-plan-day h5{margin:16px 0 8px;font-size:12px;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}
.ai-attractions,.ai-support-stops{list-style:none;padding:0!important;margin:0!important;border:0!important}
.ai-attraction{padding:12px!important;margin:8px 0!important;border:1px solid #e1e9e6;border-radius:10px;background:#fbfdfc}
.ai-attraction-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.ai-attraction-title>b{color:var(--ink)!important;margin:0!important}
.ai-attraction-title>span:not(.pill),.ai-support-label{font-size:9px;font-weight:750;letter-spacing:.05em;color:#286e66;background:var(--soft);border-radius:999px;padding:3px 7px}
.ai-attraction p{margin:6px 0 0!important;color:#596579;line-height:1.55}
.ai-attraction p strong{color:var(--ink)}
.ai-support-stops{display:grid;gap:6px}
.ai-support-stops li{display:flex;align-items:center;gap:7px;font-size:12px}
.ai-confirm-action{position:sticky;bottom:-20px;margin:16px -20px -20px;padding:14px 20px 20px;background:linear-gradient(#f6fbfae8,#f6fbfa 28%);border-top:1px solid #d9e8e4}
.ai-confirm-action p{font-size:12px!important;color:var(--muted)}
.ai-confirm-action>.primary{width:100%;margin-top:6px}
.ai-fullscreen .modal-body>.field{margin:0;flex:none}
.ai-fullscreen .modal-body>.field textarea{min-height:88px;max-height:150px;background:#fff}
.ai-fullscreen .modal-body>.subtle{margin:0;flex:none}
.ai-fullscreen .dialog-footer{flex:none;flex-direction:row;align-items:center;margin-top:10px;padding-top:10px}
@media(max-width:600px){.ai-fullscreen{padding:12px}.ai-fullscreen .dialog-heading{min-height:48px}.ai-fullscreen .modal-body{height:auto}.ai-fullscreen .ai-chat-log{padding:12px}.ai-fullscreen .ai-message{max-width:92%}.ai-chat-summary{grid-template-columns:1fr}.ai-fullscreen .dialog-footer{width:100%}}
.accommodation-question{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.accommodation-question>h3{margin:0 0 6px;font-size:18px}.accommodation-question>p{margin:0 0 14px;color:var(--muted);font-size:14px}.accommodation-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.accommodation-choices .choice{min-height:104px}.accommodation-choices .choice span{display:block;font-weight:750}.accommodation-link-field{margin-top:14px}.accommodation-pending{border-color:#d6deec;background:#f8faff}.accommodation-pending .hotel-title{color:#526176}.accommodation-link{display:flex;align-items:center;justify-content:center;margin:12px 0;text-decoration:none}.provisional-transfer{margin:-4px 0 12px 42px;padding:9px 12px;border-left:3px solid #d5b56c;background:#fffaf0;color:#795f2d}@media(max-width:620px){.accommodation-choices{grid-template-columns:1fr}}
.map-region-label{background:#fffef7;border:1px solid #dbe2dc;box-shadow:0 2px 8px #263b4b18;font-size:11px;font-weight:700;padding:4px 8px;color:#344438}.map-region-label::before{display:none}

/* Trip overview: the existing day experience stays unchanged until Overview is selected. */
.overview-tab{min-width:104px}
.overview-workspace{grid-template-columns:minmax(0,1fr)}
.trip-overview-panel{padding:0;overflow:hidden}
.trip-overview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.trip-overview-heading .eyebrow{margin-bottom:7px;color:var(--blue)}
.trip-overview-heading h2{margin:0 0 5px;font-size:23px}
.trip-overview-heading p{margin:0;color:var(--muted);font-size:13px}
.trip-overview-map-shell{position:relative;isolation:isolate;min-height:620px;background:#eef2ed;overflow:hidden}
.overview-route-map{position:absolute;inset:0;z-index:0;height:100%;min-height:620px;background:#edf2ef}
.trip-overview-copy{position:absolute;left:0;top:0;bottom:0;z-index:1000;width:min(46%,500px);padding:38px 30px;pointer-events:none;background:linear-gradient(90deg,#f5f6f0 0%,#f5f6f0fa 44%,#f5f6f0cc 66%,#f5f6f052 86%,transparent 100%)}
.trip-overview-copy .eyebrow{color:var(--blue);margin-bottom:12px}
.trip-overview-copy h3{font-size:27px;line-height:1.45;margin:0;color:var(--ink)}
.trip-overview-copy-line{display:block;width:32px;height:3px;background:var(--blue);margin:20px 0}
.trip-overview-copy p{max-width:295px;color:#59687b;font-size:13px;line-height:1.8}
.trip-overview-map-shell .leaflet-top,.trip-overview-map-shell .leaflet-bottom{z-index:1200}
.overview-map-label{background:transparent!important;border:0!important}
.overview-map-label button{display:block;width:220px;min-height:58px;padding:9px 11px;text-align:left;background:#ffffffed;border:1px solid #dce4e2;border-radius:10px;box-shadow:0 4px 14px #193b3a1f;transition:opacity .16s,box-shadow .16s,transform .16s}
.overview-map-label button strong{display:block;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-map-label button strong span{margin-right:7px;color:var(--day-color);font-size:10px;letter-spacing:.4px}
.overview-map-label button small{display:block;margin-top:3px;color:#778493;font-size:10px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-map-label.hot button{border-color:var(--day-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--day-color) 60%,transparent),0 8px 20px #193b3a2b;transform:translateY(-2px)}
.overview-map-label.dim{opacity:.28}
.overview-day-card{position:absolute;z-index:1100;left:22px;bottom:22px;width:270px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #20373726}
.overview-day-card>p:first-child{margin:0;color:var(--day-color);font-size:11px;font-weight:750;letter-spacing:.8px}
.overview-day-card h3{margin:5px 0 12px;font-size:18px}.overview-day-card ol{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}.overview-day-card li{display:flex;align-items:center;gap:8px;font-size:12px}.overview-day-card li b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#f5f7f8;color:var(--day-color);font-size:10px}.overview-day-card button{width:100%;background:var(--blue);border-color:var(--blue);color:#fff}.overview-day-empty{font-size:12px;color:var(--muted)}
.trip-overview-footer{display:flex;justify-content:space-between;gap:18px;padding:12px 20px;color:var(--muted);font-size:11px}
.map-clickable-region{cursor:pointer}
.commute-options{margin:-5px 0 13px 30px;border:1px solid #e0e7eb;border-radius:10px;background:#fbfdfd;overflow:hidden}.commute-options summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;color:#536274}.commute-options summary::-webkit-details-marker{display:none}.commute-options summary>span:first-child{display:grid;gap:2px}.commute-options summary b{font-size:13px;color:var(--blue)}.commute-options summary small{font-size:11px}.commute-options summary>span:last-child{white-space:nowrap;font-size:11px;color:var(--blue);font-weight:650}.commute-option-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 10px 10px}.commute-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px;border:1px solid #e3e8ea;border-radius:9px;background:#fff;color:var(--ink);min-width:0}.commute-option:hover{border-color:#a9cfca;background:#f5fbfa}.commute-option.recommended{border-color:#83bbb4;background:#edf8f6}.commute-option.over-limit{background:#f7f7f7;color:#89919c}.commute-option-icon{color:var(--blue)}.commute-option-icon .transport-icon{width:19px;height:19px}.commute-option span:nth-child(2){min-width:0}.commute-option b,.commute-option small{display:block}.commute-option b{font-size:12px;white-space:nowrap}.commute-option small{margin-top:3px;font-size:10px;line-height:1.45}.commute-option-map{display:inline-block;margin-top:7px;color:var(--blue);font-size:10px;font-weight:700}.commute-option>strong{grid-column:2;font-size:11px;color:#4e5e70}.commute-option em{position:absolute;right:7px;top:7px;font-style:normal;font-size:9px;color:#9b6540;background:#fff0dd;padding:2px 5px;border-radius:8px}.google-maps-route{display:inline-flex;margin:3px 0 12px;padding:8px 11px;border:1px solid #b9d8d3;border-radius:8px;background:#f1faf8;color:var(--blue);font-weight:700}
.travel-confirm-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}
.travel-confirm-tab{min-width:0;padding:12px 8px;display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;text-align:left;border-color:#dce5e8;background:#fff}
.travel-confirm-tab>span{grid-row:1/3;color:var(--blue);font-size:17px}
.travel-confirm-tab b{font-size:13px;white-space:nowrap}
.travel-confirm-tab small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.travel-confirm-tab.attention{background:var(--blue);border-color:var(--blue);color:#fff}
.travel-confirm-tab.attention>span,.travel-confirm-tab.attention small{color:#fff}
.travel-confirm-tab.confirmed{background:#edf7f1;border-color:#cfe5d8;color:var(--green)}
@media(max-width:900px){.commute-option-list{grid-template-columns:1fr}.commute-option{grid-template-columns:auto minmax(0,1fr) auto}.commute-option>strong{grid-column:auto;align-self:center}}
@media(max-width:760px){.overview-tab{min-width:78px}.trip-overview-heading{padding:18px}.trip-overview-map-shell{min-height:540px}.overview-route-map{height:540px;min-height:540px}.trip-overview-copy{display:block;bottom:auto;width:78%;height:210px;padding:22px 18px;background:linear-gradient(90deg,#f5f6f0 0%,#f5f6f0ed 58%,transparent 100%)}.trip-overview-copy h3{font-size:20px}.trip-overview-copy p{font-size:11px;max-width:230px}.trip-overview-copy-line{margin:12px 0}.overview-map-label button{width:142px;min-height:42px;padding:6px 8px}.overview-map-label button small{display:none}.overview-day-card{left:10px;right:10px;bottom:10px;width:auto;padding:13px}.trip-overview-footer{flex-direction:column;gap:3px}.travel-confirm-tabs{grid-template-columns:1fr}.travel-confirm-tab{padding:12px}.commute-options{margin-left:30px}}

