:root{--blue:#1b6fff;--cyan:#17c8ff;--deep:#071323;--bg:#f3f6fb;--line:#e2e8f1;--text:#17243a;--muted:#76849a;--green:#12a878;--orange:#f59e0b;--red:#e5485d;--shadow:0 12px 36px rgba(26,49,82,.08);--sidebar:252px;--radius:16px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:"Microsoft YaHei","Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#bfc9d8;border-radius:10px}

/* 登录页 */
.login-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:auto;padding:34px;background:#050d18;color:#eaf5ff;isolation:isolate}.login-overlay:before{content:"";position:absolute;inset:0;z-index:-3;background-image:linear-gradient(rgba(45,133,200,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(45,133,200,.08) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000 30%,transparent 100%)}.login-overlay:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 12% 16%,rgba(18,111,204,.18),transparent 34%),radial-gradient(circle at 84% 78%,rgba(0,217,255,.1),transparent 30%),linear-gradient(135deg,transparent 48%,rgba(42,153,255,.045) 49%,transparent 50%)}
.login-aurora{position:absolute;border-radius:50%;filter:blur(90px);opacity:.28;z-index:-1;pointer-events:none;animation:aurora 9s ease-in-out infinite alternate}.aurora-one{width:380px;height:380px;background:#006eff;left:-120px;top:18%}.aurora-two{width:320px;height:320px;background:#00e0c6;right:-120px;bottom:-80px;animation-delay:-3s}@keyframes aurora{to{transform:translate3d(40px,-28px,0) scale(1.12)}}
.login-shell{width:min(1180px,100%);min-height:700px;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);overflow:hidden;border:1px solid rgba(125,193,255,.2);border-radius:28px;background:rgba(8,21,37,.78);box-shadow:0 40px 100px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(22px)}.login-showcase{position:relative;min-width:0;padding:40px 48px;overflow:hidden;border-right:1px solid rgba(125,193,255,.14);background:linear-gradient(150deg,rgba(16,47,78,.62),rgba(4,15,28,.22))}.login-showcase:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(39,174,255,.1);border-radius:50%;right:-140px;top:100px;box-shadow:0 0 100px rgba(24,134,255,.08)}
.showcase-topline{display:flex;align-items:center;gap:10px;color:#81a8c8;font-size:10px;letter-spacing:2.1px}.showcase-topline b{margin-left:auto;color:#2f628b;font-size:11px}.signal-dot,.header-live i,.system-online i,.login-foot i,.brand small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#29dfaa;box-shadow:0 0 12px #29dfaa}.showcase-copy{margin-top:66px;position:relative;z-index:2}.future-chip{display:inline-flex;padding:7px 11px;border:1px solid rgba(38,198,255,.25);border-radius:99px;background:rgba(14,119,175,.1);color:#5edcff;font:600 10px/1 "Segoe UI";letter-spacing:1.5px}.showcase-copy h1{font-size:47px;line-height:1.24;letter-spacing:-1.5px;margin:20px 0 18px;color:#f3f9ff}.showcase-copy h1 em{font-style:normal;background:linear-gradient(90deg,#47a6ff,#4debd1);-webkit-background-clip:text;background-clip:text;color:transparent}.showcase-copy p{width:min(520px,90%);color:#93a9bd;font-size:15px;line-height:1.9;margin:0}
.factory-visual{height:250px;position:relative;margin:12px 0 8px}.orbit{position:absolute;border:1px solid rgba(55,188,255,.16);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-a{width:230px;height:230px;animation:spin 20s linear infinite}.orbit-b{width:155px;height:155px;border-style:dashed;animation:spin 13s linear infinite reverse}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.visual-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:108px;height:108px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 38% 28%,#164e7c,#071829 72%);border:1px solid #278ac4;box-shadow:0 0 48px rgba(19,151,229,.28),inset 0 0 30px rgba(32,161,229,.12)}.visual-core:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(37,198,255,.22);border-radius:50%}.visual-core span{font:700 35px/1 "Segoe UI";color:#dff8ff;text-shadow:0 0 18px #25caff}.visual-core small{margin-top:7px;color:#4ebce9;font-size:8px;letter-spacing:1.6px}
.data-node{position:absolute;min-width:132px;padding:11px 12px 10px 31px;border:1px solid rgba(81,171,229,.18);border-radius:10px;background:rgba(8,32,51,.72);box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(9px)}.data-node i{position:absolute;left:13px;top:17px;width:7px;height:7px;border-radius:50%;background:#2ed5ff;box-shadow:0 0 10px #2ed5ff}.data-node b,.data-node small{display:block}.data-node b{color:#dceeff;font-size:12px}.data-node small{color:#547894;font-size:8px;letter-spacing:1.3px;margin-top:4px}.node-a{left:2%;top:18%}.node-b{right:1%;top:30%}.node-c{left:9%;bottom:6%}.node-b i{background:#34e1a9;box-shadow:0 0 10px #34e1a9}.node-c i{background:#8a7cff;box-shadow:0 0 10px #8a7cff}.showcase-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid rgba(119,179,220,.14);border-radius:13px;overflow:hidden;background:rgba(119,179,220,.12)}.showcase-stats div{background:rgba(5,18,32,.76);padding:15px 18px}.showcase-stats span{color:#2b8cca;font:600 10px "Segoe UI"}.showcase-stats p{margin:6px 0 3px;color:#e7f4ff;font-size:13px}.showcase-stats small{color:#496980;font-size:8px;letter-spacing:1.1px}
.login-panel{display:flex;flex-direction:column;justify-content:center;padding:48px 50px;background:linear-gradient(180deg,rgba(8,23,40,.6),rgba(5,15,27,.88))}.login-card{width:100%;max-width:390px;margin:auto}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.login-brand>span,.brand>span{display:grid;place-items:center;background:linear-gradient(145deg,#1683ff,#17d4d0);color:white;font-weight:700;box-shadow:0 0 24px rgba(31,152,255,.28)}.login-brand>span{width:46px;height:46px;border-radius:13px;font-size:23px}.login-brand b,.login-brand small{display:block}.login-brand b{color:#f2f8ff;font-size:17px;letter-spacing:.3px}.login-brand small{color:#4e7896;font:500 8px "Segoe UI";letter-spacing:1.6px;margin-top:5px}.system-online{display:inline-flex;align-items:center;gap:7px;color:#5c9bb7;font:600 9px "Segoe UI";letter-spacing:1.3px;margin-bottom:24px}.system-online i{width:6px;height:6px}.login-heading small{color:#2688ca;font:600 9px "Segoe UI";letter-spacing:2px}.login-heading h2{font-size:27px;margin:8px 0;color:#f3f8fd;letter-spacing:.5px}.login-heading p{margin:0 0 30px;color:#718ba1;font-size:13px}.login-field{margin-bottom:17px}.login-field label{display:block;color:#9fb2c3;font-size:12px;margin-bottom:8px}.input-wrap{position:relative}.input-wrap>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#3e789e;font-size:16px}.input-wrap input{width:100%;height:48px;padding:0 15px 0 44px;color:#e9f7ff;background:rgba(7,27,45,.72);border:1px solid rgba(95,151,190,.24);border-radius:11px;outline:none;transition:.2s}.input-wrap input::placeholder{color:#405d73}.input-wrap input:focus{border-color:#1f9ee3;box-shadow:0 0 0 3px rgba(27,141,216,.12),0 0 24px rgba(21,144,220,.08);background:rgba(8,34,56,.9)}.login-error{min-height:22px;margin:1px 0 9px;color:#ff6f86;font-size:12px}.login-submit{position:relative;width:100%;height:50px;border:0;border-radius:11px;color:white;background:linear-gradient(100deg,#156ce8,#10aedd);font-weight:600;letter-spacing:.5px;box-shadow:0 12px 28px rgba(12,112,214,.28);overflow:hidden;transition:.22s}.login-submit:after{content:"→";position:absolute;right:19px;font-size:17px}.login-submit:before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:.45s}.login-submit:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(12,138,225,.36)}.login-submit:hover:before{transform:translateX(110%)}.login-submit:disabled{opacity:.62;cursor:wait;transform:none}.login-foot{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:20px;border-top:1px solid rgba(101,151,188,.12);color:#577790;font-size:10px}.login-foot span{display:flex;align-items:center;gap:7px}.login-foot i{width:5px;height:5px}.login-foot b{font:600 9px "Segoe UI";letter-spacing:1.1px;color:#3b6483}.copyright{text-align:center;margin:27px 0 0;color:#29465e;font:500 8px "Segoe UI";letter-spacing:1.2px}

/* 应用框架 */
aside{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:10;display:flex;flex-direction:column;color:#aebfd0;background:linear-gradient(180deg,#081727,#071321);border-right:1px solid rgba(77,138,183,.14);box-shadow:12px 0 40px rgba(14,35,58,.08)}.brand{height:78px;display:flex;align-items:center;gap:12px;padding:0 21px;border-bottom:1px solid rgba(125,174,211,.1);background:rgba(5,17,30,.55)}.brand>span{width:40px;height:40px;border-radius:12px;font-size:20px;flex:0 0 auto}.brand b,.brand small{display:block}.brand b{color:#f0f7ff;font-size:15px;letter-spacing:.3px}.brand small{color:#4f718c;font:600 8px "Segoe UI";letter-spacing:1.1px;margin-top:5px}.brand small i{width:5px;height:5px;margin-right:5px}nav{padding:13px 11px;overflow:auto;flex:1}.nav-title{padding:19px 12px 8px;color:#425f78;font:600 9px "Segoe UI";letter-spacing:1.6px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;min-height:42px;margin:2px 0;padding:9px 12px;border:1px solid transparent;border-radius:10px;cursor:pointer;color:#8197aa;transition:.18s}.nav-item:before{content:"";position:absolute;left:-1px;width:3px;height:16px;border-radius:3px;background:transparent}.nav-item:hover{color:#d8eaff;background:rgba(24,96,145,.12)}.nav-item.active{color:#eefaff;border-color:rgba(58,157,222,.16);background:linear-gradient(90deg,rgba(23,114,183,.26),rgba(21,80,122,.1));box-shadow:inset 0 0 20px rgba(28,134,204,.05)}.nav-item.active:before{background:#22bdff;box-shadow:0 0 11px #22bdff}.nav-item i{display:grid;place-items:center;width:24px;height:24px;color:#4c839f;font-style:normal;font-size:15px}.nav-item.active i{color:#36c9ff;text-shadow:0 0 11px rgba(54,201,255,.5)}.nav-item span{font-size:13px}.userinfo{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:16px;border-top:1px solid rgba(125,174,211,.1);background:rgba(4,14,25,.52)}.avatar{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#e8f8ff;background:linear-gradient(145deg,#174b73,#116a91);border:1px solid rgba(72,183,231,.24);font-size:13px}.user-meta{min-width:0}.user-meta span,.user-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta span{color:#d9e8f5;font-size:12px}.user-meta small{color:#4f718c;font-size:10px;margin-top:4px}.user-actions{display:flex;gap:4px}.btn-logout{width:27px;height:27px;border:1px solid rgba(107,161,201,.15);border-radius:7px;color:#65839b;background:rgba(30,74,105,.16);padding:0}.btn-logout:hover{color:#dff6ff;border-color:rgba(51,183,239,.35);background:rgba(32,130,184,.2)}
main{min-height:100vh;margin-left:var(--sidebar);background:var(--bg)}header{position:sticky;top:0;z-index:8;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(255,255,255,.87);border-bottom:1px solid rgba(213,222,235,.86);backdrop-filter:blur(16px)}.header-context small,.header-context span{display:block}.header-context small{color:#9ba8b9;font:600 8px "Segoe UI";letter-spacing:1.45px}.header-context span{font-size:15px;font-weight:600;margin-top:4px}.headright{display:flex;align-items:center;gap:20px;color:#79879a;font-size:12px}.header-live{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:99px;color:#289071;background:#eaf9f4}.header-live i{width:6px;height:6px;box-shadow:none}#view{padding:25px 28px 40px;max-width:1800px;margin:0 auto}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:19px}.page-title h2{margin:0;color:#152238;font-size:23px;letter-spacing:-.3px}.page-title h2:before{content:"";display:inline-block;width:4px;height:20px;margin-right:10px;border-radius:4px;background:linear-gradient(#1b78ff,#21cddc);vertical-align:-3px}.page-title p{margin:7px 0 0 14px;color:var(--muted);font-size:12px}.page-title>div:last-child{display:flex;align-items:center;gap:8px}

/* 卡片、表格、控件 */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.card,.panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{position:relative;padding:20px;overflow:hidden}.card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#1b79ff,transparent);opacity:.55}.metric{display:flex;justify-content:space-between}.metric .num{font:650 30px/1 "Segoe UI";letter-spacing:-1px;margin:12px 0 7px;color:#172943}.metric .ico{width:45px;height:45px;border:1px solid #dcecff;border-radius:13px;display:grid;place-items:center;color:#1979dc;background:linear-gradient(145deg,#edf6ff,#f7fbff);font-size:20px}.panel{margin-bottom:18px;overflow:hidden}.panel-head{min-height:53px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f6}.panel-head b{font-size:13px}.panel-body{padding:18px}.toolbar{min-height:55px;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f6;background:linear-gradient(180deg,#fff,#fbfcfe)}.search{width:250px;height:36px;padding:0 12px 0 35px;border:1px solid #dbe3ee;border-radius:9px;outline:none;color:#33445c;background:#f7f9fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='none' stroke='%23899aaf' stroke-width='1.6'%3E%3Ccircle cx='6.5' cy='6.5' r='4.5'/%3E%3Cpath d='m10 10 4 4'/%3E%3C/svg%3E") no-repeat 11px center}.search:focus{border-color:#78b8ff;box-shadow:0 0 0 3px rgba(27,111,255,.08);background-color:white}table{width:100%;border-collapse:separate;border-spacing:0}th{padding:12px;color:#718096;background:#f7f9fc;border-bottom:1px solid #e8edf4;text-align:left;font-size:11px;font-weight:600;letter-spacing:.2px;white-space:nowrap}td{padding:12px;border-bottom:1px solid #eef2f6;color:#394a60;font-size:12px;transition:.12s}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f7fbff}.empty{text-align:center!important;padding:44px!important;color:#9aa7b9!important}
.btn{min-height:35px;padding:7px 14px;border:1px solid #d8e1ec;border-radius:9px;color:#40536c;background:#fff;box-shadow:0 2px 6px rgba(34,56,84,.03);transition:.18s}.btn:hover{transform:translateY(-1px);border-color:#9dc9fa;color:#176bce;box-shadow:0 6px 14px rgba(30,103,182,.08)}.btn.primary{color:#fff;border-color:#1b72ea;background:linear-gradient(100deg,#1b6fff,#168edc);box-shadow:0 7px 18px rgba(27,111,255,.18)}.btn.green{color:#fff;border-color:#12a878;background:linear-gradient(100deg,#13a877,#12bd8c)}.btn.danger{color:var(--red);border-color:#ffd2d9}.btn.small{min-height:29px;padding:5px 9px;border-radius:7px;font-size:11px}.tag{display:inline-flex;align-items:center;padding:4px 9px;border-radius:99px;color:#5b6d83;background:#edf2f8;font-size:10px}.tag:before{content:"";width:5px;height:5px;margin-right:5px;border-radius:50%;background:#93a3b5}.tag.green{color:#087b59;background:#e7f8f1}.tag.green:before{background:#12a878}.tag.orange{color:#a66a00;background:#fff5dc}.tag.orange:before{background:#f0a000}.tag.red{color:#bd3348;background:#ffebef}.tag.red:before{background:#e5485d}.muted{color:var(--muted)}.short{color:var(--red);font-weight:600}.progress{display:inline-block;width:94px;height:7px;overflow:hidden;border-radius:99px;background:#e8edf4}.progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1b6fff,#17c8dc);box-shadow:0 0 8px rgba(27,111,255,.24)}
.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick div{padding:18px 7px;border:1px solid #e4eaf2;border-radius:12px;text-align:center;background:linear-gradient(145deg,#fff,#f8fbff);cursor:pointer;transition:.18s}.quick div:hover{transform:translateY(-2px);border-color:#a6d2ff;box-shadow:0 9px 24px rgba(25,108,190,.08)}.quick b{display:block;margin-bottom:7px;color:#1d7ed8;font-size:20px}.steps{padding:20px;display:flex;align-items:flex-start}.step{position:relative;flex:1;text-align:center}.step:not(:last-child):after{content:"";position:absolute;top:16px;left:60%;right:-40%;height:1px;background:linear-gradient(90deg,#8fc9ff,#d7e3ef)}.step i{position:relative;z-index:1;width:34px;height:34px;margin:auto;display:grid;place-items:center;border:1px solid #cce4fb;border-radius:10px;color:#1675d4;background:#eff7ff;font-style:normal;font-size:11px}.step span{display:block;margin-top:8px;color:#64748a;font-size:11px}.machine-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;padding:18px}.machine-summary span{padding:14px;border:1px solid #e4eaf2;border-radius:12px;background:linear-gradient(145deg,#f8fbff,#fff)}.machine-summary b{margin-right:4px;color:#203650;font:650 22px "Segoe UI"}.green-text{color:#12875b}.red-text{color:#d64055}.row-overdue td{background:#fff5f6!important}.row-overdue td:first-child{border-left:3px solid #e5485d}.row-urgent td{color:#b91c31!important;background:#fff5f6!important}.setup-guide{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px;padding:14px 16px;border:1px solid #f0dc9a;border-radius:13px;background:#fff9e8}.setup-guide>b{margin-right:8px}.setup-guide span{padding:6px 11px;border:1px solid #ead58b;border-radius:99px;background:#fff;cursor:pointer}.setup-guide span.done{color:#0a8b62;border-color:#a8dfca;background:#e7f8f1}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:13px 0 8px;border-top:1px solid #e8edf3}.order-total{text-align:right;padding:13px;color:#1677e8;font-size:18px;font-weight:650}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:18px}.detail-grid span{padding:12px;border:1px solid #e3eaf2;border-radius:11px;background:#f7f9fc}.detail-grid small,.detail-grid b{display:block}.detail-grid small{color:#8290a3;margin-bottom:5px}.salesProduct,.salesQty,.salesPrice{width:100%;padding:8px;border:1px solid #d5deea;border-radius:8px}

/* 弹窗、表单、反馈 */
.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:rgba(5,15,29,.62);backdrop-filter:blur(7px)}.hide{display:none!important}.dialog{width:min(760px,96vw);max-height:88vh;overflow:auto;border:1px solid rgba(224,232,242,.9);border-radius:19px;background:#fff;box-shadow:0 28px 80px rgba(4,20,39,.3);animation:dialogIn .18s ease-out}@keyframes dialogIn{from{opacity:0;transform:translateY(10px) scale(.985)}}.dialog-title{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:17px 21px;border-bottom:1px solid #e9eef4;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);font-size:16px}.dialog-title b:before{content:"";display:inline-block;width:4px;height:15px;margin-right:9px;border-radius:4px;background:#1b7cf1;vertical-align:-2px}.dialog-title button{width:31px;height:31px;padding:0;border:1px solid #e3e9f1;border-radius:9px;color:#77879b;background:#f8fafc;font-size:20px}.form{padding:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:14px}.field label{display:block;margin-bottom:7px;color:#5e6e82;font-size:12px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:9px 11px;border:1px solid #d5deea;border-radius:9px;color:#263850;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#69aff5;box-shadow:0 0 0 3px rgba(27,111,255,.08)}.form-actions{margin-top:20px;padding-top:16px;border-top:1px solid #e9edf3;text-align:right}.form-actions .btn{margin-left:6px}#toast{position:fixed;right:24px;top:84px;z-index:60;max-width:390px;padding:12px 17px 12px 38px;border:1px solid rgba(101,206,183,.25);border-radius:11px;color:#e9fff9;background:rgba(8,35,48,.94);box-shadow:0 18px 45px rgba(3,21,32,.24);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.22s;backdrop-filter:blur(12px)}#toast:before{content:"✓";position:absolute;left:15px;color:#37dcad}#toast.show{opacity:1;transform:none}.loading{padding:70px;text-align:center;color:#7e8ca0}.loading:before{content:"";display:block;width:26px;height:26px;margin:0 auto 12px;border:2px solid #dce8f4;border-top-color:#1b7cf1;border-radius:50%;animation:load .7s linear infinite}@keyframes load{to{transform:rotate(360deg)}}.server-badge{position:fixed;right:12px;bottom:10px;z-index:25;display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(73,142,194,.14);border-radius:99px;color:#61849d;background:rgba(6,22,36,.72);font:600 8px "Segoe UI";letter-spacing:1px;pointer-events:none}.server-badge i{width:5px;height:5px;border-radius:50%;background:#25d5a2}
.permission-editor{margin-top:4px;padding:16px;border:1px solid #dfe7f0;border-radius:13px;background:#f8fafc}.permission-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.permission-editor-head b{color:#32465f;font-size:13px}.permission-editor-head p,.permission-note{margin:4px 0 0;color:#7b8b9e;font-size:11px}.permission-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-group{padding:11px;border:1px solid #e5ebf2;border-radius:10px;background:#fff}.permission-group>span{display:block;margin-bottom:8px;color:#7c8da2;font-size:10px;font-weight:700;letter-spacing:.5px}.permission-group>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.permission-choice{position:relative;display:flex!important;align-items:center;gap:7px;margin:0!important;padding:7px 8px;border:1px solid #e5ebf3;border-radius:8px;color:#4d6077!important;background:#fbfcfe;cursor:pointer;font-weight:500!important}.permission-choice input{position:absolute;opacity:0;pointer-events:none}.permission-choice i{width:15px;height:15px;flex:none;border:1px solid #c5d1df;border-radius:4px;background:#fff}.permission-choice em{overflow:hidden;font-style:normal;white-space:nowrap;text-overflow:ellipsis}.permission-choice:has(input:checked){border-color:#9cc8f4;color:#176bc7!important;background:#eef6ff}.permission-choice input:checked+i{position:relative;border-color:#237ce5;background:#237ce5}.permission-choice input:checked+i:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.permission-choice.locked{cursor:not-allowed;opacity:.78}.permission-note{margin-top:11px}.permission-admin-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:4px;padding:14px 16px;border:1px solid #d7e9fb;border-radius:11px;color:#4c6c8e;background:#f0f7ff;font-size:11px}.permission-admin-note b{color:#196cc5;font-size:12px}
.action-permission-section{margin-top:14px;padding-top:14px;border-top:1px solid #dce5ef}.action-permission-section>b{color:#32465f;font-size:13px}.action-permission-section>p{margin:4px 0 10px;color:#7b8b9e;font-size:11px}.action-permission-group{border-color:#cfe2f7;background:#f8fbff}.action-permission-group>div{grid-template-columns:repeat(3,1fr)}.permission-choice.disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.5)}
@media(max-width:620px){.permission-groups{grid-template-columns:1fr}.permission-editor-head{align-items:stretch;flex-direction:column}.action-permission-group>div{grid-template-columns:1fr 1fr}}

@media(max-width:1180px){.login-shell{grid-template-columns:1fr 410px}.login-showcase{padding:34px}.showcase-copy h1{font-size:39px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){:root{--sidebar:76px}.brand{padding:0 18px}.brand div,.nav-title,.nav-item span,.user-meta{display:none}.nav-item{justify-content:center;padding:9px}.nav-item i{font-size:17px}.userinfo{display:block;padding:13px 9px}.avatar{width:39px;margin:auto}.user-actions{display:flex;justify-content:center;margin-top:8px}.grid2{grid-template-columns:1fr}.machine-summary{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}.login-overlay{padding:20px}.login-shell{width:min(470px,100%);min-height:auto;display:block}.login-showcase{display:none}.login-panel{padding:42px}.login-card{max-width:none}}@media(max-width:620px){header{height:64px;padding:0 17px}.header-context small,.header-live{display:none}.headright{gap:8px;font-size:10px}#view{padding:18px 14px 30px}.page-title{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}.quick{grid-template-columns:1fr 1fr}.steps{overflow:auto}.step{min-width:90px}.machine-summary,.detail-grid,.form-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.search{width:100%}.login-overlay{padding:12px}.login-shell{border-radius:20px}.login-panel{padding:30px 24px}.login-heading h2{font-size:24px}.copyright{display:none}.dialog{width:100%;max-height:94vh;border-radius:16px}.modal{padding:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* 登录表单需要覆盖通用业务表单样式 */
.login-overlay{overflow-x:hidden;overflow-y:auto}
.login-panel .login-field label{color:#9fb2c3}
.login-panel .input-wrap input{height:48px;padding:0 15px 0 44px;color:#e9f7ff;background:rgba(7,27,45,.72);border-color:rgba(95,151,190,.24)}
.login-panel .input-wrap input::placeholder{color:#405d73}
.login-panel .input-wrap input:focus{color:#e9f7ff;border-color:#1f9ee3;background:rgba(8,34,56,.9);box-shadow:0 0 0 3px rgba(27,141,216,.12),0 0 24px rgba(21,144,220,.08)}

/* 车间数据 */
.ws-cloud-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.ws-cloud-head p{margin:5px 0 0;color:#708197}.ws-cloud-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ws-cloud-state{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #efc7c7;border-radius:99px;color:#b94c52;background:#fff4f4;font-size:12px}.ws-cloud-state i{width:7px;height:7px;border-radius:50%;background:#e3525d}.ws-cloud-state.ok{color:#127855;border-color:#b9e5d2;background:#effaf5}.ws-cloud-state.ok i{background:#22b982}.ws-cloud-note{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:12px 15px;border:1px solid #dfe9f5;border-radius:11px;color:#60748d;background:#f5f9fe;font-size:12px}.ws-cloud-note b{color:#235f9f}.ws-cloud-live-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin-bottom:18px}.ws-cloud-live{padding:12px;border:1px solid #dfe7ef;border-radius:11px;background:#fff}.ws-cloud-live span,.ws-cloud-live b,.ws-cloud-live small,.ws-cloud-live em{display:block}.ws-cloud-live span{color:#6f8297;font-size:11px}.ws-cloud-live b{margin:5px 0;color:#475b70;font-size:16px}.ws-cloud-live small{color:#73859a;font-size:10px}.ws-cloud-live em{min-height:15px;margin-top:5px;color:#9aabbb;font-size:10px;font-style:normal}.ws-cloud-live.工作{border-color:#bce8d3;background:#f2fcf7}.ws-cloud-live.工作 b{color:#138159}.ws-cloud-live.停机{border-color:#f3d9ae;background:#fff9ed}.ws-cloud-live.停机 b{color:#b57212}.ws-cloud-live.离线,.ws-cloud-live.故障{border-color:#efc3c8;background:#fff4f5}.ws-cloud-live.离线 b,.ws-cloud-live.故障 b{color:#c24655}.ws-reconcile-table tr.missing td{background:#fff7f7}.ws-reconcile-table tr.extra td{background:#fffaf0}.ws-reconcile-table tr.ok td{background:#f6fcf9}.ws-reconcile-badge{display:inline-block;padding:5px 8px;border-radius:99px;font-size:11px;white-space:nowrap}.ws-reconcile-badge.missing{color:#bd3647;background:#ffe8eb}.ws-reconcile-badge.extra{color:#a4660b;background:#fff0d5}.ws-reconcile-badge.ok{color:#137855;background:#ddf6e9}.ws-cloud-multiplier{width:72px!important;padding:5px 7px!important;text-align:center}.ws-missing-book{border-color:#ffd8dc;background:linear-gradient(135deg,#fff7f8,#fff)}.ws-missing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ws-missing-head p{margin:-7px 0 10px;color:#6d7d90;font-size:12px}.ws-missing-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.ws-missing-summary span{min-width:130px;padding:10px 13px;border:1px solid #f4d6db;border-radius:11px;color:#7a5260;background:#fff;font-size:12px}.ws-missing-summary b{display:block;color:#d43d53;font-size:20px}.ws-missing-qty{color:#d43d53;font-weight:900}.ws-missing-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 0 14px}.ws-missing-detail span{padding:12px;border:1px solid #e4ecf5;border-radius:11px;background:#f8fbff}.ws-missing-detail small,.ws-missing-detail b{display:block}.ws-missing-detail small{color:#7a8ba0;font-size:11px}.ws-missing-detail b{margin-top:4px;color:#1f3550}.ws-missing-form-note{margin-bottom:15px;padding:11px 13px;border:1px solid #ffe0a6;border-radius:10px;color:#905f09;background:#fff9ec;font-size:12px}.ws-cloud-help{display:grid;gap:7px;margin-top:14px;padding:14px 16px;border:1px solid #d8e8f6;border-radius:12px;color:#617790;background:#f7fbff;font-size:12px}.ws-cloud-help b{color:#235f9f}.ws-cloud-help span:before{content:"•";margin-right:7px;color:#3186db}@media(max-width:1180px){.ws-cloud-live-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.ws-cloud-head,.ws-missing-head{flex-direction:column}.ws-cloud-actions{width:100%;justify-content:space-between}.ws-cloud-live-grid{grid-template-columns:repeat(2,1fr)}.ws-missing-detail{grid-template-columns:1fr 1fr}.ws-missing-summary span{flex:1}}
.workshop-filter{background:linear-gradient(120deg,#f8fbff,#f5fffd)}.workshop-filter .panel-body{padding:14px 18px}.workshop-filter-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.workshop-filter-row>div:first-child{display:flex;align-items:center;gap:10px}.workshop-filter-row label{color:#65758a;font-size:12px;font-weight:600}.workshop-filter-row select{min-width:150px;padding:8px 34px 8px 11px;border:1px solid #d5dfeb;border-radius:9px;color:#263850;background:#fff}.workshop-date-note{display:flex;align-items:center;gap:10px;color:#748398;font-size:12px}.workshop-cards .card{min-height:126px}.workshop-metric.metric-0:after{background:linear-gradient(90deg,#13aa7d,transparent)}.workshop-metric.metric-1:after{background:linear-gradient(90deg,#1b79ff,transparent)}.workshop-metric.metric-2:after{background:linear-gradient(90deg,#7b61ff,transparent)}.workshop-metric.metric-3:after{background:linear-gradient(90deg,#17b8c8,transparent)}.workshop-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr)}.workshop-grid>.panel>.panel{margin:0;border:0;border-radius:0;box-shadow:none}.workshop-grid>.panel>.panel>.toolbar{border-top:0}.workshop-shifts{display:grid;gap:12px}.workshop-shift{padding:15px;border:1px solid #e3eaf2;border-radius:12px;background:linear-gradient(135deg,#f8fbff,#fff)}.workshop-shift>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.workshop-shift>div:first-child{margin-bottom:12px}.workshop-shift b,.workshop-shift small{display:block}.workshop-shift small{color:#7a899d}.workshop-shift span{display:grid;gap:4px;color:#7b899b;font-size:10px}.workshop-shift strong{color:#1d3653;font-size:14px}.machine-picker{display:grid;grid-template-columns:repeat(7,minmax(52px,1fr));gap:7px;margin-bottom:15px}.workshop-analysis-note{overflow:auto}.workshop-machine-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin-bottom:14px}.workshop-machine-summary>div{padding:13px;border:1px solid #e1e8f1;border-radius:10px;background:#f8fafc}.workshop-machine-summary span,.workshop-machine-summary b{display:block}.workshop-machine-summary span{margin-bottom:6px;color:#8491a3;font-size:10px}.workshop-machine-summary b{font-size:13px}.workshop-anomalies{display:grid;gap:10px;max-height:420px;overflow:auto}.workshop-anomalies>div{padding:11px;border:1px solid #e7ecf3;border-radius:10px;background:#fbfcfe}.workshop-anomalies p{margin:8px 0 0;color:#526278;font-size:11px;line-height:1.6}.workshop-row-actions{display:flex;gap:5px;white-space:nowrap}.workshop-delete{float:left;margin-left:0!important}.workshop-grid .toolbar{flex-wrap:wrap}.workshop-grid .search{max-width:210px}
@media(max-width:1180px){.workshop-grid{grid-template-columns:1fr}.workshop-machine-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.workshop-filter-row{align-items:flex-start;flex-direction:column}.workshop-date-note{flex-wrap:wrap}.workshop-filter-row>div:first-child{width:100%;justify-content:space-between}.workshop-filter-row select{flex:1}.machine-picker{grid-template-columns:repeat(4,1fr)}.workshop-machine-summary{grid-template-columns:1fr}.workshop-row-actions{flex-direction:column}.workshop-delete{float:none}.workshop-cards{grid-template-columns:repeat(2,1fr)}.workshop-cards .card{padding:15px}.workshop-cards .metric .num{font-size:24px}}

/* 车间数据：沿用原“广东力众·注塑车间”视觉系统 */
.workshop-original{--ws-pri:#6366f1;--ws-pri-lt:#818cf8;--ws-pri-bg:#eef2ff;--ws-suc:#10b981;--ws-suc-lt:#34d399;--ws-suc-bg:#ecfdf5;--ws-warn:#f59e0b;--ws-warn-lt:#fbbf24;--ws-warn-bg:#fffbeb;--ws-dgr:#ef4444;--ws-dgr-lt:#f87171;--ws-dgr-bg:#fef2f2;--ws-pk:#ec4899;--ws-pk-lt:#f472b6;--ws-pk-bg:#fdf2f8;--ws-txt:#1e293b;--ws-txt2:#64748b;--ws-txt3:#94a3b8;--ws-card:#fff;--ws-brd:#e2e8f0;--ws-brd-lt:#f1f5f9;--ws-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--ws-shadow-md:0 4px 12px rgba(71,85,105,.08);--ws-rad:16px;max-width:1440px;margin:0 auto;padding:0;color:var(--ws-txt);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}.workshop-original,.workshop-original *{box-sizing:border-box}.workshop-original button,.workshop-original input,.workshop-original select{font:inherit}.workshop-original{position:relative;padding:1px 0 18px}.workshop-original:before{content:"";position:absolute;z-index:-1;inset:-25px -28px;background:linear-gradient(135deg,#eef2ff 0%,#f0f7ff 30%,#fefcf8 70%,#fdf2f8 100%);border-radius:20px}.ws-module-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 2px 16px;flex-wrap:wrap}.ws-original-logo{display:flex;align-items:center;gap:10px}.ws-original-logo-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--ws-pri),var(--ws-pk));color:#fff;font-size:20px;font-weight:800}.ws-original-logo-text{font-size:20px;font-weight:800;letter-spacing:-.5px}.ws-original-logo-sub{font-size:13px;color:var(--ws-txt2)}.ws-original-secure{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--ws-brd);border-radius:10px;background:var(--ws-card);box-shadow:var(--ws-shadow);font-size:12px;color:var(--ws-txt2)}.ws-original-secure i{width:7px;height:7px;border-radius:50%;background:var(--ws-suc)}.ws-original-secure b{padding-left:7px;border-left:1px solid var(--ws-brd);color:var(--ws-txt)}.ws-original-nav{display:flex;gap:2px;flex-wrap:wrap;margin-bottom:20px;padding:4px;border-radius:var(--ws-rad);background:var(--ws-card);box-shadow:var(--ws-shadow)}.ws-nav-btn{display:flex;align-items:center;gap:6px;padding:10px 17px;border:0;border-radius:10px;background:transparent;color:var(--ws-txt2);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.2s}.ws-nav-btn:hover{color:var(--ws-pri);background:var(--ws-pri-bg)}.ws-nav-btn.active{color:#fff;background:linear-gradient(135deg,var(--ws-pri),var(--ws-pri-lt));box-shadow:0 2px 8px rgba(99,102,241,.3)}.ws-nav-dot{width:6px;height:6px;border-radius:50%;background:var(--ws-pri)}.ws-nav-dot.d2{background:var(--ws-suc)}.ws-nav-dot.d3{background:var(--ws-warn)}.ws-nav-dot.d4{background:var(--ws-pk)}.ws-nav-dot.d5{background:#8b5cf6}.ws-nav-dot.d6,.ws-nav-dot.d9{background:var(--ws-dgr)}.ws-nav-dot.d7,.ws-nav-dot.d8{background:#06b6d4}.ws-original-content{min-height:380px}.ws-dash-controls,.ws-entry-toolbar,.ws-period-compare,.ws-manage-toolbar,.ws-report-actions,.ws-machine-picker,.ws-import-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.ws-dash-controls{padding:15px 20px;border:1px solid var(--ws-brd);border-radius:var(--ws-rad);background:var(--ws-card);box-shadow:var(--ws-shadow)}.ws-date-group,.ws-form-inline{display:flex;align-items:center;gap:8px;color:var(--ws-txt2);font-size:13px;font-weight:700}.ws-date-group select,.ws-form-inline input,.ws-form-inline select{min-height:35px;padding:7px 11px;border:1.5px solid var(--ws-brd);border-radius:6px;color:var(--ws-txt);background:#fff;outline:none}.ws-date-group select:focus,.ws-form-inline input:focus,.ws-form-inline select:focus,.ws-table-wrap input:focus,.ws-table-wrap select:focus{border-color:var(--ws-pri);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.ws-period-group{display:flex;overflow:hidden;border:1.5px solid var(--ws-brd);border-radius:6px}.ws-period-group button{padding:7px 16px;border:0;border-right:1px solid var(--ws-brd);background:#fff;color:var(--ws-txt2);font-weight:700;cursor:pointer}.ws-period-group button:last-child{border:0}.ws-period-group button.active{color:#fff;background:var(--ws-pri)}.ws-range-info{margin-left:auto;padding:6px 14px;border-radius:20px;background:var(--ws-pri-bg);color:var(--ws-pri);font-size:13px;font-weight:800}.ws-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:20px}.ws-stat-card{position:relative;overflow:hidden;min-height:130px;padding:18px;border-radius:var(--ws-rad)}.ws-stat-card:before{content:"";position:absolute;inset:0 0 auto;height:3px}.ws-stat-card.ac-pri{background:var(--ws-pri-bg)}.ws-stat-card.ac-pri:before{background:var(--ws-pri)}.ws-stat-card.ac-pri .ws-stat-val{color:var(--ws-pri)}.ws-stat-card.ac-suc{background:var(--ws-suc-bg)}.ws-stat-card.ac-suc:before{background:var(--ws-suc)}.ws-stat-card.ac-suc .ws-stat-val{color:var(--ws-suc)}.ws-stat-card.ac-warn{background:var(--ws-warn-bg)}.ws-stat-card.ac-warn:before{background:var(--ws-warn)}.ws-stat-card.ac-warn .ws-stat-val{color:var(--ws-warn)}.ws-stat-card.ac-dgr{background:var(--ws-dgr-bg)}.ws-stat-card.ac-dgr:before{background:var(--ws-dgr)}.ws-stat-card.ac-dgr .ws-stat-val{color:var(--ws-dgr)}.ws-stat-card.ac-pk{background:var(--ws-pk-bg)}.ws-stat-card.ac-pk:before{background:var(--ws-pk)}.ws-stat-card.ac-pk .ws-stat-val{color:var(--ws-pk)}.ws-stat-label{margin-bottom:6px;color:var(--ws-txt2);font-size:13px;font-weight:600}.ws-stat-val{font-size:28px;font-weight:850;letter-spacing:-1px;line-height:1.2}.ws-stat-val small{font-size:16px;font-weight:500}.ws-stat-sub{margin-top:6px;color:var(--ws-txt3);font-size:12px}.ws-ring-grid{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:2px 0 24px}.ws-ring-card{text-align:center;color:var(--ws-txt2);font-size:13px;font-weight:600}.ws-ring{--ring:var(--ws-pri);width:98px;height:98px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--ring) calc(var(--pct)*1%),#e5eaf2 0);position:relative;margin-bottom:7px}.ws-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.ws-ring span{position:relative;z-index:1;color:var(--ws-txt);font-size:19px;font-weight:850}.ws-ring.suc{--ring:var(--ws-suc)}.ws-ring.pk{--ring:var(--ws-pk)}.ws-ring.warn{--ring:var(--ws-warn)}.ws-card{margin-bottom:16px;padding:22px;border:1px solid var(--ws-brd);border-radius:var(--ws-rad);background:var(--ws-card);box-shadow:var(--ws-shadow)}.ws-card-top{position:relative;overflow:hidden}.ws-card-top:before{content:"";position:absolute;inset:0 0 auto;height:3px}.ws-card-top.accent-pri:before{background:linear-gradient(90deg,var(--ws-pri),var(--ws-pri-lt))}.ws-card-top.accent-suc:before{background:linear-gradient(90deg,var(--ws-suc),var(--ws-suc-lt))}.ws-card-top.accent-dgr:before{background:linear-gradient(90deg,var(--ws-dgr),var(--ws-dgr-lt))}.ws-section-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--ws-txt);font-size:16px;font-weight:800}.ws-section-title:before{content:"";width:4px;height:18px;border-radius:3px;background:var(--ws-pri)}.ws-section-title.t-suc:before{background:var(--ws-suc)}.ws-section-title.t-dgr:before{background:var(--ws-dgr)}.ws-shift-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ws-shift-card{padding:16px;border:1px solid var(--ws-brd);border-radius:10px}.ws-shift-card.day{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fffef5)}.ws-shift-card.night{border-color:#c7d2fe;background:linear-gradient(135deg,#eef2ff,#f5f3ff)}.ws-shift-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:15px}.ws-shift-header em{margin-left:auto;padding:2px 8px;border-radius:20px;background:rgba(255,255,255,.75);color:var(--ws-txt2);font-size:12px;font-style:normal}.ws-shift-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ws-shift-metrics span{display:flex;flex-direction:column;gap:2px}.ws-shift-metrics small{color:var(--ws-txt3);font-size:11px}.ws-shift-metrics b{font-size:16px}.ws-shift-metrics b.suc,.ws-badge.suc{color:var(--ws-suc)}.ws-shift-metrics b.warn,.ws-badge.warn{color:var(--ws-warn)}.ws-shift-metrics b.dgr,.ws-badge.dgr{color:var(--ws-dgr)}.ws-shift-metrics b.pk{color:var(--ws-pk)}.ws-shift-diff{position:relative;display:flex;justify-content:center;gap:25px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--ws-brd);color:var(--ws-txt2);font-size:13px}.ws-shift-diff b{color:var(--ws-suc)}.ws-shift-diff i{position:absolute;left:50%;top:100%;display:grid;place-items:center;width:38px;height:38px;transform:translate(-50%,-50%);border:2px solid var(--ws-brd);border-radius:50%;background:#fff;font-style:normal;font-weight:800}.ws-daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ws-daily-card{padding:14px;border:1px solid var(--ws-brd);border-radius:10px;text-align:center;background:#fff;transition:.2s}.ws-daily-card.latest{border-color:var(--ws-suc);background:linear-gradient(135deg,var(--ws-suc-bg),#fff)}.ws-daily-card:hover,.ws-machine-card:hover{transform:translateY(-2px);box-shadow:var(--ws-shadow-md)}.ws-daily-card .date{color:var(--ws-txt2);font-size:12px;font-weight:700}.ws-daily-card>strong{display:block;margin:4px 0;color:var(--ws-txt);font-size:23px}.ws-daily-card>strong small{margin-left:2px;color:var(--ws-txt3);font-size:12px;font-weight:500}.ws-daily-card>div{display:flex;justify-content:center;gap:8px;color:var(--ws-txt2);font-size:11px}.ws-daily-card p{display:flex;justify-content:center;gap:5px;margin:7px 0 4px}.ws-daily-card p b{padding:2px 5px;border-radius:4px;background:var(--ws-brd-lt);font-size:11px}.ws-daily-card em{color:var(--ws-warn);font-size:11px;font-style:normal;font-weight:700}.ws-daily-card .defect{display:block;margin-top:3px;color:var(--ws-dgr);font-size:11px}.ws-machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px}.ws-machine-card{min-height:152px;padding:14px;border:1px solid var(--ws-brd);border-radius:var(--ws-rad);background:#fff;box-shadow:var(--ws-shadow);cursor:pointer;transition:.2s}.ws-machine-card.idle{opacity:.62}.ws-machine-card>span{display:inline-block;margin-bottom:8px;padding:2px 8px;border-radius:20px;background:var(--ws-pri-bg);color:var(--ws-pri);font-size:11px;font-weight:800}.ws-machine-card.idle>span{background:var(--ws-brd-lt);color:var(--ws-txt3)}.ws-machine-card>b,.ws-machine-card>small{display:block}.ws-machine-card>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ws-machine-card>small{margin:2px 0 7px;color:var(--ws-txt2);font-size:11px}.ws-bar{height:6px;overflow:hidden;border-radius:4px;background:var(--ws-brd-lt)}.ws-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--ws-dgr),var(--ws-dgr-lt))}.ws-bar i.warn{background:linear-gradient(90deg,var(--ws-warn),var(--ws-warn-lt))}.ws-bar i.suc{background:linear-gradient(90deg,var(--ws-suc),var(--ws-suc-lt))}.ws-machine-rate{display:flex;justify-content:space-between;margin-top:4px;font-size:12px}.ws-machine-rate strong{color:var(--ws-pri)}.ws-machine-rate em{color:var(--ws-txt3);font-style:normal}.ws-machine-card p{margin:2px 0 0;color:var(--ws-dgr);font-size:11px}.ws-quality{margin:6px 0;padding:8px 12px;border-left:3px solid;border-radius:6px;font-size:13px}.ws-quality.err{border-color:var(--ws-dgr);background:var(--ws-dgr-bg);color:var(--ws-dgr)}.ws-quality.warn{border-color:var(--ws-warn);background:var(--ws-warn-bg);color:#92400e}.ws-quality-foot,.ws-help{color:var(--ws-txt2);font-size:12px}.ws-ok{padding:12px;border-radius:6px;background:var(--ws-suc-bg);color:var(--ws-suc);font-weight:700}.ws-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 13px;border:0;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s}.ws-btn.pri{color:#fff;background:linear-gradient(135deg,var(--ws-pri),var(--ws-pri-lt));box-shadow:0 2px 8px rgba(99,102,241,.25)}.ws-btn.suc{color:#fff;background:linear-gradient(135deg,var(--ws-suc),var(--ws-suc-lt))}.ws-btn.out{border:1.5px solid var(--ws-pri);color:var(--ws-pri);background:transparent}.ws-btn.out:hover{background:var(--ws-pri-bg)}.ws-btn.sm{min-height:27px;padding:4px 9px;font-size:11px}.ws-entry-toolbar{padding-bottom:16px;border-bottom:1px solid var(--ws-brd-lt)}.ws-entry-save{margin-top:16px}.ws-table-wrap{max-height:64vh;overflow:auto;border:1px solid var(--ws-brd);border-radius:10px;background:#fff}.ws-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.ws-table-wrap th{position:sticky;top:0;z-index:1;padding:10px 12px;background:var(--ws-pri-bg);color:var(--ws-pri);text-align:left;font-size:11px;letter-spacing:.35px;white-space:nowrap}.ws-table-wrap td{padding:9px 10px;border-bottom:1px solid var(--ws-brd-lt);color:var(--ws-txt);white-space:nowrap}.ws-table-wrap tbody tr:hover td{background:var(--ws-pri-bg)}.ws-table-wrap td small{display:block;color:var(--ws-txt3);font-size:10px}.ws-table-wrap input,.ws-table-wrap select{width:100%;min-width:76px;padding:6px 7px;border:1.5px solid var(--ws-brd);border-radius:5px;background:#fff;outline:0}.ws-table-wrap td:nth-child(1) input{min-width:0}.ws-badge{display:inline-block;padding:3px 9px;border-radius:20px;background:var(--ws-brd-lt);font-size:11px;font-weight:800}.ws-manage-toolbar,.ws-report-actions,.ws-period-compare,.ws-machine-picker{padding:0 0 3px}.ws-period-note{margin:-5px 0 14px;color:var(--ws-txt2);font-size:12px}.ws-stats-grid.compare{grid-template-columns:repeat(5,minmax(0,1fr))}.ws-compare-bars{height:230px;display:flex;align-items:flex-end;gap:8px;padding:25px 6px 0}.ws-compare-bars>div{display:flex;flex:1;min-width:35px;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.ws-compare-bars strong{color:var(--ws-pri);font-size:11px}.ws-compare-bars i{width:100%;min-height:5px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--ws-pri-lt),var(--ws-pri));}.ws-compare-bars span{color:var(--ws-txt3);font-size:10px}.ws-line-trend{display:grid;gap:9px}.ws-line-trend>div{display:grid;grid-template-columns:78px 1fr 60px;align-items:center;gap:9px;color:var(--ws-txt2);font-size:12px}.ws-line-trend i{height:9px;overflow:hidden;border-radius:5px;background:var(--ws-brd-lt)}.ws-line-trend b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--ws-pri),var(--ws-pri-lt))}.ws-line-trend em{color:var(--ws-pri);font-style:normal;font-weight:800}.ws-anomaly-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.ws-anomaly-list li{display:flex;gap:10px;padding:12px 14px;border-left:4px solid;border-radius:10px;font-size:13px}.ws-anomaly-list li.warn{border-color:var(--ws-warn);background:var(--ws-warn-bg);color:#92400e}.ws-anomaly-list li.dgr{border-color:var(--ws-dgr);background:var(--ws-dgr-bg);color:var(--ws-dgr)}.ws-anomaly-list b{white-space:nowrap}.ws-report h2{margin:0 0 4px;font-size:19px}.ws-report>p{margin:0 0 16px;color:var(--ws-txt2);font-size:13px}.ws-stats-grid.report{grid-template-columns:repeat(4,minmax(0,1fr))}.ws-import-zone{padding:48px 24px;border:2px dashed #cbd5e1;border-radius:var(--ws-rad);text-align:center;cursor:pointer;transition:.2s;background:#fff}.ws-import-zone:hover{border-color:var(--ws-pri);background:var(--ws-pri-bg)}.ws-import-zone>span{display:block;margin-bottom:8px;color:var(--ws-pri);font-size:44px;line-height:1}.ws-import-zone>b,.ws-import-zone p,.ws-import-zone em{display:block}.ws-import-zone>b{font-size:16px}.ws-import-zone p{margin:6px 0;color:var(--ws-txt2);font-size:13px}.ws-import-zone em{display:inline-block;padding:4px 12px;border-radius:20px;background:var(--ws-brd-lt);color:var(--ws-txt3);font-size:12px;font-style:normal}.ws-import-info,.ws-account-safe{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.ws-import-info span,.ws-account-safe span{flex:1;min-width:130px;padding:12px;border-radius:9px;background:var(--ws-pri-bg);color:var(--ws-txt2);font-size:12px}.ws-import-info b{display:block;color:var(--ws-pri)}.ws-account-safe span{background:var(--ws-suc-bg);color:var(--ws-suc);font-weight:700}.ws-empty{text-align:center;color:var(--ws-txt3)}
@media(max-width:1180px){.ws-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ws-stats-grid.compare{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.workshop-original:before{inset:-18px -14px;border-radius:0}.ws-module-head{padding-top:4px}.ws-original-logo-text{font-size:18px}.ws-original-logo-sub{font-size:11px}.ws-original-secure{width:100%;justify-content:flex-start}.ws-original-nav{flex-wrap:nowrap;overflow:auto;margin-right:-2px}.ws-nav-btn{padding:9px 12px;font-size:12px}.ws-dash-controls{align-items:flex-start;flex-direction:column;padding:14px}.ws-range-info{margin-left:0}.ws-stats-grid,.ws-stats-grid.compare,.ws-stats-grid.report{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ws-stat-card{min-height:112px;padding:14px}.ws-stat-val{font-size:24px}.ws-ring-grid{gap:15px}.ws-ring{width:78px;height:78px}.ws-ring:after{inset:8px}.ws-ring span{font-size:14px}.ws-card{padding:16px}.ws-shift-compare{grid-template-columns:1fr}.ws-shift-metrics{grid-template-columns:repeat(3,1fr)}.ws-shift-diff{flex-wrap:wrap;gap:7px 16px;padding-bottom:15px}.ws-shift-diff i{top:auto;bottom:-19px}.ws-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ws-machine-card{min-height:142px;padding:11px}.ws-entry-toolbar,.ws-manage-toolbar,.ws-period-compare,.ws-machine-picker,.ws-import-actions{gap:7px}.ws-form-inline{width:100%;justify-content:space-between}.ws-form-inline input,.ws-form-inline select{width:70%}.ws-btn{padding:7px 10px}.ws-table-wrap{max-height:60vh}.ws-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-compare-bars{gap:5px}.ws-compare-bars strong{font-size:9px}.ws-compare-bars span{font-size:9px}.ws-line-trend>div{grid-template-columns:62px 1fr 52px}.ws-report h2{font-size:17px}}
@media print{aside,header,.ws-module-head,.ws-original-nav,.ws-report-actions,.server-badge{display:none!important}main{margin-left:0!important}.workshop-original:before{display:none}.ws-card{box-shadow:none}}

/* 财务成本中心 */
.finance-period{display:inline-flex;align-items:center;gap:7px}.finance-period label{color:#71819a;font-size:11px}.finance-period input{height:36px;padding:0 10px;border:1px solid #d8e3ef;border-radius:9px;color:#405773;background:#fff}.finance-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.finance-overview{align-items:stretch}.finance-cost-bars{display:grid;gap:15px;padding:20px}.finance-cost-bars>div{display:grid;grid-template-columns:90px 1fr 150px;align-items:center;gap:10px}.finance-cost-bars span{color:#536981;font-size:12px;font-weight:700}.finance-cost-bars i{height:9px;overflow:hidden;border-radius:99px;background:#eaf0f7}.finance-cost-bars em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5b71f5,#00bfdc)}.finance-cost-bars b{color:#405773;text-align:right;font-size:12px}.finance-tips{display:grid;gap:12px;padding:20px}.finance-tips>div{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #dfe8f3;border-radius:11px;background:#fbfdff;color:#536981;font-size:12px;line-height:1.6}.finance-tips i,.finance-guide i{display:grid;flex:0 0 auto;place-items:center;width:25px;height:25px;border-radius:8px;color:#fff;background:linear-gradient(145deg,#5b71f5,#00bfdc);font-style:normal;font-weight:800}.finance-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:20px}.finance-guide span{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid #e0e9f3;border-radius:11px;color:#556b84;background:#fbfdff;font-size:12px}.btn.danger{border-color:#f5c6cb;color:#df4d69;background:#fff}.btn.danger:hover{background:#fff3f5}
.finance-month-compare{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;min-height:230px;padding:20px;align-items:end}.finance-month-compare>div{display:flex;height:190px;flex-direction:column;align-items:center;gap:5px;color:#71819a;font-size:11px}.finance-month-compare>div>b{color:#334a66;font-size:12px}.finance-month-compare>div>i{display:flex;flex:1;width:52px;align-items:flex-end;border-radius:9px 9px 4px 4px;background:#edf2f8;overflow:hidden}.finance-month-compare>div>i>em{display:block;width:100%;min-height:4px;border-radius:9px 9px 4px 4px;background:linear-gradient(180deg,#00c2df,#5b71f5)}.finance-month-compare small{white-space:nowrap}
.finance-mapping-list{display:grid;gap:9px;padding:18px}.finance-mapping-list>div{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid #e0e9f3;border-radius:11px;background:#fbfdff}.finance-mapping-list span b,.finance-mapping-list span small{display:block}.finance-mapping-list span b{color:#344a65;font-size:13px}.finance-mapping-list span small{margin-top:3px;color:#8a9bae;font-size:11px}.finance-mapping-list select{height:35px;padding:0 9px;border:1px solid #d6e2ef;border-radius:8px;background:#fff;color:#405773}
.finance-account-balance{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(520px,1.55fr);gap:16px;align-items:stretch}.finance-account-summary,.finance-balance-sheet{min-width:0}.finance-account-list{display:grid;gap:9px;padding:16px}.finance-account-card{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dfe8f3;border-radius:11px;background:linear-gradient(120deg,#fbfdff,#f5f8ff)}.finance-account-card>i{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(145deg,#5b71f5,#00bfdc);font-size:11px;font-style:normal;font-weight:800}.finance-account-card span{min-width:0}.finance-account-card span b,.finance-account-card span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-account-card span b{color:#304863;font-size:13px}.finance-account-card span small{margin-top:2px;color:#7f90a5;font-size:10px}.finance-account-card strong{color:#2e62d5;font-family:var(--font-number);font-size:15px;white-space:nowrap}.finance-balance-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:16px}.finance-balance-cards>div{min-width:0;padding:13px 10px;border:1px solid #dfe8f3;border-radius:11px;background:#fbfdff}.finance-balance-cards small,.finance-balance-cards b{display:block}.finance-balance-cards small{color:#71839a;font-size:10px}.finance-balance-cards b{margin-top:5px;overflow:hidden;color:#29425f;font-family:var(--font-number);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.finance-balance-cards>div:first-child{border-color:#cbd8ff;background:#f2f5ff}.finance-balance-cards>div:first-child b{color:#4565df}.finance-balance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 16px 16px;overflow:hidden;border:1px solid #dce6f1;border-radius:12px;background:#dce6f1}.finance-balance-totals span{min-width:0;padding:12px;background:#f8fbff}.finance-balance-totals small,.finance-balance-totals b{display:block}.finance-balance-totals small{color:#71839a;font-size:10px}.finance-balance-totals b{margin-top:4px;color:#2c4562;font-family:var(--font-number);font-size:17px;white-space:nowrap}.finance-balance-totals .liability{background:#fff8f3}.finance-balance-totals .liability b{color:#d56a34}.finance-balance-totals .net{background:#effaf6}.finance-balance-totals .net b{color:#16855e}.finance-finished-details{margin:0 16px 16px;border:1px solid #dfe8f3;border-radius:11px;background:#fbfdff}.finance-finished-details>summary{padding:11px 13px;color:#496681;font-size:11px;font-weight:700;cursor:pointer}.finance-finished-details .table-scroll{margin:0;border:0;border-top:1px solid #e5ecf4;border-radius:0}.finance-finished-details table{min-width:0}
@media(max-width:1100px){.finance-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-account-balance{grid-template-columns:1fr}.finance-balance-cards{grid-template-columns:repeat(5,minmax(105px,1fr))}}
@media(max-width:700px){.finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-cost-bars>div{grid-template-columns:70px 1fr}.finance-cost-bars b{grid-column:1/-1;text-align:left}.finance-guide{grid-template-columns:1fr}.finance-period{width:100%;justify-content:space-between}.finance-period input{flex:1}.finance-month-compare{grid-template-columns:repeat(6,100px);overflow:auto}.finance-month-compare>div{height:170px}.finance-mapping-list>div{grid-template-columns:1fr}.finance-mapping-list .btn{width:100%}.finance-account-balance{grid-template-columns:1fr}.finance-balance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-balance-cards>div:first-child{grid-column:1/-1}.finance-balance-totals{grid-template-columns:1fr}.finance-account-card{grid-template-columns:31px minmax(0,1fr)}.finance-account-card strong{grid-column:2}.finance-finished-details .table-scroll{overflow-x:auto}.finance-finished-details table{min-width:520px}}

/* 人事管理：与新版科技工作台统一 */
.hr-period{display:inline-flex;align-items:center;gap:7px;margin-right:8px}.hr-period label{color:#71819a;font-size:11px}.hr-period input,.hr-calc-actions select{height:34px;padding:0 9px;border:1px solid #d8e3ef;border-radius:9px;color:#405773;background:#fff;outline:0}.hr-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.hr-overview-grid{align-items:stretch}.hr-cost-list{display:grid;gap:16px}.hr-cost-list>div>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.hr-cost-list b{color:#243853;font-size:13px}.hr-cost-list small{display:block;color:#8a9bae;font-size:11px}.hr-cost-list i{display:block;height:9px;overflow:hidden;border-radius:99px;background:#eaf0f8}.hr-cost-list em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5b71f5,#00c8e7)}.hr-compare{display:grid;gap:17px}.hr-compare>div{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf2f7}.hr-compare span{color:#71819a;font-size:12px}.hr-compare b{color:#243853;font-size:17px}.hr-compare small{grid-column:1/-1;color:#8b9aac;font-size:11px}.hr-compare .up b,.hr-compare .up small{color:#df4d69}.hr-compare .down b,.hr-compare .down small{color:#149b75}.hr-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:20px}.hr-flow span{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #e0e9f3;border-radius:11px;color:#556b84;background:#fbfdff;font-size:12px}.hr-flow i{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;color:#fff;background:linear-gradient(145deg,#5b71f5,#00bfdd);font-style:normal;font-weight:700}.hr-import-guide{display:grid;gap:8px;padding:17px;border:1px solid #d8e7f7;border-radius:13px;background:linear-gradient(110deg,#f3f8ff,#fbfdff);color:#71819a;font-size:12px}.hr-import-guide b{color:#2e5f9c}.hr-import-guide code{padding:9px 11px;border-radius:8px;color:#355579;background:#eef5ff;font-family:Consolas,monospace;font-size:11px}.hr-calc-actions{display:flex;align-items:center;gap:8px}.hr-calc-actions select{min-width:130px}.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:17px!important;min-height:17px!important}.red-text{color:#df4d69!important}.green-text{color:#159a74!important}
.hr-tenure{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.hr-tenure span{display:flex;flex-direction:column;gap:4px;padding:17px;border:1px solid #e0e9f3;border-radius:12px;color:#71819a;background:#fbfdff;font-size:12px}.hr-tenure b{color:#5069e8;font-size:25px}.hr-form-section{margin-bottom:14px;padding:16px;border:1px solid #dfe8f3;border-radius:13px;background:#fbfdff}.hr-form-section>b{display:block;margin-bottom:13px;color:#334a66}.hr-check-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;color:#536981;font-size:12px}.hr-check-row label{display:flex;align-items:center;gap:7px}.hr-variable-table{max-height:58vh;overflow:auto;border:1px solid #dce7f2;border-radius:10px}.hr-variable-table table{width:100%;border-collapse:collapse;font-size:11px}.hr-variable-table th{position:sticky;top:0;padding:9px;background:#eef4ff;color:#5069e8;white-space:nowrap}.hr-variable-table td{padding:7px;border-bottom:1px solid #edf2f7;white-space:nowrap}.hr-variable-table input{width:90px;padding:6px;border:1px solid #d7e2ef;border-radius:7px}.hr-doc-actions{display:flex;gap:9px;margin-bottom:12px}.hr-doc-list{display:grid;gap:9px;margin-top:14px}.hr-doc-list>div{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid #e0e9f3;border-radius:10px;background:#fbfdff}.hr-doc-list>div>span{flex:1}.hr-doc-list b,.hr-doc-list small{display:block}.hr-doc-list small{margin-top:3px;color:#8a9bae;font-size:11px}
@media(max-width:1180px){.hr-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.hr-period{width:100%;margin:0 0 8px}.hr-period input{flex:1}.hr-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-flow,.hr-tenure{grid-template-columns:1fr;padding:14px}.hr-calc-actions{width:100%;flex-wrap:wrap}.hr-calc-actions select{flex:1}.hr-calc-actions .btn{flex:1}.hr-import-guide code{overflow:auto;white-space:nowrap}.page-actions{gap:7px}.hr-doc-list>div{align-items:flex-start;flex-wrap:wrap}.hr-doc-list>div>span{flex-basis:100%}}

/* 2026 智能工厂工作台：统一科技视觉与更顺畅的操作体验 */
:root{--blue:#4361ee;--cyan:#00c2ff;--deep:#071322;--bg:#f4f7fc;--line:#e2eaf5;--text:#15243b;--muted:#71819a;--green:#12b886;--orange:#f59f00;--red:#ef476f;--shadow:0 12px 30px rgba(25,54,91,.08);--sidebar:272px;--radius:18px}
html{scroll-behavior:smooth;background:var(--bg)}body{background:radial-gradient(circle at 100% 0,rgba(54,134,255,.10),transparent 28%),linear-gradient(180deg,#f8fbff 0,#f3f7fc 34%,#f5f7fb 100%);font-size:14px}.login-overlay{background:#050c17}.login-shell{border-radius:30px;box-shadow:0 44px 120px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.08)}
aside{width:var(--sidebar);background:linear-gradient(180deg,#07192c 0%,#061322 52%,#081827 100%);border-right:1px solid rgba(104,178,239,.15);box-shadow:16px 0 48px rgba(5,20,37,.12)}.brand{height:82px;padding:0 19px;border-bottom-color:rgba(133,191,230,.12);background:linear-gradient(90deg,rgba(14,47,78,.92),rgba(6,20,35,.5))}.brand>span{width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#6279ff,#00c7e8);box-shadow:0 9px 22px rgba(36,133,255,.28)}.brand b{font-size:15px}.brand em{margin-left:auto;padding:4px 6px;border:1px solid rgba(95,186,240,.22);border-radius:6px;color:#4f90b8;font:600 8px "Segoe UI";letter-spacing:.8px;font-style:normal}.nav-search{position:relative;display:flex;align-items:center;gap:8px;margin:14px 13px 5px;padding:0 10px;border:1px solid rgba(119,180,220,.16);border-radius:10px;background:rgba(9,37,61,.58);transition:.2s}.nav-search:focus-within{border-color:rgba(62,191,255,.5);box-shadow:0 0 0 3px rgba(31,162,240,.09)}.nav-search>span{color:#4ea7d6;font-size:18px}.nav-search input{width:100%;height:35px;min-width:0;border:0;outline:0;color:#dcefff;background:transparent;font-size:12px}.nav-search input::placeholder{color:#58788f}.nav-search kbd,.quick-nav-trigger kbd,.quick-nav-search kbd{padding:2px 5px;border:1px solid currentColor;border-radius:4px;color:#66839a;background:rgba(255,255,255,.035);font:600 8px "Segoe UI"}nav{padding:3px 10px 14px}.nav-group{padding:2px 0}.nav-title{display:flex;align-items:center;justify-content:space-between;padding:17px 12px 7px;color:#52718a;font:700 9px "Segoe UI";letter-spacing:1.35px}.nav-title small{display:grid;place-items:center;min-width:16px;height:16px;border-radius:99px;color:#5785a3;background:rgba(78,145,189,.13);font:600 8px "Segoe UI";letter-spacing:0}.nav-item{gap:11px;min-height:43px;margin:3px 0;padding:9px 11px;border-radius:11px;color:#8da5b7}.nav-item:before{left:0;height:19px}.nav-item b{margin-left:auto;color:#4e738d;font-size:17px;font-weight:400;opacity:0;transform:translateX(-4px);transition:.18s}.nav-item:hover{color:#eaf7ff;border-color:rgba(67,174,237,.12);background:linear-gradient(90deg,rgba(31,116,176,.24),rgba(17,72,112,.07))}.nav-item:hover b,.nav-item.active b{opacity:1;transform:none}.nav-item.active{border-color:rgba(93,196,255,.24);background:linear-gradient(90deg,rgba(60,117,255,.42),rgba(13,133,192,.18));box-shadow:inset 0 0 22px rgba(59,154,255,.1),0 7px 16px rgba(1,13,31,.14)}.nav-item.active:before{background:#48d4ff;box-shadow:0 0 13px #48d4ff}.nav-item.active i{color:#6cddff}.userinfo{padding:15px 17px;background:linear-gradient(180deg,rgba(4,15,26,.22),rgba(7,29,47,.78));border-top-color:rgba(125,174,211,.12)}.avatar{border-radius:12px;background:linear-gradient(145deg,#295a89,#15769f);box-shadow:0 8px 18px rgba(0,0,0,.16)}
main{margin-left:var(--sidebar);background:transparent}header{height:76px;padding:0 31px;border-bottom-color:rgba(213,224,238,.9);background:rgba(252,254,255,.8);box-shadow:0 8px 26px rgba(56,89,123,.035)}.header-left{display:flex;align-items:center;gap:13px}.header-context small{color:#91a2b7}.header-context span{font-size:16px;font-weight:700;color:#1b2c43}.headright{gap:12px}.quick-nav-trigger{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:1px solid #dbe6f2;border-radius:9px;color:#58708b;background:rgba(255,255,255,.85);box-shadow:0 3px 9px rgba(49,77,106,.04);font-size:11px}.quick-nav-trigger>span{display:grid;place-items:center;width:17px;height:17px;border-radius:5px;color:white;background:linear-gradient(145deg,#6477ff,#02bde6);font-size:11px}.quick-nav-trigger:hover{border-color:#9cc9f5;color:#1a65b9}.quick-nav-trigger kbd{margin-left:2px;color:#8aa0b4}.header-live{padding:7px 11px;border:1px solid #cceee2;color:#168461;background:#effbf6}.mobile-menu{display:none;width:37px;height:37px;border:1px solid #dbe5f0;border-radius:10px;color:#2a5d8c;background:white;font-size:17px}.sidebar-shade{display:none}#view{max-width:1880px;padding:29px 32px 58px}.page-title{margin-bottom:22px}.page-title h2{font-size:25px;font-weight:750}.page-title h2:before{width:5px;height:22px;margin-right:11px;border-radius:9px;background:linear-gradient(180deg,#5a72ff,#00c5ec);box-shadow:0 4px 10px rgba(52,117,247,.22)}.page-title p{margin:7px 0 0 16px;font-size:12px}.page-actions{flex-wrap:wrap}
.cards{gap:18px;margin-bottom:20px}.card,.panel{border-color:#e1e9f4;border-radius:var(--radius);box-shadow:0 10px 26px rgba(36,62,96,.065);background:rgba(255,255,255,.91)}.card{padding:21px;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-2px);border-color:#c9def5;box-shadow:0 16px 32px rgba(36,82,129,.11)}.card:after{height:3px;background:linear-gradient(90deg,#6074ff,#00c8e7,transparent);opacity:.8}.metric .num{font:700 31px/1 "Segoe UI",sans-serif;color:#192d49}.metric .ico{width:48px;height:48px;border-radius:15px;border-color:#dce9fa;box-shadow:inset 0 1px white}.panel{margin-bottom:20px}.panel-head{min-height:58px;padding:0 20px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(249,252,255,.82));border-bottom-color:#edf2f7}.panel-head b{font-size:13px;color:#243853}.panel-head b:before{content:"";display:inline-block;width:3px;height:14px;margin-right:8px;border-radius:5px;background:#5b72ff;vertical-align:-2px}.panel-body{padding:20px}.toolbar{min-height:61px;padding:11px 18px;border-bottom-color:#edf2f7;background:linear-gradient(180deg,#fff,#fafcff)}.table-search-wrap{display:flex;align-items:center;gap:11px}.table-search-tip{color:#9aa9ba;font-size:10px}.table-count{padding:5px 9px;border:1px solid #e2eaf3;border-radius:99px;color:#7c8da2;background:#f8fbfe;font-size:11px}.table-count b{color:#386dea;font-family:"Segoe UI"}.table-scroll{overflow:auto;max-height:min(65vh,720px)}.data-panel table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px #e8eef6}th{padding:13px 14px;color:#71849b;background:#f6f9fd;border-bottom-color:#e7edf5;font-size:11px}td{padding:13px 14px;color:#344862;font-size:12px}tbody tr{transition:background .12s}tbody tr:hover td{background:#f4f9ff}.empty{padding:54px!important}.btn{min-height:36px;border-color:#d6e0ed;border-radius:10px;color:#405773;background:linear-gradient(180deg,#fff,#f8fbfe);font-weight:600;box-shadow:0 3px 9px rgba(34,56,84,.045)}.btn:hover{border-color:#8ebff0;color:#176ac7;box-shadow:0 8px 17px rgba(30,103,182,.12)}.btn.primary{border-color:#536df2;background:linear-gradient(105deg,#5269f2,#00aeda);box-shadow:0 9px 19px rgba(47,104,233,.23)}.btn.green{border-color:#10a979;background:linear-gradient(105deg,#10a979,#12c894)}.btn.danger{background:#fff7f8}.btn.small{min-height:30px;border-radius:8px}.tag{padding:5px 10px;border:1px solid transparent;font-size:10px;font-weight:600}.tag.green{border-color:#c9eee1}.tag.orange{border-color:#f5e0ad}.tag.red{border-color:#f5d1da}.progress{height:8px;border-radius:99px;background:#e8eef7}.progress i{background:linear-gradient(90deg,#5b71f5,#00c8e7)}
.dashboard-metric{isolation:isolate}.dashboard-metric>em{position:absolute;right:13px;bottom:9px;z-index:-1;color:#eaf0f8;font:800 42px/1 "Segoe UI";font-style:normal}.dashboard-metric .ico{color:#4d6ff2;background:linear-gradient(145deg,#edf1ff,#f7f9ff)}.dashboard-metric.metric-1 .ico{color:#7b5bee;background:linear-gradient(145deg,#f1edff,#fbfaff)}.dashboard-metric.metric-2 .ico{color:#ee4d71;background:linear-gradient(145deg,#fff0f3,#fff9fa)}.dashboard-metric.metric-3 .ico{color:#10a778;background:linear-gradient(145deg,#eafaf4,#f7fffc)}
.dashboard-metric[type="button"]{width:100%;font:inherit;text-align:left;cursor:pointer}.dashboard-metric[type="button"]:hover,.dashboard-metric[type="button"]:focus-visible{transform:translateY(-3px);border-color:#91b9ff;box-shadow:0 15px 32px rgba(45,91,170,.14);outline:0}.dashboard-metric[type="button"]:after{display:none!important;content:""}.machine-summary button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 5px;padding:14px;border:1px solid #e4eaf2;border-radius:12px;color:#526278;background:linear-gradient(145deg,#f8fbff,#fff);font:inherit;text-align:left;cursor:pointer;transition:.18s}.machine-summary button:hover,.machine-summary button:focus-visible{transform:translateY(-2px);border-color:#9dc8f5;box-shadow:0 9px 22px rgba(28,91,155,.09);outline:0}.machine-summary button b{grid-row:1/3}.machine-summary button span{font-size:11px}.machine-summary button small{grid-column:2;color:#92a0b2;font-size:9px}.steps .step{border:0;background:transparent;font:inherit;cursor:pointer}.steps .step:hover i,.steps .step:focus-visible i{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 18px rgba(65,107,230,.28)!important}.steps .step:focus-visible{outline:0}.steps .step small{display:block;margin-top:3px;color:#a0adbc;font-size:8px;opacity:0;transition:.18s}.steps .step:hover small,.steps .step:focus-visible small{opacity:1}.dashboard-filter-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-5px 0 16px;padding:11px 14px;border:1px solid #cfe2fb;border-radius:12px;color:#4c6583;background:linear-gradient(90deg,#eef5ff,#f8fbff);font-size:11px}.dashboard-filter-hint button{padding:6px 11px;border:1px solid #bcd7f5;border-radius:8px;color:#176bc3;background:#fff;cursor:pointer}
.setup-guide{border:1px solid #cfe2fb!important;border-radius:16px!important;background:linear-gradient(110deg,#f0f6ff,#f6faff)!important;box-shadow:0 8px 20px rgba(34,102,178,.06)}.machine-summary{border-radius:14px;background:linear-gradient(90deg,#f7faff,#fbfdff)!important}.quick>div{border-radius:13px!important;background:linear-gradient(145deg,#f6f9ff,#fff)!important;transition:.18s}.quick>div:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(45,91,145,.09)}.steps{padding:22px!important}.step i{background:linear-gradient(145deg,#5c70f5,#00bfdd)!important;box-shadow:0 5px 13px rgba(65,107,230,.18)}
.modal{z-index:60;background:rgba(5,14,27,.64);backdrop-filter:blur(10px)}.dialog{width:min(800px,96vw);border-color:#e1eaf4;border-radius:20px;box-shadow:0 30px 90px rgba(4,20,39,.38)}.dialog-title{padding:19px 22px;background:rgba(253,254,255,.96);font-size:16px}.dialog-title b:before{width:5px;border-radius:8px;background:linear-gradient(#5b71f5,#02bfe6)}.form{padding:23px}.field input,.field select,.field textarea{min-height:40px;border-color:#d8e3ef;border-radius:10px;background:#fbfdff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#76b9fa;box-shadow:0 0 0 4px rgba(52,124,242,.09);background:#fff}.form-actions{padding-top:18px}.permission-editor{border-color:#dce7f4;background:linear-gradient(135deg,#f7faff,#fbfdff)}#toast{top:90px;right:26px;border-color:rgba(112,221,191,.28);border-radius:13px;background:rgba(7,27,43,.95);box-shadow:0 22px 46px rgba(3,21,32,.28)}
.quick-nav-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:start center;padding:12vh 18px 18px;background:rgba(5,15,29,.58);backdrop-filter:blur(8px)}.quick-nav-box{width:min(610px,100%);overflow:hidden;border:1px solid rgba(188,213,241,.72);border-radius:20px;background:rgba(253,254,255,.97);box-shadow:0 32px 95px rgba(2,20,39,.38);animation:quickNavIn .18s ease-out}@keyframes quickNavIn{from{opacity:0;transform:translateY(-9px) scale(.985)}}.quick-nav-search{display:flex;align-items:center;gap:11px;padding:15px 17px;border-bottom:1px solid #e9eff6}.quick-nav-search>span{color:#4f72ec;font-size:23px}.quick-nav-search input{width:100%;height:35px;border:0;outline:0;color:#1c314b;background:transparent;font-size:14px}.quick-nav-search input::placeholder{color:#9baabc}.quick-nav-hint{display:flex;justify-content:space-between;padding:11px 18px 8px;color:#688097;font-size:11px}.quick-nav-hint small{color:#9aa9b8}.quick-nav-results{max-height:min(52vh,510px);overflow:auto;padding:6px 9px 12px}.quick-nav-results button{width:100%;display:flex;align-items:center;gap:12px;padding:11px;border:0;border-radius:11px;color:#1d334e;background:transparent;text-align:left}.quick-nav-results button:hover{background:linear-gradient(90deg,#edf4ff,#f7fbff)}.quick-nav-results i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#4169e9;background:#e9f0ff;font-style:normal;font-size:16px}.quick-nav-results span{display:grid;gap:3px}.quick-nav-results b{font-size:13px}.quick-nav-results small{color:#8898aa;font-size:10px}.quick-nav-results em{margin-left:auto;color:#97a8b8;font-style:normal}.quick-nav-empty{padding:34px;text-align:center;color:#8d9dad;font-size:12px}.back-top{position:fixed;right:24px;bottom:25px;z-index:20;width:42px;height:42px;border:1px solid #d7e5f4;border-radius:13px;color:#3766dd;background:rgba(255,255,255,.9);box-shadow:0 10px 25px rgba(32,62,103,.14);font-size:20px;opacity:0;pointer-events:none;transform:translateY(9px);transition:.2s}.back-top.show{opacity:1;pointer-events:auto;transform:none}.back-top:hover{color:white;border-color:#5470ed;background:#5470ed}
@media(max-width:1180px){:root{--sidebar:238px}.quick-nav-trigger{font-size:0}.quick-nav-trigger>span{font-size:11px}.quick-nav-trigger kbd{display:none}#view{padding:24px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.table-search-tip{display:none}}
@media(max-width:900px){:root{--sidebar:272px}body.sidebar-open{overflow:hidden}aside{z-index:75;transform:translateX(-105%);transition:transform .23s ease;box-shadow:18px 0 70px rgba(0,0,0,.28)}body.sidebar-open aside{transform:none}.sidebar-shade{position:fixed;inset:0;z-index:70;background:rgba(4,15,29,.45);backdrop-filter:blur(2px)}body.sidebar-open .sidebar-shade{display:block}.brand{padding:0 19px}.brand div,.nav-title,.nav-item span,.user-meta{display:block}.nav-title{display:flex}.nav-item{justify-content:flex-start;padding:9px 11px}.nav-item i{width:24px;font-size:15px}.userinfo{display:grid;padding:15px 17px}.avatar{width:38px;margin:0}.user-actions{margin-top:0}main{margin-left:0}.mobile-menu{display:grid;place-items:center}.headright{gap:8px}.header-live{display:none}header{height:68px;padding:0 18px}.date{font-size:11px}#view{padding:20px 18px 46px}.quick-nav-trigger{display:grid}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-title{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.table-scroll{max-height:none}.back-top{right:16px;bottom:17px}}
@media(max-width:620px){body{font-size:13px}.login-overlay{padding:12px}.cards{grid-template-columns:1fr 1fr;gap:11px}.card{padding:15px;border-radius:15px}.metric .num{font-size:25px}.metric .ico{width:39px;height:39px;border-radius:12px}.panel{border-radius:15px}.panel-head{min-height:52px;padding:0 15px}.panel-body{padding:15px}.toolbar{align-items:stretch;flex-direction:column;padding:11px 13px}.table-search-wrap{width:100%}.search{width:100%}.table-count{align-self:flex-start}.table-scroll{width:calc(100vw - 36px)}th,td{padding:11px 12px}.page-title h2{font-size:21px}.page-title p{margin-left:0;line-height:1.65}.quick-nav-overlay{padding:8vh 11px 11px}.quick-nav-box{border-radius:16px}.quick-nav-search{padding:13px}.quick-nav-hint{padding:9px 14px 6px}.quick-nav-results{padding:5px 6px 9px}.dialog{width:calc(100% - 18px);border-radius:17px}.form{padding:17px}.permission-group>div{grid-template-columns:1fr}.headright .date{display:none}}
.mold-location{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-weight:700;font-size:12px}.mold-location.home{color:#087f5b;background:#e6fcf5}.mold-location.away{color:#b45309;background:#fff7ed}.mold-current-location{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin-bottom:14px;border:1px solid #dbeafe;background:#eff6ff;border-radius:10px}.mold-current-location span{font-weight:800;color:#1d4ed8}.mold-history{max-height:430px;overflow:auto}.mold-maint-summary{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:10px;margin-bottom:14px}.mold-maint-summary>span{display:flex;flex-direction:column;padding:12px 14px;background:#f6f8fa;border:1px solid #e8edf3;border-radius:10px}.mold-maint-summary small{margin-top:4px;color:#7a8493}@media(max-width:760px){.mold-maint-summary{grid-template-columns:1fr}.mold-history{overflow:auto}.mold-history table{min-width:900px}}
.hr-avatar{display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#175ea8;font-weight:800;flex:none}.hr-avatar img{width:100%;height:100%;object-fit:cover}.hr-avatar.small{width:38px;height:38px;font-size:12px}.hr-avatar.large{width:70px;height:70px;font-size:18px}.hr-avatar.xlarge{width:118px;height:138px;border-radius:14px;font-size:26px}.hr-avatar.badge{width:112px;height:136px;border-radius:14px;font-size:28px;margin:auto}.hr-avatar-manager{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:12px}.hr-avatar-manager>div{display:flex;flex-direction:column;gap:10px}.hr-avatar-manager span{color:#667085;line-height:1.7}.hr-profile-head{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:12px;border:1px solid #dce6f1;border-radius:12px;background:#f8fbff}.hr-profile-head>div{display:flex;flex:1;flex-direction:column}.hr-profile-head>div span{font-size:12px;color:#778397}.employee-badge-wrap{display:grid;place-items:center;padding:16px}.employee-badge{position:relative;width:270px;height:428px;border:1px solid #17395f;border-radius:15px;overflow:hidden;color:#10213a;background:white;box-shadow:0 18px 38px rgba(20,52,86,.16)}.badge-top{height:82px;background:linear-gradient(135deg,#071b36,#1464b3);color:#fff;display:flex;align-items:center;padding:18px}.badge-top>span{width:46px;height:46px;border-radius:10px;background:#1f85e5;display:grid;place-items:center;font-size:26px;font-weight:900;margin-right:12px}.badge-top b{font-size:20px;display:block}.badge-top small{font-size:10px;letter-spacing:1.5px}.badge-body{text-align:center;padding:20px}.badge-body h2{font-size:28px;margin:10px 0 3px}.badge-body>strong{color:#1471c9}.badge-body dl{margin-top:13px;text-align:left;font-size:13px}.badge-body dl>div{display:flex;padding:6px 0;border-bottom:1px solid #edf1f5}.badge-body dt{width:52px;color:#778397}.badge-body dd{margin:0;font-weight:700}.badge-foot{position:absolute;bottom:0;width:100%;height:43px;background:#0e3157;color:#fff;display:grid;place-items:center;font-size:12px}@media(max-width:760px){.hr-avatar-manager{grid-template-columns:1fr;text-align:center}.hr-avatar-manager>.hr-avatar{margin:auto}.hr-profile-head{flex-wrap:wrap}}
.workshop-tv{position:relative;min-height:calc(100vh - 170px);overflow:hidden;padding:18px;color:#dcecff;background:radial-gradient(circle at 50% -20%,#164b7d 0,#071a31 42%,#030b17 100%);border:1px solid #194568;border-radius:14px;font-family:"Microsoft YaHei",sans-serif}.tv-grid-bg{position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(47,153,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(47,153,255,.35) 1px,transparent 1px);background-size:42px 42px}.workshop-tv>*:not(.tv-grid-bg){position:relative;z-index:1}.tv-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 4px 14px;border-bottom:1px solid rgba(74,173,255,.35)}.tv-brand{display:flex;align-items:center;gap:12px}.tv-brand>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #36a9ff;border-radius:10px;color:#fff;background:linear-gradient(145deg,#1d8fff,#07528e);font-size:27px;font-weight:900;box-shadow:0 0 25px rgba(26,144,255,.4)}.tv-brand b,.tv-brand small{display:block}.tv-brand b{font-size:23px;letter-spacing:1px}.tv-brand small{margin-top:4px;color:#79b9ed;font-size:10px;letter-spacing:2px}.tv-header-actions{display:flex;align-items:center;gap:10px}.tv-header-actions button,.tv-error button{padding:9px 13px;border:1px solid #3178a9;border-radius:7px;color:#b9dcf5;background:#09213a;cursor:pointer}.tv-header-actions button.primary{border-color:#23a2ff;color:#fff;background:linear-gradient(135deg,#087fd5,#0aa8e8)}.tv-header-actions time{min-width:165px;color:#78c7ff;font-size:15px;text-align:right}.tv-connection{display:flex;align-items:center;gap:14px;margin:12px 0;padding:8px 12px;border:1px solid rgba(48,202,158,.25);border-radius:7px;color:#8eb2cf;background:rgba(4,26,47,.74);font-size:11px}.tv-connection i{width:8px;height:8px;border-radius:50%;background:#2be0a4;box-shadow:0 0 12px #2be0a4}.tv-connection b{color:#72efc5}.tv-connection.stale{border-color:rgba(255,173,62,.45)}.tv-connection.stale i{background:#ffad3e;box-shadow:0 0 12px #ffad3e}.tv-connection.stale b{color:#ffc76e}.tv-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:12px}.tv-summary>div{padding:10px 13px;border:1px solid rgba(64,147,211,.25);border-radius:8px;background:linear-gradient(145deg,rgba(13,50,83,.88),rgba(4,22,40,.9))}.tv-summary small,.tv-summary span{display:block;color:#76a5c9;font-size:10px}.tv-summary b{display:inline-block;margin:2px 6px 0 0;color:#f0f8ff;font-size:28px}.tv-summary .running b{color:#45efaf}.tv-summary .stopped b,.tv-summary .fault b{color:#ff5b69}.tv-summary .missing b{color:#ffc54d}.tv-machines{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));gap:9px}.tv-machine{position:relative;min-height:190px;padding:11px;border:1px solid #1e5177;border-radius:9px;background:linear-gradient(155deg,rgba(11,46,76,.94),rgba(3,20,36,.96));box-shadow:inset 0 0 24px rgba(23,101,159,.08)}.tv-machine.工作{border-color:rgba(38,211,151,.42);box-shadow:inset 0 0 25px rgba(38,211,151,.07)}.tv-machine.停机,.tv-machine.故障{border-color:#d93648;background:linear-gradient(155deg,rgba(90,17,28,.92),rgba(30,7,14,.96));box-shadow:0 0 18px rgba(255,35,56,.22)}.tv-machine.离线,.tv-machine.未知{opacity:.72;border-color:#5e7182}.tv-machine-top{display:flex;align-items:center;gap:7px}.tv-machine-top>span{color:#4ebaff;font-size:22px;font-weight:900}.tv-machine-top em{flex:1;color:#6d9aba;font-size:9px;font-style:normal}.tv-machine-top strong{display:flex;align-items:center;gap:4px;color:#66e7bb;font-size:10px}.tv-machine-top strong i{width:6px;height:6px;border-radius:50%;background:#31db9d;box-shadow:0 0 8px #31db9d}.tv-machine.停机 strong,.tv-machine.故障 strong{color:#ff8791}.tv-machine.停机 strong i,.tv-machine.故障 strong i{background:#ff4353;box-shadow:0 0 9px #ff4353}.tv-machine-main{text-align:center;padding:15px 0 11px}.tv-machine-main b,.tv-machine-main small{display:block}.tv-machine-main b{color:#f4fbff;font-size:29px}.tv-machine-main small{color:#6e9cbd;font-size:9px}.tv-machine-data{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tv-machine-data span{padding:6px;border:1px solid rgba(60,131,184,.18);background:rgba(8,35,58,.7);text-align:center}.tv-machine-data small,.tv-machine-data b{display:block}.tv-machine-data small{color:#688eaa;font-size:8px}.tv-machine-data b{margin-top:2px;color:#a8d7f7;font-size:11px}.tv-machine-alert,.tv-machine-off{position:absolute;right:8px;bottom:8px;left:8px;padding:5px;border-radius:5px;text-align:center;font-size:9px}.tv-machine-alert{color:#ffd8db;background:rgba(238,42,61,.3)}.tv-machine-off{color:#91a8b9;background:rgba(89,110,126,.22)}.tv-machine.alarm{animation:tvAlarm 1.15s ease-in-out infinite}.tv-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:8px 12px;border-top:1px solid rgba(65,154,219,.32);color:#779bb8;font-size:10px}.tv-alert-scroll{display:flex;min-width:0;flex:1;gap:12px;overflow:hidden}.tv-alert-scroll b{flex:none;color:#ff6370}.tv-alert-scroll span{overflow:hidden;color:#c9e1f2;white-space:nowrap;text-overflow:ellipsis}.tv-error{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-size:18px}@keyframes tvAlarm{0%,100%{box-shadow:0 0 10px rgba(255,35,56,.16)}50%{box-shadow:0 0 30px rgba(255,35,56,.65);border-color:#ff6977}}.workshop-tv:fullscreen{width:100vw;height:100vh;min-height:100vh;padding:20px;border:0;border-radius:0}.workshop-tv:fullscreen .tv-machines{height:calc(100vh - 250px)}.workshop-tv:fullscreen .tv-machine{min-height:0}.workshop-tv-fullscreen #sidebar,.workshop-tv-fullscreen #topbar,.workshop-tv-fullscreen #backTop{display:none!important}@media(max-width:1500px){.tv-machines{grid-template-columns:repeat(5,1fr)}.tv-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.tv-machines{grid-template-columns:repeat(3,1fr)}.tv-header{align-items:flex-start;flex-direction:column}.tv-header-actions{width:100%;flex-wrap:wrap}.tv-header-actions time{margin-left:auto}}@media(max-width:700px){.tv-machines{grid-template-columns:repeat(2,1fr)}.tv-summary{grid-template-columns:repeat(2,1fr)}.tv-machine{min-height:175px}.tv-brand b{font-size:17px}}
.workshop-tv .tv-header{position:relative;top:auto;z-index:2;height:auto;padding:2px 4px 14px;background:transparent;backdrop-filter:none}
#workshopOriginalContent:fullscreen{width:100vw;height:100vh;overflow:auto;background:#030b17}
#workshopOriginalContent:fullscreen .workshop-tv{width:100%;height:100%;min-height:100vh;padding:20px;border:0;border-radius:0}
#workshopOriginalContent:fullscreen .tv-machines{height:calc(100vh - 250px)}
#workshopOriginalContent:fullscreen .tv-machine{min-height:0}
.hr-document-preview{height:min(72vh,760px);display:grid;place-items:center;background:#101827;border-radius:12px;overflow:hidden}.hr-document-preview img{max-width:100%;max-height:100%;object-fit:contain}.hr-document-preview iframe{width:100%;height:100%;border:0;background:#fff}.hr-payment-qr{display:block;width:min(280px,80%);max-height:360px;margin:10px auto;object-fit:contain;border:1px solid #dce5ef;border-radius:14px;padding:8px;background:#fff}
.tv-priority-alert{display:flex;align-items:center;justify-content:center;gap:22px;margin:11px 0;padding:11px 18px;border-radius:9px;text-align:center;letter-spacing:.5px}.tv-priority-alert strong{font-size:20px}.tv-priority-alert span{font-size:13px;font-weight:700}.tv-priority-alert.normal{border:1px solid rgba(45,231,170,.5);color:#72ffd0;background:linear-gradient(90deg,rgba(7,78,64,.7),rgba(5,46,55,.8))}.tv-priority-alert.danger{border:2px solid #ff4b5f;color:#fff;background:linear-gradient(90deg,rgba(155,15,34,.94),rgba(84,9,22,.96));box-shadow:0 0 24px rgba(255,44,70,.45);animation:tvPriorityPulse 1.2s ease-in-out infinite}.tv-connection{min-height:40px;font-size:13px!important;font-weight:650}.tv-connection b{font-size:15px}.tv-summary small{font-size:13px!important;font-weight:800;color:#b7d8f1!important}.tv-summary b{font-size:36px!important;font-weight:950}.tv-summary span{font-size:12px!important;font-weight:700}.tv-machine-top>span{font-size:27px!important}.tv-machine-top em{font-size:12px!important;font-weight:700}.tv-machine-top strong{padding:4px 8px;border-radius:99px;font-size:14px!important;font-weight:950;background:rgba(26,167,117,.16)}.tv-machine.停机 .tv-machine-top strong,.tv-machine.故障 .tv-machine-top strong{color:#fff;background:#e6233d;box-shadow:0 0 14px rgba(255,35,65,.55)}.tv-machine.离线 .tv-machine-top strong,.tv-machine.未知 .tv-machine-top strong{color:#fff;background:#687786}.tv-machine-main b{font-size:36px!important;font-weight:950}.tv-machine-main small{font-size:12px!important;font-weight:800}.tv-machine-data small{font-size:10px!important}.tv-machine-data b{font-size:14px!important;font-weight:850}.tv-machine-alert{display:grid;gap:2px;padding:7px!important;color:#fff!important;background:#df1f38!important;font-size:11px!important}.tv-machine-alert b{font-size:14px}.tv-machine-alert span{font-weight:750}.tv-machine-off{padding:7px!important;color:#fff!important;background:#596b7c!important;font-size:11px!important;font-weight:800}.tv-alert-scroll b{font-size:14px;font-weight:950}.tv-alert-scroll span{font-size:13px;font-weight:750}@keyframes tvPriorityPulse{50%{box-shadow:0 0 38px rgba(255,44,70,.8);transform:scale(1.006)}}
.hr-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hr-payment-grid section{display:grid;gap:9px;padding:14px;border:1px solid #dbe6f1;border-radius:12px;background:#f9fcff}.hr-payment-grid section>b{color:#244868}.hr-payment-grid input{width:100%;padding:8px;border:1px solid #ccd9e7;border-radius:8px}.hr-payment-grid label{display:grid;gap:5px;color:#61758b;font-size:12px}.hr-payment-grid small{color:#7c8da0;font-size:11px}@media(max-width:900px){.hr-payment-grid{grid-template-columns:1fr}}
.hr-employee-directory{overflow:visible}.hr-employee-directory>.panel-head{border-radius:var(--radius) var(--radius) 0 0}.hr-department-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e8eef6;background:linear-gradient(180deg,#fff,#f8fbff)}.hr-department-groups{display:grid;gap:16px;padding:18px;background:#f4f8fd;border-radius:0 0 var(--radius) var(--radius)}.hr-department-group{overflow:hidden;border:1px solid #dbe6f2;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(31,65,105,.055)}.hr-department-group>header{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:11px 16px;border-bottom:1px solid #e7eef6;background:linear-gradient(105deg,#edf5ff,#fbfdff)}.hr-department-group>header>div{display:flex;align-items:center;gap:11px}.hr-department-group>header>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#536ff1,#00b5dc);font-size:18px;font-weight:800;box-shadow:0 7px 15px rgba(60,109,222,.2)}.hr-department-group header b,.hr-department-group header small{display:block}.hr-department-group header b{color:#223b5b;font-size:14px}.hr-department-group header small{margin-top:3px;color:#8293a7;font-size:10px}.hr-department-group header em{padding:6px 12px;border:1px solid #d7e5f5;border-radius:99px;color:#68809c;background:#fff;font-size:11px;font-style:normal}.hr-department-group header em strong{color:#376bea;font-size:16px}.hr-department-table{overflow:auto}.hr-department-table th{background:#f8faff}.hr-department-table td small{display:block;margin-top:3px;color:#8999ab;font-size:10px}.hr-employee-actions{min-width:250px;white-space:nowrap}.hr-employee-actions .btn{margin:2px 2px 2px 0}@media(max-width:700px){.hr-department-toolbar{align-items:stretch;flex-direction:column}.hr-department-toolbar .table-count{align-self:flex-start}.hr-department-groups{padding:10px}.hr-department-group>header{padding:10px 12px}.hr-department-table{width:calc(100vw - 58px)}}
.tv-machine-top em{display:none!important}.tv-injection-machine{position:relative;height:49px;margin:7px 0 2px;overflow:hidden;border:1px solid rgba(77,157,214,.22);border-radius:7px;background:linear-gradient(180deg,rgba(10,42,69,.88),rgba(4,21,38,.9))}.tv-injection-machine i{position:absolute;display:block}.im-hopper{left:17%;top:3px;width:13px;height:12px;background:#4c7798;clip-path:polygon(0 0,100% 0,75% 100%,25% 100%)}.im-barrel{left:20%;top:18px;width:31%;height:8px;border-radius:5px;background:linear-gradient(90deg,#315e7f,#78bce7)}.im-nozzle{left:49%;top:20px;width:10%;height:4px;background:#8ed4ff}.im-mold{top:12px;width:12%;height:24px;border:2px solid #3893ca;background:#123e5d}.im-mold.left{left:59%;border-radius:4px 0 0 4px}.im-mold.right{left:72%;border-radius:0 4px 4px 0}.im-product{left:68%;top:21px;width:7px;height:7px;border-radius:2px;background:#ffbe3d;opacity:0;box-shadow:0 0 8px #ffbe3d}.im-signal{right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#667684}.tv-injection-machine.running .im-hopper{background:#47b9ed}.tv-injection-machine.running .im-barrel{animation:imHeat 1s ease-in-out infinite}.tv-injection-machine.running .im-nozzle{animation:imInject 1.4s ease-in-out infinite}.tv-injection-machine.running .im-mold.left{animation:imMoldLeft 1.4s ease-in-out infinite}.tv-injection-machine.running .im-mold.right{animation:imMoldRight 1.4s ease-in-out infinite}.tv-injection-machine.running .im-product{animation:imProduct 1.4s ease-in-out infinite}.tv-injection-machine.running .im-signal{background:#24e3a5;box-shadow:0 0 10px #24e3a5;animation:imSignal .7s infinite}.tv-machine.停机 .tv-injection-machine,.tv-machine.故障 .tv-injection-machine{filter:saturate(.35)}.tv-machine.停机 .im-signal,.tv-machine.故障 .im-signal{background:#ff4054;box-shadow:0 0 10px #ff4054}.tv-machine.离线 .tv-injection-machine,.tv-machine.未知 .tv-injection-machine{filter:grayscale(1);opacity:.6}@keyframes imMoldLeft{0%,20%,100%{transform:translateX(-5px)}45%,75%{transform:translateX(2px)}}@keyframes imMoldRight{0%,20%,100%{transform:translateX(5px)}45%,75%{transform:translateX(-2px)}}@keyframes imInject{0%,35%,100%{transform:scaleX(.7);transform-origin:left}50%,70%{transform:scaleX(1.35);transform-origin:left}}@keyframes imProduct{0%,45%,100%{opacity:0;transform:translateY(0)}60%,78%{opacity:1;transform:translateY(0)}90%{opacity:0;transform:translateY(13px)}}@keyframes imHeat{50%{filter:brightness(1.7);box-shadow:0 0 9px rgba(65,188,255,.6)}}@keyframes imSignal{50%{opacity:.3}}
.hr-private-card{display:grid;gap:11px;padding:8px}.hr-private-card>div{padding:13px;border:1px solid #dce7f2;border-radius:11px;background:#f8fbff}.hr-private-card span,.hr-private-card b{display:block}.hr-private-card span{margin-bottom:5px;color:#71839a;font-size:11px}.hr-private-card b{color:#2c425f;line-height:1.65}.hr-private-card p{padding:10px 12px;border-radius:9px;color:#65778d;background:#eef5ff;font-size:11px}
.stock-warehouse-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stock-warehouse-cards>button{display:flex;align-items:center;gap:13px;min-height:104px;padding:17px;border:1px solid #dbe6f2;border-radius:15px;color:#314862;background:linear-gradient(135deg,#fff,#f7fbff);text-align:left;cursor:pointer;box-shadow:0 7px 20px rgba(31,65,105,.06);transition:.18s}.stock-warehouse-cards>button:hover,.stock-warehouse-cards>button.active{transform:translateY(-2px);border-color:#6085f4;box-shadow:0 12px 26px rgba(64,102,204,.15)}.stock-warehouse-cards>button.active{background:linear-gradient(135deg,#eef3ff,#f1fbff)}.stock-warehouse-cards i{display:grid;place-items:center;width:47px;height:47px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#526ef2,#00b8dc);font-size:20px;font-style:normal}.stock-warehouse-cards span{flex:1}.stock-warehouse-cards span b,.stock-warehouse-cards span small,.stock-warehouse-cards em small{display:block}.stock-warehouse-cards span b{margin-bottom:5px;font-size:16px}.stock-warehouse-cards span small{color:#8091a6;font-size:10px;line-height:1.5}.stock-warehouse-cards em{padding-left:12px;border-left:1px solid #dce6f1;color:#71839a;font-size:11px;font-style:normal;text-align:right}.stock-warehouse-cards em strong{color:#386deb;font-size:25px}.stock-warehouse-cards em small{margin-top:4px}.stock-warehouse-group>header{display:flex;align-items:center;justify-content:space-between;min-height:65px;padding:12px 17px;border:1px solid #dce7f2;border-radius:14px 14px 0 0;background:linear-gradient(105deg,#edf5ff,#fff)}.stock-warehouse-group>header>div{display:flex;align-items:center;gap:10px}.stock-warehouse-group>header i{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;color:#fff;background:#5675ee;font-style:normal}.stock-warehouse-group header b,.stock-warehouse-group header small{display:block}.stock-warehouse-group header small{margin-top:3px;color:#8394a7;font-size:10px}.stock-warehouse-group header em{padding:5px 10px;border-radius:99px;color:#526c8a;background:#fff;font-size:11px;font-style:normal}.stock-warehouse-group>.panel{border-radius:0 0 var(--radius) var(--radius)}@media(max-width:800px){.stock-warehouse-cards{grid-template-columns:1fr}.stock-warehouse-cards>button{min-height:88px}}
.responsive-ui-marker{display:none}
.hr-employment-status{display:inline-flex;align-items:center;gap:6px;min-width:72px;padding:6px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.hr-employment-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:.72}.hr-employment-status.active{color:#087a55;border-color:#a7e7cf;background:#eafaf4}.hr-employment-status.left{color:#b42318;border-color:#f3bbb6;background:#fff0ef}.hr-employment-status.paused{color:#a15c00;border-color:#f3d399;background:#fff8e7}.hr-employment-status.disabled{color:#64748b;border-color:#d5dde8;background:#f1f5f9}.hr-employee-status-row.left>td,.hr-employee-status-row.disabled>td{background-color:#fcfcfd}.hr-employee-status-row.left:hover>td,.hr-employee-status-row.disabled:hover>td{background-color:#f8fafc}@media(max-width:620px){.hr-employment-status{min-width:66px;padding:6px 8px;font-size:11px}.hr-department-table table{min-width:1140px}}
.hr-dept-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.hr-dept-cost-grid article{overflow:hidden;border:1px solid #dde7f2;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(36,67,105,.05)}.hr-dept-cost-grid article header,.hr-dept-cost-grid article>div,.hr-dept-cost-grid article footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px}.hr-dept-cost-grid article header{border-bottom:1px solid #e9eff6;background:#f7faff}.hr-dept-cost-grid article header span{padding:3px 8px;border-radius:99px;color:#52708e;background:#eaf2fb;font-size:11px}.hr-dept-cost-grid article>div span{color:#7c8da0;font-size:11px}.hr-dept-cost-grid article>div b{font-size:13px}.hr-dept-cost-grid article footer{border-top:1px dashed #e1e9f2;background:#fbfdff}.hr-dept-cost-grid article footer small{font-weight:700}.hr-dept-cost-grid article.up footer{color:#c2412d;background:#fff7f4}.hr-dept-cost-grid article.down footer{color:#087a55;background:#f1fbf7}.hr-dept-cost-grid article.flat footer{color:#64748b}@media(max-width:900px){.hr-dept-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.hr-dept-cost-grid{grid-template-columns:1fr;padding:10px}.hr-dept-cost-grid article header,.hr-dept-cost-grid article>div,.hr-dept-cost-grid article footer{padding:9px 11px}}
/* 全局响应式界面：桌面高密度、平板自适应、手机触控优先 */
html{min-width:0;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{min-width:0;overflow-x:hidden}img,svg,video,canvas,iframe{max-width:100%}main,#view,.panel,.card,.grid2,.cards{min-width:0}.panel-head>div,.page-title>div{min-width:0}.panel-head span,.page-title p{line-height:1.65}.table-scroll,.hr-department-table,.hr-variable-table,.ws-table-wrap,.mold-history{overscroll-behavior-inline:contain;scrollbar-gutter:stable}.table-scroll table,.hr-department-table table,.hr-variable-table table{min-width:max-content}.btn,button,input,select,textarea{-webkit-tap-highlight-color:transparent}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,124,238,.2);outline-offset:2px}.dialog{overscroll-behavior:contain}.form-actions{position:sticky;bottom:0;z-index:1;margin-right:-23px;margin-bottom:-23px;margin-left:-23px;padding:16px 23px 20px;background:linear-gradient(180deg,rgba(255,255,255,.75),#fff 30%)}
@media(min-width:1600px){:root{--sidebar:268px}#view{max-width:1920px;padding:30px 36px 50px}.cards{gap:20px}.panel{margin-bottom:22px}.table-scroll{max-height:min(70vh,820px)}th,td{padding:14px 16px}.dialog{width:min(900px,92vw)}}
@media(min-width:901px) and (max-width:1280px){:root{--sidebar:224px}#view{padding:22px 20px 38px}.brand{padding:0 15px}.nav-item{gap:8px;padding:8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.hr-overview-grid{grid-template-columns:1fr}.panel-head{padding:0 16px}.stock-warehouse-cards{gap:10px}.stock-warehouse-cards>button{align-items:flex-start;flex-wrap:wrap}.stock-warehouse-cards em{width:100%;padding:8px 0 0;border-top:1px solid #dce6f1;border-left:0;text-align:left}.tv-machines{grid-template-columns:repeat(4,minmax(135px,1fr))}.tv-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){body{padding-bottom:env(safe-area-inset-bottom)}aside{width:min(84vw,300px);padding-top:env(safe-area-inset-top)}header{padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top))}#view{width:100%;max-width:none}.panel-head{gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.panel-head>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.hr-overview-grid,.ws-shift-compare{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-scroll{max-height:none}.table-scroll table{min-width:760px}.stock-warehouse-cards{grid-template-columns:1fr 1fr}.stock-warehouse-cards>button:last-child{grid-column:1/-1}.workshop-original{max-width:100%}.ws-original-nav{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity}.ws-nav-btn{scroll-snap-align:start}.ws-stats-grid,.ws-stats-grid.compare,.ws-stats-grid.report{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-machines{grid-template-columns:repeat(2,minmax(145px,1fr))}.tv-summary{grid-template-columns:repeat(2,1fr)}.tv-connection{flex-wrap:wrap}.hr-department-table{max-width:100%}.hr-department-table table{min-width:1080px}.hr-employee-actions{min-width:300px}.finance-tabs,.hr-tabs,.page-actions{max-width:100%;overflow-x:auto}}
@media(max-width:620px){:root{--radius:14px}body{font-size:13px}header{height:calc(60px + env(safe-area-inset-top));padding-right:12px;padding-left:12px}.header-context span{font-size:14px}.quick-nav-trigger{width:38px;height:38px;padding:0}.headright .date,.server-badge{display:none}#view{padding:14px 10px calc(28px + env(safe-area-inset-bottom))}.page-title{gap:10px;margin-bottom:14px;padding:0 3px}.page-title h2{font-size:20px}.page-title h2:before{height:18px;margin-right:7px}.page-title p{margin:5px 0 0;font-size:11px}.page-title>div:last-child,.page-actions{display:flex;width:100%;gap:7px;overflow-x:auto;padding-bottom:2px}.page-title .btn,.page-actions .btn{min-width:max-content;flex:1}.cards{grid-template-columns:1fr;gap:10px}.card{padding:15px}.metric .num{font-size:25px}.grid2,.detail-grid,.machine-summary,.form-grid,.hr-payment-grid{grid-template-columns:1fr}.panel{margin-bottom:12px;border-radius:14px}.panel-head{min-height:50px;padding:10px 13px}.panel-head>div:last-child{width:100%}.panel-head>div:last-child .btn{flex:1}.panel-body{padding:13px}.toolbar{gap:8px;padding:10px 11px}.table-search-wrap{display:block}.table-search-tip{display:none}.table-scroll{width:100%;max-width:calc(100vw - 22px);-webkit-overflow-scrolling:touch}.table-scroll:after{content:"左右滑动查看完整表格";position:sticky;left:10px;display:block;width:max-content;padding:5px 8px;color:#789;background:#f4f8fd;border-radius:7px;font-size:9px}.table-scroll table{min-width:720px}th,td{padding:10px 11px}.btn,button{min-height:42px}.btn.small{min-height:36px;padding:7px 10px}.tag{padding:5px 8px}.form{padding:14px}.field{margin-bottom:10px}.field input,.field select,.field textarea{min-height:44px;font-size:16px}.form-actions{display:flex;gap:8px;margin-right:-14px;margin-bottom:-14px;margin-left:-14px;padding:13px 14px calc(14px + env(safe-area-inset-bottom))}.form-actions .btn{flex:1;margin:0}.modal{align-items:end;padding:0}.dialog{width:100%;max-height:92dvh;border-radius:20px 20px 0 0}.dialog-title{padding:14px 16px}.dialog-title button{width:40px;height:40px}.login-overlay{align-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.login-shell{width:100%;border-radius:20px}.login-panel{min-height:min(640px,calc(100dvh - 24px));padding:24px 20px}.login-brand{margin-bottom:24px}.login-heading p{margin-bottom:22px}.input-wrap input{height:52px;font-size:16px}.login-submit{height:52px}.stock-warehouse-cards{grid-template-columns:1fr;gap:9px}.stock-warehouse-cards>button,.stock-warehouse-cards>button:last-child{grid-column:auto;min-height:88px;padding:13px}.stock-warehouse-cards i{width:42px;height:42px}.stock-warehouse-cards em{padding-left:8px}.stock-warehouse-group>header{padding:10px 12px}.hr-department-groups{padding:7px}.hr-department-group>header{align-items:flex-start}.hr-department-table{width:calc(100vw - 36px);-webkit-overflow-scrolling:touch}.hr-department-table table{min-width:1050px}.hr-flow,.hr-tenure{padding:10px}.hr-cards{grid-template-columns:1fr 1fr}.hr-calc-actions{align-items:stretch;flex-direction:column}.hr-calc-actions select,.hr-calc-actions .btn{width:100%}.workshop-original:before{inset:-14px -10px}.ws-original-nav{margin-bottom:12px}.ws-nav-btn{min-height:40px;padding:8px 11px}.ws-stats-grid,.ws-stats-grid.compare,.ws-stats-grid.report{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ws-stat-card{min-height:105px;padding:12px}.ws-stat-val{font-size:22px}.ws-card{padding:13px}.ws-table-wrap{max-width:calc(100vw - 42px);-webkit-overflow-scrolling:touch}.tv-header{gap:10px}.tv-brand>span{width:40px;height:40px;font-size:21px}.tv-brand b{font-size:15px}.tv-brand small{font-size:8px}.tv-header-actions{display:grid;grid-template-columns:1fr 1fr}.tv-header-actions time{grid-column:1/-1;min-width:0;margin:0;text-align:left}.tv-connection{gap:6px 10px}.tv-summary{grid-template-columns:1fr 1fr;gap:7px}.tv-summary>div{padding:8px}.tv-summary b{font-size:23px}.tv-machines{grid-template-columns:1fr;gap:8px}.tv-machine{min-height:170px}.tv-footer{align-items:flex-start;flex-direction:column}.permission-groups,.action-permission-group>div{grid-template-columns:1fr}.employee-badge{max-width:100%}#toast{top:auto;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));left:10px;max-width:none}.back-top{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.hr-cards{grid-template-columns:1fr}.quick{grid-template-columns:1fr}.tv-summary{grid-template-columns:1fr 1fr}.stock-warehouse-cards span small{display:none}.stock-warehouse-cards em small{display:none}.login-panel{padding:20px 16px}.login-foot{margin-top:18px}.page-title h2{font-size:19px}}
.sales-cancel-warning{display:grid;gap:5px;margin-bottom:16px;padding:14px;border:1px solid #f2b6bf;border-radius:13px;color:#a9243b;background:linear-gradient(100deg,#fff0f2,#fff9fa)}.sales-cancel-warning b{font-size:14px}.sales-cancel-warning span{font-size:11px;line-height:1.65}.sales-cancel-confirm{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #ead6a5;border-radius:10px;background:#fff9e8;color:#7b5a18}.sales-cancel-confirm input{width:17px;height:17px}.sales-cancel-status{display:grid;gap:5px;margin-bottom:16px;padding:15px;border-radius:13px}.sales-cancel-status.open{border:1px solid #efb5bf;color:#a82d42;background:#fff1f3}.sales-cancel-status.closed{border:1px solid #b8e1d0;color:#157253;background:#effbf6}.sales-cancel-status span{font-size:11px;line-height:1.6}.sales-cancel-wait,.sales-cancel-disposition{margin-top:15px;padding:14px;border:1px solid #d8e4f2;border-radius:12px;background:#f7faff;color:#52647a}.sales-cancel-disposition p{margin:8px 0;white-space:pre-wrap;line-height:1.7}.sales-cancel-disposition small{color:#8b99aa}
@media(orientation:landscape) and (max-height:520px) and (max-width:950px){.login-panel{min-height:auto;padding:18px 28px}.login-brand,.system-online,.copyright{display:none}.login-heading p{margin-bottom:12px}.login-field{margin-bottom:8px}.login-submit{height:44px}.workshop-tv{min-height:100vh}.dialog{max-height:96dvh}}
.stock-dispatch-btn{color:#096b8a;border-color:#91d8ea;background:#eafaff}.stock-dispatch-btn:hover{color:#075c76;border-color:#54bfd9;background:#daf7ff}.stock-sales-notice{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 15px;border:1px solid #9edbea;border-radius:12px;color:#17647a;background:linear-gradient(135deg,#eefcff,#e4f8ff)}.stock-sales-notice b{white-space:nowrap}.stock-sales-notice span{font-size:12px;line-height:1.6}.stock-sales-form .section-head>div small{display:block;margin-top:3px}.stock-sales-form .table-scroll{max-height:360px}.stock-sales-form table{min-width:820px}.stock-sales-form tr.stock-insufficient td{background:#fff2f0}.stock-sales-form tr.stock-insufficient .stockSalesQty{border-color:#e05252;background:#fff7f6}.stock-sales-form .order-total.invalid{color:#c63832;background:#fff1ef}@media(max-width:620px){.stock-sales-notice{align-items:flex-start;flex-direction:column;gap:4px}.stock-sales-form .table-scroll{max-width:calc(100vw - 28px)}.stock-sales-form table{min-width:800px}}
/* 质量客诉与处罚通告 */
.partial-outbound-tip{margin-bottom:13px;padding:12px 14px;border-left:4px solid #5576e8;border-radius:9px;background:#f2f6ff}.partial-outbound-tip b,.partial-outbound-tip span{display:block}.partial-outbound-tip b{color:#3455bf}.partial-outbound-tip span{margin-top:4px;color:#708098;font-size:10px}#partialOutboundTable tr.disabled{opacity:.52}#partialOutboundTable td small{display:block;margin-top:3px;color:#8796a8;font-size:9px}#partialOutboundTable input{min-width:105px}
.outbound-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 15px;padding:13px;border:1px solid #dce6f0;border-radius:13px;background:linear-gradient(120deg,#f7faff,#f1fbf8);color:#526b86}.outbound-flow span{padding:6px 10px;border-radius:16px;background:#fff;box-shadow:0 2px 7px rgba(40,65,94,.08);font-size:11px;font-weight:800}.outbound-flow i{font-style:normal}.outbound-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.outbound-cards .card:nth-child(1){border-top:3px solid #e0a038}.outbound-cards .card:nth-child(2){border-top:3px solid #5575e8}.outbound-cards .card:nth-child(3){border-top:3px solid #1db07e}.outbound-actions{display:flex;gap:5px;white-space:nowrap}.outbound-preview{padding:16px}.outbound-preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:13px;border-radius:11px;background:linear-gradient(120deg,#edf4ff,#f4fbff)}.outbound-preview-head b,.outbound-preview-head span{display:block}.outbound-preview-head b{color:#3151bc;font-size:18px}.outbound-preview-head span{margin-top:3px;color:#71829a;font-size:10px}.outbound-print-rule{margin:13px 0;padding:11px;border-left:4px solid #e19d30;border-radius:8px;color:#76500d;background:#fff9eb;font-size:11px;line-height:1.6}.outbound-sign{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:38px}.outbound-sign span{padding-bottom:8px;border-bottom:1px solid #65758a;color:#586c84;font-size:11px}.dialog:has(.outbound-preview){width:min(980px,96vw)}@media(max-width:700px){.outbound-flow{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}.outbound-flow span,.outbound-flow i{flex:none}.outbound-cards{grid-template-columns:1fr}.outbound-actions{flex-direction:column}.outbound-preview-head{align-items:stretch;flex-direction:column}.outbound-preview-head .btn{width:100%}.outbound-sign{grid-template-columns:1fr 1fr}}
.inspection-photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:9px}.inspection-photo-list button{position:relative;overflow:hidden;padding:0;border:1px solid #d9e3ed;border-radius:9px;background:#eef3f8;cursor:pointer}.inspection-photo-list img{display:block;width:100%;height:90px;object-fit:cover}.inspection-photo-list span{position:absolute;right:5px;bottom:5px;padding:2px 6px;border-radius:9px;color:#fff;background:rgba(20,38,58,.72);font-size:8px}.inspection-photo-preview{display:grid;place-items:center;min-height:300px;padding:12px;background:#111b27}.inspection-photo-preview img{max-width:100%;max-height:75vh;object-fit:contain}
.inspection-schedule{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:15px;padding:13px 15px;border:1px solid #dbe6f2;border-radius:13px;background:linear-gradient(120deg,#f6f9ff,#f4fcff)}.inspection-schedule>b{margin-right:4px;color:#34506f}.inspection-schedule span{padding:5px 9px;border-radius:15px;color:#4166c8;background:#e9efff;font-size:10px;font-weight:800}.inspection-schedule em{margin-left:auto;color:#75869b;font-size:10px;font-style:normal}.inspection-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.inspection-cards .card:nth-child(1){border-top:3px solid #1eb687}.inspection-cards .card:nth-child(2){border-top:3px solid #e4a235}.inspection-cards .card:nth-child(3){border-top:3px solid #e2556d}.inspection-cards .card:nth-child(4){border-top:3px solid #5977e8}.inspection-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.inspection-notice b,.inspection-notice span{display:block}.inspection-notice b{color:#38516d}.inspection-notice span{margin-top:4px;color:#75869b;font-size:10px}.inspection-rounds{display:grid;gap:13px}.inspection-round{overflow:hidden;border:1px solid #dee7f1;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(45,68,94,.05)}.inspection-round.overdue{border-color:#efbd72}.inspection-round>header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #e7edf4;background:#f8fafd}.inspection-round.overdue>header{background:#fff8ea}.inspection-round>header>div{display:flex;align-items:center;gap:10px}.inspection-round>header>div>span{display:grid;place-items:center;width:53px;height:34px;border-radius:9px;color:#fff;background:linear-gradient(135deg,#5575e8,#26b9ce);font-weight:800}.inspection-round>header b,.inspection-round>header small{display:block}.inspection-round>header small{margin-top:2px;color:#8492a5;font-size:9px}.inspection-round>header>em{padding:4px 9px;border-radius:15px;color:#687b91;background:#eaf0f6;font-size:9px;font-style:normal;font-weight:800}.inspection-round.overdue>header>em{color:#aa6500;background:#fff0ca}.inspection-machines{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px}.inspection-machine{display:flex;min-height:80px;flex-direction:column;align-items:flex-start;padding:10px;border:1px solid #dfe7f1;border-radius:10px;color:#40556e;background:#fbfcfe;cursor:pointer}.inspection-machine:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(45,70,100,.08)}.inspection-machine b,.inspection-machine span,.inspection-machine em{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-machine b{font-size:12px}.inspection-machine span{margin-top:5px;color:#78889d;font-size:9px}.inspection-machine em{margin-top:auto;padding-top:5px;font-size:9px;font-style:normal;font-weight:800}.inspection-machine.pending em{color:#c28119}.inspection-machine.normal{border-color:#bce8d9;background:#f0fcf8}.inspection-machine.normal em,.inspection-machine.resolved em{color:#16966e}.inspection-machine.abnormal{border-color:#f0aab5;background:#fff2f4}.inspection-machine.abnormal em{color:#d13953}.inspection-machine.resolved{border-color:#b9c7f1;background:#f2f5ff}.inspection-form-head{margin-bottom:14px;padding:12px 14px;border-left:4px solid #5876e7;border-radius:9px;background:#f2f6ff}.inspection-form-head b,.inspection-form-head span{display:block}.inspection-form-head span{margin-top:4px;color:#708099;font-size:10px}.inspection-detail{padding:16px}.inspection-detail section{margin-top:13px;padding:12px;border:1px solid #e0e7f0;border-radius:10px;background:#fafcff}.inspection-detail section b{color:#cc3b55}.inspection-detail section p{margin:7px 0 0;color:#596c84;line-height:1.7}.inspection-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.inspection-normal-note{margin-top:13px;padding:15px;border-radius:10px;color:#158260;background:#eafaf4;font-weight:800}.inspection-notifications td small{display:block;margin-top:3px;color:#7e8da1}.btn.green{border-color:#20a97d;color:#fff;background:#20a97d}@media(max-width:1100px){.inspection-machines{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.inspection-schedule{flex-wrap:nowrap;overflow-x:auto}.inspection-schedule>b,.inspection-schedule span{flex:none}.inspection-schedule em{display:none}.inspection-cards{grid-template-columns:1fr 1fr}.inspection-notice{align-items:stretch;flex-direction:column}.inspection-machines{grid-template-columns:repeat(2,1fr);padding:9px}.inspection-round>header{align-items:flex-start}.inspection-machine{min-height:76px}.inspection-detail-actions{flex-direction:column}.inspection-detail-actions .btn{width:100%}}@media print{aside,header,.inspection-notice .btn,.inspection-machine{box-shadow:none!important}.inspection-round{break-inside:avoid}}
.sales-row-actions{display:flex;gap:5px;white-space:nowrap}.sales-created-success{display:flex;align-items:center;flex-direction:column;gap:10px;padding:25px;text-align:center}.sales-created-success>i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;background:#18b581;font-size:29px;font-style:normal;font-weight:800}.sales-created-success>b{font-size:18px}.sales-created-success>span{max-width:480px;color:#67778e;line-height:1.7}.sales-created-success>div{display:flex;gap:9px;margin-top:8px}.sales-sheet-preview{padding:16px}.sales-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;padding:14px;border-radius:12px;background:linear-gradient(120deg,#eef4ff,#f4fbff)}.sales-sheet-toolbar b,.sales-sheet-toolbar span{display:block}.sales-sheet-toolbar b{color:#2d4fb4;font-size:17px}.sales-sheet-toolbar span{margin-top:3px;color:#718199;font-size:11px}.sales-sheet-head{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px;border:1px solid #dde6f0;border-radius:11px;background:#fff}.sales-sheet-head>div{padding:11px 13px;border-right:1px solid #e2e9f1}.sales-sheet-head>div:last-child{border:0}.sales-sheet-head small,.sales-sheet-head b{display:block}.sales-sheet-head small{color:#8290a3;font-size:9px}.sales-sheet-head b{margin-top:3px;color:#334b68}.sales-sheet-preview section{margin-top:16px}.sales-sheet-preview h3{margin:0 0 8px;color:#314965;font-size:14px}.sales-sheet-preview td small{display:block;margin-top:3px;color:#8795a8;font-size:9px}.sales-material-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.sales-material-summary span{padding:6px 10px;border-radius:20px;color:#526982;background:#edf3f9;font-size:10px}.sales-material-summary span.danger{color:#c9344e;background:#fff0f3}.sales-material-category{display:inline-block;padding:3px 7px;border-radius:12px;font-size:9px;font-weight:800}.sales-material-category.main{color:#3163c9;background:#e9f0ff}.sales-material-category.aux{color:#9a6610;background:#fff5d8}.sales-material-category.pack{color:#128164;background:#e5f8f1}.sales-material-category.other{color:#64748b;background:#edf1f5}.sales-sheet-preview tr.shortage td{background:#fff5f6}.sales-sheet-warning{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px;padding:11px;border:1px solid #efc36c;border-radius:10px;color:#8a5b00;background:#fff9e8}.sales-sheet-warning span{padding:2px 7px;border-radius:10px;background:#fff}.sales-sheet-remark{min-height:45px;padding:11px;border:1px solid #dde5ef;border-radius:9px;color:#53677f;background:#fbfcfe}.sales-sheet-sign{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:25px}.sales-sheet-sign span{padding:8px 2px;border-bottom:1px solid #8190a2;color:#607086}.dialog:has(.sales-sheet-preview){width:min(1180px,96vw)}@media(max-width:700px){.sales-row-actions{flex-direction:column}.sales-sheet-toolbar{align-items:stretch;flex-direction:column}.sales-sheet-toolbar .btn{width:100%}.sales-sheet-head{grid-template-columns:1fr 1fr}.sales-sheet-head>div:nth-child(2){border-right:0}.sales-sheet-head>div:nth-child(-n+2){border-bottom:1px solid #e2e9f1}.sales-sheet-sign{grid-template-columns:1fr 1fr}.sales-created-success>div{width:100%;flex-direction:column}.sales-created-success .btn{width:100%}}
.hr-lifetime-income b,.hr-lifetime-income small{display:block}.hr-lifetime-income b{color:#16a274;font-size:13px;white-space:nowrap}.hr-lifetime-income small{margin-top:3px;color:#8795a8;font-size:9px;white-space:nowrap}
.tv-shift-badge{margin-left:auto;padding:5px 10px;border:1px solid rgba(78,186,255,.45);border-radius:6px;color:#9bd7ff;background:rgba(10,62,99,.65);font-size:11px;white-space:nowrap}@media(max-width:700px){.tv-shift-badge{width:100%;margin-left:0;white-space:normal}}
.tv-shift-compare{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.tv-shift-compare>div{min-width:0;padding:5px 6px;border:1px solid rgba(69,139,190,.22);border-radius:5px;background:rgba(4,25,43,.68)}.tv-shift-compare small,.tv-shift-compare b,.tv-shift-compare em{display:block}.tv-shift-compare small{color:#628ca9;font-size:7px}.tv-shift-compare b{overflow:hidden;margin:1px 0;color:#c8e8ff;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.tv-shift-compare em{font-size:7px;font-style:normal;font-weight:800}.tv-shift-compare em.better{color:#48e3a9}.tv-shift-compare em.worse{color:#ff6977}.tv-shift-compare em.same,.tv-shift-compare em.pending{color:#ffc85a}.tv-compare-note{margin-top:9px;padding:6px 10px;border:1px solid rgba(71,148,205,.22);border-radius:6px;color:#75a9cc;background:rgba(5,29,50,.7);font-size:9px}.tv-machine{min-height:235px}@media(max-width:700px){.tv-machine{min-height:220px}.tv-shift-compare small,.tv-shift-compare em{font-size:8px}.tv-shift-compare b{font-size:11px}}
.quality-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px;border:1px solid #dbe6f2;border-radius:14px;background:linear-gradient(120deg,#f7faff,#f4fbff);color:#49617c}.quality-flow span{padding:7px 12px;border-radius:20px;background:#fff;box-shadow:0 2px 8px rgba(35,62,92,.08);font-size:12px;font-weight:700}.quality-flow i{color:#6d85a1;font-style:normal}.quality-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.quality-cards .card{min-height:122px}.quality-cards .card:nth-child(1){border-top:3px solid #f0a43a}.quality-cards .card:nth-child(2){border-top:3px solid #20b486}.quality-cards .card:nth-child(3){border-top:3px solid #e55a70}.quality-cards .card:nth-child(4){border-top:3px solid #8091a6}.quality-note{display:flex;align-items:center;gap:13px;padding:13px 17px;border-left:4px solid #5976ee;background:#f7f9ff}.quality-note b{white-space:nowrap;color:#3954c9}.quality-note span{color:#60728b;font-size:12px}.quality-money{color:#cf4057}.quality-actions{display:flex;gap:5px;white-space:nowrap}.quality-form-tip,.quality-confirm-warning{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:13px 15px;border:1px solid #cfe0f2;border-radius:11px;background:#f4f9ff}.quality-form-tip b{color:#3a61d8}.quality-form-tip span,.quality-confirm-warning span{color:#64758a;font-size:12px}.quality-confirm-warning{border-color:#f1d6a5;background:#fff9ec}.quality-confirm-warning b{color:#b86b00}.field.full{grid-column:1/-1}.field textarea{resize:vertical}@media(max-width:900px){.quality-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-actions{flex-direction:column}.quality-note{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.quality-cards{grid-template-columns:1fr 1fr}.quality-flow{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}.quality-flow span{flex:none}.quality-flow i{flex:none}.quality-cards .card{min-height:104px}.quality-cards .num{font-size:22px}}
.mold-search{width:100%;margin:8px 0;padding:9px 11px;border:1px solid #cbd7e5;border-radius:8px}.mold-choice-list{display:flex;flex-wrap:wrap;gap:7px;max-height:210px;overflow:auto;padding:6px}.mold-choice{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #d7e0eb;border-radius:8px;background:#f8fbff;font-size:13px}.mold-choice small{color:#708096}.bom-search{width:100%;margin-bottom:5px;padding:5px 7px;border:1px solid #d5dfeb;border-radius:6px}.audit-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audit-compare section{min-width:0}.audit-compare pre{max-height:55vh;overflow:auto;white-space:pre-wrap;background:#0b1728;color:#cce5ff;padding:12px;border-radius:9px;font-size:12px}.business-image-list{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.business-image-list button{padding:12px;border:1px solid #ccd8e6;border-radius:9px;background:#f6faff}.business-image-list small{display:block;color:#75859a}.business-image-preview{text-align:center;max-height:72vh;overflow:auto}.business-image-preview img{max-width:100%;height:auto;border-radius:10px}@media(max-width:700px){.audit-compare{grid-template-columns:1fr}.mold-choice-list{max-height:160px}}
.inspection-mobile-form{padding-bottom:74px}.inspection-mobile-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:14px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#173f78,#1589a3)}.inspection-mobile-head>span{display:grid;place-items:center;width:52px;height:52px;border:2px solid rgba(255,255,255,.55);border-radius:15px;font-size:25px;font-weight:900}.inspection-mobile-head b,.inspection-mobile-head small{display:block}.inspection-mobile-head b{font-size:17px}.inspection-mobile-head small{margin-top:3px;color:#cdebf5}.inspection-mobile-step{margin:0 0 11px;padding:13px;border:1px solid #dce6f0;border-radius:13px;background:#fff}.inspection-mobile-step.important{border:2px solid #5b7ee8;background:#f5f8ff}.inspection-mobile-step>label:first-child{display:flex;align-items:center;gap:9px;margin-bottom:10px}.inspection-mobile-step>label:first-child>i{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;color:#fff;background:#5978e5;font-style:normal;font-weight:900}.inspection-mobile-step>label:first-child b,.inspection-mobile-step>label:first-child small{display:block}.inspection-mobile-step>label:first-child small{margin-top:2px;color:#78889b;font-size:10px}.inspection-mobile-step input,.inspection-mobile-step select,.inspection-mobile-step textarea{font-size:16px}.inspection-mobile-step.important input{min-height:48px;border:2px solid #a9baef;font-weight:800}.inspection-camera-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.inspection-camera-button{display:flex!important;align-items:center!important;justify-content:center;flex-direction:column;min-height:75px!important;margin:0!important;border:2px dashed #3c9bc3;border-radius:13px;color:#176d91;background:#effaff;cursor:pointer}.inspection-camera-button strong{font-size:17px}.inspection-camera-button small{margin-top:5px;color:#64879a}.inspection-photo-selected{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.inspection-photo-selected>div{position:relative;padding:9px 7px 8px 34px;border-radius:9px;background:#edf5fb}.inspection-photo-selected span{position:absolute;left:8px;top:9px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;background:#278cac;font-size:10px}.inspection-photo-selected b,.inspection-photo-selected small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-photo-selected b{font-size:10px}.inspection-photo-selected small,.inspection-photo-selected p{color:#77899a;font-size:9px}.inspection-result-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.inspection-result-choice{min-height:78px;padding:10px;border:2px solid #dbe4ed;border-radius:13px;background:#f7f9fb}.inspection-result-choice b,.inspection-result-choice small{display:block}.inspection-result-choice b{font-size:18px}.inspection-result-choice small{margin-top:5px;color:#778597;font-size:10px}.inspection-result-choice.normal.active{border-color:#1eaf7f;color:#11825d;background:#eafaf4;box-shadow:0 0 0 3px rgba(30,175,127,.12)}.inspection-result-choice.abnormal.active{border-color:#df4e65;color:#c32945;background:#fff0f3;box-shadow:0 0 0 3px rgba(223,78,101,.12)}.inspection-mobile-submit{position:sticky;z-index:5;bottom:-16px;display:grid;grid-template-columns:90px 1fr;gap:8px;margin:14px -16px -90px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));border-top:1px solid #d9e2ec;background:rgba(255,255,255,.96);box-shadow:0 -5px 18px rgba(28,49,74,.12);backdrop-filter:blur(8px)}.inspection-mobile-submit .btn{min-height:46px;font-size:15px;font-weight:800}.inspection-mobile-submit .btn:disabled{opacity:.65}@media(max-width:700px){.modal{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px);padding:12px}.inspection-machine{min-height:96px;padding:12px}.inspection-machine b{font-size:15px}.inspection-machine span{font-size:11px}.inspection-machine em{font-size:11px}.inspection-round>header>div>span{width:48px}.inspection-photo-selected{grid-template-columns:1fr}.inspection-mobile-form{padding-bottom:86px}}
.inspection-mobile-form{padding-bottom:90px}@media(max-width:700px){.inspection-mobile-form{padding-right:12px;padding-left:12px}.inspection-mobile-submit{bottom:0;margin-right:-12px;margin-left:-12px}}
.inspection-result-buttons:has(.stopped){grid-template-columns:repeat(3,1fr)}.inspection-result-choice.stopped.active{border-color:#687a90;color:#405168;background:#edf1f5;box-shadow:0 0 0 3px rgba(74,91,111,.12)}.tv-current-product{margin:4px 9px 7px;padding:7px 8px;border:1px solid rgba(78,182,236,.2);border-radius:6px;background:rgba(4,27,47,.72)}.tv-current-product small,.tv-current-product b,.tv-current-product em{display:block}.tv-current-product small{color:#5f9fc7;font-size:7px}.tv-current-product b{overflow:hidden;margin:2px 0;color:#eef9ff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tv-current-product em{color:#6489a1;font-size:7px;font-style:normal}@media(max-width:700px){body:has(.ios-inspection-fullscreen){overflow:hidden}.modal:has(.ios-inspection-fullscreen){inset:0;align-items:stretch;padding:0;background:#fff}.modal:has(.ios-inspection-fullscreen) .dialog{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.modal:has(.ios-inspection-fullscreen) .dialog-title{padding-top:max(14px,env(safe-area-inset-top));background:#fff}.modal:has(.ios-inspection-fullscreen) .inspection-mobile-form{min-height:calc(100dvh - 62px);padding-bottom:calc(92px + env(safe-area-inset-bottom));overscroll-behavior:contain}.modal:has(.ios-inspection-fullscreen) .inspection-mobile-submit{position:fixed;right:0;bottom:0;left:0;margin:0;padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left))}.inspection-result-buttons:has(.stopped){grid-template-columns:1fr}.inspection-result-choice{min-height:68px}}
.inspection-machine.stopped{border-color:#aeb9c6;background:#f0f3f6}.inspection-machine.stopped em{color:#596b80}
.inspection-anytime-head{margin-bottom:13px}.inspection-anytime .inspection-machine{min-height:92px}.inspection-anytime .inspection-machine:hover{border-color:#5575e8;background:#f2f6ff}.inspection-anytime .inspection-machine em{margin-top:7px}.inspection-anytime>header>div>span{width:58px}@media(max-width:700px){.inspection-anytime .inspection-machines{grid-template-columns:repeat(2,1fr)}.inspection-anytime .inspection-machine{min-height:94px}}

/* 2026-08-15 悬浮协同窗口最终生效层：必须放在文件最后 */
@media (min-width:621px){
  #collabFloat{position:fixed!important;right:22px!important;bottom:22px!important;top:auto!important;z-index:1300!important}
  #collabFloatPanel{position:absolute!important;right:0!important;left:auto!important;top:auto!important;bottom:72px!important;width:760px!important;height:640px!important;max-width:calc(100vw - 44px)!important;max-height:calc(100dvh - 118px)!important;overflow:hidden!important;border:1px solid rgba(15,23,42,.1)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 24px 70px rgba(15,23,42,.22)!important}
  #collabFloatPanel>header{min-height:58px!important;padding:10px 12px!important;background:#f7f8fa!important}
  #collabFloatBody{display:block!important;height:calc(100% - 58px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .collab-wechat-shell{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;height:100%!important;min-height:0!important;background:#fff!important}
  .collab-wechat-contacts{position:static!important;display:block!important;width:auto!important;height:100%!important;margin:0!important;padding:0!important;overflow:auto!important;border:0!important;border-right:1px solid #e6e8ec!important;border-radius:0!important;background:#f5f6f7!important;box-shadow:none!important}
  .collab-wechat-contacts>button{min-height:68px!important;padding:11px 12px!important;gap:10px!important;border-bottom:1px solid rgba(15,23,42,.06)!important;background:transparent!important}
  .collab-wechat-contacts>button:hover,.collab-wechat-contacts>button.active{background:#e9edf2!important}
  .collab-wechat-contacts b{font-size:14px!important}.collab-wechat-contacts small{display:block!important;font-size:12px!important}
  .collab-wechat-conversation{display:flex!important;height:100%!important;min-width:0!important;flex-direction:column!important;background:#f2f3f5!important;overflow:hidden!important}
  .collab-wechat-chat-head{min-height:58px!important;padding:10px 14px!important;border-bottom:1px solid #e4e6eb!important;background:#f7f8fa!important}
  .collab-wechat-chat-head button:first-child{display:none!important}
  .collab-wechat-messages{min-height:0!important;flex:1!important;padding:18px!important;overflow:auto!important;background:#f2f3f5!important}
  .collab-wechat-messages p{font-size:14px!important}
  .collab-wechat-compose{display:flex!important;gap:10px!important;padding:12px!important;border-top:1px solid #e4e6eb!important;background:#fff!important}
  .collab-wechat-compose input{min-height:42px!important;font-size:14px!important}
}
@media (max-width:620px){
  #collabFloat{position:fixed!important;right:14px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;top:auto!important;z-index:1300!important}
  #collabFloatButton{width:54px!important;height:54px!important;border-radius:18px!important}
  #collabFloatPanel{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;max-height:none!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  #collabFloatPanel>header{min-height:56px!important;padding:calc(8px + env(safe-area-inset-top)) 12px 8px!important;border-bottom:1px solid #e8eaee!important;background:#f7f8fa!important}
  #collabFloatPanel>header b{font-size:17px!important}#collabFloatPanel>header small{display:none!important}
  .collab-float-header-actions button{min-height:38px!important;border-radius:10px!important;background:#fff!important}
  #collabFloatBody{display:block!important;height:calc(100dvh - 56px - env(safe-area-inset-top))!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .collab-wechat-shell{display:block!important;height:100%!important;min-height:0!important;background:#fff!important}
  .collab-wechat-contacts{position:relative!important;display:block!important;width:auto!important;height:100%!important;margin:0!important;padding:0 0 calc(12px + env(safe-area-inset-bottom))!important;overflow:auto!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  .collab-wechat-contacts>button{min-height:72px!important;padding:12px 14px!important;gap:12px!important;border-bottom:1px solid #f0f1f3!important;background:#fff!important}
  .collab-wechat-contacts b{font-size:16px!important}.collab-wechat-contacts small{display:block!important;margin-top:4px!important;font-size:13px!important;color:#7b8493!important}
  .collab-wechat-conversation{display:none!important;height:100%!important;min-width:0!important;flex-direction:column!important;background:#ededed!important;overflow:hidden!important}
  .collab-wechat-shell.has-chat .collab-wechat-contacts{display:none!important}.collab-wechat-shell.has-chat .collab-wechat-conversation{display:flex!important}
  .collab-wechat-chat-head{min-height:56px!important;padding:8px 10px!important;border-bottom:1px solid #e1e3e6!important;background:#f7f8fa!important}
  .collab-wechat-chat-head button:first-child{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;padding:0!important;border-radius:10px!important;background:transparent!important;font-size:28px!important;color:#111827!important}
  .collab-wechat-messages{min-height:0!important;flex:1!important;padding:14px 12px!important;overflow:auto!important;background:#ededed!important}
  .collab-wechat-messages>div{max-width:86%!important}.collab-wechat-messages p{font-size:15px!important;line-height:1.55!important}
  .collab-wechat-compose{display:flex!important;gap:8px!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;border-top:1px solid #dfe3e8!important;background:#f7f8fa!important}
  .collab-wechat-compose input{min-height:44px!important;font-size:16px!important}.collab-wechat-compose .btn{min-width:68px!important;min-height:44px!important}
  .collab-mobile-state{height:100%!important;min-height:100%!important;color:#344054!important;background:#fff!important}
  .collab-mobile-state b{display:block;margin-bottom:6px;font-size:16px!important;color:#111827!important}
  .collab-mobile-state small{display:block;font-size:12px!important;color:#7b8493!important}
}
.inspection-notice-actions{display:flex;gap:8px;flex-wrap:wrap}.inspection-empty-current{padding:30px;text-align:center}.inspection-empty-current b,.inspection-empty-current span{display:block}.inspection-empty-current b{color:#38516d;font-size:18px}.inspection-empty-current span{margin-top:7px;color:#78899c}.inspection-history-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px;border-radius:10px;background:#f4f8fc}.inspection-history-toolbar label{display:grid;gap:5px;font-weight:800}.inspection-history-toolbar input{min-width:170px;padding:8px;border:1px solid #cbd8e6;border-radius:7px}.inspection-history-toolbar span{color:#78899c;font-size:11px}.inspection-history-content{display:grid;gap:12px;max-height:70vh;overflow:auto;padding-right:3px}@media(max-width:700px){.inspection-notice-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.inspection-history-toolbar{align-items:stretch;flex-direction:column}.inspection-history-toolbar input{width:100%}.inspection-history-content{max-height:76vh}}
.sales-customization-fields{grid-column:1/-1;margin:2px 0 10px;border:1px solid #d9e4ef;border-radius:10px;background:#f8fbfe}.sales-customization-fields summary{padding:12px 14px;color:#365370;font-weight:800;cursor:pointer}.sales-customization-body{padding:0 14px 14px}.stock-move-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.stock-move-filters label{display:grid;gap:5px;color:#60758c;font-size:11px;font-weight:800}.stock-move-filters input,.stock-move-filters select{min-width:135px;padding:8px;border:1px solid #ccd9e7;border-radius:7px;background:#fff}.stock-move-count{margin:8px 0;color:#657a91;font-size:12px}.purchase-receipt-head{margin-top:18px}.purchase-last-price{display:block;margin-top:4px;color:#73869b;font-size:10px}@media(max-width:700px){.stock-move-filters{display:grid;grid-template-columns:1fr 1fr}.stock-move-filters input,.stock-move-filters select{width:100%;min-width:0}.sales-customization-body{grid-template-columns:1fr!important}}
.sales-custom-image-field{grid-column:1/-1}.sales-custom-image-summary{margin-top:7px;padding:8px 10px;border-radius:8px;color:#60758c;background:#eef5fc;font-size:11px}.sales-custom-image-summary b{color:#176bc1;font-size:14px}.sales-custom-image-preview{display:grid;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:9px;margin-top:-5px}.sales-custom-image-preview article{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 30px;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid #dbe6f1;border-radius:10px;background:#f8fbff}.sales-custom-image-preview img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:#e8eef5}.sales-custom-image-preview span,.sales-custom-image-preview b,.sales-custom-image-preview small{display:block;min-width:0}.sales-custom-image-preview b{overflow:hidden;color:#344e6a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sales-custom-image-preview small{margin-top:4px;color:#8393a6;font-size:9px}.sales-custom-image-preview button{width:28px;height:28px;padding:0;border:0;border-radius:50%;color:#c73c52;background:#ffedf0;font-size:18px}.sales-image-upload-progress:empty{display:none}.sales-image-upload-progress{display:grid;gap:5px;margin:10px 0;padding:10px 12px;border:1px solid #cfe1f3;border-radius:10px;background:#f2f8fe}.sales-image-upload-progress b,.sales-image-upload-progress span{display:block}.sales-image-upload-progress span{overflow:hidden;color:#71849a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.sales-image-upload-progress>i{height:6px;overflow:hidden;border-radius:99px;background:#dce8f4}.sales-image-upload-progress>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5574f1,#00bade);transition:width .2s}.sales-order-image-manager .business-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-height:52vh;overflow:auto}.sales-saved-image{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.sales-saved-image>button:first-child{text-align:left}.sales-saved-image>button:first-child b,.sales-saved-image>button:first-child small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-saved-image>button.danger{padding:7px 9px;border-color:#f3cad1;color:#b72f45;background:#fff2f4}@media(max-width:620px){.sales-custom-image-preview{grid-template-columns:1fr}.sales-order-image-manager .business-image-list{grid-template-columns:1fr;max-height:44vh}}
.hr-import-guide.enhanced{display:grid;gap:6px;padding:13px;border:1px solid #cfe0f1;border-radius:11px;background:linear-gradient(135deg,#eef6ff,#f9fcff)}.hr-import-guide.enhanced b{color:#245985;font-size:14px}.hr-import-guide.enhanced span{color:#637990;line-height:1.65}.hr-attendance-month-hint{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 16px 12px;padding:12px 14px;border:1px solid #f1d293;border-radius:10px;background:#fff8e8}.hr-attendance-month-hint b{color:#8a5c0b}.hr-attendance-month-hint span{flex:1;color:#8a7550}.hr-attendance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 16px 14px}.hr-attendance-summary span{padding:10px 12px;border:1px solid #dde7f1;border-radius:10px;background:#f8fbfe}.hr-attendance-summary small,.hr-attendance-summary b{display:block}.hr-attendance-summary small{color:#8393a5;font-size:9px}.hr-attendance-summary b{margin-top:3px;color:#294966;font-size:15px}.hr-attendance-import-history{padding:0 16px 16px}.hr-period-link{padding:4px 8px;border:1px solid #cbdced;border-radius:7px;color:#176fc2;background:#eff7ff;font-weight:750}.hr-unmatched summary{color:#bf3e51;cursor:pointer;font-weight:750}.hr-unmatched span{display:block;max-width:330px;margin-top:6px;color:#825d65;font-size:10px;line-height:1.6}.hr-attendance-preview{padding:18px}.hr-attendance-preview-head{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #c9e9dd;border-radius:12px;background:#eefbf6}.hr-attendance-preview-head>i{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:#1aaa7d;font-size:20px;font-style:normal}.hr-attendance-preview-head b,.hr-attendance-preview-head span{display:block}.hr-attendance-preview-head b{color:#24445d;font-size:15px}.hr-attendance-preview-head span{margin-top:3px;color:#748a9d;font-size:11px}.hr-attendance-preview-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0}.hr-attendance-preview-stats span{padding:9px;border-radius:9px;background:#f1f6fb}.hr-attendance-preview-stats small,.hr-attendance-preview-stats b{display:block;text-align:center}.hr-attendance-preview-stats small{color:#8494a6;font-size:8px}.hr-attendance-preview-stats b{margin-top:3px;color:#2e506d;font-size:16px}.hr-attendance-status-analysis{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.hr-attendance-status-analysis span{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:99px;color:#32715f;background:#eaf8f3;font-size:10px}.hr-attendance-status-analysis span.danger{color:#ad3348;background:#ffedf1}.hr-attendance-status-analysis span.muted{color:#66778a;background:#edf1f5}.hr-attendance-status-analysis b{font-size:13px}.hr-attendance-unmatched-warning{display:grid;gap:5px;margin:11px 0;padding:11px 13px;border:1px solid #f0c3cc;border-radius:10px;background:#fff1f4}.hr-attendance-unmatched-warning b{color:#a82940}.hr-attendance-unmatched-warning span{max-height:72px;overflow:auto;color:#725a61;line-height:1.6}.hr-attendance-unmatched-warning small{color:#9a7180}.hr-attendance-all-matched{margin:11px 0;padding:9px 12px;border-radius:9px;color:#157856;background:#eaf9f3;font-weight:750}.hr-attendance-sample>b{display:block;margin:13px 0 7px;color:#3d566f}.hr-attendance-sample .panel{margin-bottom:0}@media(max-width:800px){.hr-attendance-summary{grid-template-columns:1fr 1fr}.hr-attendance-preview-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.hr-attendance-summary{margin-right:10px;margin-left:10px}.hr-attendance-import-history{padding-right:10px;padding-left:10px}.hr-attendance-preview{padding:12px}.hr-attendance-preview-stats{grid-template-columns:1fr 1fr}.hr-attendance-month-hint{align-items:flex-start;flex-direction:column;margin-right:10px;margin-left:10px}}
.hr-attendance-month-analysis,.hr-attendance-detail-section{margin:0 16px 16px;border:1px solid #e0e8f1;border-radius:11px;overflow:hidden}.hr-attendance-month-analysis>.panel-head,.hr-attendance-detail-section>.panel-head{margin:0;border-bottom:1px solid #e6edf4}.hr-attendance-month-analysis>.panel{margin:0;border:0;border-radius:0}.hr-attendance-filters{display:grid;grid-template-columns:190px 150px minmax(220px,1fr) auto;gap:8px;padding:11px 13px;background:#f6f9fc}.hr-attendance-filters select,.hr-attendance-filters input{min-width:0;padding:8px 10px;border:1px solid #ccd9e7;border-radius:8px;background:#fff}.hr-attendance-filters span{align-self:center;padding:6px 9px;border-radius:99px;color:#627b92;background:#e8f0f8;font-size:10px;white-space:nowrap}.hr-attendance-detail-section>#hrAttendanceDetailTable>.panel{margin:0;border:0;border-radius:0}@media(max-width:800px){.hr-attendance-filters{grid-template-columns:1fr 1fr}.hr-attendance-filters input{grid-column:1/-1}.hr-attendance-filters span{justify-self:start}}@media(max-width:620px){.hr-attendance-month-analysis,.hr-attendance-detail-section{margin-right:10px;margin-left:10px}.hr-attendance-filters{grid-template-columns:1fr}.hr-attendance-filters input{grid-column:auto}}
.hr-department-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:11px 16px;border-bottom:1px solid #e7eef6;background:linear-gradient(105deg,#edf5ff,#fbfdff);cursor:pointer;list-style:none}.hr-department-group>summary::-webkit-details-marker{display:none}.hr-department-group>summary>div{display:flex;align-items:center;gap:11px}.hr-department-group>summary>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#536ff1,#00b5dc);font-size:18px;font-weight:800}.hr-department-group>summary b,.hr-department-group>summary small{display:block}.hr-department-group>summary small{margin-top:3px;color:#8293a7;font-size:10px}.hr-department-group>summary em{padding:6px 12px;border:1px solid #d7e5f5;border-radius:99px;color:#68809c;background:#fff;font-size:11px;font-style:normal}.hr-department-group:not([open])>summary{border-bottom:0}.hr-employee-fold,.hr-payment-fold{margin:0 0 11px;border:1px solid #dbe5f0;border-radius:11px;background:#fafcff}.hr-employee-fold>summary,.hr-payment-fold>summary{padding:13px 15px;color:#365370;font-weight:850;cursor:pointer}.hr-employee-fold>.form-grid,.hr-employee-fold>.hr-check-row,.hr-employee-fold>p,.hr-payment-fold>section{margin:0;padding:0 15px 15px}.hr-shift-fold-body{padding:0 15px 15px}.hr-payment-fold section{display:grid;gap:10px}.hr-payment-fold label{display:grid;gap:5px}.hr-payment-fold input{width:100%}@media(max-width:700px){.hr-department-group>summary{padding:10px 12px}.hr-employee-fold>summary,.hr-payment-fold>summary{padding:12px}.hr-employee-fold>.form-grid,.hr-shift-fold-body{grid-template-columns:1fr!important}}
.hr-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:13px}.hr-compact-employee{min-width:0;padding:13px;border:1px solid #dce6f0;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(31,65,105,.045)}.hr-compact-employee.inactive{opacity:.72;background:#fafafa}.hr-compact-main{display:flex;align-items:center;gap:9px}.hr-compact-main>div{min-width:0;flex:1}.hr-compact-main b,.hr-compact-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-compact-main b{color:#253e5e;font-size:14px}.hr-compact-main span{margin-top:3px;color:#7a8da3;font-size:10px}.hr-compact-main .hr-employment-status{min-width:auto;padding:4px 7px;font-size:9px}.hr-compact-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.hr-compact-meta span{min-width:0;padding:7px 8px;border-radius:8px;background:#f5f8fc}.hr-compact-meta small,.hr-compact-meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-compact-meta small{color:#8a9aad;font-size:8px}.hr-compact-meta b{margin-top:2px;color:#405773;font-size:10px}.hr-compact-meta b.ok{color:#138261}.hr-compact-meta b.warn{color:#b27613}.hr-compact-actions{margin-top:9px;border-top:1px solid #edf1f5}.hr-compact-actions>summary{padding:9px 1px 1px;color:#4a70cb;font-size:10px;font-weight:800;cursor:pointer}.hr-compact-actions>div{display:flex;gap:5px;flex-wrap:wrap;padding-top:9px}.hr-compact-actions .btn{min-height:30px;padding:5px 8px;font-size:10px}.hr-compact-extra{display:grid;flex-basis:100%;gap:3px;margin-top:3px;color:#77899d;font-size:9px}@media(max-width:1150px){.hr-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.hr-compact-grid{grid-template-columns:1fr;padding:8px}.hr-compact-employee{padding:11px}.hr-compact-meta{grid-template-columns:repeat(2,1fr)}}
.tv-machine-top{flex-wrap:nowrap!important}.tv-machine-product-inline{display:block;flex:1 1 auto;min-width:0;max-width:none;margin-left:1px;overflow-wrap:anywhere;color:#c9efff!important;font-size:clamp(9px,.72vw,13px)!important;font-weight:900!important;line-height:1.08;text-align:left;text-shadow:0 0 8px rgba(45,190,255,.55);white-space:normal;word-break:break-word}.tv-machine-product-inline.is-medium{font-size:clamp(8px,.64vw,11px)!important}.tv-machine-product-inline.is-long{font-size:clamp(7px,.57vw,10px)!important}@media(max-width:700px){.tv-machine-top{align-items:flex-start}.tv-machine-product-inline{font-size:clamp(9px,2.7vw,12px)!important}.tv-machine-product-inline.is-medium{font-size:clamp(8px,2.35vw,11px)!important}.tv-machine-product-inline.is-long{font-size:clamp(7px,2.05vw,10px)!important}}

/* 全系统字体层级：标题清楚、正文稳定、辅助信息克制。 */
:root{--font-ui:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Segoe UI",sans-serif;--font-number:"Segoe UI Variable","Segoe UI",Arial,sans-serif;--font-normal:400;--font-medium:500;--font-semi:600;--font-bold:700;--font-heavy:800}
html{font-size:15px}body{font-family:var(--font-ui);font-size:14px;font-weight:var(--font-normal);line-height:1.55;letter-spacing:0;color:#2f4057;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:var(--font-ui)}
.page-title h2{font-size:25px;font-weight:var(--heavy,800);line-height:1.25;letter-spacing:-.45px}.page-title p{font-size:13px;font-weight:400;line-height:1.7;color:#718096}.header-context span{font-size:16px;font-weight:700}.header-context small{font-size:10px;font-weight:500}.panel-head b,.section-head b,.ws-section-title,.inspection-round>header b{font-size:15px;font-weight:750;line-height:1.35;color:#263b55}.panel-head .muted,.panel-head span,.section-head span{font-size:12px;font-weight:400;line-height:1.55}.panel-body,.form,.dialog{font-size:14px}
th{padding:12px 13px;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.15px;color:#5e7087}td{padding:12px 13px;font-size:13px;font-weight:400;line-height:1.55;color:#354960}td>b,td>strong,td b:not(.btn),.detail-grid b{font-weight:700;color:#263d59}td small,.detail-grid small,.table-count,.table-search-tip{font-size:11px;font-weight:400;line-height:1.5;color:#7e8ea2}
.btn{font-size:13px;font-weight:600;line-height:1.3}.btn.primary,.btn.green,.btn.danger{font-weight:700}.btn.small{font-size:12px;font-weight:600}.tag{font-size:11px;font-weight:650;line-height:1.25}.muted{font-size:12px;font-weight:400;line-height:1.6;color:#74859a}.metric .num,.ws-stat-val,.machine-summary b,.order-total,.hr-lifetime-income b,.quality-money{font-family:var(--font-number);font-weight:750;font-variant-numeric:tabular-nums}.metric .num{font-size:32px}.metric span,.metric small,.card small{font-size:12px;line-height:1.5}.metric>div>span:first-child{font-weight:600;color:#65768b}
.field label,.ws-form-inline,.ws-date-group{font-size:13px;font-weight:650;color:#4c6078}.field input,.field select,.field textarea,.search,.ws-form-inline input,.ws-form-inline select{font-size:14px;font-weight:400;line-height:1.5;color:#243a54}.field input::placeholder,.field textarea::placeholder,.search::placeholder{font-weight:400;color:#99a6b6}.field small,.form>p.muted,.form .muted{font-size:11px;font-weight:400}.dialog-title{font-size:17px;font-weight:750}.dialog-title b{font-weight:750}.form-actions .btn{font-size:13px;font-weight:650}
.nav-title{font-size:10px;font-weight:600}.nav-item span{font-size:14px;font-weight:500}.nav-item.active span{font-weight:700}.brand b{font-size:16px;font-weight:700}.user-meta span{font-size:13px;font-weight:600}.user-meta small{font-size:10px;font-weight:400}.headright{font-size:12px;font-weight:500}
.hr-compact-main b{font-size:15px;font-weight:750}.hr-compact-main span{font-size:11px;font-weight:400}.hr-compact-meta small{font-size:10px;font-weight:400}.hr-compact-meta b{font-size:12px;font-weight:650}.hr-compact-actions>summary{font-size:12px;font-weight:700}.hr-compact-extra{font-size:11px;font-weight:400;line-height:1.55}.hr-department-group>summary b{font-size:15px;font-weight:750}.hr-department-group>summary small{font-size:11px;font-weight:400}.hr-department-group>summary em{font-size:12px;font-weight:500}.hr-employee-fold>summary,.hr-payment-fold>summary,.sales-customization-fields summary{font-size:14px;font-weight:750}
.ws-table-wrap table{font-size:13px}.ws-table-wrap th{font-size:12px;font-weight:700}.ws-table-wrap td{font-size:13px}.ws-stat-label{font-size:13px;font-weight:600}.ws-stat-sub,.ws-help,.ws-quality-foot{font-size:12px;font-weight:400;line-height:1.55}.quality-note span,.quality-form-tip span,.quality-confirm-warning span{font-size:13px;line-height:1.6}.inspection-machine b{font-size:13px;font-weight:750}.inspection-machine span,.inspection-machine em{font-size:11px;line-height:1.45}.inspection-mobile-step>label:first-child b{font-size:14px;font-weight:750}.inspection-mobile-step>label:first-child small{font-size:11px;font-weight:400}
.workshop-tv{font-family:var(--font-ui)}.workshop-tv .tv-brand b{font-weight:800}.workshop-tv .tv-summary small,.workshop-tv .tv-machine-data small{font-weight:600}.workshop-tv .tv-summary b,.workshop-tv .tv-machine-main b{font-family:var(--font-number);font-weight:800;font-variant-numeric:tabular-nums}.workshop-tv .tv-machine-top strong{font-weight:800}
@media(max-width:900px){body{font-size:14px}.page-title h2{font-size:23px}.panel-head b{font-size:14px}th{font-size:12px}td{font-size:13px}.btn{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.hr-compact-main b{font-size:15px}}
@media(max-width:620px){.page-title h2{font-size:22px}.page-title p{font-size:12px}.panel-head b,.section-head b{font-size:14px}.metric .num{font-size:28px}.metric span,.metric small{font-size:11px}.hr-compact-meta b{font-size:12px}.hr-compact-meta small{font-size:10px}.hr-compact-actions .btn{font-size:12px}.dialog-title{font-size:16px}}
.product-color-chip{display:inline-flex;align-items:center;gap:7px;font-weight:650}.product-color-chip i{width:15px;height:15px;flex:none;border:1px solid #cbd5e1;border-radius:50%;background-size:8px 8px!important;box-shadow:0 1px 3px rgba(15,23,42,.12)}.product-weight-input{display:grid;grid-template-columns:1fr 105px;gap:7px}.product-weight-input select{min-width:0}@media(max-width:620px){.product-weight-input{grid-template-columns:1fr 100px}}
.product-hover-image{position:relative;z-index:1;display:inline-grid;width:58px;height:58px;place-items:center;border:1px solid #d6e1ec;border-radius:9px;background:#f4f8fc;cursor:zoom-in;outline:none}.product-hover-image img{width:100%;height:100%;border-radius:8px;object-fit:cover}.product-hover-image em{position:absolute;right:2px;bottom:2px;padding:2px 4px;border-radius:4px;color:#fff;background:rgba(16,38,65,.72);font-size:7px;font-style:normal;opacity:0;transition:.15s}.product-hover-image:hover,.product-hover-image:focus{z-index:50}.product-hover-image:hover img,.product-hover-image:focus img{position:absolute;z-index:50;left:64px;top:50%;width:min(360px,38vw);height:min(360px,38vw);transform:translateY(-50%);border:5px solid #fff;border-radius:14px;object-fit:contain;background:#fff;box-shadow:0 18px 55px rgba(16,37,65,.3)}.product-hover-image:hover em,.product-hover-image:focus em{opacity:1}.product-image-loading{color:#7f91a5;font-size:9px;text-align:center}.product-image-loading.error{color:#b15b66}.product-image-empty{display:grid;width:58px;height:58px;place-items:center;padding:5px;border:1px dashed #bfcddd;border-radius:9px;color:#71869d;background:#f7faff}.product-image-empty i,.product-image-empty small{display:block}.product-image-empty i{font-size:18px}.product-image-empty small{font-size:8px}@media(max-width:700px){.product-hover-image{width:64px;height:64px}.product-hover-image:hover img,.product-hover-image:focus img{position:fixed;z-index:100;inset:50% auto auto 50%;width:min(88vw,430px);height:min(70vh,430px);transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax rgba(5,15,28,.62),0 18px 55px rgba(0,0,0,.4)}.product-hover-image em{display:none}}

/* 模具档案保持原表格展示，宽度限制在浏览器可用区域内。 */
@media(min-width:901px){.mold-table-panel{max-width:100%;overflow:hidden}.mold-table-panel>.table-scroll{width:100%;max-width:100%;overflow-x:hidden}.mold-table-panel>.table-scroll table{width:100%;min-width:0;table-layout:fixed}.mold-table-panel>.table-scroll th,.mold-table-panel>.table-scroll td{min-width:0;padding:9px clamp(4px,.42vw,8px);font-size:clamp(8px,.58vw,10px);line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.mold-table-panel>.table-scroll th{font-weight:750}.mold-table-panel>.table-scroll td small{display:block;margin-top:3px;font-size:8px}.mold-table-panel>.table-scroll .tag,.mold-table-panel>.table-scroll .mold-location{max-width:100%;padding:4px 6px;font-size:8px;white-space:normal}.mold-table-panel th:nth-child(1){width:6%}.mold-table-panel th:nth-child(2){width:10%}.mold-table-panel th:nth-child(3){width:7%}.mold-table-panel th:nth-child(4){width:6%}.mold-table-panel th:nth-child(5){width:7%}.mold-table-panel th:nth-child(6){width:6%}.mold-table-panel th:nth-child(7){width:4%}.mold-table-panel th:nth-child(8){width:5%}.mold-table-panel th:nth-child(9){width:6%}.mold-table-panel th:nth-child(10){width:10%}.mold-table-panel th:nth-child(11){width:8%}.mold-table-panel th:nth-child(12){width:9%}.mold-table-panel th:nth-child(13){width:16%}.mold-table-panel td:last-child .btn.small{min-height:25px;margin:2px 1px;padding:3px 5px;font-size:8px;white-space:normal}}

/* 电视监控大屏：14台固定为7列×2行，并按可用高度自动收紧，避免电视画面被裁切。 */
.workshop-tv{padding:12px;min-height:calc(100vh - 150px)}
.workshop-tv .tv-header{padding:0 3px 8px}.workshop-tv .tv-brand>span{width:40px;height:40px;font-size:23px}.workshop-tv .tv-brand b{font-size:19px}.workshop-tv .tv-brand small{margin-top:2px}.workshop-tv .tv-header-actions button{padding:7px 10px}.workshop-tv .tv-header-actions time{min-width:145px;font-size:13px}
.workshop-tv .tv-priority-alert{min-height:42px;margin:7px 0;padding:6px 12px}.workshop-tv .tv-priority-alert strong{font-size:17px}.workshop-tv .tv-priority-alert span{font-size:11px}
.workshop-tv .tv-connection{min-height:34px;margin:6px 0;padding:5px 9px;gap:10px;font-size:11px!important}.workshop-tv .tv-connection b{font-size:12px}.workshop-tv .tv-shift-badge{padding:3px 7px;font-size:9px}
.workshop-tv .tv-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:7px}.workshop-tv .tv-summary>div{min-height:64px;padding:6px 9px}.workshop-tv .tv-summary small{font-size:10px!important}.workshop-tv .tv-summary b{margin-top:0;font-size:27px!important;line-height:1.05}.workshop-tv .tv-summary span{font-size:9px!important}
.workshop-tv .tv-machines{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px}.workshop-tv .tv-machine{display:flex;min-width:0;min-height:0;padding:7px;flex-direction:column}.workshop-tv .tv-machine-top{min-height:29px;gap:4px}.workshop-tv .tv-machine-top>span:first-child{font-size:22px!important}.workshop-tv .tv-machine-top strong{flex:none;padding:3px 6px;font-size:11px!important}.workshop-tv .tv-machine-top>.tv-machine-product-inline{max-height:27px;overflow:hidden;font-size:clamp(8px,.72vw,13px)!important}.workshop-tv .tv-machine-top>.tv-machine-product-inline.is-medium{font-size:clamp(7px,.64vw,11px)!important}.workshop-tv .tv-machine-top>.tv-machine-product-inline.is-long{font-size:clamp(6px,.57vw,10px)!important}
.workshop-tv .tv-injection-machine{height:38px;min-height:38px;margin:3px 0}.workshop-tv .tv-machine-main{padding:4px 0 3px}.workshop-tv .tv-machine-main b{font-size:27px!important;line-height:1}.workshop-tv .tv-machine-main small{font-size:9px!important}.workshop-tv .tv-machine-data{gap:3px}.workshop-tv .tv-machine-data span{padding:3px}.workshop-tv .tv-machine-data small{font-size:8px!important}.workshop-tv .tv-machine-data b{font-size:11px!important}
.workshop-tv .tv-shift-compare{gap:3px;margin-top:4px}.workshop-tv .tv-shift-compare>div{padding:3px 4px}.workshop-tv .tv-shift-compare small,.workshop-tv .tv-shift-compare em{font-size:6px}.workshop-tv .tv-shift-compare b{font-size:9px}.workshop-tv .tv-machine-alert,.workshop-tv .tv-machine-off{position:static;margin-top:auto;padding:4px!important;line-height:1.1}.workshop-tv .tv-machine-alert b{font-size:11px}.workshop-tv .tv-machine-alert span,.workshop-tv .tv-machine-off{font-size:8px!important}
.workshop-tv .tv-compare-note{margin-top:5px;padding:4px 8px;font-size:8px}.workshop-tv .tv-footer{margin-top:4px;padding:5px 8px}.workshop-tv .tv-alert-scroll b{font-size:11px}.workshop-tv .tv-alert-scroll span{font-size:10px}
#workshopOriginalContent:fullscreen{overflow:hidden}#workshopOriginalContent:fullscreen .workshop-tv{display:flex;height:100vh;min-height:100vh;padding:10px;flex-direction:column}#workshopOriginalContent:fullscreen .tv-machines{height:auto;min-height:0;flex:1}#workshopOriginalContent:fullscreen .tv-machine{min-height:0}
@media(max-width:1500px) and (min-width:1051px){.workshop-tv .tv-machines{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.workshop-tv .tv-summary{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-height:850px) and (min-width:1051px){.workshop-tv .tv-brand small,.workshop-tv .tv-compare-note{display:none}.workshop-tv .tv-header{padding-bottom:5px}.workshop-tv .tv-priority-alert{min-height:34px;margin:4px 0;padding:4px 10px}.workshop-tv .tv-priority-alert strong{font-size:14px}.workshop-tv .tv-connection{min-height:28px;margin:4px 0}.workshop-tv .tv-summary>div{min-height:51px;padding:4px 7px}.workshop-tv .tv-summary b{font-size:22px!important}.workshop-tv .tv-injection-machine{height:31px;min-height:31px}.workshop-tv .tv-machine-main b{font-size:23px!important}.workshop-tv .tv-footer{display:none}}

/* 物料档案分类目录：分类概览、折叠分组、自适应卡片。 */
.material-directory{overflow:hidden}.material-category-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:13px;border-bottom:1px solid #e8eef5;background:linear-gradient(180deg,#fbfdff,#f5f9fd)}.material-category-summary button{display:flex;align-items:center;min-width:0;gap:9px;padding:11px;border:1px solid #dce6f1;border-radius:12px;color:#435a74;background:#fff;text-align:left;cursor:pointer;transition:.16s}.material-category-summary button:hover,.material-category-summary button.active{transform:translateY(-1px);border-color:#6685ed;color:#315bd5;background:#f0f4ff;box-shadow:0 7px 16px rgba(56,91,190,.12)}.material-category-summary i{display:grid;flex:0 0 35px;height:35px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#526ef1,#00b7d6);font-style:normal}.material-category-summary span{min-width:0}.material-category-summary b,.material-category-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-category-summary b{font-size:12px}.material-category-summary small{margin-top:3px;color:#8797aa;font-size:9px}.material-directory-toolbar{border-bottom:1px solid #e8eef5}.material-category-groups{display:grid;gap:13px;padding:14px;background:#f3f7fc}.material-category-group{overflow:hidden;border:1px solid #dae5f0;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(31,65,105,.05)}.material-category-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:61px;padding:10px 14px;border-bottom:1px solid #e8eef5;background:linear-gradient(105deg,#edf5ff,#fbfdff);cursor:pointer;list-style:none}.material-category-group>summary::-webkit-details-marker{display:none}.material-category-group>summary>div{display:flex;align-items:center;min-width:0;gap:10px}.material-category-group>summary i{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,#536ff1,#00b5dc);font-style:normal;font-weight:900}.material-category-group>summary b,.material-category-group>summary small{display:block}.material-category-group>summary b{color:#263f5f;font-size:14px}.material-category-group>summary small{margin-top:3px;color:#8192a6;font-size:9px}.material-category-group>summary em{padding:6px 10px;border:1px solid #dce7f2;border-radius:99px;color:#71849a;background:#fff;font-size:10px;font-style:normal;white-space:nowrap}.material-category-group>summary em strong{color:#386be8;font-size:14px}.material-category-group:not([open])>summary{border-bottom:0}.material-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:11px}.material-card{display:flex;min-width:0;overflow:hidden;border:1px solid #dce6f0;border-radius:12px;background:#fff;flex-direction:column;transition:.16s}.material-card:hover{border-color:#b9cee9;box-shadow:0 8px 19px rgba(38,76,119,.09)}.material-card.low-stock{border-color:#efc2c8;background:#fffafb}.material-card>header{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px 11px;border-bottom:1px solid #e9eef4;background:#f9fbfe}.material-card>header>div{display:flex;align-items:center;min-width:0;gap:8px}.material-card>header>div>span{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#5670ed,#00afd4);font-size:10px;font-weight:900}.material-card>header>div>div{min-width:0}.material-card>header b,.material-card>header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-card>header b{color:#2d4664;font-size:12px}.material-card>header small{margin-top:2px;color:#8595a8;font-size:9px}.material-card-core{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e8eef5}.material-card-core section{min-width:0;padding:9px 10px;background:#fff}.material-card-core small,.material-card-core b{display:block}.material-card-core small,.material-card-detail small{margin-bottom:3px;color:#8999aa;font-size:8px}.material-card-core b{overflow:hidden;color:#3b536f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.material-card-detail{border-top:1px solid #e9eef4;background:#fbfdff}.material-card-detail>summary{padding:8px 10px;color:#5270a5;font-size:9px;font-weight:800;cursor:pointer}.material-card-detail>div{display:grid;gap:7px;padding:0 10px 10px}.material-card-detail span{padding:7px 8px;border-radius:7px;background:#f2f6fb}.material-card-detail b{display:block;overflow-wrap:anywhere;color:#53677d;font-size:9px;line-height:1.5}.material-card>footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:auto;padding:8px 9px;border-top:1px solid #e8eef5}.material-card>footer .btn{min-width:0;padding:5px 4px;font-size:9px;white-space:nowrap}@media(max-width:1450px){.material-category-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.material-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.material-category-summary{display:flex;overflow-x:auto}.material-category-summary button{min-width:145px}.material-category-groups{padding:8px}.material-category-group>summary{align-items:flex-start;gap:8px}.material-category-group>summary em{white-space:normal;text-align:right}.material-card-grid{grid-template-columns:1fr;padding:7px}.material-card>footer .btn{font-size:10px}}
.material-category-summary{display:flex;align-items:stretch;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.material-category-summary button{min-width:0;flex:1 1 0}@media(max-width:1450px){.material-category-summary button{min-width:145px;flex:1 0 145px}}@media(max-width:760px){.material-category-summary button{min-width:145px;flex:0 0 145px}}

/* 产品档案式通用列表：员工档案与物料档案统一显示逻辑。 */
.archive-list-panel{overflow:hidden}.archive-list-panel>.table-scroll{margin:0;border:0;border-radius:0}.archive-list-panel td small{display:block;margin-top:3px;color:#8191a4;font-size:10px}.archive-list-panel table{width:100%}.archive-row-actions{display:flex;align-items:center;gap:5px;min-width:190px;flex-wrap:wrap}.archive-row-actions details{position:relative}.archive-row-actions summary{padding:5px 8px;border:1px solid #d7e1ec;border-radius:7px;color:#4c6380;background:#fff;font-size:11px;font-weight:650;cursor:pointer;list-style:none}.archive-row-actions summary::-webkit-details-marker{display:none}.archive-row-actions details>div{position:absolute;z-index:30;right:0;top:34px;display:grid;width:220px;gap:6px;padding:10px;border:1px solid #d8e3ee;border-radius:9px;background:#fff;box-shadow:0 13px 35px rgba(24,49,82,.2)}.archive-row-actions details>div span{color:#708197;font-size:10px;line-height:1.5}.material-list-tabs{display:flex;align-items:stretch;overflow-x:auto;gap:8px;padding:12px;border-bottom:1px solid #e5ecf4;background:#f8fbff}.material-list-tabs button{display:flex;min-width:125px;padding:10px 13px;align-items:center;justify-content:space-between;gap:9px;border:1px solid #dbe5ef;border-radius:8px;color:#455d78;background:#fff;cursor:pointer}.material-list-tabs button.active,.material-list-tabs button:hover{border-color:#6480e8;color:#3457cc;background:#f0f4ff}.material-list-tabs b{font-size:12px}.material-list-tabs small{color:#8797aa;font-size:9px;white-space:nowrap}@media(min-width:901px){.archive-list-panel>.table-scroll{overflow-x:hidden}.archive-list-panel table{min-width:0;table-layout:auto}.archive-list-panel th,.archive-list-panel td{padding:10px 8px;font-size:11px;white-space:normal;overflow-wrap:anywhere}.archive-list-panel .archive-row-actions .btn{padding:5px 7px;font-size:10px}}@media(max-width:900px){.archive-list-panel>.table-scroll{overflow-x:auto}.archive-list-panel table{min-width:980px}.material-list-tabs button{min-width:112px}.archive-row-actions details>div{position:fixed;inset:auto 12px 80px;width:auto}}
.material-list-tabs button.all{margin-left:auto;border-style:dashed}.archive-category-empty{display:grid;min-height:260px;padding:38px;place-items:center;align-content:center;text-align:center;background:linear-gradient(180deg,#fbfdff,#f5f8fc)}.archive-category-empty i{display:grid;width:54px;height:54px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#5572ee,#00b9d7);font-size:24px;font-style:normal;box-shadow:0 10px 24px rgba(67,102,214,.22)}.archive-category-empty b{margin-top:14px;color:#29435f;font-size:16px}.archive-category-empty span{max-width:460px;margin-top:6px;color:#7a8ba0;font-size:12px;line-height:1.7}@media(max-width:700px){.material-list-tabs button.all{margin-left:0}.archive-category-empty{min-height:220px;padding:25px 16px}}

/* 全局提示：错误固定显示在最前端，避免被弹窗、表格或滚动位置遮挡。 */
#toast{z-index:10000}#toast.error{top:max(12px,env(safe-area-inset-top));right:50%;display:grid;width:min(680px,calc(100vw - 24px));max-width:none;min-height:76px;padding:13px 48px 13px 14px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;border:1px solid #f0aeba;border-radius:14px;color:#742235;background:rgba(255,245,247,.985);box-shadow:0 20px 70px rgba(103,22,42,.3);transform:translate(50%,-12px);pointer-events:auto;backdrop-filter:blur(14px)}#toast.error.show{transform:translate(50%,0)}#toast.error:before{display:none}#toast.error>i{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#e64f69,#b72b48);font-size:22px;font-style:normal;font-weight:900}#toast.error>span{display:grid;gap:3px}#toast.error b{color:#8b243c;font-size:14px}#toast.error small{color:#703547;font-size:12px;line-height:1.65;overflow-wrap:anywhere}#toast.error>button{position:absolute;top:11px;right:12px;width:32px;height:32px;padding:0;border:1px solid #efc3cb;border-radius:9px;color:#a13d54;background:#fff;font-size:20px;cursor:pointer}#toast.success{pointer-events:none}@media(max-width:620px){#toast.error{top:max(8px,env(safe-area-inset-top));right:50%;bottom:auto;left:auto;width:calc(100vw - 16px);min-height:72px;padding:11px 43px 11px 11px;grid-template-columns:34px minmax(0,1fr);transform:translate(50%,-10px)}#toast.error.show{transform:translate(50%,0)}#toast.error>i{width:34px;height:34px}#toast.error b{font-size:13px}#toast.error small{font-size:11px}}
/* 手机端操作体验 2.0：表格卡片化、全屏表单、底部快捷导航与安全区适配 */
.mobile-bottom-nav{display:none}
body:has(#loginOverlay:not(.hide)) .mobile-bottom-nav{display:none!important}
@media(max-width:700px){
html,body{max-width:100%;overflow-x:hidden;background:#eef3f9;-webkit-text-size-adjust:100%}
body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
header{height:58px;padding:0 12px;border-bottom:1px solid #dce5ef}.mobile-menu{width:42px;height:42px;font-size:20px}.header-context span{font-size:15px}.quick-nav-trigger{width:42px;height:42px;padding:0;place-items:center;font-size:0}.quick-nav-trigger>span{width:24px;height:24px;font-size:15px}.quick-nav-trigger kbd{display:none}
#view{width:100%;padding:13px 10px 22px}.page-title{gap:11px;margin-bottom:13px;padding:3px 2px}.page-title h2{font-size:21px}.page-title p{margin:5px 0 0;line-height:1.55}.page-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.page-actions .btn{width:100%;min-height:43px;margin:0!important;padding:8px;font-size:12px;white-space:normal}
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:11px}.card{min-height:104px;padding:13px;border-radius:13px}.metric .num{font-size:25px}.metric .ico{width:36px;height:36px;font-size:17px}.metric span,.metric small{font-size:10px}
.panel{margin-bottom:11px;border-radius:13px}.panel-head{min-height:auto;padding:13px;align-items:flex-start;gap:9px}.panel-head>div:first-child{min-width:0}.panel-head b{font-size:14px;line-height:1.4}.panel-head .muted{display:block;margin-top:3px;font-size:10px}.panel-head>.btn,.panel-head>div:last-child{flex:none}.panel-body{padding:12px}.toolbar{min-height:auto;padding:10px}.table-search-tip{display:none}.table-count{font-size:10px}
.btn{min-height:42px;padding:9px 12px;border-radius:10px;font-size:13px;touch-action:manipulation}.btn.small{min-height:38px;padding:8px 10px;font-size:12px}.tag{font-size:10px}
.table-scroll{width:100%!important;overflow:visible!important}.data-panel table,.archive-list-panel table,.hr-department-table table{display:block;width:100%!important;min-width:0!important}.data-panel thead,.archive-list-panel thead,.hr-department-table thead{display:none}.data-panel tbody,.archive-list-panel tbody,.hr-department-table tbody{display:grid;gap:9px;padding:9px}.data-panel tr,.archive-list-panel tr,.hr-department-table tr{display:grid!important;width:100%;overflow:hidden;padding:5px 11px;border:1px solid #dce6f0;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(31,58,89,.05)}.data-panel td,.archive-list-panel td,.hr-department-table td{display:grid!important;min-height:35px;padding:8px 0!important;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:start;gap:9px;border-bottom:1px dashed #e6edf4!important;background:transparent!important;font-size:13px;white-space:normal!important;overflow-wrap:anywhere}.data-panel td:last-child,.archive-list-panel td:last-child,.hr-department-table td:last-child{border-bottom:0!important}.data-panel td:before,.archive-list-panel td:before,.hr-department-table td:before{content:attr(data-label);color:#7a8ca1;font-size:11px;font-weight:700}.data-panel td[colspan]:before{display:none}.data-panel td.empty{display:block!important;padding:35px 10px!important}.data-panel td .btn,.archive-list-panel td .btn,.hr-department-table td .btn{margin:2px;vertical-align:middle}.data-panel td:last-child,.archive-list-panel td:last-child,.hr-department-table td:last-child{display:flex!important;grid-template-columns:none;flex-wrap:wrap;align-items:center}.data-panel td:last-child:before,.archive-list-panel td:last-child:before,.hr-department-table td:last-child:before{width:100%}
.archive-row-actions,.hr-employee-actions,.sales-row-actions,.workshop-row-actions{display:grid!important;width:100%;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;white-space:normal!important}.archive-row-actions .btn,.hr-employee-actions .btn,.sales-row-actions .btn,.workshop-row-actions .btn{width:100%;margin:0!important}.archive-row-actions details{grid-column:1/-1}.archive-row-actions details>div{position:fixed;right:10px;bottom:78px;left:10px;top:auto;width:auto}
.modal{align-items:stretch;width:100vw!important;height:100dvh;max-height:none!important;padding:0!important;background:#fff}.dialog{width:100vw!important;height:100dvh;max-height:none!important;border:0;border-radius:0!important;box-shadow:none}.dialog-title{min-height:57px;padding:10px 13px;padding-top:max(10px,env(safe-area-inset-top));font-size:16px}.dialog-title button{width:40px;height:40px}.form{padding:13px 12px calc(88px + env(safe-area-inset-bottom))}.form-grid{grid-template-columns:1fr!important;gap:0}.field{margin-bottom:13px}.field label{font-size:13px}.field input,.field select,.field textarea{min-height:46px;padding:10px 11px;font-size:16px}.field textarea{min-height:95px}.form-actions{position:sticky;z-index:8;right:0;bottom:0;left:0;display:grid;margin:18px -12px calc(-88px - env(safe-area-inset-bottom));padding:10px 12px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr 1.35fr;gap:8px;border-top:1px solid #dce5ee;background:rgba(255,255,255,.97);box-shadow:0 -7px 20px rgba(30,52,78,.1)}.form-actions .btn{width:100%;min-height:48px;margin:0!important}.form-actions .btn:only-child{grid-column:1/-1}
.detail-grid{grid-template-columns:1fr 1fr;gap:7px}.detail-grid span{padding:10px}.quick{grid-template-columns:1fr 1fr}.steps{margin:0 -2px;padding:13px 5px;overflow-x:auto}.step{min-width:92px}.machine-summary{grid-template-columns:1fr 1fr;gap:7px;padding:10px}.machine-summary span{padding:10px}
.mobile-bottom-nav{position:fixed;z-index:65;right:0;bottom:0;left:0;display:grid;height:calc(61px + env(safe-area-inset-bottom));padding:5px 6px env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);border-top:1px solid #d8e3ee;background:rgba(255,255,255,.97);box-shadow:0 -8px 25px rgba(24,48,77,.13);backdrop-filter:blur(16px)}.mobile-bottom-nav button{display:grid;min-width:0;padding:2px;place-items:center;align-content:center;gap:2px;border:0;border-radius:10px;color:#708399;background:transparent}.mobile-bottom-nav button:active{color:#315fda;background:#eef3ff}.mobile-bottom-nav i{font-size:19px;font-style:normal}.mobile-bottom-nav span{font-size:9px;font-weight:700}
aside{width:min(86vw,320px)}nav{padding-bottom:85px}.nav-item{min-height:48px}.nav-item span{font-size:14px}.userinfo{padding-bottom:calc(15px + env(safe-area-inset-bottom))}.server-badge,.back-top{display:none!important}
.hr-period,.finance-period{display:grid!important;width:100%;grid-template-columns:auto 1fr;align-items:center}.hr-period input,.finance-period input{min-height:42px}.material-list-tabs,.material-category-summary{scroll-snap-type:x mandatory}.material-list-tabs button,.material-category-summary button{scroll-snap-align:start}.workshop-tv{min-width:760px}.workshop-original:has(.workshop-tv){overflow-x:auto}
}

/* 2026-08-15 微信模式最终版：PC 同窗双栏，手机会话列表/聊天详情单页切换 */
@media (min-width:621px){
  #collabFloat{
    position:fixed !important;
    right:22px !important;
    bottom:22px !important;
    top:auto !important;
    z-index:1300 !important;
  }
  #collabFloatPanel{
    position:absolute !important;
    right:0 !important;
    left:auto !important;
    top:auto !important;
    bottom:72px !important;
    width:760px !important;
    height:640px !important;
    max-width:calc(100vw - 44px) !important;
    max-height:calc(100dvh - 118px) !important;
    overflow:hidden !important;
    border:1px solid rgba(15,23,42,.10) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 24px 70px rgba(15,23,42,.22) !important;
  }
  #collabFloatPanel>header{
    min-height:58px !important;
    padding:10px 12px !important;
    background:#f7f8fa !important;
  }
  #collabFloatBody{
    display:block !important;
    height:calc(100% - 58px) !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  .collab-wechat-shell{
    display:grid !important;
    grid-template-columns:240px minmax(0,1fr) !important;
    height:100% !important;
    min-height:0 !important;
    background:#fff !important;
  }
  .collab-wechat-contacts{
    position:static !important;
    width:auto !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:auto !important;
    border:0 !important;
    border-right:1px solid #e6e8ec !important;
    border-radius:0 !important;
    background:#f5f6f7 !important;
    box-shadow:none !important;
    display:block !important;
  }
  .collab-wechat-contacts>button{
    min-height:68px !important;
    padding:11px 12px !important;
    gap:10px !important;
    border-bottom:1px solid rgba(15,23,42,.06) !important;
    background:transparent !important;
  }
  .collab-wechat-contacts>button:hover,
  .collab-wechat-contacts>button.active{
    background:#e9edf2 !important;
  }
  .collab-wechat-contacts b{
    font-size:14px !important;
  }
  .collab-wechat-contacts small{
    display:block !important;
    font-size:12px !important;
  }
  .collab-wechat-conversation{
    display:flex !important;
    height:100% !important;
    min-width:0 !important;
    flex-direction:column !important;
    background:#f2f3f5 !important;
    overflow:hidden !important;
  }
  .collab-wechat-chat-head{
    min-height:58px !important;
    padding:10px 14px !important;
    border-bottom:1px solid #e4e6eb !important;
    background:#f7f8fa !important;
  }
  .collab-wechat-chat-head button:first-child{
    display:none !important;
  }
  .collab-wechat-messages{
    min-height:0 !important;
    flex:1 !important;
    padding:18px !important;
    overflow:auto !important;
    background:#f2f3f5 !important;
  }
  .collab-wechat-messages p{
    font-size:14px !important;
  }
  .collab-wechat-compose{
    display:flex !important;
    gap:10px !important;
    padding:12px !important;
    border-top:1px solid #e4e6eb !important;
    background:#fff !important;
  }
  .collab-wechat-compose input{
    min-height:42px !important;
    font-size:14px !important;
  }
}

/* 2026-08-15 兜底最终层：必须在文件末尾，压过所有历史聊天浮窗规则 */
@media (min-width:621px){
  #collabFloat{position:fixed!important;right:22px!important;bottom:22px!important;top:auto!important;z-index:1300!important}
  #collabFloatPanel{position:absolute!important;right:0!important;left:auto!important;top:auto!important;bottom:72px!important;width:760px!important;height:640px!important;max-width:calc(100vw - 44px)!important;max-height:calc(100dvh - 118px)!important;overflow:hidden!important;border:1px solid rgba(15,23,42,.1)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 24px 70px rgba(15,23,42,.22)!important}
  #collabFloatPanel>header{min-height:58px!important;padding:10px 12px!important;background:#f7f8fa!important}
  #collabFloatBody{display:block!important;height:calc(100% - 58px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .collab-wechat-shell{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;height:100%!important;min-height:0!important;background:#fff!important}
  .collab-wechat-contacts{position:static!important;display:block!important;width:auto!important;height:100%!important;margin:0!important;padding:0!important;overflow:auto!important;border:0!important;border-right:1px solid #e6e8ec!important;border-radius:0!important;background:#f5f6f7!important;box-shadow:none!important}
  .collab-wechat-contacts>button{min-height:68px!important;padding:11px 12px!important;gap:10px!important;border-bottom:1px solid rgba(15,23,42,.06)!important;background:transparent!important}
  .collab-wechat-contacts>button:hover,.collab-wechat-contacts>button.active{background:#e9edf2!important}
  .collab-wechat-contacts b{font-size:14px!important}.collab-wechat-contacts small{display:block!important;font-size:12px!important}
  .collab-wechat-conversation{display:flex!important;height:100%!important;min-width:0!important;flex-direction:column!important;background:#f2f3f5!important;overflow:hidden!important}
  .collab-wechat-chat-head{min-height:58px!important;padding:10px 14px!important;border-bottom:1px solid #e4e6eb!important;background:#f7f8fa!important}
  .collab-wechat-chat-head button:first-child{display:none!important}
  .collab-wechat-messages{min-height:0!important;flex:1!important;padding:18px!important;overflow:auto!important;background:#f2f3f5!important}
  .collab-wechat-messages p{font-size:14px!important}
  .collab-wechat-compose{display:flex!important;gap:10px!important;padding:12px!important;border-top:1px solid #e4e6eb!important;background:#fff!important}
  .collab-wechat-compose input{min-height:42px!important;font-size:14px!important}
}
@media (max-width:620px){
  #collabFloat{position:fixed!important;right:14px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;top:auto!important;z-index:1300!important}
  #collabFloatButton{width:54px!important;height:54px!important;border-radius:18px!important}
  #collabFloatPanel{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;max-height:none!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  #collabFloatPanel>header{min-height:56px!important;padding:calc(8px + env(safe-area-inset-top)) 12px 8px!important;border-bottom:1px solid #e8eaee!important;background:#f7f8fa!important}
  #collabFloatPanel>header b{font-size:17px!important}#collabFloatPanel>header small{display:none!important}
  .collab-float-header-actions button{min-height:38px!important;border-radius:10px!important;background:#fff!important}
  #collabFloatBody{display:block!important;height:calc(100dvh - 56px - env(safe-area-inset-top))!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .collab-wechat-shell{display:block!important;height:100%!important;min-height:0!important;background:#fff!important}
  .collab-wechat-contacts{position:relative!important;display:block!important;width:auto!important;height:100%!important;margin:0!important;padding:0 0 calc(12px + env(safe-area-inset-bottom))!important;overflow:auto!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  .collab-wechat-contacts>button{min-height:72px!important;padding:12px 14px!important;gap:12px!important;border-bottom:1px solid #f0f1f3!important;background:#fff!important}
  .collab-wechat-contacts b{font-size:16px!important}.collab-wechat-contacts small{display:block!important;margin-top:4px!important;font-size:13px!important;color:#7b8493!important}
  .collab-wechat-conversation{display:none!important;height:100%!important;min-width:0!important;flex-direction:column!important;background:#ededed!important;overflow:hidden!important}
  .collab-wechat-shell.has-chat .collab-wechat-contacts{display:none!important}.collab-wechat-shell.has-chat .collab-wechat-conversation{display:flex!important}
  .collab-wechat-chat-head{min-height:56px!important;padding:8px 10px!important;border-bottom:1px solid #e1e3e6!important;background:#f7f8fa!important}
  .collab-wechat-chat-head button:first-child{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;padding:0!important;border-radius:10px!important;background:transparent!important;font-size:28px!important;color:#111827!important}
  .collab-wechat-messages{min-height:0!important;flex:1!important;padding:14px 12px!important;overflow:auto!important;background:#ededed!important}
  .collab-wechat-messages>div{max-width:86%!important}.collab-wechat-messages p{font-size:15px!important;line-height:1.55!important}
  .collab-wechat-compose{display:flex!important;gap:8px!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;border-top:1px solid #dfe3e8!important;background:#f7f8fa!important}
  .collab-wechat-compose input{min-height:44px!important;font-size:16px!important}.collab-wechat-compose .btn{min-width:68px!important;min-height:44px!important}
  .collab-mobile-shell{display:flex!important;height:100%!important;min-height:0!important;flex-direction:column!important;background:#fff!important}
  .collab-mobile-content{min-height:0!important;flex:1!important;overflow:hidden!important;background:#fff!important}
  .collab-mobile-list{height:100%!important;overflow:auto!important;padding:4px 0 calc(72px + env(safe-area-inset-bottom))!important;background:#fff!important}
  .collab-mobile-item{position:relative!important;display:flex!important;width:100%!important;min-height:72px!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:0!important;border-bottom:1px solid #f0f1f3!important;background:#fff!important;color:#111827!important;text-align:left!important}
  .collab-mobile-item>span:nth-child(2){min-width:0!important;flex:1!important}
  .collab-mobile-item b,.collab-mobile-item small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .collab-mobile-item b{font-size:16px!important;font-weight:750!important}
  .collab-mobile-item small{margin-top:4px!important;color:#7b8493!important;font-size:13px!important}
  .collab-mobile-item em{display:grid!important;min-width:20px!important;height:20px!important;place-items:center!important;padding:0 6px!important;border-radius:99px!important;background:#ef4444!important;color:#fff!important;font-size:10px!important;font-style:normal!important;font-weight:800!important}
  .collab-mobile-nav{position:fixed!important;right:0!important;bottom:0!important;left:0!important;z-index:3!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;min-height:calc(58px + env(safe-area-inset-bottom))!important;padding:6px 10px env(safe-area-inset-bottom)!important;border-top:1px solid #202124!important;background:#191919!important}
  .collab-mobile-nav button{position:relative!important;display:grid!important;place-items:center!important;gap:2px!important;border:0!important;background:transparent!important;color:#b7bbc3!important;font-size:13px!important;font-weight:700!important}
  .collab-mobile-nav button:before{content:''!important;display:block!important;width:24px!important;height:24px!important;border:2px solid currentColor!important;border-radius:9px!important}
  .collab-mobile-nav button.active{color:#18c26f!important}
  .collab-mobile-task{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:13px 14px!important;border-bottom:1px solid #f0f1f3!important;background:#fff!important}
  .collab-mobile-task div{min-width:0!important;flex:1!important}
  .collab-mobile-task b,.collab-mobile-task small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .collab-mobile-task b{font-size:15px!important;color:#111827!important}
  .collab-mobile-task small{margin-top:4px!important;color:#7b8493!important;font-size:12px!important}
}

@media (max-width:620px){
  #collabFloat{
    position:fixed !important;
    right:14px !important;
    bottom:calc(76px + env(safe-area-inset-bottom)) !important;
    top:auto !important;
    z-index:1300 !important;
  }
  #collabFloatButton{
    width:54px !important;
    height:54px !important;
    border-radius:18px !important;
  }
  #collabFloatPanel{
    position:fixed !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  #collabFloatPanel>header{
    min-height:56px !important;
    padding:calc(8px + env(safe-area-inset-top)) 12px 8px !important;
    border-bottom:1px solid #e8eaee !important;
    background:#f7f8fa !important;
  }
  #collabFloatPanel>header b{
    font-size:17px !important;
  }
  #collabFloatPanel>header small{
    display:none !important;
  }
  .collab-float-header-actions button{
    min-height:38px !important;
    border-radius:10px !important;
    background:#fff !important;
  }
  #collabFloatBody{
    display:block !important;
    height:calc(100dvh - 56px - env(safe-area-inset-top)) !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  .collab-wechat-shell{
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    background:#fff !important;
  }
  .collab-wechat-contacts{
    position:relative !important;
    display:block !important;
    width:auto !important;
    height:100% !important;
    margin:0 !important;
    padding:0 0 calc(12px + env(safe-area-inset-bottom)) !important;
    overflow:auto !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  .collab-wechat-contacts>button{
    min-height:72px !important;
    padding:12px 14px !important;
    gap:12px !important;
    border-bottom:1px solid #f0f1f3 !important;
    background:#fff !important;
  }
  .collab-wechat-contacts b{
    font-size:16px !important;
  }
  .collab-wechat-contacts small{
    display:block !important;
    margin-top:4px !important;
    font-size:13px !important;
    color:#7b8493 !important;
  }
  .collab-wechat-conversation{
    display:none !important;
    height:100% !important;
    min-width:0 !important;
    flex-direction:column !important;
    background:#ededed !important;
    overflow:hidden !important;
  }
  .collab-wechat-shell.has-chat .collab-wechat-contacts{
    display:none !important;
  }
  .collab-wechat-shell.has-chat .collab-wechat-conversation{
    display:flex !important;
  }
  .collab-wechat-chat-head{
    min-height:56px !important;
    padding:8px 10px !important;
    border-bottom:1px solid #e1e3e6 !important;
    background:#f7f8fa !important;
  }
  .collab-wechat-chat-head button:first-child{
    display:grid !important;
    width:42px !important;
    height:42px !important;
    place-items:center !important;
    padding:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    font-size:28px !important;
    color:#111827 !important;
  }
  .collab-wechat-messages{
    min-height:0 !important;
    flex:1 !important;
    padding:14px 12px !important;
    overflow:auto !important;
    background:#ededed !important;
  }
  .collab-wechat-messages>div{
    max-width:86% !important;
  }
  .collab-wechat-messages p{
    font-size:15px !important;
    line-height:1.55 !important;
  }
  .collab-wechat-compose{
    display:flex !important;
    gap:8px !important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom)) !important;
    border-top:1px solid #dfe3e8 !important;
    background:#f7f8fa !important;
  }
  .collab-wechat-compose input{
    min-height:44px !important;
    font-size:16px !important;
  }
  .collab-wechat-compose .btn{
    min-width:68px !important;
    min-height:44px !important;
  }
}

@media(max-width:620px){
  #loginBtn.login-submit:not(:disabled){
    background:#111827!important;
    color:#fff!important;
    box-shadow:0 18px 36px rgba(17,24,39,.22)!important;
    opacity:1!important;
    cursor:pointer!important;
  }
}

/* 2026-08-15 模块底座：手机端按当前页面提供少量关键操作，不再让通用导航挤占业务。 */
.erp-module-dock{display:none}
.erp-terminal-close-dock{display:flex;gap:10px;margin:16px 0 0;padding:12px 0 0;border-top:1px solid #e5edf5}
.erp-terminal-close-dock .btn{flex:1;min-height:42px}
@media(max-width:760px){
  body.mobile-module-focus #view:not(:has(.mobile-module-bottom)){
    padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;
  }
  .erp-module-dock{
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:64;
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:7px;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
    border-top:1px solid #e2e8f0;
    background:rgba(255,255,255,.97);
    box-shadow:0 -10px 28px rgba(15,23,42,.12);
    backdrop-filter:blur(16px);
  }
  .erp-module-dock small{
    display:grid;
    place-items:center;
    flex:0 0 54px;
    min-width:0;
    border-radius:13px;
    color:#64748b;
    background:#f1f5f9;
    font-size:11px;
    font-weight:900;
  }
  .erp-module-dock button{
    flex:1 0 74px;
    min-width:0;
    min-height:48px;
    padding:0 6px;
    border:1px solid #e1e7ef;
    border-radius:14px;
    color:#334155;
    background:#fff;
    font-size:12px;
    font-weight:900;
  }
  .erp-module-dock button.primary{
    color:#fff;
    border-color:#111827;
    background:#111827;
    box-shadow:0 10px 22px rgba(17,24,39,.18);
  }
  .erp-module-dock button:active{
    transform:scale(.98);
  }
  .erp-terminal-close-dock{
    position:sticky;
    right:0;
    bottom:0;
    left:0;
    z-index:8;
    margin:16px -14px -14px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98);
    box-shadow:0 -8px 22px rgba(15,23,42,.1);
    backdrop-filter:blur(14px);
  }
  .erp-terminal-close-dock .btn{
    min-height:48px;
    margin:0!important;
  }
}

/* Final mobile module shell: cancel assistant and old focus/full UX controls */
.erp-assistant-root,
#erpAssistantRoot,
.ux-page-guide,
.ux-worktabs,
.ux-table-tools{
  display:none!important;
}
body.mobile-module-focus .mobile-bottom-nav{
  display:none!important;
}
@media(max-width:760px){
  body.mobile-module-focus header{
    display:none!important;
  }
  body.mobile-module-focus .mobile-menu,
  body.mobile-module-focus .quick-nav-trigger,
  body.mobile-module-focus .headright{
    display:none!important;
  }
  body.mobile-module-focus main{
    margin-left:0!important;
    min-height:100dvh!important;
    padding-bottom:calc(78px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-module-focus #view{
    padding:0 0 calc(86px + env(safe-area-inset-bottom))!important;
    max-width:none!important;
  }
  .mobile-module-page{
    min-height:100dvh;
    background:#f6f7f9;
  }
  .mobile-module-head{
    position:sticky;
    top:0;
    z-index:12;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px solid #e5e7eb;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
  }
  .mobile-module-head button{
    min-height:36px;
    padding:0 11px;
    border:1px solid #dde3eb;
    border-radius:12px;
    color:#1f2937;
    background:#fff;
    font-size:13px;
    font-weight:800;
  }
  .mobile-module-head b,
  .mobile-module-head small{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-module-head b{
    color:#111827;
    font-size:18px;
    letter-spacing:-.3px;
  }
  .mobile-module-head small{
    margin-top:2px;
    color:#6b7280;
    font-size:11px;
  }
  .mobile-sales-tabs{
    position:sticky;
    top:57px;
    z-index:10;
    display:flex;
    gap:8px;
    padding:10px 12px;
    overflow-x:auto;
    border-bottom:1px solid #eef1f5;
    background:#fff;
  }
  .mobile-sales-tabs button{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:0 12px;
    border:1px solid #e0e6ee;
    border-radius:999px;
    color:#475569;
    background:#fff;
    font-weight:850;
  }
  .mobile-sales-tabs button span{
    color:#64748b;
    font-size:12px;
  }
  .mobile-sales-tabs button.active{
    color:#fff;
    border-color:#111827;
    background:#111827;
  }
  .mobile-sales-tabs button.active span{
    color:#cbd5e1;
  }
  .mobile-sales-list{
    display:grid;
    gap:12px;
    padding:12px;
  }
  .mobile-sales-card{
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    overflow:hidden;
  }
  .mobile-sales-card.urgent{
    border-color:#fecdd3;
    background:#fffafa;
  }
  .mobile-sales-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:14px 14px 10px;
  }
  .mobile-sales-id{
    min-width:0;
  }
  .mobile-sales-id b,
  .mobile-sales-id small{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-sales-id b{
    color:#111827;
    font-size:15px;
    letter-spacing:-.2px;
  }
  .mobile-sales-id small{
    margin-top:4px;
    color:#64748b;
    font-size:13px;
  }
  .mobile-sales-pill{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:999px;
    color:#475569;
    background:#f1f5f9;
    font-size:12px;
    font-weight:900;
  }
  .mobile-sales-pill.ok{color:#047857;background:#ecfdf5}
  .mobile-sales-pill.warn{color:#a16207;background:#fef9c3}
  .mobile-sales-pill.blue{color:#1d4ed8;background:#eff6ff}
  .mobile-sales-pill.danger{color:#be123c;background:#fff1f2}
  .mobile-sales-pill.done{color:#475569;background:#f8fafc}
  .mobile-sales-main{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:12px;
    padding:0 14px 12px;
  }
  .mobile-sales-thumb .order-product-thumb,
  .mobile-sales-thumb .product-hover-image,
  .mobile-sales-thumb img{
    width:72px!important;
    height:72px!important;
    border-radius:16px!important;
  }
  .mobile-sales-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .mobile-sales-info>div{
    padding:9px 10px;
    border-radius:14px;
    background:#f8fafc;
  }
  .mobile-sales-info span,
  .mobile-sales-info small{
    display:block;
    color:#64748b;
    font-size:11px;
  }
  .mobile-sales-info b{
    display:block;
    margin:3px 0;
    color:#0f172a;
    font-size:14px;
  }
  .mobile-sales-custom{
    padding:0 14px 10px;
  }
  .mobile-sales-note{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 14px 12px;
    padding:9px 10px;
    border-radius:14px;
    color:#64748b;
    background:#f8fafc;
    font-size:12px;
  }
  .mobile-sales-note.has{
    color:#9f1239;
    background:#fff1f2;
  }
  .mobile-sales-note i{
    display:grid;
    width:20px;
    height:20px;
    place-items:center;
    border-radius:50%;
    background:#fff;
    font-style:normal;
    font-weight:900;
  }
  .mobile-sales-note span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-sales-actions{
    display:grid;
    grid-template-columns:1fr 84px 74px;
    gap:8px;
    padding:12px 14px 14px;
    border-top:1px solid #eef2f7;
  }
  .mobile-sales-actions .btn,
  .mobile-sales-actions summary{
    min-height:42px!important;
    border-radius:14px!important;
    font-weight:900!important;
  }
  .mobile-sales-actions details{
    position:relative;
  }
  .mobile-sales-actions details>div{
    position:absolute;
    right:0;
    bottom:48px;
    z-index:20;
    display:grid;
    gap:7px;
    min-width:180px;
    padding:9px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 18px 48px rgba(15,23,42,.18);
  }
  .mobile-sales-actions .order-action-layout,
  .mobile-sales-actions .order-primary-actions{
    display:grid!important;
    gap:7px!important;
  }
  .mobile-module-bottom{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:50;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    border-top:1px solid #e5e7eb;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
  }
  .mobile-module-bottom button{
    display:grid;
    place-items:center;
    gap:3px;
    min-height:48px;
    border:0;
    border-radius:16px;
    color:#475569;
    background:#f8fafc;
    font-weight:900;
  }
  .mobile-module-bottom button.primary{
    color:#fff;
    background:#111827;
  }
  .mobile-module-bottom i{
    font-style:normal;
    font-size:17px;
    line-height:1;
  }
  .mobile-module-bottom span{
    font-size:10px;
  }
  .mobile-empty-orders{
    margin:28px 12px;
    padding:28px 18px;
    border:1px dashed #cbd5e1;
    border-radius:20px;
    color:#64748b;
    text-align:center;
    background:#fff;
  }
  .purchase-ocr-box{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    margin-bottom:14px;
    padding:12px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:#eff6ff;
  }
  .purchase-ocr-box b,
  .purchase-ocr-box span{
    display:block;
  }
  .purchase-ocr-box b{color:#1e3a8a;font-size:14px}
  .purchase-ocr-box span{margin-top:3px;color:#475569;font-size:12px;line-height:1.5}
  .purchase-ocr-result{
    grid-column:1/-1;
    max-height:180px;
    overflow:auto;
    margin:0;
    padding:10px;
    border-radius:12px;
    color:#334155;
    background:#fff;
    white-space:pre-wrap;
    font-size:12px;
  }
}

/* 2026-08-15 岗位化首页摘要：每个岗位先看到自己的重点 */
.role-dashboard-panel{
  margin:18px 0;
  border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#fff,rgba(248,250,252,.92));
  box-shadow:0 18px 42px rgba(15,23,42,.06);
}
.role-dashboard-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:14px;
}
.role-dashboard-cards .role-metric{
  min-height:124px;
  border-color:rgba(15,23,42,.08);
  background:#fff;
}
.role-dashboard-cards .role-metric:hover{
  transform:translateY(-2px);
  border-color:rgba(37,99,235,.22);
  box-shadow:0 16px 36px rgba(37,99,235,.10);
}
.role-dashboard-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.role-dashboard-summary>div{
  padding:14px 16px;
  border:1px solid rgba(15,23,42,.07);
  border-radius:18px;
  background:#f8fafc;
}
.role-dashboard-summary b{
  display:block;
  color:#0f172a;
  font-size:14px;
  margin-bottom:6px;
}
.role-dashboard-summary span{
  color:#64748b;
  font-size:13px;
  line-height:1.6;
}
@media(max-width:980px){
  .role-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-dashboard-summary{grid-template-columns:1fr}
}
@media(max-width:620px){
  .role-dashboard-panel{
    margin:12px 0;
    padding:14px!important;
    border-radius:20px!important;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
  }
  .role-dashboard-cards{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .role-dashboard-cards .role-metric{
    min-height:112px!important;
    padding:14px!important;
  }
  .role-dashboard-cards .role-metric .num{
    font-size:24px!important;
    letter-spacing:-.4px!important;
  }
  .role-dashboard-cards .role-metric .ico{
    display:none!important;
  }
  .role-dashboard-summary>div{
    padding:12px 13px;
    border-radius:16px;
  }
}

.customer-return-entry,.return-flow-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:14px 0;
  padding:14px 16px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:linear-gradient(135deg,#f8fbff,#eef6ff);
}
.customer-return-entry b,.customer-return-entry span,.customer-return-entry small,.return-flow-card b,.return-flow-card span{
  display:block;
}
.customer-return-entry b,.return-flow-card b{
  color:#1f3a5f;
  font-size:14px;
}
.customer-return-entry span,.return-flow-card span{
  margin-top:4px;
  color:#61758d;
  font-size:12px;
  line-height:1.65;
}
.customer-return-entry small{
  margin-top:5px;
  color:#1d4ed8;
  font-size:11px;
}
.customer-return-form #customerReturnTable input{
  min-width:105px;
}
@media(max-width:700px){
  .customer-return-entry,.return-flow-card{
    align-items:stretch;
    flex-direction:column;
  }
  .customer-return-entry .btn{
    width:100%;
  }
}

#loginOverlay.hide,
#loginOverlay[hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:380px){.cards{grid-template-columns:1fr}.page-actions{grid-template-columns:1fr}.detail-grid,.machine-summary{grid-template-columns:1fr}.data-panel td,.archive-list-panel td,.hr-department-table td{grid-template-columns:82px minmax(0,1fr)}}
/* 销售/生产订单图片与操作分组 */
.order-product-thumb{display:inline-grid;width:48px;height:48px;place-items:center;overflow:hidden;border:1px solid #d6e4f2;border-radius:9px;background:#f5f9fd;vertical-align:middle}.order-product-thumb img{width:100%;height:100%;object-fit:cover}.order-product-thumb i,.order-product-empty{color:#8a9bae;font-size:10px;font-style:normal}.order-product-empty{display:inline-flex;align-items:center;min-height:32px;padding:4px 7px;border-radius:7px;background:#f3f6fa}.order-action-layout{display:flex;align-items:center;gap:6px;min-width:180px;flex-wrap:wrap}.order-primary-actions{display:flex;gap:5px;flex-wrap:wrap}.order-more-actions{position:relative}.order-more-actions summary{padding:7px 9px;border:1px solid #d5e0ec;border-radius:8px;color:#506780;background:#f8fbfe;font-size:11px;font-weight:700;cursor:pointer;list-style:none;white-space:nowrap}.order-more-actions summary::-webkit-details-marker{display:none}.order-more-actions>div{position:absolute;z-index:40;right:0;top:34px;display:grid;min-width:170px;gap:5px;padding:8px;border:1px solid #d8e3ee;border-radius:10px;background:#fff;box-shadow:0 15px 35px rgba(24,49,82,.18)}.order-more-actions .btn{width:100%;text-align:left}.core-confirm{padding:28px 22px;text-align:center}.core-confirm-icon{display:grid;width:54px;height:54px;margin:0 auto 12px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#ed9d36,#e55748);font-size:28px;font-weight:900}.core-confirm>b{display:block;color:#263c57;font-size:17px;line-height:1.6}.core-confirm>p{margin:9px auto 20px;max-width:420px;color:#77879a;font-size:12px;line-height:1.7}.core-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.core-confirm-actions .btn{min-height:44px}
@media(max-width:700px){.order-action-layout{display:grid;width:100%;min-width:0;grid-template-columns:1fr 1fr}.order-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.order-primary-actions .btn{width:100%;margin:0}.order-more-actions{align-self:stretch}.order-more-actions summary{display:grid;height:100%;place-items:center;text-align:center}.order-more-actions>div{position:fixed;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));left:10px;top:auto;min-width:0}.order-product-thumb{width:56px;height:56px}.core-confirm{padding:25px 16px}.core-confirm-actions{position:static;display:grid;margin:0;box-shadow:none;border:0;padding:0}}

/* 电视监控大屏最终自适应布局：避免固定高度造成裁切、挤压和扭曲 */
.workshop-tv{
  width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  box-sizing:border-box;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.workshop-tv .tv-header,.workshop-tv .tv-connection,.workshop-tv .tv-summary,
.workshop-tv .tv-machines,.workshop-tv .tv-footer{flex:0 0 auto;min-width:0}
.workshop-tv .tv-header{flex-wrap:wrap}
.workshop-tv .tv-header-actions{min-width:0;flex-wrap:wrap}
.workshop-tv .tv-header-actions time{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workshop-tv .tv-connection{flex-wrap:wrap;line-height:1.4}
.workshop-tv .tv-connection span,.workshop-tv .tv-shift-badge{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workshop-tv .tv-summary{grid-template-columns:repeat(6,minmax(0,1fr));}
.workshop-tv .tv-summary>div{min-width:0;overflow:hidden}
.workshop-tv .tv-summary small,.workshop-tv .tv-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workshop-tv .tv-machines{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow:hidden;
  align-content:stretch;
}
.workshop-tv .tv-machine{min-width:0;min-height:0;height:auto;overflow:hidden}
.workshop-tv .tv-machine-top,.workshop-tv .tv-machine-main,.workshop-tv .tv-machine-data,
.workshop-tv .tv-shift-compare,.workshop-tv .tv-machine-alert,.workshop-tv .tv-machine-off{min-width:0;overflow:hidden}
.workshop-tv .tv-machine-top em,.workshop-tv .tv-machine-product-inline,
.workshop-tv .tv-machine-data b,.workshop-tv .tv-shift-compare b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workshop-tv .tv-machine-alert{display:block;min-height:30px;max-height:44px;line-height:1.35;text-overflow:ellipsis;overflow:hidden}
.workshop-tv .tv-footer{min-height:28px;overflow:hidden}

#workshopOriginalContent:fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;overflow:hidden;background:#030b17}
#workshopOriginalContent:fullscreen .workshop-tv{width:100%;height:100%;min-height:0;padding:clamp(8px,1vw,20px);border:0;border-radius:0}
#workshopOriginalContent:fullscreen .tv-machines{height:auto;min-height:0;flex:1 1 auto}

@media(max-width:1500px) and (min-width:1051px){
  .workshop-tv .tv-machines{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
}
@media(max-width:1050px) and (min-width:701px){
  .workshop-tv .tv-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .workshop-tv .tv-machines{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));overflow:auto}
  #workshopOriginalContent:fullscreen .workshop-tv{overflow:auto}
  #workshopOriginalContent:fullscreen .tv-machines{flex:none;height:auto}
}
@media(max-width:700px){
  .workshop-tv{min-width:0!important;overflow:visible}
  .workshop-tv .tv-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workshop-tv .tv-machines{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;overflow:visible;flex:none}
  .workshop-tv .tv-machine{min-height:190px}
  #workshopOriginalContent:fullscreen{overflow:auto}
  #workshopOriginalContent:fullscreen .workshop-tv{height:auto;min-height:100%;overflow:visible}
  #workshopOriginalContent:fullscreen .tv-machines{flex:none;height:auto}
}
@media(max-width:430px){
  .workshop-tv .tv-machines{grid-template-columns:1fr}
}

/* tv layout timestamp marker */

.order-custom-badge{display:inline-flex;align-items:center;max-width:150px;padding:5px 9px;border-radius:99px;color:#71839a;background:#eef3f8;font-size:11px;font-weight:700;white-space:nowrap}.order-custom-badge.has-custom{color:#fff;background:linear-gradient(100deg,#e24a65,#f08b38);box-shadow:0 4px 12px rgba(226,74,101,.22)}.custom-core{padding:15px;border:2px solid #f0b243;border-radius:14px;background:linear-gradient(135deg,#fff9e8,#fff);box-shadow:0 8px 22px rgba(223,157,40,.12)}.custom-core h3,.custom-attachments h3{margin:0 0 10px;color:#2a4665;font-size:15px}.custom-core p{margin:7px 0;color:#566b82;line-height:1.6}.custom-attachments{margin-top:14px;padding:14px;border:1px solid #dce7f2;border-radius:13px;background:#f8fbff}.business-file-preview{display:grid;gap:9px;place-items:center;min-height:180px;padding:25px;color:#49617d;background:#f5f8fc;border-radius:10px}.business-file-preview b{font-size:16px}

/* 销售订单 / 生产订单列表优化 */
.order-category-tabs{display:flex;align-items:stretch;gap:8px;margin:0 0 16px;padding:11px;border:1px solid #e0e8f2;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 22px rgba(35,65,105,.055);overflow-x:auto;scroll-snap-type:x proximity}.order-category-tabs button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:136px;padding:10px 12px;border:1px solid #d9e4f0;border-radius:11px;color:#415a77;background:#fff;text-align:left;cursor:pointer;scroll-snap-align:start;transition:.16s}.order-category-tabs button:hover,.order-category-tabs button.active{border-color:#6078f4;color:#2f54d6;background:linear-gradient(135deg,#eff4ff,#f4fdff);box-shadow:0 8px 18px rgba(67,102,214,.13)}.order-category-tabs button.active{transform:translateY(-1px)}.order-category-tabs b,.order-category-tabs small{display:block}.order-category-tabs b{font-size:12px}.order-category-tabs small{margin-top:3px;color:#7f90a5;font-size:9px;white-space:nowrap}.order-category-tabs em{display:grid;min-width:30px;height:30px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#5b72f5,#00bddd);font-size:13px;font-style:normal;font-weight:800}.order-optimized-panel .toolbar{position:sticky;top:0;z-index:3}.order-optimized-panel table{width:100%;min-width:980px}.order-sales-panel table{min-width:1080px}.order-production-panel table{min-width:980px}.order-optimized-panel th:nth-child(2),.order-optimized-panel td:nth-child(2){position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 #e8eef6}.order-optimized-panel thead th:nth-child(2){z-index:4;background:#f6f9fd}.order-row-main{min-width:150px}.order-row-main>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.order-row-main b{color:#223953;font-size:12px}.order-row-main small{display:block;margin-top:4px;color:#6f8197;font-size:10px}.order-row-more{margin-top:5px}.order-row-more summary{display:inline-flex;padding:3px 8px;border:1px solid #d9e3ee;border-radius:99px;color:#627891;background:#f8fbfe;font-size:10px;font-weight:700;cursor:pointer;list-style:none}.order-row-more summary::-webkit-details-marker{display:none}.order-row-more p{margin:5px 0 0;color:#63768c;font-size:10px;line-height:1.45}.order-date-stack,.order-status-cell{display:grid;gap:6px;min-width:110px}.order-date-stack small,.order-status-cell small{display:block;color:#8192a6;font-size:9px;line-height:1.5}.order-date-stack b{color:#304761;font-size:12px}.order-date-stack em{display:block;margin-top:2px;color:#7a8da3;font-size:9px;font-style:normal}.orange-text{color:#c57611}.order-progress{display:block;width:100%;max-width:118px;margin-top:3px}.order-optimized-panel .order-action-layout{min-width:210px}.order-optimized-panel .order-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.order-optimized-panel .order-primary-actions .btn{width:100%;margin:0;text-align:center}.order-optimized-panel .order-more-actions{grid-column:1/-1}.order-optimized-panel .order-more-actions summary{width:100%;text-align:center}.order-optimized-panel td[data-label="产品图片"]{width:72px}.order-optimized-panel td[data-label="产品数量"],.order-optimized-panel td[data-label="计划/完成"],.order-optimized-panel td[data-label="金额"]{white-space:nowrap}.order-optimized-panel td[data-label="金额"] b{color:#2368d8}
@media(min-width:901px){.order-optimized-panel>.table-scroll{overflow-x:auto}.order-optimized-panel th,.order-optimized-panel td{padding:10px 9px;vertical-align:middle}.order-optimized-panel .btn.small{min-height:28px;padding:5px 8px;font-size:10px}.order-optimized-panel .tag{padding:4px 8px}.order-optimized-panel .order-product-thumb{width:44px;height:44px}.order-production-panel table{min-width:0}.order-production-panel th,.order-production-panel td{white-space:normal}.order-sales-panel th,.order-sales-panel td{white-space:normal}}
@media(max-width:700px){.order-category-tabs{margin-right:-2px;padding:8px}.order-category-tabs button{min-width:118px;padding:9px 10px}.order-category-tabs em{min-width:27px;height:27px}.order-optimized-panel table{min-width:760px}.order-optimized-panel th:nth-child(2),.order-optimized-panel td:nth-child(2){position:static;box-shadow:none}.order-optimized-panel .order-action-layout{min-width:170px}.order-optimized-panel .order-primary-actions{grid-template-columns:1fr}.order-optimized-panel .order-more-actions{grid-column:auto}.order-optimized-panel .order-product-thumb{width:52px;height:52px}}
.business-file-download{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:4px 8px;border:1px solid #b8d4f2;border-radius:7px;color:#176bc1;background:#eef6ff;font-size:10px;font-weight:800;cursor:pointer}
.hr-monthly-adjust-notice{display:grid;gap:4px;margin:14px 0;padding:12px 14px;border:1px solid #b7d8ff;border-radius:11px;color:#315c8e;background:#edf6ff}.hr-monthly-adjust-notice b{font-size:14px}.hr-monthly-adjust-notice span{font-size:12px}
.detail-attachment-image{display:inline-flex;align-items:center;gap:9px;min-width:180px;text-align:left}.detail-attachment-thumb{width:72px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #cbdced;background:#102235}.detail-attachment-image small{margin-top:3px}.detail-attachment-image:hover{border-color:#68a9ed;box-shadow:0 6px 16px rgba(24,92,160,.14)}
.order-custom-thumbs{display:flex;align-items:center;gap:4px;min-width:116px}.order-custom-thumb{position:relative;display:block;width:46px;height:46px;padding:0;border:2px solid #ffb24a;border-radius:9px;background:#fff4dd;cursor:pointer}.order-custom-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}.order-custom-thumb:hover{z-index:60}.order-custom-thumb:hover img{position:fixed;z-index:10001;top:50%;left:50%;width:min(560px,70vw);height:min(430px,70vh);max-width:70vw;transform:translate(-50%,-50%);object-fit:contain;border:5px solid #fff;border-radius:14px;background:#0a1727;box-shadow:0 25px 80px rgba(5,20,38,.55);pointer-events:none}.order-custom-thumb:hover:after{content:"";position:fixed;z-index:10000;inset:0;background:rgba(2,10,22,.42);pointer-events:none}.order-custom-count{display:grid;min-width:30px;height:30px;place-items:center;border-radius:99px;color:#fff;background:#e85a43;font-size:10px;font-weight:900}@media(max-width:700px){.order-custom-thumb:hover img{position:static;width:100%;height:100%;max-width:none;transform:none;object-fit:cover;border:0;box-shadow:none}.order-custom-thumb:hover:after{display:none}.order-custom-thumbs{min-width:0}.order-custom-thumb{width:58px;height:58px}}
.order-quantity-cell{min-width:88px;white-space:nowrap}.order-quantity-cell b,.order-quantity-cell small{display:block}.order-quantity-cell b{color:#176fd6;font-size:15px;font-weight:900}.order-quantity-cell small{margin-top:3px;color:#7d8fa3;font-size:10px}@media(max-width:700px){.order-quantity-cell{display:grid!important;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:center}.order-quantity-cell:before{content:'产品数量';color:#7a8ca1;font-size:11px;font-weight:700}.order-quantity-cell b,.order-quantity-cell small{display:inline}.order-quantity-cell small{margin:0 0 0 7px}}

/* 销售/生产订单：批量操作、分批出库进度与备注按钮 */
.order-bulk-bar{display:flex;align-items:center;gap:9px;margin:-4px 0 12px;padding:10px 12px;border:1px solid #dce7f2;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 7px 18px rgba(32,63,101,.055);flex-wrap:wrap}.order-bulk-bar label{display:inline-flex;align-items:center;gap:6px;color:#425a75;font-size:12px;font-weight:800}.order-bulk-bar input{width:16px;height:16px;accent-color:#4d6bed}.order-bulk-bar span{color:#60758f;font-size:12px}.order-bulk-bar span b{color:#285fe0;font-size:16px}.order-bulk-bar small{color:#8796aa;font-size:10px}.order-check{display:grid;width:28px;height:28px;place-items:center}.order-check input{width:17px;height:17px;accent-color:#4f6df1}.order-remark-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:74px;min-height:31px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;cursor:pointer;transition:.16s}.order-remark-btn i{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;font-style:normal;font-size:10px}.order-remark-btn.has{border:1px solid #ffc5cc;color:#be2e45;background:#fff2f4;box-shadow:0 5px 13px rgba(203,55,78,.12)}.order-remark-btn.has i{color:#fff;background:#e84c61}.order-remark-btn.empty{border:1px solid #dce5ee;color:#7d8da1;background:#f6f8fb}.order-remark-btn.empty i{color:#8393a7;background:#e4ebf3}.order-remark-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(29,55,88,.12)}.order-ship-cell{display:grid;gap:3px;min-width:118px}.order-ship-cell b{color:#1e6ed6;font-size:13px}.order-ship-cell small{color:#778aa1;font-size:10px;line-height:1.35}.order-ship-cell em{display:inline-flex;width:max-content;margin-top:2px;padding:3px 7px;border-radius:99px;color:#0b8f5c;background:#eafaf2;font-size:10px;font-style:normal;font-weight:850}.order-ship-cell em.muted{color:#8998aa;background:#f0f3f7}.order-visual-cell{display:flex;align-items:center;gap:10px;min-width:160px}.order-visual-cell>span{flex:0 0 auto}.order-visual-cell>div{display:grid;min-width:0;gap:4px}.order-visual-cell b{overflow:hidden;color:#24415f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.order-visual-cell small{color:#7c8fa5;font-size:10px}.sales-flow-cell{display:grid;gap:6px;min-width:130px}.sales-flow-dates{display:flex;gap:5px;flex-wrap:wrap}.sales-flow-dates small{padding:3px 6px;border-radius:999px;color:#63788f;background:#f1f5f9}.sales-detail-fulfillment{margin:13px 0;padding:13px;border:1px solid #dbe7f3;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6faff)}.sales-detail-ship-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.sales-detail-ship-head b,.sales-detail-ship-head span,.sales-detail-ship-head small{display:block}.sales-detail-ship-head b{color:#253f5d;font-size:15px}.sales-detail-ship-head span{margin-top:4px;color:#596e86;font-size:12px}.sales-detail-ship-head small{margin-top:4px;color:#bd6a11;font-size:11px}.sales-detail-ship-actions{display:flex;gap:7px;flex-wrap:wrap}.sales-detail-order-remark,.outbound-remark-sync{display:flex;align-items:flex-start;gap:9px;margin-top:10px;padding:10px 12px;border:1px solid #ffd1d6;border-radius:12px;color:#8b2d3d;background:#fff5f6;flex-wrap:wrap}.sales-detail-order-remark b,.outbound-remark-sync b{color:#b92741;white-space:nowrap}.sales-detail-order-remark span,.outbound-remark-sync span{flex:1;min-width:180px;line-height:1.55}.order-sales-panel table{min-width:0}.order-production-panel table{min-width:0}.order-sales-panel .order-action-layout,.order-production-panel .order-action-layout{min-width:180px}.order-sales-panel th,.order-sales-panel td,.order-production-panel th,.order-production-panel td{white-space:normal}
@media(min-width:901px){.order-sales-panel>.table-scroll,.order-production-panel>.table-scroll{overflow-x:hidden}.order-sales-panel table,.order-production-panel table{table-layout:auto}.order-sales-panel th:nth-child(1),.order-sales-panel td:nth-child(1){width:42px}.order-sales-panel th:nth-child(3),.order-sales-panel td:nth-child(3),.order-production-panel th:nth-child(2),.order-production-panel td:nth-child(2){width:190px}.order-sales-panel th,.order-sales-panel td,.order-production-panel th,.order-production-panel td{padding:10px 8px;font-size:11px}.order-sales-panel .order-row-main{min-width:128px}.order-production-panel .order-row-main{min-width:145px}}
@media(max-width:700px){.order-bulk-bar{display:grid;grid-template-columns:1fr 1fr;margin:0 0 10px}.order-bulk-bar small{grid-column:1/-1}.order-visual-cell{min-width:0}.sales-detail-ship-head{display:grid}.sales-detail-ship-actions{display:grid;grid-template-columns:1fr 1fr}.sales-detail-ship-actions .btn{width:100%}.sales-detail-fulfillment .table-scroll{overflow:auto!important}.sales-detail-fulfillment table{min-width:760px!important}.order-remark-btn{min-height:38px}.order-sales-panel table,.order-production-panel table{min-width:0!important}.order-sales-panel .order-action-layout,.order-production-panel .order-action-layout{min-width:0}.order-sales-panel td,.order-production-panel td{grid-template-columns:minmax(88px,34%) minmax(0,1fr)}.order-sales-panel td:last-child,.order-production-panel td:last-child{display:grid!important;grid-template-columns:minmax(88px,34%) minmax(0,1fr)}.order-sales-panel td:last-child:before,.order-production-panel td:last-child:before{width:auto}.order-sales-panel .order-primary-actions,.order-production-panel .order-primary-actions{grid-template-columns:1fr 1fr}.order-sales-panel .order-more-actions,.order-production-panel .order-more-actions{grid-column:1/-1}}

/* 订单操作最终优化：主按钮更清楚，生产中先发按已生产合格数限制 */
.order-optimized-panel td[data-label="下一步"]{width:176px}.order-optimized-panel td[data-label="发货能力"]{width:166px}.order-main-action{font-weight:900;letter-spacing:.2px}.order-primary-actions:empty{display:none}.order-optimized-panel .order-action-layout{display:grid;min-width:0;gap:6px}.order-optimized-panel .order-primary-actions{display:grid;grid-template-columns:1fr;gap:6px}.order-optimized-panel .order-primary-actions .btn{min-height:32px}.order-more-actions summary{background:#f7f9fc}.order-more-actions[open] summary{border-color:#8fbaf0;color:#176ac7;background:#eef6ff}.order-ship-cell{min-width:0;padding:8px 9px;border:1px solid #dfe8f2;border-radius:11px;background:#fbfdff}.order-ship-cell.can-ship{border-color:#bce8d3;background:#f1fbf6}.order-ship-cell.can-ship b{color:#0b7d57}.order-ship-cell.cannot-ship{background:#f8fafc}.order-ship-cell.cannot-ship b{color:#687b91}.order-ship-cell em{white-space:nowrap}.partial-outbound-form .partial-outbound-scroll{max-height:min(56vh,520px)}.partial-outbound-form table{min-width:860px}.partial-outbound-form th,.partial-outbound-form td{white-space:normal}.partial-outbound-form input.input-error{border-color:#df4058!important;background:#fff2f4!important;box-shadow:0 0 0 3px rgba(223,64,88,.12)}.sales-detail-ship-table table{min-width:900px}.sales-detail-ship-table th,.sales-detail-ship-table td{white-space:normal}.sales-detail-fulfillment .green-text{font-weight:900}.order-sales-panel .order-remark-btn,.order-production-panel .order-remark-btn{width:max-content;max-width:110px}.order-sales-panel .order-visual-cell,.order-production-panel .order-visual-cell{max-width:210px}.order-sales-panel .sales-flow-cell,.order-production-panel .sales-flow-cell{max-width:180px}
@media(min-width:901px){.order-sales-panel>.table-scroll,.order-production-panel>.table-scroll{overflow-x:hidden!important}.order-sales-panel table,.order-production-panel table{table-layout:fixed}.order-sales-panel th:nth-child(1),.order-sales-panel td:nth-child(1){width:42px}.order-sales-panel th:nth-child(2),.order-sales-panel td:nth-child(2){width:18%}.order-sales-panel th:nth-child(3),.order-sales-panel td:nth-child(3),.order-production-panel th:nth-child(2),.order-production-panel td:nth-child(2){width:168px}.order-sales-panel th:nth-child(4),.order-sales-panel td:nth-child(4){width:166px}.order-sales-panel th,.order-sales-panel td,.order-production-panel th,.order-production-panel td{overflow-wrap:anywhere}.order-sales-panel .order-product-thumb,.order-production-panel .order-product-thumb{width:42px;height:42px}.order-sales-panel .order-category-tabs,.order-production-panel .order-category-tabs{scrollbar-width:thin}}
@media(max-width:700px){.order-optimized-panel td[data-label="下一步"],.order-optimized-panel td[data-label="发货能力"]{width:auto}.order-sales-panel td[data-label="下一步"],.order-production-panel td[data-label="下一步"]{grid-template-columns:1fr}.order-sales-panel td[data-label="下一步"]:before,.order-production-panel td[data-label="下一步"]:before{margin-bottom:4px}.order-sales-panel .order-action-layout,.order-production-panel .order-action-layout{display:grid;width:100%}.order-sales-panel .order-primary-actions,.order-production-panel .order-primary-actions{grid-template-columns:1fr 1fr}.order-sales-panel .order-more-actions,.order-production-panel .order-more-actions{grid-column:1/-1}.order-ship-cell{width:100%}.partial-outbound-form .table-scroll,.sales-detail-ship-table{overflow:auto!important}.partial-outbound-form table,.sales-detail-ship-table table{min-width:760px!important}.order-sales-panel .order-visual-cell,.order-production-panel .order-visual-cell,.order-sales-panel .sales-flow-cell,.order-production-panel .sales-flow-cell{max-width:none}}

/* ERP 操作助手：本地流程教程与报错建议 */
.erp-assistant-root{display:none}.erp-assistant-root.ready{display:block}.erp-assistant-fab{position:fixed;right:18px;bottom:48px;z-index:70;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid rgba(53,128,218,.28);border-radius:999px;color:#fff;background:linear-gradient(135deg,#236ef3,#14b7d8);box-shadow:0 14px 38px rgba(28,91,177,.32);font-weight:900;cursor:pointer}.erp-assistant-fab i{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);font-style:normal}.erp-assistant-panel{position:fixed;right:18px;bottom:100px;z-index:10020;display:grid;width:min(430px,calc(100vw - 24px));height:min(680px,calc(100vh - 125px));grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid #d8e5f3;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(12,39,77,.32);overflow:hidden}.erp-assistant-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:#fff;background:linear-gradient(135deg,#102f5d,#147eac)}.erp-assistant-panel header b,.erp-assistant-panel header small{display:block}.erp-assistant-panel header b{font-size:16px}.erp-assistant-panel header small{margin-top:3px;color:#cbe7f6;font-size:11px}.erp-assistant-panel header button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:10px;color:#fff;background:rgba(255,255,255,.12);font-size:22px;cursor:pointer}.erp-assistant-quick{display:flex;gap:7px;padding:10px 12px;border-bottom:1px solid #e7eef6;background:#f7fbff;overflow-x:auto}.erp-assistant-quick button{flex:0 0 auto;min-height:30px;padding:6px 10px;border:1px solid #d7e5f4;border-radius:999px;color:#315a86;background:#fff;font-size:11px;font-weight:800;cursor:pointer}.erp-assistant-messages{display:grid;align-content:start;gap:10px;padding:13px;overflow:auto;background:linear-gradient(180deg,#f9fbfe,#fff)}.erp-assistant-msg{max-width:94%;line-height:1.62}.erp-assistant-msg.user{justify-self:end}.erp-assistant-msg.user p{margin:0;padding:9px 12px;border-radius:14px 14px 4px 14px;color:#fff;background:#2f6fed;font-size:13px}.erp-assistant-msg.bot{justify-self:start;width:100%}.erp-assistant-reply{padding:12px;border:1px solid #dde8f4;border-radius:14px 14px 14px 4px;color:#30465f;background:#fff;box-shadow:0 8px 20px rgba(31,65,103,.055)}.erp-assistant-reply p{margin:0 0 9px;color:#4b627b;font-size:12px}.erp-assistant-answer-block{margin-top:10px;padding:11px;border:1px solid #e1eaf4;border-radius:12px;background:#fbfdff}.erp-assistant-answer-block h4{margin:0 0 8px;color:#1f3f63;font-size:13px}.erp-assistant-answer-block ol{margin:0;padding-left:20px}.erp-assistant-answer-block li{margin:5px 0;color:#394f67;font-size:12px}.erp-assistant-tips{display:grid;gap:5px;margin-top:9px}.erp-assistant-tips span{display:block;padding:7px 9px;border-radius:9px;color:#7a4c0d;background:#fff8e8;font-size:11px}.erp-assistant-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.erp-assistant-actions button{min-height:32px;padding:6px 11px;border:0;border-radius:9px;color:#fff;background:#176ed3;font-weight:800;cursor:pointer}.erp-assistant-no-perm{padding:6px 9px;border-radius:9px;color:#a33c4a;background:#fff0f2;font-size:11px;font-weight:800}.erp-assistant-footer-note{margin-top:10px;padding-top:9px;border-top:1px dashed #d9e5f2;color:#7b8da1;font-size:11px}.erp-assistant-input{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:8px;padding:11px;border-top:1px solid #e5edf5;background:#fff}.erp-assistant-input textarea{width:100%;min-height:46px;max-height:110px;padding:10px 11px;border:1px solid #d5e1ee;border-radius:12px;color:#233a54;background:#f9fbfe;resize:none;outline:none}.erp-assistant-input textarea:focus{border-color:#68a9ef;box-shadow:0 0 0 3px rgba(53,124,238,.1);background:#fff}.erp-assistant-input button{border:0;border-radius:12px;color:#fff;background:#1d75dc;font-weight:900;cursor:pointer}.erp-assistant-error-help{width:max-content!important;height:auto!important;min-height:28px!important;margin-top:8px!important;padding:5px 10px!important;border:1px solid #f0b9c3!important;border-radius:999px!important;color:#9d2944!important;background:#fff!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important}.erp-assistant-error-help:hover{background:#fff6f8!important}
@media(max-width:620px){.erp-assistant-fab{right:12px;bottom:calc(72px + env(safe-area-inset-bottom));min-height:42px;padding:9px 12px}.erp-assistant-fab span{display:none}.erp-assistant-panel{right:8px;bottom:calc(120px + env(safe-area-inset-bottom));width:calc(100vw - 16px);height:min(74vh,620px);border-radius:18px}.erp-assistant-quick{padding:9px}.erp-assistant-input{grid-template-columns:1fr}.erp-assistant-input button{min-height:42px}.erp-assistant-messages{padding:10px}.erp-assistant-answer-block li{font-size:11px}}

/* 2026-07-27 全局操作体验重设计：PC 参考成熟 ERP 高密度后台，手机参考 App 卡片式流程。 */
.ux-redesign{--ux-primary:#1769e8;--ux-primary-2:#0aa6d6;--ux-soft:#f6f8fb;--ux-border:#dfe8f2;--ux-text:#1d2f47;--ux-muted:#687b92;--ux-shadow:0 10px 28px rgba(25,55,90,.08);color:var(--ux-text)}
.ux-redesign #view{padding-top:18px}.ux-worktabs{position:sticky;top:76px;z-index:7;display:flex;gap:8px;margin:0 0 14px;padding:8px;border:1px solid #dde8f4;border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 8px 22px rgba(29,61,98,.06);backdrop-filter:blur(14px);overflow-x:auto}
.ux-worktabs button{display:flex;align-items:center;gap:7px;min-width:max-content;height:36px;padding:0 13px;border:1px solid transparent;border-radius:11px;color:#4c6178;background:transparent;font-size:12px;font-weight:800;cursor:pointer}.ux-worktabs button i{font-style:normal}.ux-worktabs button:hover,.ux-worktabs button.active{border-color:#bfd5f4;color:#0f63d5;background:#eef6ff}
.ux-page-title{align-items:center;margin-bottom:12px;padding:14px 16px;border:1px solid #dfe8f2;border-radius:17px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:var(--ux-shadow)}.ux-page-title h2{font-size:22px}.ux-page-title p{max-width:900px;line-height:1.55}.ux-page-title .page-actions{flex-wrap:wrap;justify-content:flex-end}.ux-page-title .page-actions .btn{min-height:34px;border-radius:10px;font-weight:800}
.ux-page-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-3px 0 14px;padding:12px 14px;border:1px solid #dbe8f6;border-radius:14px;background:linear-gradient(120deg,#f7fbff,#fff);box-shadow:0 5px 16px rgba(29,61,98,.045)}.ux-guide-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ux-guide-main>span{color:#55708d;font-size:12px;font-weight:900}.ux-guide-main em{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;color:#31506e;background:#fff;border:1px solid #dce8f3;font-style:normal;font-size:12px;font-weight:800}.ux-guide-main em b{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--ux-primary),var(--ux-primary-2));font-size:11px}.ux-guide-side{display:flex;align-items:center;gap:7px}.ux-guide-side small{max-width:360px;color:#6f8094;font-size:11px;line-height:1.5}.ux-guide-side button,.ux-table-tools button{min-height:29px;padding:5px 9px;border:1px solid #d7e3f0;border-radius:9px;color:#42617f;background:#fff;font-size:11px;font-weight:900;cursor:pointer}.ux-guide-side button:hover,.ux-table-tools button:hover{color:#125fc8;border-color:#9fc5f2;background:#f0f7ff}.ux-focus-mode .ux-focus-btn,.ux-full-mode .ux-full-btn{color:#fff!important;border-color:transparent!important;background:#1769e8!important}
.ux-data-panel{border-radius:16px;box-shadow:var(--ux-shadow)}.ux-data-panel .toolbar{position:sticky;top:138px;z-index:5;min-height:52px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.ux-table-tools{display:flex;align-items:center;gap:6px;margin-left:auto}.ux-data-panel .table-scroll{border-radius:0 0 16px 16px}.ux-data-panel th{position:sticky;top:190px;z-index:2;color:#5f7188;background:#f6f9fd;font-weight:900}.ux-data-panel td{font-size:12px;line-height:1.5}.ux-data-panel tbody tr{transition:.15s}.ux-data-panel tbody tr:hover td{background:#f4f9ff!important}.ux-data-panel td b{color:#203a56}.ux-action-cell .btn,.order-primary-actions .btn,.outbound-actions .btn,.quality-actions .btn{min-height:30px;border-radius:9px;font-weight:850}.btn[data-ux-kind="primary"],.order-main-action,.btn.primary{box-shadow:0 5px 13px rgba(23,105,232,.16)}.btn[data-ux-kind="danger"],.btn.danger{box-shadow:none}
.ux-focus-mode .ux-data-panel:not(.order-sales-panel):not(.order-production-panel) td:nth-child(n+8):not(:last-child),.ux-focus-mode .ux-data-panel:not(.order-sales-panel):not(.order-production-panel) th:nth-child(n+8):not(:last-child){display:none}.ux-focus-mode .order-sales-panel th:nth-child(n+7):not(:last-child),.ux-focus-mode .order-sales-panel td:nth-child(n+7):not(:last-child),.ux-focus-mode .order-production-panel th:nth-child(n+7):not(:last-child),.ux-focus-mode .order-production-panel td:nth-child(n+7):not(:last-child){display:none}.ux-full-mode .ux-data-panel th,.ux-full-mode .ux-data-panel td{display:table-cell}
.order-action-layout{gap:6px}.order-primary-actions{gap:6px}.order-more-actions summary{display:flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:5px 9px;border-radius:9px;font-weight:850}.order-more-actions summary i{font-style:normal;color:#8394a7}.order-more-actions[open] summary{color:#0f63d5;background:#eef6ff;border-color:#bfd5f4}.order-more-actions>div .btn{justify-content:flex-start;width:100%;text-align:left}
.ux-empty-state{display:grid;place-items:center;gap:8px;padding:22px;color:#7b8da1;text-align:center}.ux-empty-state i{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7390ff,#0bb6d9);font-style:normal;font-weight:900}.ux-empty-state b{color:#334f6d;font-size:15px}.ux-empty-state span{max-width:380px;font-size:12px;line-height:1.6}
.ux-dialog{border-radius:18px}.ux-dialog .dialog-title{position:sticky;top:0;z-index:4;background:#fff}.ux-form-actions{position:sticky;bottom:0;z-index:3;margin:18px -18px -18px;padding:12px 18px;border-top:1px solid #e5edf5;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.ux-form-actions .btn{min-height:38px;border-radius:10px;font-weight:900}.ux-required-field>label:after{content:" 必填";margin-left:5px;color:#df3f58;font-size:10px;font-weight:900}
@media(min-width:901px){.ux-redesign .table-scroll{overflow-x:hidden!important}.ux-redesign table{width:100%;table-layout:auto}.ux-redesign th,.ux-redesign td{white-space:normal;overflow-wrap:anywhere}.ux-redesign .btn.small{padding-inline:8px}.ux-redesign .search{width:min(360px,42vw)}.ux-redesign .page-actions .btn.primary{order:-1}.ux-redesign .dialog{max-width:min(1120px,92vw)}.ux-focus-mode .ux-data-panel table{table-layout:fixed}.ux-focus-mode .ux-data-panel th,.ux-focus-mode .ux-data-panel td{padding:10px 8px}.ux-focus-mode .ux-action-cell{width:170px}.ux-focus-mode .order-sales-panel .ux-action-cell,.ux-focus-mode .order-production-panel .ux-action-cell{width:176px}.ux-focus-mode .order-sales-panel th:nth-child(1),.ux-focus-mode .order-sales-panel td:nth-child(1){width:42px}.ux-focus-mode .order-sales-panel th:nth-child(2),.ux-focus-mode .order-sales-panel td:nth-child(2){width:20%}.ux-focus-mode .order-sales-panel th:nth-child(3),.ux-focus-mode .order-sales-panel td:nth-child(3){width:178px}.ux-focus-mode .order-sales-panel th:nth-child(4),.ux-focus-mode .order-sales-panel td:nth-child(4){width:178px}.ux-focus-mode .order-production-panel th:nth-child(2),.ux-focus-mode .order-production-panel td:nth-child(2){width:176px}}
@media(max-width:900px){.ux-redesign{background:#f5f7fb}.ux-redesign main{padding-bottom:76px}.ux-redesign #view{padding:10px 10px 86px}.ux-worktabs{top:58px;margin:0 -2px 10px;padding:7px;border-radius:13px;box-shadow:0 6px 18px rgba(25,55,90,.08)}.ux-worktabs button{height:39px;padding:0 12px;border-radius:12px;font-size:11px}.ux-page-title{display:block;margin:0 0 9px;padding:13px;border-radius:15px}.ux-page-title h2{font-size:20px}.ux-page-title p{margin:6px 0 0;font-size:12px}.ux-page-title .page-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:11px}.ux-page-title .page-actions .btn{width:100%;min-height:42px;margin:0!important}.ux-page-guide{display:grid;gap:10px;margin-bottom:10px;padding:11px;border-radius:14px}.ux-guide-main{gap:6px;overflow-x:auto;flex-wrap:nowrap}.ux-guide-main>span{flex:0 0 auto}.ux-guide-main em{flex:0 0 auto;padding:7px 8px;font-size:11px}.ux-guide-side{display:grid;grid-template-columns:1fr auto auto auto}.ux-guide-side small{min-width:0;max-width:none}.ux-guide-side button{min-height:34px}.ux-table-tools{display:none}.ux-data-panel{border-radius:14px}.ux-data-panel .toolbar{position:static}.ux-data-panel th{position:static}.ux-focus-mode .ux-data-panel:not(.order-sales-panel):not(.order-production-panel) th:nth-child(n+8):not(:last-child),.ux-focus-mode .ux-data-panel:not(.order-sales-panel):not(.order-production-panel) td:nth-child(n+8):not(:last-child),.ux-focus-mode .order-sales-panel th:nth-child(n+7):not(:last-child),.ux-focus-mode .order-sales-panel td:nth-child(n+7):not(:last-child),.ux-focus-mode .order-production-panel th:nth-child(n+7):not(:last-child),.ux-focus-mode .order-production-panel td:nth-child(n+7):not(:last-child){display:grid!important}.ux-full-mode .ux-data-panel th{display:none}.ux-full-mode .ux-data-panel td{display:grid}.ux-data-panel tbody{padding:8px!important;gap:10px!important}.ux-data-panel tr{padding:10px 12px!important;border-radius:15px!important;box-shadow:0 6px 18px rgba(30,58,92,.07)!important}.ux-data-panel td{min-height:34px!important;padding:8px 0!important;grid-template-columns:86px minmax(0,1fr)!important;font-size:13px}.ux-data-panel td:before{font-size:11px;color:#75879b}.ux-action-cell{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important}.ux-action-cell .order-action-layout,.ux-action-cell .outbound-actions,.ux-action-cell .quality-actions{width:100%}.order-primary-actions{grid-template-columns:1fr 1fr}.order-main-action,.order-primary-actions .btn,.outbound-actions .btn,.quality-actions .btn{min-height:40px}.order-more-actions{grid-column:1/-1}.order-more-actions summary{min-height:40px}.order-more-actions>div{border-radius:15px}.mobile-bottom-nav{height:calc(66px + env(safe-area-inset-bottom));padding-top:6px}.mobile-bottom-nav button{border-radius:14px;font-size:11px}.mobile-bottom-nav i{font-size:20px}.erp-assistant-fab{bottom:calc(78px + env(safe-area-inset-bottom))}.erp-assistant-panel{bottom:calc(124px + env(safe-area-inset-bottom))}.dialog{border-radius:18px}.ux-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px -12px -12px;padding:10px 12px}.ux-form-actions .btn{width:100%;min-height:44px}.form-grid{grid-template-columns:1fr!important}.field input,.field select,.field textarea{min-height:42px;font-size:15px}}
@media(max-width:900px){.ux-focus-mode .order-sales-panel .ux-select-cell,.ux-focus-mode .order-production-panel .ux-select-cell,.ux-focus-mode .order-sales-panel .ux-status-cell,.ux-focus-mode .order-sales-panel .ux-optional-empty,.ux-focus-mode .order-production-panel .ux-optional-empty{display:none!important}.ux-focus-mode .order-sales-panel tr,.ux-focus-mode .order-production-panel tr{gap:0}.ux-focus-mode .order-sales-panel td,.ux-focus-mode .order-production-panel td{padding:6px 0!important;min-height:30px!important}.ux-focus-mode .order-sales-panel td[data-label="订单/客户"],.ux-focus-mode .order-production-panel td[data-label="生产任务"]{display:block!important;padding-bottom:8px!important;border-bottom:1px solid #eef3f8!important}.ux-focus-mode .order-sales-panel td[data-label="订单/客户"]:before,.ux-focus-mode .order-production-panel td[data-label="生产任务"]:before{display:none}.ux-focus-mode .order-row-main>div b{font-size:15px}.ux-focus-mode .order-row-main>small{font-size:12px}.ux-focus-mode .order-row-more{margin-top:4px}.ux-focus-mode .order-sales-panel .ux-action-cell,.ux-focus-mode .order-production-panel .ux-action-cell{display:block!important}.ux-focus-mode .order-sales-panel .ux-action-cell:before,.ux-focus-mode .order-production-panel .ux-action-cell:before{display:block;margin:0 0 6px;color:#1769e8;font-size:11px;font-weight:900}.ux-focus-mode .order-sales-panel .order-action-layout,.ux-focus-mode .order-production-panel .order-action-layout{display:grid;gap:7px}.ux-focus-mode .order-primary-actions{grid-template-columns:1fr 1fr}.ux-focus-mode .order-ship-cell{padding:8px 10px;border:1px solid #e2ebf4;border-radius:11px;background:#fbfdff}.ux-focus-mode .order-ship-cell small:nth-of-type(n+3){display:none}.ux-focus-mode .order-ship-cell em{display:block;margin-top:4px;font-size:11px}.ux-focus-mode .order-visual-cell{align-items:center}.ux-focus-mode .order-product-thumb{width:50px;height:50px}.ux-focus-mode .order-remark-btn.empty{display:none!important}.ux-full-mode .order-sales-panel .ux-select-cell,.ux-full-mode .order-production-panel .ux-select-cell,.ux-full-mode .order-sales-panel .ux-status-cell,.ux-full-mode .order-sales-panel .ux-optional-empty,.ux-full-mode .order-production-panel .ux-optional-empty{display:grid!important}}
@media(max-width:420px){.ux-page-title .page-actions{grid-template-columns:1fr}.ux-guide-side{grid-template-columns:1fr 1fr}.ux-guide-side small{grid-column:1/-1}.ux-data-panel td{grid-template-columns:78px minmax(0,1fr)!important}.order-primary-actions{grid-template-columns:1fr}.mobile-bottom-nav span{font-size:9px}}

/* 2026-07-28：所有页面表格搜索栏取消悬浮，跟随页面正常滚动。 */
.ux-redesign .ux-data-panel .toolbar,
.ux-redesign .data-panel .toolbar,
.ux-redesign .archive-list-panel .toolbar,
.ux-redesign .hr-department-table .toolbar{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.network-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid #b9d7ff;border-radius:14px;background:#eef6ff;color:#234461;box-shadow:0 8px 20px rgba(23,105,232,.08)}
.network-notice b{display:block;margin-bottom:5px;color:#123b70;font-size:13px}
.network-notice p{margin:0 0 8px;color:#526a84;font-size:12px;line-height:1.55}
.network-notice code{display:block;margin:4px 0;padding:7px 9px;border-radius:9px;background:#fff;color:#075fc4;font-family:Consolas,monospace;font-weight:900;word-break:break-all}
.network-notice .btn{white-space:nowrap}
@media(max-width:700px){.network-notice{display:grid}.network-notice .btn{width:100%;min-height:40px}}

/* 2026-08-15 Impeccable pass: white, quiet, task-first ERP shell.
   This layer intentionally overrides visual density and responsive behavior only.
   Business fields, API calls and stored data are untouched. */
:root{
  --im-bg:#f7f8fb;
  --im-surface:#ffffff;
  --im-surface-soft:#fbfcfe;
  --im-text:#111827;
  --im-muted:#667085;
  --im-faint:#98a2b3;
  --im-line:#e5e7eb;
  --im-line-strong:#d0d5dd;
  --im-blue:#2563eb;
  --im-blue-soft:#eff6ff;
  --im-green:#079455;
  --im-green-soft:#ecfdf3;
  --im-red:#d92d20;
  --im-red-soft:#fff1f3;
  --im-shadow:0 14px 38px rgba(16,24,40,.08);
  --im-shadow-soft:0 8px 24px rgba(16,24,40,.055);
  --im-radius:18px;
}
html{color-scheme:light;background:var(--im-bg);-webkit-text-size-adjust:100%}
body{
  color:var(--im-text);
  background:
    radial-gradient(circle at 82% -8%,rgba(37,99,235,.08),transparent 30%),
    linear-gradient(180deg,#fff 0,#f7f8fb 34%,#f8fafc 100%)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;
  line-height:1.46;
}
::selection{color:#fff;background:rgba(37,99,235,.9)}
button,input,select,textarea{font-family:inherit}
a,.btn-link{color:var(--im-blue);text-underline-offset:3px}
.ux-redesign{--ux-primary:var(--im-blue);--ux-primary-2:#0ea5e9;--ux-soft:var(--im-bg);--ux-border:var(--im-line);--ux-text:var(--im-text);--ux-muted:var(--im-muted);--ux-shadow:var(--im-shadow-soft)}

/* App shell: calmer Apple/OpenAI-style surfaces */
main{background:transparent!important}
header{
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid rgba(208,213,221,.82)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9),0 12px 32px rgba(16,24,40,.045)!important;
}
.header-context span{color:var(--im-text)!important;font-weight:760!important;letter-spacing:-.01em}
.header-context small{color:var(--im-faint)!important;letter-spacing:.14em}
.quick-nav-trigger,.mobile-menu{
  border-color:var(--im-line)!important;
  color:#344054!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 2px 8px rgba(16,24,40,.045)!important;
}
.quick-nav-trigger:hover,.mobile-menu:hover{border-color:#bfdbfe!important;color:var(--im-blue)!important;background:#fff!important}

/* Work tabs should guide, not float over forms or buttons. */
.ux-worktabs{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  margin:0 0 12px!important;
  padding:6px!important;
  border-color:var(--im-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:var(--im-shadow-soft)!important;
  backdrop-filter:saturate(140%) blur(14px);
}
.ux-worktabs button{
  min-height:40px;
  border-radius:12px!important;
  color:#475467!important;
  font-size:13px!important;
}
.ux-worktabs button:hover,.ux-worktabs button.active{
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
  background:var(--im-blue-soft)!important;
}

/* Page title and guide: compact, readable, less visual noise. */
.ux-page-title{
  align-items:center!important;
  margin-bottom:12px!important;
  padding:16px 18px!important;
  border:1px solid var(--im-line)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fbfcfe)!important;
  box-shadow:var(--im-shadow-soft)!important;
}
.ux-page-title h2{
  color:var(--im-text)!important;
  font-size:clamp(20px,1.35vw,26px)!important;
  font-weight:780!important;
  letter-spacing:-.025em!important;
}
.ux-page-title h2:before{
  width:4px!important;
  height:22px!important;
  background:var(--im-blue)!important;
  box-shadow:none!important;
}
.ux-page-title p{
  max-width:980px;
  color:var(--im-muted)!important;
  font-size:13px!important;
  line-height:1.65!important;
}
.ux-page-guide{
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border:1px solid var(--im-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 6px 18px rgba(16,24,40,.04)!important;
}
.ux-guide-main>span{color:#344054!important;font-weight:800!important}
.ux-guide-main em{
  border-color:#eaecf0!important;
  color:#344054!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.ux-guide-main em b{background:var(--im-blue)!important}
.ux-guide-side small{color:var(--im-muted)!important}
.ux-guide-side button,.ux-table-tools button{
  border-color:var(--im-line)!important;
  color:#344054!important;
  background:#fff!important;
}
.ux-guide-side button:hover,.ux-table-tools button:hover{
  border-color:#bfdbfe!important;
  color:var(--im-blue)!important;
  background:var(--im-blue-soft)!important;
}

/* Cards, panels, tables */
.card,.panel,.ux-data-panel{
  border-color:var(--im-line)!important;
  border-radius:var(--im-radius)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--im-shadow-soft)!important;
}
.card:after{background:linear-gradient(90deg,var(--im-blue),transparent)!important;opacity:.65!important}
.panel-head,.toolbar{
  border-bottom-color:#edf0f3!important;
  background:linear-gradient(180deg,#fff,#fbfcfe)!important;
}
.panel-head b{color:#1f2937!important;font-size:14px!important;font-weight:780!important}
.panel-head b:before{background:var(--im-blue)!important}
.table-scroll{scrollbar-gutter:stable}
.ux-data-panel .toolbar,.data-panel .toolbar,.archive-list-panel .toolbar,.hr-department-table .toolbar{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  min-height:54px!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.ux-data-panel th{
  position:static!important;
  color:#667085!important;
  background:#f9fafb!important;
  font-size:12px!important;
  font-weight:760!important;
}
.ux-data-panel td{
  color:#344054!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.ux-data-panel td b{color:#111827!important}
tbody tr:hover td{background:#f8fbff!important}
.empty{color:#98a2b3!important}

/* Buttons: bigger targets, clearer hierarchy, safer danger actions. */
.btn{
  min-height:40px!important;
  border-color:var(--im-line-strong)!important;
  border-radius:12px!important;
  color:#344054!important;
  background:linear-gradient(180deg,#fff,#f9fafb)!important;
  font-weight:720!important;
  box-shadow:0 2px 6px rgba(16,24,40,.045)!important;
}
.btn:hover{
  transform:translateY(-1px);
  border-color:#93c5fd!important;
  color:var(--im-blue)!important;
  box-shadow:0 8px 18px rgba(37,99,235,.12)!important;
}
.btn.primary,.btn[data-ux-kind="primary"],.order-main-action{
  color:#fff!important;
  border-color:var(--im-blue)!important;
  background:linear-gradient(180deg,#2f6feb,#1d4ed8)!important;
  box-shadow:0 8px 18px rgba(37,99,235,.22)!important;
}
.btn.green{
  color:#fff!important;
  border-color:var(--im-green)!important;
  background:linear-gradient(180deg,#12b76a,#079455)!important;
  box-shadow:0 8px 18px rgba(7,148,85,.18)!important;
}
.btn.danger,.btn[data-ux-kind="danger"]{
  color:var(--im-red)!important;
  border-color:#fecdca!important;
  background:var(--im-red-soft)!important;
  box-shadow:none!important;
}
.btn.small{min-height:34px!important;padding:6px 10px!important;font-size:12px!important}
.form-actions .btn,.ux-form-actions .btn{min-height:42px!important}

/* Sales / production order lists: task-first density. */
.order-category-tabs{
  gap:8px!important;
  margin-bottom:12px!important;
  padding:6px!important;
  border:1px solid var(--im-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--im-shadow-soft)!important;
}
.order-category-tabs button{
  border-color:transparent!important;
  border-radius:13px!important;
  background:transparent!important;
}
.order-category-tabs button.active,.order-category-tabs button:hover{
  border-color:#bfdbfe!important;
  background:var(--im-blue-soft)!important;
}
.order-bulk-bar{
  border-color:var(--im-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--im-shadow-soft)!important;
}
.order-row-main>div b{font-weight:820!important;letter-spacing:-.01em}
.order-row-main>small{color:var(--im-muted)!important;font-size:12px!important}
.order-row-more summary{color:var(--im-blue)!important}
.order-action-layout{gap:8px!important}
.order-primary-actions{gap:8px!important}
.order-primary-actions .btn{min-height:38px!important}
.order-more-actions summary{
  min-height:38px!important;
  border-color:var(--im-line)!important;
  color:#475467!important;
  background:#fff!important;
}
.order-more-actions[open] summary{
  border-color:#bfdbfe!important;
  color:var(--im-blue)!important;
  background:var(--im-blue-soft)!important;
}
.order-more-actions>div{
  border-color:var(--im-line)!important;
  border-radius:14px!important;
  box-shadow:0 18px 48px rgba(16,24,40,.16)!important;
}
.order-ship-cell{
  border-color:var(--im-line)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.order-ship-cell b{font-size:13px!important}
.order-ship-cell em{color:var(--im-green)!important;background:var(--im-green-soft)!important}
.order-product-thumb,.order-custom-thumb{
  border-color:#d0d5dd!important;
  border-radius:12px!important;
  background:#f9fafb!important;
}
.order-remark-btn.has{
  border-color:#fecdca!important;
  color:var(--im-red)!important;
  background:#fff7f7!important;
}
.order-remark-btn.empty{
  color:#98a2b3!important;
  border-color:#eaecf0!important;
  background:#f9fafb!important;
}
.sales-detail-fulfillment{
  border-color:var(--im-line)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  box-shadow:var(--im-shadow-soft)!important;
}
.partial-outbound-tip{
  border-color:#bfdbfe!important;
  border-radius:16px!important;
  background:var(--im-blue-soft)!important;
}

/* Product/order image previews: show centered and above crowded tables. */
.product-hover-image,.product-image-hover,.order-product-thumb,.order-custom-thumb{position:relative}
.product-hover-image:hover .product-image-preview,
.product-image-hover:hover .product-image-preview,
.order-product-thumb:hover:has(img)::after,
.order-custom-thumb:hover:has(img)::after{
  pointer-events:none;
}
.product-image-preview{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  z-index:10050!important;
  max-width:min(520px,86vw)!important;
  max-height:min(520px,76vh)!important;
  transform:translate(-50%,-50%)!important;
  border-radius:22px!important;
  box-shadow:0 32px 90px rgba(16,24,40,.32)!important;
}

@media(min-width:901px){
  .ux-redesign #view{padding:clamp(18px,2vw,32px) clamp(20px,2.4vw,38px) 64px!important}
  .ux-redesign .cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
  .ux-redesign .table-scroll{overflow-x:hidden!important}
  .ux-redesign table{width:100%!important;table-layout:auto}
  .ux-redesign th,.ux-redesign td{white-space:normal!important;overflow-wrap:anywhere}
  .ux-focus-mode .ux-data-panel:not(.order-sales-panel):not(.order-production-panel) th,
  .ux-focus-mode .ux-data-panel:not(.order-sales-panel):not(.order-production-panel) td{display:table-cell!important}
  .order-sales-panel>.table-scroll,.order-production-panel>.table-scroll{overflow-x:hidden!important}
  .order-sales-panel table,.order-production-panel table{table-layout:fixed!important}
  .order-sales-panel:has(td[data-label="选择"]) th:nth-child(1),
  .order-sales-panel:has(td[data-label="选择"]) td:nth-child(1){width:44px!important}
  .order-sales-panel:has(td[data-label="选择"]) th:nth-child(2),
  .order-sales-panel:has(td[data-label="选择"]) td:nth-child(2){width:20%!important}
  .order-sales-panel:has(td[data-label="选择"]) th:nth-child(3),
  .order-sales-panel:has(td[data-label="选择"]) td:nth-child(3){width:188px!important}
  .order-sales-panel:has(td[data-label="选择"]) th:nth-child(4),
  .order-sales-panel:has(td[data-label="选择"]) td:nth-child(4){width:170px!important}
  .order-sales-panel:not(:has(td[data-label="选择"])) th:nth-child(1),
  .order-sales-panel:not(:has(td[data-label="选择"])) td:nth-child(1){width:22%!important}
  .order-sales-panel:not(:has(td[data-label="选择"])) th:nth-child(2),
  .order-sales-panel:not(:has(td[data-label="选择"])) td:nth-child(2){width:188px!important}
  .order-sales-panel:not(:has(td[data-label="选择"])) th:nth-child(3),
  .order-sales-panel:not(:has(td[data-label="选择"])) td:nth-child(3){width:170px!important}
  .order-production-panel th:nth-child(1),
  .order-production-panel td:nth-child(1){width:24%!important}
  .order-production-panel th:nth-child(2),
  .order-production-panel td:nth-child(2){width:178px!important}
  .order-sales-panel .order-action-layout,
  .order-production-panel .order-action-layout{min-width:0!important}
  .order-sales-panel .order-visual-cell,
  .order-production-panel .order-visual-cell{max-width:none!important}
  .order-more-actions>div{max-width:260px}
}

@media(max-width:900px){
  body{font-size:15px!important;background:#f8fafc!important}
  header{height:58px!important;padding:0 12px!important}
  .header-context span{font-size:16px!important}
  .headright .date,.header-context small{display:none!important}
  .quick-nav-trigger{width:42px!important;height:42px!important;padding:0!important;font-size:0!important}
  .quick-nav-trigger>span{width:24px!important;height:24px!important}
  .ux-redesign main{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .ux-redesign #view{padding:10px 10px calc(88px + env(safe-area-inset-bottom))!important}
  .ux-worktabs{
    margin:0 -1px 10px!important;
    padding:5px!important;
    overflow-x:auto!important;
    scroll-snap-type:x proximity;
  }
  .ux-worktabs button{flex:0 0 auto;min-height:42px!important;scroll-snap-align:start}
  .ux-page-title{display:block!important;padding:13px!important;border-radius:16px!important}
  .ux-page-title h2{font-size:21px!important}
  .ux-page-title p{margin:6px 0 0!important;font-size:13px!important}
  .ux-page-title .page-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin-top:12px!important}
  .ux-page-title .page-actions .btn{width:100%!important;min-height:46px!important;margin:0!important}
  .ux-page-guide{padding:9px!important;border-radius:15px!important}
  .ux-guide-main{display:flex!important;gap:6px!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .ux-guide-main>span,.ux-guide-main em{flex:0 0 auto!important}
  .ux-guide-side{display:flex!important;align-items:center!important;gap:7px!important;margin-top:8px!important}
  .ux-guide-side small{display:none!important}
  .ux-guide-side button{flex:1 1 0;min-height:40px!important}
  .ux-data-panel{border-radius:16px!important}
  .ux-data-panel tbody{display:grid!important;gap:10px!important;padding:9px!important}
  .ux-data-panel tr{
    display:grid!important;
    gap:0!important;
    padding:11px 12px!important;
    border:1px solid var(--im-line)!important;
    border-radius:17px!important;
    background:#fff!important;
    box-shadow:var(--im-shadow-soft)!important;
  }
  .ux-data-panel td{
    display:grid!important;
    min-height:38px!important;
    grid-template-columns:minmax(86px,31%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:8px 0!important;
    border-bottom:1px dashed #edf0f3!important;
    font-size:14px!important;
    background:transparent!important;
  }
  .ux-data-panel td:before{
    color:#667085!important;
    font-size:12px!important;
    font-weight:760!important;
  }
  .ux-data-panel td:last-child{border-bottom:0!important}
  .order-sales-panel td[data-label="订单/客户"],
  .order-production-panel td[data-label="生产任务"]{
    display:block!important;
    padding-bottom:10px!important;
    border-bottom:1px solid #edf0f3!important;
  }
  .order-sales-panel td[data-label="订单/客户"]:before,
  .order-production-panel td[data-label="生产任务"]:before{display:none!important}
  .order-row-main>div b{font-size:16px!important}
  .order-row-main>small{font-size:13px!important}
  .order-sales-panel td[data-label="下一步"],
  .order-production-panel td[data-label="下一步"]{
    display:block!important;
  }
  .order-sales-panel td[data-label="下一步"]:before,
  .order-production-panel td[data-label="下一步"]:before{
    display:block!important;
    margin-bottom:7px!important;
    color:var(--im-blue)!important;
  }
  .order-primary-actions{grid-template-columns:1fr 1fr!important}
  .order-primary-actions .btn,.order-more-actions summary{min-height:44px!important}
  .order-more-actions>div{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  .order-more-actions>div .btn{
    min-height:44px!important;
    padding:9px 12px!important;
    font-size:14px!important;
  }
  .sales-detail-ship-head{display:grid!important}
  .sales-detail-ship-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .sales-detail-ship-actions .btn{width:100%!important}
}

@media(max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  .cards{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .card{min-height:104px!important;padding:14px!important}
  .metric .num{font-size:clamp(22px,7vw,28px)!important}
  .toolbar{align-items:stretch!important;gap:9px!important}
  .search{width:100%!important;min-height:44px!important;font-size:16px!important}
  .table-scroll{width:100%!important;overflow:visible!important}
  .partial-outbound-form .table-scroll,
  .partial-outbound-form .partial-outbound-scroll,
  .sales-detail-ship-table,
  .sales-detail-fulfillment .table-scroll,
  .ws-table-wrap,
  .workshop-original:has(.workshop-tv){overflow:auto!important}
  .partial-outbound-form table,
  .sales-detail-ship-table table,
  .sales-detail-fulfillment table{min-width:760px!important}
  .modal{align-items:stretch!important;width:100vw!important;height:100dvh!important;padding:0!important;background:#fff!important}
  .dialog,.ux-dialog{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .dialog-title{
    min-height:58px!important;
    padding:10px 13px!important;
    padding-top:max(10px,env(safe-area-inset-top))!important;
  }
  .dialog-title button{width:42px!important;height:42px!important}
  .form{padding:13px 12px calc(92px + env(safe-area-inset-bottom))!important}
  .field input,.field select,.field textarea{
    min-height:46px!important;
    font-size:16px!important;
  }
  .form-actions,.ux-form-actions{
    position:sticky!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:grid!important;
    grid-template-columns:1fr 1.25fr!important;
    gap:8px!important;
    margin:16px -12px calc(-92px - env(safe-area-inset-bottom))!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid var(--im-line)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -10px 28px rgba(16,24,40,.12)!important;
    backdrop-filter:blur(16px)!important;
  }
  .form-actions .btn,.ux-form-actions .btn{width:100%!important;min-height:48px!important;margin:0!important}
  .mobile-bottom-nav{
    height:calc(66px + env(safe-area-inset-bottom))!important;
    padding:6px 7px env(safe-area-inset-bottom)!important;
    border-top-color:var(--im-line)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -10px 28px rgba(16,24,40,.1)!important;
  }
  .mobile-bottom-nav button{min-height:48px!important;color:#667085!important}
  .mobile-bottom-nav button:active{color:var(--im-blue)!important;background:var(--im-blue-soft)!important}
  .erp-assistant-fab{bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .erp-assistant-panel{bottom:calc(122px + env(safe-area-inset-bottom))!important}
}

/* Production task actions and the dedicated customer-return workspace. */
.production-task-actions{display:grid;gap:6px;min-width:210px}
.production-task-primary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.production-task-primary .btn{min-height:38px;margin:0;font-weight:800}
.production-task-actions>small{color:#7a8798;font-size:11px;line-height:1.45}
.production-report-action{box-shadow:0 5px 14px rgba(28,105,214,.16)}
.production-schedule-action{border-color:#c9d8e8;background:#f8fbff;color:#245a92}
.production-more-trigger{border-color:#d6dee8;background:#fff;color:#4c5c70}
.production-more-sheet>p{margin:0 0 14px;color:#526277}
.production-more-sheet-actions{display:grid;gap:9px}
.production-more-sheet-actions .btn{min-height:44px;justify-content:flex-start;text-align:left}
.production-more-sheet>small{display:block;margin-top:14px;color:#7b8798;line-height:1.6}
.return-summary{display:flex;gap:10px;margin:0 0 16px}
.return-summary span{display:grid;min-width:120px;gap:2px;padding:13px 15px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}
.return-summary b{color:#1d4f91;font-size:20px;font-variant-numeric:tabular-nums}
.return-summary small{color:#77869a;font-size:11px}
.return-order-picker-list{display:grid;gap:8px;max-height:min(52vh,520px);margin-top:12px;overflow:auto}
.return-order-picker-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.return-order-picker-item:hover{border-color:#9fc2ed;background:#f6faff}
.return-order-picker-item b,.return-order-picker-item small{display:block}
.return-order-picker-item small{margin-top:4px;color:#738196}
.return-order-picker-item em{color:#1769d4;font-size:12px;font-style:normal;font-weight:800}
@media(max-width:700px){
  .production-task-actions{min-width:0}
  .production-task-primary{grid-template-columns:1fr 1fr}
  .production-task-primary .production-more-trigger{grid-column:1/-1}
  .production-task-primary .btn{min-height:44px}
  .production-task-actions>small{font-size:12px}
  .return-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .return-summary span{min-width:0;padding:10px}
  .return-summary b{font-size:18px}
  .return-order-picker-item{align-items:flex-start;padding:12px}
}

@media(max-width:420px){
  .cards,.ux-page-title .page-actions,.sales-detail-ship-actions,.order-primary-actions{grid-template-columns:1fr!important}
  .ux-data-panel td{grid-template-columns:minmax(76px,30%) minmax(0,1fr)!important}
  .ux-guide-side{display:grid!important;grid-template-columns:1fr 1fr!important}
  .ux-guide-side button:first-of-type{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
  .card,.btn,.nav-item,.ux-worktabs button,.order-category-tabs button{transition:none!important}
  .card:hover,.btn:hover{transform:none!important}
}

/* 2026-08-15 visible test redesign: make the new UI unmistakable.
   Stronger visual shift only; no business logic or data behavior changes. */
:root{
  --sidebar:268px;
  --im-bg:#f8fafc;
  --im-ink:#0f172a;
  --im-sub:#64748b;
  --im-hair:#e2e8f0;
  --im-card:#ffffff;
  --im-accent:#2563eb;
  --im-accent-soft:#eff6ff;
}
body{
  color:var(--im-ink)!important;
  background:
    radial-gradient(circle at 86px 64px,rgba(37,99,235,.08),transparent 180px),
    radial-gradient(circle at calc(100% - 120px) 80px,rgba(14,165,233,.07),transparent 220px),
    #f8fafc!important;
}

/* Light sidebar: visually separates this test version from the old dark UI. */
aside{
  color:#334155!important;
  background:rgba(255,255,255,.96)!important;
  border-right:1px solid #e2e8f0!important;
  box-shadow:12px 0 34px rgba(15,23,42,.06)!important;
}
.brand{
  height:76px!important;
  background:#fff!important;
  border-bottom:1px solid #eef2f7!important;
}
.brand>span{
  color:#fff!important;
  background:#111827!important;
  box-shadow:none!important;
}
.brand b{color:#0f172a!important;font-weight:800!important}
.brand small{color:#64748b!important}
.brand small i{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.12)!important}
.brand em{
  color:#2563eb!important;
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
}
.nav-search{
  border-color:#e2e8f0!important;
  background:#f8fafc!important;
}
.nav-search>span{color:#2563eb!important}
.nav-search input{color:#0f172a!important}
.nav-search input::placeholder{color:#94a3b8!important}
.nav-search kbd{color:#94a3b8!important;background:#fff!important}
.nav-title{
  color:#94a3b8!important;
  font-size:10px!important;
}
.nav-title small{
  color:#64748b!important;
  background:#f1f5f9!important;
}
.nav-item{
  min-height:44px!important;
  color:#475569!important;
  border-color:transparent!important;
  background:transparent!important;
}
.nav-item i{
  color:#64748b!important;
  background:#f8fafc!important;
  border-radius:10px!important;
}
.nav-item b{color:#cbd5e1!important}
.nav-item:hover{
  color:#1d4ed8!important;
  border-color:#dbeafe!important;
  background:#eff6ff!important;
}
.nav-item:hover i{color:#1d4ed8!important;background:#dbeafe!important}
.nav-item.active{
  color:#0f172a!important;
  border-color:#bfdbfe!important;
  background:linear-gradient(90deg,#eff6ff,#fff)!important;
  box-shadow:0 8px 18px rgba(37,99,235,.08)!important;
}
.nav-item.active:before{
  width:4px!important;
  background:#2563eb!important;
  box-shadow:none!important;
}
.nav-item.active i{
  color:#fff!important;
  background:#2563eb!important;
  text-shadow:none!important;
}
.userinfo{
  background:#fff!important;
  border-top:1px solid #e2e8f0!important;
}
.avatar{
  color:#fff!important;
  background:#111827!important;
  border-color:#111827!important;
  box-shadow:none!important;
}
.user-meta span{color:#0f172a!important}
.user-meta small{color:#64748b!important}
.btn-logout{
  color:#475569!important;
  border-color:#e2e8f0!important;
  background:#f8fafc!important;
}

/* Header gets a visible test badge so you can confirm it is the new test UI. */
header{
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid #e2e8f0!important;
}
header:after{
  content:"新版UI测试";
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid #bfdbfe;
  border-radius:999px;
  color:#1d4ed8;
  background:#eff6ff;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.headright{margin-left:auto}
.header-live{
  color:#047857!important;
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
}

/* Cleaner working surface. */
#view{max-width:1680px!important}
.ux-page-title{
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 18px 45px rgba(15,23,42,.07)!important;
}
.ux-page-title h2{
  color:#0f172a!important;
  font-size:clamp(24px,1.7vw,32px)!important;
}
.ux-page-title h2:before{
  height:26px!important;
  background:#111827!important;
}
.ux-page-guide,.ux-worktabs,.order-category-tabs,.order-bulk-bar,.card,.panel,.ux-data-panel{
  border-color:#e2e8f0!important;
  background:#fff!important;
  box-shadow:0 14px 36px rgba(15,23,42,.055)!important;
}
.ux-worktabs button.active,.ux-worktabs button:hover,
.order-category-tabs button.active,.order-category-tabs button:hover{
  color:#1d4ed8!important;
  background:#eff6ff!important;
}
.card{
  border-radius:22px!important;
}
.card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 48px rgba(15,23,42,.10)!important;
}
.metric .num{color:#0f172a!important;font-weight:820!important}
.metric .ico{
  color:#0f172a!important;
  border-color:#e2e8f0!important;
  background:#f8fafc!important;
}
.panel-head,.toolbar{
  background:#fff!important;
}
.search{
  min-height:42px!important;
  border-color:#dbe3ef!important;
  border-radius:14px!important;
  background-color:#f8fafc!important;
}
.search:focus{
  border-color:#93c5fd!important;
  background-color:#fff!important;
}
th{
  color:#64748b!important;
  background:#f8fafc!important;
}
td{
  color:#334155!important;
  font-size:13px!important;
}

/* Order pages: stronger card-like rows and clearer primary action column. */
.order-optimized-panel tbody tr{
  transition:box-shadow .16s ease, transform .16s ease;
}
.order-optimized-panel tbody tr:hover td{
  background:#f8fbff!important;
}
.order-row-main>div b{
  color:#0f172a!important;
  font-size:14px!important;
}
.order-primary-actions .btn:first-child,
.order-main-action{
  min-height:40px!important;
  font-size:13px!important;
}
.order-ship-cell{
  background:#f8fafc!important;
}
.order-ship-cell.can-ship{
  background:#ecfdf3!important;
  border-color:#bbf7d0!important;
}
.order-product-thumb{
  width:48px!important;
  height:48px!important;
}

/* Login page also becomes visibly lighter. */
.login-overlay{
  color:#0f172a!important;
  background:
    radial-gradient(circle at 20% 10%,rgba(37,99,235,.12),transparent 260px),
    radial-gradient(circle at 82% 82%,rgba(14,165,233,.10),transparent 300px),
    #f8fafc!important;
}
.login-overlay:before{opacity:.35!important}
.login-overlay:after{display:none!important}
.login-shell{
  border:1px solid #e2e8f0!important;
  background:#fff!important;
  box-shadow:0 32px 90px rgba(15,23,42,.16)!important;
}
.login-showcase{
  border-right:1px solid #e2e8f0!important;
  background:linear-gradient(145deg,#f8fafc,#fff)!important;
}
.showcase-topline,.showcase-copy p,.login-heading p,.login-foot{color:#64748b!important}
.future-chip{
  color:#1d4ed8!important;
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
}
.showcase-copy h1,.login-heading h2,.login-brand b{color:#0f172a!important}
.showcase-copy h1 em{
  color:#2563eb!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
}
.login-panel{
  background:#fff!important;
}
.login-brand>span{
  background:#111827!important;
  box-shadow:none!important;
}
.system-online{color:#047857!important}
.login-field label{color:#475569!important}
.input-wrap input{
  color:#0f172a!important;
  border-color:#dbe3ef!important;
  background:#f8fafc!important;
}
.input-wrap input::placeholder{color:#94a3b8!important}
.input-wrap>span{color:#64748b!important}
.login-submit{
  background:#111827!important;
  box-shadow:0 14px 30px rgba(15,23,42,.18)!important;
}
.copyright{color:#94a3b8!important}

@media(max-width:900px){
  aside{
    width:min(88vw,330px)!important;
    box-shadow:18px 0 60px rgba(15,23,42,.18)!important;
  }
  header:after{display:none}
  .ux-page-title h2{font-size:24px!important}
  .order-optimized-panel tbody tr{
    border-radius:20px!important;
    box-shadow:0 12px 30px rgba(15,23,42,.08)!important;
  }
}

/* 2026-08-15 unmistakable preview shell.
   Purpose: make the new test UI impossible to confuse with the old system while preserving all business logic. */
:root{
  --im-preview-bg:#f6f8fb;
  --im-preview-ink:#111827;
  --im-preview-blue:#1668e8;
  --im-preview-line:#dfe7f1;
  --im-preview-soft:#f2f6ff;
}
html,body{
  background:
    radial-gradient(circle at 18% -10%,rgba(22,104,232,.13),transparent 330px),
    radial-gradient(circle at 92% 8%,rgba(14,165,233,.10),transparent 360px),
    linear-gradient(180deg,#ffffff 0,#f6f8fb 420px,#f6f8fb 100%)!important;
}
body::after{
  content:"新版 UI 预览 · 2026-08-15";
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147483000;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:999px;
  color:#fff;
  background:#111827;
  box-shadow:0 14px 36px rgba(15,23,42,.22);
  font-size:12px;
  font-weight:900;
  letter-spacing:.2px;
  pointer-events:none;
}
aside{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.98))!important;
  border-right:1px solid var(--im-preview-line)!important;
}
.brand{
  height:82px!important;
  padding-inline:20px!important;
  background:#fff!important;
}
.brand>span{
  border-radius:15px!important;
  background:linear-gradient(145deg,#111827,#334155)!important;
}
.brand b{
  font-size:16px!important;
  letter-spacing:-.2px!important;
}
.nav-item{
  border-radius:14px!important;
}
.nav-item.active{
  color:#fff!important;
  border-color:#111827!important;
  background:#111827!important;
  box-shadow:0 12px 26px rgba(15,23,42,.16)!important;
}
.nav-item.active span,.nav-item.active b{
  color:#fff!important;
}
.nav-item.active i{
  color:#111827!important;
  background:#fff!important;
}
main{
  background:transparent!important;
}
header{
  min-height:76px!important;
  background:rgba(255,255,255,.86)!important;
  border-bottom:1px solid rgba(223,231,241,.92)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.045)!important;
}
header:after{
  content:"新版 UI 预览";
  min-height:34px;
  padding:0 14px;
  color:#fff;
  border-color:#111827;
  background:#111827;
  box-shadow:0 10px 26px rgba(15,23,42,.16);
  font-size:13px;
}
#view{
  padding-top:28px!important;
}
.ux-worktabs,.ux-data-panel .toolbar,.ux-data-panel th{
  position:static!important;
}
.ux-page-title,.page-title{
  padding:22px!important;
  border:1px solid rgba(223,231,241,.9)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 22px 60px rgba(15,23,42,.07)!important;
}
.ux-page-title h2,.page-title h2{
  letter-spacing:-.6px!important;
}
.ux-page-title p,.page-title p{
  max-width:760px!important;
}
.cards{
  gap:18px!important;
}
.card,.panel,.ux-data-panel{
  border:1px solid rgba(223,231,241,.95)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.065)!important;
}
.panel-head{
  min-height:60px!important;
  padding-inline:20px!important;
  border-bottom-color:#edf2f7!important;
}
.toolbar{
  min-height:62px!important;
  padding-inline:18px!important;
}
.btn.primary,.order-main-action{
  border-color:#111827!important;
  background:#111827!important;
  box-shadow:0 12px 26px rgba(15,23,42,.16)!important;
}
.btn.primary:hover,.order-main-action:hover{
  border-color:#000!important;
  background:#000!important;
}
table{
  border-spacing:0 6px!important;
}
th{
  color:#64748b!important;
  background:transparent!important;
}
td{
  background:#fff!important;
}
tbody tr:hover td{
  background:#f8fbff!important;
}
@media(max-width:900px){
  body::after{
    right:12px;
    bottom:calc(76px + env(safe-area-inset-bottom));
    min-height:28px;
    padding:0 10px;
    font-size:10px;
    opacity:.92;
  }
  header{
    min-height:calc(64px + env(safe-area-inset-top))!important;
  }
  #view{
    padding-top:14px!important;
  }
  .ux-page-title,.page-title{
    padding:16px!important;
    border-radius:20px!important;
  }
}

/* 2026-08-15 广东力众登录页重设计：白色科技感入口，只改门面不改登录逻辑。 */
body::after,
header::after{
  display:none!important;
}
.login-overlay{
  position:fixed!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(18px,3vw,42px)!important;
  color:#111827!important;
  background:
    radial-gradient(circle at 16% 12%,rgba(22,104,232,.12),transparent 320px),
    radial-gradient(circle at 86% 78%,rgba(14,165,233,.10),transparent 360px),
    linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%)!important;
}
.login-overlay::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  opacity:1!important;
  background:
    linear-gradient(115deg,transparent 0 58%,rgba(22,104,232,.055) 58% 58.5%,transparent 58.5%),
    radial-gradient(circle at 50% 50%,rgba(17,24,39,.055),transparent 1px)!important;
  background-size:auto,26px 26px!important;
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.76) 58%,transparent 100%)!important;
}
.login-overlay::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  right:-90px!important;
  top:-120px!important;
  width:460px!important;
  height:460px!important;
  z-index:-1!important;
  border-radius:50%!important;
  border:1px solid rgba(22,104,232,.14)!important;
  background:radial-gradient(circle,rgba(22,104,232,.07),transparent 68%)!important;
}
.login-aurora{
  opacity:.42!important;
  filter:blur(80px)!important;
}
.aurora-one{
  background:#b9d7ff!important;
}
.aurora-two{
  background:#d7f3ff!important;
}
.login-shell{
  width:min(1180px,100%)!important;
  min-height:min(720px,calc(100dvh - 52px))!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.78fr)!important;
  overflow:hidden!important;
  border:1px solid rgba(223,231,241,.94)!important;
  border-radius:34px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 34px 90px rgba(15,23,42,.14)!important;
  backdrop-filter:blur(18px)!important;
}
.login-showcase{
  position:relative!important;
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:42px clamp(28px,4vw,56px)!important;
  border-right:1px solid #e5edf6!important;
  background:
    radial-gradient(circle at 70% 45%,rgba(22,104,232,.08),transparent 300px),
    linear-gradient(145deg,#ffffff,#f8fbff)!important;
}
.login-showcase::before{
  content:""!important;
  position:absolute!important;
  right:-140px!important;
  top:76px!important;
  width:440px!important;
  height:440px!important;
  border:1px solid rgba(22,104,232,.12)!important;
  border-radius:50%!important;
  box-shadow:none!important;
}
.showcase-topline{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:1.7px!important;
}
.showcase-topline b{
  margin-left:auto!important;
  padding:6px 10px!important;
  border:1px solid #dbeafe!important;
  border-radius:999px!important;
  color:#1668e8!important;
  background:#eff6ff!important;
  font-size:10px!important;
}
.signal-dot{
  width:8px!important;
  height:8px!important;
  background:#22c55e!important;
  box-shadow:0 0 0 5px rgba(34,197,94,.13)!important;
}
.showcase-copy{
  position:relative!important;
  z-index:1!important;
  margin-top:clamp(28px,7vh,76px)!important;
}
.future-chip{
  display:inline-flex!important;
  padding:8px 12px!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  color:#1668e8!important;
  background:#eff6ff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.7px!important;
}
.showcase-copy h1{
  max-width:620px!important;
  margin:20px 0 18px!important;
  color:#111827!important;
  font-size:clamp(42px,5.8vw,68px)!important;
  line-height:1.08!important;
  letter-spacing:-2.8px!important;
}
.showcase-copy h1 em{
  color:#1668e8!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-style:normal!important;
}
.showcase-copy p{
  width:min(620px,94%)!important;
  margin:0!important;
  color:#526176!important;
  font-size:15px!important;
  line-height:1.9!important;
}
.login-factory-card{
  position:relative!important;
  z-index:1!important;
  height:auto!important;
  margin:34px 0 22px!important;
  padding:22px!important;
  border:1px solid #e2e8f0!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
}
.factory-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:18px!important;
}
.factory-card-head span{
  color:#111827!important;
  font-size:15px!important;
  font-weight:900!important;
}
.factory-card-head b{
  color:#94a3b8!important;
  font-size:10px!important;
  letter-spacing:1.4px!important;
}
.factory-line{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:10px!important;
}
.factory-line i{
  position:relative!important;
  display:block!important;
  height:52px!important;
  border:1px solid #dbe5f0!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fff,#f5f8fc)!important;
  box-shadow:inset 0 -8px 18px rgba(15,23,42,.035)!important;
}
.factory-line i::after{
  content:""!important;
  position:absolute!important;
  right:9px!important;
  top:9px!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#22c55e!important;
  box-shadow:0 0 0 4px rgba(34,197,94,.13)!important;
}
.factory-line i:nth-child(5n)::after{
  background:#f59e0b!important;
  box-shadow:0 0 0 4px rgba(245,158,11,.13)!important;
}
.factory-flow{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:14px!important;
}
.factory-flow div{
  padding:13px!important;
  border:1px solid #e6edf5!important;
  border-radius:18px!important;
  background:#f8fafc!important;
}
.factory-flow small,.factory-flow b{
  display:block!important;
}
.factory-flow small{
  color:#7b8aa0!important;
  font-size:11px!important;
  font-weight:800!important;
}
.factory-flow b{
  margin-top:4px!important;
  color:#172033!important;
  font-size:14px!important;
}
.factory-pulse{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:16px!important;
  color:#047857!important;
  font-size:12px!important;
  font-weight:850!important;
}
.factory-pulse span{
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#10b981!important;
  box-shadow:0 0 0 8px rgba(16,185,129,.12)!important;
}
.factory-pulse em{
  font-style:normal!important;
}
.showcase-stats{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.showcase-stats div{
  padding:16px!important;
  border:1px solid #e2e8f0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
}
.showcase-stats span{
  color:#1668e8!important;
  font-size:11px!important;
  font-weight:900!important;
}
.showcase-stats p{
  margin:7px 0 3px!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:900!important;
}
.showcase-stats small{
  color:#94a3b8!important;
  font-size:9px!important;
  letter-spacing:1px!important;
}
.login-panel{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:clamp(28px,4.4vw,58px)!important;
  background:#fff!important;
}
.login-card{
  width:100%!important;
  max-width:430px!important;
  margin:auto!important;
}
.login-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:34px!important;
}
.login-brand>span{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  color:#fff!important;
  background:#111827!important;
  box-shadow:0 14px 28px rgba(15,23,42,.18)!important;
  font-size:26px!important;
}
.login-brand b{
  color:#111827!important;
  font-size:18px!important;
  line-height:1.3!important;
  letter-spacing:-.2px!important;
}
.login-brand small{
  margin-top:5px!important;
  color:#8a97aa!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:1.5px!important;
}
.system-online{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:24px!important;
  padding:7px 10px!important;
  border:1px solid #bbf7d0!important;
  border-radius:999px!important;
  color:#047857!important;
  background:#f0fdf4!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.2px!important;
}
.system-online i{
  width:7px!important;
  height:7px!important;
  background:#22c55e!important;
  box-shadow:none!important;
}
.login-heading small{
  color:#1668e8!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.8px!important;
}
.login-heading h2{
  margin:9px 0 8px!important;
  color:#111827!important;
  font-size:34px!important;
  line-height:1.16!important;
  letter-spacing:-1.1px!important;
}
.login-heading p{
  margin:0 0 30px!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.login-field{
  margin-bottom:17px!important;
}
.login-field label{
  margin-bottom:8px!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:900!important;
}
.input-wrap{
  position:relative!important;
}
.input-wrap>span{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:50px!important;
  height:28px!important;
  border-radius:999px!important;
  color:#64748b!important;
  background:#eef2f7!important;
  font-size:12px!important;
  font-weight:900!important;
}
.input-wrap input{
  width:100%!important;
  height:54px!important;
  padding:0 16px 0 76px!important;
  border:1px solid #dbe5ef!important;
  border-radius:16px!important;
  color:#111827!important;
  background:#f8fafc!important;
  outline:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.input-wrap input::placeholder{
  color:#9aa7b8!important;
}
.input-wrap input:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 5px rgba(37,99,235,.11)!important;
}
.login-error{
  min-height:24px!important;
  margin:2px 0 10px!important;
  color:#dc2626!important;
  font-size:13px!important;
  font-weight:800!important;
}
.login-submit{
  width:100%!important;
  height:54px!important;
  border:0!important;
  border-radius:16px!important;
  color:#fff!important;
  background:#111827!important;
  box-shadow:0 18px 36px rgba(15,23,42,.20)!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:.2px!important;
}
.login-submit::before{
  display:none!important;
}
.login-submit::after{
  content:""!important;
  right:18px!important;
  width:8px!important;
  height:8px!important;
  border-top:2px solid currentColor!important;
  border-right:2px solid currentColor!important;
  transform:translateY(-50%) rotate(45deg)!important;
}
.login-submit:hover{
  transform:translateY(-1px)!important;
  background:#000!important;
  box-shadow:0 22px 42px rgba(15,23,42,.24)!important;
}
.login-foot{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:25px!important;
  padding-top:18px!important;
  border-top:1px solid #e6edf5!important;
  color:#64748b!important;
  font-size:12px!important;
}
.login-foot span{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.login-foot i{
  width:6px!important;
  height:6px!important;
  background:#22c55e!important;
}
.login-foot b{
  color:#111827!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:1.1px!important;
}
.copyright{
  margin:24px auto 0!important;
  color:#a0abb9!important;
  text-align:center!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:1px!important;
}
.brand div{
  min-width:0!important;
}
.brand b{
  white-space:normal!important;
  line-height:1.25!important;
  font-size:13px!important;
}
@media(max-width:980px){
  .login-shell{
    min-height:0!important;
    grid-template-columns:1fr!important;
  }
  .login-showcase{
    padding:30px 26px 22px!important;
    border-right:0!important;
    border-bottom:1px solid #e5edf6!important;
  }
  .showcase-copy{
    margin-top:24px!important;
  }
  .showcase-copy h1{
    font-size:clamp(34px,8vw,48px)!important;
  }
  .login-factory-card{
    margin:24px 0 18px!important;
  }
  .login-panel{
    padding:28px 24px 30px!important;
  }
}
@media(max-width:620px){
  .login-overlay{
    align-items:start!important;
    padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))!important;
    overflow:auto!important;
  }
  .login-shell{
    width:100%!important;
    border-radius:24px!important;
  }
  .login-showcase{
    padding:22px 18px 18px!important;
  }
  .showcase-topline{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    line-height:1.5!important;
  }
  .showcase-topline b{
    margin-left:0!important;
  }
  .future-chip{
    font-size:11px!important;
  }
  .showcase-copy h1{
    margin-top:15px!important;
    font-size:32px!important;
    letter-spacing:-1.5px!important;
  }
  .showcase-copy p{
    font-size:13px!important;
  }
  .factory-line{
    grid-template-columns:repeat(7,minmax(24px,1fr))!important;
    gap:7px!important;
  }
  .factory-line i{
    height:34px!important;
    border-radius:11px!important;
  }
  .factory-flow{
    grid-template-columns:1fr!important;
  }
  .showcase-stats{
    grid-template-columns:1fr!important;
  }
  .login-panel{
    padding:23px 18px 24px!important;
  }
  .login-brand{
    margin-bottom:24px!important;
  }
  .login-brand>span{
    width:46px!important;
    height:46px!important;
    border-radius:14px!important;
    font-size:22px!important;
  }
  .login-brand b{
    font-size:16px!important;
  }
  .login-heading h2{
    font-size:28px!important;
  }
  .input-wrap input{
    height:52px!important;
    font-size:16px!important;
  }
  .login-submit{
    height:52px!important;
  }
  .login-foot{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .copyright{
    display:none!important;
  }
}

.login-card .network-notice{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:18px!important;
  padding:14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  color:#334155!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
.login-card .network-notice b{
  margin-bottom:5px!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:950!important;
}
.login-card .network-notice p{
  margin:0 0 8px!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.login-card .network-notice code{
  display:inline-flex!important;
  max-width:100%!important;
  margin:3px 4px 3px 0!important;
  padding:7px 10px!important;
  border:1px solid #dbeafe!important;
  border-radius:12px!important;
  color:#1668e8!important;
  background:#fff!important;
  font-family:"Segoe UI","Microsoft YaHei",sans-serif!important;
  font-size:12px!important;
  font-weight:900!important;
  word-break:break-all!important;
}
.login-card .network-notice .btn{
  min-height:38px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
}
@media(max-width:620px){
  .login-card .network-notice{
    grid-template-columns:1fr!important;
  }
  .login-card .network-notice .btn{
    width:100%!important;
  }
}

/* 2026-08-15 登录页轻奢精简版：减少内容密度，强调公司品牌与登录动作。 */
.login-overlay{
  padding:clamp(22px,4vw,56px)!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(191,170,122,.15),transparent 280px),
    radial-gradient(circle at 82% 74%,rgba(22,104,232,.07),transparent 320px),
    linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%)!important;
}
.login-overlay::before{
  opacity:.5!important;
  background:linear-gradient(125deg,transparent 0 62%,rgba(191,170,122,.09) 62% 62.25%,transparent 62.25%)!important;
  mask-image:none!important;
}
.login-overlay::after,
.login-aurora,
.login-showcase::before{
  display:none!important;
}
.login-shell{
  width:min(1060px,100%)!important;
  min-height:min(640px,calc(100dvh - 56px))!important;
  grid-template-columns:minmax(0,1fr) minmax(380px,.74fr)!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-radius:36px!important;
  background:#fff!important;
  box-shadow:0 38px 110px rgba(15,23,42,.12)!important;
}
.login-showcase{
  justify-content:center!important;
  padding:clamp(42px,6vw,74px)!important;
  border-right:1px solid #edf1f5!important;
  background:
    linear-gradient(145deg,#ffffff 0%,#fbfcfd 100%)!important;
}
.showcase-topline{
  margin-bottom:54px!important;
  color:#8b95a5!important;
  font-size:10px!important;
  letter-spacing:2.4px!important;
}
.showcase-topline b{
  padding:5px 9px!important;
  border-color:#eadfca!important;
  color:#7c6840!important;
  background:#fbf7ef!important;
}
.signal-dot{
  width:6px!important;
  height:6px!important;
  background:#b59b6b!important;
  box-shadow:0 0 0 5px rgba(181,155,107,.12)!important;
}
.showcase-copy{
  margin:0!important;
}
.future-chip{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  color:#7c6840!important;
  background:transparent!important;
  font-size:13px!important;
  letter-spacing:1.8px!important;
}
.showcase-copy h1{
  max-width:560px!important;
  margin:22px 0 22px!important;
  color:#101828!important;
  font-size:clamp(46px,6vw,78px)!important;
  line-height:1.02!important;
  letter-spacing:-3.2px!important;
  font-weight:950!important;
}
.showcase-copy h1 em{
  color:#101828!important;
}
.showcase-copy p{
  width:min(460px,100%)!important;
  color:#667085!important;
  font-size:16px!important;
  line-height:1.9!important;
}
.luxury-signature{
  width:min(460px,100%)!important;
  margin-top:58px!important;
}
.luxury-signature span{
  display:block!important;
  width:100%!important;
  height:1px!important;
  background:linear-gradient(90deg,#b59b6b,rgba(181,155,107,.12),transparent)!important;
}
.luxury-signature small{
  display:block!important;
  margin-top:15px!important;
  color:#98a2b3!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:1.7px!important;
}
.login-panel{
  padding:clamp(38px,5vw,66px)!important;
}
.login-card{
  max-width:410px!important;
}
.login-brand{
  margin-bottom:42px!important;
}
.login-brand>span{
  width:50px!important;
  height:50px!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,#101828,#303746)!important;
  box-shadow:0 18px 34px rgba(16,24,40,.18)!important;
}
.login-brand b{
  font-size:18px!important;
  font-weight:950!important;
}
.login-brand small{
  color:#98a2b3!important;
}
.system-online{
  margin-bottom:22px!important;
  padding:0!important;
  border:0!important;
  color:#667085!important;
  background:transparent!important;
  font-size:12px!important;
}
.system-online i{
  background:#16a34a!important;
}
.login-heading small{
  color:#7c6840!important;
  letter-spacing:1.5px!important;
}
.login-heading h2{
  margin-top:10px!important;
  color:#101828!important;
  font-size:32px!important;
}
.login-heading p{
  max-width:350px!important;
  margin-bottom:32px!important;
  color:#667085!important;
}
.login-field{
  margin-bottom:16px!important;
}
.login-field label{
  color:#344054!important;
  font-size:12px!important;
}
.input-wrap>span{
  width:auto!important;
  height:auto!important;
  left:17px!important;
  color:#98a2b3!important;
  background:transparent!important;
  font-size:12px!important;
}
.input-wrap input{
  height:54px!important;
  padding-left:60px!important;
  border-color:#e4e7ec!important;
  border-radius:15px!important;
  background:#fbfcfd!important;
}
.input-wrap input:focus{
  border-color:#c9b27a!important;
  box-shadow:0 0 0 5px rgba(181,155,107,.13)!important;
}
.login-submit{
  height:54px!important;
  border-radius:15px!important;
  background:#101828!important;
  box-shadow:0 18px 38px rgba(16,24,40,.18)!important;
}
.login-submit:hover{
  background:#030712!important;
}
.login-foot{
  color:#7a8494!important;
}
.login-foot b{
  color:#7c6840!important;
}
.copyright{
  color:#b0b8c4!important;
  letter-spacing:1.4px!important;
}
.login-card .network-notice{
  grid-template-columns:1fr auto!important;
  margin-top:18px!important;
  padding:11px 12px!important;
  border-color:#edf1f5!important;
  border-radius:15px!important;
  background:#fbfcfd!important;
}
.login-card .network-notice p,
.login-card .network-notice code{
  display:none!important;
}
.login-card .network-notice b{
  margin:0!important;
  color:#667085!important;
  font-size:12px!important;
  font-weight:850!important;
}
.login-card .network-notice .btn{
  min-height:34px!important;
  padding:6px 12px!important;
  border-color:#e4e7ec!important;
  color:#344054!important;
  background:#fff!important;
  box-shadow:none!important;
}
@media(max-width:980px){
  .login-shell{
    grid-template-columns:1fr!important;
  }
  .login-showcase{
    padding:34px 28px!important;
    border-right:0!important;
    border-bottom:1px solid #edf1f5!important;
  }
  .showcase-topline{
    margin-bottom:32px!important;
  }
  .showcase-copy h1{
    font-size:clamp(38px,8vw,56px)!important;
  }
  .luxury-signature{
    margin-top:30px!important;
  }
}
@media(max-width:620px){
  .login-overlay{
    padding:10px!important;
  }
  .login-shell{
    border-radius:26px!important;
  }
  .login-showcase{
    padding:28px 20px 22px!important;
  }
  .showcase-topline{
    margin-bottom:24px!important;
  }
  .showcase-copy h1{
    font-size:38px!important;
    letter-spacing:-1.8px!important;
  }
  .showcase-copy p{
    font-size:14px!important;
  }
  .luxury-signature{
    margin-top:24px!important;
  }
  .login-panel{
    padding:24px 20px 26px!important;
  }
  .login-brand{
    margin-bottom:28px!important;
  }
  .login-heading h2{
    font-size:28px!important;
  }
  .login-card .network-notice{
    grid-template-columns:1fr!important;
  }
}

/* 2026-08-15 手机端登录页：独立移动体验，避免把 PC 版硬缩小。 */
@media(max-width:620px){
  html,body{
    background:#f6f7f9!important;
  }
  .login-overlay{
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    min-height:100dvh!important;
    padding:0!important;
    overflow:auto!important;
    color:#172033!important;
    background:
      radial-gradient(circle at 50% -80px,rgba(37,99,235,.13),transparent 260px),
      linear-gradient(180deg,#ffffff 0%,#f7f8fb 54%,#f2f4f7 100%)!important;
  }
  .login-overlay:before,
  .login-overlay:after,
  .login-aurora,
  .login-showcase,
  .login-foot,
  .copyright{
    display:none!important;
  }
  .login-shell{
    width:100%!important;
    min-height:100dvh!important;
    display:block!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    overflow:visible!important;
  }
  .login-panel{
    min-height:100dvh!important;
    display:flex!important;
    justify-content:flex-start!important;
    padding:calc(30px + env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom))!important;
    background:transparent!important;
  }
  .login-card{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .login-brand{
    align-items:center!important;
    gap:12px!important;
    margin:0 0 42px!important;
  }
  .login-brand>span{
    width:48px!important;
    height:48px!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,#0f172a,#2563eb)!important;
    box-shadow:0 16px 34px rgba(37,99,235,.22)!important;
    font-size:24px!important;
  }
  .login-brand b{
    color:#111827!important;
    font-size:17px!important;
    line-height:1.35!important;
    letter-spacing:0!important;
  }
  .login-brand small{
    margin-top:3px!important;
    color:#6b7280!important;
    font-size:10px!important;
    letter-spacing:1.1px!important;
  }
  .system-online{
    margin:0 0 16px!important;
    padding:8px 11px!important;
    border:1px solid #dbeafe!important;
    border-radius:999px!important;
    color:#2563eb!important;
    background:#eff6ff!important;
    font-size:11px!important;
    letter-spacing:.4px!important;
  }
  .system-online i{
    width:7px!important;
    height:7px!important;
    background:#16a34a!important;
    box-shadow:0 0 0 4px rgba(22,163,74,.13)!important;
  }
  .login-heading{
    margin-bottom:24px!important;
  }
  .login-heading small{
    display:none!important;
  }
  .login-heading h2{
    margin:0 0 9px!important;
    color:#111827!important;
    font-size:30px!important;
    line-height:1.15!important;
    letter-spacing:-.8px!important;
  }
  .login-heading p{
    max-width:290px!important;
    margin:0!important;
    color:#6b7280!important;
    font-size:14px!important;
    line-height:1.7!important;
  }
  .login-field{
    margin-bottom:15px!important;
  }
  .login-field label{
    margin:0 0 8px!important;
    color:#374151!important;
    font-size:14px!important;
    font-weight:700!important;
  }
  .input-wrap>span{
    display:none!important;
  }
  .input-wrap input{
    height:56px!important;
    padding:0 16px!important;
    border:1px solid #d7dee8!important;
    border-radius:16px!important;
    color:#111827!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
    font-size:16px!important;
  }
  .input-wrap input::placeholder{
    color:#9ca3af!important;
  }
  .input-wrap input:focus{
    border-color:#2563eb!important;
    box-shadow:0 0 0 4px rgba(37,99,235,.11),0 12px 26px rgba(37,99,235,.08)!important;
    background:#fff!important;
  }
  .login-error{
    min-height:24px!important;
    margin:3px 2px 10px!important;
    color:#dc2626!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  .login-submit{
    height:56px!important;
    border-radius:16px!important;
    background:#111827!important;
    box-shadow:0 18px 36px rgba(17,24,39,.22)!important;
    color:#fff!important;
    font-size:16px!important;
    font-weight:800!important;
    letter-spacing:.2px!important;
  }
  .login-submit:after,
  .login-submit:before{
    display:none!important;
  }
  .login-submit:active{
    transform:scale(.985)!important;
  }
  .login-submit:disabled{
    background:#cbd5e1!important;
    box-shadow:none!important;
    color:#64748b!important;
    cursor:wait!important;
    opacity:1!important;
  }
  .login-card .network-notice{
    margin-top:18px!important;
    border-color:#e5e7eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
  }
}

@media(max-width:620px){
  #loginBtn.login-submit:not(:disabled){
    background:#111827!important;
    color:#fff!important;
    box-shadow:0 18px 36px rgba(17,24,39,.22)!important;
    opacity:1!important;
    cursor:pointer!important;
  }
}
/* Final visual polish: quiet luxury, fewer heavy accents, smoother mobile operation. */
.showcase-copy h1 em{color:#d7ecff!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-shadow:0 12px 34px rgba(71,166,255,.22)}
.row-overdue td:first-child{border-left:1px solid rgba(229,72,93,.35)!important}
.sales-image-upload-progress>i>em{transition:transform .2s ease-out!important;transform-origin:left center}
.erp-module-dock button,.mobile-module-bottom button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.erp-terminal-close-dock{position:sticky;bottom:0}
.po-price-reason{width:100%;min-width:150px;padding:7px 9px;border:1px solid #ccd9e7;border-radius:8px;background:#fff;color:#354960;font-size:12px}
.po-price-reason:focus{border-color:#78b8ff;outline:0;box-shadow:0 0 0 3px rgba(27,111,255,.08)}
.purchase-detail-note{margin:0 0 12px;padding:10px 12px;border:1px solid #dbe7f2;border-radius:10px;color:#60758c;background:#f7fbff;font-size:12px;line-height:1.65}
.purchase-price-reason{display:grid;gap:4px;min-width:165px;max-width:290px;white-space:normal}
.purchase-price-reason span{color:#60758c;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.purchase-price-reason b{color:#2f4b68;font-weight:700}
@media(max-width:700px){.po-price-reason{min-width:175px}.purchase-detail-note{margin:0 10px 10px}.purchase-price-reason{min-width:150px;max-width:230px}}

/* 协同浮窗与生产任务工作台 */
#collabFloat{position:fixed;right:22px;bottom:22px;z-index:1200;font-family:var(--font-ui)}#collabFloatButton{position:relative;display:grid;width:58px;height:58px;place-items:center;border:0;border-radius:18px;color:#fff;background:#111827;box-shadow:0 14px 35px rgba(15,23,42,.24);cursor:pointer}#collabFloatButton:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.3)}.collab-float-icon{font-size:16px;font-weight:850}.collab-float-icon:after{content:' chat';margin-left:3px;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.collab-float-badge,#collabFloatBadge{position:absolute;top:-7px;right:-7px;display:none;min-width:22px;height:22px;padding:0 6px;place-items:center;border:3px solid #fff;border-radius:99px;color:#fff;background:#d92d20;font-size:10px;font-weight:850}.collab-float-badge.show,#collabFloatBadge.show{display:grid}#collabFloatPanel{position:absolute;right:0;bottom:72px;display:none;width:min(370px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--im-line);border-radius:18px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.2)}#collabFloatPanel.open{display:block;animation:collabFloatIn .18s ease-out}@keyframes collabFloatIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}#collabFloatPanel>header{display:flex;min-height:62px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--im-line);background:#fff}#collabFloatPanel>header b,#collabFloatPanel>header small{display:block}#collabFloatPanel>header b{font-size:15px}#collabFloatPanel>header small{margin-top:2px;color:var(--im-muted);font-size:11px}#collabFloatPanel>header>button{width:38px;height:38px;border:0;border-radius:10px;color:var(--im-muted);background:#f5f7fa;font-size:23px;cursor:pointer}.collab-float-actions{padding:10px 12px;border-bottom:1px solid var(--im-line)}.collab-float-actions .btn{width:100%}.collab-float-list{max-height:390px;overflow:auto}.collab-float-list>button{display:flex;width:100%;min-height:62px;align-items:center;gap:9px;padding:10px 12px;border:0;border-bottom:1px solid #edf1f5;color:var(--im-text);background:#fff;text-align:left;cursor:pointer}.collab-float-list>button:hover{background:var(--im-blue-soft)}.collab-float-list>button>span:nth-child(2){min-width:0;flex:1}.collab-float-list b,.collab-float-list small{display:block}.collab-float-list b{font-size:13px}.collab-float-list small{overflow:hidden;margin-top:3px;color:var(--im-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.collab-float-list em{display:grid;width:19px;height:19px;place-items:center;border-radius:99px;color:#fff;background:var(--im-red);font-size:10px;font-style:normal;font-weight:800}.collab-float-chat-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--im-line)}.collab-float-messages{display:flex;height:260px;flex-direction:column;gap:8px;overflow:auto;padding:10px;background:#f8fafc}.collab-float-messages>div{align-self:flex-start;max-width:88%}.collab-float-messages>div.mine{align-self:flex-end}.collab-float-messages small{display:block;color:var(--im-faint);font-size:9px}.collab-float-messages p{margin:3px 0 0;padding:7px 9px;border:1px solid var(--im-line);border-radius:10px;background:#fff;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.collab-float-messages .mine p{color:#fff;background:var(--im-blue);border-color:var(--im-blue)}.collab-float-compose{display:flex;gap:7px;padding:9px;border-top:1px solid var(--im-line)}.collab-float-compose input{min-width:0;flex:1;padding:0 9px;border:1px solid var(--im-line-strong);border-radius:9px;font-size:13px}.production-work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(410px,1fr));gap:14px;margin-top:14px}.production-work-card{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:238px;overflow:hidden;border:1px solid var(--im-line);border-radius:16px;background:#fff;box-shadow:var(--im-shadow-soft)}.production-work-image{display:flex;min-height:100%;align-items:center;justify-content:center;padding:14px;background:#f7f9fc;border-right:1px solid var(--im-line)}.production-work-image img{display:block;width:100%;max-height:155px;object-fit:contain;border-radius:10px}.production-work-content{display:flex;min-width:0;flex-direction:column;padding:15px}.production-work-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.production-work-top small{color:var(--im-muted);font-size:11px}.production-work-top h3{margin:3px 0 0;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.production-work-top p{margin:4px 0 0;color:var(--im-muted);font-size:11px}.production-work-progress{margin-top:16px}.production-work-progress>div{display:flex;justify-content:space-between;gap:8px;color:var(--im-muted);font-size:11px}.production-work-progress>div b{color:var(--im-text);font-size:12px}.production-work-progress>i{display:block;height:7px;margin-top:8px;overflow:hidden;border-radius:99px;background:#eaf0f7}.production-work-progress>i em{display:block;height:100%;border-radius:inherit;background:var(--im-blue)}.production-work-progress>small{display:block;margin-top:6px;color:var(--im-muted);font-size:10px}.production-work-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:13px;color:var(--im-muted);font-size:11px}.production-work-actions{display:flex;gap:7px;margin-top:auto;padding-top:14px}.production-work-actions .btn{flex:1;min-height:38px}.production-work-actions .btn:first-child{flex:1.2}
@media(max-width:620px){#collabFloat{top:calc(10px + env(safe-area-inset-top));right:12px;bottom:auto}#collabFloatButton{width:46px;height:46px;border-radius:14px}.collab-float-icon:after{display:none}#collabFloatPanel{top:54px;right:-2px;bottom:auto;width:min(350px,calc(100vw - 24px))}.production-work-grid{grid-template-columns:1fr;gap:10px}.production-work-card{grid-template-columns:94px minmax(0,1fr);min-height:214px}.production-work-image{padding:9px}.production-work-image img{max-height:125px}.production-work-content{padding:11px}.production-work-top h3{font-size:14px}.production-work-progress{margin-top:11px}.production-work-meta{margin-top:9px}.production-work-actions{gap:5px;padding-top:10px}.production-work-actions .btn{min-height:40px;padding:6px 7px;font-size:11px}}
.collab-float-chat-head select{min-width:0;flex:1;height:36px;padding:0 8px;border:1px solid var(--im-line-strong);border-radius:9px;background:#fff;color:var(--im-text);font-size:13px}
#collabFloatPanel{width:clamp(390px,29vw,480px);max-height:calc(100dvh - 118px)}#collabFloatBody{display:flex;max-height:calc(100dvh - 190px);min-height:430px;flex-direction:column}.collab-float-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px 12px;border-bottom:1px solid var(--im-line);background:#fbfcfe}.collab-float-overview button{min-height:54px;border:1px solid var(--im-line);border-radius:10px;color:var(--im-text);background:#fff;cursor:pointer}.collab-float-overview b,.collab-float-overview small{display:block}.collab-float-overview b{font-family:var(--font-number);font-size:18px;font-weight:850}.collab-float-overview small{margin-top:2px;color:var(--im-muted);font-size:10px}.collab-float-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--im-line);background:#fff}.collab-float-tabs button{min-height:32px;flex:1;border:0;border-radius:8px;color:var(--im-muted);background:transparent;font-size:12px;font-weight:750;cursor:pointer}.collab-float-tabs button.active,.collab-float-tabs button:hover{color:var(--im-blue);background:var(--im-blue-soft)}.collab-float-tabs em{display:inline-grid;min-width:17px;height:17px;place-items:center;border-radius:99px;color:#fff;background:var(--im-red);font-size:9px;font-style:normal}.collab-float-messages{height:auto;min-height:220px;flex:1}.collab-float-task-tools{display:flex;gap:7px;padding:9px 12px;border-bottom:1px solid var(--im-line)}.collab-float-task-list{display:grid;flex:1;overflow:auto}.collab-float-task-list article{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 12px;border-bottom:1px solid #edf1f5}.collab-float-task-list article>div{min-width:0}.collab-float-task-list b,.collab-float-task-list small{display:block}.collab-float-task-list b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.collab-float-task-list small{overflow:hidden;margin-top:3px;color:var(--im-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:620px){#collabFloatPanel{width:calc(100vw - 24px);max-height:calc(100dvh - 78px)}#collabFloatBody{min-height:min(570px,calc(100dvh - 140px));max-height:calc(100dvh - 140px)}.collab-float-overview button{min-height:50px}.collab-float-messages{min-height:180px}.collab-float-compose input{min-height:42px}}

/* 协同浮窗：微信式联系人与会话，待办只作为独立入口。 */
#collabFloatPanel{width:clamp(520px,34vw,620px);height:min(680px,calc(100dvh - 118px));max-height:none}
#collabFloatBody{min-height:0;max-height:none;height:calc(100% - 62px);overflow:hidden}
#collabFloatPanel>header{gap:12px}
.collab-float-header-actions{display:flex;align-items:center;gap:6px}
.collab-float-header-actions button{min-height:36px;padding:0 10px;border:1px solid var(--im-line);border-radius:9px;color:var(--im-muted);background:#fff;font-size:12px;font-weight:700;cursor:pointer}
.collab-float-header-actions button:last-child{width:36px;padding:0;font-size:22px;font-weight:400}
.collab-float-header-actions button:hover{color:var(--im-text);background:#f6f8fb}
.collab-wechat-shell{display:grid;min-height:0;height:100%;grid-template-columns:182px minmax(0,1fr);background:#fff}
.collab-wechat-contacts{overflow:auto;border-right:1px solid var(--im-line);background:#fbfcfe}
.collab-wechat-contacts>button{position:relative;display:flex;width:100%;min-height:68px;align-items:center;gap:10px;padding:10px 11px;border:0;border-bottom:1px solid #edf1f5;color:var(--im-text);background:transparent;text-align:left;cursor:pointer}
.collab-wechat-contacts>button:hover,.collab-wechat-contacts>button.active{background:#eef5ff}
.collab-wechat-contacts>button>span:nth-child(2){min-width:0;flex:1}
.collab-wechat-contacts b,.collab-wechat-contacts small{display:block}
.collab-wechat-contacts b{overflow:hidden;font-size:13px;font-weight:780;text-overflow:ellipsis;white-space:nowrap}
.collab-wechat-contacts small{overflow:hidden;margin-top:3px;color:var(--im-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.collab-wechat-contacts em{display:grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:99px;color:#fff;background:var(--im-red);font-size:10px;font-style:normal;font-weight:800}
.collab-wechat-conversation{display:flex;min-width:0;flex-direction:column;background:#f7f8fa}
.collab-wechat-chat-head{display:flex;min-height:62px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--im-line);background:#fff}
.collab-wechat-chat-head div{min-width:0;flex:1}
.collab-wechat-chat-head b,.collab-wechat-chat-head small{display:block}
.collab-wechat-chat-head b{overflow:hidden;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.collab-wechat-chat-head small{margin-top:2px;color:var(--im-muted);font-size:11px}
.collab-wechat-chat-head button{min-height:36px;padding:0 10px;border:0;border-radius:8px;color:var(--im-muted);background:transparent;font-size:12px;font-weight:700;cursor:pointer}
.collab-wechat-chat-head button:first-child{display:none;width:36px;padding:0;font-size:28px;font-weight:400;line-height:1}
.collab-wechat-chat-head button:hover{color:var(--im-blue);background:var(--im-blue-soft)}
.collab-wechat-messages{display:flex;min-height:0;flex:1;flex-direction:column;gap:12px;overflow:auto;padding:16px 14px}
.collab-wechat-messages>div{align-self:flex-start;max-width:min(78%,460px)}
.collab-wechat-messages>div.mine{align-self:flex-end}
.collab-wechat-messages small{display:block;margin:0 5px 4px;color:var(--im-faint);font-size:10px}
.collab-wechat-messages p{margin:0;padding:9px 11px;border:1px solid var(--im-line);border-radius:12px 12px 12px 3px;color:var(--im-text);background:#fff;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.collab-wechat-messages .mine p{border-color:#9ec4ff;border-radius:12px 12px 3px 12px;background:#dcecff}
.collab-wechat-compose{display:flex;gap:8px;padding:10px;border-top:1px solid var(--im-line);background:#fff}
.collab-wechat-compose input{min-width:0;min-height:42px;flex:1;padding:0 11px;border:1px solid var(--im-line-strong);border-radius:10px;color:var(--im-text);background:#fff;font-size:14px}
.collab-wechat-compose input:focus{border-color:var(--im-blue);outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.collab-wechat-compose .btn{min-width:64px}
@media(max-width:620px){#collabFloatPanel{top:58px;right:12px;left:12px;width:auto;height:calc(100dvh - 78px);max-height:none;border-radius:16px}#collabFloatBody{height:calc(100% - 62px)}.collab-wechat-shell{grid-template-columns:120px minmax(0,1fr)}.collab-wechat-contacts{height:100%}.collab-wechat-contacts>button{min-height:76px;padding:12px 8px}.collab-wechat-contacts b{font-size:12px}.collab-wechat-contacts small{display:none}.collab-wechat-conversation{height:100%}.collab-wechat-chat-head{min-height:58px;padding:9px 10px}.collab-wechat-chat-head button:first-child{display:block}.collab-wechat-messages{padding:14px}.collab-wechat-messages>div{max-width:86%}.collab-wechat-compose{padding:9px 10px calc(9px + env(safe-area-inset-bottom))}.collab-wechat-compose .btn{min-height:42px}.collab-float-header-actions button{min-height:36px}}

/* 协同中心：任务优先，聊天作为同一业务上下文里的协作工具。 */
.collab-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.collab-summary>button{min-height:86px;padding:14px 16px;border:1px solid var(--im-line);border-radius:14px;background:#fff;color:var(--im-text);text-align:left;box-shadow:var(--im-shadow-soft)}.collab-summary b,.collab-summary span{display:block}.collab-summary b{font-family:var(--font-number);font-size:27px;font-weight:800;line-height:1.1}.collab-summary span{margin-top:6px;color:var(--im-muted);font-size:12px;font-weight:650}.collab-layout{display:grid;grid-template-columns:minmax(310px,.92fr) minmax(540px,1.5fr);gap:14px;margin-bottom:14px}.collab-tasks-panel,.collab-chat-panel{overflow:hidden;border:1px solid var(--im-line);border-radius:var(--im-radius);background:#fff;box-shadow:var(--im-shadow-soft)}.collab-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:67px;padding:13px 16px;border-bottom:1px solid var(--im-line)}.collab-panel-head b,.collab-panel-head small{display:block}.collab-panel-head b{font-size:15px;font-weight:800}.collab-panel-head small{margin-top:2px;color:var(--im-muted);font-size:11px}.collab-task-list{display:grid;gap:0;max-height:660px;overflow:auto}.collab-task{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #eef1f5}.collab-task:last-child{border-bottom:0}.collab-task.overdue{background:#fffafa}.collab-task.done{background:#fbfdfc}.collab-task-main{min-width:0;flex:1}.collab-task-title{display:flex;align-items:center;gap:7px}.collab-task-title b{overflow:hidden;color:var(--im-text);font-size:13px;font-weight:780;text-overflow:ellipsis;white-space:nowrap}.collab-task p{display:-webkit-box;overflow:hidden;margin:5px 0 0;color:var(--im-muted);font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.collab-task-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;color:var(--im-faint);font-size:11px}.collab-source,.collab-message-source{min-height:28px;padding:4px 7px;border:1px solid #bfdbfe;border-radius:8px;color:var(--im-blue);background:var(--im-blue-soft);font-size:11px;font-weight:750;cursor:pointer}.collab-task-actions{display:flex;flex:0 0 auto;align-items:center}.danger-text{color:var(--im-red)!important;font-weight:750}.collab-chat-body{display:grid;grid-template-columns:215px minmax(0,1fr);min-height:494px}.collab-contacts{overflow:auto;border-right:1px solid var(--im-line);background:#fbfcfe}.collab-contact{position:relative;display:flex;width:100%;min-height:64px;align-items:center;gap:9px;padding:10px 11px;border:0;border-bottom:1px solid #edf1f5;color:var(--im-text);background:transparent;text-align:left;cursor:pointer}.collab-contact:hover,.collab-contact.active{background:var(--im-blue-soft)}.collab-contact>span:nth-child(2){min-width:0;flex:1}.collab-contact b,.collab-contact small{display:block}.collab-contact b{overflow:hidden;font-size:13px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.collab-contact small{overflow:hidden;margin-top:2px;color:var(--im-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.collab-contact em{display:grid;width:18px;height:18px;place-items:center;border-radius:99px;color:#fff;background:var(--im-red);font-size:10px;font-style:normal;font-weight:800}.collab-avatar{display:grid;flex:0 0 auto;width:31px;height:31px;place-items:center;border-radius:10px;color:#1e3a5f;background:#e9f1ff;font-size:13px;font-weight:800}.collab-conversation{display:flex;min-width:0;flex-direction:column}.collab-conversation-head{display:flex;min-height:58px;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--im-line)}.collab-conversation-head b,.collab-conversation-head small{display:block}.collab-conversation-head b{font-size:13px;font-weight:800}.collab-conversation-head small{margin-top:1px;color:var(--im-muted);font-size:11px}.collab-messages{display:flex;min-height:360px;flex:1;flex-direction:column;gap:10px;overflow:auto;padding:15px;background:#f8fafc}.collab-message{align-self:flex-start;max-width:min(82%,520px)}.collab-message.mine{align-self:flex-end}.collab-message small{display:block;margin:0 4px 4px;color:var(--im-faint);font-size:10px}.collab-message p{margin:0;padding:9px 11px;border:1px solid var(--im-line);border-radius:12px 12px 12px 3px;color:var(--im-text);background:#fff;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.collab-message.mine p{border-color:var(--im-blue);border-radius:12px 12px 3px 12px;color:#fff;background:var(--im-blue)}.collab-message-source{display:block;margin:5px 0 0 auto}.collab-composer{display:flex;gap:8px;padding:11px;border-top:1px solid var(--im-line);background:#fff}.collab-composer input{min-width:0;min-height:42px;flex:1;padding:0 11px;border:1px solid var(--im-line-strong);border-radius:10px;color:var(--im-text);background:#fff;font-size:14px}.collab-composer input:focus{border-color:var(--im-blue);outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.collab-empty{display:grid;min-height:100px;place-items:center;padding:16px;color:var(--im-muted);font-size:12px;text-align:center}.collab-performance{overflow:hidden}.collab-performance .table-scroll{margin:0}.collab-performance table{margin:0}
@media(max-width:900px){.collab-layout{grid-template-columns:1fr}.collab-task-list{max-height:none}.collab-chat-body{min-height:500px}}
@media(max-width:620px){.collab-summary{grid-template-columns:1fr 1fr;gap:8px}.collab-summary>button{min-height:74px;padding:12px}.collab-summary b{font-size:23px}.collab-layout{gap:10px}.collab-panel-head{min-height:60px;padding:10px 12px}.collab-task{padding:12px}.collab-task-actions .btn{min-height:38px}.collab-chat-body{display:block;min-height:0}.collab-contacts{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--im-line);background:#fff}.collab-contact{min-width:116px;min-height:72px;flex:0 0 116px;padding:10px;border-bottom:0;border-right:1px solid #edf1f5}.collab-contact small{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.collab-contact em{position:absolute;top:8px;right:7px}.collab-conversation-head{min-height:54px;padding:9px 12px}.collab-messages{min-height:280px;padding:12px}.collab-message{max-width:88%}.collab-composer{position:sticky;bottom:calc(61px + env(safe-area-inset-bottom));z-index:6;padding:9px;background:rgba(255,255,255,.98)}.collab-composer .btn{min-width:66px}.collab-performance .table-scroll table{min-width:620px}}

@media(max-width:620px){
  #collabFloat{
    right:14px;
    bottom:calc(76px + env(safe-area-inset-bottom));
    top:auto;
    z-index:1300;
  }
  #collabFloatButton{
    width:54px;
    height:54px;
    border-radius:18px;
    box-shadow:0 18px 44px rgba(15,23,42,.24);
  }
  .collab-float-icon{
    font-size:17px;
  }
  #collabFloatPanel{
    position:fixed;
    inset:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px;
    width:auto;
    height:auto;
    max-height:none;
    border-radius:24px;
    box-shadow:0 24px 80px rgba(15,23,42,.22);
  }
  #collabFloatPanel>header{
    min-height:64px;
    padding:12px 12px 10px;
  }
  #collabFloatPanel>header b{
    font-size:16px;
  }
  #collabFloatPanel>header small{
    font-size:12px;
  }
  .collab-float-header-actions{
    gap:5px;
  }
  .collab-float-header-actions button{
    min-width:42px;
    min-height:38px;
    padding:0 10px;
    border-radius:10px;
    font-size:12px;
  }
  .collab-float-header-actions button:last-child{
    width:38px;
    min-width:38px;
  }
  #collabFloatBody{
    height:calc(100% - 64px);
    min-height:0;
    max-height:none;
  }
  .collab-wechat-shell{
    display:block;
    height:100%;
    background:#fff;
  }
  .collab-wechat-contacts{
    display:block;
    height:100%;
    overflow:auto;
    padding:4px 0 calc(12px + env(safe-area-inset-bottom));
    border-right:0;
    background:#fff;
  }
  .collab-wechat-contacts>button{
    min-height:74px;
    padding:12px 14px 12px 12px;
    gap:12px;
    background:#fff;
  }
  .collab-wechat-contacts b{
    font-size:14px;
  }
  .collab-wechat-contacts small{
    display:block;
    margin-top:4px;
    font-size:12px;
  }
  .collab-wechat-contacts em{
    min-width:20px;
    height:20px;
    font-size:10px;
  }
  .collab-wechat-conversation{
    display:none;
    height:100%;
    background:#f7f8fa;
  }
  .collab-wechat-shell.has-chat .collab-wechat-contacts{
    display:none;
  }
  .collab-wechat-shell.has-chat .collab-wechat-conversation{
    display:flex;
  }
  .collab-wechat-chat-head{
    min-height:60px;
    padding:10px 12px;
    background:#fff;
  }
  .collab-wechat-chat-head button:first-child{
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border-radius:12px;
    background:#f3f6fb;
    font-size:24px;
  }
  .collab-wechat-chat-head button:last-child{
    min-width:58px;
    min-height:36px;
  }
  .collab-wechat-messages{
    padding:14px 12px 96px;
    gap:10px;
  }
  .collab-wechat-messages>div{
    max-width:88%;
  }
  .collab-wechat-messages p{
    font-size:14px;
    line-height:1.6;
  }
  .collab-wechat-compose{
    position:sticky;
    bottom:0;
    gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px);
  }
  .collab-wechat-compose input{
    min-height:44px;
    font-size:16px;
  }
  .collab-wechat-compose .btn{
    min-width:68px;
    min-height:44px;
  }
  .collab-float-tabs{
    position:sticky;
    top:0;
    z-index:2;
    background:#fff;
  }
  .collab-float-task-tools{
    position:sticky;
    top:49px;
    z-index:2;
    flex-wrap:wrap;
    background:#fff;
  }
  .collab-float-task-list{
    padding-bottom:calc(14px + env(safe-area-inset-bottom));
  }
}

/* 2026-08-15 最终接管：统一修正悬浮协同窗口，避免旧样式互相覆盖 */
@media (min-width: 621px){
  #collabFloat{
    right:22px !important;
    bottom:22px !important;
    top:auto !important;
  }
  #collabFloatPanel{
    position:absolute !important;
    right:0 !important;
    left:auto !important;
    top:auto !important;
    bottom:72px !important;
    width:420px !important;
    height:620px !important;
    max-height:calc(100dvh - 118px) !important;
    overflow:visible !important;
    border-radius:18px !important;
  }
  #collabFloatBody{
    position:relative !important;
    display:block !important;
    height:calc(100% - 62px) !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .collab-wechat-shell{
    position:relative !important;
    display:block !important;
    height:100% !important;
    background:transparent !important;
  }
  .collab-wechat-contacts{
    position:absolute !important;
    right:100% !important;
    top:0 !important;
    bottom:0 !important;
    width:178px !important;
    margin-right:12px !important;
    overflow:auto !important;
    border:1px solid var(--im-line) !important;
    border-radius:16px !important;
    background:#fbfcfe !important;
    box-shadow:0 20px 48px rgba(15,23,42,.14) !important;
  }
  .collab-wechat-conversation{
    display:flex !important;
    min-width:0 !important;
    height:100% !important;
    border-radius:18px !important;
    background:#f7f8fa !important;
    overflow:hidden !important;
  }
  .collab-wechat-contacts>button{
    min-height:66px !important;
    padding:10px 11px !important;
  }
  .collab-wechat-chat-head{
    padding:10px 12px !important;
  }
  .collab-wechat-chat-head button:first-child{
    display:none !important;
  }
  .collab-wechat-messages{
    padding:14px !important;
  }
  .collab-wechat-compose{
    padding:10px !important;
  }
}

@media (max-width: 620px){
  #collabFloat{
    right:14px !important;
    bottom:calc(76px + env(safe-area-inset-bottom)) !important;
    top:auto !important;
  }
  #collabFloatPanel{
    position:fixed !important;
    inset:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px !important;
    width:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    border-radius:24px !important;
  }
  #collabFloatBody{
    display:block !important;
    height:calc(100% - 64px) !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  .collab-wechat-shell{
    display:block !important;
    height:100% !important;
    background:#fff !important;
  }
  .collab-wechat-contacts{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:auto !important;
    height:100% !important;
    margin-right:0 !important;
    padding:4px 0 calc(12px + env(safe-area-inset-bottom)) !important;
    overflow:auto !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    display:block !important;
  }
  .collab-wechat-conversation{
    display:none !important;
    min-width:0 !important;
    height:100% !important;
    background:#f7f8fa !important;
  }
  .collab-wechat-shell.has-chat .collab-wechat-contacts{
    display:none !important;
  }
  .collab-wechat-shell.has-chat .collab-wechat-conversation{
    display:flex !important;
    flex-direction:column !important;
  }
  .collab-wechat-contacts>button{
    min-height:74px !important;
    padding:12px 14px 12px 12px !important;
    gap:12px !important;
  }
  .collab-wechat-contacts small{
    display:block !important;
    margin-top:4px !important;
    font-size:12px !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .collab-wechat-chat-head{
    min-height:60px !important;
    padding:10px 12px !important;
  }
  .collab-wechat-chat-head button:first-child{
    display:grid !important;
    width:40px !important;
    height:40px !important;
    place-items:center !important;
    border-radius:12px !important;
    background:#f3f6fb !important;
    font-size:24px !important;
  }
  .collab-wechat-messages{
    padding:14px 12px 96px !important;
    gap:10px !important;
  }
  .collab-wechat-compose{
    position:sticky !important;
    bottom:0 !important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    background:rgba(255,255,255,.98) !important;
    backdrop-filter:blur(14px) !important;
  }
}

/* 2026-08-15 最终最终：微信式悬浮聊天，放在 CSS 文件最后覆盖全部旧规则 */
@media (min-width:621px){
  #collabFloat{position:fixed!important;right:22px!important;bottom:22px!important;top:auto!important;z-index:1300!important}
  #collabFloatPanel{position:absolute!important;right:0!important;left:auto!important;top:auto!important;bottom:72px!important;width:760px!important;height:640px!important;max-width:calc(100vw - 44px)!important;max-height:calc(100dvh - 118px)!important;overflow:hidden!important;border:1px solid rgba(15,23,42,.1)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 24px 70px rgba(15,23,42,.22)!important}
  #collabFloatPanel>header{min-height:58px!important;padding:10px 12px!important;background:#f7f8fa!important}
  #collabFloatBody{display:block!important;height:calc(100% - 58px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .collab-wechat-shell{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;height:100%!important;min-height:0!important;background:#fff!important}
  .collab-wechat-contacts{position:static!important;display:block!important;width:auto!important;height:100%!important;margin:0!important;padding:0!important;overflow:auto!important;border:0!important;border-right:1px solid #e6e8ec!important;border-radius:0!important;background:#f5f6f7!important;box-shadow:none!important}
  .collab-wechat-contacts>button{min-height:68px!important;padding:11px 12px!important;gap:10px!important;border-bottom:1px solid rgba(15,23,42,.06)!important;background:transparent!important}
  .collab-wechat-contacts>button:hover,.collab-wechat-contacts>button.active{background:#e9edf2!important}
  .collab-wechat-contacts b{font-size:14px!important}.collab-wechat-contacts small{display:block!important;font-size:12px!important}
  .collab-wechat-conversation{display:flex!important;height:100%!important;min-width:0!important;flex-direction:column!important;background:#f2f3f5!important;overflow:hidden!important}
  .collab-wechat-chat-head{min-height:58px!important;padding:10px 14px!important;border-bottom:1px solid #e4e6eb!important;background:#f7f8fa!important}
  .collab-wechat-chat-head button:first-child{display:none!important}
  .collab-wechat-messages{min-height:0!important;flex:1!important;padding:18px!important;overflow:auto!important;background:#f2f3f5!important}
  .collab-wechat-messages p{font-size:14px!important}
  .collab-wechat-compose{display:flex!important;gap:10px!important;padding:12px!important;border-top:1px solid #e4e6eb!important;background:#fff!important}
  .collab-wechat-compose input{min-height:42px!important;font-size:14px!important}
}
@media (max-width:620px){
  #collabFloat{position:fixed!important;right:14px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;top:auto!important;z-index:1300!important}
  #collabFloatButton{width:54px!important;height:54px!important;border-radius:18px!important}
  #collabFloatPanel{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;max-height:none!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  #collabFloatPanel>header{min-height:56px!important;padding:calc(8px + env(safe-area-inset-top)) 12px 8px!important;border-bottom:1px solid #e8eaee!important;background:#f7f8fa!important}
  #collabFloatPanel>header b{font-size:17px!important}#collabFloatPanel>header small{display:none!important}
  .collab-float-header-actions button{min-height:38px!important;border-radius:10px!important;background:#fff!important}
  #collabFloatBody{display:block!important;height:calc(100dvh - 56px - env(safe-area-inset-top))!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
  .collab-wechat-shell{display:block!important;height:100%!important;min-height:0!important;background:#fff!important}
  .collab-wechat-contacts{position:relative!important;display:block!important;width:auto!important;height:100%!important;margin:0!important;padding:0 0 calc(12px + env(safe-area-inset-bottom))!important;overflow:auto!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  .collab-wechat-contacts>button{min-height:72px!important;padding:12px 14px!important;gap:12px!important;border-bottom:1px solid #f0f1f3!important;background:#fff!important}
  .collab-wechat-contacts b{font-size:16px!important}.collab-wechat-contacts small{display:block!important;margin-top:4px!important;font-size:13px!important;color:#7b8493!important}
  .collab-wechat-conversation{display:none!important;height:100%!important;min-width:0!important;flex-direction:column!important;background:#ededed!important;overflow:hidden!important}
  .collab-wechat-shell.has-chat .collab-wechat-contacts{display:none!important}.collab-wechat-shell.has-chat .collab-wechat-conversation{display:flex!important}
  .collab-wechat-chat-head{min-height:56px!important;padding:8px 10px!important;border-bottom:1px solid #e1e3e6!important;background:#f7f8fa!important}
  .collab-wechat-chat-head button:first-child{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;padding:0!important;border-radius:10px!important;background:transparent!important;font-size:28px!important;color:#111827!important}
  .collab-wechat-messages{min-height:0!important;flex:1!important;padding:14px 12px!important;overflow:auto!important;background:#ededed!important}
  .collab-wechat-messages>div{max-width:86%!important}.collab-wechat-messages p{font-size:15px!important;line-height:1.55!important}
  .collab-wechat-compose{display:flex!important;gap:8px!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;border-top:1px solid #dfe3e8!important;background:#f7f8fa!important}
  .collab-wechat-compose input{min-height:44px!important;font-size:16px!important}.collab-wechat-compose .btn{min-width:68px!important;min-height:44px!important}
}
