/* War Room: จอเดียวไม่ต้องเลื่อน (จอกว้าง) · มือถือเรียงลงมา */
.wr{display:flex;flex-direction:column;gap:12px}
.wr-clock{font-variant-numeric:tabular-nums;font-weight:600;color:var(--muted,#5e7279);white-space:nowrap;font-size:14px}
.wr-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.wr-kpi{background:var(--surface,#fff);border-radius:16px;padding:10px 14px;box-shadow:inset 0 0 0 1px var(--line,#e1e9eb);min-width:0}
.wr-kpi b{display:block;font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-kpi b small{font-size:16px;opacity:.6}
.wr-kpi span{font-size:13px;color:var(--muted,#5e7279)}
.wr-kpi.crit{background:#fdecec;box-shadow:inset 0 0 0 1px #f5c2c3}.wr-kpi.crit b{color:#c62828}
.wr-kpi.warn b{color:#d06200}.wr-kpi.ok b{color:#2E9E57}
.wr-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.wr-mapcard{background:var(--surface,#fff);border-radius:18px;padding:8px;box-shadow:inset 0 0 0 1px var(--line,#e1e9eb);display:flex;flex-direction:column;min-height:0}
.wr-map{height:62vh;min-height:320px;border-radius:12px;overflow:hidden;background:#e8ecef}
.wr-leg{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;padding:8px 6px 2px}
.wr-leg span,.wr-leg label{display:inline-flex;align-items:center;gap:6px}
.wr-leg .lg{width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:inline-block}
.lg.danger{background:#E5383B}.lg.urgent{background:#F57C00}.lg.open{background:#2D45C8}.lg.going{background:#7B8CEB}
.lg.team{background:#0e9f6e!important;border-radius:50%!important;transform:none!important;box-shadow:0 0 0 2px #fff,0 0 0 3px #0e9f6e}
.lg.sos{background:#E5383B!important;border-radius:50%!important;transform:none!important;box-shadow:0 0 0 3px rgba(229,56,59,.35)}
.wr-side{display:grid;gap:12px;min-height:0;align-content:start}
.wr-card{background:var(--surface,#fff);border-radius:18px;padding:12px 14px;box-shadow:inset 0 0 0 1px var(--line,#e1e9eb);min-width:0;min-height:0;display:flex;flex-direction:column}
.wr-card h2{font-size:15.5px;margin:0 0 8px;display:flex;align-items:center;gap:6px;flex:none}
.wr-card>ol,.wr-card>ul,.wr-card>#alerts{overflow:auto;min-height:0;scrollbar-width:thin}
.wr-alerts.hot{box-shadow:inset 0 0 0 2px #E5383B;animation:wrhot 1.6s ease-in-out infinite}
@keyframes wrhot{50%{box-shadow:inset 0 0 0 2px rgba(229,56,59,.25)}}
@media(prefers-reduced-motion:reduce){.wr-alerts.hot{animation:none}}
.wr-al{border-left:4px solid #94a3b8;padding:6px 0 6px 10px;margin-bottom:6px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.wr-al.sos{border-color:#E5383B}.wr-al.sos b{color:#c62828}.wr-al.call{border-color:#2E9E57}.wr-al.warn{border-color:#F57C00}
.wr-al small{color:var(--muted,#5e7279)}.wr-al b{display:flex;gap:6px;align-items:center;line-height:1.4}
.lnk{border:0;background:none;padding:0 2px;color:var(--primary,#2D45C8);font:inherit;font-weight:600;cursor:pointer}
.wr-q,.wr-teams,.wr-feed{list-style:none;margin:0;padding:0}
.wr-q li{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line,#eef3f4);padding:6px 0}.wr-q li:last-child{border-bottom:0}
.wr-q a{flex:1;min-width:0;text-decoration:none;color:inherit;display:grid;grid-template-columns:auto 1fr auto;gap:2px 8px;align-items:center}
.wr-q a small{grid-column:1/-1;color:var(--muted,#5e7279);font-size:12.5px}
.wr-q b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr-q .tag{font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 8px;background:#e8ebfb;color:#2D45C8}
.wr-q .u3 .tag{background:#E5383B;color:#fff}.wr-q .u2 .tag{background:#F57C00;color:#fff}
.wr-q .ph{width:16px;height:16px;color:var(--muted,#5e7279)}
.wr-teams li{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto auto;gap:2px 8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line,#eef3f4);font-size:14px}.wr-teams li:last-child{border-bottom:0}
.wr-teams small{grid-column:2/-1;color:var(--muted,#5e7279);font-size:12.5px;grid-row:2}
.wr-teams b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr-teams .dot{width:10px;height:10px;border-radius:50%;background:#b8c0cc}.wr-teams .on .dot{background:#0e9f6e;box-shadow:0 0 0 3px rgba(14,159,110,.2)}
.wr-teams .sos .dot{background:#E5383B;box-shadow:0 0 0 3px rgba(229,56,59,.3)}.wr-teams .sos b{color:#c62828}
.wr-teams .st{font-size:12px;color:var(--muted,#5e7279)}.wr-teams .busy{font-size:12px;font-weight:700;background:#eef0ff;color:#2D45C8;border-radius:999px;padding:1px 8px}
.wr-feed li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:5px 0;font-size:13.5px;border-bottom:1px dashed var(--line,#eef3f4)}.wr-feed li:last-child{border-bottom:0}
.wr-feed time{color:var(--muted,#5e7279);font-variant-numeric:tabular-nums}
.wr-feed .sos b,.wr-feed .new.u3 b{color:#c62828}.wr-feed .done b{color:#2E9E57}.wr-feed .team b{color:#2D45C8}
/* หมุดทีม: วงเขียว + ชื่อทีม */
.leaflet-div-icon.wr-team{background:none;border:0}
.wr-team i{display:block;width:16px;height:16px;border-radius:50%;background:#0e9f6e;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);box-sizing:border-box}
.wr-team span{position:absolute;left:18px;top:-3px;white-space:nowrap;background:rgba(14,30,40,.82);color:#fff;font:600 11.5px/1 "IBM Plex Sans Thai",system-ui,sans-serif;padding:4px 7px;border-radius:8px}
.wr-team.stale i{background:#94a3b8}.wr-team.stale span{opacity:.7}
.wr-team.sos i{background:#E5383B;animation:wrsos 1s ease-in-out infinite}.wr-team.sos span{background:#c62828}
@keyframes wrsos{50%{box-shadow:0 0 0 10px rgba(229,56,59,0),0 0 0 0 rgba(229,56,59,.6)}}
/* จอกว้าง: แผนที่ซ้าย + แผงขวา เต็มความสูงจอ */
@media(min-width:1100px){
  body.warroom.wr-overview{overflow:hidden}
  body.warroom.wr-overview #main{height:calc(100dvh - 86px);padding-bottom:10px}
  .wr-grid{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(380px,30%)}
  .wr-mapcard{min-height:0}.wr-map{flex:1;height:auto;min-height:0}
  .wr-side{grid-template-rows:auto minmax(0,1.7fr) minmax(0,.9fr) minmax(0,.9fr);min-height:0;overflow:hidden}
  .wr .status{margin:0;font-size:12.5px}
  body.wr-fs.wr-overview #main{height:calc(100dvh - 76px)}
}
@media(max-width:900px){.wr-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.wr-kpi b{font-size:24px}#fs,.wr-clock{display:none}}
/* ---------- War Room ย่อย ---------- */
.wr-rooms{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wr-roomtabs{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.wr-roomtabs button{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--surface,#fff);box-shadow:inset 0 0 0 1px var(--line,#e1e9eb);border-radius:999px;padding:7px 14px;font:inherit;font-weight:600;font-size:14px;color:var(--ink,#1b1f3b);cursor:pointer;min-height:40px}
.wr-roomtabs button[aria-selected=true]{background:var(--primary,#2D45C8);color:#fff;box-shadow:0 4px 12px rgba(45,69,200,.28)}
.wr-roomtabs small{font-weight:500;opacity:.75}.wr-roomtabs .cr{color:#E5383B;font-weight:700}.wr-roomtabs [aria-selected=true] .cr{color:#ffd2d2}
.wr-roomtabs svg{width:16px;height:16px}
.rdot{display:inline-block;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px #fff;flex:none;vertical-align:-1px}
.wr-sub{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line,#e1e9eb);padding-bottom:6px}
.wr-sub button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:8px 14px;border-radius:10px;font:inherit;font-weight:600;color:var(--muted,#5e7279);cursor:pointer}
.wr-sub button svg{width:18px;height:18px}
.wr-sub button[aria-selected=true]{background:var(--tint,#eef0ff);color:var(--primary,#2D45C8)}
.wr-pane[hidden]{display:none!important}
.wr-over{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1}
.wr-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.wr-tools input[type=search]{flex:1 1 240px;min-width:0;border:1px solid var(--line,#dce6e9);border-radius:10px;min-height:40px;padding:6px 12px;font:inherit;background:var(--surface,#fff);color:inherit}
.wr-tools .seg{display:flex;flex-wrap:wrap}.wr-tools .seg small{opacity:.7}
.wr-tw{overflow-x:auto;background:var(--surface,#fff);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line,#e1e9eb)}
.wr-tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.wr-tbl th{font-size:12.5px;color:var(--muted,#68838f);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line,#e1e9eb);white-space:nowrap}
.wr-tbl td{padding:9px 12px;border-bottom:1px solid var(--line,#eef3f4);vertical-align:middle}.wr-tbl tr:last-child td{border-bottom:0}
.wr-tbl td small{display:block;color:var(--muted,#5e7279);font-size:12.5px}
.wr-tbl .n{text-align:right;white-space:nowrap}.wr-tbl .nw{white-space:nowrap}.wr-tbl .act{white-space:nowrap;text-align:right}.wr-tbl .act .btn{margin-left:4px}
.wr-tbl .tag{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px;background:#e8ebfb;color:#2D45C8;white-space:nowrap}
.wr-tbl .u3 .tag{background:#E5383B;color:#fff}.wr-tbl .u2 .tag{background:#F57C00;color:#fff}
.wr-tbl td.ph{width:72px}.wr-tbl td.ph a{position:relative;display:block;width:60px;height:60px}
.wr-tbl td.ph img{width:60px;height:60px;object-fit:cover;border-radius:10px;display:block;background:#dde2e8}
.wr-tbl td.ph b,.wr-q .qimg b{position:absolute;right:-5px;bottom:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#111827;color:#fff;font:700 10.5px/16px system-ui,sans-serif;text-align:center;border:1.5px solid #fff;box-sizing:content-box}
.wr-tbl select{min-height:36px;border-radius:8px;border:1px solid var(--line,#dce6e9);padding:4px 8px;font:inherit;max-width:180px;background:var(--surface,#fff);color:inherit}
.wr-tbl tr.low td{background:#fff7ed}.lowt{color:#c2410c!important;font-weight:600}
.wr-tbl .mv{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.wr-tbl .mv input{width:90px;min-height:36px;border-radius:8px;border:1px solid var(--line,#dce6e9);padding:4px 8px;font:inherit;background:var(--surface,#fff);color:inherit}
.wr-h3{font-size:15px;margin:16px 0 6px}
.wr-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.wr-tcard{background:var(--surface,#fff);border-radius:16px;padding:12px 14px;box-shadow:inset 0 0 0 1px var(--line,#e1e9eb);display:grid;gap:4px}
.wr-tcard.mine{box-shadow:inset 0 0 0 2px var(--primary,#2D45C8)}
.wr-tcard .h{display:flex;align-items:center;gap:8px}.wr-tcard .h b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wr-tcard .dot{width:10px;height:10px;border-radius:50%;background:#b8c0cc}.wr-tcard .dot.on{background:#0e9f6e}
.wr-tcard small{color:var(--muted,#5e7279);font-size:12.5px}.wr-tcard .st{font-size:12px;color:var(--muted,#5e7279)}
.wr-tcard .a{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}
.wr-prof{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1000px){.wr-prof{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.wr-dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;margin:6px 0 0;font-size:14.5px}.wr-dl dt{color:var(--muted,#5e7279)}.wr-dl dd{margin:0}
/* คิว: รูปเคส */
.wr-q li{align-items:flex-start}
.wr-q .qimg{position:relative;flex:none;width:52px;height:52px;border-radius:10px;display:block}
.wr-q .qimg img{width:52px;height:52px;object-fit:cover;border-radius:10px;display:block;background:#dde2e8}
.wr-q .qimg.none{display:grid;place-items:center;background:var(--bg,#f2f3f7);color:#b8c0cc}.wr-q .qimg.none svg{width:20px;height:20px}
.wr-q .qtx{flex:1;min-width:0;text-decoration:none;color:inherit;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}
.wr-q .qtx small{grid-column:1/-1;color:var(--muted,#5e7279);font-size:12.5px}
/* กล่องฟอร์ม */
.wr-dlg{border:0;border-radius:22px;padding:0;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 24px 60px rgba(10,14,40,.35);background:var(--surface,#fff);color:var(--ink,#1b1f3b)}
.wr-dlg::backdrop{background:rgba(15,20,45,.45)}
.wr-dlg form{display:grid;gap:10px;padding:18px 20px 20px}.wr-dlg h2{margin:0 0 4px;font-size:19px}
.wr-dlg label{display:grid;gap:4px;font-size:13.5px;font-weight:600;color:var(--muted,#5e7279)}
.wr-dlg input,.wr-dlg select{min-height:42px;border-radius:10px;border:1px solid var(--line,#dce6e9);padding:6px 12px;font:inherit;font-size:15px;font-weight:400;color:var(--ink,#1b1f3b);background:var(--surface,#fff)}
.wr-dlg .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wr-dlg fieldset{border:1px solid var(--line,#e1e9eb);border-radius:14px;padding:10px 12px;display:grid;gap:8px}.wr-dlg legend{font-size:13px;font-weight:700;padding:0 4px}
.wr-dlg .acts{display:flex;gap:8px;flex-wrap:wrap}.wr-dlg .acts.end{justify-content:flex-end;margin-top:4px}
.wr-dlg .colors{display:flex;gap:8px;flex-wrap:wrap}.wr-dlg .sw{display:inline-block}.wr-dlg .sw input{position:absolute;opacity:0;width:0;height:0;min-height:0}
.wr-dlg .sw i{display:block;width:28px;height:28px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px transparent;cursor:pointer}.wr-dlg .sw input:checked+i{box-shadow:0 0 0 2px #fff,0 0 0 4px #1b1f3b}
.wr-dlg .sw input:focus-visible+i{outline:3px solid #9fb0ff;outline-offset:3px}
.btn.danger{color:#c62828}
@media(max-width:600px){.wr-dlg .row{grid-template-columns:1fr}.wr-dl{grid-template-columns:1fr}.wr-dl dt{margin-top:6px}}
/* ---------- โครงสร้าง CENTRAL → จังหวัด → โซน → ทีม ---------- */
.wr-roomtabs{align-items:center}
.wr-grp{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:3px 6px 3px 10px;border-radius:999px;background:var(--tint,#eef0ff)}
.wr-grp .gl{font-size:12.5px;font-weight:700;color:var(--muted,#5e7279);white-space:nowrap}
.wr-roomtabs button.central{font-weight:700}
.wr-roomtabs button.zone{font-size:13.5px;min-height:36px;padding:5px 12px}
.wr-sum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
@media(max-width:900px){.wr-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wr-tree{display:grid;gap:10px}
.wr-tree .lvl{display:grid;gap:10px;padding-left:22px;margin-left:12px;border-left:2px solid var(--line,#dce3ea)}
.wr-tree .branch{position:relative;display:grid;gap:10px}
.wr-tree .branch::before{content:"";position:absolute;left:-24px;top:26px;width:22px;border-top:2px solid var(--line,#dce3ea)}
.wr-tree .node{background:var(--surface,#fff);border-radius:16px;padding:12px 14px;box-shadow:inset 0 0 0 1px var(--line,#e1e9eb);display:grid;gap:4px;justify-items:start}
.wr-tree .node.central{background:linear-gradient(135deg,#2D45C8,#1b2a8a);color:#fff;box-shadow:none}.wr-tree .node.central .muted{color:rgba(255,255,255,.8)}
.wr-tree .node.central .k{background:rgba(255,255,255,.16);color:#fff}
.wr-tree .node.prov{box-shadow:inset 0 0 0 2px var(--primary,#2D45C8)}.wr-tree .node.prov.missing{box-shadow:inset 0 0 0 2px dashed;border:2px dashed var(--line,#c9d3dd);box-shadow:none}
.wr-tree .node.free{border:2px dashed #f2b36b;box-shadow:none}
.wr-tree .ttl{font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;color:inherit}
.wr-tree .kk{display:flex;flex-wrap:wrap;gap:6px}
.wr-tree .k{font-size:12.5px;font-weight:600;border-radius:999px;padding:2px 10px;background:var(--bg,#f2f3f7)}.wr-tree .k.cr{background:#fdecec;color:#c62828}.wr-tree .k.warn{background:#fff1e0;color:#b45309}
.wr-tree .tms{display:flex;flex-wrap:wrap;gap:6px}.wr-tree .tm{font-size:12.5px;border-radius:8px;padding:2px 8px;background:#e7f6ef;color:#0b6b4b;font-weight:600}
.wr-tree .addz{justify-self:start}
.wr-team i{position:relative}.wr-team.mv i{box-shadow:0 1px 4px rgba(0,0,0,.4),0 0 0 6px rgba(14,159,110,.25)}
.wr-team .hd{border-bottom-color:#0e9f6e}
