#travelPlanPanel{min-width:0} .plan-head,.plan-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.plan-actions{justify-content:flex-start}.plan-intro{max-width:75ch}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.plan-grid label{min-width:0}.plan-grid input,.plan-grid select,.plan-grid textarea{width:100%;min-width:0}.plan-wide{grid-column:1/-1}
.plan-grid label:has(input[type=checkbox]){display:flex;align-items:center;gap:.5rem}.plan-grid input[type=checkbox]{width:auto}.plan-tools{border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}.plan-tools summary{cursor:pointer;font-weight:650;padding:.3rem 0}.plan-record,.plan-suggestion{border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.65rem 0;overflow-wrap:anywhere}.plan-record h3,.plan-suggestion h3{margin:.1rem 0 .4rem}.plan-meta{color:var(--muted);font-size:.92rem}.plan-warning{border-left:4px solid #bd7822;padding:.7rem 1rem;background:color-mix(in srgb,#d9a441 12%,transparent);white-space:pre-line}.plan-pill{font-size:.8rem;border:1px solid var(--line);border-radius:30px;padding:.15rem .6rem}.plan-record-header{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.plan-stay{padding:.4rem 1rem;border-left:2px solid var(--line);margin-left:1rem;color:var(--muted)}
#planMap{height:420px;min-height:260px;max-height:65vh;border-radius:10px}#planMapArea{margin:1rem 0}#planStopDialog{width:min(760px,94vw);max-height:92vh;overflow:auto}#planStopDialog .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#planSearchResults{max-height:240px;overflow:auto;display:grid;gap:.3rem}#planSearchResults button{text-align:left;white-space:normal}.plan-place{padding:.6rem;border-top:1px solid var(--line)}.plan-place a{overflow-wrap:anywhere}.plan-placeholder{padding:1.5rem;text-align:center;border:1px dashed var(--line);border-radius:12px}.plan-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.plan-check{display:flex;align-items:flex-start;gap:.5rem;margin:.7rem 0}.plan-check input{width:auto;flex:none}
#planMap{isolation:isolate;z-index:0}.plan-map-marker{display:grid;place-items:center;border:2px solid white;border-radius:50%;background:#147f91;color:white;font-weight:700;box-shadow:0 1px 5px #0005}.plan-head>label{display:flex;align-items:center;gap:.5rem}
@media(max-width:700px){.plan-grid,.plan-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}#planMap{height:320px}.plan-actions button{flex:1 1 auto}}
@media(max-width:420px){.plan-grid,.plan-amenities,#planStopDialog .plan-grid{grid-template-columns:1fr}.plan-record,.plan-suggestion{padding:.7rem}}
@media print{.plan-tools,.plan-actions,#planMapArea,#planConsentLabel{display:none!important}.plan-record{break-inside:avoid}}

/* Compact primary workflow; keyboard focus stays visible in the suggestions. */
.plan-place-input{position:relative}.plan-place-input>input{width:100%}#planSearchResults{border:1px solid var(--line);border-radius:8px;margin-top:4px;background:var(--surface);color:var(--text)}#planSearchResults[hidden]{display:none}#planSearchResults [role=option]{padding:.7rem;cursor:pointer;min-height:44px}#planSearchResults [aria-selected=true],#planSearchResults [role=option]:hover{background:var(--soft);color:var(--text);outline:2px solid var(--accent);outline-offset:-2px}.plan-move{min-width:44px;min-height:44px;font-size:1.15rem}#planStopExtras{margin:1rem 0}#planStopExtras summary{cursor:pointer;padding:.5rem 0}#planStopDialog{width:min(540px,94vw)}.plan-tools>summary{padding:.5rem 0}.plan-tools details{margin:.8rem 0}.plan-grid label[hidden]{display:none}

#planBulkDialog{width:min(760px,94vw);max-height:90vh;overflow:auto}#planBulkText{width:100%;font:inherit;padding:.7rem;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px}#planBulkResults{display:grid;gap:.8rem;margin:1rem 0}#planProgressDialog{width:min(520px,92vw);padding:2rem;text-align:center;border:2px solid var(--accent);border-radius:16px;background:var(--surface);color:var(--text)}#planProgressDialog::backdrop{background:#0008}#planProgressDialog progress{width:100%;height:1rem;accent-color:var(--accent)}

/* Read-only companion calendar. Dates are distinguished by outline and a dot as well as weight. */
#planBulkDialog{width:min(980px,94vw)}.plan-bulk-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:1.2rem;align-items:start}.plan-bulk-layout>label{min-width:0}.plan-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.plan-calendar-nav button{min-width:44px;min-height:44px}.plan-calendar{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px;text-align:center}.plan-calendar th,.plan-calendar td{padding:.3rem .1rem;text-align:center}.plan-calendar-in{outline:1px solid var(--line);border-radius:4px}.plan-calendar-out{color:var(--muted)}.plan-calendar-marked{font-weight:800;outline:2px solid var(--text);background:var(--surface);color:var(--text)}.plan-calendar-marked span{display:block;line-height:.45;font-size:.7rem}#planBulkCalendar .hint{font-size:.85rem;margin:.5rem 0}@media(max-width:700px){.plan-bulk-layout{grid-template-columns:minmax(0,1fr)}#planBulkCalendar{width:100%;max-width:360px;justify-self:center}}

/* 15% smaller vertical spacing and button height; keep readable text and >=24 px targets. */
#travelPlanPanel .plan-record{padding:.85rem 1rem;margin-block:.5525rem}#travelPlanPanel .plan-record p{margin-block:.425rem}#travelPlanPanel .plan-record button{min-height:37.4px;height:37.4px;padding-block:3.4px}#travelPlanPanel .plan-record .plan-move{min-width:37.4px}.plan-record .plan-actions{display:inline-flex;gap:.4rem;margin-top:.425rem}.plan-record .plan-more{margin-left:.4rem}.plan-weather{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .85rem;font-size:.82rem;line-height:1.4;padding:.35rem 0;color:var(--text)}.plan-weather-value{display:inline-flex;gap:.25rem;align-items:center}.plan-weather-value>span{font-size:1.2rem}.plan-weather-stamp{color:var(--muted)}.plan-weather-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-block:.5rem}.plan-weather-controls small{max-width:75ch;color:var(--muted)}@media(max-width:420px){#travelPlanPanel .plan-record{padding:.595rem}.plan-record .plan-more{margin-left:0}}

.plan-trip-picker{max-width:40rem;margin:.6rem 0}.plan-calendar td:has(button){padding:0}.plan-calendar td button{width:100%;min-width:24px;min-height:32px;padding:2px;border:0;border-radius:4px;font:inherit;color:inherit;background:transparent}.plan-calendar td button:hover{outline:2px solid var(--accent)}
