/* Peta Sketsa: kode sendiri, tanpa library eksternal runtime. Tiles OSM diminta saat peta dibuka. */
.kl-customer-map-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(8,15,29,.74);font-family:inherit;box-sizing:border-box}
.kl-customer-map-dialog{overflow-y:auto;--map-border:var(--wf-border,#dbe1eb);--map-text:var(--wf-text,#1c293c);--map-muted:var(--wf-muted,#637187);display:flex;flex-direction:column;width:min(100%,880px);max-height:min(95dvh,900px);border-radius:16px;background:var(--wf-card,#fff);color:var(--map-text);border:1px solid var(--map-border);box-shadow:0 24px 70px rgba(0,0,0,.32);overflow:hidden;box-sizing:border-box}
.kl-customer-map-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:19px 20px 12px}
.kl-customer-map-header h2{font-size:19px;line-height:1.3;margin:3px 0 6px}
.kl-customer-map-header p{font-size:12px;color:var(--map-muted);line-height:1.5;margin:0}
.kl-customer-map-eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#477bcc}
.kl-customer-map-dialog button{font:inherit;cursor:pointer}
.kl-customer-map-close{flex-shrink:0;border:1px solid var(--map-border);border-radius:8px;background:transparent;color:var(--map-text);width:34px;height:34px;font-size:24px!important;line-height:1}
.kl-customer-map-search{position:relative;padding:0 20px 10px;flex-shrink:0}
.kl-customer-map-search label{display:block;font-size:12px;font-weight:750;margin-bottom:6px}
.kl-customer-map-search-row{display:flex;gap:8px}
.kl-customer-map-search-row input{min-width:0;flex:1;background:transparent;color:var(--map-text);border:1px solid var(--map-border);border-radius:8px;padding:10px 12px;font:inherit;font-size:13px;outline-offset:2px}
.kl-customer-map-search-row input:focus{border-color:#4177dc;outline:2px solid rgba(65,119,220,.15)}
.kl-customer-map-search-row input::placeholder{color:var(--map-muted)}
.kl-customer-map-search-row button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px solid #346bd5;border-radius:8px;background:#346bd5;color:#fff;padding:9px 14px;font-weight:750;font-size:12px}
.kl-customer-map-search-row button:hover{background:#2454b8}
.kl-customer-map-search-row button:disabled{opacity:.7;cursor:wait}
.kl-customer-map-search small{display:block;font-size:11px;line-height:1.5;color:var(--map-muted);margin-top:5px}
.kl-customer-map-search-feedback{margin-top:6px;font-size:12px;line-height:1.4;color:#3473cf}
.kl-customer-map-search-feedback.is-error{color:#d74756}
.kl-customer-map-search-feedback[hidden],.kl-customer-map-results[hidden]{display:none!important}
.kl-customer-map-results{position:absolute;top:calc(100% - 3px);left:20px;right:20px;z-index:20;list-style:none;padding:5px;margin:0;max-height:220px;overflow-y:auto;background:var(--wf-card,#fff);color:var(--map-text);border:1px solid var(--map-border);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
:root[data-wf-theme="dark"] .kl-customer-map-results{background:#23334a}
.kl-customer-map-results li+li{border-top:1px solid var(--map-border)}
.kl-customer-map-result{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:9px 10px;background:transparent;color:inherit;border:0;border-radius:6px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.kl-customer-map-result:hover,.kl-customer-map-result.is-selected{background:rgba(67,113,207,.14)}
.kl-customer-map-result-icon{font-size:18px;color:#3374d8;line-height:1}
.kl-customer-map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 20px 12px}
.kl-customer-map-toolbar button{border:1px solid var(--map-border);border-radius:8px;background:transparent;color:var(--map-text);font-size:12px;font-weight:700;padding:9px 13px}
.kl-customer-map-toolbar button:hover,.kl-customer-map-close:hover{background:rgba(110,130,180,.11)}
.kl-customer-map-toolbar button:disabled{cursor:wait;opacity:.6}
.kl-customer-map-tip{font-size:11px;color:var(--map-muted);margin-left:auto}
.kl-customer-map-stage{position:relative;margin:0 20px;background:#d8e4db;border-radius:12px;overflow:hidden;border:1px solid var(--map-border);min-height:185px;flex-shrink:0}
.kl-customer-map-viewport{position:relative;height:clamp(200px,39dvh,430px);overflow:hidden;cursor:crosshair;touch-action:none;user-select:none;outline-offset:-3px}
.kl-customer-map-viewport.is-dragging{cursor:grabbing}
.kl-customer-map-tiles{position:absolute;inset:0;pointer-events:none}
.kl-customer-map-tile{position:absolute;top:0;left:0;width:256px;height:256px;pointer-events:none;user-select:none}
.kl-customer-map-pin{display:none;position:absolute;top:0;left:0;width:34px;height:45px;pointer-events:none;filter:drop-shadow(0 4px 3px rgba(0,0,0,.25));z-index:3}
.kl-customer-map-zooms{position:absolute;top:12px;right:12px;z-index:5;display:flex;flex-direction:column;gap:2px}
.kl-customer-map-zooms button{width:38px;height:38px;border-radius:7px;background:#fff;color:#1b2839;border:1px solid #c2ced7;font-size:24px;box-shadow:0 1px 3px #aaa}
.kl-customer-map-zooms button:hover{background:#eaf2fc}
.kl-customer-map-attribution{position:absolute;bottom:0;right:0;z-index:6;background:rgba(255,255,255,.88);color:#263747;font-size:10px;padding:3px 6px}
.kl-customer-map-attribution a{color:#20539b;text-decoration:underline}
.kl-customer-map-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:15px 20px}
.kl-customer-map-position{font-size:12px;color:var(--map-muted);flex:1 1 250px;line-height:1.5;overflow-wrap:anywhere}
.kl-customer-map-actions{display:flex;gap:8px;justify-content:flex-end}
.kl-customer-map-actions button{border:1px solid var(--map-border);border-radius:8px;background:transparent;color:var(--map-text);font-size:12px;font-weight:700;padding:11px 15px}
.kl-customer-map-actions .kl-customer-map-save{background:#356bdb;border-color:#356bdb;color:white}
.kl-customer-map-actions .kl-customer-map-save:disabled{opacity:.45;cursor:not-allowed}
.kl-field-navigation .kl-map-link{padding:12px 14px;background:var(--wf-accent-bg,#e7effe);border:1px solid var(--wf-border,#ccd8ed);border-radius:10px;font-weight:750;font-size:13px;display:inline-flex;margin-top:8px}
.kl-field-navigation p{font-size:12px;margin:6px 0}
@media(max-width:620px){.kl-customer-map-overlay{padding:4px;align-items:stretch}.kl-customer-map-dialog{max-height:100%;border-radius:10px}.kl-customer-map-header{padding:14px 12px 9px}.kl-customer-map-header h2{font-size:17px}.kl-customer-map-search{position:relative;padding:0 20px 10px;flex-shrink:0}
.kl-customer-map-search label{display:block;font-size:12px;font-weight:750;margin-bottom:6px}
.kl-customer-map-search-row{display:flex;gap:8px}
.kl-customer-map-search-row input{min-width:0;flex:1;background:transparent;color:var(--map-text);border:1px solid var(--map-border);border-radius:8px;padding:10px 12px;font:inherit;font-size:13px;outline-offset:2px}
.kl-customer-map-search-row input:focus{border-color:#4177dc;outline:2px solid rgba(65,119,220,.15)}
.kl-customer-map-search-row input::placeholder{color:var(--map-muted)}
.kl-customer-map-search-row button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px solid #346bd5;border-radius:8px;background:#346bd5;color:#fff;padding:9px 14px;font-weight:750;font-size:12px}
.kl-customer-map-search-row button:hover{background:#2454b8}
.kl-customer-map-search-row button:disabled{opacity:.7;cursor:wait}
.kl-customer-map-search small{display:block;font-size:11px;line-height:1.5;color:var(--map-muted);margin-top:5px}
.kl-customer-map-search-feedback{margin-top:6px;font-size:12px;line-height:1.4;color:#3473cf}
.kl-customer-map-search-feedback.is-error{color:#d74756}
.kl-customer-map-search-feedback[hidden],.kl-customer-map-results[hidden]{display:none!important}
.kl-customer-map-results{position:absolute;top:calc(100% - 3px);left:20px;right:20px;z-index:20;list-style:none;padding:5px;margin:0;max-height:220px;overflow-y:auto;background:var(--wf-card,#fff);color:var(--map-text);border:1px solid var(--map-border);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
:root[data-wf-theme="dark"] .kl-customer-map-results{background:#23334a}
.kl-customer-map-results li+li{border-top:1px solid var(--map-border)}
.kl-customer-map-result{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:9px 10px;background:transparent;color:inherit;border:0;border-radius:6px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.kl-customer-map-result:hover,.kl-customer-map-result.is-selected{background:rgba(67,113,207,.14)}
.kl-customer-map-result-icon{font-size:18px;color:#3374d8;line-height:1}
.kl-customer-map-search{padding:0 12px 10px}.kl-customer-map-search-row button{padding:9px 11px}.kl-customer-map-results{left:12px;right:12px}.kl-customer-map-toolbar{padding:0 12px 9px}.kl-customer-map-tip{width:100%;margin:0}.kl-customer-map-stage{margin:0 8px}.kl-customer-map-viewport{height:clamp(185px,34dvh,370px)}.kl-customer-map-footer{padding:10px 12px}.kl-customer-map-actions{width:100%}.kl-customer-map-actions button{flex:1}}

:root[data-wf-theme="dark"] .kl-customer-map-dialog{overflow-y:auto;--map-border:#3d4c60;--map-text:#eef3fc;--map-muted:#b6c3d7;background:#1b2738}

/* Google Places (New): map resmi Google + pencarian nama usaha, lokal CSS, dimuat saat klik. */
.kl-google-map-dialog{width:min(100%,920px);max-height:min(96dvh,940px)}
.kl-google-search{flex:0 0 auto;padding:0 20px 10px;position:relative;z-index:4}
.kl-google-search label{font-weight:750;display:block;font-size:12px;margin:0 0 8px}
.kl-google-autocomplete{width:100%;min-height:44px}
.kl-google-autocomplete gmp-place-autocomplete{display:block;width:100%;color-scheme:light;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#202837}
.kl-google-search small{display:block;margin-top:6px;line-height:1.45;color:var(--map-muted);font-size:11px}
.kl-google-map-toolbar{display:flex;align-items:center;gap:12px;padding:0 20px 10px;min-height:34px}
.kl-google-map-toolbar button{border:1px solid var(--map-border);background:transparent;color:var(--map-text);border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700}
.kl-google-map-toolbar button:disabled{opacity:.5;cursor:wait}
.kl-google-current-place{font-size:12px;line-height:1.35;color:var(--map-muted);overflow-wrap:anywhere}
.kl-google-map-stage{position:relative;margin:0 20px;min-height:205px;border-radius:12px;overflow:hidden;border:1px solid var(--map-border)}
.kl-google-map-canvas{width:100%;height:clamp(215px,40dvh,440px);background:#e4eced}
.kl-google-provider{display:flex;justify-content:space-between;gap:10px;margin:5px 20px 0;color:var(--map-muted);font-size:10px}
@media(max-width:620px){.kl-google-map-dialog{max-height:100%;}.kl-google-search,.kl-google-map-toolbar{padding-left:12px;padding-right:12px}.kl-google-map-stage{margin:0 8px}.kl-google-map-canvas{height:clamp(195px,32dvh,360px)}.kl-google-map-toolbar{flex-wrap:wrap;gap:7px}.kl-google-provider{margin-left:12px;margin-right:12px}}
