/* pro-wall.css — single-screen (no vertical scroll) override. Fixed 1920x1080 canvas, scaled to fit. */
html,body{height:100%;margin:0;overflow:hidden}
body{background:var(--page-bg);background-image:var(--page-atmos);background-attachment:fixed}
.bgfx{display:none}
.wrap{max-width:none;margin:0;padding:0;width:100vw;height:100vh;display:grid;place-items:center;overflow:hidden}
#app{display:contents}
.stage{width:1920px;height:1080px;transform-origin:center center;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}
.wall{width:1920px;height:1080px;display:flex;flex-direction:column;padding:9px 20px;gap:7px;overflow:hidden}

/* header on one line */
.wall .appbar{margin:0;padding:0 0 9px;flex:none;flex-wrap:nowrap;gap:14px}
.wall .brand .b2{font-size:10.5px}
.wall .dclass{flex-basis:auto;border-top:0;padding-top:0;margin:0;font-size:9px}
.wall .hmeta{font-size:9.5px;line-height:1.5}

/* bands */
.rowA{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:10px;flex:0.92 1 0;min-height:0}
.rowC{display:grid;grid-template-columns:minmax(0,0.94fr) minmax(0,2fr);gap:10px;flex:1.28 1 0;min-height:0}
.rowA>*,.rowC>*,.kpi6>.card,.ops9>.card{min-width:0;min-height:0}
.wall .ribbon{flex:none;margin:0}
.wall .ribbon .alrt{padding:8px 13px}.wall .ribbon .rb-h{padding:9px 15px;font-size:12.5px}
.wall .foot{flex:none;margin:0;padding-top:7px;grid-template-columns:repeat(3,1fr);gap:20px}
.wall .fcol{font-size:10px}.wall .fic{width:22px;height:22px;font-size:12px}

.kpi6{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:10px;min-height:0}
.ops9{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;min-height:0}
.wall .ops9 .card{padding:7px 11px}
.wall .ops9 .c-val b{font-size:19px}
.wall .ops9 .c-foot{padding-top:4px;font-size:7px}
.wall .ops9 .c-sub{margin-top:3px}
.rowA>.worldpanel,.rowC>.panel,.kpi6>.card,.ops9>.card{min-height:0}

/* world panel */
.wall .worldpanel{padding:11px 14px;min-height:0;overflow:hidden}
.wall .worldpanel .wm-holder{min-height:0;flex:1}
.wall .wm-cap h2{font-size:15px}
.wall .wm-tot .v{font-size:24px}

/* compact cards */
.wall .card{padding:9px 12px 8px;overflow:hidden}
.wall .c-top{margin-bottom:5px}
.wall .c-id{font-size:9px}.wall .cbadge{font-size:8px;padding:2px 7px}
.wall .c-title{font-size:12px;line-height:1.14}
.wall .c-q{font-size:9.5px;margin-top:3px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wall .kpi6 .c-val{margin-top:5px}
.wall .kpi6 .c-val b{font-size:25px}
.wall .kpi6 .c-q{-webkit-line-clamp:1;margin-top:2px}
.wall .kpi6 .ch-donutwrap>svg{width:58px;height:58px}
.wall .kpi6 .ch-dnum{font-size:12.5px}
.wall .kpi6 .ch-vb{height:44px}
.wall .kpi6 .ch-gi{margin-top:6px}
.wall .kpi6 .ch-donutwrap{margin-top:3px}
.wall .ops9 .c-val b{font-size:20px}
.wall .c-val span{font-size:11px}
.wall .c-big2{font-size:10px;margin-top:4px}
.wall .c-sub{font-size:9.5px;margin-top:4px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wall .c-foot{padding-top:5px;font-size:7.5px}
.wall .c-viz{margin-top:2px}
.wall .ch-area{height:24px;margin-top:5px}
.wall .rag3 span{font-size:19px}.wall .rag3 em{font-size:7.5px}
.wall .ch-prog{margin-top:7px}.wall .ch-stack{margin-top:6px}
.wall .ch-donutwrap{gap:9px}.wall .ch-dnum{font-size:14px}.wall .ch-dleg>div{font-size:10px}
.wall .ch-vb{height:46px}.wall .ch-gi{margin-top:7px}.wall .gilab,.wall .hbcap{margin-top:5px;font-size:8px}
.wall .ch-hbars{gap:5px;margin-top:5px}.wall .ch-hb{font-size:10.5px}
.wall .ringrow{gap:10px}.wall .ch-ring{width:52px;height:52px}
.wall .ch-dual{height:38px}.wall .ch-d2v{font-size:16px}

/* ops funnel — compact */
.wall .ops9 .ch-fun{gap:1.5px;margin-top:4px}
.wall .ops9 .ch-frow{gap:7px}
.wall .ops9 .ch-frow i{height:8px}
.wall .ops9 .ch-fl{width:66px;font-size:9px}
.wall .ops9 .ch-fv{width:36px;font-size:10px}

/* --- tighter KPI cards (row 2: donut/bars/gradindex) --- */
.wall .kpi6 .card{padding:8px 12px 7px}
.wall .kpi6 .c-q{font-size:9px;-webkit-line-clamp:1;margin-top:2px}
.wall .kpi6 .c-val b{font-size:23px}
.wall .kpi6 .c-big2{font-size:9.5px;margin-top:3px}
.wall .kpi6 .c-sub{font-size:9px;margin-top:3px;-webkit-line-clamp:1}
.wall .kpi6 .c-foot{padding-top:3px;font-size:7px}
.wall .kpi6 .ch-dnum{font-size:12px}
.wall .kpi6 .ch-dleg>div{font-size:9.5px}
.wall .kpi6 .ch-donutwrap{margin-top:2px;gap:8px}
.wall .kpi6 .ch-vb{height:42px}
.wall .kpi6 .ch-gi{margin-top:5px}
.wall .kpi6 .gilab{margin-top:4px;font-size:7.5px}
.wall .kpi6 .ch-gitrack{height:8px}
.wall .kpi6 .ch-gimark{height:12px}
.wall .kpi6 .rag3 span{font-size:18px}
.wall .kpi6 .ch-prog{margin-top:6px}
.wall .kpi6 .ch-area{height:21px}

/* --- tighter ops cards so nothing clips in the no-scroll rows --- */
.wall .ops9 .card{padding:6px 11px 5px}
.wall .ops9 .c-top{margin-bottom:3px}
.wall .ops9 .c-title{font-size:11.5px;line-height:1.1}
.wall .ops9 .c-val{margin-top:2px}
.wall .ops9 .c-val b{font-size:17px}
.wall .ops9 .c-sub{margin-top:3px;font-size:9px;-webkit-line-clamp:1}
.wall .ops9 .c-foot{padding-top:3px;font-size:6.5px}
.wall .ops9 .ch-area{height:19px;margin-top:4px}
.wall .ops9 .ch-hbars{gap:3px;margin-top:4px}
.wall .ops9 .ch-hb{font-size:9.5px}
.wall .ops9 .ch-hbt{height:6px}
.wall .ops9 .hbcap{margin-top:3px;font-size:7.5px}
.wall .ops9 .ringrow{gap:9px}
.wall .ops9 .ch-ring{width:44px;height:44px}
.wall .ops9 .ch-dual{height:30px;margin-top:4px}
.wall .ops9 .ch-fun{gap:1px;margin-top:3px}
.wall .ops9 .ch-frow{gap:6px}
.wall .ops9 .ch-frow i{height:7px}
.wall .ops9 .ch-fl{font-size:8.5px}
.wall .ops9 .ch-fv{font-size:9.5px}
.wall .kpi6 .ch-donutwrap>svg{width:54px;height:54px}

/* map band -> stacked (map over top-3) */
.wall .mapband{grid-template-columns:1fr;gap:8px;padding:11px 13px;overflow:hidden}
.wall .mb-l{display:flex;flex-direction:column;min-height:0}
.wall .mb-h{margin-bottom:5px}.wall .mb-h h2{font-size:13.5px}.wall .mtab{padding:4px 7px}
.wall .mb-map{flex:1;height:auto;min-height:120px}
.wall .mb-legend{margin-top:5px}
.wall .mb-r{border-left:0;border-top:1px solid var(--hair);padding-left:0;padding-top:8px;gap:6px;flex:none}
.wall .t3-h{margin-bottom:1px;font-size:9px}
.wall .t3n{width:18px;height:18px;font-size:10px}.wall .t3nm{font-size:11.5px;min-width:64px}.wall .t3row b{font-size:11px}
.wall .t3-own{display:none}
