*{box-sizing:border-box}body{margin:0;font:15px/1.4 Arial,sans-serif;background:#f4f4f4;color:#222}header{display:flex;align-items:center;gap:20px;background:#343434;color:#fff;padding:10px 20px}h1{font-size:24px;margin:0}header a{margin-left:auto;color:#fff}nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#e7e7e7}button{padding:8px 12px;border:1px solid #777;border-radius:3px;background:#fff;cursor:pointer;color:#222}button:hover{background:#eee}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{padding:6px;width:100%;border:1px solid #999;font:inherit}input[type=checkbox]{width:auto}label{display:block;margin:7px 0}textarea{min-height:64px}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0076bb;outline-offset:2px}main{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"map controls"}main>aside{grid-area:controls}main>#mapArea{grid-area:map}aside{padding:14px;max-height:calc(100vh - 220px);overflow:auto;background:#fff}#mapArea{position:relative;min-width:0}#map{height:calc(100vh - 220px);min-height:450px;background:#ddd}#legend{background:#fffffff0;position:absolute;bottom:24px;right:12px;max-width:260px;max-height:220px;overflow:auto;padding:8px 15px}#legend h2{font-size:17px;margin:0}#status,#compatibility{margin:4px 12px;padding:7px}#compatibility{background:#fff0bd;border:2px solid #995d00}#account{padding:0 14px}#auth{display:flex;gap:12px;flex-wrap:wrap;align-items:end}#auth label{max-width:230px}details{margin:10px 0}summary{font-weight:bold;cursor:pointer}.pair{display:flex;gap:8px}.pair>*{flex:1;min-width:0}#marker{border:2px solid #777;padding:10px}#marker h2{font-size:18px}#locations{padding-left:25px}#locations button{text-align:left;width:100%;margin-bottom:5px}.popup{max-width:300px;max-height:300px;overflow:auto}.popup img{max-width:80px}footer{padding:8px 15px;font-size:12px}.readonly{border-top:6px solid #995d00}@media(max-width:750px){main{display:flex;flex-direction:column-reverse}aside{max-height:none}#map{height:50vh;min-height:300px}header{flex-wrap:wrap}header span{display:none}}@media print{header,nav,aside,#account,#status,footer,#compatibility{display:none!important}main{display:block}#map{height:70vh;width:100%;min-height:0}#legend{position:static;max-height:none;max-width:none}#mapArea{width:100%}@page{size:landscape;margin:10mm}}

.marker-action{display:block;margin:12px 0}

#sidebarActions{padding:0 0 12px;background:transparent;justify-content:flex-end}.save-action{margin:12px 0}.save-action button{width:100%}

#mapList{list-style:none;padding:0;margin:0}.saved-map-row{display:flex;gap:6px;margin:6px 0;width:100%}.saved-map-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}.saved-map-delete{flex:0 0 36px;align-self:stretch}

#sidebarActions #new{width:100%;flex:1 1 100%}

/* Desktop sidebar resizing; mobile retains the stacked map-first layout. */
@media screen and (min-width:751px){main{grid-template-columns:minmax(0,1fr) 8px var(--sidebar-width,360px);grid-template-areas:"map resize controls"}main>aside{min-width:0}#sidebarResize{grid-area:resize;background:#ccc;cursor:ew-resize;touch-action:none;position:relative}#sidebarResize:hover,#sidebarResize:focus-visible{background:#0076bb;outline:2px solid #0076bb;outline-offset:-2px}#sidebarResize::after{content:"";position:absolute;top:45%;left:2px;width:4px;height:32px;border-left:1px solid #777;border-right:1px solid #777}main.sidebar-full>#mapArea{visibility:hidden;overflow:hidden}.sidebar-resizing,.sidebar-resizing *{cursor:ew-resize!important;user-select:none!important}}
@media screen and (max-width:750px){#sidebarResize{display:none}}
@media print{#sidebarResize{display:none!important}main.sidebar-full>#mapArea{visibility:visible!important;overflow:visible!important}}

.save-action button{white-space:pre-line}

/* Blue sidebar with white expanded sections. */
main>aside{background:#E2F3FD}main>aside details[open]{background:#fff;border-radius:3px;padding:10px}main>aside details:not([open]){background:transparent}

.description-field{margin:8px 0}.description-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:5px;background:#f0f0f0;border:1px solid #999;border-bottom:0}.description-toolbar button{padding:5px 8px}.visual-description-editor{min-height:120px;padding:8px;border:1px solid #999;background:#fff;overflow-wrap:anywhere}.visual-description-editor:focus-visible{outline:3px solid #0076bb;outline-offset:1px}.visual-description-editor[aria-readonly=true]{background:#f3f3f3}.visual-description-editor img{max-width:100%}

.description-preview{padding:8px 0;overflow-wrap:anywhere}.description-preview img{max-width:100%}#descriptionEdit,#descriptionDone{margin:6px 0}

#descriptionEdit:not([hidden]){display:block;width:auto;margin:4px 0 6px auto;padding:4px 10px;font-size:12px}

#marker{background:#fff}

.description-field:has(> #descriptionEdit:hover) > #descriptionPreview{background:#f5f5f5}

#plotDefaults{font-size:12px}#plotDefaults input,#plotDefaults select,#plotDefaults textarea,#plotDefaults button{font-size:inherit}

.marker-side-label{position:absolute;transform:translateY(-50%);white-space:nowrap;pointer-events:none;font: bold 12px Arial,sans-serif;color:#111;background:rgba(255,255,255,.9);padding:2px 4px;border-radius:2px}

#plotDuplicate{max-width:460px;border:1px solid #777;border-radius:5px;padding:20px}#plotDuplicate::backdrop{background:rgba(0,0,0,.35)}.duplicate-actions{display:flex;flex-wrap:wrap;gap:8px}#plotResultList{font-size:12px;padding-left:20px}#addresses[readonly]{background:#f3f3f3}

/* Structured import preview and file controls. */
.sheet-paste-hint{font-size:12px;color:#456070;line-height:1.5}#plotMapColumns{background:#eee;color:#333;border:1px solid #ccc;margin-top:6px}#sheetPreview[hidden]{display:none}#sheetPreview{border:1px solid #b5cbd7;border-radius:3px;padding:10px;margin:12px 0;font-size:12px;background:#fff}#sheetPreview h3{margin:0 0 8px;font-size:15px;font-weight:400}#sheetMapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#sheetMapping label{overflow-wrap:anywhere}#sheetMapping select{display:block;margin-top:4px;font-size:12px}#sheetError,.sheet-row-error td:last-child{color:#a12622}#sheetError:empty{display:none}.sheet-table-wrap{overflow:auto;max-height:280px;border:1px solid #d3dee5;margin:10px 0}#sheetPreview table{border-collapse:collapse;min-width:620px;width:100%;font-size:12px}#sheetPreview th,#sheetPreview td{padding:6px;border:1px solid #d3dee5;text-align:left;vertical-align:top;max-width:240px;overflow-wrap:anywhere;white-space:pre-wrap}#sheetPreview th{background:#ebeff1}#sheetPreview .pair{flex-wrap:wrap}#sheetConfirm{background:#aad6f3;color:#0a3c57}
#plotMapColumns{margin-left:6px}#sheetPreview p{overflow-wrap:anywhere}#sheetPreview th:first-child,#sheetPreview td:first-child{min-width:40px}
#plotAdvanced{margin:12px 0}#plotAdvanced>summary,#plotAdvanced[open]>summary{background:#eee;color:#333;border:1px solid #ccc;font-size:16px;text-transform:none}#plotAdvanced>summary::after{color:#555;background:#fff}.advanced-actions{padding-top:6px}.advanced-actions>button{margin:4px 5px 4px 0;background:#eee;color:#333;border:1px solid #ccc}.advanced-actions .sheet-paste-hint{margin:6px 0}#plotAdvanced #plotMapColumns{margin-left:0}
#plotAdvanced>summary,#plotAdvanced[open]>summary,#plotAdvanced button,#plotAdvanced details>summary,#plotAdvanced details[open]>summary{font-size:12px}
.map-columns-help{display:block;margin:12px 0 8px}.map-columns-help>button{display:block;margin:0 0 6px!important}.map-columns-help p{font-size:12px;line-height:1.5;margin:6px 0;color:#456070;overflow-wrap:anywhere}
.map-columns-help{border:1px solid #b5cbd7;border-radius:3px;padding:10px;margin:12px 0;background:#f8fafb}.map-columns-help h3{font-size:13px;font-weight:400;color:#0a3c57;margin:0 0 7px}.map-columns-help>button{margin:10px 0 0!important}
#plotAdvanced details.map-columns-help{padding:0;margin:12px 0;border:1px solid #b5cbd7;background:#f8fafb}#plotAdvanced details.map-columns-help>summary{margin:0;background:#eee;color:#333;font-size:12px;text-transform:none;padding:9px 10px}#plotAdvanced details.map-columns-help[open]{padding:0 10px 10px}#plotAdvanced details.map-columns-help[open]>summary{margin:0 -10px 8px}

/* Shared maps retain group filtering while editing controls are unavailable. */
.view-only [data-edit],.view-only #place,.view-only #save,.view-only #addGroup{display:none}.group-legend-row{display:flex;align-items:center;gap:8px}.group-legend-row input{width:auto}.group-legend-name{overflow-wrap:anywhere}

#importFileInput[hidden],#sheetTools[hidden],#sheetConnect[hidden],#sheetCancel[hidden]{display:none}#sheetPanel{font-size:12px;margin:10px 0}#sheetPanel>summary{font-size:15px;text-transform:none;background:#eee;color:#333}#sheetPanel p,#sheetSavedURL{overflow-wrap:anywhere}#sheetPanel input{font-size:12px}#sheetPanel button{font-size:12px;margin:4px 3px 4px 0}#sheetErrorMessage{color:#a12622;white-space:pre-wrap}.view-only #sheetPanel{display:none!important}

#map .cluster-picker ul{list-style:none;padding:0;margin:8px 0}#map .cluster-picker li+li{margin-top:6px}#map .cluster-picker button{display:block;width:100%;min-height:59px;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#fff;border:1px solid #b5cbd7;color:#0a496a;font:inherit}

/* Defaults/group controls and marker previews. */
#newMarkerPreview{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px;margin:6px 0;background:#f5f5f5;border-radius:3px}#newMarkerPreview svg,#newMarkerPreview img{flex-shrink:0;overflow:visible}
#newMarkerPreview{background:#ebeff1;border-radius:0}#newMarkerHint{color:#456070;line-height:1.5}
#customMarkerColorRow[hidden],#customMarkerColorError[hidden]{display:none}#customMarkerColor{margin-top:6px;font-family:Nunito,Arial,sans-serif}#customMarkerColorError{font-size:12px;color:#a12622}.marker-color-control{min-width:0}
.group-actions{display:flex;flex-wrap:wrap;gap:8px}#groupModifyToggle{margin-top:12px}#modifyGroupHelp{font-size:12px;color:#456070;line-height:1.5}#modifyGroupHelp[hidden],.viewer-legend #groupModifyToggle{display:none}#modifyGroup{background:#eee;color:#333;border:1px solid #ccc}#modifyGroup:hover{background:#e2e2e2}
#groups .group-legend-row{display:flex;align-items:center;gap:8px;min-height:36px}#groups .group-legend-row>input{flex:0 0 auto}#groups .group-legend-name{min-width:0;overflow-wrap:anywhere}.group-marker-previews{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-left:auto}.group-marker-previews>span{display:inline-flex;align-items:center;flex-shrink:0}.group-marker-previews svg{overflow:visible}
