.trip-planner { order: -2; border-top: 3px solid #436f4c; }
.trip-planner > .card-head { align-items: flex-start; }
.trip-planner h2 { font-size: 21px; line-height: 1.5; }
.trip-planner .sub { line-height: 1.7; }
.trip-planner #tripForm { display: block; }
.trip-fields { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr auto; gap: 12px; align-items: start; }
.trip-fields label { font-size: 12px; min-width: 0; display: grid; gap: 7px; }
.trip-fields input { height: 43px; min-width: 0; width: 100%; font-size: 13px; }
.trip-fields .trip-destination input { font-weight: 600; letter-spacing: .2px; }
.trip-fields [hidden] { display: none; }
.trip-fields:has(#tripReturnField[hidden]) { grid-template-columns: 1.6fr 1fr 1fr auto; }
.trip-fields .trip-search { margin-top: 24px; height: 43px; padding: 9px 15px; white-space: nowrap; }
.trip-options { display: flex; align-items: flex-start; gap: 12px 24px; flex-wrap: wrap; margin-top: 15px; }
.trip-options label { display: flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 11px; font-weight: 400; }
.trip-options input { accent-color: var(--accent); height: 15px; width: 15px; flex-shrink: 0; margin: 0; }
.trip-options label span { color: var(--muted); font-size: 9px; }
.trip-extra { margin: 15px 0 0; color: var(--muted); font-size: 11px; }
.trip-extra label { margin: 13px 0 6px; display: block; }
.trip-extra input { width: 110px; margin-left: 10px; }
.trip-progress { margin-top: 15px; padding: 12px 14px; background: #f4f8ef; border-radius: 8px; color: #536b48; font-size: 12px; line-height: 1.7; }
.trip-progress.is-running { border-left: 3px solid #80a270; }
.trip-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin-top: 16px; }
.trip-stats[hidden] { display: none; }
.trip-stats > div { padding: 13px 16px; min-width: 0; background: #fcfdfa; }
.trip-stats > div + div { border-left: 1px solid var(--border); }
.trip-stats span, .trip-stats small { display: block; font-size: 10px; color: var(--muted); line-height: 1.7; }
.trip-stats strong { display: block; color: var(--accent); font-size: 26px; margin: 4px 0; font-variant-numeric: tabular-nums; }
.trip-result-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 22px 0 13px; }
.trip-result-tools[hidden] { display: none; }
.trip-result-tools h3 { font-size: 14px; }
.trip-result-tools > div { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; }
.trip-result-tools select { max-width: 160px; font-size: 11px; }
.trip-result-tools .btn { font-size: 11px; padding: 8px 11px; }
.trip-quote-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.trip-quote { padding: 17px; border: 1px solid var(--border); border-radius: 10px; min-width: 0; background: #fff; }
.trip-quote.frontier { border-top: 3px solid #668d57; padding-top: 15px; background: #fdfff9; }
.trip-quote h3 { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 12px; margin: 0 0 10px; }
.trip-quote h3 small { font-size: 9px; color: var(--muted); font-weight: 400; }
.trip-quote .trip-route { font-size: 20px; font-weight: 650; }
.trip-quote .trip-dates { margin-top: 9px; color: var(--ink-2); font-size: 12px; line-height: 1.8; }
.trip-quote .trip-flight-note { color: var(--muted); font-size: 10px; line-height: 1.8; margin-top: 5px; }
.trip-quote .trip-total { font-size: 30px; font-weight: 650; margin-top: 12px; }
.trip-quote .trip-total small { font-size: 10px; color: var(--muted); margin-left: 7px; font-weight: 400; }
.trip-quote .trip-budget-match { font-size: 10px; color: var(--accent); margin-top: 6px; }
.trip-quote .trip-source { color: var(--muted); font-size: 10px; line-height: 1.8; border-top: 1px solid var(--grid); margin-top: 12px; padding-top: 8px; }
.trip-planner details:not(.trip-extra) { margin-top: 18px; border-top: 1px solid var(--grid); padding-top: 15px; }
.trip-planner details:not(.trip-extra) > summary { font-size: 12px; color: var(--ink-2); }
#tripDateCompare { margin: 15px 0; }
#tripDateCompare:empty { display: none; }
#tripDateCompare th, #tripDateCompare td { font-size: 11px; }
#tripDateCompare .base-date td { background: #f5f8ef; }
.trip-history { border-top: 1px solid var(--grid); margin-top: 18px; padding-top: 15px; }
.trip-history h3 { font-size: 11px; margin-bottom: 10px; color: var(--muted); font-weight: 500; }
#tripHistory { display: flex; flex-wrap: wrap; gap: 7px; }
#tripHistory button { border: 1px solid var(--border); background: #fafcf7; color: var(--ink-2); padding: 7px 9px; border-radius: 6px; font-size: 10px; }
.trip-watch-card { border-top: 3px solid #b7a573; }
.trip-watch-open { text-align: left; background: transparent; border: 0; padding: 0; color: inherit; }
.trip-watch-open:hover strong { text-decoration: underline; color: var(--accent); }
.trip-watch-buttons { display: flex; gap: 9px; margin-top: 9px; }
.trip-watch-buttons button { padding: 0; background: transparent; border: 0; color: var(--accent); font-size: 10px; }
.trip-watch-card .assistant-list li { display: block; }
#tripWatchAlerts:empty { display: none; }
#tripWatchAlerts { border-top: 1px solid var(--border); margin-top: 15px; }
.trip-watch-alert { font-size: 11px; padding: 12px 0; line-height: 1.8; }
.trip-watch-alert a { display: inline-block; font-size: 11px; margin-top: 5px; color: var(--accent); }
@media (max-width: 1200px) {
  .trip-fields, .trip-fields:has(#tripReturnField[hidden]) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trip-fields .trip-search { margin-top: 0; grid-column: 1 / -1; }
  .trip-options label { flex-wrap: wrap; }
}
@media (max-width: 680px) {
  .trip-planner h2 { font-size: 18px; }
  .trip-planner > .card-head { flex-direction: column; gap: 12px; }
  .trip-fields, .trip-fields:has(#tripReturnField[hidden]) { gap: 12px 9px; }
  .trip-destination { grid-column: 1 / -1; }
  .trip-fields input { font-size: 14px; padding-left: 9px; }
  .trip-options { gap: 12px; flex-direction: column; }
  .trip-options label { font-size: 12px; }
  .trip-options label span { margin-left: 22px; }
  .trip-quote-grid { grid-template-columns: 1fr; }
  .trip-stats > div { padding: 10px 8px; }
  .trip-stats strong { font-size: 22px; }
  .trip-result-tools > div { width: 100%; }
  .trip-result-tools select { min-width: 0; flex: 1; }
  .trip-result-tools .btn { flex: 1; justify-content: center; }
}

.trip-date-mode{display:flex;align-items:center;gap:20px;margin:0 0 18px;padding:14px 16px;border-radius:12px;background:#f2f6f0}.trip-date-mode label{display:grid;gap:6px;min-width:270px;font-size:12px;font-weight:650}.trip-date-mode span{font-size:12px;color:var(--muted);line-height:1.6}.trip-date-mode select,.trip-flexible-fields select,.trip-flexible-fields input[type=number]{height:40px;padding:8px 10px;border:1px solid #dce3d8;border-radius:8px;background:#fff;font:inherit;color:inherit}
.trip-flexible-fields{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.6fr;gap:14px;margin:16px 0;padding:16px;background:#f7f9f4;border-radius:12px}.trip-flexible-fields>label{display:grid;gap:6px;font-size:12px}.trip-flexible-fields>label>span{color:var(--muted);font-size:11px}.trip-flexible-fields .trip-weekend{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:8px}.trip-weekend span{width:100%;padding-left:24px}.trip-flexible-fields input[type=number]{width:100%}.trip-cancel{float:right;margin:14px 0 0}
#tripDateCompare{max-height:440px;overflow:auto}#tripDateCompare th{position:sticky;top:0;background:#f5f7f2;z-index:1}
@media(max-width:900px){.trip-flexible-fields{grid-template-columns:1fr 1fr}.trip-date-mode{align-items:stretch;flex-direction:column;gap:8px}.trip-date-mode label{min-width:0}}

/* One task per screen keeps discovery, the date map and saved watches easy to find. */
.workspace{max-width:1400px}.intro{padding:30px 0 22px;align-items:center}.intro h1{font-size:34px;line-height:1.35;letter-spacing:-1px}.intro .monitor-stats{display:none}.intro-sub{max-width:none;font-size:14px}.source-strip{display:none}.workspace-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 28px}.workspace-tabs button{text-align:left;border:1px solid var(--border);background:white;border-radius:14px;padding:18px 22px;color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.workspace-tabs button span{display:block;margin-top:6px;font-size:12px;color:var(--muted);font-weight:400}.workspace-tabs button[aria-pressed=true]{border-color:#24634e;background:#eaf2e8;box-shadow:0 0 0 1px #24634e}.workspace-tabs button:hover{border-color:#24634e}
body[data-screen=discover] .origin-nav,body[data-screen=watches] .origin-nav{display:none}body[data-screen=discover] .layout,body[data-screen=map] .layout{display:block}body[data-screen=discover] aside,body[data-screen=map] aside{display:none}body[data-screen=discover] main>section:not(#tripPlanner){display:none!important}body[data-screen=map] #tripPlanner,body[data-screen=map] #assistantBoard,body[data-screen=map] #roundtripCard{display:none!important}body[data-screen=watches] main{display:none}body[data-screen=watches] .layout{display:block}body[data-screen=watches] aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}body[data-screen=watches] aside>.card{margin:0}
.trip-planner{padding:28px}.trip-planner h2{font-size:26px}.trip-planner .section-kicker{font-size:10px}.trip-date-mode{background:transparent;padding:0;margin-bottom:18px}.trip-date-mode label{min-width:320px}.trip-date-mode select{font-size:14px;height:44px}.trip-fields,.trip-fields:has(#tripReturnField[hidden]){grid-template-columns:2fr 1fr 1fr 1fr}.is-flexible .trip-fields{grid-template-columns:2fr 1fr}.trip-fields input{font-size:16px;height:48px}.trip-fields>label{font-size:13px}.trip-search{display:flex;align-items:center;justify-content:center;width:100%;height:50px;font-size:16px;margin-top:20px;border-radius:11px}.trip-extra{margin-top:8px}.trip-options{gap:24px;font-size:13px}.trip-options label{font-size:13px}.trip-flexible-fields{grid-template-columns:1fr .6fr .6fr 1.6fr;background:#f5f7f2}.is-flexible[data-pattern=thu_mon_evening] .trip-flexible-fields{grid-template-columns:1fr 2fr}.trip-flexible-fields select{height:44px;font-size:14px}.destination-presets{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.destination-presets button{border:1px solid #dce3d8;border-radius:999px;background:#fff;padding:8px 15px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer}.destination-presets button:hover,.destination-presets button[aria-pressed=true]{border-color:#24634e;color:#24634e;background:#edf4e9}.trip-progress{font-size:13px;line-height:1.7;margin:20px 0}.trip-stats{margin:20px 0}.trip-result-tools{margin-top:24px}.trip-quote-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.destination-card{padding:20px;border:1px solid #dde5da;border-radius:14px;background:#fff}.destination-title{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.destination-title h3{font-size:19px;margin:0 0 4px}.destination-title span{font-size:11px;color:var(--muted);line-height:1.5;display:block}.destination-title>b{font-size:13px;color:#53675c;background:#f0f4ec;padding:5px 8px;border-radius:6px}.destination-total{font-size:31px;font-weight:700;color:#215b42;margin:18px 0 14px}.destination-total small{font-size:11px;font-weight:400;color:var(--muted);margin-left:9px}.destination-option{padding:12px 0;border-top:1px solid #edf0e9;display:flex;align-items:center;justify-content:space-between;gap:8px}.destination-option>div{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}.destination-option strong{font-size:13px}.destination-option span{font-size:11px;color:#58675c}.destination-option small{grid-column:1/-1;font-size:11px;color:var(--muted)}.destination-book{font-size:12px;font-weight:650;color:#215b42;background:#eef5e9;padding:8px 10px;border-radius:7px;white-space:nowrap}.destination-book:hover{background:#dfeccd}.destination-card-note{font-size:10px;color:var(--muted);padding-top:8px;line-height:1.6}.destination-pending{min-height:69px;color:var(--muted)}#tripDateOptions{margin-top:24px;border:1px solid var(--border);border-radius:12px;padding:14px}#tripDateOptions summary{font-size:14px;font-weight:650;cursor:pointer}#tripDateCompare{margin-top:12px}.trip-history{margin-top:24px}.trip-history button{font-size:12px}
body[data-screen=map] #overview:not([hidden]){display:flex;flex-direction:column}#overview .matrix-heading{order:0;margin-top:0}#overview .matrix-scroll{order:1}#overview #matrixNote{order:2}#overview .overview-head{order:3;margin-top:28px;border-top:1px solid var(--border);padding-top:24px}#overview>.subhead:not(.matrix-heading){order:4}#overview>.date-scroll{order:5}.matrix-heading h3{font-size:22px}.matrix-scroll{max-height:560px}
@media(max-width:1000px){.trip-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-flexible-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.intro h1{font-size:26px}.intro{padding-top:18px}.workspace-tabs{gap:7px;margin:12px 0 20px}.workspace-tabs button{font-size:13px;padding:13px 10px}.workspace-tabs button span{font-size:10px;line-height:1.5}.trip-planner{padding:18px}.trip-planner h2{font-size:22px}.trip-date-mode label{min-width:0;width:100%}.is-flexible .trip-fields{grid-template-columns:1fr}.trip-quote-grid{grid-template-columns:1fr}.is-flexible[data-pattern=thu_mon_evening] .trip-flexible-fields{grid-template-columns:1fr}body[data-screen=watches] aside{grid-template-columns:1fr}.trip-options{gap:12px}.trip-result-tools>div{flex-wrap:wrap}.monitor-progress{padding:14px}.destination-card{padding:18px}}

.trip-core-fields{display:grid;grid-template-columns:1.3fr .8fr 1.7fr;gap:16px;align-items:start}.trip-core-fields>div{display:contents}.trip-core-fields label{display:grid;gap:8px;font-size:13px}.trip-core-fields input,.trip-core-fields select{width:100%;height:48px;border:1px solid #dce3d8;border-radius:9px;padding:9px 12px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}.trip-core-fields .trip-pattern>span,.trip-core-fields .sub{font-size:11px;color:var(--muted);line-height:1.5}.trip-advanced{margin-top:12px;padding:10px 0;border-top:1px solid #edf0e9}.trip-advanced>summary{cursor:pointer;color:#4a6253;font-size:12px;padding:5px 0}.trip-advanced[open]>summary{margin-bottom:18px}.trip-advanced .trip-date-mode{margin-bottom:14px}.trip-search{margin-top:12px}.trip-core-fields:has(#tripFlexibleCore[hidden]){grid-template-columns:1fr}.trip-advanced .destination-presets{margin-bottom:14px}.trip-advanced .trip-options{margin-top:16px}.trip-advanced .trip-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{padding:20px 0 16px}.intro h1{font-size:30px}.workspace-tabs{margin:16px 0 22px}.workspace-tabs button{padding:14px 20px}.monitor-progress{padding:13px 18px;margin-bottom:16px}.trip-planner{padding:24px}.trip-planner>.card-head{margin-bottom:18px}
@media(max-width:900px){.trip-core-fields{grid-template-columns:1fr 1fr}.trip-core-fields .trip-destination{grid-column:1/-1}.trip-core-fields .trip-pattern{grid-column:1/-1}}
@media(max-width:680px){.trip-core-fields{grid-template-columns:1fr}.trip-advanced .trip-fields{grid-template-columns:1fr 1fr}.trip-core-fields select{font-size:13px}.trip-planner{padding:17px}.intro h1{font-size:25px}}

body[data-screen=watches] .origin-nav{display:flex}
