.planner-address-fields { min-width:0; margin:0 0 24px; padding:0 0 20px; border-bottom:1px solid #e5ecee; }
.address-entry-card { min-width:0; padding:18px; border:1px solid #d5e5df; border-radius:14px; background:#f6faf8; }
.address-entry-grid .form-field > .address-field-title { display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:17px; font-weight:750; color:#082a46; }
.address-field-title b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#087c61; color:#fff; font-size:13px; }
.address-city-confirm { margin-top:12px; font-size:13px; }
.address-city-confirm summary { cursor:pointer; color:#07644d; font-weight:650; overflow-wrap:anywhere; }
.address-city-confirm[open] .form-field { margin-top:12px; }
.address-city-confirm .route-input { width:100%; }
.address-city-confirm .field-help { font-size:12px; }
.address-entry-card .field-help { font-size:12px; line-height:1.5; }
.address-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.address-entry-grid .form-field { min-width:0; margin:0; }
.address-entry-grid textarea.route-input { width:100%; min-height:98px; resize:vertical; line-height:1.55; }
.address-entry-grid .field-help { display:block; margin:6px 0 0; }
.address-map-actions { display:flex; align-items:center; gap:18px; margin-top:16px; }
.address-map-button { flex:0 0 auto; min-height:44px; padding:10px 18px; border:1px solid #087c61; border-radius:9px; background:#fff; color:#07644d; font:inherit; font-weight:750; cursor:pointer; }
.address-map-actions p { margin:0; font-size:12px; line-height:1.5; color:#526b7e; }
.address-map-actions a { color:#075b84; text-decoration:underline; }
#address-map-status { margin:8px 0 0; color:#315368; font-size:13px; }
#address-map-status:empty { display:none; }
.address-maps { padding:28px 0; background:#f7fbfa; }
.address-maps-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.address-maps-heading h2 { margin:0; font-size:30px; line-height:1.2; color:#082a46; }
.address-maps-heading p { margin:7px 0 0; font-size:14px; color:#48627a; }
.address-map-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.address-map-card { min-width:0; overflow:hidden; border:1px solid #d5e5df; border-radius:16px; background:#fff; }
.address-map-card header { display:flex; align-items:flex-start; gap:12px; padding:18px 20px; }
.address-map-letter { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; color:#fff; background:#008c63; font-weight:800; }
.address-map-card h3 { margin:0 0 5px; font-size:19px; color:#082a46; }
.address-map-card header p { margin:0; font-size:14px; color:#48627a; overflow-wrap:anywhere; }
.address-map-card header > div { min-width:0; }
.address-map-frame { height:320px; background:#edf3f1; }
.address-map-frame iframe { display:block; width:100%; height:100%; border:0; }
.address-map-card footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; }
.address-map-card footer p { margin:0; font-size:12px; color:#526b7e; }
.address-map-card footer a { flex:0 0 auto; font-size:13px; font-weight:750; color:#07644d; }
@media(max-width:700px){
 .address-entry-card { padding:14px; }
 .address-entry-grid,.address-map-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .address-map-actions,.address-maps-heading { align-items:flex-start; flex-direction:column; gap:10px; }
 .address-map-button { width:100%; }
 .address-maps-heading h2 { font-size:26px; }
 .address-map-card header { padding:16px; }
 .address-map-frame { height:300px; }
 .address-map-card footer { padding:12px; gap:10px; }
}
