:root{--fs: 1;--ink: #17202b;--paper: #eef1f5;--panel: #ffffff;--line: #d3dae3;--muted: #4a5563;--plate: #16202e;--plate-ink: #f2f4f6;--run: #1e8e4e;--wait: #d39a14;--stop: #c8322b;--setup: #2563c9;--idle: #8a96a3;--done: #5b6b7c;--run-ink: #146b3a;--wait-ink: #7a5300;--stop-ink: #a1231d;--setup-ink: #1b4c9e;--primary: #1d5bd8;--num: "Bahnschrift", "DIN Alternate", "DIN Condensed", "Roboto Condensed", "Arial Narrow", sans-serif;--body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Helvetica Neue", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--setup)}:focus-visible{outline:3px solid var(--setup);outline-offset:2px}.plate{display:inline-flex;align-items:center;gap:6px;background:var(--plate);color:var(--plate-ink);font-family:var(--num);font-weight:600;letter-spacing:.02em;border-radius:4px;padding:2px 10px 1px;line-height:1.35;white-space:nowrap;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 -2px #00000040}.plate.lg{font-size:calc(34px * var(--fs));padding:4px 14px 2px;border-radius:6px}.plate.md{font-size:calc(24px * var(--fs))}.plate.sm{font-size:calc(16px * var(--fs));padding:1px 7px 0}.plate .grp{font-size:.55em;opacity:.7;font-weight:500}.lamp{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.lamp.run{background:var(--run);box-shadow:0 0 0 3px #1f9d552e}.lamp.wait{background:var(--wait);box-shadow:0 0 0 3px #d18f002e}.lamp.stop{background:var(--stop);box-shadow:0 0 0 3px #d23f2c33;animation:blink 1.2s steps(2) infinite}.lamp.setup{background:var(--setup);box-shadow:0 0 0 3px #2a66c92e}.lamp.idle,.lamp.done{background:var(--idle)}@keyframes blink{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.lamp.stop{animation:none}}.st{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}.st.run{color:var(--run-ink)}.st.wait{color:var(--wait-ink)}.st.stop{color:var(--stop-ink)}.st.setup{color:var(--setup-ink)}.st.idle,.st.done{color:var(--done)}.muted{color:var(--muted)}.num{font-family:var(--num);font-variant-numeric:tabular-nums}.ng-text{color:var(--stop-ink);font-weight:600}.ok-text{color:var(--run-ink);font-weight:600}.m-app{max-width:680px;margin:0 auto;min-height:100vh;padding-bottom:calc(76px + var(--safe-bottom))}.m-top{position:sticky;top:0;z-index:20;background:var(--plate);color:var(--plate-ink);display:flex;align-items:center;gap:10px;padding:10px 16px;min-height:52px}.m-top h1{font-size:calc(20px * var(--fs));margin:0;font-weight:600;flex:1}.m-top .who{font-size:calc(15px * var(--fs));opacity:.85;text-align:right;line-height:1.3}.m-top .back{color:var(--plate-ink);font-size:calc(28px * var(--fs));background:none;border:0;padding:0 8px 0 0}.m-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--panel);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom)}.m-tabs a{flex:1;text-align:center;padding:8px 0 6px;color:var(--muted);text-decoration:none;font-size:calc(15px * var(--fs));position:relative}.m-tabs a .anticon{display:block;font-size:calc(28px * var(--fs));margin-bottom:2px}.m-tabs a.on{color:var(--ink);font-weight:600}.m-tabs a.on:before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;background:var(--ink);border-radius:0 0 3px 3px}.m-tabs .badge{position:absolute;top:4px;left:54%;background:var(--stop);color:#fff;font-size:calc(13px * var(--fs));min-width:18px;height:18px;border-radius:9px;padding:0 5px;line-height:18px}.m-section{padding:12px 12px 0}.m-section>h2{font-size:calc(17px * var(--fs));color:var(--muted);font-weight:600;margin:8px 4px 10px;display:flex;align-items:center;gap:8px}.job{display:block;position:relative;background:var(--panel);border-radius:10px;padding:12px 14px 14px 18px;margin-bottom:12px;color:inherit;text-decoration:none;border:1px solid var(--line);overflow:hidden}.job:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--light, var(--idle))}.job .row1{display:flex;align-items:center;gap:10px}.job .row1 .st{margin-left:auto;font-size:calc(17px * var(--fs))}.job .part{font-size:calc(19px * var(--fs));font-weight:600;margin:8px 0 2px;word-break:break-all}.job .meta{font-size:calc(15px * var(--fs));color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}.job .go{margin-top:12px}.job.urgent{border-color:var(--stop)}.bigbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:calc(60px * var(--fs));border:0;border-radius:12px;font-size:calc(21px * var(--fs));font-weight:700;color:#fff;background:var(--ink);cursor:pointer;font-family:var(--body);letter-spacing:.06em}.bigbtn:active{transform:translateY(1px);filter:brightness(.92)}.bigbtn.primary{background:var(--primary)}.bigbtn.success{background:var(--run)}.bigbtn.danger{background:var(--stop)}.bigbtn.warning{background:var(--wait)}.bigbtn.default{background:var(--panel);color:var(--ink);border:2px solid var(--line);font-weight:600}.bigbtn.ghost-danger{background:var(--panel);color:var(--stop);border:2px solid var(--stop)}.bigbtn[disabled]{opacity:.5}.bigbtn.sm{min-height:calc(50px * var(--fs));font-size:calc(18px * var(--fs));letter-spacing:.02em}.btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.d-head{background:var(--panel);border-bottom:1px solid var(--line)}.d-band{color:#fff;padding:10px 16px;display:flex;align-items:center;gap:10px;font-size:calc(20px * var(--fs));font-weight:700;background:var(--light, var(--idle))}.d-band .since{margin-left:auto;font-size:calc(15px * var(--fs));font-weight:500;opacity:.92}.d-main{padding:14px 16px 12px}.d-main .part{font-size:calc(24px * var(--fs));font-weight:700;margin:10px 0 4px;word-break:break-all}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:calc(16px * var(--fs));margin-top:10px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-all}.note-box{background:#fff7e0;border-left:4px solid var(--wait);padding:8px 12px;border-radius:4px;font-size:calc(16px * var(--fs));margin-top:10px;white-space:pre-wrap}.alert-box{background:#fdeceb;border-left:4px solid var(--stop);padding:10px 12px;border-radius:4px;font-size:calc(16px * var(--fs));margin:10px 0 0}.info-box{background:#e8f0fb;border-left:4px solid var(--setup);padding:10px 12px;border-radius:4px;font-size:calc(16px * var(--fs));margin:10px 0 0}.steps{display:flex;padding:14px 6px 12px;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}.steps .s{flex:1;min-width:34px;text-align:center;position:relative;font-size:calc(14px * var(--fs));color:var(--muted)}.steps .s:after{content:"";position:absolute;top:11px;left:calc(50% + 13px);right:calc(-50% + 13px);height:2px;background:var(--line)}.steps .s:last-child:after{display:none}.steps .dot{width:24px;height:24px;border-radius:50%;margin:0 auto 4px;display:flex;align-items:center;justify-content:center;font-family:var(--num);font-size:calc(15px * var(--fs));background:var(--paper);color:var(--muted);border:2px solid var(--line)}.steps .s.done .dot{background:var(--ink);color:#fff;border-color:var(--ink)}.steps .s.done:after{background:var(--ink)}.steps .s.cur .dot{background:var(--light, var(--setup));border-color:var(--light, var(--setup));color:#fff}.steps .s.cur{color:var(--ink);font-weight:700}.steps .tm{display:block;font-family:var(--num);font-size:calc(13px * var(--fs));margin-top:1px;color:var(--muted);font-weight:400}.panel{background:var(--panel);border-radius:10px;border:1px solid var(--line);padding:12px 14px;margin:12px}.panel>h3{margin:0 0 10px;font-size:calc(17px * var(--fs));display:flex;align-items:center;gap:8px}.panel>h3 .extra{margin-left:auto;font-weight:400;font-size:calc(15px * var(--fs));color:var(--muted)}.act-bar{position:fixed;bottom:calc(58px + var(--safe-bottom));left:50%;transform:translate(-50%);width:100%;max-width:680px;z-index:25;padding:14px 12px 10px;background:linear-gradient(to top,var(--paper) 78%,rgba(233,237,241,0))}.act-bar .bigbtn+.bigbtn{margin-top:10px}.tl{list-style:none;margin:0;padding:0}.tl li{position:relative;padding:0 0 12px 22px;font-size:calc(16px * var(--fs))}.tl li:before{content:"";position:absolute;left:5px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--light, var(--idle))}.tl li:after{content:"";position:absolute;left:8px;top:16px;bottom:0;width:2px;background:var(--line)}.tl li:last-child:after{display:none}.tl .when{font-family:var(--num);color:var(--muted);margin-right:8px}.tl .who{color:var(--muted)}.tl .what{font-weight:600}.tl .undone{text-decoration:line-through;opacity:.5}.tl .tag{font-size:calc(13px * var(--fs));border:1px solid var(--wait);color:var(--wait);border-radius:3px;padding:0 4px;margin-left:6px}.choice{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.choice button{min-height:calc(68px * var(--fs));border-radius:12px;border:2px solid var(--line-strong, #b9c3ce);background:var(--panel);font-size:calc(19px * var(--fs));font-weight:600;color:var(--ink);cursor:pointer;font-family:var(--body);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px}.choice button .anticon{font-size:calc(28px * var(--fs))}.choice button.on{border-color:var(--ink);background:var(--ink);color:#fff}.choice.okng{grid-template-columns:1fr 1fr}.choice.okng button{min-height:84px;font-size:calc(30px * var(--fs));font-family:var(--num)}.choice.okng button.ok.on{background:var(--run);border-color:var(--run)}.choice.okng button.ng.on{background:var(--stop);border-color:var(--stop)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1.5px solid var(--line);background:var(--panel);border-radius:20px;padding:8px 16px;font-size:calc(17px * var(--fs));cursor:pointer;color:var(--ink);font-family:var(--body)}.chips button.on{border-color:var(--ink);background:var(--ink);color:#fff}.f-label{font-size:calc(16px * var(--fs));color:var(--muted);margin:16px 0 8px;font-weight:600}.f-label:first-child{margin-top:0}.stepper{display:flex;align-items:stretch;gap:8px}.stepper button{width:60px;border-radius:10px;border:2px solid var(--line);background:var(--panel);font-size:calc(30px * var(--fs));cursor:pointer;color:var(--ink)}.stepper input{flex:1;min-width:0;height:calc(60px * var(--fs));border:2px solid var(--line);border-radius:10px;text-align:center;font-size:calc(30px * var(--fs));font-family:var(--num);color:var(--ink)}.photos{display:flex;flex-wrap:wrap;gap:8px}.photos .ph{width:76px;height:76px;border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:calc(14px * var(--fs));text-align:center}.photos .ph img{width:100%;height:100%;object-fit:cover}.photos .ph .x{position:absolute;top:0;right:0;background:#0009;color:#fff;border:0;width:24px;height:24px;font-size:calc(16px * var(--fs))}.photos .add{width:76px;height:76px;border-radius:8px;border:2px dashed var(--idle);background:var(--panel);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:calc(14px * var(--fs));cursor:pointer}.photos .add .anticon{font-size:calc(28px * var(--fs))}.sheet-title{display:flex;align-items:center;gap:10px;font-size:calc(20px * var(--fs));font-weight:700}.timefix{font-size:calc(16px * var(--fs));color:var(--muted);margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timefix button{background:none;border:0;color:var(--setup);font-size:calc(16px * var(--fs));padding:0;cursor:pointer;text-decoration:underline}.empty{text-align:center;padding:48px 20px;color:var(--muted);font-size:calc(17px * var(--fs))}.empty .big{font-size:calc(48px * var(--fs));margin-bottom:8px;color:var(--run)}.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(180px * var(--fs)),1fr));gap:12px}.mtile{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;color:inherit;text-decoration:none;display:flex;flex-direction:column;min-height:130px}.mtile .top{height:8px;background:var(--light, var(--line))}.mtile .body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:4px;flex:1}.mtile .code{font-family:var(--num);font-size:calc(28px * var(--fs));font-weight:700;line-height:1.1;display:flex;align-items:center;gap:6px}.mtile .code small{font-size:calc(14px * var(--fs));color:var(--muted);font-weight:400;margin-left:auto;font-family:var(--body)}.mtile .stl{font-size:calc(15px * var(--fs))}.mtile .p{font-size:calc(15px * var(--fs));color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtile .who{font-size:calc(14px * var(--fs));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtile .bar{height:4px;background:var(--paper);border-radius:2px;overflow:hidden;margin-top:auto}.mtile .bar i{display:block;height:100%;background:var(--run)}.mtile.free .code{color:var(--muted)}.mtile .q{font-size:calc(14px * var(--fs));color:var(--wait)}.pc-logo{color:#fff;padding:16px 18px 12px;display:flex;align-items:center;gap:10px}.pc-logo .lights{display:flex;flex-direction:column;gap:2px}.pc-logo .lights i{display:block;width:14px;height:5px;border-radius:1px}.pc-logo b{font-size:calc(17px * var(--fs));letter-spacing:.04em}.pc-page{padding:24px 28px 48px}.pc-sider{position:sticky!important;top:0;height:100vh;overflow-y:auto;z-index:20}.pc-sider .ant-layout-sider-children{display:flex;flex-direction:column}.pc-sider .ant-menu{flex:1 1 auto;overflow-y:auto}.pc-me{flex:none;margin:0 12px 14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.pc-user{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 12px;border:0;border-radius:8px;background:none;cursor:pointer;font-size:calc(16px * var(--fs));color:#dfe5ec;font-family:var(--body);text-align:left;flex-wrap:wrap}.pc-user:hover,.pc-user.ant-dropdown-open{background:#ffffff14}.pc-user b{color:#fff}.pc-user .roles{font-size:calc(14px * var(--fs));color:#9aa6b4;flex-basis:100%;padding-left:22px;margin-top:-4px}.pc-page>.head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pc-page>.head h2{margin:0;font-size:calc(24px * var(--fs))}.pc-page>.head .sp{flex:1}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.kpis .k{padding:12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}.kpis .k .v{font-family:var(--num);font-size:calc(32px * var(--fs));font-weight:600;line-height:1.15}.kpis .k .v small{font-size:calc(16px * var(--fs));color:var(--muted);font-weight:400;margin-left:2px}.kpis .k .l{font-size:calc(15px * var(--fs));color:var(--muted)}.kpis.kpis5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width: 900px){.kpis.kpis5{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart-box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.chart-box h3{margin:0 0 6px;font-size:calc(17px * var(--fs))}.chart-box .sub{font-size:calc(14px * var(--fs));color:var(--muted);margin-bottom:4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 1100px){.grid2{grid-template-columns:1fr}}.board-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:calc(15px * var(--fs));color:var(--muted);align-items:center}.board-legend span{display:inline-flex;align-items:center;gap:6px}@media print{.no-print{display:none!important}body{background:#fff}}.ant-table .row-stop td{background:#fdf1ef}.drawer-detail .panel{margin:12px 0}.msub{font-size:calc(15px * var(--fs));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mtile .brand{font-size:calc(14px * var(--fs));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-2px}.mtile.off{background:repeating-linear-gradient(-45deg,#f4f5f7,#f4f5f7 8px,#eceef1 8px,#eceef1 16px)}.mtile.off .code{color:var(--muted)}.timer{margin-top:8px;font-size:calc(16px * var(--fs));display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.timer .tbar{flex-basis:100%;height:6px;background:var(--paper);border-radius:3px;overflow:hidden}.timer .tbar i{display:block;height:100%;background:var(--setup)}.timer.over .tbar i{background:var(--stop)}.timer.big{font-size:calc(18px * var(--fs));background:var(--paper);padding:10px 12px;border-radius:8px}.timer.big .tbar{height:8px;background:#fff}.levels{display:grid;gap:8px}.levels button{display:grid;grid-template-columns:44px 1fr;align-items:center;text-align:left;gap:2px 10px;min-height:60px;border:2px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 12px;cursor:pointer;font-family:var(--body);color:var(--ink)}.levels button b{grid-row:span 2;font-family:var(--num);font-size:calc(32px * var(--fs));text-align:center}.levels button span{font-size:calc(18px * var(--fs));font-weight:600}.levels button small{font-size:calc(15px * var(--fs));color:var(--muted)}.levels button.on{border-color:var(--ink);background:var(--ink);color:#fff}.levels button.on small{color:#fffc}.levels button:disabled{opacity:.38;cursor:not-allowed}.mpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(104px * var(--fs)),1fr));gap:8px}.mpick button{border:2px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 4px 5px;cursor:pointer;text-align:center;position:relative;font-family:var(--body);color:var(--ink);overflow:hidden}.mpick button:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--light, var(--line))}.mpick button b{display:block;font-family:var(--num);font-size:calc(20px * var(--fs));margin-top:2px}.mpick button small{display:block;font-size:calc(13px * var(--fs));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mpick button.on{border-color:var(--ink);background:var(--ink);color:#fff}.mpick button.on small{color:#fffc}.plist button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 4px;cursor:pointer;font-family:var(--body);color:var(--ink)}.plist button:last-child{border-bottom:0}.plist button .t{font-weight:600;font-size:calc(18px * var(--fs))}.plist button .s{font-size:calc(15px * var(--fs));color:var(--muted)}.mystat{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:12px 12px 0;color:inherit;text-decoration:none}.mystat .v{font-family:var(--num);font-size:calc(34px * var(--fs));font-weight:700;line-height:1}.mystat .l{font-size:calc(15px * var(--fs));color:var(--muted)}.mystat .good{color:var(--run)}.mystat .bad{color:var(--stop)}.op-btns{display:grid;gap:12px}.op-btns .bigbtn{min-height:72px;font-size:calc(28px * var(--fs))}.quad-note{font-size:calc(14px * var(--fs));color:var(--muted)}.tag-level{font-family:var(--num);font-size:calc(14px * var(--fs));border:1px solid var(--ink);border-radius:3px;padding:0 5px}.state-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.state-filter button{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--panel);border-radius:18px;padding:5px 14px;font-size:calc(16px * var(--fs));cursor:pointer;color:var(--ink);font-family:var(--body)}.state-filter button i{width:10px;height:10px;border-radius:50%;display:inline-block}.state-filter button b{font-weight:700}.state-filter button.on{border-color:var(--ink);background:var(--ink);color:#fff}.state-filter button:disabled{opacity:.45;cursor:default}.state-group{margin-bottom:18px}.state-group>h3{display:flex;align-items:center;gap:8px;font-size:calc(17px * var(--fs));margin:0 0 8px}.state-group>h3 i{width:12px;height:12px;border-radius:50%;display:inline-block}.state-group>h3 .muted{font-weight:400;font-size:calc(15px * var(--fs))}.attr-list{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:calc(16px * var(--fs));margin:0}.attr-list dt{color:var(--muted);white-space:nowrap}.attr-list dd{margin:0;word-break:break-all}:root{--line-strong: #b9c3ce;--tint: #eaf1fc}.ph{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.ph-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}.ph-main h2{margin:0;font-size:calc(28px * var(--fs));font-weight:700;color:var(--ink)}.ph-sub{color:var(--muted);font-size:calc(16px * var(--fs))}.ph-help{border:0;background:none;color:var(--setup);cursor:pointer;font-size:calc(16px * var(--fs));padding:2px 4px;font-family:var(--body)}.ph-help:hover{text-decoration:underline}.ph-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.ph-actions .ant-btn{height:calc(44px * var(--fs));padding:0 18px;font-size:calc(17px * var(--fs))}.ph-actions .ant-btn-icon-only{width:calc(44px * var(--fs));padding:0}.fpanel{display:flex;gap:16px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:14px}.fpanel-rows{display:grid;gap:10px;flex:1;min-width:0}.fpanel-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.frow{display:flex;align-items:center;gap:12px;min-height:calc(40px * var(--fs))}.frow-label{flex:none;width:calc(64px * var(--fs));color:var(--muted);font-size:calc(16px * var(--fs));text-align:right}.frow-body{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0;flex:1}.chipg{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:calc(40px * var(--fs));padding:0 14px;border-radius:8px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);font-size:calc(17px * var(--fs));font-family:var(--body);cursor:pointer;transition:border-color .12s,background .12s}.chip:hover:not(:disabled){border-color:var(--setup);color:var(--setup)}.chip.on{background:var(--plate);border-color:var(--plate);color:#fff;font-weight:600}.chip.on:hover{color:#fff}.chip:disabled{opacity:.45;cursor:default}.chip-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.chip-check{font-size:calc(14px * var(--fs))}.chip-n{font-family:var(--num);font-weight:700;min-width:18px;text-align:center;padding:0 5px;border-radius:9px;background:var(--paper);color:var(--ink);font-size:calc(15px * var(--fs));line-height:20px}.chip.on .chip-n{background:#ffffff2e;color:#fff}.chip:focus-visible{outline:3px solid var(--setup);outline-offset:2px}.pc-page .ant-tabs-top>.ant-tabs-nav{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 8px;margin:0 0 14px}.pc-page .ant-tabs-top>.ant-tabs-nav:before{display:none}.pc-page .ant-tabs-top>.ant-tabs-nav .ant-tabs-tab{padding:12px 16px;margin:0 2px;font-size:calc(17px * var(--fs));color:var(--muted);border-radius:8px 8px 0 0}.pc-page .ant-tabs-top>.ant-tabs-nav .ant-tabs-tab:hover{color:var(--ink);background:#f4f6f9}.pc-page .ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active{background:var(--tint)}.pc-page .ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--ink);font-weight:700}.pc-page .ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar{height:3px;background:var(--setup)}.selbar{display:flex;align-items:center;gap:14px;background:var(--tint);border:1px solid #b8cdee;border-radius:10px;padding:8px 14px;margin-bottom:12px;font-size:calc(17px * var(--fs))}.selbar b{font-family:var(--num);font-size:calc(19px * var(--fs))}.selbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rowacts{display:flex;gap:6px;flex-wrap:nowrap}.rowacts .ant-btn{height:calc(34px * var(--fs));padding:0 12px;font-size:calc(15px * var(--fs))}.pc-page .ant-table-thead>tr>th{background:#eef1f5!important;color:var(--ink);font-weight:700}.pc-page .ant-table-wrapper{background:#fff;border-radius:10px}.pc-page .ant-pagination{margin:16px 0 4px!important;font-size:calc(16px * var(--fs));align-items:center}.pc-page .ant-pagination .ant-pagination-item{min-width:36px;height:36px;line-height:34px;border:1.5px solid var(--line-strong);border-radius:8px;background:#fff}.pc-page .ant-pagination .ant-pagination-item a{font-family:var(--num);font-size:calc(17px * var(--fs))}.pc-page .ant-pagination .ant-pagination-item-active{background:var(--setup);border-color:var(--setup)}.pc-page .ant-pagination .ant-pagination-item-active a{color:#fff;font-weight:700}.pc-page .ant-pagination .ant-pagination-prev,.pc-page .ant-pagination .ant-pagination-next{height:36px;line-height:34px}.pg-btn{height:36px;padding:0 12px;border:1.5px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font-size:calc(16px * var(--fs));cursor:pointer;font-family:var(--body);display:inline-flex;align-items:center;gap:4px}.ant-pagination-disabled .pg-btn{opacity:.4;cursor:not-allowed}.pc-page .ant-pagination .ant-pagination-total-text{margin-right:14px;color:var(--muted)}.pc-page .ant-pagination .ant-pagination-options .ant-select-selector{height:36px!important;align-items:center}.pc-page .ant-pagination .ant-pagination-options-quick-jumper input{height:36px;width:56px}.frow-label.inline{width:auto;margin-left:18px;padding-left:18px;border-left:1px solid var(--line)}.rowacts .ant-btn-dangerous:not(:hover){border-color:var(--line-strong)}.pc-page .ant-pagination .ant-pagination-options{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.pc-page .ant-pagination .ant-pagination-options .ant-select{height:36px}.set-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px}.set-panel h3{font-size:calc(18px * var(--fs));margin:18px 0 10px;padding-left:8px;border-left:4px solid var(--setup)}.set-panel h3:first-child{margin-top:0}.area-card .ant-card-head{min-height:48px}.area-card .ant-card-head-title{font-size:calc(18px * var(--fs))}.sup-acts{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:12px}.sup-acts.panel{margin:12px}.sup-acts-title{font-weight:700;font-size:calc(17px * var(--fs));margin-bottom:10px}.sup-acts-title .muted{font-weight:400;font-size:calc(15px * var(--fs));margin-left:6px}.sup-acts-btns{display:flex;flex-wrap:wrap;gap:8px}.m-tabs a.on{color:var(--setup)}.m-tabs a.on:before{display:none}.m-tabs a .anticon{width:52px;height:28px;line-height:28px;margin:0 auto 2px;border-radius:14px}.m-tabs a.on .anticon{background:var(--tint)}.chips button{border-color:var(--line-strong)}.chips button.on{background:var(--plate);border-color:var(--plate);font-weight:600}.rep-loading{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;background:#1f2a37;color:#fff;padding:7px 16px;border-radius:999px;font-size:calc(16px * var(--fs));display:flex;align-items:center;gap:8px;box-shadow:0 6px 18px #0000002e}.rep-loading .ant-spin-dot-item{background:#fff}.row-grey>td{background:#f4f5f7!important;color:var(--muted)}.imp-new>td{background:#f0faf3!important}.imp-fill>td{background:#f2fbfc!important}.imp-overwrite>td,.imp-undelete>td{background:#fff7eb!important}.imp-rebuild>td{background:#fdeeee!important}.choice.tasks{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.choice.tasks button{min-height:58px;text-align:left;align-items:flex-start;justify-content:center;padding:8px 10px}.pc-sider{background:var(--plate)!important}.pc-logo{padding:20px 20px 14px;gap:12px}.pc-logo .lights{gap:3px}.pc-logo .lights i{width:18px;height:6px;border-radius:2px}.pc-logo b{font-size:calc(19px * var(--fs));letter-spacing:.04em}.pc-sider .ant-menu-dark{background:var(--plate)}.pc-sider .ant-menu-item-group-title{padding:14px 24px 6px!important;letter-spacing:.12em;color:#9aa7b8!important}.pc-sider .ant-menu-dark .ant-menu-sub.ant-menu-inline{background:transparent!important}.pc-sider .ant-menu-dark .ant-menu-sub .ant-menu-item{font-size:calc(16px * var(--fs));height:calc(44px * var(--fs));line-height:calc(44px * var(--fs));color:#c9d3de}.pc-sider .ant-menu-dark .ant-menu-sub .ant-menu-item-selected{color:#fff;font-weight:700}.pc-sider .ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff;font-weight:700}.pc-sider .ant-menu-dark .ant-menu-item-selected{font-weight:700}.menu-l{display:inline-flex;align-items:center;gap:8px;width:100%}.menu-n{margin-left:auto;min-width:24px;height:22px;line-height:22px;padding:0 7px;border-radius:11px;text-align:center;font-family:var(--num);font-size:calc(14px * var(--fs));font-weight:700;background:#ffffff24;color:#fff}.menu-n.wait{background:#e8b230;color:#16202e}.menu-n.stop{background:#e5483f;color:#fff}.ant-menu-submenu-title .menu-n{margin-right:4px}.pc-me{margin:0 12px 16px;padding-top:12px;border-top:1px solid #2c394b;display:flex;flex-direction:column;gap:10px}.pc-user{gap:10px;min-height:52px;padding:6px 10px;flex-wrap:nowrap;font-size:calc(17px * var(--fs))}.pc-user .avatar{width:40px;height:40px;flex:none;border-radius:50%;background:#2c394b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.pc-user .who{display:flex;flex-direction:column;min-width:0;line-height:1.3}.pc-user .roles{font-size:calc(14px * var(--fs));color:#a9b5c3;padding:0;margin:0;flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-row{display:flex;align-items:center;gap:8px;padding:0 4px;color:#a9b5c3;font-size:calc(14px * var(--fs))}.fs-row .fs-switch{flex:1}.fs-switch{display:flex;gap:6px}.fs-switch button{flex:1;min-height:38px;border-radius:8px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);cursor:pointer;font-family:var(--body);padding:0 6px}.fs-switch button.on{background:var(--plate);border-color:var(--plate);color:#fff;font-weight:700}.fs-switch.dark button{border-color:#3a4a5f;background:transparent;color:#cfd8e3}.fs-switch.dark button.on{background:#fff;border-color:#fff;color:var(--plate)}.sec-title{font-size:calc(19px * var(--fs));font-weight:800;margin:22px 0 10px;display:flex;align-items:baseline;gap:10px}.sec-title .muted{font-size:calc(15px * var(--fs));font-weight:400}.ph-main h2{font-size:calc(28px * var(--fs));font-weight:800}.ph-sub{font-size:calc(16px * var(--fs))}.st-ico{font-size:.95em}.lamp.run,.lamp.wait,.lamp.stop,.lamp.setup{box-shadow:none}.mtile .band{display:flex;align-items:center;gap:8px;padding:7px 12px;font-weight:800;font-size:calc(16px * var(--fs));color:#fff;background:var(--light, var(--idle))}.mtile .band .since{margin-left:auto;font-weight:500;font-size:calc(14px * var(--fs))}.mtile .band.wait{color:#3d2a00}.mtile .band.idle{background:#dfe3e8;color:#3a4452}.mtile .band.off{background:#c9d0d8;color:#3a4452}.mtile .code{font-size:calc(30px * var(--fs));align-items:baseline}.mtile .code small{font-size:calc(14px * var(--fs));margin-left:8px}.mtile .p{font-size:calc(16px * var(--fs));font-weight:700}.mtile .who{font-size:calc(15px * var(--fs));color:var(--muted)}.mtile .q{font-size:calc(14px * var(--fs));color:var(--wait-ink);font-weight:600}.mtile .body{padding:10px 14px 12px;gap:5px}.mtile.free .code{color:var(--ink)}.nd-grid{display:grid;grid-template-columns:minmax(270px,320px) minmax(0,1fr) minmax(300px,360px);gap:16px;align-items:start}@media (max-width: 1400px){.nd-grid{grid-template-columns:minmax(250px,290px) minmax(0,1fr)}.nd-right{grid-column:1 / -1}}.nd-mid{display:flex;flex-direction:column;gap:16px;min-width:0}.nd-col{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0}.nd-col>h2{margin:0;font-size:calc(21px * var(--fs));font-weight:900;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.nd-h-sub{font-size:calc(16px * var(--fs));font-weight:400;color:var(--muted)}.nd-h-sub b{color:var(--ink)}.nd-h-sub em{font-style:normal;color:var(--wait-ink);font-weight:700}.nd-parts{position:sticky;top:16px;max-height:calc(100vh - 32px)}.nd-preset{background:var(--tint);border-radius:10px;padding:8px 12px;font-size:calc(15px * var(--fs));color:var(--setup-ink)}.nd-names{display:flex;flex-wrap:wrap;gap:6px}.nd-names button{min-height:calc(38px * var(--fs));padding:0 12px;border-radius:19px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);font-size:calc(15px * var(--fs));font-weight:700;cursor:pointer;font-family:var(--body)}.nd-names button span{font-weight:400;color:var(--muted);margin-left:2px}.nd-names button.on{background:var(--plate);border-color:var(--plate);color:#fff}.nd-names button.on span{color:#c9d3de}.nd-names button.more{border-style:dashed;font-weight:400}.nd-plist{display:flex;flex-direction:column;overflow-y:auto;flex:1 1 auto;min-height:120px;border-top:1px solid #e3e8ee;margin:0 -6px;padding:0 6px}.nd-part{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px;border:0;border-bottom:1px solid #e3e8ee;background:none;cursor:pointer;font-family:var(--body);color:var(--ink);border-radius:8px}.nd-part:hover{background:#f4f6f9}.nd-part.on{background:var(--tint);box-shadow:inset 4px 0 0 var(--primary)}.nd-part .r1{display:flex;align-items:baseline;gap:8px}.nd-part .r1 b{font-size:calc(17px * var(--fs));font-variant-numeric:tabular-nums}.nd-part .rt{margin-left:auto;font-size:calc(14px * var(--fs));font-weight:700;color:var(--muted)}.nd-part .rt.none{color:var(--stop-ink)}.nd-part .r2{font-size:calc(15px * var(--fs));color:var(--muted)}.nd-part .r2 em{font-style:normal;color:var(--wait-ink);font-weight:700}.nd-part .r2 em.gray{color:var(--muted);font-weight:400}.nd-part.noroute{opacity:.72}.nd-more{font-size:calc(14px * var(--fs));color:var(--muted);padding:8px 4px}.nd-newpart{min-height:calc(46px * var(--fs));border:1.5px dashed #9aa3ae;border-radius:10px;background:#f8fafc;color:var(--primary);font-size:calc(16px * var(--fs));font-weight:700;cursor:pointer;font-family:var(--body)}.nd-empty{color:var(--muted);padding:18px 6px;text-align:center;font-size:calc(16px * var(--fs))}.nd-empty.big{padding:36px 6px;font-size:calc(18px * var(--fs))}.nd-lots{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.nd-lots .lbl{align-self:center;color:var(--muted);font-size:calc(15px * var(--fs));margin-right:2px}.nd-lots button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 12px;border-radius:10px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);font-size:calc(16px * var(--fs));font-weight:700;cursor:pointer;font-family:var(--body);text-align:left}.nd-lots button small{font-size:calc(14px * var(--fs));font-weight:400;color:var(--muted)}.nd-lots button.on{border-color:var(--primary);background:var(--tint);box-shadow:inset 0 0 0 1px var(--primary)}.nd-stages{display:flex;flex-wrap:wrap;gap:8px}.nd-stage{min-width:calc(112px * var(--fs));min-height:calc(78px * var(--fs));padding:8px 12px;border-radius:12px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left;cursor:pointer;font-family:var(--body)}.nd-stage .t{font-size:calc(14px * var(--fs));color:var(--muted)}.nd-stage b{font-size:calc(18px * var(--fs))}.nd-stage .s{font-size:calc(14px * var(--fs));font-weight:700;color:var(--muted);min-height:1.2em}.nd-stage:hover:not(:disabled){border-color:var(--primary)}.nd-stage.done{background:#e3f4ea;border-color:var(--run)}.nd-stage.done .s{color:var(--run-ink)}.nd-stage.active{background:#e4edfb;border-color:var(--setup)}.nd-stage.next{background:#fff3d6;border-color:var(--wait)}.nd-stage.next .s{color:var(--wait-ink)}.nd-stage.skip{opacity:.55}.nd-stage.out{border-style:dashed;background:#f4f6f9;cursor:default}.nd-stage.manual{border-style:dashed}.nd-stage.manual b{color:var(--primary)}.nd-stage.on{background:var(--primary);border-color:var(--primary);color:#fff}.nd-stage.on .t,.nd-stage.on .s{color:#dfe8fb}.nd-stage.on.manual b{color:#fff}.nd-stage:disabled{opacity:.35;cursor:not-allowed}.nd-info{background:#f4f6f9;border-radius:10px;padding:10px 14px;font-size:calc(16px * var(--fs));color:var(--ink);line-height:1.6}.nd-info .lot{color:var(--wait-ink)}.nd-note{background:#fff7e0;border-left:4px solid var(--wait);border-radius:6px;padding:8px 12px;font-size:calc(15px * var(--fs))}.nd-manual{display:flex;gap:10px;align-items:center}.nd-seg{display:flex;border:1.5px solid var(--line-strong);border-radius:10px;overflow:hidden}.nd-seg button{min-width:64px;min-height:calc(46px * var(--fs));border:0;background:#fff;font-size:calc(16px * var(--fs));font-weight:700;cursor:pointer;font-family:var(--body);color:var(--ink)}.nd-seg button.on{background:var(--plate);color:#fff}.nd-seg button:disabled{opacity:.35}.nd-mgroup{font-size:calc(15px * var(--fs));font-weight:900;color:var(--ink);margin-top:4px;display:flex;gap:10px;align-items:baseline}.nd-mgroup.rec{color:var(--run-ink)}.nd-mgroup span{font-weight:400;color:var(--muted)}.nd-m{display:flex;align-items:center;gap:14px;min-height:calc(64px * var(--fs));padding:8px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;font-family:var(--body);color:var(--ink);width:100%}.nd-m:hover{border-color:var(--primary)}.nd-m.on{border:2px solid var(--primary);background:#f3f7fe;padding:7px 13px}.nd-m.bad{background:#fafbfc}.nd-m .ck{flex:none;width:26px;height:26px;border-radius:7px;border:2px solid #9aa3ae;display:flex;align-items:center;justify-content:center;color:#fff}.nd-m.on .ck{background:var(--primary);border-color:var(--primary)}.nd-m .code{flex:none;width:calc(128px * var(--fs));display:flex;flex-direction:column}.nd-m .code b{font-family:var(--num);font-size:calc(26px * var(--fs));line-height:1.05}.nd-m .code small{font-size:calc(13px * var(--fs));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nd-m .state{flex:none;width:calc(100px * var(--fs));padding:4px 0;border-radius:8px;text-align:center;font-size:calc(15px * var(--fs));font-weight:900;background:#fff3d6;color:var(--wait-ink)}.nd-m .state.idle{background:#e3f4ea;color:var(--run-ink)}.nd-m .state.stop{background:#fbe4e2;color:var(--stop-ink)}.nd-m .state.setup{background:#e4edfb;color:var(--setup-ink)}.nd-m .tags{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.nd-m .tg{padding:3px 9px;border-radius:7px;font-size:calc(14px * var(--fs));font-weight:700;background:#f4f6f9;color:var(--muted)}.nd-m .tg.hist{background:#e3f4ea;color:var(--run-ink)}.nd-m .tg.hist2{background:#eef7f1;color:var(--run-ink);font-weight:500}.nd-m .tg.fit{background:#e4edfb;color:var(--setup-ink)}.nd-m .tg.warn{background:#fff3d6;color:var(--wait-ink)}.nd-m .tg.bad{background:#fbe4e2;color:var(--stop-ink)}.nd-badhead{text-align:left;border:1px solid #e3e8ee;background:#f8fafc;border-radius:10px;padding:10px 14px;font-size:calc(15px * var(--fs));color:var(--muted);cursor:pointer;font-family:var(--body);line-height:1.5}.nd-badhead b{color:var(--ink)}.nd-link{border:0;background:none;padding:4px 0;color:var(--primary);font-size:calc(15px * var(--fs));cursor:pointer;font-family:var(--body);text-align:left}.nd-link:hover{text-decoration:underline}.nd-right{position:sticky;top:16px}.nd-sum{background:var(--tint);border-radius:10px;padding:10px 12px;font-size:calc(16px * var(--fs));color:var(--setup-ink);line-height:1.55}.nd-qty{display:flex;flex-direction:column;gap:6px;font-size:calc(16px * var(--fs));font-weight:700}.nd-qty>span{display:flex;align-items:center;gap:8px}.nd-qty .ant-input-number-input{font-size:calc(22px * var(--fs));font-weight:800}.nd-qty em{font-style:normal;font-weight:400;color:var(--muted)}.nd-split{display:flex;flex-direction:column;gap:8px}.nd-split .row{display:flex;align-items:center;gap:8px}.nd-split .row b{font-family:var(--num);font-size:calc(20px * var(--fs));width:calc(78px * var(--fs))}.nd-flabel{font-size:calc(16px * var(--fs));font-weight:700}.nd-flabel .muted{font-weight:400;font-size:calc(14px * var(--fs))}.nd-techs{display:flex;flex-direction:column;gap:8px}.nd-tech{display:flex;align-items:center;gap:10px;min-height:calc(52px * var(--fs));padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;font-family:var(--body);color:var(--ink)}.nd-tech .rd{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #9aa3ae;box-sizing:border-box}.nd-tech b{font-size:calc(17px * var(--fs));flex:none}.nd-tech small{font-size:calc(14px * var(--fs));color:var(--muted);flex:1;min-width:0}.nd-tech.on{border:2px solid var(--primary);background:#f3f7fe;padding:5px 11px}.nd-tech.on .rd{border:7px solid var(--primary)}.nd-tech.off b{color:var(--muted)}.nd-row2{display:flex;gap:12px;align-items:flex-end}.nd-row2 label,.nd-more-f label,.nd-form label{display:flex;flex-direction:column;gap:4px;font-size:calc(15px * var(--fs));color:var(--muted);flex:1}.nd-row2 label.sw{flex:none}.nd-row2 label.sw .ant-switch{margin:8px 0}.nd-more-f{display:flex;flex-direction:column;gap:10px}.nd-hist{font-size:calc(14px * var(--fs));color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.nd-hist button{border:1px solid #f0c8c4;background:#fdf1ef;color:var(--stop-ink);border-radius:8px;padding:3px 8px;font-size:calc(14px * var(--fs));cursor:pointer;font-family:var(--body);text-align:left}.nd-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}.nd-actions .ant-btn-lg{height:calc(56px * var(--fs));font-size:calc(19px * var(--fs));font-weight:800}.nd-actions .ant-btn-lg+.ant-btn-lg{height:calc(46px * var(--fs));font-size:calc(16px * var(--fs));font-weight:500}.nd-done{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#e3f4ea;border:1px solid #b6dfc4;color:var(--run-ink);border-radius:12px;padding:10px 16px;margin-bottom:14px;font-size:calc(16px * var(--fs));font-weight:700}.nd-done a{font-weight:400}.nd-form{display:flex;flex-direction:column;gap:12px}.nd-routes{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.nd-routes button{text-align:left;padding:8px 12px;border-radius:10px;border:1.5px solid var(--line-strong);background:#fff;cursor:pointer;font-family:var(--body);color:var(--ink);font-size:calc(16px * var(--fs))}.nd-routes button .path{font-size:calc(14px * var(--fs));color:var(--muted)}.nd-routes button.on{border-color:var(--primary);background:var(--tint);box-shadow:inset 0 0 0 1px var(--primary)}.lot-card{margin-bottom:12px}.mtile .code{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.05}.mtile .code small{display:block;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtile .band .bl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mtile .band .since{white-space:nowrap;flex:none}.pc-sider .ant-menu-item-group-title{padding:10px 24px 4px!important}.nd-m{flex-wrap:wrap;row-gap:6px}.nd-m .tags{flex:1 1 280px}.nd-split .row b{white-space:nowrap;width:auto;min-width:calc(84px * var(--fs))}.ant-menu-submenu-title .menu-n{margin-right:26px}.th2{display:inline-block;line-height:1.2}.mtable .ant-table-thead>tr>th{vertical-align:bottom;padding:8px!important}.mtable .ant-table-tbody>tr>td{padding:8px!important;vertical-align:middle}.mtable .row-open>td{background:var(--tint)!important}.mtable .row-open>td:first-child{box-shadow:inset 4px 0 0 var(--primary)}.mc-code{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.mc-code small,.mc-2 small{display:block;color:var(--muted);font-size:calc(14px * var(--fs))}.mc-2{line-height:1.3}.mc-fits{display:flex;flex-wrap:wrap;gap:4px}.mc-fits span{background:#e4edfb;color:var(--setup-ink);border-radius:6px;padding:1px 8px;font-size:calc(14px * var(--fs));font-weight:700}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.clamp2.bad{color:var(--stop-ink);font-weight:700}.ms{display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}.ms.on{color:var(--run-ink)}.ms.on i{width:10px;height:10px;border-radius:50%;background:var(--run);display:inline-block}.ms.offline{color:var(--muted)}.ms.off{color:var(--stop-ink)}.mdrawer .ant-drawer-content-wrapper{box-shadow:-12px 0 32px #16202e38}.mdrawer .ant-drawer-header{padding:14px 18px}.md-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.md-sub{font-size:calc(16px * var(--fs));font-weight:400;color:var(--muted)}.md-nav{margin-left:auto;display:flex;gap:6px}.md-body{padding:14px 20px 20px;display:flex;flex-direction:column;gap:16px}.md-body h3{margin:0 0 8px;font-size:calc(17px * var(--fs));font-weight:900}.md-body h3 .muted{font-weight:400;font-size:calc(14px * var(--fs))}.md-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.md-chip{background:#f4f6f9;border-radius:8px;padding:3px 10px;font-size:calc(15px * var(--fs));color:var(--ink);display:inline-flex;align-items:center;gap:6px}.md-chip.red{background:#fbe4e2;color:var(--stop-ink)}.md-now{background:#e4edfb;border-radius:12px;padding:12px 14px;font-size:calc(16px * var(--fs));color:var(--setup-ink);line-height:1.55}.md-now.idle{background:#e3f4ea;color:var(--run-ink)}.md-now.stop{background:#fbe4e2;color:var(--stop-ink)}.md-fits{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.md-fit{display:inline-flex;align-items:center;gap:6px;background:#e4edfb;color:var(--setup-ink);border-radius:8px;padding:5px 10px;font-size:calc(16px * var(--fs));font-weight:700}.md-fit button{border:0;background:none;color:inherit;cursor:pointer;padding:0 2px;font-size:12px}.md-add{border:1.5px dashed #9aa3ae;background:#fff;color:var(--primary);border-radius:8px;padding:4px 10px;font-size:calc(16px * var(--fs));font-weight:700;cursor:pointer;font-family:var(--body)}.md-dl{display:grid;grid-template-columns:calc(84px * var(--fs)) 1fr;gap:8px 12px;margin:0;font-size:calc(16px * var(--fs));line-height:1.45}.md-dl dt{color:var(--muted)}.md-dl dd{margin:0}.md-dl dd.strong{font-weight:700}.md-dl dd.bad{color:var(--stop-ink);font-weight:700}.md-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(104px * var(--fs)),1fr));gap:6px}.md-specs div{background:#f4f6f9;border-radius:8px;padding:6px 8px;display:flex;flex-direction:column}.md-specs span{font-size:calc(13px * var(--fs));color:var(--muted)}.md-specs b{font-size:calc(16px * var(--fs));word-break:break-all}.md-rec{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid #eef1f5;color:var(--ink);font-size:calc(15px * var(--fs))}.md-rec .what{flex:1;min-width:0}.md-rec .what small{margin-left:6px;color:var(--muted)}.md-foot{display:flex;gap:10px}.md-foot .ant-btn-primary{flex:1}.nowrap{white-space:nowrap}@media (min-width: 2100px){.pc-page:not(.wide){max-width:1900px;margin:0 auto}.pc-page.wide{max-width:3200px}.lots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lots-grid .lot-card{margin-bottom:0}}@media (min-width: 2400px){.grid2{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpis{grid-template-columns:repeat(auto-fit,minmax(calc(150px * var(--fs)),1fr))}@media (min-width: 2200px){.nd-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(0,1.15fr) minmax(340px,400px)}.nd-mid{display:contents}.nd-right{grid-column:auto}}.panel .fs-switch button{min-height:calc(48px * var(--fs))}.pc-sider .ant-menu-submenu-title>.menu-l{width:auto;flex:1 1 auto;min-width:0;margin-right:24px;margin-inline-start:10px}.pc-sider .ant-menu-submenu-title .menu-n{margin-right:0}.nd-form .ant-select-lg,.nd-form .ant-select-lg input{font-size:calc(18px * var(--fs))!important}.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(380px * var(--fs)),1fr));gap:14px}.area-machines{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.area-role{border-top:1px solid #e3e8ee;padding:8px 0 6px}.area-role-t{font-weight:800;font-size:calc(15px * var(--fs));margin-bottom:4px}.area-role.leader .area-role-t{color:var(--setup-ink)}.area-row{display:flex;gap:10px;align-items:baseline;padding:2px 0;font-size:calc(16px * var(--fs))}.area-row .sh{flex:none;width:3em;color:var(--muted)}.area-sec{font-weight:800;font-size:calc(17px * var(--fs));margin:6px 0 8px;padding-left:8px;border-left:4px solid var(--primary);display:flex;align-items:center;gap:10px}.area-lock{font-weight:400;font-size:calc(14px * var(--fs));color:var(--muted)}.pc-logo{position:relative}.fold-btn{margin-left:auto;flex:none;width:36px;height:36px;border-radius:8px;border:0;background:#ffffff14;color:#dfe6ee;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}.fold-btn:hover{background:#ffffff2e;color:#fff}.pc-sider.folded .pc-logo{flex-direction:column;padding:18px 0 10px;gap:12px}.pc-sider.folded .fold-btn{margin-left:0}.pc-sider.folded .ant-menu-item-group-title{padding:6px 0!important;text-align:center;font-size:0!important}.pc-sider.folded .ant-menu-item-group-title:after{content:"";display:block;height:1px;background:#2c394b;margin:0 14px}.pc-sider.folded .pc-me{margin:0 8px 14px;align-items:center}.pc-sider.folded .pc-user{justify-content:center;padding:6px 0}.pc-sider.folded .menu-n{display:none}.nm-box{background:#edf2f9;border:1px solid #d3deec;border-radius:12px;padding:10px 12px 12px}.nm-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:calc(15px * var(--fs));font-weight:800;color:var(--setup-ink)}.nm-clear{margin-left:auto;border:0;background:none;color:var(--primary);cursor:pointer;font-size:calc(14px * var(--fs));font-family:var(--body)}.nm-chips{display:flex;flex-wrap:wrap;gap:6px}.nm-chips button,.nm-more{min-height:calc(38px * var(--fs));padding:0 12px;border-radius:19px;border:1.5px solid #c3cfdf;background:#fff;color:var(--ink);font-size:calc(15px * var(--fs));font-weight:700;cursor:pointer;font-family:var(--body)}.nm-chips button span{font-weight:400;color:var(--muted);margin-left:2px}.nm-chips button.on{background:var(--plate);border-color:var(--plate);color:#fff}.nm-chips button.on span{color:#c9d3de}.nm-more{border-style:dashed;border-color:#8fa3bf;color:var(--setup-ink);background:transparent;display:inline-flex;align-items:center;gap:4px}.nm-more b{font-family:var(--num)}.nm-pop .ant-popover-inner{padding:12px}.nm-all{width:min(620px,80vw);display:flex;flex-direction:column;gap:10px}.nm-grid{display:grid;gap:4px 8px;max-height:420px;overflow-y:auto}.nm-grid button{display:flex;align-items:center;gap:6px;text-align:left;min-height:calc(40px * var(--fs));padding:4px 10px;border:1px solid transparent;border-radius:8px;background:#f6f8fb;color:var(--ink);cursor:pointer;font-family:var(--body);font-size:calc(15px * var(--fs))}.nm-grid button:hover{border-color:var(--primary);background:#fff}.nm-grid button .t{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nm-grid button .c{flex:none;font-family:var(--num);color:var(--muted)}.nm-grid button.on{background:var(--plate);color:#fff}.nm-grid button.on .c{color:#c9d3de}.nd-plist-h{display:flex;align-items:baseline;gap:8px;padding:2px 4px 0;font-size:calc(15px * var(--fs))}.nd-plist-h b{font-weight:800}.nd-plist-h span{color:var(--muted)}.nd-plist{border-top:0}.pc-logo b{white-space:nowrap;letter-spacing:.02em;font-size:calc(18px * var(--fs))}.pc-logo{gap:10px;padding-left:18px;padding-right:12px}.ant-drawer .nm-all{width:100%}.ant-drawer .nm-grid{max-height:none}.ant-drawer .nm-grid button .t{white-space:normal}.area-form .ant-input[disabled],.area-form .ant-input-number-disabled input,.area-form .ant-select-disabled .ant-select-selection-item{color:var(--ink)!important}.area-form .ant-select-disabled .ant-select-selector,.area-form .ant-input[disabled]{background:#f4f6f9!important}.pc-logo .app-logo{width:34px;height:34px;display:block;flex:none}.pc-sider.folded .pc-logo .app-logo{width:38px;height:38px}
