.liveboard-page{position:fixed!important;inset:0;z-index:50;width:100vw!important;max-width:none!important;margin:0!important;padding:0!important;background:#03142e;color:#d8f6ff;overflow:auto}
.liveboard-page.active{display:block!important}.liveboard-shell{position:relative;min-width:1180px;min-height:100vh;padding:18px 22px 16px;background:radial-gradient(circle at 50% 35%,#0c3c6d 0,#061f45 31%,#03142e 68%),linear-gradient(135deg,#03142e,#09295b);font-family:"Microsoft YaHei UI","Segoe UI",sans-serif;overflow:hidden}
.liveboard-shell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(#21cfff12 1px,transparent 1px),linear-gradient(90deg,#21cfff12 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.liveboard-header{position:relative;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:start;height:118px;border-bottom:1px solid #18c9ff66}.liveboard-header:after{content:"";position:absolute;left:27%;right:27%;bottom:-3px;height:5px;background:linear-gradient(90deg,transparent,#24e5ff,#fff,#24e5ff,transparent);filter:drop-shadow(0 0 9px #20dfff)}
.liveboard-filters,.liveboard-actions{display:flex;gap:8px;align-items:center;padding-top:8px}.liveboard-filters select,.liveboard-filters>span,.liveboard-actions button{height:34px;padding:0 14px;border:1px solid #22aee977;border-radius:4px;background:#0a3460cc;color:#c9efff;box-shadow:inset 0 0 14px #0aaee522}.liveboard-filters select{min-width:135px}.liveboard-actions{justify-content:flex-end}.liveboard-actions button{cursor:pointer}.live-signal{display:flex;align-items:center;gap:7px;color:#79fbd3;font-size:12px}.live-signal i,.market-pulse i{width:8px;height:8px;border-radius:50%;background:#28f5b5;box-shadow:0 0 12px #28f5b5;animation:livePulse 1.3s infinite}
.liveboard-title{text-align:center}.liveboard-title small{color:#60cbff;font-size:10px;letter-spacing:3px}.liveboard-title h1{margin:5px 0 7px;background:linear-gradient(180deg,#fff,#6de7ff 65%,#2b9ff4);-webkit-background-clip:text;color:transparent;font-size:29px;letter-spacing:6px;text-shadow:0 0 22px #21cfff44}.dual-clock{display:grid;grid-template-columns:repeat(7,minmax(84px,1fr));gap:5px;width:min(920px,100%);margin:auto}.dual-clock time{display:flex;min-width:0;flex-direction:column;align-items:center;gap:2px;padding:4px 5px;border:1px solid #1b79a777;border-radius:4px;background:#08294f99}.dual-clock b{color:#6fc9ef;font-size:9px;white-space:nowrap}.dual-clock span{color:#e3fbff;font:700 11px Consolas,monospace;white-space:nowrap}.dual-clock time.order-zone{border-color:#36e7ff;background:#0a416ccc;box-shadow:0 0 12px #1fd9ff33}.dual-clock time.order-zone b{color:#6ff3ff}
.liveboard-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.liveboard-back{flex-basis:100%;width:max-content!important;margin-bottom:5px!important;border-color:#38d8ff!important;background:linear-gradient(135deg,#0e4775,#1267a1)!important;color:#e9fbff!important;font-weight:800!important;box-shadow:0 0 16px #17cfff33}.liveboard-back:hover{border-color:#8ff3ff!important;box-shadow:0 0 22px #20dfff77;transform:translateX(-2px)}
.dashboard-time-strip{display:flex;align-items:stretch;gap:9px;margin-top:13px;flex-wrap:wrap}.dashboard-time-strip time{display:flex;min-width:116px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:9px 12px;border:1px solid #d6e3f3;border-radius:10px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 7px 20px #17345d10}.dashboard-time-strip b{color:#667b97;font-size:11px;line-height:1;letter-spacing:.2px}.dashboard-time-strip span{color:#102d50;font:800 15px/1.1 Consolas,"SFMono-Regular",monospace;letter-spacing:.15px;white-space:nowrap}.dashboard-time-strip time.order-zone{border:2px solid #6198ee;padding:8px 11px;background:linear-gradient(145deg,#eef5ff,#fff);box-shadow:0 7px 20px #2b70d628}.dashboard-time-strip time.order-zone b{color:#185fca}.dashboard-time-strip time.order-zone span{color:#0d4fae;font-size:16px}
.liveboard-grid{position:relative;display:grid;grid-template-columns:270px minmax(620px,1fr) 300px;gap:16px;height:calc(100vh - 176px);min-height:660px;padding-top:16px}.tech-panel{position:relative;border:1px solid #19bfe688;background:linear-gradient(180deg,#08284be8,#061d39e8);box-shadow:inset 0 0 35px #0a6ea51c,0 0 18px #001229}.tech-panel:before,.tech-panel:after{content:"";position:absolute;width:24px;height:24px;border-color:#4be8ff}.tech-panel:before{left:-2px;top:-2px;border-left:3px solid;border-top:3px solid}.tech-panel:after{right:-2px;bottom:-2px;border-right:3px solid;border-bottom:3px solid}.tech-panel>header{display:flex;align-items:end;justify-content:space-between;min-height:58px;padding:11px 13px;border-bottom:1px solid #18b7df55;background:linear-gradient(90deg,#0d416c88,transparent)}.tech-panel header span{color:#3fcfff;font:700 9px/1.2 Consolas;letter-spacing:1.4px}.tech-panel header h2{margin:3px 0 0;color:#d7f6ff;font-size:15px}.tech-panel header p{margin:0;color:#65b8db;font-size:10px}
.store-rank-panel{height:100%}.live-rank-list{padding:8px 12px}.live-rank-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #1a638155}.live-rank-row>i{display:grid;place-items:center;width:22px;height:22px;border-radius:4px;background:#0d69b9;color:#dff8ff;font-size:11px;font-style:normal}.live-rank-row:nth-child(1)>i{color:#4b2e00;background:#ffc43c;box-shadow:0 0 12px #ffc43c88}.live-rank-row:nth-child(2)>i{color:#294257;background:#cce6f3}.live-rank-row:nth-child(3)>i{color:#532f19;background:#e6a774}.live-rank-row strong{display:block;overflow:hidden;color:#d8f5ff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.live-rank-row small{display:block;margin-top:3px;color:#5594b3;font-size:9px}.live-rank-row b{color:#5ce7ff;font:700 12px Consolas}
.liveboard-core{display:grid;grid-template-rows:124px minmax(260px,1fr) 255px;gap:14px}.live-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.live-kpis article{position:relative;padding:16px 18px;border:1px solid #27bfe977;background:linear-gradient(135deg,#0b355cdd,#061f3cdd);box-shadow:inset 0 0 26px #1eb7e314}.live-kpis article:after{content:"";position:absolute;right:0;bottom:0;width:22px;height:22px;border-right:3px solid #59e7ff;border-bottom:3px solid #59e7ff}.live-kpis small{display:block;color:#38cfff;font:700 9px Consolas;letter-spacing:1.4px}.live-kpis span{display:block;margin-top:6px;color:#8ccbe4;font-size:11px}.live-kpis strong{display:inline-block;margin-top:6px;color:#5ee5ff;font:800 35px/1 Consolas;text-shadow:0 0 17px #14bafc88}.live-kpis em{margin-left:8px;color:#6599b3;font-size:9px;font-style:normal}
.commerce-radar{position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid #0c77a44d;background:radial-gradient(circle,#0f559344 0,#041a35 64%)}.commerce-radar:before,.commerce-radar:after{content:"";position:absolute;background:#20cfff12}.commerce-radar:before{inset:50% 0 auto;height:1px}.commerce-radar:after{inset:0 auto 0 50%;width:1px}.radar-rings{position:relative;display:grid;place-items:center;width:210px;height:210px;border:1px solid #22c8f766;border-radius:50%;box-shadow:0 0 32px #13b9f222,inset 0 0 32px #13b9f222}.radar-rings:after{content:"";position:absolute;inset:50% 50% 0 0;background:linear-gradient(35deg,transparent,#3ee8ff88);transform-origin:100% 0;animation:radarSpin 4s linear infinite}.radar-rings i{position:absolute;border:1px solid #24b9e24d;border-radius:50%}.radar-rings i:nth-child(1){inset:22px}.radar-rings i:nth-child(2){inset:47px}.radar-rings i:nth-child(3){inset:72px}.radar-rings b{position:relative;z-index:2;color:#90edff;font:800 40px Consolas;text-shadow:0 0 20px #20dfff}.radar-copy{position:absolute;left:28px;bottom:22px}.radar-copy small{color:#2bc9f4;font:700 9px Consolas;letter-spacing:2px}.radar-copy strong{display:block;margin:5px 0;color:#d9f6ff;font-size:17px}.radar-copy span{color:#659fbc;font-size:10px}.market-pulse{position:absolute;right:25px;top:22px;display:flex;align-items:center;gap:8px;color:#48eec5;font:700 10px Consolas}
.hourly-panel{min-height:0}.hourly-panel>header{min-height:48px}.hourly-chart{display:flex;align-items:flex-end;gap:5px;height:190px;padding:24px 12px 18px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#1e719133 40px)}.hour-bar{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:18px}.hour-bar i{position:relative;display:block;width:72%;min-height:3px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#40e6ff,#1675ed);box-shadow:0 0 10px #26bdf766}.hour-bar i:before{content:attr(data-count);position:absolute;top:-17px;left:50%;color:#d6f8ff;font:700 11px Consolas;transform:translateX(-50%);text-shadow:0 0 7px #24dfff}.hour-bar span{height:18px;margin-top:7px;color:#b6def2;font:700 10px Consolas;white-space:nowrap;text-shadow:0 0 7px #21bfff66}
.liveboard-side{display:grid;grid-template-rows:268px 220px minmax(130px,1fr);gap:14px;min-height:0;overflow:hidden}.fulfillment-panel,.executor-health-panel{min-height:0;overflow:hidden}.fulfillment-panel>div,.executor-health-list{height:calc(100% - 58px);box-sizing:border-box;overflow:auto;scrollbar-width:thin;scrollbar-color:#18bfe6 #082744}.fulfillment-panel>div{padding:10px 13px}.fulfill-row{display:grid;grid-template-columns:70px minmax(48px,1fr) 32px;align-items:center;gap:9px;height:34px;min-height:34px;box-sizing:border-box;padding:4px 0;color:#88bad1;font-size:10px;line-height:1.2}.fulfill-row span{height:6px;border-radius:6px;background:#0b3555;overflow:hidden}.fulfill-row span i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#2178ee,#35e2ff)}.fulfill-row b{color:#ccefff;text-align:right;font:700 11px Consolas}.sku-rank-panel{min-height:0;overflow:hidden}
.automation-command-panel{min-height:0}.automation-command-panel>header{display:flex;align-items:center;justify-content:space-between}.automation-command-panel>header p{color:#65a7c5;font:10px Consolas}.automation-command-body{display:flex;flex-direction:column;height:calc(100% - 51px);padding:14px 18px 12px}.automation-headline{display:flex;align-items:center;justify-content:space-between}.automation-headline>strong{color:#61e7ff;font:800 22px Consolas;text-shadow:0 0 14px #26d9ff77}.automation-pulse{display:flex;align-items:center;gap:9px;color:#dffaff;font-size:13px}.automation-pulse i{width:9px;height:9px;border-radius:50%;background:#31e8bd;box-shadow:0 0 14px #31e8bd;animation:livePulse 1.4s infinite}.automation-progress{height:5px;margin:10px 0 12px;border-radius:6px;background:#082b4b;overflow:hidden}.automation-progress i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#1874f2,#35e7ff);box-shadow:0 0 13px #23ccff;transition:width .35s ease}.automation-run-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0}.automation-run{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid #17608777;background:#07264488}.automation-run .run-index{color:#3edfff;font:700 10px Consolas}.automation-run div{min-width:0}.automation-run strong,.automation-run small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automation-run strong{color:#d9f6ff;font-size:10px}.automation-run small{margin-top:3px;color:#6097b2;font-size:8px}.automation-run>b{padding:3px 6px;border-radius:9px;color:#81b9d3;background:#103d5e;font-size:8px}.automation-run time{grid-column:3;color:#5087a1;font:8px Consolas}.automation-run.running{border-color:#25d4ff}.automation-run.running>b{color:#5deaff;background:#0d5574}.automation-run.success>b{color:#52e4be;background:#0c4b47}.automation-run.danger{border-color:#e2546677}.automation-run.danger>b{color:#ff8592;background:#5c2030}.automation-run.warning>b,.automation-run.waiting>b{color:#ffd177;background:#5a431a}.automation-command-body>footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:9px;color:#4f8ba8;font:9px Consolas}.executor-health-list{padding:8px 13px}.executor-health-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #17506c66}.executor-health-row>i{width:7px;height:7px;border-radius:50%;background:#31e6b8;box-shadow:0 0 9px #31e6b8}.executor-health-row strong,.executor-health-row small{display:block}.executor-health-row strong{color:#d7f4ff;font-size:9px}.executor-health-row small{margin-top:2px;color:#5e93ae;font-size:8px}.executor-health-row>b{color:#55e1bd;font:8px Consolas}.executor-health-row.unhealthy>i{background:#ffbd55;box-shadow:0 0 9px #ffbd55}.executor-health-row.unhealthy>b{color:#ffca70}
.live-order-ticker{position:relative;display:grid;grid-template-columns:105px 1fr 140px;align-items:center;height:42px;margin-top:8px;border:1px solid #1689b277;background:#061d39;color:#7fb5ce;overflow:hidden}.live-order-ticker>b{height:100%;padding:14px 15px;color:#3de4ff;background:#0a3963;font:700 10px Consolas;letter-spacing:1px}.live-order-ticker>div{display:flex;gap:8px;overflow:hidden}.ticker-item{flex:0 0 auto;padding:5px 13px;border-left:1px solid #21617d;color:#9ccade;font-size:9px}.ticker-item strong{margin-right:8px;color:#e2f8ff}.ticker-item b{color:#3ee6c2}.live-order-ticker>span{text-align:center;color:#4d8ca9;font:9px Consolas}
body.liveboard-mode #app>aside,body.liveboard-mode .erp-command-bar{display:none}body.liveboard-mode #app>.content{margin:0;padding:0;max-width:none}
@keyframes radarSpin{to{transform:rotate(360deg)}}@keyframes livePulse{50%{opacity:.35;transform:scale(.75)}}
@media(max-width:1300px){.liveboard-grid{grid-template-columns:230px minmax(570px,1fr) 260px}.live-kpis strong{font-size:28px}}

/* Fulfillment-task diagnostics: keep failures readable without breaking the grid. */
.automation-run.danger{border-color:#e2546677;background:linear-gradient(90deg,#3b172455,#07264488)}
.automation-run.danger small{color:#ff9aa5}
.automation-run>b{white-space:nowrap}

/* Keep the right rail stable at common dashboard resolutions and browser zoom levels. */
.executor-health-row{height:36px;box-sizing:border-box;padding:4px 0}
