:root{--ink:#102c43;--muted:#627382;--paper:#f5f8f8;--line:#d9e4e5;--teal:#0e9384;--teal-soft:#e7f8f4;--blue:#3578dd;--blue-soft:#eaf2ff;--amber:#e79a28;--amber-soft:#fff5dd;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{max-width:1280px;margin:auto;padding:28px 24px 56px}.appbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:13px;font-weight:850;font-size:1.45rem;letter-spacing:-.04em}.brand-mark{width:54px;height:54px;object-fit:contain}.brand small{display:block;font-size:.78rem;letter-spacing:.02em;color:var(--muted);font-weight:600;margin-top:3px}.file-actions{display:flex;gap:9px;align-items:center}.trip-select{min-width:330px;padding:10px 36px 10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-weight:650}.hero{border-radius:22px;padding:29px 30px;background:linear-gradient(125deg,#14324f,#1a6b75 61%,#d8a452 165%);color:white;box-shadow:0 13px 30px rgba(20,50,79,.18);display:flex;align-items:center;justify-content:space-between;gap:22px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;opacity:.78}.hero h1{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.08;margin:7px 0}.hero p{margin:0;opacity:.88}.hero-stats{display:flex;gap:14px;align-items:center}.stat{min-width:76px;text-align:center;color:white}.stat strong{font-size:1.45rem;display:block}.stat span{font-size:.73rem;opacity:.84}.task-stat{border:0;background:transparent;padding:0}.nav{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:24px 0 18px}.nav button{border:0;background:transparent;color:var(--muted);font-weight:750;padding:13px 15px;border-radius:10px 10px 0 0}.nav button.active{color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 -3px var(--teal)}.panel{display:none}.panel.active{display:block}.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:8px 0 20px}.day-card{min-height:112px;border:1px solid var(--line);border-radius:14px;background:var(--white);padding:12px;text-align:left;color:var(--ink);transition:.15s transform,.15s box-shadow}.day-card:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(16,44,67,.12);border-color:#8dbbb6}.day-card.today{background:var(--blue-soft);border-color:#80abeb}.day-card.selected{background:var(--teal-soft);border:2px solid var(--teal);padding:11px}.day-card.today.selected{background:linear-gradient(140deg,var(--blue-soft),var(--teal-soft));border-color:var(--blue)}.day-card .dow{display:block;font-size:.7rem;color:var(--teal);letter-spacing:.1em;font-weight:850}.day-card .num{display:block;font-size:1.5rem;font-weight:850;margin:1px 0}.day-card .count{font-size:.75rem;color:var(--muted)}.day-card .stay{display:block;font-size:.72rem;color:#435666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:8px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:6px 0 12px}.section-head h2{margin:0;font-size:1.3rem}.section-head p,.muted{margin:4px 0 0;color:var(--muted);font-size:.88rem}.day-view,.card{border:1px solid var(--line);background:var(--white);border-radius:17px;padding:18px}.stay-card{background:var(--blue-soft);border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:.9rem}.timeline{display:grid;gap:0}.entry{display:grid;grid-template-columns:132px 1fr auto;gap:15px;padding:14px 0;border-bottom:1px solid #edf1f2}.entry:last-child{border:0}.time{font-weight:800;color:#173f64}.entry h3{font-size:1rem;margin:0 0 3px}.entry p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.drive{font-weight:750;color:#173f64!important;margin-top:4px!important}.badge{display:inline-block;font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;padding:3px 6px;border-radius:5px;margin-left:5px}.badge.confirmed{background:#e3f7ea;color:#147343}.badge.planned{background:var(--blue-soft);color:#2566be}.warning{margin:10px 0;background:var(--amber-soft);border-left:4px solid var(--amber);padding:10px 12px;border-radius:5px;font-size:.9rem}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card h2{font-size:1.1rem;margin:0 0 7px}.card p{color:var(--muted);font-size:.88rem;line-height:1.45}.button{border:0;border-radius:10px;padding:10px 13px;background:var(--teal);color:white;font-weight:800;text-decoration:none;display:inline-block;white-space:nowrap}.button.ghost,.small-button{background:#eff4f4;color:#244653}.button.danger{background:#c44747}.button:disabled{cursor:not-allowed;opacity:.65}.new-trip-button{padding:11px 16px;box-shadow:0 5px 13px rgba(14,147,132,.22)}.small-button{border:1px solid var(--line);border-radius:8px;padding:8px 9px;font-size:.78rem;font-weight:750}.file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f2}.file:last-child{border:0}.file small{display:block;color:var(--muted);margin-top:3px}.file-actions{display:flex;gap:8px;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.form-grid label,.field{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:750}.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:white;color:var(--ink)}textarea{min-height:94px;resize:vertical}.upload-zone{padding:13px;border:1px dashed #9ab9b5;border-radius:12px;background:#f8fcfb}.icon{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:white;color:#244653;font-size:.78rem;font-weight:750;height:max-content}.task{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0}.task p{margin:4px 0 0}.toast{position:fixed;left:24px;bottom:24px;display:none;z-index:30;background:#123551;color:white;border-radius:12px;padding:12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.toast.show{display:block}dialog{border:0;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.25);max-width:680px;width:calc(100% - 28px);padding:0}dialog::backdrop{background:rgba(11,32,46,.35)}.dialog-body{padding:20px}.dialog-body h2{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}footer{text-align:center;color:var(--muted);font-size:.78rem;padding:28px 0 0}@media(max-width:900px){.trip-select{min-width:0}.day-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.shell{padding:18px 14px}.hero,.appbar{align-items:flex-start;display:block}.hero-stats{margin-top:18px}.trip-select{margin-top:14px;width:100%}.day-grid{grid-template-columns:repeat(4,1fr)}.quick-grid,.form-grid{grid-template-columns:1fr}.entry{grid-template-columns:1fr;gap:4px}.file-actions{width:100%;margin-top:12px;flex-wrap:wrap}.appbar .file-actions{width:100%;margin-top:12px}.new-trip-button{padding:10px 12px}}@media(max-width:520px){.day-grid{grid-template-columns:repeat(3,1fr)}.nav{overflow:auto}.entry{padding:12px 0}.toast{left:14px;bottom:16px;max-width:calc(100vw - 28px)}}
.history-list{display:grid;gap:10px}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--white)}.history-entry.is-reversed{opacity:.7;background:#f2f5f5}.history-entry-main{min-width:0}.history-entry-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.history-entry-head strong{font-size:1rem}.history-meta,.history-reversed{margin:5px 0 0;color:var(--muted);font-size:.79rem}.history-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9eeef;color:#526676;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.history-badge.can-undo{background:var(--teal-soft);color:var(--teal)}.history-empty{padding:30px;text-align:center;border:1px dashed #b8c9cb;border-radius:16px;color:var(--muted)}.history-empty strong{display:block;color:var(--ink);font-size:1.05rem}.history-empty p{margin:6px 0 0}@media(max-width:640px){.history-entry{align-items:flex-start;padding:14px}.history-entry>.button{flex:0 0 auto}.history-meta{line-height:1.45}}
.weather-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid #cfe1df;border-radius:16px;background:#eef8f6;color:#19364a}.weather-strip>div{display:grid;gap:.15rem}.weather-strip span{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#367e74}.weather-strip strong{font-size:1rem}.weather-strip small{color:#5d7180}.weather-strip .weather-advice{margin-top:.18rem;line-height:1.35;color:#405b69}.weather-strip.weather-disruptive{border-color:#e4b550;background:#fff8e6}.weather-unavailable{background:#f6f8f8;color:#61727e}.weather-loading strong,.weather-unavailable strong{font-size:.9rem;font-weight:600}.weather-road{margin:.5rem 0 .7rem;padding:.65rem .8rem;border-radius:14px}.weather-attention{display:flex;align-items:center;justify-content:space-between;gap:1rem}.weather-attention-copy{display:flex;align-items:flex-start;gap:.7rem}.weather-attention-copy>div{display:grid;gap:.12rem}.weather-attention-heading{font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#94691f}.weather-attention-copy p{margin:.1rem 0 0}.weather-alert-icon{color:#d28a16;font-size:.82rem;line-height:1.55}
@media(max-width:700px){.weather-strip{align-items:flex-start;margin:.7rem 0;padding:.72rem .8rem}.weather-strip>div{min-width:0}.weather-strip strong{font-size:.92rem}.weather-strip small{font-size:.77rem}.weather-road{margin:.35rem 0 .5rem}.weather-attention{align-items:flex-start}.weather-attention .small-button{flex:0 0 auto}}
.weather-strip strong{display:flex;align-items:center}.weather-strip .weather-icon{display:inline-flex;align-items:center;margin-right:.35rem;font-size:1.1em;line-height:1}
/* Small, immediate feedback keeps manual edits safe without adding another screen. */
.timing-hint{margin:8px 0 0;font-size:.82rem;line-height:1.35}.timing-hint.is-clear{color:#167567}.timing-hint.is-warning{padding:9px 10px;border-left:3px solid #d4962f;border-radius:7px;background:#fff6de;color:#6f551f}.search-dialog-body{width:min(680px,100%)}.search-results{display:grid;gap:8px;max-height:min(55vh,520px);overflow:auto;margin-top:14px;padding-right:3px}.search-result{display:grid;gap:3px;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}.search-result:hover{border-color:#82bcb5;background:#f7fcfb}.search-result span{font-size:.69rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}.search-result strong{font-size:.94rem}.search-result small{color:var(--muted);font-size:.78rem}@media(max-width:640px){.search-dialog-body{padding:16px}.search-results{max-height:55vh}.timing-hint{font-size:.77rem}}
[hidden]{display:none!important}.empty-trips{padding:clamp(26px,7vw,82px) 0}.empty-trips-card{width:min(720px,100%);margin:auto;padding:clamp(26px,5vw,48px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#fff,#f4fbf9);box-shadow:0 18px 45px rgba(16,44,67,.12)}.empty-trips-card .eyebrow{color:var(--teal)}.empty-trips-card h1{margin:10px 0 8px;font-size:clamp(1.8rem,4vw,2.15rem)}.empty-trips-card>p{max-width:620px;line-height:1.55}.empty-trips-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 18px}.ai-fab[hidden]{display:none!important}@media(min-width:760px){.empty-trips-card h1{white-space:nowrap}}@media(max-width:600px){.empty-trips{padding:28px 0}.empty-trips-actions{display:grid}.empty-trips-actions .button{width:100%;text-align:center}}
.starter-ready-dialog{max-width:540px}.starter-ready-body{padding:clamp(28px,6vw,48px);text-align:center;background:linear-gradient(145deg,#fff,#edf9f6)}.starter-ready-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;background:var(--teal);color:#fff;font-size:1.65rem;box-shadow:0 10px 24px rgba(14,147,132,.25)}.starter-ready-body .eyebrow{margin:0;color:var(--teal)}.starter-ready-body h2{margin:9px 0 14px;font-size:clamp(1.6rem,5vw,2.15rem);line-height:1.12}.starter-ready-body p:not(.eyebrow){margin:10px auto;color:#405866;line-height:1.55}.starter-ready-body strong{color:var(--ink)}.starter-ready-go{width:100%;margin-top:18px;padding:13px 20px;font-size:1.05rem}
.ai-action{display:inline-flex!important;align-items:center;justify-content:center;gap:.45em}.ai-action-mark{display:inline-block;flex:0 0 auto;line-height:1;font-size:1.05em}
.admin-ai-card{grid-column:1/-1}.ai-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.ai-metric-grid>div{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8fbfb}.ai-metric-grid span{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ai-metric-grid strong{font-size:1.45rem}.ai-metric-grid small{color:var(--muted);line-height:1.35}.ai-metric-details summary{cursor:pointer;color:var(--teal);font-weight:800}.ai-token-line{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.ai-token-line span{padding:6px 9px;border-radius:999px;background:var(--teal-soft);color:#26685f;font-size:.75rem;font-weight:750}.ai-metric-table-wrap{overflow-x:auto}.ai-metric-table{width:100%;border-collapse:collapse;font-size:.8rem}.ai-metric-table th,.ai-metric-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.ai-settings-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;margin:16px 0}.ai-settings-form label{display:grid;gap:5px;color:var(--muted);font-size:.75rem;font-weight:750}@media(max-width:800px){.ai-metric-grid{grid-template-columns:1fr 1fr}.ai-settings-form{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ai-metric-grid,.ai-settings-form{grid-template-columns:1fr}}
/* Secondary plan actions live inside Edit so itinerary rows stay calm. */
.edit-plan-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfb}.edit-plan-tools>span{color:var(--muted);font-size:.78rem;font-weight:750}.edit-plan-tools>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}@media(max-width:520px){.edit-plan-tools{align-items:flex-start;flex-direction:column}.edit-plan-tools>div{justify-content:flex-start}}

/* Give long itinerary notes breathing room before the row controls. */
.entry{grid-template-columns:132px minmax(0,1fr) 104px;column-gap:24px}
.entry>div:nth-child(2){min-width:0;padding-right:8px}
.entry-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;min-width:0}
@media(max-width:800px){.entry{grid-template-columns:1fr;column-gap:0}.entry>div:nth-child(2){padding-right:0}.entry-actions{justify-content:flex-start;margin-top:8px}}
.participant-label{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;background:#e8f5f2;color:#296e66;font-size:.72rem;font-weight:800;vertical-align:middle}
.trip-setup-details{margin-top:.75rem;border:1px solid var(--line,#d8e2e4);border-radius:12px;background:#f8fbfb}.trip-setup-details>summary{display:flex;align-items:center;padding:.8rem 1rem;cursor:pointer;list-style:none}.trip-setup-details>summary::-webkit-details-marker{display:none}.trip-setup-details>summary:after{content:'+';margin-left:auto;color:var(--teal);font-size:1.2rem;font-weight:850}.trip-setup-details[open]>summary:after{content:'−'}.trip-setup-details>summary span{display:grid;gap:.1rem}.trip-setup-details>summary small{color:var(--muted);font-weight:500}.trip-setup-details>.muted{margin:0;padding:0 1rem .25rem}.companion-entry{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.6rem;padding:0 1rem 1rem}.companion-entry label{display:grid;gap:.3rem;color:var(--muted);font-size:.78rem;font-weight:750}.trip-cost-handler-list{padding:0 1rem .5rem}.trip-cost-handler-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid var(--line,#d8e2e4)}.trip-cost-handler-row span{display:grid}.trip-cost-handler-row small{color:var(--muted)}.trip-cost-handler-row select{width:min(18rem,48%)}.traveller-check{display:grid;place-items:center;width:17px;height:17px;border-radius:3px;background:var(--teal);color:#fff;font-size:.75rem;font-weight:900}
@media(max-width:700px){.companion-entry{grid-template-columns:1fr;padding:.1rem .8rem .8rem}.companion-entry .button{width:100%}.trip-cost-handler-row{align-items:stretch;flex-direction:column}.trip-cost-handler-row select{width:100%}}
.plan-audience{margin:1rem 0;border:1px solid var(--line,#d8e2e4);border-radius:14px;background:#f8fbfb;overflow:hidden}.plan-audience summary{display:flex;align-items:center;gap:10px;padding:.85rem 1rem;font-weight:800;cursor:pointer;list-style:none}.plan-audience summary::-webkit-details-marker{display:none}.plan-audience summary:after{content:'+';margin-left:auto;color:var(--teal);font-size:1.15rem;font-weight:900}.plan-audience[open] summary{border-bottom:1px solid var(--line,#d8e2e4);background:#fff}.plan-audience[open] summary:after{content:'−'}.plan-audience>label{display:inline-flex;align-items:center;gap:.65rem;width:calc(50% - 1.35rem);min-height:48px;margin:.85rem 0 .65rem 1rem;padding:.7rem .85rem;border:1px solid var(--line,#d8e2e4);border-radius:11px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}.plan-audience>label:nth-of-type(2){margin-left:.6rem}.plan-audience>label:has(input:checked){border-color:#79b8b0;background:var(--teal-soft);box-shadow:inset 0 0 0 1px #79b8b0}.plan-audience input[type=radio],.participant-choices input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--teal)}.participant-choices{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem .7rem}.participant-choices label{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:.55rem .7rem;border:1px solid var(--line,#d8e2e4);border-radius:999px;background:#fff;cursor:pointer}.participant-choices label:has(input:checked){border-color:#79b8b0;background:var(--teal-soft)}.plan-audience>.muted{margin:0;padding:0 1rem .9rem;line-height:1.4}@media(max-width:560px){.plan-audience>label{display:flex;width:auto;margin:.7rem 1rem 0}.plan-audience>label:nth-of-type(2){margin-left:1rem}.participant-choices{padding-top:.7rem}}
.ai-sample-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#f7fbfa}.ai-sample-panel p{margin:4px 0 0;color:var(--muted)}.ai-sample-progress,.ai-sample-complete{margin:14px 0;padding:12px 14px;border-radius:14px;background:#edf7f4;color:var(--ink)}.ai-metric-table small{display:block;color:var(--muted);font-size:.78em;font-weight:500}@media(max-width:720px){.ai-sample-panel{align-items:stretch;flex-direction:column}.ai-sample-panel .button{width:100%}}
