/* Focused form and map improvements, shared by all three themes. */
#dialog label:not(.check-label):not(.impression-choice),#dialog legend,#dialog summary,.place-search>label{font-weight:650;color:var(--ink)}
#dialog .map-hint,#dialog small{font-weight:400}
#dialog fieldset.visit-dates{border:0;padding:0;margin:1.2rem 0;min-width:0}
.visit-dates legend{margin-bottom:.6rem}.visit-dates .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.visit-dates input{width:100%;min-width:0;box-sizing:border-box}.visit-dates label{min-width:0}
.visit-actions,.marker-options{display:flex;flex-wrap:wrap;gap:8px}.marker-options button{display:inline-flex;align-items:center;gap:6px;flex:1 1 44%;font-size:13px}
.marker-options svg{width:24px;height:27px;fill:#004156;stroke:#faf7ed;stroke-width:1.4;overflow:visible}.marker-options .marker-center{fill:#faf7ed;stroke:none}
#mapSvg .city-dot>*:not(text):not(.marker-hit){fill:#004156;stroke:#fff9e9;stroke-width:1.5;filter:drop-shadow(0 1px 1px #001d2860)}
#mapSvg .city-dot .marker-center{fill:#fff9e9;stroke:none}#mapSvg .city-dot text{fill:#fff;font-weight:700;stroke:none;pointer-events:none}
#mapSvg .city-dot .marker-hit{fill:transparent;stroke:none;filter:none;pointer-events:all}
[data-theme=dark] #mapSvg .city-dot>*:not(text):not(.marker-hit){fill:#56b7c4;stroke:#142a36}
[data-theme=dark] #mapSvg .city-dot text{fill:#142a36}
.flight-segment{margin:0 0 1.2rem;padding:0 0 1rem;border-bottom:1px solid var(--line,#a894713d)}
#dialog form{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}#place-save,#journey-form>button[type=submit]{position:static!important;inset:auto!important;margin-top:16px;max-width:100%;white-space:normal}
#dialog .point-results,#dialog .place-results{position:static;max-height:min(32dvh,250px);overflow-y:auto;overscroll-behavior:contain}
#dialog input,#dialog textarea,#dialog select{scroll-margin-block:30px}#dialog .endpoint-field{scroll-margin-block:24px}
#dialog .impression-options{display:flex;gap:8px;flex-wrap:wrap;min-width:0}#dialog .impression-options legend{margin-bottom:8px}#dialog .impression-choice{flex:0 1 auto;max-width:100%;margin:0}#dialog .impression-choice span{padding:9px 12px;font-size:14px}
#dialog .impression-choice:has(input:checked) span{box-shadow:inset 0 0 0 2px currentColor;font-weight:700}
@media(max-width:600px){#dialog{max-height:calc(var(--visual-height,100dvh) - 16px);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}#dialog input,#dialog select,#dialog textarea{font-size:16px}.visit-actions .btn{flex:1 1 auto}.visit-dates .fields{gap:8px}#dialog .impression-choice{flex:1 1 42%;text-align:center}}
