:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#263e35;background:#f6f5ef;font-synthesis:none;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:8px;padding:10px 14px;color:inherit;background:transparent;font-size:14px;font-weight:600}button:hover{background:#e8ede2}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus{outline:3px solid #adc2a1;outline-offset:2px}.primary{background:#284f3e;color:white}.primary:hover{background:#193d2b}.secondary{border-color:#d6ded0;background:#fafbf7}.dashed{border:1px dashed #acbda4}.wide{width:100%;text-align:left}.muted{color:#718074;font-size:14px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:650;color:#70816c}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:#edf0e7;padding:30px 22px;border-right:1px solid #dce1d3;display:flex;flex-direction:column;gap:9px}.brand{font-size:32px;font-weight:750;letter-spacing:-1px;text-decoration:none;color:inherit;margin-bottom:30px}.brand span{color:#6b865a;margin-right:5px}.sidebar .eyebrow{margin:0}.sidebar h1{font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.3;margin:4px 0}.sidebar #trip-meta{margin:0 0 10px}.country-label{margin:25px 10px 8px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#78856c}.city-link{width:100%;text-align:left;margin:4px 0;padding:13px 12px;font-size:14px}.city-link small{display:block;font-size:12px;font-weight:400;color:#77816d}.city-link.active{background:#fff;box-shadow:0 2px 6px #203d3708;border-color:#dde3d4}.side-bottom{margin-top:auto;padding-top:30px;display:grid;gap:8px}.save-state{font-size:12px;color:#6f7d65;margin:9px 2px}#main{padding:38px 34px;min-width:0;max-width:1640px;width:100%;margin:auto}#city-header{margin-bottom:23px}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.heading-row h1{font:400 37px/1.2 Georgia,serif;letter-spacing:-.8px;margin:10px 0 13px}.city-description{display:flex;gap:12px;flex-wrap:wrap;color:#6a7a6d;font-size:14px}.pill{display:inline-block;border:1px solid #dbe2d3;background:#eff3e7;padding:4px 10px;border-radius:30px;font-size:12px;color:#5e7353}.city-description .pill{font-size:13px}#tabs{display:flex;gap:18px;border-bottom:1px solid #dce2d5;margin-bottom:26px;overflow-x:auto;white-space:nowrap}#tabs button{border-radius:0;padding:12px 2px;border-bottom:2px solid transparent;color:#71816f}#tabs button.active{border-bottom-color:#355a43;color:#294d36}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:25px;align-items:start}#content{min-width:0}.card,#agent{border:1px solid #dde3d6;background:#fff;border-radius:13px;padding:22px;margin-bottom:17px}.card h2{font:400 24px/1.3 Georgia,serif;margin:0 0 12px}.card h3{font-size:17px;margin:0 0 8px}.card p{font-size:15px;margin:10px 0}.card .muted{font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading h2{font:400 25px Georgia,serif;margin:0}.note{white-space:pre-wrap;overflow-wrap:anywhere}.subtle{background:#f0f3e9;border:1px solid #dfe6d5}.empty{padding:32px 23px;text-align:center;color:#6d7d6b}.empty h3{color:#354e3c;font:400 23px Georgia,serif}.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 0}.stat-row span{font-size:13px;border-top:1px solid #dde3d4;padding-top:10px;flex:1;min-width:100px}.stat-row strong{display:block;font:400 27px Georgia,serif;color:#294735}.item-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.item-meta{font-size:13px;color:#73806e;margin:7px 0}.item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #eef0e8;padding-top:14px;margin-top:17px}.item-actions select{font-size:13px;padding:8px;border-radius:7px;border:1px solid #d3dccb;background:#f8faf4;max-width:180px}.item-actions button{font-size:13px;padding:7px 10px}.item a,.report a{color:#386a46;text-underline-offset:3px;overflow-wrap:anywhere}.selected{border-color:#8fa981;background:#fcfef8}.attention{background:#fbf5e5;border:1px solid #e7dbb8;color:#796334;border-radius:9px;padding:12px 15px;margin:12px 0;font-size:14px}.attention button{text-align:left;width:100%;padding:0;font-weight:400}.agent-heading{display:flex;gap:12px;align-items:center}.agent-heading h2{font-size:17px;margin:0}.agent-heading p{font-size:12px;margin:3px 0}.spark{font-size:31px;color:#7e965f}#agent{padding:22px;background:#fcfdf9}.context-line{font-size:12px;color:#758167;border-top:1px solid #e3e8da;padding-top:15px;margin-top:18px}label{display:block;font-weight:600;font-size:14px;margin:15px 0 7px}input,select,textarea{width:100%;background:#fff;border:1px solid #ced8c6;border-radius:7px;padding:11px 12px;color:#2e4836;min-width:0}textarea{resize:vertical;min-height:90px}#research-form button{margin-top:12px}#research-status{margin:18px 0;padding:14px;background:#eaf0e1;border-radius:8px;font-size:14px}#research-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#73915b;margin-right:8px;animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.25}}.report{margin-top:22px;border-top:1px solid #dfe5d7;padding-top:17px;font-size:14px;overflow-wrap:anywhere}.report summary{cursor:pointer;font-size:15px;font-weight:600}.report .answer{font-size:15px;line-height:1.75}.answer h2{font-size:19px;margin:22px 0 9px}.answer h3{font-size:17px}.answer ul,.answer ol{padding-left:22px}.report small{font-size:12px;color:#7b8772}.report-actions{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.report-actions button{font-size:12px}.source-links{font-size:12px;line-height:1.8}.source-links a{display:block}.context-note{font-size:12px;color:#76836d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}dialog{width:min(680px,calc(100vw - 32px));max-height:90vh;border:1px solid #d5dfcc;border-radius:16px;background:#fcfdf9;color:#2f4938;padding:25px;box-shadow:0 24px 100px #18342033}dialog::backdrop{background:#20392d65}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top h2{font:400 27px Georgia,serif;margin:0}.icon-button{font-size:26px;padding:0 10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:22px}.person-row{border:1px solid #dce3d3;padding:12px;border-radius:8px;margin-top:12px}.check-label{display:flex;align-items:center;gap:10px;margin:0}.check-label input{width:auto}.person-row small{display:block;color:#798570;font-size:12px;margin:7px 0}.person-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.person-dates label{font-size:12px}.person-dates input{padding:7px;font-size:13px}#error,#editor-error{background:#ffefe7;border:1px solid #e8cbb8;color:#8b432d;padding:13px;border-radius:8px;margin-bottom:18px;font-size:14px}.itinerary-editor{min-height:360px;line-height:1.7}.button-row{display:flex;gap:8px;flex-wrap:wrap}.grand-total{font:400 34px Georgia,serif}.light-link{color:#3d6644;text-decoration:underline;padding:0;font-size:14px}.city-badge{font-size:12px;color:#6b805d;margin-bottom:8px}.booking-group{margin-top:22px}[hidden]{display:none!important}@media(min-width:1500px){.workspace-grid{grid-template-columns:minmax(0,1fr) 410px}#main{padding:45px}}@media(max-width:1180px){.shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:25px 16px}#main{padding:30px 24px}.workspace-grid{grid-template-columns:1fr}#agent{max-width:none}}@media(max-width:700px){.shell{display:block}.sidebar{padding:20px;border-right:0;border-bottom:1px solid #d8dfd0}.brand{margin-bottom:8px}.sidebar h1{font-size:23px}.sidebar #cities{display:flex;gap:8px;overflow-x:auto}.country-label{display:none}.city-link{width:auto;min-width:165px}.sidebar .side-bottom{padding:0;margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.side-bottom button{width:auto}.save-state{width:100%}.sidebar>.eyebrow{display:none}#main{padding:24px 17px}.heading-row h1{font-size:31px}.heading-row{align-items:start}.heading-row>button{white-space:nowrap;padding:8px}.card,#agent{padding:19px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}#tabs{gap:18px}.person-dates{grid-template-columns:1fr}.item-top{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){#research-status:before{animation:none}}


.workspace-grid:has(#agent[hidden]){grid-template-columns:1fr}.answer a{color:#386a46;text-underline-offset:3px;overflow-wrap:anywhere}

@media(min-width:701px){.sidebar{position:sticky;top:0;height:100dvh;overflow-y:auto}}

#map-canvas{height:340px;border-radius:10px;background:#eef1e8}.map-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.map-filters button[aria-pressed=true]{background:#284f3e;color:white}#map-message{font-size:14px;color:#6a785e;margin-bottom:12px}.map-legend{font-size:12px;color:#6a785e;padding:12px 0}.map-list summary{cursor:pointer;font-size:14px}#map-places{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px;margin-top:12px}.map-place-row{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #e1e6d9;font-weight:400}.pin-key{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;color:white;font-size:12px}.roam-pin{display:grid;place-items:center;width:34px;height:34px;border:2px solid white;border-radius:50% 50% 50% 4px;box-shadow:0 2px 5px #0005;color:white;font:bold 16px Arial}.hotel-selected{width:44px;height:44px;outline:3px solid #d5b657;font-size:23px}.map-card-content{padding:12px;max-width:350px;font:14px/1.5 Segoe UI,Arial,sans-serif}.map-card-content h3{font-size:18px;margin:0 0 8px}.map-card-content small{display:block;color:#76836d}.map-card-content a{display:block;color:#386a46;margin:12px 0}.map-card-content button{margin-top:6px}#map-place-card{border:1px solid #dce2d4;border-radius:10px;margin:10px 0}#map-count{margin:6px 0 0}@media(max-width:700px){#map-canvas{height:260px}.map-legend{line-height:1.8}#city-map .section-heading{align-items:start}#map-places{grid-template-columns:1fr}}

.backup-link{display:block;padding:10px 14px;border:1px solid #d6ded0;border-radius:8px;color:#35543e;text-decoration:none;font-size:14px;margin-top:8px}.backup-link:hover{background:#e8ede2}

[hidden]{display:none!important}.lookup-choice{display:block;width:100%;text-align:left;margin:6px 0;white-space:normal}#lookup-status{font-size:.88rem}#public-place-info:empty{display:none}

#undo-delete{display:flex;align-items:center;gap:12px}#dismiss-undo{margin-left:auto}.finance-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.finance-figures span,.finance-figures strong,.finance-figures small{display:block}.finance-figures span,.finance-figures small{font-size:.8rem;color:var(--muted)}#price-payment{border-top:1px solid #ddd;padding-top:16px;margin-top:16px}#price-payment summary{cursor:pointer}#price-payment .form-grid{margin-top:16px}@media(max-width:600px){.finance-figures{grid-template-columns:1fr;gap:10px}}

.traveler-grid{display:flex;flex-wrap:wrap;gap:22px}.traveler-tile{display:grid;justify-items:center;gap:7px}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.initials{display:grid;place-items:center;background:#e5e9df;color:#345c48;font-weight:600}.stay-warning{background:#f8f3e5;border-radius:8px;padding:12px;margin-top:12px;color:#746039}.stay-warning summary{cursor:pointer}

.stay-photo{margin:0 0 20px}.stay-photo img{display:block;width:100%;height:230px;object-fit:cover;border-radius:12px}.stay-photo figcaption{font-size:.72rem;color:#6d746b;margin-top:6px}#photo-editor{margin:16px 0}#photo-editor summary{cursor:pointer}.photo-form-preview{margin:12px 0;min-height:34px}.photo-form-preview img{display:block;width:min(260px,100%);height:150px;object-fit:cover;border-radius:9px;border:1px solid #dce2d5}@media(max-width:600px){.stay-photo img{height:180px}}

.stay-warning.info{background:#eef2ed;color:#52634f}.stay-warning.action,.action-card{border:2px solid #b28539;background:#fff7e6}.stay-warning.urgent,.action-card.urgent{border:2px solid #ad6631;background:#fff0dc}.stay-warning.past_due,.action-card.past_due{border:2px solid #a75043;background:#fceeea}.action-card h3{font-size:1.15rem}.section-fields:empty{display:none}
.journey-leg{font-size:.82rem;padding:10px 14px;border-left:1px solid #cbd3c5;margin-left:12px;width:calc(100% - 12px);opacity:.85}.journey-leg small{font-size:.72rem}

/* Journey connections stay secondary to the destination stops. */
.journey-leg{display:flex;gap:8px;align-items:flex-start;background:#e4ece8;color:#506d68;border-left:2px solid #9aafa8;margin:4px 0 4px 10px;padding:8px 10px;width:calc(100% - 10px);font-size:12px;font-weight:500;opacity:1}
.journey-leg small{font-size:11px;color:#6d7e77}.transport-icon{width:18px;height:18px;flex-shrink:0;margin-top:2px}.journey-home{padding:10px 12px;font-size:13px;color:#687b6a}.journey-home small{display:block;font-size:10px;letter-spacing:1.5px}.journey-add{display:block;font-size:10px;color:#728578;padding:4px 12px;font-weight:400}
@media(max-width:700px){.sidebar #cities{display:block;max-height:320px;overflow:auto}.journey-leg{min-width:0}.journey-home{padding:6px 12px}}

@media(max-width:700px){.sidebar #cities>.city-link:not(.journey-leg){width:100%;font-size:14px}}

#trip-selector{font-size:13px;background:#fafbf7;margin:0}#new-trip{font-size:12px;text-align:left;margin-bottom:8px}

.destination-notes{min-height:320px;max-height:70vh;resize:vertical;line-height:1.65;background:#fff}.notes-actions{display:flex;align-items:center;gap:14px;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.recommendations{display:grid;gap:8px;margin:14px 0}.recommendation{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9df;padding:7px 0;font-size:13px}.recommendation button{font-size:12px;padding:6px 9px}.shared-ticket{margin:16px 0}.shared-ticket .check-label{margin:8px 0}

/* Pasted-text import keeps the existing calm card and form vocabulary. */
#import-dialog{width:min(880px,94vw);max-height:90dvh;overflow:auto}
#import-text{width:100%;box-sizing:border-box;resize:vertical;min-height:210px}
#import-preview .import-item{margin:18px 0;padding:20px}
.import-include{display:flex;align-items:center;gap:10px;font-weight:600}
.import-include input{width:auto;accent-color:var(--green,#34584b)}
#import-preview details{margin-top:16px}
#import-preview summary{cursor:pointer;padding:8px 0}
.import-warning{font-size:.86rem;color:#80612e;line-height:1.5}
.import-source{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.85rem;background:#f7f5ef;padding:12px;border-radius:8px}
#import-progress{margin:14px 0;color:#446457}
#import-error{color:#9d352b}
#import-preview .full{grid-column:1/-1}
#import-dialog .dialog-actions{position:sticky;bottom:0;background:#fffdf8;padding:15px 0;margin-top:12px}
@media(max-width:600px){#import-dialog{padding:16px}#import-preview .form-grid{grid-template-columns:1fr}#import-preview .import-item{padding:14px}#import-dialog .dialog-actions{flex-wrap:wrap}}

/* Compact journey summaries; full details stay in the editor. */
.city-link.journey-leg{padding:8px 10px;font-size:13px;line-height:1.35}
.city-link.journey-leg>span{font-weight:650;min-width:0;overflow-wrap:anywhere}
#research-panel{grid-column:1 / -1;min-width:0;width:100%;scroll-margin-top:20px}
#research-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-weight:650;list-style:none}
#research-panel>summary::-webkit-details-marker{display:none}
#research-toggle{font-size:13px;color:#587050;white-space:nowrap}
#research-panel .answer{max-width:none;overflow-x:auto}
@media(max-width:600px){#research-panel>summary{align-items:start;flex-wrap:wrap;gap:8px}}
/* The calendar uses the full workspace; compact day summaries, no hourly grid. */
.workspace-grid:has(.calendar-view){grid-template-columns:minmax(0,1fr)}
.calendar-toolbar,.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:stretch}
.calendar-day{background:#fffefa;border:1px solid #e4e7dc;border-radius:12px;padding:14px 10px;min-width:0}
.calendar-day[aria-current=date]{border-color:#648575;box-shadow:inset 0 3px #648575}
.calendar-day header>small{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#6c766e}
.calendar-day h2{font-family:inherit;font-size:19px;margin:5px 0 12px}
.calendar-location{font-weight:650;font-size:13px;min-height:42px;overflow-wrap:anywhere}
.calendar-location button{text-align:left;font-weight:650}
.calendar-entry{border-top:1px solid #edf0e8;margin-top:12px;padding-top:12px;font-size:13px;overflow-wrap:anywhere}
.calendar-item-name{font-weight:600;line-height:1.4}
.calendar-item-name .transport-icon{width:16px;height:16px;vertical-align:middle;margin-right:5px}
.calendar-transport{color:#486b70}
.calendar-time{display:block;white-space:pre-line;margin-top:5px;line-height:1.5}
.calendar-plan-status{display:block;color:#7b796d;font-size:11px;margin-top:4px}
.calendar-details{display:block;font-size:11px;margin-top:5px;color:#7b8278;padding:3px 0}
.calendar-details:hover,.calendar-details:focus-visible{color:#244f3c;text-decoration:underline}
.calendar-empty{font-size:12px;color:#81867e;margin-top:20px}
.calendar-navigation button:disabled{opacity:.35;cursor:default}
@media(max-width:1100px){.calendar-days{grid-template-columns:repeat(7, minmax(190px,1fr));overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px}.calendar-day{scroll-snap-align:start}.calendar-expanded{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));overflow:visible}}
@media(max-width:600px){.calendar-days:not(.calendar-expanded){grid-template-columns:repeat(7, minmax(240px,78vw))}.calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.calendar-expanded{grid-template-columns:1fr}}
.workspace-grid:has(.packing-view){grid-template-columns:minmax(0,1fr)}
.packing-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.packing-toolbar>div{margin-right:auto}.packing-toolbar progress{display:block;height:5px;margin-top:10px;accent-color:#426851;width:180px}
.packing-filters{display:flex;gap:16px;margin:20px 0}.packing-filters label{flex:1;max-width:240px}
.packing-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.packing-person{min-width:0}.packing-person h2{font-size:23px}
.packing-category{font-family:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#737e70;margin:24px 0 6px}
.packing-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf0e8;padding:5px 0}.packing-check{display:flex;align-items:center;gap:12px;flex:1;min-height:44px;margin:0;min-width:0;cursor:pointer}.packing-check input{width:21px;height:21px;flex-shrink:0;accent-color:#426851;margin:0}.packing-check span{font-size:14px;overflow-wrap:anywhere}.packing-check small{display:block;color:#798073;font-size:12px;font-weight:400;margin:4px 0;white-space:pre-line}.packing-check .is-packed{color:#7b8278;text-decoration:line-through}.packing-row>button{font-size:12px;min-height:44px}.packing-person>.light-link{margin-top:15px}
#packing-preview-dialog{max-width:740px}#packing-preview-error{color:#a0372d}
@media(max-width:600px){.packing-groups{grid-template-columns:minmax(0,1fr)}.packing-person{padding:16px}.packing-toolbar>div{width:100%}.packing-toolbar button{flex:1}.packing-row{gap:8px}.packing-filters{gap:10px}}
/* Reusable semantic item tones. Neutral day containers remain unchanged. */
:root{--category-stay-bg:#edf3f8;--category-stay-edge:#b5ccdf;--category-transport-bg:#f2eef7;--category-transport-edge:#c7b9d9;--category-food-bg:#fbf0e7;--category-food-edge:#e3c2a5;--category-activity-bg:#eef4e9;--category-activity-edge:#bfd0ac;--category-other-bg:#f6f3e7;--category-other-edge:#d8cea6}
.category-stay{--category-bg:var(--category-stay-bg);--category-edge:var(--category-stay-edge)}
.category-transport{--category-bg:var(--category-transport-bg);--category-edge:var(--category-transport-edge)}
.category-food{--category-bg:var(--category-food-bg);--category-edge:var(--category-food-edge)}
.category-activity{--category-bg:var(--category-activity-bg);--category-edge:var(--category-activity-edge)}
.category-other{--category-bg:var(--category-other-bg);--category-edge:var(--category-other-edge)}
.category-tone{background:var(--category-bg);border-inline-start:3px solid var(--category-edge);color:#293f36}
.calendar-entry.category-tone{border-top:0;border-radius:6px;padding:9px 7px;margin-top:10px}
.calendar-category-label{display:block;font-size:10px;font-weight:600;letter-spacing:.04em;margin-bottom:5px;color:#536157}
.calendar-entry .calendar-details,.calendar-entry .calendar-plan-status{color:#536157}
.calendar-days:not(.calendar-expanded){display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/7);overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:12px;position:relative}
.calendar-days .calendar-day{scroll-snap-align:start}
.calendar-days.calendar-expanded{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}
.calendar-navigation{margin-top:6px}.calendar-navigation button{font-size:26px;min-width:44px;min-height:44px;text-decoration:none}
@media(max-width:1200px){.calendar-days:not(.calendar-expanded){grid-auto-columns:clamp(180px,25%,240px)}.calendar-days.calendar-expanded{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
@media(max-width:700px){.calendar-days:not(.calendar-expanded){grid-auto-columns:clamp(240px,72vw,320px)}.calendar-days.calendar-expanded{grid-template-columns:1fr}}

@media(max-width:700px){#city-header{scroll-margin-top:12px}}
.auth-loading .shell{visibility:hidden}.auth-loading #account-dialog{display:none}.login-wrap{max-width:410px;margin:10vh auto;padding:28px}.login-wrap h1{font:400 30px Georgia,serif}.login-remember{margin:22px 0}.login-remember input{width:20px;height:20px;margin-right:10px}#login-error{color:#8b432d}.account-menu summary{cursor:pointer;font-size:14px;font-weight:600}.account-menu button{display:block;margin:10px 0}#account-dialog form{margin-bottom:22px}#account-dialog form>button{margin-top:15px}

#delete-destination {color:#9a443d;margin-right:auto;}

/* Night conflicts retain the blue Stay card and existing scroll layout. */
.calendar-stay-warning{display:flex;align-items:flex-start;gap:5px;margin-top:10px;padding:7px;border-radius:6px;background:#fff0ee;color:#a32d29;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.calendar-conflict-icon{width:15px;height:15px;flex:0 0 15px;vertical-align:middle}
.calendar-conflict-mark{color:#a32d29;margin-left:4px}
.calendar-entry.calendar-stay-conflict{box-shadow:inset 2px 0 #b74b45}

.calendar-entry .calendar-plan-status{display:table;max-width:100%;padding:2px 5px;border-radius:4px;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.02em;margin-top:5px;overflow-wrap:anywhere}
.calendar-entry .planning-idea{color:#68726b;background:#ffffff70}
.calendar-entry .planning-planned{color:#344f65;background:#e5edf2}
.calendar-entry .planning-booking-needed{color:#824509;background:#fff0ce;font-weight:700;border:1px solid #d8aa63}
.calendar-entry .planning-booked{color:#285b42;background:#e1eee5;font-weight:600}

/* Phone ergonomics: keep existing desktop layouts and Calendar projection. */
.mobile-nav{display:none}
@media(max-width:1180px){
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 .mobile-nav{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#f6f8f1;border-top:1px solid #d6dfcf;box-shadow:0 -3px 15px #203d3708}
 .mobile-nav button{flex:1;min-width:0;min-height:44px;padding:8px 4px;font-size:12px}
 #cities,#city-header{scroll-margin-top:12px}
 .sidebar{padding:18px 16px}.sidebar h1,.city-link,.journey-home{overflow-wrap:anywhere}
 #main{padding:22px 12px}.card,#agent{padding:16px}
 .section-heading,.heading-row,.recommendation{flex-wrap:wrap}
 .section-heading>div,.heading-row>div,.item-top>div,.recommendation>span,.map-place-row>span{min-width:0;overflow-wrap:anywhere}
 .card h2,.card h3,.grand-total,.finance-figures strong,.finance-figures small,.map-card-content{overflow-wrap:anywhere}
 button,.item-actions button,.item-actions select,.map-filters button,.report-actions button,.recommendation button{min-height:44px}
 .light-link{display:inline-flex;align-items:center;min-height:44px}
 .journey-add{min-height:36px}.journey-leg{min-height:44px}
 input,select,textarea{font-size:16px}
 .check-label,.import-include{min-height:44px;overflow-wrap:anywhere}
 input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;accent-color:#426851}
 .calendar-details{min-height:36px;font-size:12px}.calendar-location button{min-height:36px}
 .calendar-entry .calendar-plan-status{font-size:11px}
 .calendar-toolbar{gap:8px}.calendar-navigation{gap:8px}.calendar-navigation span{font-size:12px;text-align:center}
 dialog,#import-dialog{width:calc(100% - 12px);max-width:none;max-height:calc(100dvh - 12px);padding:16px;border-radius:12px;margin:auto;overflow-wrap:anywhere}
 #editor[open]{display:flex;flex-direction:column;overflow:hidden;height:calc(100dvh - 12px)}
 #editor-form{display:flex;flex-direction:column;min-height:0;flex:1}
 #editor-fields{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 16px;flex:1}
 .dialog-top{flex-shrink:0;padding-bottom:10px}.dialog-top h2{font-size:23px;min-width:0}.icon-button{min-width:44px;flex-shrink:0}
 .dialog-actions{flex-shrink:0;flex-wrap:wrap;gap:8px;padding:12px 0 max(4px,env(safe-area-inset-bottom));background:#fcfdf9;border-top:1px solid #e0e5d9}
 #editor .dialog-actions>button{flex:1}
 #delete-transport,#delete-destination{color:#9a443d;flex-basis:100%!important;margin-right:0}
 #editor-error{flex-shrink:0;margin:8px 0;max-height:20dvh;overflow:auto}
 #import-dialog .dialog-actions{padding:10px 0;bottom:-16px}
 #import-preview .import-item{padding:12px}.import-include{align-items:flex-start;gap:8px}
 #import-text{min-height:240px}#research-panel{padding:16px}#question{min-height:140px}
 .recommendation{gap:6px}.recommendation button{margin-left:auto}
 .packing-filters{flex-wrap:wrap}.packing-filters label{min-width:125px;margin-top:6px}
 .packing-row>button{min-width:44px}.packing-person>.light-link{min-height:44px}
 .map-card-content{max-width:100%;padding:10px}.map-filters{gap:6px}.map-filters button{padding:8px 10px}
 #price-payment summary,#photo-editor summary,.map-list summary,.account-menu summary{min-height:44px;padding-block:10px}
 .login-wrap{margin:5vh auto;padding:20px;max-width:100%}
}

.map-card-content{overflow-wrap:anywhere;max-width:min(350px,100%)}

@media(max-width:1180px){
 #trip-settings,#open-import,#trip-calendar,#trip-packing{display:none}
 body{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .mobile-nav{flex-direction:column;gap:0}
 .mobile-nav-primary,.mobile-nav-secondary{display:flex;gap:2px}
 .mobile-nav-primary button[aria-current=page]{background:#e4ece0;color:#244d37}
 .mobile-nav-secondary{border-top:1px solid #e1e7dc;margin-top:3px}
 .mobile-nav-secondary button{font-size:11px;font-weight:400;color:#64775e;min-height:44px;padding:6px}
}

.calendar-payment{display:block;font-size:11px;line-height:1.4;color:#5e6d64;margin-top:4px;overflow-wrap:anywhere}
.sharing-person{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #e0e5d9}.sharing-person span{min-width:0;overflow-wrap:anywhere}.sharing-person small{display:block}.sharing-person select{width:auto}#sharing-people{margin-top:24px;border-top:1px solid #d6dece;padding-top:18px}#sharing-error{color:#963d31}
body[data-trip-role=VIEWER] #agent,body[data-trip-role=VIEWER] #open-import,body[data-trip-role=VIEWER] #trip-settings,body[data-trip-role=VIEWER] #add-city,body[data-trip-role=VIEWER] [data-mobile-go=settings],body[data-trip-role=VIEWER] [data-mobile-go=import],body[data-trip-role=VIEWER] [data-action],body[data-trip-role=VIEWER] [data-delete-item],body[data-trip-role=VIEWER] [data-status],body[data-trip-role=VIEWER] [data-packing],body[data-trip-role=VIEWER] .recommendation button,body[data-trip-role=VIEWER] .journey-add,body[data-trip-role=VIEWER] #refresh-rates{display:none!important}
body[data-trip-role=VIEWER] #city-header:after{content:'Viewer · read-only';display:block;font-size:13px;color:#64765f;margin:8px 0}
body[data-trip-role=VIEWER] [data-pack-edit],body[data-trip-role=VIEWER] [data-pack-delete],body[data-trip-role=VIEWER] [data-pack-add-owner],body[data-trip-role=VIEWER] [data-report-item],body[data-trip-role=VIEWER] [data-report-itinerary]{display:none!important}

.benefit-list{border-top:1px solid var(--line,#ddd);padding:12px 0;margin:12px 0}.benefit-list h4{margin:0 0 8px}.benefit-row{padding:6px 0;overflow-wrap:anywhere}.benefit-row small{display:block;color:#64746c}.benefit-minor{font-size:.85rem;opacity:.8}.benefit-edit{padding:10px 0;border-bottom:1px solid #ddd}.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0}.benefit-grid label{min-width:0}.benefit-grid input,.benefit-grid select,.benefit-grid textarea{width:100%;box-sizing:border-box}.benefit-grid input[type=checkbox]{width:auto}.calendar-benefit{padding:8px 10px;border-left:2px solid #abbcac;font-size:.8rem;background:#f2f5ee}.calendar-benefit small{display:block}.benefit-grid .full{grid-column:1/-1}@media(max-width:600px){.benefit-grid{grid-template-columns:1fr}.benefit-edit button{min-height:44px}}

/* Overview-only benefit summary; editor and Calendar retain their own styles. */
.benefit-overview{container-type:inline-size;border-top:1px solid #dce2d8;margin:10px 0 22px;padding-top:10px}
.benefit-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.benefit-overview-heading h4{margin:0;font-size:.88rem}.benefit-overview-heading button{font-size:.8rem;flex-shrink:0}
.benefit-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:2px;align-items:start}
.benefit-overview-row{min-width:0;margin:0;padding:0;border:0}.benefit-overview-row:not(details),.benefit-overview-row>summary{display:flex;gap:9px;align-items:flex-start;padding:8px 0;min-height:44px;box-sizing:border-box;list-style:none}
.benefit-overview-row>summary{cursor:pointer}.benefit-overview-row>summary::-webkit-details-marker{display:none}.benefit-overview-row>summary:focus-visible{outline:2px solid #486c58;outline-offset:2px;border-radius:4px}
.benefit-overview-icon{width:19px;height:19px;flex:0 0 19px;color:#66816e;margin-top:1px}.benefit-overview-copy{min-width:0;flex:1;overflow-wrap:anywhere}.benefit-overview-copy strong{display:block;font-size:.88rem;line-height:1.35;font-weight:600}.benefit-overview-copy small{display:block;font-size:.77rem;line-height:1.4;color:#68766c;margin-top:2px}.benefit-overview-copy .benefit-overview-attention{color:#826b3e}
.benefit-overview-chevron{color:#7f8d82;transition:transform .15s}.benefit-overview-row[open]>summary>.benefit-overview-chevron{transform:rotate(90deg)}.benefit-overview-detail{margin:0 0 8px 28px;padding:0 0 5px;overflow-wrap:anywhere;font-size:.82rem}.benefit-overview-detail p{margin:4px 0 8px;white-space:pre-line}.benefit-overview-actions{display:flex;flex-wrap:wrap;gap:6px 16px}.benefit-overview-actions button{font-size:.8rem;min-height:40px}.benefit-overview-source{font-size:.78rem}.benefit-overview-amenities{font-size:.78rem;color:#68766c;line-height:1.5;margin:8px 0 0}.benefit-overview-empty{border:0;margin:0 0 12px;padding:0}
@container(max-width:520px){.benefit-overview-grid{grid-template-columns:1fr}}
@media(max-width:700px){.benefit-overview-grid{grid-template-columns:1fr}.benefit-overview-heading button,.benefit-overview-actions button{min-height:44px}}

@media(max-width:1180px){#city-map{scroll-margin-top:12px}}

/* Touch navigation through tablet landscape; density queries stay independent. */
@media(max-width:1180px){
 .mobile-nav-primary,.mobile-nav-secondary{width:100%;max-width:720px;margin-inline:auto}
 .benefit-overview-row>summary,.benefit-overview-actions button{min-height:44px}
}
@media(min-width:701px) and (max-width:1180px){
 .shell{display:block}.sidebar{position:static;height:auto;overflow:visible;border-right:0;border-bottom:1px solid #d8dfd0;padding:24px}
 .sidebar .brand{margin-bottom:8px}.sidebar #cities{width:100%;max-width:900px;margin-inline:auto}.sidebar .side-bottom{margin-top:12px;padding-top:0;display:flex;flex-wrap:wrap;gap:8px}
 #main{max-width:1100px;padding:28px 24px}.card,#agent{padding:22px}.workspace-grid{grid-template-columns:1fr}
 dialog,#import-dialog{width:calc(100% - 48px);max-width:860px;padding:24px}
 #editor[open]{height:auto;max-height:calc(100dvh - 32px)}
 .form-grid{grid-template-columns:1fr 1fr}.form-grid>.full{grid-column:1/-1}
}

/* Needs attention: action now, quiet future preview, then integrity checks. */
.attention-dashboard{max-width:920px}
.attention-dashboard section+section{margin-top:30px}
.attention-dashboard h2{font:400 25px/1.3 Georgia,serif;margin:0 0 10px}
.attention-count-inline{font:500 13px/1.4 Inter,"Segoe UI",sans-serif;color:#718074;vertical-align:middle;margin-left:8px;letter-spacing:normal}
.attention-row{display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%;background:transparent;color:inherit;border:0;border-bottom:1px solid #dce2d5;border-radius:0;padding:13px 4px;white-space:normal;min-height:56px}
.attention-row:hover{background:#edf0e7;border-radius:8px}
.attention-copy{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:400;font-size:13px;line-height:1.5}
.attention-copy strong,.attention-copy small,.attention-copy>span{display:block}
.attention-copy strong{font-size:14px;font-weight:600;margin-bottom:3px}
.attention-copy small{color:#6a776d;font-size:12px;margin-top:2px}
.attention-copy .attention-date{color:#64775f;font-size:11px;letter-spacing:.35px;margin:0 0 4px}
.attention-symbol{flex:0 0 22px;color:#526e59;margin-top:2px}
.attention-symbol svg{width:20px;height:20px;display:block}
.attention-chevron{align-self:center;font-size:22px;font-weight:400;color:#7b897b}
.attention-row.urgent{border-left:3px solid #ae8550;padding-left:10px}
.attention-row.urgent .attention-urgency{color:#866333;font-weight:600}
.attention-zero{font-size:14px;margin:0;padding:2px 0 8px;color:#556e54}
.attention-zero span{margin-right:7px}
.attention-check-summary{font-size:12px;color:#866c45;margin:0 0 4px}
.attention-row.check-important .attention-symbol{color:#927041}
.attention-row.check-info{color:#657467}
.attention-row.check-info .attention-symbol{color:#80907b}
.attention-dashboard details>summary{font-size:13px;font-weight:500;cursor:pointer;min-height:44px;padding:13px 4px;color:#526b55}
.attention-dashboard details:not([open]) .when-open,.attention-dashboard details[open] .when-closed{display:none}
@media(max-width:700px){.attention-dashboard section+section{margin-top:24px}.attention-row{gap:9px;padding-block:12px}.attention-dashboard h2{font-size:23px}.attention-copy strong{font-size:14px}}
