/* Keep the existing map and branding; fit the workspace to the viewport. */
html,body{height:100%;overflow:hidden}body{height:100dvh;display:flex;flex-direction:column}header{flex:0 0 76px;gap:16px}.by{gap:12px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{width:40px;height:40px;padding:8px;display:grid;place-items:center;color:#fff;background:transparent;border:1px solid #ffffff45;border-radius:7px}.header-actions button:hover{background:#ffffff18}.header-actions button:disabled{opacity:.5;cursor:wait}.header-actions a{margin-left:8px}.header-actions svg{display:block}
@media(max-width:800px){header{padding:0 16px;gap:10px}.by{gap:8px}.by>span,.by>img,.by>.admin-logo{display:none}.brand img{width:180px}.header-actions{gap:6px}}
@media(max-width:480px){header{padding:0 10px;flex-basis:64px}.brand img{width:135px}.header-actions button{width:36px;height:40px;padding:6px}.header-actions a{font-size:12px;margin-left:3px}.by{gap:0}}
main{position:relative;flex:1;min-height:0;height:auto;display:grid;grid-template-columns:370px minmax(0,1fr);--panel-width:370px}aside{min-height:0;height:auto;max-height:none}.canvas{height:auto;min-width:0;min-height:0}.panel-closed{grid-template-columns:0 minmax(0,1fr)}aside[hidden]{display:none}.panel-closed .canvas{grid-column:2}.panel-toggle{position:absolute;left:var(--panel-width);top:14px;z-index:850;width:28px;height:44px;padding:0;border-left:0;border-radius:0 7px 7px 0;box-shadow:2px 2px 8px #151b2218;display:grid;place-items:center}.panel-closed .panel-toggle{left:0}
@media(max-width:1000px){main{grid-template-columns:320px minmax(0,1fr);--panel-width:320px}main.panel-closed{grid-template-columns:0 minmax(0,1fr)}}
@media(max-width:720px){main{display:grid;grid-template-columns:min(300px,75vw) minmax(0,1fr);--panel-width:min(300px,75vw)}aside{order:initial;padding:18px}.canvas{order:initial}.panel-closed{grid-template-columns:0 minmax(0,1fr)}#records{max-height:none}.legend{gap:8px;padding:10px;bottom:95px}.mapnote{font-size:11px}#detail{max-width:calc(100% - 50px);width:230px}}
.maptop{justify-content:flex-end}.leaflet-control-zoom{margin-top:72px!important}#detail{top:88px}.map-notice{position:fixed;z-index:3000;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);width:max-content;padding:14px 16px;border:1px solid #d5dadd;border-radius:10px;background:#fff;color:#252626;box-shadow:0 6px 28px #0003;font-size:14px}.map-notice[hidden],.map-notice [hidden]{display:none}.map-notice a{color:#ae3417;font-weight:700;white-space:nowrap}.map-notice button{border:0;padding:4px 8px}.map-notice span{max-width:480px}
@media(max-width:720px){.map-notice{width:calc(100vw - 32px);flex-wrap:wrap;gap:10px}.map-notice span{flex:1 1 75%}}

a:focus-visible{outline:3px solid #2986c9;outline-offset:3px}
@media(max-width:760px){
 header,.explorer header{height:auto;flex-basis:auto;min-height:100px;flex-wrap:wrap;padding:10px 12px;gap:6px}
 .brand,.explorer .brand{flex:1 0 100%}.brand img,.explorer .brand img{width:155px;max-height:32px}
 .by,.explorer .by{margin:0;width:100%;justify-content:flex-end}.header-actions{width:100%;justify-content:space-between;gap:4px}
 .header-actions a,.explorer .header-actions a{margin:0;font-size:12px;white-space:nowrap}.header-actions button{width:34px;height:36px;padding:5px}
 main,main:not(.panel-closed){grid-template-columns:min(340px,calc(100vw - 40px)) minmax(0,1fr);--panel-width:min(340px,calc(100vw - 40px))}
 main.panel-closed{grid-template-columns:0 minmax(0,1fr)}main:not(.panel-closed) .canvas{visibility:hidden}
 .mapnote{font-size:10px}.legend{bottom:100px}.maptop{top:10px}#detail{top:70px;max-height:35%}
}

.leaflet-control-attribution{max-width:calc(100vw - 12px);white-space:normal!important;text-align:right;line-height:1.3}
@media(max-width:760px){.explorer .network-link{display:block;padding:0;border-right:0}}

.by .admin-logo{align-items:center;line-height:0;color:inherit;text-decoration:none;margin:0;flex:none}.admin-logo img{display:block}
