.locator-workspace{max-width:1280px;margin-inline:auto;font:13px/1.45 Arial,Helvetica,sans-serif;color:#102d33;letter-spacing:0;font-variant-numeric:tabular-nums}
.locator-workspace *{box-sizing:border-box;letter-spacing:0}
.locator-workspace :is(h1,h2,h3,strong,input,select,button,a){font-family:inherit;text-transform:none}
.locator-workspace h1{font-size:32px;line-height:1.2;color:#08765d;margin:5px 0 7px;font-weight:750}
.locator-workspace h1:focus-visible{outline:none!important}
@media(max-width:700px){.locator-workspace .locator-map-dialog .loc-actions>button:first-child{flex-basis:100%}}
.locator-workspace h2,.locator-workspace h3{font-size:16px;line-height:1.3;margin:0;color:#102d33}
.locator-workspace p{font-size:12px;color:#69817f;margin:4px 0 0}.locator-workspace small{display:block;font-size:11px;color:#69817f}
.locator-workspace svg{width:17px;height:17px;flex-shrink:0}
.locator-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:12px}.locator-heading>div{max-width:670px;min-width:0}.locator-heading p{font-size:12px;line-height:18px}.locator-eyebrow{display:block;font-size:10px;line-height:12px;font-weight:700;color:#56766b}
.locator-heading h1{margin:4px 0 5px}
.locator-preview{display:flex;align-items:center;gap:12px;min-height:66px;background:#edf7ef;border-radius:12px;padding:12px 14px;flex-shrink:0}.locator-preview strong{font-size:12px}.locator-preview .loc-button{margin-left:6px;min-height:32px;padding:6px 11px;font-size:11px}
.locator-symbol{width:34px;height:34px;flex-shrink:0;background:#dff1e4;color:#08765d;display:grid;place-items:center;border-radius:50%}.locator-symbol svg{width:20px;height:20px}
.locator-workspace button,.locator-workspace .loc-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #e8eeea;border-radius:20px;padding:7px 13px;background:white;color:#2d6055;font:600 12px/1.25 Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 2px 5px #102d3304;white-space:normal}
.locator-workspace button:hover,.locator-workspace .loc-button:hover{background:#edf7f0}.locator-workspace .primary,.locator-workspace .active{background:#08765d;color:white;border-color:#08765d}.locator-workspace .primary:hover,.locator-workspace .active:hover{background:#075740}
.locator-workspace button:disabled{opacity:.5;cursor:not-allowed}.locator-workspace :is(button,a,input,select):focus-visible{outline:3px solid #70bea8;outline-offset:2px}
.locator-tabs{display:flex;gap:8px;margin-bottom:13px}.locator-tabs button{min-width:108px;min-height:32px;padding:6px 13px}
.locator-columns{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:16px;align-items:start}.loc-panel{min-width:0;background:white;border:1px solid #eef2ee;border-radius:12px;padding:16px;box-shadow:0 3px 14px rgba(16,45,51,.025)}
.loc-panel>header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}.loc-panel>header>div{min-width:0}.loc-panel>header p{font-size:11px;overflow-wrap:anywhere}
.locator-workspace label{display:grid;gap:4px;min-width:0;color:#355b59;font-size:11px;font-weight:600}.locator-workspace input,.locator-workspace select{width:100%;min-width:0;height:36px;border:1px solid #e4ebe7;border-radius:7px;background:#fff;padding:7px 9px;color:#102d33;font:12px/normal Arial,Helvetica,sans-serif;box-shadow:0 1px 3px #102d3303}.locator-workspace select{padding-block:0}
.loc-search-row{display:flex;gap:7px;align-items:center;margin-bottom:12px}.loc-search-row>span{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:1px solid #e4ebe7;border-radius:8px;padding-inline:10px}.loc-search-row input{border:0;padding-inline:0;box-shadow:none}.loc-search-row>button[aria-label=Search]{padding:8px;min-width:36px}
.loc-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;margin-bottom:12px;border-block:1px solid #edf2ed}.loc-filters .loc-actions{margin:0}
.loc-table-scroll{overflow:auto}.loc-table{width:100%;border-collapse:collapse;font-size:12px}.loc-table th{text-align:left;background:#f6f8f6;color:#69817f;font-size:10px;padding:9px 7px;font-weight:600;white-space:nowrap}.loc-table td{padding:11px 7px;border-bottom:1px solid #edf2ed;vertical-align:middle}.loc-table tbody tr:last-child td{border-bottom:0}.loc-table tr:hover{background:#f8fbf9}.loc-table tr.selected{background:#f0f8f3}.loc-table td button{min-height:28px;padding:5px 12px;font-size:11px}
.loc-identity{display:flex;align-items:center;gap:9px;min-width:0}.loc-identity>div{min-width:0}.loc-identity strong{font-size:12px;display:block;overflow-wrap:anywhere}.loc-identity small{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-pin{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#f0f5ef;border:1px solid #e4ebe7;border-radius:7px;color:#619681}.loc-pin svg{width:21px;height:21px}
.loc-badge{display:inline-block;font-size:10px;background:#e7f5ee;color:#327854;padding:4px 7px;border-radius:10px;overflow-wrap:anywhere}.loc-badge.visible{background:#e3f5e9}.loc-badge.visible:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#2d9968;margin-right:5px}.loc-badge.hidden{background:#f0f2ef;color:#727d75}.loc-coordinates{font-size:11px;white-space:nowrap}.loc-coordinates span{display:block}
.loc-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:11px;color:#69817f}.loc-pagination>div{display:flex;align-items:center;gap:8px}.loc-pagination button{width:28px;height:28px;min-height:28px;padding:0;border:0;box-shadow:none}
.locator-workspace fieldset{border:0;min-width:0;padding:0;margin:0}.locator-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.locator-form .wide{grid-column:1/-1}.loc-actions{display:flex;gap:9px;align-items:center;margin-top:18px;flex-wrap:wrap}
.loc-coordinate-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px}
/* Compact list/editor controls do not change the map dialog or its controls. */
.locator-list>header{align-items:center;margin-bottom:8px}
.locator-list>header p{line-height:14px;margin-top:2px}
.locator-list>header button,.locator-list .loc-search-row button{min-height:34px;height:34px;padding:6px 11px}
.locator-list .loc-search-row{margin-bottom:10px}
.locator-list .loc-search-row input{height:32px}
.locator-list .loc-search-row>button[aria-label=Search]{width:34px;min-width:34px;padding:7px}
.locator-list .loc-search-row>span{border-color:#e9efea}
.locator-list .loc-table th{height:30px;padding:6px 7px;line-height:16px;background:#f7f9f7}
.locator-list .loc-table td{padding:8px 7px;border-color:#eef2ee}
.locator-list .loc-pin{width:36px;height:36px}
.locator-list .loc-pin svg{width:19px;height:19px}
.locator-list .loc-identity strong{font-weight:600;line-height:16px}
.locator-list .loc-identity small{line-height:14px}
.locator-list .loc-badge{padding:3px 7px;line-height:14px}
.locator-list .loc-pagination{margin-top:12px}
.locator-editor>header{margin-bottom:12px}
.locator-editor>header p{font-size:11px;line-height:14px;margin-top:2px}
.locator-editor .locator-form label{line-height:14px;gap:4px}
.locator-editor .locator-form input{height:34px;border-color:#e9efea;box-shadow:none}
.locator-editor .loc-coordinate-group button{min-height:34px;padding:6px 10px;font-size:11px}
.locator-editor .loc-actions{margin-top:12px}
.locator-editor .loc-actions button{min-height:34px;padding:6px 13px}
.locator-editor .loc-check input{height:15px}
@media(min-width:701px){
 .locator-list .location-table{table-layout:fixed}
 .location-table th:nth-child(1){width:44%}.location-table th:nth-child(2){width:14%}.location-table th:nth-child(3){width:18%}.location-table th:nth-child(4){width:13%}.location-table th:nth-child(5){width:11%}
 .locator-list .location-table td{height:54px}
 .locator-list .loc-identity small{max-width:100%}
 .locator-list .location-table :is(th,td):last-child{text-align:center}
}
.locator-workspace .loc-check{display:flex;align-items:start;gap:8px;font-size:12px;font-weight:600}.locator-workspace .loc-check input{accent-color:#08765d;width:15px;height:15px;flex-shrink:0;margin:2px 0 0}.loc-check small{font-weight:400;margin-top:2px}.loc-error,.loc-success{padding:10px 12px;margin:10px 0;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.loc-error,.locator-workspace .validation-errors{background:#fff0f0;color:#a94141;border:1px solid #edc4c4}.loc-success{background:#e7f5ee;color:#1a6d50}.locator-workspace .validation-errors{font-size:12px;padding:12px 12px 12px 26px;border-radius:8px}.locator-workspace .invalid{border-color:#cc6363}.loc-readonly{margin-top:12px!important}
.loc-empty{display:grid;justify-items:center;text-align:center;gap:15px;padding:40px 15px}.locator-skeleton{height:580px;background:#edf1ed;border-radius:13px}.locator-workspace .loc-mobile-close{display:none}
.locator-map-overlay{position:fixed;inset:0;z-index:2000;background:#102d3355;display:grid;place-items:center;padding:20px}.locator-map-dialog{width:min(850px,100%);max-height:calc(100dvh - 40px);overflow:auto}.loc-map{height:390px;width:100%;border:1px solid #e4ebe7;border-radius:8px;overflow:hidden;margin-top:12px}.loc-picker-coordinates{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.locator-map-dialog .loc-actions>span{flex:1}
.locator-workspace .loc-map :is(button,a){font:inherit;min-height:0;padding:0;border:0;box-shadow:none;border-radius:0}.locator-workspace .loc-map .maplibregl-ctrl-attrib{font:11px Arial,sans-serif}.locator-workspace .loc-map .maplibregl-ctrl-attrib a{display:inline}
@media(max-width:1179px){.locator-columns{grid-template-columns:1fr}.locator-preview{padding:13px;gap:9px}.locator-preview .loc-button{margin:0}.locator-heading{gap:20px}.locator-editor-layer{display:none}.locator-editor-layer.open{display:flex;position:fixed;inset:0;z-index:1500;background:#102d3355;justify-content:end}.locator-editor{width:480px;max-width:100%;height:100dvh;overflow:auto;border-radius:0}.locator-workspace .loc-mobile-close{display:inline-flex;min-width:32px;min-height:32px;padding:6px}.loc-identity small{max-width:280px}}
@media(max-width:700px){.locator-heading{flex-direction:column;align-items:stretch;gap:16px}.locator-preview{justify-content:space-between}.locator-preview .loc-button{flex-shrink:0}.locator-heading h1{font-size:30px}.loc-panel{padding:15px}.locator-list>header{flex-wrap:wrap}.locator-form{grid-template-columns:1fr}.locator-workspace input,.locator-workspace select{font-size:16px}.locator-editor{width:100%}.location-table,.location-table tbody{display:block}.location-table thead{display:none}.location-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 0;border-bottom:1px solid #e8eeea}.location-table td{display:block;padding:0;border:0;min-width:0}.location-table td:first-child{grid-column:1/-1}.location-table td:not(:first-child):before{content:attr(data-label);display:block;color:#69817f;font-size:11px;margin-bottom:4px}.loc-identity small{max-width:240px}.loc-pagination{flex-wrap:wrap}.locator-map-overlay{padding:0}.locator-map-dialog{border-radius:0;width:100%;height:100dvh;max-height:100dvh;display:flex;flex-direction:column}.loc-picker-coordinates{grid-template-columns:1fr 1fr}.loc-picker-coordinates>button{grid-column:1/-1}.loc-map{height:auto;min-height:240px;flex:1}.locator-map-dialog .loc-actions{gap:8px}.locator-map-dialog .loc-actions>span{display:none}.locator-map-dialog .loc-actions>button:first-child{width:100%}.locator-map-dialog .loc-actions>button{flex:1}.locator-workspace .loc-map .maplibregl-ctrl-attrib a{font-size:10px}}
@media(max-width:700px){
 .locator-preview{flex-wrap:wrap;justify-content:start}
 .locator-preview .loc-button{margin-left:auto}
 .locator-list .location-table td{padding:0}
 .locator-list .loc-identity small{white-space:normal;overflow-wrap:anywhere;max-width:100%}
 .locator-workspace .locator-list button,.locator-workspace .locator-editor button{min-height:40px}
 .locator-list .loc-search-row input{height:38px}
 .locator-list .loc-search-row>button[aria-label=Search]{height:40px;min-width:40px}
 .locator-editor .locator-form input{height:40px}
 .locator-editor .loc-check input{height:18px;width:18px}
 .loc-coordinate-group{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .loc-coordinate-group>button{grid-column:1/-1;justify-self:end}
 .locator-editor .loc-check small{line-height:16px}
}
