.travel-dialog {width:min(1200px,calc(100vw - 32px));max-width:none;height:min(900px,calc(100dvh - 32px));max-height:none;padding:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:20px;}
.travel-dialog[open] {display:flex;flex-direction:column;}
.travel-dialog::backdrop {background:#0009;backdrop-filter:blur(5px);}
.travel-header {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border);}
.travel-header h2 {margin:5px 0 0;font-size:22px;letter-spacing:-.03em;}
.travel-layout {display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0;flex:1;}
.travel-controls {padding:20px;overflow:auto;border-right:1px solid var(--border);}
.travel-library {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.travel-form {display:flex;flex-direction:column;gap:12px;margin-top:20px;}
.travel-form label {display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;}
.travel-row {display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0;}
.travel-dialog input,.travel-dialog select,.travel-dialog textarea {width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;}
.travel-dialog textarea {resize:vertical;line-height:1.5;}
.travel-dialog :focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
.travel-note,#travel-status {color:var(--muted);font-size:12px;line-height:1.6;}
#travel-status.error,.over-budget dd {color:#ed8585;}
.travel-output {min-width:0;overflow:auto;padding:28px;}
.travel-empty {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;min-height:260px;}
.travel-empty>span {color:var(--accent);font-size:45px;}
.travel-empty h3 {font-size:clamp(24px,3vw,36px);letter-spacing:-.04em;margin:20px 0 12px;}
.travel-empty p {max-width:360px;color:var(--muted);line-height:1.8;font-size:14px;}
.travel-eyebrow {color:var(--accent);font-size:11px;letter-spacing:.05em;}
.travel-plan-heading h3 {font-size:32px;letter-spacing:-.04em;margin:10px 0;}
.travel-plan-heading p {font-size:14px;line-height:1.75;}
.travel-budget {padding:18px 20px;background:var(--hover);border:1px solid var(--border);border-radius:16px;margin:24px 0;}
.travel-dialog h4 {font-size:16px;margin:0 0 12px;}
.travel-budget dl {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;}
.travel-budget dt {font-size:11px;color:var(--muted);}
.travel-budget dd {margin:6px 0 0;font-size:21px;font-weight:600;letter-spacing:-.03em;}
.travel-day {padding:22px 0;border-bottom:1px solid var(--border);}
.travel-day h4 {margin:8px 0;}
.travel-activity {display:grid;grid-template-columns:75px minmax(0,1fr);gap:12px;margin:20px 0;}
.travel-slot {color:var(--muted);font-size:11px;padding-top:3px;}
.travel-activity h5 {font-size:14px;margin:0;}
.travel-activity p,.travel-transit {font-size:13px;line-height:1.7;}
.travel-activity small {display:block;color:var(--muted);font-size:11px;}
.travel-dialog a {display:inline-block;color:var(--accent);font-size:12px;text-decoration:none;margin-top:6px;}
.travel-dialog a:hover {text-decoration:underline;}
.travel-transit {padding:10px 14px;background:var(--hover);border-radius:10px;}
.travel-checklists {display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:28px 0;}
.travel-checklists ul {padding-left:18px;font-size:13px;line-height:1.8;}
.travel-checklists li {margin:6px 0;}
.travel-sources a {display:block;overflow-wrap:anywhere;}
.travel-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;}
.travel-actions a {margin:0;color:var(--text);}
.travel-dialog [hidden] {display:none!important;}
.travel-dialog button:disabled {opacity:.5;}
@media(max-width:760px) {.travel-dialog {width:100vw;height:100dvh;margin:0;border-radius:0;}.travel-header {padding:16px;}.travel-layout {display:block;overflow:auto;}.travel-controls {overflow:visible;border-right:0;border-bottom:1px solid var(--border);padding:16px;}.travel-output {overflow:visible;padding:20px;}.travel-empty {min-height:300px;}.travel-checklists {grid-template-columns:1fr;gap:10px;}.travel-budget dd {font-size:17px;}.travel-activity {grid-template-columns:62px minmax(0,1fr);gap:8px;}}
