/* v25: single responsive UI layer.  Layout is controlled here only. */
:root{--right-col:88px;--edge:14px;--panel:520px}
html,body,#app{overflow:hidden!important}
#topbar{position:fixed!important;inset:0!important;height:0!important;margin:0!important;padding:0!important;display:block!important;background:none!important;z-index:5000!important;pointer-events:none!important}
#topbar>*{pointer-events:auto!important}
#logoBtn{position:fixed!important;left:18px!important;top:18px!important;width:68px!important;height:68px!important;padding:0!important;margin:0!important;z-index:5010!important;border-radius:10px!important;line-height:0!important;cursor:zoom-in!important}
#logoBtn .logo-mark{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
#titleGroup{position:fixed!important;left:50%!important;top:22px!important;transform:translateX(-50%)!important;width:min(1100px,calc(100vw - 260px))!important;margin:0!important;text-align:center!important;z-index:5005!important;pointer-events:none!important}
#titleLine{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;white-space:nowrap!important}
#titleLine>span{display:block!important;font-family:Impact,"Arial Black",sans-serif!important;font-size:clamp(22px,3.2vw,48px)!important;line-height:1!important;letter-spacing:1px!important;color:#e7e3d3!important;white-space:nowrap!important}
#titleLine .title-flag{display:block!important;flex:0 0 auto!important;width:30px!important;height:20px!important;object-fit:cover!important}
#updatedLine{margin-top:8px!important;color:#c9a227!important;font-size:clamp(9px,1vw,12px)!important;line-height:1.1!important;white-space:nowrap!important;text-align:center!important}
#stats{position:fixed!important;right:var(--edge)!important;top:18px!important;width:var(--right-col)!important;min-width:var(--right-col)!important;max-width:var(--right-col)!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;z-index:5010!important}
#stats .stat,#stats .campaign-control,#stats .share-control{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}
#stats .stat{min-height:40px!important;padding:5px 4px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
#stats .stat b{font-size:clamp(16px,1.5vw,23px)!important;line-height:1!important}
#stats .stat span{font-size:clamp(8px,.72vw,10px)!important;line-height:1.08!important;white-space:nowrap!important;text-align:center!important}
#stats .stat:nth-child(1){order:3!important}#stats .stat:nth-child(2){order:2!important}#stats .stat:nth-child(3){order:1!important}
#stats .national-control{order:4!important;margin-top:2px!important}#stats .logistics-control{order:5!important;margin-top:6px!important}
#stats .campaign-control{min-height:62px!important;padding:7px 3px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
#stats .campaign-control button{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;margin:0 0 4px!important;display:grid!important;place-items:center!important}
#stats .campaign-control span{font-size:clamp(8px,.7vw,10px)!important;line-height:1.05!important;text-align:center!important;white-space:nowrap!important}
#infoBtn{position:fixed!important;right:calc(var(--right-col) + var(--edge) + 10px)!important;top:18px!important;width:40px!important;height:40px!important;padding:0!important;margin:0!important;z-index:5020!important;border:1px solid #e2661b!important;border-radius:50%!important;background:rgba(8,12,10,.94)!important;color:#e7e3d3!important;font:900 22px/1 Arial,sans-serif!important;text-transform:none!important;display:grid!important;place-items:center!important;cursor:pointer!important}
#infoBtn::before,#infoBtn::after{content:none!important;display:none!important}
#topActions{position:fixed!important;inset:0!important;z-index:5015!important;pointer-events:none!important;display:block!important;transform:none!important}
#topActions>*{pointer-events:auto!important}
#searchBtn,#topActions #searchBtn{position:fixed!important;left:18px!important;top:112px!important;width:124px!important;min-height:42px!important;z-index:5020!important}
body.search-open #searchBtn{visibility:hidden!important;pointer-events:none!important}
#categoryRail{position:fixed!important;left:18px!important;top:166px!important;width:238px!important;max-width:calc(100vw - 36px)!important;z-index:1200!important;box-sizing:border-box!important}
body.search-open #categoryRail,body.search-open #categoryRestore{display:none!important}
#drawer{position:fixed!important;left:18px!important;right:auto!important;top:92px!important;bottom:18px!important;width:min(var(--panel),calc(100vw - 36px))!important;max-width:var(--panel)!important;height:auto!important;max-height:calc(100vh - 110px)!important;z-index:8000!important;transform:none!important;overflow:hidden!important}
#drawer.search-hidden{display:none!important}
#drawer:not(.search-hidden){display:flex!important}
#drawer #list{min-height:0!important;overflow:auto!important}
#detail{position:fixed!important;left:auto!important;right:0!important;top:0!important;bottom:0!important;width:min(var(--panel),calc(100vw - 24px))!important;max-width:var(--panel)!important;height:auto!important;max-height:none!important;z-index:8000!important;transform:translateX(100%)!important;transition:transform .22s ease!important;overflow:auto!important}
#detail.open{transform:translateX(0)!important}
#close{z-index:8010!important}
#basemapToggle,#legend{z-index:1300!important}
@media (min-width:901px){
  #detail{right:0!important}
}
@media (min-width:431px) and (max-width:900px){
  :root{--right-col:72px;--edge:8px}
  #logoBtn{left:8px!important;top:8px!important;width:50px!important;height:50px!important}
  #titleGroup{top:14px!important;width:calc(100vw - 150px)!important}
  #titleLine{gap:6px!important}
  #titleLine>span{font-size:clamp(16px,4vw,30px)!important;letter-spacing:.5px!important}
  #titleLine .title-flag{width:21px!important;height:14px!important}
  #updatedLine{margin-top:5px!important;font-size:8px!important}
  #stats{top:8px!important}
  #infoBtn{top:8px!important;width:32px!important;height:32px!important;font-size:18px!important}
  #searchBtn,#topActions #searchBtn{left:8px!important;top:78px!important;width:108px!important;min-height:34px!important}
  #categoryRail{left:8px!important;top:122px!important;width:210px!important;max-width:calc(100vw - 16px)!important}
  #drawer{left:8px!important;top:92px!important;bottom:8px!important;width:min(var(--panel),calc(100vw - 16px))!important;max-width:var(--panel)!important;max-height:calc(100vh - 100px)!important}
  #detail{right:8px!important;top:8px!important;bottom:8px!important;width:min(var(--panel),calc(100vw - 16px))!important;max-width:var(--panel)!important;border-radius:14px!important}
}
@media (max-width:430px){
  :root{--right-col:58px;--edge:6px}
  #logoBtn{left:8px!important;top:8px!important;width:46px!important;height:46px!important}
  #titleGroup{top:12px!important;width:calc(100vw - 112px)!important}
  #titleLine{gap:4px!important}
  #titleLine>span{font-size:clamp(12px,4.2vw,21px)!important;letter-spacing:.2px!important}
  #titleLine .title-flag{width:18px!important;height:12px!important}
  #updatedLine{margin-top:5px!important;font-size:7px!important}
  #stats{top:8px!important;gap:4px!important}
  #stats .stat{min-height:34px!important;padding:4px 2px!important}
  #stats .campaign-control{min-height:54px!important;padding:5px 2px!important}
  #stats .campaign-control button{width:28px!important;height:28px!important;min-height:28px!important}
  #stats .campaign-control span{font-size:7px!important}
  #infoBtn{top:8px!important;width:30px!important;height:30px!important;font-size:18px!important}
  #searchBtn,#topActions #searchBtn{left:8px!important;top:70px!important;width:104px!important;min-height:32px!important}
  #categoryRail{left:8px!important;top:112px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important}
  #drawer{left:8px!important;top:74px!important;right:8px!important;bottom:8px!important;width:auto!important;max-width:none!important;max-height:calc(100vh - 82px)!important}
  #detail{left:8px!important;right:8px!important;top:8px!important;bottom:8px!important;width:auto!important;max-width:none!important;border-radius:14px!important}
}
