/* R3.4.8: precise VietGreenGIS brand, coherent desktop and mobile controls */
:root{--header:67px;--footer:0px;--status-bar-h:43px}
body{overflow:hidden}
.topbar{height:var(--header);position:relative;background:linear-gradient(90deg,#fff 0%,#f8fcfa 64%,#eaf7f1 100%)!important;border-bottom:1px solid #bdd8c8!important}
.brand-rebuilt{display:flex;align-items:center;min-width:0}
.brand-identity{display:flex;flex-direction:column;align-items:center;gap:0;width:230px;max-width:100%;flex:0 1 auto;overflow:hidden}
.brand-identity img{display:block;width:100%;height:37px;object-fit:contain;object-position:center}
.brand-art-caption{color:#18553b;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:750;line-height:1.3;text-align:center;white-space:nowrap}
.brand-rebuilt .brand-symbol,.brand-rebuilt .brand-wordmark{display:none!important}
.brand-rebuilt:has(#logo:not([hidden])) .brand-identity{display:none}
.brand-rebuilt #logo:not([hidden]){max-width:230px;max-height:49px;object-fit:contain}
.header-actions{gap:8px}
.lang-switch{gap:3px;padding:3px;border-radius:11px}
.lang-switch button{min-width:50px;font-size:12px}
.lang-switch button.active{background:#0c6341!important;color:white!important}
.workspace{height:calc(100dvh - var(--header))!important}
#layerPanel{background:#fbfdfb}
.panel-heading{background:#f1f8f3!important}
.panel-heading h2{font-size:15px}
.panel-foot{background:#f8fcf8}
.atlas-map-search{left:18px!important;top:16px!important;width:min(405px,calc(100vw - 540px))!important;min-width:0!important}
body.atlas-layers-visible .atlas-map-search{left:347px!important;width:min(395px,calc(100vw - 765px))!important;min-width:0!important}
.map-tools{left:18px!important;top:81px!important}
body.atlas-layers-visible .map-tools{left:347px!important}
.map-bottom-right{right:16px;bottom:calc(var(--status-bar-h) + 17px);gap:13px}
.ge-compass{display:block;position:relative;width:62px!important;height:62px!important;min-width:62px!important;border:1px solid #bdd6c8!important;border-radius:50%!important;background:radial-gradient(circle at 35% 25%,#fff,#eff7f2)!important;box-shadow:0 5px 15px rgba(14,63,42,.15)!important;overflow:hidden}
.ge-compass .north-letter{position:absolute;left:50%;top:7px;transform:translateX(-50%);font-weight:900;font-size:15px;line-height:1;color:#18583b}
.ge-compass .needle{display:block;position:absolute;left:50%;width:0;height:0;transform:translateX(-50%)!important;background:transparent!important;min-width:0!important;min-height:0!important;border-radius:0!important;box-shadow:none!important}
.ge-compass .needle-north{top:19px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:18px solid #ca4c40;z-index:1}
.ge-compass .needle-south{top:34px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:17px solid #9eb8a9}
.ge-compass .hub{position:absolute;left:50%;top:34px;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid #dceae1;z-index:2}
.basemap-switch{display:flex;gap:3px;padding:4px;border-radius:13px}
.basemap-switch button{min-width:102px;height:39px;padding:0 11px;font-size:12px;white-space:nowrap}
.map-bottom{height:var(--status-bar-h)!important;min-height:var(--status-bar-h);bottom:0!important;left:0!important;right:0!important;padding:0 14px;display:flex;align-items:center;gap:10px;background:#fbfdfb;max-width:none!important}
.map-bottom .status-left{display:flex;min-width:0;overflow:hidden;flex:1}
.map-bottom .status-right{display:flex;align-items:center;gap:14px}
#statusScale,#statusZoom,#coordinates{font-size:12px}
#statusScale{font-variant-numeric:tabular-nums}
#coordMode{height:30px;min-height:30px;min-width:78px}
.map-scale,.leaflet-control-scale{display:none!important}
.leaflet-control-attribution{margin-bottom:calc(var(--status-bar-h) + 3px)!important;font-size:10px}
.atlas-tile-status{bottom:calc(var(--status-bar-h) + 65px)!important}
#footer{display:none!important}
/* Desktop: the layer manager stays at the left, search never overlaps it. */
@media(min-width:801px){#layerPanel{width:328px!important}.map-bottom-right{z-index:650}}
@media(min-width:801px) and (max-width:1050px){body.atlas-layers-visible .atlas-map-search{left:342px!important;width:calc(100vw - 675px)!important}.atlas-map-search{width:340px!important}.brand-identity{width:195px}.basemap-switch button{min-width:86px}}
@media(max-width:800px){:root{--header:60px;--footer:0px;--status-bar-h:59px}.topbar{padding:4px 9px}.brand-identity{width:146px}.brand-identity img{height:27px}.brand-art-caption{font-size:6px;letter-spacing:.095em}.lang-switch button{min-width:37px;height:28px;min-height:28px;font-size:11px;padding:0 4px}.header-actions #homeBtn{display:none}.atlas-admin-entry{font-size:11px!important;padding:7px!important}.workspace{height:calc(100dvh - var(--header))!important}.atlas-map-search{left:10px!important;right:10px!important;top:10px!important;width:calc(100% - 20px)!important}.map-tools{left:10px!important;top:74px!important}.map-bottom-right{right:10px;bottom:calc(var(--status-bar-h) + 11px);gap:9px}.ge-compass{width:49px!important;height:49px!important;min-width:49px!important}.ge-compass .north-letter{top:5px;font-size:12px}.ge-compass .needle-north{top:14px;border-left-width:7px;border-right-width:7px;border-bottom-width:14px}.ge-compass .needle-south{top:27px;border-left-width:6px;border-right-width:6px;border-top-width:12px}.ge-compass .hub{top:26px}.basemap-switch{padding:3px}.basemap-switch button{font-size:10px;min-width:70px;height:33px;padding:0 7px}.map-bottom{height:var(--status-bar-h)!important;flex-direction:column;align-items:stretch;justify-content:center;padding:4px 10px;gap:3px}.map-bottom .status-left,.map-bottom .status-right{width:100%;justify-content:space-between}.map-bottom .status-right{gap:5px}.map-bottom #coordinates,#statusScale,#statusZoom{font-size:10px}.map-bottom #coordMode{min-height:24px;height:24px;min-width:65px;padding:0 5px;font-size:10px}.leaflet-control-attribution{margin-bottom:calc(var(--status-bar-h) + 3px)!important}}
