:root{--ink:#10294d;--blue:#174d91;--blue-2:#0c315f;--mist:#f3f7fb;--line:#dbe5f1;--muted:#6e819c;--mint:#0f9b72;--orange:#ec8b2d;--red:#d73e3e;--white:#fff;--shadow:0 18px 42px rgba(17,52,94,.11)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef4fa 0,#f8fafc 46%,#edf3f8 100%);color:var(--ink);font-family:"Alibaba PuHuiTi 3.0","PingFang SC","Microsoft YaHei",sans-serif}.cockpit{max-width:1680px;margin:0 auto;padding:28px 34px 44px}.masthead{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:20px;padding:0 4px 21px}.brand{display:flex;align-items:center;gap:14px;color:var(--blue-2);text-decoration:none;font-weight:800;letter-spacing:.04em}.brand-mark{font-size:26px;font-style:italic;letter-spacing:-.08em}.heading{text-align:center}.heading p,.panel-label{margin:0;color:#5d7594;font-size:11px;font-weight:800;letter-spacing:.18em}.heading h1{margin:6px 0 0;font-size:31px;letter-spacing:.04em}.updated{justify-self:end;display:grid;grid-template-columns:9px auto;column-gap:8px;align-items:center;color:var(--muted);font-size:13px}.updated time{grid-column:2;font-size:11px;margin-top:4px}.updated span:first-child{width:8px;height:8px;border-radius:50%;background:#adb9c8}.updated.live span:first-child{background:var(--mint);box-shadow:0 0 0 5px rgba(15,155,114,.12)}
.command-strip{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;overflow:hidden;border:1px solid #d2ddea;background:#fff;border-radius:10px;box-shadow:0 6px 18px rgba(15,45,84,.06)}.command-strip div,.command-strip a{min-height:72px;padding:14px 20px;border-right:1px solid var(--line)}.command-strip span{display:block;color:var(--muted);font-size:12px}.command-strip strong{display:block;margin-top:5px;font-family:Georgia,"Songti SC",serif;font-size:25px}.command-strip a{display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(120deg,#174d91,#276aac);color:#fff;text-decoration:none;font-weight:700}.command-strip b,.rail-link b{font-size:18px}
.hero-grid{display:grid;grid-template-columns:1.65fr .85fr;gap:18px;margin-top:18px}.panel{border:1px solid var(--line);background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.annual-stage{position:relative;overflow:hidden;min-height:346px;padding:34px 38px;background:radial-gradient(circle at 78% 35%,rgba(61,145,220,.48),transparent 34%),linear-gradient(128deg,#0b2c54 0%,#174d91 62%,#145882 100%);color:#fff}.annual-stage:after{content:"2026";position:absolute;right:-19px;bottom:-53px;color:rgba(255,255,255,.07);font:bold 210px/1 Georgia,serif}.annual-stage .panel-label{color:#8ed6c0}.annual-stage h2{position:relative;z-index:1;margin:17px 0 12px;font-size:38px;line-height:1.2;letter-spacing:.025em}.annual-stage em{font-family:Georgia,"Songti SC",serif;font-weight:400;color:#9fe7c7}.annual-stage>p{position:relative;z-index:1;max-width:550px;margin:0;color:#d7e6f6;line-height:1.8}.stage-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;background:rgba(255,255,255,.18)}.stage-metrics div{padding:16px;background:rgba(4,28,59,.22)}.stage-metrics span,.stage-metrics small{display:block;color:#bcd2e9;font-size:12px}.stage-metrics strong{display:block;margin:7px 0;font:32px Georgia,"Songti SC",serif}.signal-line{position:absolute;z-index:1;right:38px;bottom:20px;display:flex;gap:7px;align-items:end;height:48px}.signal-line i{width:7px;background:#75ddbd;animation:signal 1.8s ease-in-out infinite alternate}.signal-line i:nth-child(2){height:23px;animation-delay:.2s}.signal-line i:nth-child(3){height:42px;animation-delay:.5s}.signal-line i:nth-child(4){height:16px;animation-delay:.1s}.signal-line i:nth-child(5){height:34px;animation-delay:.4s}.signal-line i:nth-child(6){height:28px;animation-delay:.7s}.signal-line i:nth-child(7){height:44px;animation-delay:.3s}@keyframes signal{to{transform:scaleY(.45);opacity:.55}}
.action-rail{padding:29px 29px 20px;border-top:5px solid var(--orange)}.action-rail h2,.panel-head h2,.watch-panel h2,.rail-title h2{margin:7px 0 0;font-size:22px}.action-rail>p{margin:8px 0 15px;color:var(--muted);font-size:13px}.factory-pulse{margin:0;padding:0;list-style:none}.factory-pulse li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:9px;padding:11px 0;border-top:1px solid var(--line);font-size:13px}.factory-pulse .rank{color:#6e819c;font:16px Georgia,serif}.factory-pulse .state{font-size:11px;font-weight:800}.state.ok{color:var(--mint)}.state.warn{color:var(--orange)}.state.risk{color:var(--red)}.factory-pulse .empty{display:block;color:var(--muted)}.rail-link{display:flex;justify-content:space-between;margin-top:12px;padding-top:13px;border-top:1px solid var(--line);color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}
.mosaic{display:grid;grid-template-columns:1fr 1.45fr .85fr;gap:18px;margin-top:18px}.incident-panel,.trend-panel,.watch-panel{min-height:285px;padding:24px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.panel-head>span,.panel-head>p{margin:0;color:var(--muted);font-size:11px}.incident-chart{display:grid;gap:9px;margin-top:20px}.incident-row{display:grid;grid-template-columns:minmax(68px,1fr) 2.8fr 28px;align-items:center;gap:9px;font-size:12px}.incident-bar{height:12px;background:#e7edf5;overflow:hidden}.incident-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#f1bf5b)}.incident-row b{text-align:right;font:16px Georgia,serif}.trend-panel{background:linear-gradient(145deg,#fff,#f4f8fc)}.trend-panel svg{width:100%;height:185px;margin-top:15px}.grid{stroke:#d9e3ef;stroke-width:1;fill:none}.trend-panel #trend-area{fill:rgba(23,77,145,.12)}.trend-panel #trend-line{fill:none;stroke:#1458a6;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.watch-panel{background:#fffbf6;border-top:5px solid #e2a23d}.watch-list{margin-top:19px}.watch-item{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:11px 0;border-top:1px solid #f0ded0;font-size:13px}.watch-item b{display:block;margin-bottom:3px}.watch-item span{color:#8c6f5a;font-size:11px}.watch-dot{width:9px;height:9px;margin:4px;border-radius:50%;background:var(--orange)}.watch-dot.high{background:var(--red)}.empty{color:var(--muted);font-size:13px}
.indicator-board{margin-top:18px;padding:24px}.indicator-board .panel-head p{max-width:340px;text-align:right;line-height:1.5}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;min-width:820px;border-collapse:collapse}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:center;font-size:12px}th:first-child,td:first-child{text-align:left;font-weight:800}thead{background:#eaf1f9;color:#3c5574}.metric-state{display:inline-flex;min-width:56px;justify-content:center;padding:5px 7px;border-radius:99px;font-size:11px;font-weight:800}.metric-state.good{background:#e0f5ed;color:#087b59}.metric-state.watch{background:#fff0d7;color:#b96a13}.metric-state.pending{background:#edf1f6;color:#66778d}
.live-rail{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:20px;overflow:hidden;margin-top:18px;padding:16px 24px;background:#10294d;color:#fff}.rail-title .panel-label{color:#88d6bc}.rail-title h2{font-size:18px}.rail-window{overflow:hidden}.rail-window ul{display:flex;gap:12px;min-width:max-content;margin:0;padding:0;list-style:none;animation:drift 32s linear infinite}.rail-window li{padding:10px 15px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);font-size:12px;white-space:nowrap}@keyframes drift{to{transform:translateX(-35%)}}
@media(max-width:980px){.cockpit{padding:20px}.masthead{grid-template-columns:1fr auto}.heading{grid-column:1/-1;grid-row:2;text-align:left}.command-strip{grid-template-columns:repeat(2,1fr)}.command-strip a{grid-column:1/-1}.hero-grid,.mosaic{grid-template-columns:1fr}.annual-stage h2{font-size:31px}.live-rail{grid-template-columns:1fr}.updated{justify-self:end}}@media(max-width:560px){.cockpit{padding:14px}.masthead{gap:8px}.brand span:last-child{display:none}.heading h1{font-size:25px}.command-strip strong{font-size:21px}.annual-stage,.action-rail,.incident-panel,.trend-panel,.watch-panel,.indicator-board{padding:21px}.stage-metrics{grid-template-columns:1fr}.annual-stage{min-height:470px}.signal-line{right:22px}.updated{font-size:11px}}
@media(prefers-reduced-motion:reduce){.signal-line i,.rail-window ul{animation:none}}
.brand-title{position:relative;padding-left:16px;font-size:18px}.brand-title:before{content:"";position:absolute;left:0;top:2px;width:5px;height:21px;background:var(--orange)}@media(max-width:560px){.brand span.brand-title{display:inline}}
.brand img{display:block;width:96px;height:30px;object-fit:contain}.updated.demo span:first-child{background:var(--orange);box-shadow:0 0 0 5px rgba(236,139,45,.15)}.factory-performance{margin-top:18px;padding:24px;background:linear-gradient(115deg,#fbfdff,#eff6fb)}.factory-performance-bars{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:12px;margin-top:22px}.performance-item{padding:14px 11px 12px;border:1px solid #dbe7f1;background:#fff}.performance-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#425e80;font-size:12px;font-weight:800}.performance-bar{position:relative;height:122px;margin:14px 0 10px;background:repeating-linear-gradient(to top,#e9eff5 0 1px,transparent 1px 25%)}.performance-bar:after{content:"";position:absolute;left:-3px;right:-3px;bottom:90%;border-top:1px dashed var(--orange)}.performance-bar i{position:absolute;right:9px;bottom:0;left:9px;background:linear-gradient(180deg,#3b83c6,#174d91);border-radius:4px 4px 0 0}.performance-item.good .performance-bar i{background:linear-gradient(180deg,#38b58c,#0e8663)}.performance-item.watch .performance-bar i{background:linear-gradient(180deg,#f0a34d,#d16d19)}.performance-score{display:flex;justify-content:space-between;align-items:baseline;font:24px Georgia,"Songti SC",serif}.performance-score small{font:11px "Alibaba PuHuiTi 3.0","PingFang SC",sans-serif;color:var(--muted)}@media(max-width:980px){.factory-performance-bars{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.brand img{width:78px;height:25px}.factory-performance{padding:21px}.factory-performance-bars{grid-template-columns:repeat(2,1fr)}}
.trend-legend{display:flex;gap:8px;margin-top:12px;color:var(--muted);font-size:11px}.legend-toggle{display:flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.legend-toggle i{width:8px;height:8px;border-radius:50%}.legend-toggle.is-off{opacity:.35;text-decoration:line-through}.trend-panel svg{margin-top:7px}.trend-bar{pointer-events:none;transition:opacity .16s}.trend-bar-group{cursor:pointer}.trend-bar-group:hover .trend-bar,.trend-bar-group.is-locked .trend-bar{opacity:.72}.trend-bar-hitbox{fill:transparent;outline:none}.trend-bar-hitbox:focus{stroke:#10294d;stroke-width:2}.company-performance{margin-top:18px;padding:15px 18px;border:1px solid #d7e3ee;background:#fff}.company-performance-score{display:flex;align-items:center;justify-content:space-between;gap:20px}.company-performance-score span,.company-performance-score p{display:block;margin:0;color:var(--muted);font-size:12px}.company-performance-score strong{display:block;margin-top:4px;color:var(--blue-2);font:32px Georgia,"Songti SC",serif}.company-performance-score p{display:grid;gap:5px;text-align:right}.company-performance-score p b{color:var(--mint);font-size:15px}.company-performance-score.watch p b{color:var(--orange)}.company-performance-score.pending p b{color:var(--muted)}.selected-factory{min-height:20px;margin:12px 0 0;color:var(--muted);font-size:12px}.performance-item{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.performance-item:hover,.performance-item:focus-visible,.performance-item.selected{transform:translateY(-4px);outline:0;box-shadow:0 10px 22px rgba(17,52,94,.14)}.live-rail li{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;align-items:center}.live-rail li b{color:#9ee4ca;font-size:11px}.live-rail li span{font-size:11px;color:#e8eff8}.rail-window:hover ul{animation-play-state:paused}@media(max-width:760px){.live-rail li{grid-template-columns:1fr;gap:3px}}
.updated.snapshot span:first-child{background:var(--blue);box-shadow:0 0 0 5px rgba(23,77,145,.12)}
.trend-wrap{position:relative}.trend-point{stroke:#fff;stroke-width:2;cursor:pointer}.trend-point:focus{outline:none;stroke:#10294d;stroke-width:4}.trend-tooltip{position:absolute;z-index:3;top:4px;min-width:130px;padding:8px 10px;border:1px solid #b8c9dc;background:#10294d;color:#fff;font-size:11px;line-height:1.55;opacity:0;pointer-events:none;transform:translate(-10px,-105%);transition:opacity .14s}.trend-tooltip.show{opacity:1}.trend-tooltip strong,.trend-tooltip span{display:block}.open-watch{margin-top:10px;padding-top:10px;border-top:1px solid #f0ded0}.open-watch>p{margin:0 0 8px;color:#8c6f5a;font-size:11px;font-weight:800}.open-watch-window{height:78px;overflow:hidden}.open-watch-window ul{margin:0;padding:0;list-style:none;animation:rise 18s linear infinite}.open-watch-window:hover ul{animation-play-state:paused}.open-watch-window li{display:grid;gap:2px;min-height:39px;padding:5px 0;border-top:1px solid rgba(240,222,208,.7)}.open-watch-window b{color:#533d2a;font-size:11px}.open-watch-window span{color:#8c6f5a;font-size:10px}@keyframes rise{to{transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.open-watch-window ul{animation:none}}
