.cms-admin .cms-echarts-world { overflow: hidden; }
.cms-admin .cms-echarts-body { display: grid; grid-template-columns: minmax(0, 1fr) 286px; }
.cms-admin .cms-map-stage { position: relative; min-width: 0; background: radial-gradient(ellipse at 48% 45%, #fff 0, #f7faff 80%); }
.cms-admin .cms-map-stage-toolbar { position: absolute; z-index: 2; top: 18px; left: 22px; right: 20px; display: flex; align-items: center; justify-content: space-between; color: #64758b; font-size: 12px; pointer-events: none; }
.cms-map-stage-toolbar .cms-map-dot { margin-right: 8px; }
.cms-admin .cms-map-stage-toolbar button { pointer-events: auto; background: #fff; color: #596b82; border: 1px solid #e0e7f0; border-radius: 4px; padding: 5px 10px; cursor: pointer; font-size: 12px; }
.cms-admin .cms-map-stage-toolbar button:hover { color: #1677ff; border-color: #91caff; }
.cms-admin .cms-echarts-canvas { height: 440px; width: 100%; }
.cms-admin .cms-echarts-legend { position: absolute; bottom: 15px; left: 22px; right: 22px; display: flex; justify-content: space-between; gap: 12px; color: #8b98ab; font-size: 11px; }
.cms-echarts-legend a { color: #8b98ab; }
.cms-map-status { position: absolute; inset: 0; display: grid; place-content: center; color: #8190a5; pointer-events: none; font-size: 13px; }
.cms-map-status[hidden] { display: none; }
.cms-map-status.is-error { padding: 40px; text-align: center; }
.cms-admin .cms-map-sidebar { min-width: 0; border-left: 1px solid #edf0f5; padding: 20px; display: flex; flex-direction: column; }
.cms-map-sidebar-heading { display: flex; justify-content: space-between; font-size: 12px; color: #758397; padding-bottom: 10px; }
.cms-map-sidebar-heading span { font-size: 11px; color: #9aa6b6; }
.cms-map-region-list { display: grid; gap: 3px; max-height: 280px; overflow-y: auto; scrollbar-width: thin; }
.cms-map-region-list button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 7px 9px; background: transparent; border: 1px solid transparent; border-radius: 5px; text-align: left; cursor: pointer; color: #45566e; font-family: inherit; font-size: 12px; }
.cms-map-region-list button:hover { background: #f5f8fe; }
.cms-map-region-list button.active { background: #eaf3ff; color: #0958d9; border-color: #d8e9ff; }
.cms-map-region-list button b { margin-left: auto; font-weight: 500; min-width: 18px; text-align: center; }
.cms-map-region-code { display: inline-flex; align-items: center; justify-content: center; min-width: 29px; height: 20px; color: #577ba9; background: #edf3fa; font-size: 10px; border-radius: 3px; }
.cms-map-region-code.is-global { background: #f4efff; color: #8066b6; }
.cms-map-details { margin-top: 14px; padding-top: 14px; border-top: 1px solid #edf0f5; }
.cms-map-detail-title { display: flex; align-items: center; justify-content: space-between; color: #283b54; font-size: 13px; }
.cms-map-detail-title span { color: #8190a5; font-size: 11px; }
.cms-admin .cms-map-detail-site { display: flex; justify-content: space-between; gap: 8px; margin-top: 12px; font-size: 12px; color: #1677ff; }
.cms-map-detail-stats { display: flex; gap: 14px; margin: 7px 0; color: #92a0b2; font-size: 11px; }
.cms-map-detail-stats b { color: #53657c; font-weight: 500; }
.cms-admin .cms-map-workspace-link { margin-top: auto; padding-top: 16px; display: flex; justify-content: space-between; font-size: 12px; }
.cms-map-sidebar button:focus-visible,.cms-map-stage button:focus-visible { outline: 2px solid #91caff; outline-offset: 2px; }
.cms-admin dialog:has(.cms-delete-confirm) { width: 540px; max-width: calc(100vw - 32px); }
.cms-delete-confirm { display: flex; align-items: flex-start; gap: 16px; padding: 8px 0; }
.cms-delete-confirm h3 { margin: 0 0 14px; font-size: 15px; color: #262626; overflow-wrap: anywhere; }
.cms-delete-confirm p { line-height: 1.9; color: #595959; }
.cms-delete-mark { flex-shrink: 0; width: 28px; height: 28px; border: 2px solid #faad14; border-radius: 50%; display: grid; place-content: center; color: #faad14; font-weight: 600; }
.cms-admin dialog:has(.cms-trash) { width: 960px; max-width: calc(100vw - 32px); }
.cms-admin .cms-trash .cms-table { min-width: 620px; }
.cms-trash .cms-table td:first-child { max-width: 280px; }
.cms-trash-pager { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; color: #8c8c8c; font-size: 12px; }
.cms-trash-pager > div { display: flex; gap: 8px; }
@media (max-width: 1100px) {
  .cms-admin .cms-echarts-body { grid-template-columns: minmax(0, 1fr) 240px; }
  .cms-admin .cms-map-sidebar { padding: 16px; }
}
@media (max-width: 850px) {
  .cms-admin .cms-echarts-body { grid-template-columns: minmax(0, 1fr); }
  .cms-admin .cms-echarts-canvas { height: 350px; }
  .cms-admin .cms-map-sidebar { border-left: 0; border-top: 1px solid #edf0f5; }
  .cms-map-region-list { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 190px; }
}
@media (max-width: 480px) {
  .cms-admin .cms-echarts-canvas { height: 280px; }
  .cms-admin .cms-echarts-legend { font-size: 9px; left: 12px; right: 12px; }
  .cms-admin .cms-world-head { flex-wrap: wrap; }
}
