html,body.screen{height:100%}
body.screen{overflow:hidden}
body.screen{background:linear-gradient(135deg,#fff6f9,#f3f7ff 45%,#fef0f6);background-attachment:fixed}
/* 顶部：公司名居中，时钟/配置分列左右 */
.scr-head{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:10px 22px 8px;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
.scr-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}
.scr-name-row{display:flex;align-items:baseline;gap:16px}
.scr-logo{font-size:clamp(20px,2vw,30px);font-weight:800;letter-spacing:6px;color:var(--pink-d);
  background:linear-gradient(90deg,var(--pink-d),var(--lav));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.scr-slogan{font-family:"Ma Shan Zheng Sub",'STXingkai','华文行楷','Xingkai SC','STKaiti','KaiTi','楷体',serif;
  font-size:clamp(15px,1.4vw,22px);font-weight:400;color:var(--lav);letter-spacing:4px;
  padding-left:14px;border-left:2px solid var(--lav);opacity:.92;line-height:1.2}
.scr-sub{font-size:clamp(10px,.7vw,12px);color:var(--lav);letter-spacing:2px;opacity:.9}
.scr-side{display:flex;align-items:center;gap:12px}
.scr-side.l{align-items:center}
.scr-side.r{justify-content:flex-end}
#scr-clock{font-size:clamp(18px,1.7vw,28px);font-weight:700;color:var(--pink-d);letter-spacing:1px;
  font-variant-numeric:tabular-nums;text-shadow:0 1px 0 rgba(255,255,255,.8)}

/* 整屏三区布局：左翼 · 中区(核心) · 右翼，列高铺满视口不出滚动条 */
body.screen{display:flex;flex-direction:column}
.scr-grid{flex:1;min-height:0;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) minmax(0,1fr);
  gap:12px;padding:12px 18px 14px}
.scr-col{display:grid;grid-auto-rows:minmax(0,1fr);gap:12px;min-height:0}
.mod{background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:10px 14px;display:flex;flex-direction:column;position:relative;overflow:hidden;
  border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--pink),var(--lav)) 1;box-shadow:0 8px 24px rgba(196,150,200,.14)}
.mod.core{border-image:linear-gradient(90deg,var(--lav),var(--pink)) 1}
.mod-title{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--txt);margin-bottom:6px;flex:0 0 auto;
  display:flex;align-items:center;gap:8px}
.mod-title::before{content:"";width:6px;height:14px;background:linear-gradient(var(--pink),var(--lav));border-radius:6px}
.mod-body{flex:1;min-height:0}
.chart{width:100%;height:100%}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;height:100%;align-content:center}
.kpi2{background:linear-gradient(135deg,#fff0f5,#f1ecfb);border:1px solid var(--line);border-radius:14px;padding:10px 12px;text-align:center}
.kpi2 .v{font-size:clamp(20px,2.4vw,30px);font-weight:800;color:var(--txt)}
.kpi2 .v.cy{color:var(--mint)} .kpi2 .v.pu{color:var(--lav)} .kpi2 .v.am{color:var(--peach)}
.kpi2 .v.rd{color:var(--rose)} .kpi2 .v.gr{color:var(--pink-d)}
.kpi2 .l{font-size:11px;color:var(--txt-dim);margin-top:4px;letter-spacing:.5px}
.mod table.tbl td,.mod table.tbl th{padding:5px 8px;font-size:12px}
.mod table.tbl{width:100%;table-layout:fixed}
.mod table.tbl th,.mod table.tbl td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mod table.tbl th:nth-child(1),.mod table.tbl td:nth-child(1){width:34%}
.mod table.tbl th:nth-child(2),.mod table.tbl td:nth-child(2){width:20%}
.mod table.tbl th:nth-child(3),.mod table.tbl td:nth-child(3){width:27%}
.mod table.tbl th:nth-child(4),.mod table.tbl td:nth-child(4){width:19%;text-align:center}
.mod table.tbl td:nth-child(3){font-size:11px}
.mod table.tbl tr:hover td{background:rgba(255,240,245,.6)}
.mod .mod-body{overflow:auto}

/* 极矮窗口兜底：不强行压缩，恢复滚动 */
@media (max-height:560px){
  body.screen{overflow:auto;height:auto;display:block}
  .scr-grid{display:flex;flex-wrap:wrap}
  .scr-col{flex:1 1 320px;grid-auto-rows:240px}
}

/* 中等宽度：左右翼收窄 */
@media (max-width:1100px){
  .scr-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,1fr)}
}

/* 手机/窄屏：单列纵排，恢复滚动（大屏本为横屏设计，手机可浏览） */
@media (max-width:760px){
  body.screen{overflow:auto;height:auto;min-height:100%;display:block}
  .scr-head{grid-template-columns:auto 1fr auto;padding:8px 12px 6px;gap:8px}
  .scr-name-row{flex-direction:column;align-items:center;gap:2px}
  .scr-logo{font-size:18px;letter-spacing:3px}
  .scr-slogan{font-size:12px;letter-spacing:2px;padding-left:0;border-left:none}
  .scr-sub{font-size:9px;letter-spacing:1px}
  #scr-clock{font-size:13px}
  .scr-side .btn{padding:6px 10px;font-size:11px}
  .scr-grid{display:flex;flex-direction:column;gap:10px;padding:10px 10px 14px}
  .scr-col{display:contents}
  .mod{min-height:230px}
  .mod .mod-body{min-height:190px}
  .kpi-row{grid-template-columns:1fr 1fr}
  .mod table.tbl th:nth-child(1),.mod table.tbl td:nth-child(1){width:30%}
}
