/* แผนที่ War Room ชุดเดียวกับแดชบอร์ด (คัดจาก dashboard.css: กล่องแผนที่ คำอธิบายสี ปุ่มลอย เมนูชั้นข้อมูล เต็มจอ) */
.dmap{height:440px;border-radius:12px;overflow:hidden;background:#e8eef0;margin-top:6px}
@media(max-width:900px){.dmap{height:340px}}
.dmap-wrap{position:relative;isolation:isolate}
.fs-bar{position:absolute;top:10px;right:10px;z-index:1000;display:flex;gap:8px}
.fs-btn{width:44px;height:44px;border-radius:12px;border:0;background:#fff;color:#102f42;font-size:22px;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.3);cursor:pointer;display:grid;place-items:center;padding:0}
.fs-btn:active{background:#eef4f5}.fs-lay{display:none}
.mapcard.fs{position:fixed;inset:0;z-index:3000;margin:0;border-radius:0;padding:0;border:0;background:#e8eef0}
.mapcard.fs .map-h>div:first-child{display:none}
.mapcard.fs .dmap-wrap,.mapcard.fs .dmap{height:100vh;height:100dvh;border-radius:0;margin:0}
.mapcard.fs .fs-bar{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}
.mapcard.fs .fs-lay{display:grid}.mapcard.fs .fs-lay[aria-expanded=true]{background:#166d75;color:#fff}
.mapcard.fs .map-tg,.mapcard.fs .map-leg{display:none}
.mapcard.fs.lay .map-h{position:absolute;z-index:1001;top:calc(max(10px,env(safe-area-inset-top)) + 54px);right:max(10px,env(safe-area-inset-right));display:block}
.mapcard.fs.lay .map-tg{display:grid;gap:10px;background:#fff;color:#102f42;border-radius:12px;padding:12px 14px;box-shadow:0 2px 10px rgba(0,0,0,.25);font-size:14.5px;max-width:min(300px,calc(100vw - 20px))}
.mapcard.fs.lay .map-tg label{min-height:28px}
.mapcard.fs.lay .map-leg{display:flex;position:absolute;z-index:1001;left:10px;right:10px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));background:rgba(255,255,255,.95);color:#102f42;border-radius:12px;padding:8px 12px;margin:0;box-shadow:0 2px 10px rgba(0,0,0,.25);font-size:12.5px}
@media(pointer:coarse){.mapcard.fs .leaflet-control-zoom{display:none}}
.mapcard.fs .leaflet-control-attribution{font-size:10px}
body.map-fs{overflow:hidden}
a.kpi-cov{text-decoration:none;color:inherit;box-shadow:inset 3px 0 0 #7b3fc4}a.kpi-cov:active{opacity:.8}
.fs-btn.wide{width:auto;padding:0 14px;font-size:15px;font-weight:700;font-family:inherit;gap:6px;white-space:nowrap}

/* ===== แผนที่หน้าตาแบบหน้าเว็บหลัก (umplus-help): แผนที่เต็มพื้นที่ + ปุ่มลอย + คำอธิบายสี + หมุดหยดน้ำ ===== */
.mx-legend{position:absolute;z-index:500;left:12px;top:12px;background:#fff;border-radius:14px;padding:8px 12px;font-size:12.5px;font-weight:600;color:#161B3D;display:grid;gap:3px;box-shadow:0 8px 28px rgba(22,27,61,.12),0 1px 3px rgba(22,27,61,.08)}
.mx-legend[hidden]{display:none}.mx-legend span{display:flex;align-items:center;gap:8px}
.mx-legend i{width:12px;height:12px;border-radius:50%;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px #D9DEF3}
.mx-legend i.ln{width:16px;height:5px;border-radius:3px;border:0;box-shadow:none}.mx-legend i.sq{border-radius:3px}
.mx-legend .lg-sep{height:1px;background:#E3E6EF;margin:3px 0}
.lp.danger{background:#E5383B}.lp.urgent{background:#f57c00}.lp.open{background:#2D45C8}.lp.going{background:#7B8CEB}.lp.done{background:#2E9E57}
.mx-fabs{position:absolute;z-index:500;right:12px;top:12px;display:grid;gap:10px}
.fab{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;border:0;background:#fff;color:#1F2A5E;padding:0;cursor:pointer;box-shadow:0 8px 28px rgba(22,27,61,.12),0 1px 3px rgba(22,27,61,.08)}
.fab:hover{background:#f4f6fb}.fab.on{background:#2D45C8;color:#fff}.fab.busy svg{animation:mxspin 1s linear infinite}
@keyframes mxspin{to{transform:rotate(360deg)}}
.layer-menu{position:absolute;z-index:600;right:68px;top:12px;background:#fff;border-radius:18px;padding:6px;width:250px;max-height:calc(100% - 24px);overflow:auto;display:grid;gap:2px;align-content:start;box-shadow:0 8px 28px rgba(22,27,61,.16),0 1px 3px rgba(22,27,61,.08)}
.layer-menu[hidden]{display:none}
.lm-bases{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.lm-bases button{min-height:40px;border:0;border-radius:12px;background:#F2F3F7;font:inherit;font-size:14px;font-weight:700;color:#161B3D;cursor:pointer}
.lm-bases button[aria-pressed=true]{background:#2D45C8;color:#fff}
.layer-menu hr{border:0;border-top:1px solid #D9DEF3;margin:4px 6px}
.layer-menu .tg{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 10px;font-size:14px;font-weight:600;color:#161B3D;cursor:pointer;border-radius:10px}
.layer-menu .tg:hover{background:#F2F3F7}.layer-menu .tg input{width:20px;height:20px;accent-color:#2D45C8;flex:none}
.flood-key{display:grid;gap:3px;padding:0 12px 6px 40px;font-size:12px;color:#5a659f}.flood-key span{display:flex;align-items:center;gap:7px}
.flood-key i{width:16px;height:5px;border-radius:3px;flex:none}.flood-key i.sq{width:11px;height:11px}
.lm-src{margin:4px 10px 6px;font-size:11.5px;color:#5B6386}
.leaflet-div-icon.um-pin,.leaflet-div-icon.me-dot{background:none;border:0}
.um-pin span{display:block;width:26px;height:26px;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 8px rgba(15,33,136,.4);margin:2px;position:relative}
.um-pin span::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;left:6px;top:6px}
.um-pin.open span{background:#2D45C8}.um-pin.going span{background:#7B8CEB}.um-pin.done span{background:#2E9E57}.um-pin.urgent span{background:#f57c00}
.um-pin.danger span{background:#E5383B;animation:pinpulse 1.2s ease-in-out infinite}
@keyframes pinpulse{0%,100%{box-shadow:0 0 0 0 rgba(211,47,47,.55),0 3px 8px rgba(15,33,136,.4)}50%{box-shadow:0 0 0 10px rgba(211,47,47,0),0 3px 8px rgba(15,33,136,.4)}}
@media(prefers-reduced-motion:reduce){.um-pin.danger span{animation:none}}
.me-dot span{display:block;width:18px;height:18px;border-radius:50%;background:#2D45C8;border:3px solid #fff;box-shadow:0 0 0 6px rgba(45,69,200,.25)}
/* แดชบอร์ด: ตำแหน่งบนการ์ดแผนที่ */
.dmap{height:480px}.dmap-wrap .mx-legend[hidden],.mx-legend span[hidden]{display:none}
.map-note{font-size:12.5px;color:var(--muted);margin:6px 2px 0}.map-note:empty{display:none}
.mapcard.fs .mx-legend{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left))}
.mapcard.fs .mx-fabs{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
@media(max-width:900px){.dmap{height:380px}.mx-legend{font-size:11.5px;padding:6px 10px;left:10px;top:10px}.mx-legend .lg-sep,.mx-legend .lg-x{display:none}.mx-fabs{right:10px;top:10px;gap:8px}.fab{width:42px;height:42px;border-radius:12px}.layer-menu{right:60px;top:10px;width:230px}}
/* ขนาดในผัง War Room */
.wr-mapcard .dmap-wrap{flex:1;min-height:0;display:flex;flex-direction:column}
.wr-mapcard .wr-map{flex:1;height:62vh;min-height:320px;margin:0;border-radius:14px}
@media(min-width:1100px){body.wr-overview .wr-mapcard .wr-map{height:auto}}
.wr-mapcard.fs .wr-map{height:100vh!important;height:100dvh!important;border-radius:0}
/* pages.css ใช้ .lchip กับชิปสต็อก: คืนรูปแบบชิปคำอธิบายในเมนูชั้นข้อมูลให้เหมือนแดชบอร์ด */
#dlayer .lchip{border:0;min-height:0;padding:3px 10px;font-size:12px;font-weight:400;cursor:default;white-space:nowrap}
#dlayer .lchip:hover{filter:none}#dlayer .lchips{flex-wrap:wrap}
