/* RTP 调控 — unified light theme matching admin shell (Element Plus palette). Dark only for 看板 fullscreen wall. */
.rp{--bg:#f0f2f5;--bg2:#fff;--bg3:#f5f7fa;--bd:#ebeef5;--bd2:#dcdfe6;--tx:#303133;--tx2:#606266;--mu:#909399;--ac:#409eff;--ac-l:#ecf5ff;--up:#2f9e6e;--dn:#d9534f;--wa:#d48806;--ink:#303133;--grid:#e4e7ed;--grid2:#c0c4cc;
  --r:6px;--sh:0 1px 4px #00152914;color:var(--tx);font-size:13px;margin-bottom:16px}
.rp *{box-sizing:border-box}.rp .mono{font-family:Menlo,Consolas,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:12px}.rp .mu{color:var(--mu)}.rp .r{text-align:right}
.rp-head-card{margin-bottom:16px}
.rp-h{display:flex;align-items:center;gap:8px;margin:0 0 12px}.rp-h b{font-size:16px;font-weight:600}.rp-st{color:var(--mu);font-size:12px}
.rp-h .dot{width:8px;height:8px;border-radius:50%;background:var(--up);animation:rpPulse 1.6s infinite}.rp-h .dot.off{background:var(--wa);animation:none}@keyframes rpPulse{50%{opacity:.35}}
.rp-kpi{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;margin-bottom:16px}
@media(max-width:1500px){.rp-kpi{gap:12px}}@media(max-width:1250px){.rp-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:767px){.rp-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rp-k{background:var(--bg2);border-radius:var(--r);padding:14px 16px;min-height:92px;box-shadow:var(--sh);min-width:0}
.rp-k i{display:block;font-style:normal;color:var(--mu);font-size:13px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-k b{display:block;font-size:22px;font-weight:600;color:var(--tx);line-height:1.2;white-space:nowrap}.rp-k small{display:block;color:var(--mu);font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-k .ok,.rp .up{color:var(--up)}.rp-k .bad,.rp .dn{color:var(--dn)}.rp-k .warn{color:var(--wa)}
.rp-tabs{display:flex;gap:4px;background:var(--bg2);border-radius:var(--r) var(--r) 0 0;padding:0 16px;border-bottom:1px solid var(--bd);box-shadow:var(--sh)}
.rp-tabs button{background:none;border:0;color:var(--tx2);padding:14px 16px 12px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.rp-tabs button:hover{color:var(--ac)}.rp-tabs button.on{color:var(--ac);border-color:var(--ac);font-weight:500}.rp-tabs button:focus-visible{outline:2px solid var(--ac-l)}
.rp-pane{background:var(--bg2);border-radius:0 0 var(--r) var(--r);padding:16px;box-shadow:var(--sh)}
.rp-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.rp-bar input,.rp-bar select,.rp-btn,.rp-card input,.rp-card textarea{height:32px;border-radius:4px;border:1px solid var(--bd2);background:#fff;color:var(--tx);font-size:13px;padding:0 10px;outline:none;font-family:inherit}
.rp-bar input:focus,.rp-bar select:focus,.rp-card input:focus,.rp-card textarea:focus{border-color:var(--ac)}
.rp-btn{padding:0 15px;cursor:pointer;transition:all .15s}.rp-btn:hover{color:var(--ac);border-color:#c6e2ff;background:var(--ac-l)}.rp-btn.sm{height:24px;padding:0 8px;font-size:12px}
.rp-btn.pri{background:var(--ac);border-color:var(--ac);color:#fff}.rp-btn.pri:hover{background:#79bbff;border-color:#79bbff;color:#fff}.rp-btn:disabled{opacity:.5;cursor:not-allowed}
.rp-btn.dan{background:#fef0f0;border-color:#fbc4c4;color:#f56c6c}.rp-btn.dan:hover{background:#f56c6c;color:#fff}
.rp-new{background:var(--ac);color:#fff;border-radius:10px;padding:2px 10px;font-size:12px;cursor:pointer}
.rp-tw{border:1px solid var(--bd);border-radius:4px;overflow:auto;max-height:calc(100vh - 420px);min-height:320px}
.rp-t{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.rp-t th{position:sticky;top:0;z-index:1;background:#f5f7fa;color:var(--tx2);font-weight:500;text-align:left;padding:9px 10px;border-bottom:1px solid var(--bd);white-space:nowrap}
.rp-t td{padding:7px 10px;border-bottom:1px solid #f0f2f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx)}
.rp-t tbody tr:nth-child(even) td{background:#fafbfc}.rp-t tbody tr{cursor:pointer}.rp-t tbody tr:hover td{background:var(--ac-l)}
.rp-t th.r,.rp-t td.r{text-align:right}.rp-t .ell{overflow:hidden;text-overflow:ellipsis}.rp-empty{color:var(--mu);text-align:center;padding:40px!important}
.rp-t tr.nw td{animation:rpIn 1s ease-out}@keyframes rpIn{0%{background:#d9ecff}100%{background:transparent}}
.rp-a{color:var(--ac);cursor:pointer}.rp-a:hover{text-decoration:underline}
.rb{display:inline-block;border-radius:4px;padding:0 7px;line-height:20px;font-size:12px;border:1px solid}
.rb-default{color:#909399;background:#f4f4f5;border-color:#e9e9eb}.rb-marked{color:#7b61d1;background:#f3f0fc;border-color:#ddd3f7}.rb-merchant{color:#13a8a8;background:#e6f7f7;border-color:#b5e5e5}
.rb-global{color:#c88a12;background:#fdf6ec;border-color:#f5dab1}.rb-breaker{color:#f56c6c;background:#fef0f0;border-color:#fde2e2}.rb-queue{color:#c45ab3;background:#fbeffa;border-color:#f0d0eb}.rb-unknown{color:#909399;background:#f4f4f5;border-color:#e9e9eb}
.rp-pb{position:relative;width:96px;height:6px;background:#ebeef5;border-radius:3px;display:inline-block;vertical-align:middle;margin-right:8px}
.rp-pb s.band{position:absolute;top:0;bottom:0;background:#2f9e6e26;border-left:1px solid #2f9e6e80;border-right:1px solid #2f9e6e80}.rp-pb u{position:absolute;top:0;bottom:0;left:0;border-radius:3px;opacity:.85}.rp-pb em{position:absolute;top:-3px;width:2px;height:12px;background:var(--tx)}
.chip{display:inline-block;border-radius:10px;padding:0 8px;line-height:20px;font-size:12px;background:#f4f4f5;color:var(--mu)}.chip.r{background:#e8f5ef;color:var(--up)}.chip.p{background:#fdeeee;color:var(--dn)}.chip.o{background:var(--ac-l);color:var(--ac)}
.rp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}@media(max-width:1250px){.rp-grid{grid-template-columns:1fr 1fr}}@media(max-width:767px){.rp-grid{grid-template-columns:1fr}}
.rp-card,.rp-legacy .card{background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:16px;box-shadow:none}
.rp-card h4,.rp-legacy .ct{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--tx)}.rp-card h4 .sub{display:block;color:var(--mu);font-weight:400;font-size:12px;margin-top:4px}
.rp-card label,.rp-card .lbl{display:block;color:var(--tx2);font-size:12px;margin:10px 0 6px}.rp-card input,.rp-card textarea{width:100%}.rp-card textarea{height:auto;padding:6px 10px}
.rp-card input.err,.rp-card textarea.err{border-color:#f56c6c}.rp-card .e{color:#f56c6c;font-size:12px;min-height:18px}.rp-card .hint{color:var(--mu);font-size:12px;margin-top:10px;line-height:1.6}
.rp-row{display:flex;align-items:center;gap:8px}.rp-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rp-sw{position:relative;width:40px;height:20px;background:#dcdfe6;border-radius:10px;cursor:pointer;border:0;transition:.2s}.rp-sw::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.rp-sw.on{background:var(--ac)}.rp-sw.on::after{left:22px}
.rp-list{max-height:200px;overflow:auto}.rp-list div{padding:5px 0;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;gap:8px}
.rp-legacy .grid2{gap:16px;margin-bottom:16px}.rp-legacy .card.adv{padding:0 16px}.rp-legacy .el-collapse{border:1px solid var(--bd)}
.rp-mini{background:#f5f7fa;border-radius:4px;padding:8px 12px;margin-bottom:16px;font-size:13px}.rp-mini b{color:var(--tx)}
.rp-dr{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:95vw;background:#fff;color:var(--tx);border-left:1px solid var(--bd);z-index:3000;padding:20px;overflow:auto;box-shadow:-6px 0 16px #00000014;animation:rpDr .2s}@keyframes rpDr{from{transform:translateX(40px);opacity:0}}
.rp-dr .rp-kpi{gap:8px}.rp-dr .rp-k{box-shadow:none;border:1px solid var(--bd);min-height:0}.rp-dr .rp-k b{font-size:15px}.rp-dr svg{background:#f5f7fa!important}
.rp-mask{position:fixed;inset:0;background:#00000040;z-index:2999}
/* 看板 */
.rb-wall{margin:0;padding:0}.rb-wall .rp-h{margin-bottom:12px}
.rb-wall .rp-k{box-shadow:none;border:1px solid var(--bd)}
.rb-wall select.rp-btn{padding:0 8px}
.rb-top{display:grid;grid-template-columns:3fr 9fr;gap:12px;margin-bottom:12px}.rb-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rb-mid{display:grid;grid-template-columns:6fr 3fr 3fr;gap:12px}.rb-mid .rp-t td{border:0;padding:4px 6px}.rb-mid .rp-t tr:nth-child(even) td{background:none}
.rb-heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px}
.rb-cell{border:1px solid;border-left-width:3px;border-radius:4px;padding:6px 8px;font-size:12px;background:#fff!important}.rb-cell .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx)}.rb-cell .sm{font-size:11px;color:var(--mu)}
.rb-tick .mono>span{animation:rbScroll 40s linear infinite}@keyframes rbScroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (max-width:1250px){.rb-top,.rb-mid{grid-template-columns:1fr}.rb-kpis{grid-template-columns:repeat(2,1fr)}}
/* fullscreen wall: dark */
.rb-wall:fullscreen{--bg2:#151d2b;--bd:#263042;--bd2:#2f3a4f;--tx:#e2e8f0;--tx2:#c0c8d6;--mu:#8a94a7;--ac:#6ea8ff;--ink:#e2e8f0;--grid:#ffffff14;--grid2:#ffffff2a;--up:#3fb68b;--dn:#e5534b;background:#0f1623;color:var(--tx);padding:20px;overflow:auto}
.rb-wall:fullscreen .rp-k,.rb-wall:fullscreen .rb-cell{background:var(--bg2)!important;color:var(--tx)}.rb-wall:fullscreen .rp-k b{color:var(--tx)}.rb-wall:fullscreen .rp-btn{background:var(--bg2);color:var(--tx);border-color:var(--bd2)}
.rp-k b.mono{font-size:22px;font-family:inherit}.rp-t{min-width:1180px}
