.location-dialog{color-scheme:light;background:#f4f8f6;color:#17372d;border:1px solid #aec9be;border-radius:14px;width:780px;max-width:calc(100vw - 24px);padding:24px;max-height:92vh;overflow:auto;font:13px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}.location-dialog::backdrop{background:#041613b8;backdrop-filter:blur(5px)}.location-heading{display:flex;justify-content:space-between;align-items:flex-start}.location-heading small{letter-spacing:2px;color:#648a7b;font-size:9px}.location-heading h2{font-size:23px;margin:5px 0 18px;font-weight:600}.location-dialog button{cursor:pointer;border:1px solid #acc5b9;background:#fff;color:#20543f;border-radius:6px;padding:9px 12px;font:inherit}.location-dialog button:disabled{opacity:.45;cursor:not-allowed}.location-heading>button{font-size:23px;line-height:1;padding:5px 10px}.location-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#527363}.location-field input,.location-field select{width:100%;background:#fff;border:1px solid #aec8ba;color:#183d2d;padding:10px;border-radius:6px;font:inherit;min-width:0}.location-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.location-dialog .location-primary{background:#166a50;border-color:#166a50;color:#fff}.location-dialog p{font-size:12px;color:#527363;line-height:1.7;margin:10px 0}.location-dialog #location-status{padding:9px 12px;border-left:3px solid #539e7f;background:#e4efe9;min-height:35px;color:#1e6248}.location-candidate{display:flex;gap:7px;align-items:center;border:1px solid #bfd2c8;background:#fff;border-radius:7px;margin:7px 0;padding:3px}.location-dialog .location-pick{display:block;flex:1;min-width:0;text-align:left;border:1px solid transparent;padding:9px}.location-pick strong,.location-pick span,.location-pick small{display:block}.location-pick span{font-size:11px;color:#587466;margin:4px 0}.location-pick small{font-size:10px;color:#8c6b34}.location-pick[aria-pressed=true]{background:#e1f2e8;border-color:#42896b!important}.location-dialog a{color:#246b50;text-decoration:underline}.location-source{font-size:10px;white-space:nowrap;margin-right:9px}.location-dialog #location-map{height:290px;background:#e5ece6;border:1px solid #b7cdbf;border-radius:7px;margin-top:12px;color:#17372d;z-index:0}.location-dialog .leaflet-control-attribution{font-size:9px}.location-dialog .location-help,.location-dialog .location-credit{font-size:10px;color:#6e8477}.location-manual-pin{font-size:28px;color:#157959;text-shadow:0 0 3px #fff}.new-store-form{display:grid;gap:9px;padding:14px;border:1px solid #577c6b66;border-radius:7px;margin:18px 0}.new-store-form label{display:grid;gap:6px;font-size:11px}.new-store-form input{font:inherit;padding:9px;border:1px solid #668d7b77;border-radius:5px;background:#ffffff0c;color:inherit;width:100%;min-width:0}.new-store-form h3{margin:0 0 4px;font-size:14px}.new-store-form button{justify-self:start}.location-store-action{display:block;width:calc(100% - 36px);margin:10px 18px}.location-dialog button:focus-visible,.location-dialog input:focus-visible,.location-dialog select:focus-visible{outline:2px solid #188d69;outline-offset:2px}@media(max-width:600px){.location-dialog{padding:16px}.location-dialog #location-map{height:230px}.location-heading h2{font-size:20px}.location-actions button{font-size:11px}.location-candidate{align-items:flex-start}.location-source{padding-top:12px}.location-field select{font-size:11px}}

@media(max-width:700px){body:has(#geocode-btn) .topbar:has(nav){flex-wrap:wrap;height:auto!important;min-height:65px;gap:10px!important;padding:12px 14px!important}body:has(#geocode-btn) .topbar nav{width:100%;margin-left:0;justify-content:space-between}body:has(#geocode-btn) .topbar nav .button{flex:1;gap:4px;font-size:10px}}

.location-save-actions{position:sticky;bottom:-24px;z-index:1000;background:#f4f8f6;padding:12px 0;margin-bottom:-24px!important;box-shadow:0 -8px 18px #f4f8f6}.location-dialog .location-heading{position:sticky;top:-24px;z-index:1000;background:#f4f8f6;padding-top:8px}@media(max-width:600px){.location-save-actions{bottom:-16px;margin-bottom:-16px!important}.location-dialog .location-heading{top:-16px}}

/* 离线坐标录入：不依赖在线定位服务，也不依赖地图瓦片 */
.location-coords{padding:12px 14px;border:1px solid #cdd8c0;border-left:3px solid #c78b32;background:#fff8ea;border-radius:7px;margin:10px 0}
.location-coords[hidden]{display:none}
.location-coords>p{margin:0 0 9px;color:#6b5a35}
.location-coords-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr auto;gap:8px;align-items:end}
.location-coords-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#527363;min-width:0}
.location-coords-grid input,.location-coords-grid select{width:100%;background:#fff;border:1px solid #aec8ba;color:#183d2d;padding:9px;border-radius:6px;font:inherit;min-width:0}
.location-coords-grid button{height:37px;white-space:nowrap}
.location-coords #location-coords-error{margin:7px 0 0!important;color:#b3402f;font-weight:600}
@media(max-width:600px){.location-coords-grid{grid-template-columns:1fr 1fr}.location-coords-grid button{width:100%}}

/* 自动定位：进度 / 复核面板。三个页面主题不同，这里显式声明全部颜色。 */
.atlas-auto{position:fixed;left:18px;bottom:18px;z-index:9998;width:352px;max-width:calc(100vw - 36px);max-height:min(72vh,640px);overflow:auto;background:#f4f8f6;color:#17372d;border:1px solid #aec9be;border-radius:12px;box-shadow:0 14px 42px #04161347;padding:15px 16px 13px;font:12px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
.atlas-auto[hidden]{display:none}
.atlas-auto-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.atlas-auto-head small{display:block;letter-spacing:2px;font-size:9px;color:#648a7b}
.atlas-auto-head strong{display:block;font-size:15px;margin-top:2px;font-weight:650}
.atlas-auto-head button{border:0;background:transparent;color:#527363;font-size:20px;line-height:1;padding:0 4px;cursor:pointer}
.atlas-auto-head button:hover{color:#b3402f}
.atlas-auto-status{margin:10px 0 8px;padding:8px 10px;background:#e4efe9;border-left:3px solid #539e7f;border-radius:0 5px 5px 0;color:#1e6248;min-height:32px;word-break:break-word}
.atlas-auto-bar{height:6px;background:#d8e5dd;border-radius:6px;overflow:hidden}
.atlas-auto-bar i{display:block;height:100%;width:0;background:#18855f;transition:width .25s ease}
.atlas-auto-counts{display:flex;gap:16px;margin:9px 0 2px;font-size:11px;color:#527363}
.atlas-auto-counts b{font-size:13px;color:#17372d;font-variant-numeric:tabular-nums}
.atlas-auto-counts [data-count=failed] b{color:#a9761b}
.atlas-auto-actions{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0 9px}
.atlas-auto button{cursor:pointer;font:inherit;font-size:11px;border:1px solid #acc5b9;background:#fff;color:#20543f;border-radius:6px;padding:7px 10px}
.atlas-auto button:hover{background:#e8f2ec}
.atlas-auto button[data-act=stop]{border-color:#c8948b;color:#a23b32}
.atlas-auto button:disabled{opacity:.45;cursor:not-allowed}
.atlas-auto-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#3f6152;cursor:pointer;user-select:none}
.atlas-auto-toggle input{accent-color:#18855f;width:14px;height:14px;margin:0}
.atlas-auto-note{margin:8px 0 0;font-size:10px;line-height:1.65;color:#6e8477}
.atlas-auto-results{margin-top:10px;border-top:1px solid #cbdcd2;padding-top:9px}
.atlas-auto-results[hidden]{display:none}
.atlas-auto-results h4{margin:9px 0 6px;font-size:11px;color:#3f6152;font-weight:650}
.atlas-auto-list{max-height:220px;overflow:auto;display:grid;gap:5px}
.atlas-auto-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d3e2d8;border-radius:6px;padding:6px 8px}
.atlas-auto-row-info{flex:1;min-width:0}
.atlas-auto-row-info strong{display:block;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atlas-auto-row-info small{display:block;font-size:10px;color:#7b8f84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atlas-auto-row button{white-space:nowrap;padding:5px 9px}
.atlas-auto-hint{margin:7px 0 0;font-size:10px;color:#7b8f84;line-height:1.6}
@media(max-width:600px){.atlas-auto{left:10px;right:10px;bottom:10px;width:auto;max-height:60vh}.atlas-auto-list{max-height:160px}}
