/* YIHU_ADMIN_MAP_2D_V20 */
.v16-admin-map-layout{grid-template-columns:minmax(0,1fr) 340px}
.v20-map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.v20-layer-button{border:1px solid #245b83;background:#09243b;color:#9fc3dd;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:700}
.v20-layer-button.is-active{border-color:#39d9f2;background:#0c3b58;color:#eafcff;box-shadow:0 0 0 1px rgba(57,217,242,.18),0 0 16px rgba(28,207,235,.13)}
.v20-map-section{padding-top:14px;margin-top:14px;border-top:1px solid #174665}
.v20-map-section h4{margin:0 0 10px;color:#f2fbff;font-size:15px}
.v20-map-fields{display:grid;grid-template-columns:1fr;gap:8px}
.v20-map-fields label{display:grid;gap:5px;color:#8fb4ce;font-size:12px}
.v20-map-fields select{height:38px;border:1px solid #245b83;border-radius:9px;background:#071e33;color:#e9f8ff;padding:0 10px}
.v20-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.v20-map-actions button{min-height:38px;border-radius:9px;border:1px solid #315f80;background:#0a2943;color:#d9f4ff;cursor:pointer;font-weight:700}
.v20-map-actions button.danger{border-color:#8b495a;background:#3a1823;color:#ffccd6}
.v20-map-actions button.restore{border-color:#487c61;background:#123326;color:#c9ffe0}
.v20-map-schema-warning{margin-top:10px;padding:9px 10px;border:1px solid #875363;background:#351b24;color:#ffc4d0;border-radius:9px;font-size:12px;line-height:1.55}
.v20-map-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px;color:#9fbdd2;font-size:12px}
.v20-map-legend span{display:flex;align-items:center;gap:6px}
.v20-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.75)}
.v20-dot.red{background:#ff4257}.v20-dot.orange{background:#ff9e2f}.v20-dot.yellow{background:#f4d53d}.v20-dot.blue{background:#3f9cff}.v20-dot.event{background:#ff7d27}.v20-dot.member{background:#1fe1f2}.v20-dot.expired{background:#717b87;border-radius:2px;transform:rotate(45deg)}
.v20-map-popup{min-width:190px;color:#183047}
.v20-map-popup b{display:block;margin-bottom:5px;font-size:14px}
.v20-map-popup p{margin:4px 0 9px;color:#5d7080;font-size:12px}
.v20-map-popup-actions{display:flex;gap:6px}
.v20-map-popup-actions button{border:0;border-radius:7px;padding:6px 9px;cursor:pointer;background:#177bd2;color:#fff;font-size:12px}
.v20-map-popup-actions button.remove{background:#68737f}
.v20-heat-note{margin:9px 0 0;color:#7fa5c1;font-size:12px;line-height:1.55}
.v20-map-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v20-map-stat-grid .v16-map-stat{margin:0;min-width:0}
.v20-map-stat-grid .v16-map-stat b{font-size:23px}
@media(max-width:1080px){.v16-admin-map-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:980px){.v16-admin-map-layout{grid-template-columns:1fr}.v16-admin-map-side{display:none}}


/* YIHU_ADMIN_MAP_V28_BACK_AND_LABELS */
.v28-map-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.v28-map-back{border-color:#89b7d8!important;background:#eaf6ff!important;color:#155f99!important}
.v28-map-label{
  position:relative;
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
  opacity:1;
  transition:opacity .16s ease,transform .16s ease;
  transform:translateZ(0);
  z-index:3;
}
.v28-map-label.is-hidden{opacity:0}
.v28-road-label{
  color:#e8fcff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.5px;
  text-shadow:
    0 1px 2px #001426,
    0 0 4px #001426,
    0 0 8px rgba(20,211,237,.92);
}
.v28-building-label{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:2px 6px;
  border:1px solid rgba(82,190,255,.28);
  border-radius:5px;
  background:rgba(3,20,38,.74);
  color:#f5fbff;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  text-shadow:0 1px 2px #001426;
  box-shadow:0 0 8px rgba(29,164,238,.16);
}
@media(max-width:760px){
  .v28-map-head-actions{justify-content:flex-start}
  .v28-map-head-actions .btn{padding-left:10px;padding-right:10px}
}

/* YIHU_CAMERA_MAP_STREAM_V37_STYLE_BEGIN */
.v20-map-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v37-camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v37-camera-actions button{border:1px solid #1e6a91;border-radius:10px;padding:10px 8px;background:#0b3650;color:#dff8ff;font-weight:800;cursor:pointer}
.v37-camera-actions .v37-camera-add{background:linear-gradient(135deg,#0c8ac2,#16c7d9);border-color:#35e3f1;color:#fff}
.v37-camera-place-tip{margin-top:9px;padding:9px;border:1px dashed #35d9ef;border-radius:9px;background:rgba(18,172,199,.12);color:#b8f7ff}
.v20-dot.camera{background:#16d5a3;box-shadow:0 0 8px #16d5a3}
.v37-camera-hover-popup .maplibregl-popup-content{padding:0;background:transparent;box-shadow:none}
.v37-camera-hover{min-width:170px;padding:9px 11px;border:1px solid rgba(63,215,241,.65);border-radius:10px;background:rgba(2,25,42,.94);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.v37-camera-hover b,.v37-camera-hover span{display:block}.v37-camera-hover span{margin-top:3px;color:#64efcb}.v37-camera-hover p{margin:5px 0 0;color:#b8cad8}
.v37-camera-popup{min-width:260px}.v37-camera-popup-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.v37-camera-popup p{margin:8px 0}.v37-camera-popup small{display:block;margin-top:9px;color:#789}
.v37-camera-status{padding:3px 8px;border-radius:999px;background:#e5edf3;color:#536575}.v37-camera-status.在线{background:#dff9ef;color:#087955}.v37-camera-status.故障{background:#ffe4e8;color:#c92746}.v37-camera-status.维护中{background:#fff1d5;color:#a96900}
.v37-camera-popup-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.v37-camera-popup-actions button{border:0;border-radius:7px;padding:7px 10px;background:#168ad0;color:#fff;cursor:pointer}.v37-camera-popup-actions .remove{background:#e84b5d}
.v37-camera-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v37-camera-form-grid label{display:grid;gap:6px;font-weight:750}.v37-camera-form-grid .span2{grid-column:1/3}.v37-camera-form-grid input,.v37-camera-form-grid select,.v37-camera-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d4e2ee;border-radius:9px;padding:10px;background:#fff;color:#17324b}.v37-camera-form-note{margin-top:14px;padding:11px;border-radius:10px;background:#fff7df;color:#805c04;line-height:1.65}
.v37-camera-modal .modal{width:min(980px,94vw);max-height:90vh;overflow:auto}.v37-camera-list-modal .modal{width:min(1000px,94vw);max-height:88vh;overflow:auto}
.v37-camera-list{display:grid;gap:9px}.v37-camera-list-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border:1px solid #dce9f3;border-radius:11px;background:#f8fbfe}.v37-camera-list-row.disabled{opacity:.58}.v37-camera-list-row span{display:block;margin-top:4px;color:#708296}.v37-camera-list-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap}
.v37-camera-stream-modal .modal{width:min(1180px,94vw);max-height:92vh;overflow:auto}.v37-camera-stream-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.v37-camera-stream-meta b{font-size:22px}.v37-camera-stream-meta span{padding:4px 10px;border-radius:999px;background:#dff9ef;color:#087955}.v37-camera-stream-meta p{width:100%;margin:0;color:#718397}
.v37-camera-player{height:min(66vh,680px);min-height:420px;border-radius:12px;overflow:hidden;background:#020b12;display:grid;place-items:center}.v37-camera-player iframe,.v37-camera-player video,.v37-camera-player img{width:100%;height:100%;border:0;object-fit:contain;background:#000}.v37-camera-player-loading,.v37-camera-player-error{max-width:640px;padding:28px;text-align:center;color:#c4d5df;line-height:1.8}.v37-camera-player-error{color:#ffb8c3}
html[data-theme="dark"] .v37-camera-form-grid input,html[data-theme="dark"] .v37-camera-form-grid select,html[data-theme="dark"] .v37-camera-form-grid textarea{background:#0c2638;color:#e8f6ff;border-color:#28506a}html[data-theme="dark"] .v37-camera-list-row{background:#0c2638;border-color:#28506a}
@media(max-width:760px){.v37-camera-form-grid{grid-template-columns:1fr}.v37-camera-form-grid .span2{grid-column:auto}.v37-camera-actions{grid-template-columns:1fr}.v37-camera-list-row{align-items:flex-start;flex-direction:column}.v37-camera-player{min-height:300px;height:55vh}}
/* YIHU_CAMERA_MAP_STREAM_V37_STYLE_END */
