/* Command dashboard — operations map */
.dbx{display:flex;flex-direction:column;gap:16px;color:#10253b}
.dbx-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dbx-upd{flex:1;font-size:13px;color:#4d6478}
.dbx-seg{display:flex;padding:4px;border-radius:10px;background:#dde9ee}
.dbx-seg button{height:32px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#33495c;font-size:13px;font-weight:700}
.dbx-seg button[aria-pressed=true]{background:#fff;color:#082945;box-shadow:0 1px 3px rgba(8,41,69,.15)}
.dbx-sel{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid #c9dbe3;border-radius:10px;background:#fff;font-size:13.5px;font-weight:600;color:#33495c}
.dbx-sel select{border:0;font:inherit;font-weight:700;color:#082945;background:transparent}
.dbx-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.dbx-kpi{display:flex;flex-direction:column;gap:6px;text-align:left;background:#fff;border:1px solid #d9e6ec;border-radius:14px;padding:14px 16px;font:inherit;color:inherit}
button.dbx-kpi{cursor:pointer}button.dbx-kpi:hover{border-color:#9fc4d2;box-shadow:0 6px 18px rgba(8,41,69,.07)}
.dbx-kl{font-size:12.5px;font-weight:700;color:#4d6478}
.dbx-kv{display:flex;align-items:baseline;gap:6px}.dbx-kv b{font-size:28px;font-weight:800;color:#082945;font-variant-numeric:tabular-nums}.dbx-kv span{font-size:13px;color:#4d6478}
.dbx-ks{font-size:12px;font-weight:600;color:#4d6478;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbx-ks.ok{color:#0d6b4a}.dbx-ks.warn{color:#8a5200}.dbx-ks.bad{color:#a12639}
.dbx-kb{display:block;height:6px;border-radius:3px;background:#e3edf2;overflow:hidden}.dbx-kb.lg{height:8px;border-radius:4px}
.dbx-kb i{display:block;height:100%;border-radius:inherit}
.dbx-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.dbx-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.dbx-card{background:#fff;border:1px solid #d9e6ec;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.dbx-card[hidden]{display:none}
.dbx-ch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dbx-ch h2{margin:0;font-size:16px;font-weight:800;color:#082945;flex:1}
.dbx-ch a{font-size:12.5px;font-weight:700;text-decoration:none;color:#00718a}
.dbx-muted{font-size:12px;color:#4d6478}
.dbx-count{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:20px;background:#fdecee;color:#a12639}
.dbx-live{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#0d6b4a}.dbx-live i{width:8px;height:8px;border-radius:50%;background:#1f9d6b;animation:dbxBlink 2s infinite}
@keyframes dbxBlink{50%{opacity:.35}}
.dbx-btn{height:34px;padding:0 12px;border:1px solid #c9dbe3;border-radius:9px;background:#fff;color:#082945;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.dbx-btn.on,.dbx-btn.dark{background:#193966;border-color:#193966;color:#fff}
.dbx-link{border:0;background:none;padding:6px 4px;font:inherit;font-size:12.5px;font-weight:700;color:#00718a;cursor:pointer;white-space:nowrap}
.dbx-mapcard{padding:0;gap:0;overflow:hidden}
.dbx-mapcard .dbx-ch{padding:12px 16px;border-bottom:1px solid #e3edf2}
.dbx-layers{display:flex;gap:6px;flex-wrap:wrap}
.dbx-layers button{height:32px;padding:0 12px;border-radius:20px;border:1px solid #c9dbe3;background:#fff;color:#33495c;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.dbx-layers button[aria-pressed=true]{background:#193966;border-color:#193966;color:#fff}
.dbx-mapwrap{position:relative;height:500px}
.dbx-map{position:absolute;inset:0;background:#e9efe9;z-index:0}
.dbx-legend{position:absolute;left:12px;bottom:22px;z-index:500;display:flex;gap:12px;padding:7px 11px;border-radius:10px;background:rgba(255,255,255,.95);font-size:12px;color:#33495c;box-shadow:0 4px 14px rgba(8,41,69,.12);pointer-events:none}
.dbx-legend span{display:flex;align-items:center;gap:6px}.dbx-legend i{width:10px;height:10px;border-radius:50%}
.dbx-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:600;width:min(360px,80%);padding:18px 20px;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(8,41,69,.2);display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.dbx-empty[hidden]{display:none}.dbx-empty b{font-size:15px;color:#082945}.dbx-empty span{font-size:13px;color:#4d6478;line-height:1.5}
.dbx-pin-wrap{background:none;border:0}
.dbx-pin{transform:translate(-50%,-50%);border:0;padding:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit}
.dbx-pd{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;border:3px solid #fff;box-sizing:border-box;box-shadow:0 0 0 4px rgba(31,157,107,.25),0 6px 14px rgba(8,41,69,.25);background:#1f9d6b}
.dbx-pin.warn .dbx-pd{background:#e08a1e;box-shadow:0 0 0 4px rgba(224,138,30,.3),0 6px 14px rgba(8,41,69,.25)}
.dbx-pin.bad .dbx-pd{background:#c2364b;box-shadow:0 0 0 4px rgba(194,54,75,.3),0 6px 14px rgba(8,41,69,.25)}
.dbx-pin.on .dbx-pd{width:40px;height:40px}
.dbx-pl{font-size:12px;font-weight:700;color:#082945;background:rgba(255,255,255,.96);padding:3px 8px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 6px rgba(8,41,69,.15)}
.dbx-pop .leaflet-popup-content-wrapper{padding:0;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px rgba(8,41,69,.28)}
.dbx-pop .leaflet-popup-content{margin:0;width:280px!important;font-family:Inter,system-ui,sans-serif}
.dbx-pop a.leaflet-popup-close-button{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);font-size:20px;width:28px;height:28px}
.dbx-sc img{width:100%;height:136px;object-fit:cover;display:block;background:#0e2133}
.dbx-sb{padding:12px 14px;display:flex;flex-direction:column;gap:7px}
.dbx-sh{display:flex;align-items:center;gap:8px}.dbx-sh b{flex:1;font-size:14.5px;color:#082945}
.dbx-sb>small{font-size:12.5px;color:#4d6478}
.dbx-sb ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.dbx-sb li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#10253b}.dbx-sb li i{width:8px;height:8px;border-radius:50%;flex:none}.dbx-sb li span{flex:1}.dbx-sb li em{font-style:normal;color:#4d6478}
.dbx-sa{display:flex;gap:8px;margin-top:4px}.dbx-sa .dbx-btn{flex:1;height:36px}
.dbx-pill{font-size:11px;font-weight:800;padding:2px 8px;border-radius:20px;white-space:nowrap}
.dbx-pill.ok{background:#e3f6ed;color:#0d6b4a}.dbx-pill.warn{background:#fff3e0;color:#8a5200}.dbx-pill.bad{background:#fdecee;color:#a12639}
.dbx-place{position:absolute;right:12px;top:12px;bottom:12px;z-index:700;width:280px;max-width:calc(100% - 24px);background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(8,41,69,.25);display:flex;flex-direction:column;overflow:hidden}
.dbx-place[hidden]{display:none}
.dbx-ph{padding:12px 14px;border-bottom:1px solid #e3edf2;display:flex;flex-direction:column;gap:3px}.dbx-ph b{font-size:14px;color:#082945}.dbx-ph small{font-size:12px;color:#00718a;font-weight:600}
.dbx-pls{flex:1;overflow:auto;padding:6px}
.dbx-plc{display:flex;align-items:center;border-radius:9px}.dbx-plc.on{background:#e6f5f6;box-shadow:inset 0 0 0 2px #00b5bb}
.dbx-plc>button:first-child{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:8px;border:0;background:none;text-align:left;font:inherit;cursor:pointer}
.dbx-plc i{width:9px;height:9px;border-radius:50%;flex:none}
.dbx-plc span{display:flex;flex-direction:column;min-width:0}.dbx-plc b{font-size:13px;color:#10253b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dbx-plc small{font-size:11.5px;color:#4d6478}
.dbx-x{width:30px;height:30px;border:0;border-radius:8px;background:none;color:#a12639;font-size:18px;cursor:pointer}
.dbx-place>p{margin:0;padding:8px 14px 12px}
.dbx-attn{display:flex;flex-direction:column;gap:8px}
.dbx-at{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#f3f7fb;border:1px solid #d6e2ee}
.dbx-at.critical{background:#fdf2f3;border-color:#f3c7cf}.dbx-at.warning{background:#fff8ec;border-color:#f1d8ad}
.dbx-ic{width:32px;height:32px;border-radius:9px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff}
.dbx-ic.sm{width:28px;height:28px;border-radius:8px;font-size:9px}
.dbx-att{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.dbx-att b{font-size:13px;font-weight:700;color:#10253b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbx-att small{font-size:11.5px;color:#4d6478;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbx-ok{display:flex;align-items:center;gap:8px;margin:0;padding:10px;border-radius:10px;background:#eefaf4;color:#0d6b4a;font-size:13px;font-weight:600}.dbx-ok i{width:8px;height:8px;border-radius:50%;background:#1f9d6b}
.dbx-feed{display:flex;flex-direction:column;max-height:330px;overflow:auto}
.dbx-fi{display:flex;align-items:center;gap:10px;padding:7px 2px;border:0;border-top:1px solid #eef3f6;background:none;text-align:left;font:inherit;cursor:pointer;width:100%}
.dbx-fi:first-child{border-top:0}.dbx-fi:hover{background:#f7fbfc}
.dbx-fi time{font-size:11.5px;color:#4d6478;font-variant-numeric:tabular-nums}
.dbx-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.dbx-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dbx-shot{position:relative;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:#0e2133;height:96px}
.dbx-shot img{width:100%;height:100%;object-fit:cover;display:block}
.dbx-shot span{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 6px;background:linear-gradient(transparent,rgba(8,20,32,.85));color:#fff;display:flex;gap:6px;text-align:left}
.dbx-shot b{flex:1;font-size:11.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbx-shot small{font-size:11px;opacity:.9;white-space:nowrap}
.dbx-bars{height:150px;display:flex;align-items:stretch;gap:3px;border-bottom:1px solid #d9e6ec;padding-bottom:1px}
.dbx-bar{flex:1;display:flex;flex-direction:column-reverse;gap:1px;min-width:0}
.dbx-bar i{display:block;border-radius:2px;min-height:2px}
.dbx-axis{display:flex;gap:3px;font-size:10.5px;color:#4d6478}.dbx-axis span{flex:1;min-width:0;white-space:nowrap;overflow:visible}
.dbx-key{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#33495c}.dbx-key span{display:flex;align-items:center;gap:6px}.dbx-key i{width:10px;height:10px;border-radius:3px}
.dbx-store{display:flex;flex-direction:column;gap:14px}
.dbx-st{display:flex;flex-direction:column;gap:6px}
.dbx-st>div{display:flex;font-size:13px}.dbx-st>div b{flex:1}.dbx-st>div span{color:#4d6478;font-variant-numeric:tabular-nums}
.dbx-st small{font-size:11.5px;color:#4d6478}.dbx-st small.warn{color:#8a5200;font-weight:600}
@media (max-width:1150px){.dbx-main{grid-template-columns:1fr}}
@media (max-width:640px){.dbx-mapwrap{height:380px}.dbx-legend{display:none}.dbx-shots{grid-template-columns:1fr 1fr}}
