/* ============================================================
   全球数据中心态势系统 · 样式 v11.11（单页版）
   v11.11：地图设施圆圈按机架数分级着色——新增 .map-legend 色阶图例
        （左下角悬浮：<600蓝 / 600–1,499青 / 1,500–2,999金 / ≥3000红，与 earth.js 色阶一致）
   v11.10：KPI「活跃告警」项移除（指标带 9 项 → 8 项）
   v11.9：城市表「重点城市机架规模」——去掉无数据支撑的负载kW折算列
   v11.8：删除「01 全球总览」幕标题行 —— .sec-hd 样式备用保留（页面已不引用），
        指标带顶格，布局自然收紧
   v11.7：城市负载表去掉「其他合计」行后仅 TOP10；.row.maprow .tbl-wrap
        改 overflow:hidden —— 超出面板高度的行不滚动、不显示
   v11.6：承载用户 TOP10 → TOP20，面板取消 330px 定高——.row.tenrow 改
        flex:0 0 auto，.pb 改常规流（static + 外边距），表格行数自适应、
        高度自然撑开；窄屏媒体查询同步取消承载面板定高，保持自然撑开
   v11.5：「数据中心承载用户 TOP10」表格化——table.ten-tbl 样式
        （金银铜排名徽章、中英文双行名称、类型标签、占比迷你条形、合计行）
   v11.4：双列榜 .tenrow/.rankrow（备用）；城市负载表运营主体列 .op-cell
   v11.3：页面精简为单幕「全球总览」（原 ticker/cL/cR/rank/halves 等样式保留备用）
   v11.2：右侧表「重点城市实时负载 TOP10」，合计行 .load-sum、城市英文小字
   v11.1：负载表 5 列 + 迷你条形三档着色；v11.0：地图 55%（fix55）
   原则：1) 单幕纵向布局，整页滚动，锚点导航；
        2) 无宫格卡片，指标用横带/行式布局；3) 地图等画布面板内容绝对定位定高，
        画布尺寸永远跟随面板，杜绝“地图越刷越高”的布局反馈。
   ============================================================ */
:root{--bg:#050a12;--line:#12395e;--panel:rgba(9,20,36,.66);--cyan:#00eaff;--blue:#2f81f7;
 --gold:#ffc53d;--green:#31d17c;--red:#ff5c5c;--txt:#cfe6ff;--dim:#6d8bab}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{min-height:100%}
body{background:var(--bg);color:var(--txt);font:14px/1.5 "Microsoft YaHei",Arial,sans-serif;overflow-x:hidden}
.screen{min-height:100vh;background:
 radial-gradient(1200px 500px at 15% -10%,rgba(0,110,255,.10),transparent 60%),
 radial-gradient(900px 500px at 95% 115%,rgba(0,234,255,.06),transparent 60%),var(--bg)}

/* ---------- 顶栏（吸顶） ---------- */
.hd{position:sticky;top:0;z-index:99;height:58px;display:flex;align-items:center;justify-content:space-between;
 padding:0 20px;border-bottom:1px solid var(--line);
 background:linear-gradient(180deg,rgba(2,10,22,.94),rgba(2,10,22,.82));backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.logo{flex:0 0 30px;width:30px;height:30px;border-radius:50%;border:2px solid var(--cyan);
 position:relative;box-shadow:0 0 14px rgba(0,234,255,.5)}
.logo:before{content:"";position:absolute;inset:5px;border-radius:50%;
 border:1px dashed rgba(0,234,255,.7);animation:spin 12s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.t1{font-size:20px;font-weight:700;letter-spacing:3px;color:#eaf6ff;text-shadow:0 0 16px rgba(0,234,255,.5);white-space:nowrap}
.t2{font-size:11px;color:var(--dim);letter-spacing:1px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.nav a{position:relative;padding:6px 14px;color:var(--txt);text-decoration:none;font-size:14px;letter-spacing:2px;white-space:nowrap}
.nav a:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:transparent;transition:.2s}
.nav a:hover{color:#fff}
.nav a.on{color:var(--cyan)}
.nav a.on:after{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
#refresh{margin-left:12px;font:11px Consolas,monospace;color:var(--dim);white-space:nowrap;
 border:1px solid rgba(18,57,94,.95);border-radius:10px;padding:2px 9px}
#clock{margin-left:8px;font:12px Consolas,monospace;color:var(--dim);white-space:nowrap}

/* ---------- 幕（section） ---------- */
.sec{display:flex;flex-direction:column;gap:10px;padding:12px 14px 6px;
 height:calc(100vh - 58px);min-height:640px;scroll-margin-top:58px}
/* 总览幕高度＝内容高度：地图行缩小后整个栏目同步收窄，不再强制占满一屏 */
#s-overview{height:auto;min-height:0}
/* 幕标题行（v11.8 起页面已删除「01 全球总览」标题行，样式备用保留） */
.sec-hd{flex:0 0 30px;display:flex;align-items:center;gap:10px;
 font-size:17px;font-weight:700;letter-spacing:3px;color:#eaf6ff;white-space:nowrap}
.sec-hd b{font-family:Consolas,monospace;font-weight:700;font-size:14px;color:var(--gold);
 border:1px solid rgba(255,197,61,.55);border-radius:4px;padding:0 7px;line-height:20px;letter-spacing:0;
 box-shadow:0 0 8px rgba(255,197,61,.2)}
.sec-hd span{margin-left:auto;font-weight:400;font-size:11px;color:var(--dim);letter-spacing:1px;overflow:hidden;text-overflow:ellipsis}

/* ---------- 单排整行指标带（8项 · 风格统一两行式小块） ---------- */
.kpi-band{position:relative;flex:0 0 64px;display:flex;align-items:stretch;overflow:hidden;
 border:1px solid rgba(18,57,94,.75);border-radius:10px;
 background:linear-gradient(90deg,rgba(0,86,170,.20),rgba(6,16,30,.55) 26%,rgba(6,16,30,.55) 74%,rgba(0,150,220,.16));
 box-shadow:inset 0 0 26px rgba(0,80,160,.10)}
.kpi-band:before{content:"";position:absolute;left:6%;right:6%;top:0;height:2px;
 background:linear-gradient(90deg,transparent,rgba(0,234,255,.85),transparent)}
.kpi-band:after{content:"";position:absolute;left:6%;right:6%;bottom:0;height:1px;
 background:linear-gradient(90deg,transparent,rgba(18,57,94,.9),transparent)}
.kb{flex:1 1 0;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px;
 padding:6px 12px;position:relative;transition:background .2s}
.kb:hover{background:rgba(0,234,255,.05)}
.kb .l{display:flex;align-items:center;gap:6px;font-size:11px;color:#9fc4e4;letter-spacing:1px;white-space:nowrap}
.kb .l i{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.kb .l em{font-style:normal;font-size:9px;color:#40688f;letter-spacing:1px;overflow:hidden;text-overflow:ellipsis}
.kb .v{font-family:Consolas,monospace;font-size:22px;font-weight:700;line-height:1.15;color:var(--cyan);
 text-shadow:0 0 14px rgba(0,234,255,.35);white-space:nowrap;transition:text-shadow .2s}
.kb .v small{font-size:11px;font-weight:400;color:var(--dim);margin-left:4px;letter-spacing:1px}
.kb:hover .v{text-shadow:0 0 18px rgba(0,234,255,.7)}
.kb-sep{flex:0 0 1px;margin:12px 0;background:linear-gradient(180deg,transparent,var(--line),transparent)}
.kb-sep2{background:linear-gradient(180deg,transparent,rgba(0,234,255,.55),transparent);margin:8px 0}
.kb.good .v{color:var(--green);text-shadow:0 0 12px rgba(49,209,124,.35)}
.kb.good .l i{background:var(--green);box-shadow:0 0 8px var(--green)}
.kb.bad .v{color:var(--red);text-shadow:0 0 12px rgba(255,92,92,.5)}
.kb.bad .l i{background:var(--red);box-shadow:0 0 8px var(--red);animation:gdcpulse 1.6s infinite}
.kb.gold .v{color:var(--gold);text-shadow:0 0 12px rgba(255,197,61,.4)}
.kb.gold .l i{background:var(--gold);box-shadow:0 0 8px var(--gold)}

/* ---------- 幕内主区：两栏 / 整行面板 ---------- */
.main{flex:1;min-height:0;display:flex;gap:12px}
.main.col{flex-direction:column}
.cL{flex:0 0 68%;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.cR{flex:0 0 32%;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.colE{flex:1 1 0;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.row{flex:1 1 0;min-height:0;display:flex;gap:12px}
.row>.pn{flex:1 1 0;min-width:0}
/* 行内固定宽面板：优先级需高于 .row>.pn 的均分规则（0,3,0） */
.row>.pn.fix70{flex:0 0 70%}
.row>.pn.fix66{flex:0 0 66%}
.row>.pn.fix55{flex:0 0 55%}
.row>.pn.fix50{flex:0 0 50%}
.row>.pn.fix24{flex:0 0 24%}.row>.pn.fix30{flex:0 0 30%}
.row>.pn.fix34{flex:0 0 34%}.row>.pn.fix36{flex:0 0 36%}.row>.pn.fix42{flex:0 0 42%}
/* 地图行：整体定高500px（地图面板55%宽 × 500px高，右侧负载表自适应填满） */
.row.maprow{flex:0 0 500px;min-height:500px}
/* 承载用户行：高度自然撑开（v11.6：TOP20 明细，行数自适应，不再定高） */
.row.tenrow{flex:0 0 auto;min-height:0}
.row.tenrow>.pn>.pb{position:static;left:auto;right:auto;top:auto;bottom:auto;margin:40px 10px 10px}
.row.tenrow .tbl-wrap{height:auto}
.grow{flex:1 1 0;min-height:0}
.fix24{flex:0 0 24%}.fix30{flex:0 0 30%}.fix34{flex:0 0 34%}.fix36{flex:0 0 36%}
.fix42{flex:0 0 42%}.fix50{flex:0 0 50%}.fix55{flex:0 0 55%}.fix66{flex:0 0 66%}.fix70{flex:0 0 70%}
.fix170{flex:0 0 170px}.fix190{flex:0 0 190px}.fix200{flex:0 0 200px}

/* ---------- 面板：标题定高 + 内容绝对定位（防高度反馈） ---------- */
.pn{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:8px;
 min-height:0;min-width:0;box-shadow:inset 0 0 22px rgba(0,80,160,.10)}
.pn>.cap{position:absolute;left:0;right:0;top:0;height:32px;display:flex;align-items:center;
 padding:0 12px 0 10px;font-size:14px;font-weight:600;letter-spacing:2px;color:#dff3ff;
 border-bottom:1px solid rgba(18,57,94,.7)}
.pn>.cap:before{content:"";flex:0 0 3px;height:14px;background:var(--cyan);
 box-shadow:0 0 8px var(--cyan);margin-right:8px}
.pn>.cap span{margin-left:auto;font-weight:400;font-size:11px;color:var(--dim);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn>.pb{position:absolute;left:10px;right:10px;top:40px;bottom:10px}
.pb canvas{width:100%;height:100%;display:block}
.cv{width:100%;height:100%;min-height:0}
/* 面板内左右分块（备用样式，当前页面未引用） */
.pb.halves{display:flex;gap:8px}
.half{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.half-cap{flex:0 0 16px;font-size:11px;color:var(--dim);text-align:center;white-space:nowrap}
.half-cv{flex:1 1 0;min-height:0}

/* ---------- 地图机架数分级色阶图例（v11.11，左下角悬浮） ---------- */
.map-legend{position:absolute;left:8px;bottom:8px;z-index:8;display:flex;align-items:center;gap:12px;
 padding:5px 12px;border:1px solid rgba(18,57,94,.85);border-radius:6px;
 background:rgba(4,16,30,.78);font-size:11px;color:#9fc4e4;letter-spacing:.5px;white-space:nowrap}
.map-legend .lg-t{color:var(--dim)}
.map-legend .lg-i{display:flex;align-items:center;gap:5px;font-family:Consolas,monospace;color:#9fc4e4}
.map-legend .lg-i i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;display:inline-block}

/* ---------- 榜单 / 动态流 / 表格 ---------- */
.rank{height:100%;display:flex;flex-direction:column;justify-content:space-evenly;gap:4px;overflow:auto}
/* 双列榜单（备用样式：v11.4 双列榜已被 v11.5 表格取代） */
.rank.rankrow{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,1fr);
 grid-auto-flow:column;gap:2px 36px;overflow:hidden}
.rk{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 6px;min-width:0}
.rk .no{flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#12406b;color:#9fd8ff;
 display:flex;align-items:center;justify-content:center;font-weight:700}
.rk:nth-child(1) .no{background:var(--gold);color:#3a2a00}
.rk:nth-child(2) .no{background:#9fd8ff;color:#04263f}
.rk:nth-child(3) .no{background:#e08a3c;color:#3a1f00}
.rk .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45}
.rk .nm b{color:#eaf6ff;font-weight:600;letter-spacing:.5px}
.rk .nm small{font-size:10px;color:var(--dim);margin-left:4px;letter-spacing:.3px}
.rk .nm .meta{font-size:10px;color:#6d8bab;margin-left:6px;letter-spacing:.3px}
/* 用户/主体类型标签：云服务商青 / 互联网金 / AI算力绿 / 金融灰青 */
.tag.b{color:var(--cyan);border-color:var(--cyan)}.tag.g{color:var(--green);border-color:var(--green)}
.tag.r{color:var(--red);border-color:var(--red)}.tag.y{color:var(--gold);border-color:var(--gold)}
.tag.tb{color:var(--cyan);border-color:rgba(0,234,255,.6);background:rgba(0,234,255,.07)}
.tag.ty{color:var(--gold);border-color:rgba(255,197,61,.6);background:rgba(255,197,61,.07)}
.tag.tg{color:#7ef0c0;border-color:rgba(126,240,192,.55);background:rgba(126,240,192,.06)}
.tag.tg2{color:#9fd8ff;border-color:rgba(159,216,255,.55);background:rgba(159,216,255,.06)}
.rk .vl{color:var(--cyan);font-family:Consolas,monospace;white-space:nowrap;text-align:right;line-height:1.35}
.rk .vl small{font-size:10px;color:var(--dim);margin-left:2px;font-family:"Microsoft YaHei",Arial,sans-serif}
.rk .vl .pct{display:inline-block;font-size:10px;color:#8fd6ff;margin-left:5px}
/* 榜单合计脚注（备用） */
.rank-sum{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;
 font-size:11px;color:var(--dim);letter-spacing:1px;border-top:1px solid rgba(18,57,94,.6);padding-top:4px}
.rank-sum b{color:var(--cyan);font-family:Consolas,monospace}
.feed{height:100%;overflow:auto;display:flex;flex-direction:column;gap:8px}
.alert-item{padding:7px 10px;border-left:3px solid var(--red);background:rgba(120,20,30,.16);
 border-radius:4px;font-size:12px;line-height:1.6}
.alert-item b{color:#ffb1b1}
.alert-item.alert-ok{border-left-color:var(--green);background:rgba(16,60,40,.16)}
.alert-item.alert-ok b{color:#a7f3cf}
.alert-item.alert-info{border-left-color:var(--cyan);background:rgba(0,60,110,.16)}
.alert-item.alert-info b{color:#9fe6ff}
table.grid{width:100%;border-collapse:collapse;font-size:12px}
table.grid th{position:sticky;top:0;background:#0a1c30;color:#8fd6ff;text-align:left;padding:6px 8px;
 border-bottom:1px solid var(--line);font-weight:600;letter-spacing:1px;white-space:nowrap;z-index:2}
table.grid td{padding:6px 8px;border-bottom:1px dashed rgba(18,57,94,.6);white-space:nowrap}
table.grid tr:hover td{background:rgba(0,120,220,.12)}
/* 数值列右对齐（城市实时负载表等） */
table.grid.num th:nth-child(n+2),table.grid.num td:nth-child(n+2){text-align:right}
table.grid.num td:nth-child(n+2){font-family:Consolas,monospace}
/* 城市负载表：行距加大，撑满定高面板 */
table.load-tbl td{padding:11px 8px}
table.load-tbl td:nth-child(2){color:var(--cyan);font-weight:600}
/* 城市表中文名旁的英文小字 */
table.load-tbl td small{font-size:10px;color:var(--dim);letter-spacing:.5px}
/* 运营主体列（v11.4）：左对齐中文、限宽省略、非等宽数字字体 */
table.load-tbl td.op-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;text-align:left;
 color:#9fc4e4;font-family:"Microsoft YaHei",Arial,sans-serif}
/* 城市合计行（TOP10 之外）：金色强调（v11.7 起页面未再渲染，样式备用） */
table.load-tbl tr.load-sum td{background:rgba(255,197,61,.06);border-top:1px solid rgba(255,197,61,.35)}
table.load-tbl tr.load-sum td:first-child{color:var(--gold);font-weight:600}
/* 城市负载表容器：仅 TOP10，超出面板高度不滚动、不显示（v11.7） */
.row.maprow .tbl-wrap{overflow:hidden}

/* ---------- 承载用户 TOP20 明细表（v11.5 表格化） ---------- */
table.ten-tbl th{padding:5px 8px;text-align:left}
table.ten-tbl td{padding:4px 8px;line-height:1.5}
/* 排名徽章列：金银铜圆形序号 */
table.ten-tbl td.rk-no{width:36px;text-align:center;padding-right:0}
table.ten-tbl .rk-no .no{display:inline-flex;width:20px;height:20px;border-radius:50%;
 background:#12406b;color:#9fd8ff;align-items:center;justify-content:center;
 font:700 11px/20px Consolas,monospace;font-style:normal;box-shadow:0 0 0 1px rgba(18,57,94,.8)}
table.ten-tbl .rk-no .no.top1{background:var(--gold);color:#3a2a00;box-shadow:0 0 10px rgba(255,197,61,.5)}
table.ten-tbl .rk-no .no.top2{background:#9fd8ff;color:#04263f;box-shadow:0 0 8px rgba(159,216,255,.4)}
table.ten-tbl .rk-no .no.top3{background:#e08a3c;color:#3a1f00;box-shadow:0 0 8px rgba(224,138,60,.4)}
/* 用户名称列：中文名 + 英文小字（同行排布，超宽省略，悬停看全名） */
table.ten-tbl td.rk-name{max-width:300px;overflow:hidden;text-overflow:ellipsis}
table.ten-tbl td.rk-name b{color:#eaf6ff;font-weight:600;letter-spacing:.5px}
table.ten-tbl td.rk-name small{font-size:10px;color:var(--dim);margin-left:6px;letter-spacing:.3px}
/* 承载城市列：限宽省略，完整城市串见 title */
table.ten-tbl td.rk-cities{max-width:230px;overflow:hidden;text-overflow:ellipsis;color:#9fc4e4}
/* 对齐与数值列 */
table.ten-tbl .ta-r{text-align:right;font-family:Consolas,monospace}
table.ten-tbl .ta-c{text-align:center}
table.ten-tbl .dim{color:#8fb0cd}
table.ten-tbl td.c-val{color:var(--cyan);font-weight:600}
/* 占比单元格：迷你条形 + 百分数 */
table.ten-tbl td.pct-cell{white-space:nowrap}
table.ten-tbl .pct{display:inline-block;font-size:10px;color:#8fd6ff;font-family:Consolas,monospace;margin-left:5px;vertical-align:1px}
/* 合计行：金色强调（复用 load-sum 基调） */
table.ten-tbl tr.load-sum td{background:rgba(255,197,61,.06);border-top:1px solid rgba(255,197,61,.35);
 color:var(--gold);font-weight:600}
table.ten-tbl tr.load-sum td.c-val{color:var(--gold)}
table.ten-tbl tr.load-sum td.pct-cell .pct{color:var(--gold)}
table.ten-tbl tr.load-sum td:first-child{letter-spacing:.5px}
/* 迷你条形（承载用户占比） */
table.ten-tbl .mini-bar{display:inline-block;vertical-align:-2px;width:50px;height:6px;border-radius:3px;
 background:rgba(18,57,94,.9);margin-right:7px;overflow:hidden}
table.ten-tbl .mini-bar i{display:block;height:100%;border-radius:3px;
 background:linear-gradient(90deg,#0aa2c0,var(--cyan));box-shadow:0 0 6px rgba(0,234,255,.45)}
table.ten-tbl tr.load-sum .mini-bar i{background:linear-gradient(90deg,#c78a1d,var(--gold));box-shadow:0 0 6px rgba(255,197,61,.45)}
table.load-tbl .mini-bar{display:inline-block;vertical-align:-2px;width:50px;height:6px;border-radius:3px;
 background:rgba(18,57,94,.9);margin-right:7px;overflow:hidden}
table.load-tbl .mini-bar i{display:block;height:100%;border-radius:3px;
 background:linear-gradient(90deg,#0aa2c0,var(--cyan));box-shadow:0 0 6px rgba(0,234,255,.45)}
table.load-tbl .mini-bar i.lr-y{background:linear-gradient(90deg,#c78a1d,var(--gold));box-shadow:0 0 6px rgba(255,197,61,.45)}
table.load-tbl .mini-bar i.lr-r{background:linear-gradient(90deg,#a83a3a,var(--red));box-shadow:0 0 6px rgba(255,92,92,.45)}
table.load-tbl b.lr-g{color:var(--green);font-weight:700}
table.load-tbl b.lr-y{color:var(--gold);font-weight:700}
table.load-tbl b.lr-r{color:var(--red);font-weight:700}
.tbl-wrap{height:100%;overflow:auto}
.tips{position:absolute;z-index:9;display:none;background:rgba(4,18,32,.95);border:1px solid var(--cyan);
 border-radius:6px;padding:10px 12px;font-size:12px;color:var(--txt);pointer-events:none;
 box-shadow:0 0 18px rgba(0,234,255,.35);min-width:200px;line-height:1.7}
.tips b{color:var(--cyan)}
.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;animation:gdcpulse 1.6s infinite}
@keyframes gdcpulse{0%,100%{opacity:1}50%{opacity:.25}}
.feed::-webkit-scrollbar,.rank::-webkit-scrollbar,.tbl-wrap::-webkit-scrollbar{width:4px}
.feed::-webkit-scrollbar-thumb,.rank::-webkit-scrollbar-thumb,.tbl-wrap::-webkit-scrollbar-thumb{background:#1c4a74;border-radius:2px}

/* ---------- 页脚 ---------- */
.ft{padding:10px 16px 16px;color:var(--dim);font-size:11px;letter-spacing:1px;text-align:center;
 border-top:1px solid rgba(18,57,94,.5)}

@media (max-width:1100px){
 .sec{height:auto;min-height:0}
 #s-overview{min-height:0}
 .main{flex-direction:column}
 .cL,.cR{flex:0 0 auto;height:auto}
 .pn.grow{height:420px}
 /* 承载用户面板窄屏保持自然撑开（覆盖 .pn.grow 的 420px 定高） */
 .row.tenrow>.pn{height:auto;min-height:0}
 .pn.fix70,.row>.pn.fix70{height:420px}
 .pn.fix66,.row>.pn.fix66{height:420px}
 .pn.fix55,.row>.pn.fix55{height:420px}
 .pn.fix50,.row>.pn.fix50{height:420px}
 .pn.fix24,.pn.fix34,.pn.fix36{height:240px}
 .pn.fix30,.pn.fix42{height:300px}
 .row{flex-direction:column;height:auto}
 .row.maprow{flex:0 0 auto;min-height:0}
 .pn.fix170,.pn.fix190{height:260px}
 .colE{height:260px}
 .sec-hd span{display:none}
 .kpi-band{flex:0 0 auto;flex-wrap:wrap}
 .kb{flex:1 1 30%;padding:10px 14px}
 .kb-sep,.kb-sep2{display:none}
 .rank.rankrow{grid-template-columns:1fr}
 table.ten-tbl td.rk-name{max-width:180px}
 table.ten-tbl td.rk-cities{max-width:150px}
}