.place-entry{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
.place-entry [hidden]{display:none!important}
.place-entry h3{font-size:1rem;margin:14px 0 10px}
.place-entry .field{display:flex;flex-direction:column;gap:5px;margin:12px 0;font-size:.8rem}
.place-entry input,.place-entry textarea{width:100%;box-sizing:border-box;min-width:0;font:inherit}
.place-entry textarea{resize:vertical}
.place-entry .micro{font-size:.75rem;line-height:1.45;color:var(--muted);margin:8px 0}
.place-entry a{color:var(--blue)}
.place-entry button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.place-entry-modes{display:flex;gap:4px;padding:4px;margin-bottom:14px;background:var(--sky);border-radius:9px}
body[data-custom-builder] .place-entry .place-entry-modes button{flex:1;border:0;background:transparent;border-radius:6px;padding:9px 6px;font-size:.8rem;white-space:normal}
body[data-custom-builder] .place-entry .place-entry-modes button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #13213918;color:var(--blue)}
body[data-custom-builder] .place-entry .poi-candidate{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;text-align:left;white-space:normal;background:white;border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--ink);cursor:pointer;margin:6px 0;font-size:.85rem}
body[data-custom-builder] .place-entry .poi-candidate:hover{background:var(--sky);border-color:var(--blue)}
.poi-candidate span{font-size:.72rem;color:var(--muted);font-weight:400}
.place-entry .poi-candidate .poi-candidate-action{color:var(--blue);font-weight:700;font-size:.72rem;margin-top:3px}
.place-entry #poi-selected{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--sky);border-radius:9px;margin:12px 0 4px}
.place-entry #poi-selected-name{font-size:.95rem;line-height:1.35}
.place-entry #poi-selected-address{font-size:.75rem;line-height:1.4;color:var(--muted)}
.poi-location-actions{display:flex;gap:16px;flex-wrap:wrap;margin:4px 0 8px}
body[data-custom-builder] .place-entry .poi-location-actions button{width:auto;border:0;background:transparent;color:var(--blue);padding:6px 0;font-size:.78rem;font-weight:700;cursor:pointer}
body[data-custom-builder] .place-entry .poi-location-actions button:hover{text-decoration:underline}
body[data-custom-builder] .place-entry .poi-location-actions button[aria-pressed=true]{color:#8d3d28}
.place-entry #poi-location:empty,.place-entry #poi-original:empty,.place-entry #poi-entry-status:empty,.place-entry #poi-search-status:empty{display:none}
.place-entry #poi-entry-status,.place-entry #poi-search-status{font-size:.8rem;line-height:1.4;color:var(--blue);margin:10px 0}
.place-entry summary{cursor:pointer;color:var(--muted);font-size:.75rem;padding:8px 0}
.place-entry #poi-queue{border-bottom:1px solid var(--line);margin-bottom:10px}
.place-entry #poi-progress{font-weight:700;color:var(--blue)}
.place-entry #poi-import-rows{max-height:220px;overflow:auto}
.poi-import-row{padding:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.poi-import-row strong{flex:1;font-size:.8rem}.poi-import-row span{font-size:.7rem}
.poi-import-row button{padding:5px 8px;font-size:.75rem}.poi-import-row.is-current{background:var(--sky)}
.poi-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.place-entry #poi-original{overflow-wrap:anywhere;border-left:2px solid var(--line);padding-left:10px}
.place-entry-actions{display:flex;gap:12px;align-items:center;margin:12px 0 0}
body[data-custom-builder] .place-entry #poi-confirm{flex:1;font-size:.85rem;padding:11px 12px;border-radius:8px}
body[data-custom-builder] .place-entry .poi-text-button{background:transparent;color:var(--muted);border:0;padding:8px 4px;font-size:.8rem}
body[data-custom-builder] .place-entry button:disabled{opacity:.48;cursor:not-allowed}
.place-entry .poi-attribution{font-size:.6rem;line-height:1.4;color:var(--muted);margin:12px 0 0}
@media(max-width:600px){.place-entry{padding:14px}.place-entry button{white-space:normal}.poi-import-row{align-items:flex-start}}
@media(min-width:1000px){body[data-custom-builder] .places-workspace:not(.places-style-only){grid-template-columns:minmax(0,1fr) 420px}}

/* Reveal location, label and icon choices in order. */
.place-entry .poi-field-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
.place-entry .poi-field-pair .field{margin:0 0 7px;font-size:.78rem}
body[data-custom-builder] .place-entry .poi-field-pair input{padding:10px;font-size:.85rem;min-height:42px}
body[data-custom-builder] .place-entry #poi-pin{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;margin:0;border:1px solid var(--blue);border-radius:7px;background:#fff;color:var(--blue);font-size:.75rem;font-weight:700;cursor:pointer}
body[data-custom-builder] .place-entry #poi-pin:hover{background:var(--blue);filter:brightness(.9)}
body[data-custom-builder] .place-entry #poi-pin[aria-pressed=true]{background:var(--blue);color:#fff}
.place-entry .place-entry-modes{margin-bottom:14px}
.place-entry .place-entry-actions{padding-top:10px!important;margin-top:10px!important;border-top:1px solid var(--line)}
.place-entry #poi-selected-address{font-size:.7rem;margin:8px 0 0}
.place-entry .poi-attribution{margin-top:9px}

body[data-custom-builder] .place-entry #poi-read{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px}
body[data-custom-builder] .place-entry #poi-read[aria-busy=true]{opacity:1;cursor:progress}
.place-entry #poi-read[aria-busy=true]::before{content:"";width:16px;height:16px;flex:0 0 16px;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:poi-loading-spin .75s linear infinite}
@keyframes poi-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.place-entry #poi-read[aria-busy=true]::before{animation:none}}

body[data-custom-builder] .place-entry #poi-start-over{display:block;margin:8px 0 12px auto;padding:7px 12px;background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:7px;font-size:12px;cursor:pointer}
.place-entry .poi-restart-warning{padding:12px;margin:10px 0;background:#fff7ed;border:1px solid #ecd3b4;border-radius:9px;font-size:13px}
.place-entry .poi-restart-warning p{font-size:12px;line-height:1.5;margin:6px 0 12px}
.place-entry .poi-restart-warning>div{display:flex;gap:8px;flex-wrap:wrap}
body[data-custom-builder] .place-entry .poi-restart-warning button{font-size:12px;padding:9px 12px;border-radius:7px;margin:0}
body[data-custom-builder] .place-entry #poi-clear-list{background:#99472d;color:#fff}

.place-entry .poi-appearance{border:1px solid var(--line);border-radius:9px;margin:14px 0;padding:0 12px}
.place-entry .poi-appearance summary{font-size:13px;font-weight:700;padding:12px 0}
.place-entry #poi-style-summary{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:3px 0 0}
.place-entry .poi-icon-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;max-height:160px;overflow:auto;padding:3px;margin:8px 0 14px}
body[data-custom-builder] .place-entry .poi-icon-options button{margin:0;padding:7px;border:1px solid var(--line);border-radius:7px;min-width:0;display:flex;justify-content:center}
.place-entry .poi-icon-options svg{width:24px;height:24px}
body[data-custom-builder] .place-entry .poi-icon-options button[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:1px}
body[data-custom-builder] .place-entry .place-entry-actions{border-top:0!important;padding-top:0!important}

.place-entry #poi-queue{border-bottom:0;margin-bottom:10px}

/* Keep list approval focused on one place at a time. */

#building-controls:has(#building-controls:not([hidden]) .place-entry.is-reviewing)>:not(.place-entry){display:none!important}
.places-controls:has(#building-controls:not([hidden]) .place-entry.is-reviewing) #places-back{display:none}
.place-entry #poi-cancel{margin:0 0 10px}
.place-entry #poi-results-heading{font-size:.8rem;margin:16px 0 8px}
.place-entry .poi-candidate[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:1px}

/* Shared card layout for imported places and individual pins. */
body[data-custom-builder] .place-entry.is-editing{padding:20px;border:1px solid #e5ebed;border-radius:18px;background:#fff;box-shadow:0 6px 24px #182b3b08;margin-top:0}
.places-controls:has(#building-controls:not([hidden]) .place-entry.is-editing)>.places-panel-heading,.places-controls:has(#building-controls:not([hidden]) .place-entry.is-editing)>#places-back{display:none}
#building-controls:has(#building-controls:not([hidden]) .place-entry.is-editing)>:not(.place-entry){display:none!important}
.place-entry .poi-entry-heading{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:start;gap:12px;margin:0 0 24px}
.place-entry .poi-heading-icon{width:40px;height:40px;display:grid;place-items:center;background:#eef7f4;color:#146b5d;border-radius:50%}
.place-entry .poi-heading-icon svg{width:23px;height:23px}
body[data-custom-builder] .place-entry .poi-entry-heading h3{font-size:21px;line-height:1.2;margin:0 0 6px;letter-spacing:-.5px}
.place-entry .poi-entry-heading p{font-size:13px;color:var(--muted);line-height:1.45;margin:0}
body[data-custom-builder] .place-entry #poi-close{border:0;background:none;color:#727b82;font-size:28px;line-height:1;padding:0;margin:0;width:22px}
.place-entry #poi-review-nav{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}
.place-entry #poi-review-nav>div{display:flex;gap:8px}
body[data-custom-builder] .place-entry #poi-review-step{font-size:14px;margin:0}
body[data-custom-builder] .place-entry #poi-review-nav button{background:#f2f5f7;border:0;border-radius:10px;color:var(--ink);font-size:26px;line-height:1;width:38px;height:38px;padding:0;margin:0}
body[data-custom-builder] .place-entry .poi-field-pair{gap:18px}
body[data-custom-builder] .place-entry .poi-field-pair .field{display:block;font-size:14px;font-weight:800;margin:0 0 4px}
.place-entry .poi-optional{font-weight:400;color:var(--muted)}
body[data-custom-builder] .place-entry .poi-field-pair input{display:block;margin-top:9px;width:100%;font-size:15px;font-weight:400;min-height:48px;padding:12px;border:1px solid #d3dce2;border-radius:10px}
body[data-custom-builder] .place-entry #poi-pin{display:flex;gap:13px;justify-content:flex-start;width:100%;padding:16px;margin-top:20px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-size:15px;min-height:58px}
.place-entry #poi-pin svg{width:23px;height:25px;flex:none}
body[data-custom-builder] .place-entry #poi-pin[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:inset 0 0 0 2px #ffffff80}
.place-entry .poi-or{display:flex;align-items:center;gap:14px;margin:24px 0;color:var(--muted);font-size:11px}
.place-entry .poi-or::before,.place-entry .poi-or::after{content:'';height:1px;background:#e1e7eb;flex:1}
body[data-custom-builder] .place-entry #poi-results-heading{font-size:16px;margin:0 0 14px;letter-spacing:-.2px}
body[data-custom-builder] .place-entry .poi-candidate{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 10px;margin:0 0 12px;border:1px solid #e0e6eb;border-radius:12px;background:#fff}
.place-entry .poi-candidate-icon{width:32px;height:36px;display:grid;place-items:center;border-radius:50%;background:#eff6fa;color:#526676}
.place-entry .poi-candidate-icon svg{width:20px;height:22px}
.place-entry .poi-candidate-details{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}
.place-entry .poi-candidate-details strong{font-size:12px;line-height:1.4;color:var(--ink)}
.place-entry .poi-candidate-details>span{font-size:11px;line-height:1.4}
body[data-custom-builder] .place-entry .poi-candidate .poi-candidate-action{font-size:11px;color:#146b5d;background:#edf7f3;border-radius:8px;padding:10px 7px;margin:0;white-space:nowrap}
body[data-custom-builder] .place-entry .place-entry-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin:26px 0 0!important}
body[data-custom-builder] .place-entry #poi-cancel,body[data-custom-builder] .place-entry #poi-confirm{font-size:14px;border-radius:11px;min-height:50px;padding:12px 8px;margin:0;white-space:normal}
body[data-custom-builder] .place-entry #poi-cancel{border:1px solid #c8cfd4;background:#fff;color:var(--ink);font-weight:800}
body[data-custom-builder] .place-entry #poi-confirm{background:#146b5d;color:#fff;border:1px solid #146b5d}
body[data-custom-builder] .place-entry #poi-confirm:not(:disabled)::after{content:' →';margin-left:5px}
@media(max-width:600px){body[data-custom-builder] .place-entry.is-editing{padding:16px}.place-entry .poi-entry-heading{grid-template-columns:34px minmax(0,1fr) 22px;gap:9px}.place-entry .poi-heading-icon{width:34px;height:34px}body[data-custom-builder] .place-entry .poi-entry-heading h3{font-size:20px}body[data-custom-builder] .place-entry .poi-candidate{grid-template-columns:26px minmax(0,1fr) auto;gap:8px;padding:12px 8px}.place-entry .poi-candidate-icon{width:26px;height:30px}}
body[data-custom-builder] .place-entry #poi-review-nav button:disabled{opacity:.35}
/* Keep floating feedback from covering the pin form's fields and actions. */
body:has(#building-controls:not([hidden]) .place-entry.is-editing) #atlas-feedback-button{display:none}

body[data-custom-builder] .place-entry.is-reviewing .place-entry-actions{grid-template-columns:1fr}

/* Icon choice is part of every place, with the style inherited from the map. */
body[data-custom-builder] .place-entry .poi-appearance{display:block;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0 0;margin:22px 0 0}
body[data-custom-builder] .place-entry #poi-icon-heading{font-size:16px;margin:0 0 8px}
body[data-custom-builder] .place-entry #poi-style-summary{font-size:12px;margin:0 0 14px;line-height:1.5}
body[data-custom-builder] .place-entry .poi-icon-options{max-height:180px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:4px}
body[data-custom-builder] .place-entry .poi-icon-options button{min-height:42px;padding:8px}
body[data-custom-builder] .place-entry #poi-custom-icon{font-size:14px;padding:11px;border-radius:9px}
body[data-custom-builder] .place-entry #poi-confirm:disabled{background:#e5ece9;border-color:#e5ece9;color:#6a7772;opacity:1}

/* Keep location choices together and separate from the icon picker. */
body[data-custom-builder] .place-entry .poi-location-group{min-width:0;padding:16px;border:1px solid #dce5e2;border-radius:12px;background:#f6f9f8}
.place-entry .poi-location-group .poi-or{margin:20px 0}
.place-entry .poi-location-group #poi-results>.micro:last-child,.place-entry .poi-location-group #poi-selected-address{margin-bottom:0}
body[data-custom-builder] .place-entry .poi-appearance{border-top:0;padding-top:0;margin-top:28px}

/* Completed locations collapse while the next place detail is entered. */
body[data-custom-builder] .place-entry #poi-search-panel #poi-pin{margin-top:0}
.place-entry .poi-location-done{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:#146b5d}
body[data-custom-builder] .place-entry #poi-edit-location{color:#146b5d;text-decoration:underline}
.place-entry #poi-results:not(:empty){margin-top:14px}

/* The entire place result is one mouse/touch target, including its artwork and text. */
.place-entry .poi-candidate{cursor:pointer;touch-action:manipulation}
.place-entry .poi-candidate *{cursor:inherit}
