/* Shared travel-cost identity: the planning palette, typography and control rhythm. */
.tgi-travel-cost,.tgi-travel-planning{box-sizing:border-box;background:var(--tgi-surface,#fff);border:1px solid var(--tgi-line,rgba(38,70,83,.14));border-radius:16px;margin:16px 0;overflow:hidden;color:var(--tgi-text,#2f2b27);text-align:left;font:inherit}
.tgi-travel-planning{margin:0;border-radius:0;border-width:1px 0 0}
.tgi-travel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 18px;background:linear-gradient(145deg,var(--tgi-primary,#264653),var(--tgi-primary-hover,#1f3c48));color:#fff}
.tgi-travel-heading>span:first-child{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:780;letter-spacing:.065em;text-transform:uppercase;color:#fff}
.tgi-travel-heading svg,.tgi-travel-eyebrow svg{width:21px;height:21px;flex:none}
.tgi-travel-heading .tgi-help-tip__trigger{color:#fff!important;border-color:#ffffff66!important;background:#ffffff12!important}
.tgi-travel-cost .tgi-travel-cost,.tgi-travel-planning .tgi-travel-cost{border:0;border-radius:0;margin:0;padding:0;background:transparent}
button.tgi-travel-preview{display:block;box-sizing:border-box;width:100%;padding:18px;border:0;border-radius:0;margin:0;background:var(--tgi-surface-soft,#f8f6f1);color:var(--tgi-text,#2f2b27);text-align:left;cursor:pointer;font:inherit;line-height:1.5;box-shadow:none;white-space:normal;transition:background .15s}
button.tgi-travel-preview:hover{background:var(--tgi-surface-active,#edf5f6);color:var(--tgi-text,#2f2b27)}
.tgi-travel-preview:focus-visible,.tgi-travel-dialog :focus-visible{outline:3px solid var(--tgi-accent,#88453b);outline-offset:-3px}
.tgi-travel-route{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:start;gap:10px}
.tgi-travel-route__place{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere;hyphens:auto}
.tgi-travel-route__place small{font-size:10px;letter-spacing:.055em;text-transform:uppercase;color:var(--tgi-muted,#625d57);font-weight:650;line-height:1.5}
.tgi-travel-route__place strong{font-size:13px;line-height:1.4;font-weight:700;color:var(--tgi-primary,#264653)!important}
.tgi-travel-route__place>span{font-size:11px;line-height:1.5;color:var(--tgi-muted,#625d57)}
.tgi-travel-preview .tgi-travel-route__place strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tgi-travel-route__arrow{padding-top:18px;font-size:18px;color:var(--tgi-corporate-red,#88453b)}
.tgi-travel-price{display:flex;align-items:baseline;gap:8px;margin-top:16px}
.tgi-travel-price>strong{font-size:26px;line-height:1.25;color:var(--tgi-primary,#264653)!important;font-weight:780;letter-spacing:-.03em}
.tgi-travel-price small{font-size:12px;color:var(--tgi-muted,#625d57)}
.tgi-travel-subtitle{display:block;margin-top:6px;font-size:12px;color:var(--tgi-muted,#625d57);line-height:1.55}
.tgi-travel-discover{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:10px;border-top:1px solid var(--tgi-line,rgba(38,70,83,.14));color:var(--tgi-primary,#264653);font-size:12px;font-weight:650}
/* Compact overview: city pair, amount and calculation; the rest opens on click. */
.tgi-travel-cost button.tgi-travel-preview{padding:10px 14px 12px;background:var(--tgi-surface-soft,#f8f6f1)!important;color:var(--tgi-primary,#264653)!important;background-image:none!important;box-shadow:none!important}
.tgi-travel-cost button.tgi-travel-preview:is(:hover,:focus,:active){background:var(--tgi-surface-active,#edf5f6)!important;color:var(--tgi-primary,#264653)!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}
.tgi-travel-cost button.tgi-travel-preview:is(:hover,:focus,:active) :is(span,strong,small){color:var(--tgi-primary,#264653)!important;background:transparent!important;box-shadow:none!important}
.tgi-travel-cities{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;font-size:13px;font-weight:650;line-height:1.4}
.tgi-travel-cities>span:not(:nth-child(2)){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tgi-travel-cities>span:last-child{text-align:right}
.tgi-travel-preview .tgi-travel-price{margin-top:6px;gap:6px}
.tgi-travel-preview .tgi-travel-price>strong{font-size:21px}
.tgi-travel-preview .tgi-travel-discover{margin:0 0 0 auto;padding:0;border:0;font-size:14px}
.tgi-travel-preview .tgi-travel-subtitle{font-size:11px;line-height:1.45;margin-top:4px}
.tgi-travel-planning>.tgi-travel-heading{padding:10px 14px 0;background:var(--tgi-surface-soft,#f8f6f1);color:var(--tgi-primary,#264653)}
.tgi-travel-planning>.tgi-travel-heading>span:first-child{color:var(--tgi-primary,#264653);font-size:11px;letter-spacing:.035em;gap:6px}
.tgi-travel-planning>.tgi-travel-heading svg{width:16px;height:16px}
.tgi-travel-planning>.tgi-travel-heading .tgi-help-tip__trigger{color:var(--tgi-primary,#264653)!important;border-color:var(--tgi-line,#d3d9dc)!important;background:transparent!important}
/* Both columns share their bottom edge, including a short or empty chat. */
.tgi-request-overview--conversation:has(.tgi-travel-planning){align-items:stretch}
.tgi-request-overview--conversation:has(.tgi-travel-planning)>.tgi-request-overview__sidebar,
.tgi-request-overview--conversation:has(.tgi-travel-planning)>.tgi-request-overview__primary{display:flex;flex-direction:column;min-height:0}
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-planning-info,
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-messages-section{display:flex;flex-direction:column;flex:1 0 auto;min-height:0}
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-planning-card{height:auto;flex:1 0 auto}
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-chat-shell{height:auto;display:flex;flex-direction:column;flex:1 0 auto}
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-chat-shell__head{flex:none}
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-chat-shell>.tgi-thread{flex:1 1 auto;align-content:start}
.tgi-request-overview--conversation:has(.tgi-travel-planning) .tgi-chat-shell>.tgi-reply-shell{margin-top:auto}
.tgi-request-overview--conversation>.tgi-request-overview__sidebar>.tgi-travel-planning{flex:none;margin-top:auto}
.tgi-travel-offer+.tgi-travel-offer{border-top:1px solid var(--tgi-line,rgba(38,70,83,.14))}
.tgi-travel-offer__label{margin:0!important;padding:12px 18px 0;background:var(--tgi-surface-soft,#f8f6f1);font-size:12px;font-weight:650;color:var(--tgi-primary,#264653)}
.tgi-travel-dialog{box-sizing:border-box;width:min(900px,calc(100vw - 32px));max-height:92dvh;border:1px solid var(--tgi-line,rgba(38,70,83,.14));border-radius:var(--tgi-radius,20px);padding:0;background:var(--tgi-surface,#fff);color:var(--tgi-text,#2f2b27);box-shadow:var(--tgi-shadow,0 14px 40px #2646531a);font-family:inherit;font-size:14px;line-height:1.55}
.tgi-travel-dialog::backdrop{background:rgba(28,43,48,.65);backdrop-filter:blur(4px)}
.tgi-travel-dialog{overscroll-behavior:contain}
.tgi-travel-dialog *{box-sizing:border-box}
.tgi-travel-form{margin:0}
.tgi-travel-form>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px;background:linear-gradient(145deg,var(--tgi-primary,#264653),var(--tgi-primary-hover,#1f3c48));color:#fff}
.tgi-travel-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.08em;font-weight:700;color:#ffffffcc}
.tgi-travel-form h2{font-family:inherit;font-size:26px;line-height:1.2;font-weight:750;margin:10px 0;color:#fff}
.tgi-travel-form>header p{font-size:13px;line-height:1.5;color:#ffffffce;margin:0}
.tgi-travel-form>header button{flex:none;background:#ffffff0f;border-color:#ffffff40;color:#fff;padding:5px 10px;font-size:24px;line-height:1.2}
.tgi-travel-body{padding:24px 28px}
.tgi-travel-body>.tgi-travel-route{padding:16px 18px;border:1px solid var(--tgi-line,rgba(38,70,83,.14));border-radius:12px;background:var(--tgi-surface-soft,#f8f6f1)}
.tgi-travel-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:22px}
.tgi-travel-detail-section{min-width:0}
.tgi-travel-detail-section+section{border-left:1px solid var(--tgi-line,rgba(38,70,83,.14));padding-left:24px}
.tgi-travel-detail-section h3{font-family:inherit;font-size:12px;font-weight:750;line-height:1.4;letter-spacing:.055em;text-transform:uppercase;color:var(--tgi-primary,#264653);margin:0 0 16px}
.tgi-travel-dialog a{color:var(--tgi-primary,#264653);text-decoration:underline;text-underline-offset:3px}
.tgi-travel-dialog button{cursor:pointer;border:1px solid var(--tgi-line,rgba(38,70,83,.14));border-radius:999px;padding:11px 17px;font-family:inherit;font-size:13px;font-weight:650;line-height:1.4;color:var(--tgi-primary,#264653);background:var(--tgi-surface,#fff)}
.tgi-travel-dialog button:disabled{opacity:.55;cursor:wait}
.tgi-travel-map{border:1px solid var(--tgi-line,rgba(38,70,83,.14));background:var(--tgi-surface-soft,#f8f6f1);border-radius:14px;overflow:hidden;padding:14px}
.tgi-travel-map p{margin:0 0 12px;font-size:14px;font-weight:650;color:var(--tgi-primary,#264653)}
.tgi-travel-map svg{width:100%;height:auto;display:block;border-radius:8px}
.tgi-travel-map small{display:block;font-size:11px;line-height:1.65;color:var(--tgi-muted,#625d57);margin-top:12px}
.tgi-travel-maps-link{display:inline-block;font-size:13px;font-weight:650;margin-top:14px}
.tgi-travel-help,.tgi-travel-dialog [data-recommendation]{font-size:12px;line-height:1.6;color:var(--tgi-muted,#625d57);margin:12px 0}
.tgi-travel-dialog [data-copy]{margin:10px 0}
.tgi-travel-dialog [data-calculation]{padding:16px;background:var(--tgi-surface-soft,#f8f6f1);margin:16px 0}
.tgi-travel-cost__total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;color:var(--tgi-primary,#264653);font-size:13px}
.tgi-travel-cost__total>strong:last-child{font-size:25px;font-weight:750}
.tgi-travel-cost__total small{font-size:12px;font-weight:500}
.tgi-travel-breakdown{margin:12px 0;font-size:12px}
.tgi-travel-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--tgi-line,rgba(38,70,83,.14))}
.tgi-travel-breakdown dt{color:var(--tgi-muted,#625d57);font-weight:400}
.tgi-travel-breakdown dd{margin:0;text-align:right;font-weight:650;color:var(--tgi-primary,#264653);flex-shrink:0;max-width:55%}
.tgi-travel-payment,.tgi-travel-state{font-size:12px;line-height:1.65;margin:14px 0}
.tgi-travel-state{background:var(--tgi-surface-active,#edf5f6);border-left:3px solid var(--tgi-primary,#264653);border-radius:0 10px 10px 0;padding:12px}
.tgi-travel-legal{border-top:1px solid var(--tgi-line,rgba(38,70,83,.14));padding-top:12px;margin-top:16px;font-size:12px;color:var(--tgi-muted,#625d57);text-align:left}
.tgi-travel-legal summary{cursor:pointer;color:var(--tgi-primary,#264653);font-weight:650}
.tgi-travel-legal p{font-size:12px;line-height:1.65;margin:12px 0}
.tgi-travel-km-label{display:block;color:var(--tgi-primary,#264653);font-weight:700;margin:0 0 8px;font-size:13px}
.tgi-travel-km-label span{font-weight:400}
.tgi-travel-input{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.tgi-travel-input input{width:100%;max-width:190px;border:1px solid var(--tgi-line,rgba(38,70,83,.14))!important;border-radius:10px!important;padding:12px!important;font-family:inherit!important;font-size:23px!important;font-weight:650!important;height:auto!important;background:var(--tgi-surface-soft,#f8f6f1)!important;color:var(--tgi-primary,#264653)!important}
.tgi-travel-dialog #tgi-travel-km-help{font-size:11px;color:var(--tgi-muted,#625d57)}
.tgi-travel-check{display:flex!important;align-items:flex-start;gap:12px;font-size:13px;line-height:1.65;text-align:left;padding:14px 0;color:var(--tgi-text,#2f2b27)}
.tgi-travel-check input{flex:0 0 20px;width:20px!important;height:20px!important;margin:3px 0 0!important;accent-color:var(--tgi-primary,#264653)}
.tgi-travel-feedback{color:var(--tgi-danger,#88453b);font-size:13px}
.tgi-travel-form>footer{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;position:sticky;bottom:0;padding:18px 28px;background:var(--tgi-surface,#fff);border-top:1px solid var(--tgi-line,rgba(38,70,83,.14))}
.tgi-travel-dialog .tgi-travel-primary{background:var(--tgi-primary,#264653);border-color:var(--tgi-primary,#264653);color:#fff}
.tgi-travel-waiting{padding:12px 16px;background:var(--tgi-surface-active,#edf5f6);border-left:3px solid var(--tgi-primary,#264653);border-radius:0 10px 10px 0;color:var(--tgi-primary,#264653);font-size:13px}
.tgi-completion-modal__content>.tgi-travel-check{background:var(--tgi-surface-soft,#f8f6f1);color:var(--tgi-text,#2f2b27);border:1px solid var(--tgi-line,rgba(38,70,83,.14));border-radius:14px;padding:16px 18px;margin:16px 0}
.tgi-completion-modal__content>.tgi-travel-check span{color:var(--tgi-text,#2f2b27)}
.tgi-completion-modal__content>.tgi-travel-consent-help{font-size:13px;line-height:1.6;color:#e1ede8}
.tgi-completion-modal__footer [data-finalize-planning]:disabled{opacity:.5;cursor:not-allowed}
.tgi-travel-team-settings{margin:20px 0;padding:18px;border:1px solid var(--tgi-line,#d3d9dc);border-radius:14px;background:var(--tgi-surface-soft,#f8f6f1);color:var(--tgi-text,#2f2b27)}
.tgi-travel-team-settings label{display:block;margin:10px 0}.tgi-travel-team-settings small{display:block}
/* Keep the required confirmation beside the action, even when map/legal details scroll. */
.tgi-travel-dialog--edit{overflow:hidden;max-height:calc(100dvh - 32px)}
.tgi-travel-dialog--edit .tgi-travel-form{display:flex;flex-direction:column;max-height:calc(100dvh - 34px);min-height:0}
.tgi-travel-dialog--edit .tgi-travel-form>header{flex:none;padding:12px 24px}
.tgi-travel-dialog--edit .tgi-travel-form h2{font-size:24px;margin:6px 0}
.tgi-travel-dialog--edit .tgi-travel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 24px}
.tgi-travel-dialog--edit .tgi-travel-body>.tgi-travel-route{padding:10px 14px}
.tgi-travel-dialog--edit .tgi-travel-detail-grid{gap:20px;margin-top:16px}
.tgi-travel-dialog--edit .tgi-travel-detail-section+section{padding-left:20px}
.tgi-travel-dialog--edit .tgi-travel-detail-section h3{margin-bottom:8px}
.tgi-travel-dialog--edit .tgi-travel-input input{padding:8px 12px!important;font-size:21px!important}
.tgi-travel-dialog--edit .tgi-travel-help{margin:8px 0}
.tgi-travel-dialog--edit [data-recommendation]:empty{display:none}
.tgi-travel-dialog--edit [data-calculation]{padding:12px;margin:12px 0 0}
.tgi-travel-dialog--edit .tgi-travel-calculation{font-size:12px;line-height:1.6;margin:6px 0;color:var(--tgi-muted,#625d57)}
.tgi-travel-dialog--edit .tgi-travel-payment{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--tgi-line,#d3d9dc)}
.tgi-travel-dialog--edit .tgi-travel-legal{margin-top:10px;padding-top:10px}
.tgi-travel-dialog--edit .tgi-travel-form>footer{display:block;position:static;flex:none;padding:12px 24px}
.tgi-travel-dialog--edit .tgi-travel-check{margin:0;padding:10px 12px;font-size:13px;line-height:1.5;background:var(--tgi-surface-active,#edf5f6);border:1px solid var(--tgi-line,#d3d9dc);border-radius:10px}
.tgi-travel-dialog--edit .tgi-travel-check:has([aria-invalid=true]){border-color:var(--tgi-danger,#88453b)}
.tgi-travel-dialog--edit [aria-invalid=true]{outline:2px solid var(--tgi-danger,#88453b);outline-offset:2px}
.tgi-travel-dialog--edit .tgi-travel-feedback{margin:8px 0 0;line-height:1.4}
.tgi-travel-dialog--edit .tgi-travel-feedback:empty{display:none}
.tgi-travel-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:10px}
@media(max-width:640px){
 .tgi-travel-dialog.tgi-travel-dialog--edit{max-height:calc(100dvh - 16px)}
 .tgi-travel-dialog--edit .tgi-travel-form{max-height:calc(100dvh - 18px)}
 .tgi-travel-dialog--edit .tgi-travel-form>header,.tgi-travel-dialog--edit .tgi-travel-body{padding:12px 16px}
 .tgi-travel-dialog--edit .tgi-travel-detail-grid{gap:16px}
 .tgi-travel-dialog--edit .tgi-travel-detail-section+section{order:-1;border-top:0;padding:0}
 .tgi-travel-dialog--edit .tgi-travel-detail-section:first-child{border-top:1px solid var(--tgi-line,#d3d9dc);padding-top:16px}
 .tgi-travel-dialog--edit .tgi-travel-form>footer{padding:10px 12px}
 .tgi-travel-dialog--edit .tgi-travel-check{padding:8px;font-size:12px}
 .tgi-travel-actions button{flex:1;padding:10px}
}
@media(max-width:640px){.tgi-travel-dialog{width:calc(100vw - 16px);max-height:96dvh;border-radius:16px}.tgi-travel-form>header,.tgi-travel-body{padding:18px}.tgi-travel-form h2{font-size:23px}.tgi-travel-detail-grid{grid-template-columns:1fr;gap:22px}.tgi-travel-detail-section+section{border-left:0;padding-left:0;border-top:1px solid var(--tgi-line,#d3d9dc);padding-top:20px}.tgi-travel-form>footer{padding:14px;gap:8px}.tgi-travel-form>footer button{flex:1}.tgi-travel-route{gap:7px}.tgi-travel-price>strong{font-size:24px}}
