.v1-shell{display:flex;min-height:100vh;font-size:13px}.v1-shell>aside{width:205px;background:#12243b;color:#d9e5f3;position:fixed;inset:0 auto 0 0;padding:26px 16px;display:flex;flex-direction:column;gap:6px}.v1-shell>aside h2{color:white;font-size:22px;margin:0 0 26px}.v1-shell>aside h2 small{display:block;color:#9bb2d1;font-size:11px;margin-top:7px}.v1-login button,.v1-shell button{border:1px solid #d2dceb;background:white;color:#244268;border-radius:6px;padding:8px 12px;font-size:13px}.v1-login button:disabled,.v1-shell button:disabled{opacity:.5;cursor:wait}.v1-shell>aside button{color:#d9e5f3;background:transparent;border:0;text-align:left;padding:13px 15px}.v1-login button,.v1-shell button.selected,.v1-shell>aside button.selected{background:#2a68cb;color:white}.v1-shell>aside p{margin-top:auto;color:#9aadc6;line-height:1.9}.v1-shell>main{margin-left:205px;padding:28px;width:calc(100% - 205px)}.v1-shell header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.v1-shell h1{font-size:25px;margin:0 0 6px;font-weight:650}.v1-shell h2{font-size:18px;margin:12px 0;font-weight:600}.v1-shell footer,.v1-shell header span{color:#738398}.v1-shell footer{margin-top:28px;line-height:1.8}.v1-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.v1-stats>div{background:white;border:1px solid #e2e8f0;border-radius:9px;padding:18px;color:#718096}.v1-stats b{display:block;color:#1e3b5d;font-size:25px;margin-top:9px;font-weight:600}.v1-card{background:white;border:1px solid #e2e8f0;border-radius:10px}.v1-card p,.v1-dialog p{color:#697a90;line-height:1.7}.v1-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0 18px}.v1-login input,.v1-shell input:not([type=checkbox]),.v1-shell select{border:1px solid #d0dbea;border-radius:5px;background:white;padding:8px;color:#26384c;min-width:0}.v1-shell input[type=checkbox]{margin-right:7px;accent-color:#2a68cb}.v1-shell fieldset:disabled input,.v1-shell input:disabled{background:#f2f5f9}.v1-scroll{overflow:auto}.v1-shell table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.v1-shell th{background:#f1f5fa;color:#60748d}.v1-shell td,.v1-shell th{padding:12px 9px;white-space:nowrap}.v1-shell td{border-bottom:1px solid #e6ecf3;vertical-align:middle}.v1-shell td small{display:block;color:#8190a5;margin-top:5px}.v1-shell td button{padding:5px 7px;margin:3px}.v1-tag{border-radius:4px;background:#eaf2ff;color:#2562ae;padding:5px 8px}.v1-error{position:fixed;z-index:400;top:12px;left:50%;transform:translateX(-50%);max-width:85vw;background:#fff0e9;border:1px solid #f2b89d;color:#963812;padding:13px 24px;border-radius:6px;box-shadow:0 5px 22px #0002}.v1-empty{text-align:center;padding:45px}.v1-overlay{position:fixed;inset:0;background:#12243b80;z-index:100;padding:25px;display:flex;align-items:center;justify-content:center}.v1-dialog{background:white;border-radius:10px;width:min(1500px,100%);max-height:94vh;overflow:auto;padding:24px;box-shadow:0 22px 70px #0004}.v1-dialog fieldset{border:0;padding:0;margin:0}.v1-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:18px 0}.v1-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#52677d}.v1-lines input{width:95px}.v1-lines td{padding:7px 4px}.v1-warning{background:#fff7e4;padding:14px;border-radius:5px}.v1-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#0f233c,#31547a)}.v1-login form{width:380px;border-radius:14px;background:white;box-shadow:0 30px 80px #0003}.v1-login h1{font-size:29px;margin:0;color:#1a3554}.v1-login p{color:#7a899d;margin:12px 0 24px}.v1-login label{margin:15px 0}.v1-login button{width:100%;margin:10px 0 18px}.v1-login small{color:#8493a7;line-height:1.7}@media(max-width:1000px){.v1-shell>aside{width:155px}.v1-shell>main{margin-left:155px;width:calc(100% - 155px);padding:16px}.v1-form,.v1-stats{grid-template-columns:repeat(2,1fr)}.v1-overlay{padding:10px}}:root{--navy:#11213a;--navy-soft:#1d3150;--blue:#365944;--text:#20211f;--muted:#747771;--line:#dedfda;--canvas:#f6f6f4;--erp-primary:#365944;--erp-primary-hover:#294735;--erp-soft:#edf3ef;--erp-sidebar:#f1f1ef;--erp-active:#e2e2de;--erp-surface:#fafaf8;--erp-divider:#ecece8}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--canvas);color:var(--text)}body{font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.erp-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;display:flex;flex-direction:column;color:#d9e2f0;background:linear-gradient(180deg,#13243e,#0c192c);box-shadow:8px 0 24px rgba(9,23,45,.08);z-index:10}.brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:white;background:linear-gradient(145deg,#4d89ef,#2558bd);font-size:20px;font-weight:700;box-shadow:0 8px 20px rgba(36,98,211,.35)}.brand small,.brand strong{display:block}.brand strong{color:#fff;font-size:17px;letter-spacing:.5px}.brand small{margin-top:4px;color:#8fa1bb;font-size:10px}.nav{flex:1 1;overflow-y:auto;padding:13px 12px}.nav section{margin-bottom:14px}.nav p{margin:0;padding:7px 12px;color:#6f829e;font-size:11px;letter-spacing:1px}.nav button{width:100%;height:39px;display:flex;align-items:center;gap:11px;padding:0 12px;border:0;border-radius:8px;color:#aebcd0;background:transparent;text-align:left;font-size:13px;transition:.2s ease}.nav button:hover{color:white;background:rgba(255,255,255,.05)}.nav button.active{color:white;background:linear-gradient(90deg,#2f6fe4,#3768c0);box-shadow:0 7px 16px rgba(30,81,173,.26)}.nav-dot{width:7px;height:7px;border:1.5px solid;border-radius:2px;opacity:.8}.nav button.active .nav-dot{background:#fff}.chevron{margin-left:auto;font-size:18px;opacity:.55}.sidebar-footer{padding:16px 22px 19px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer .health{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:#aebed2;font-size:11px}.health span{width:7px;height:7px;border-radius:50%;background:#48c78e;box-shadow:0 0 0 4px rgba(72,199,142,.1)}.sidebar-footer small{color:#60728d;font-size:10px}.workspace{width:calc(100% - 232px);min-width:0;margin-left:232px}.topbar{position:sticky;top:0;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}.topbar>div:first-child p{margin:0 0 2px;color:#9aa6b8;font-size:10px}.topbar>div:first-child strong{font-size:17px}.top-actions{gap:16px}.search,.top-actions{display:flex;align-items:center}.search{width:275px;height:37px;gap:8px;padding:0 12px;border:1px solid #e3e8f0;border-radius:9px;background:#f7f9fc;color:#8996aa}.search input{width:100%;border:0;outline:0;background:transparent;color:#344054;font-size:12px}.notice{position:relative;width:35px;height:35px;border:1px solid #e4e8ef;border-radius:9px;background:white;color:#77859a;font-size:24px;line-height:5px}.notice span{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border:2px solid white;border-radius:9px;background:#f05a62;color:white;font-size:9px;line-height:12px}.user{display:flex;align-items:center;gap:9px;padding-left:4px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e8effc;color:#2d66ca;font-size:13px;font-weight:700}.user small,.user strong{display:block}.user strong{font-size:12px}.user small{margin-top:2px;color:#99a4b5;font-size:10px}.user b{margin-left:3px;color:#94a0b2;font-size:12px}.content{padding:24px 28px 32px}.welcome{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.welcome p{margin:0 0 7px;color:#7e8a9d;font-size:11px}.welcome h1{margin:0 0 8px;font-size:22px;letter-spacing:-.4px}.welcome>div>span{color:#7a879a;font-size:12px}.welcome-actions{display:flex;gap:9px}.welcome-actions button{height:38px;padding:0 16px;border-radius:8px;font-size:12px;font-weight:600}.secondary{border:1px solid #dfe5ee;color:#536174;background:white}.primary{border:1px solid var(--blue);color:white;background:var(--blue);box-shadow:0 7px 14px rgba(47,111,228,.18)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px}.metric{position:relative;min-height:121px;padding:20px;border:1px solid var(--line);border-radius:11px;background:white;box-shadow:0 4px 12px rgba(17,33,58,.025);overflow:hidden}.metric:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:currentColor;opacity:.85}.metric>div{display:inline-block}.metric p{margin:0 0 8px;color:#6e7b8e;font-size:12px}.metric strong{font-size:29px;line-height:1}.metric small{display:block;margin-top:12px;color:#93a0b1;font-size:10px}.metric-icon{position:absolute;top:21px;right:19px;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:currentColor;color:white;font-size:13px;font-weight:700}.metric.blue{color:#3b78e7}.metric.green{color:#3db583}.metric.orange{color:#e99b38}.metric.red{color:#e45f68}.metric p,.metric small{color:#6e7b8e}.metric strong{color:var(--text)}.main-grid{display:grid;grid-template-columns:minmax(0,2.45fr) minmax(270px,.75fr);gap:16px;margin-bottom:16px}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.8fr);gap:16px}.panel{border:1px solid var(--line);border-radius:11px;background:white;box-shadow:0 4px 12px rgba(17,33,58,.025)}.panel-head{min-height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;border-bottom:1px solid #edf0f5}.panel-head h2{margin:0 0 4px;font-size:14px}.panel-head p{margin:0;color:#909cad;font-size:10px}.panel-head button{border:0;background:transparent;color:#3c73d5;font-size:11px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{height:38px;background:#fafbfc;color:#8b97a9;font-size:10px;font-weight:500;text-align:left}td,th{padding:0 15px}td{height:52px;border-top:1px solid #f0f2f6;color:#536073}td,td strong{font-size:10.5px}td strong{color:#2d5fba}.material,.status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;font-size:9px}.material.ok{color:#27885f;background:#e9f7f0}.material.warn{color:#b16d1e;background:#fff3e2}.status{color:#3d6fbf;background:#edf3fd}.progress-row{display:flex;align-items:center;gap:7px}.progress-row>span{width:68px;height:5px;overflow:hidden;border-radius:5px;background:#edf0f4}.progress-row i{height:100%;display:block;border-radius:inherit;background:#4c80dd}.progress-row small{color:#778397;font-size:9px}.todo-total{min-width:25px;height:25px;display:grid;place-items:center;border-radius:7px;color:#2f6fe4;background:#edf3fe;font-size:10px;font-weight:700}.todo-list{padding:5px 18px}.todo-list button{width:100%;min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 0;border:0;border-bottom:1px solid #eff1f5;background:white;text-align:left}.todo-check{width:16px;height:16px;flex:0 0 auto;border:1.5px solid #cdd5e0;border-radius:5px}.todo-list button>span:nth-child(2){flex:1 1}.todo-list small,.todo-list strong{display:block}.todo-list strong{margin-bottom:4px;color:#3c4759;font-size:11px;font-weight:600}.todo-list small{color:#9ba5b5;font-size:9px}.todo-list b{min-width:23px;height:22px;display:grid;place-items:center;border-radius:6px;color:#60718b;background:#f3f5f8;font-size:9px}.all-todo{width:calc(100% - 36px);height:33px;margin:7px 18px 16px;border:1px solid #e1e7ef;border-radius:7px;color:#627086;background:#fafbfd;font-size:10px}.flow{display:flex;align-items:center;justify-content:space-around;padding:24px 16px 25px}.flow-step{position:relative;min-width:65px;display:grid;place-items:center;gap:7px}.flow-step span{width:40px;height:40px;display:grid;place-items:center;border:5px solid #e5edfb;border-radius:50%;color:#315fbb;background:#f7faff;font-size:13px;font-weight:700}.flow-step strong{color:#647186;font-size:10px;font-weight:500}.flow-step i{position:absolute;top:12px;left:calc(100% - 4px);color:#b5c3d9;font-size:14px;font-style:normal}.quick-panel>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:18px}.quick-panel>div:last-child button{height:42px;border:1px solid #e6eaf0;border-radius:8px;color:#536177;background:#fafbfc;font-size:10px}.quick-panel>div:last-child button:hover{color:#2f6fe4;border-color:#cbdaf5;background:#f5f8ff}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.05fr) minmax(440px,.95fr);background:#f6f8fc}.login-story{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:48px 8vw 38px 6vw;overflow:hidden;color:white;background:radial-gradient(circle at 78% 20%,rgba(73,129,232,.32),transparent 31%),linear-gradient(145deg,#132a4b,#09172b 72%)}.login-story:after{content:"";position:absolute;width:520px;height:520px;right:-280px;bottom:-230px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012)}.login-brand,.mobile-brand{display:flex;align-items:center;gap:13px}.login-brand>span,.mobile-brand>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#4c89ee,#245abd);color:white;font-size:20px;font-weight:700}.login-brand small,.login-brand strong{display:block}.login-brand strong{font-size:18px}.login-brand small{margin-top:4px;color:#95a8c3;font-size:10px}.login-copy{max-width:640px;margin:auto 0 48px}.login-copy>span{display:inline-block;padding:6px 11px;border:1px solid rgba(129,169,237,.25);border-radius:20px;color:#9ebef3;background:rgba(69,118,203,.12);font-size:10px;letter-spacing:1px}.login-copy h1{margin:22px 0 18px;font-size:clamp(30px,3vw,47px);line-height:1.38;letter-spacing:-1.5px}.login-copy p{max-width:520px;margin:0;color:#a4b2c6;font-size:13px;line-height:1.9}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:auto}.login-features>div{display:flex;gap:11px;padding:15px 13px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.035)}.login-features b{color:#65a0ff;font-size:11px}.login-features small,.login-features strong{display:block}.login-features strong{margin-bottom:5px;color:#eaf0f8;font-size:11px}.login-features small{color:#8294ad;font-size:9px;line-height:1.5}.login-story footer{margin-top:50px;color:#536a88;font-size:9px}.login-form-wrap{min-height:100vh;display:grid;place-items:center;padding:36px}.login-card{width:min(380px,100%)}.mobile-brand{display:none}.eyebrow{margin:0 0 10px;color:#2e6ddf;font-size:10px;font-weight:700;letter-spacing:1px}.login-card h2{margin:0;font-size:27px}.login-tip{margin:10px 0 30px;color:#8a96a8;font-size:11px}.login-card>label{display:block;margin-bottom:18px;color:#475467;font-size:11px;font-weight:600}.login-card>label input{width:100%;height:45px;display:block;margin-top:8px;padding:0 13px;border:1px solid #dfe5ee;border-radius:8px;outline:0;color:#2b3545;background:white;font-size:13px}.login-card>label input:focus{border-color:#5e8ee7;box-shadow:0 0 0 3px rgba(47,111,228,.08)}.login-options{display:flex;justify-content:space-between;align-items:center;margin:-2px 0 22px;color:#7c899b;font-size:10px}.login-options label{display:flex;align-items:center;gap:6px}.login-options input{accent-color:#2f6fe4}.login-options button{border:0;color:#3971d8;background:none;font-size:10px}.login-error{margin:-11px 0 12px;color:#d84c55;font-size:10px}.login-submit{width:100%;height:45px;border:0;border-radius:8px;color:white;background:linear-gradient(90deg,#2f6fe4,#3d79df);box-shadow:0 10px 20px rgba(47,111,228,.2);font-size:12px;font-weight:700}.demo-account{margin:15px 0 26px;color:#7f8b9d;text-align:center;font-size:10px}.login-safe{display:flex;gap:7px;padding:12px;border:1px solid #e2e9f3;border-radius:8px;color:#758399;background:#f8faff;font-size:9px;line-height:1.5}.login-safe span{color:#3aa577}.brand>button{width:24px;height:24px;margin-left:auto;border:0;border-radius:6px;color:#7187a4;background:rgba(255,255,255,.06)}.nav-mark{width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;border-radius:6px;color:#91a4bf;background:rgba(255,255,255,.055);font-size:9px}.nav button.active .nav-mark{color:#2f6fe4;background:white}.nav-label{white-space:nowrap}.sidebar,.workspace{transition:width .2s ease,margin .2s ease}.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .workspace{width:calc(100% - 76px);margin-left:76px}.sidebar-collapsed .brand{justify-content:center;padding:0}.sidebar-collapsed .brand>button,.sidebar-collapsed .brand>span:nth-child(2),.sidebar-collapsed .chevron,.sidebar-collapsed .nav p,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .nav button{justify-content:center;padding:0}.logout{height:30px;padding:0 10px;border:1px solid #e3e8ef;border-radius:7px;color:#7b8797;background:white;font-size:9px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 20px}.page-heading p{margin:0 0 7px;color:#99a4b4;font-size:9px}.page-heading h1{margin:0 0 7px;font-size:22px}.page-heading span{color:#788598;font-size:11px}.page-heading>button{height:38px;padding:0 16px;border-radius:8px;font-size:11px}.business-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px}.business-stats article{min-height:100px;padding:18px 19px;border:1px solid var(--line);border-radius:10px;background:white}.business-stats p{margin:0 0 9px;color:#778397;font-size:10px}.business-stats strong{display:inline-block;margin-right:10px;font-size:23px}.business-stats small{color:#95a0af;font-size:9px}.reserved-stat{background:linear-gradient(135deg,#f7faff,#fff)!important}.reserved-stat strong{color:#4779d3;font-size:18px}.business-panel{overflow:hidden}.list-tools{min-height:61px;display:flex;align-items:center;gap:10px;padding:0 17px;border-bottom:1px solid #edf0f5}.list-tools>div{display:flex;gap:4px;margin-right:auto}.list-tools>div button{height:30px;padding:0 11px;border:0;border-radius:6px;color:#7d899b;background:transparent;font-size:9px}.list-tools>div button.active{color:#2f6fe4;background:#eef4ff;font-weight:700}.list-tools label{width:220px;height:32px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #e3e8ef;border-radius:7px;color:#9aa5b5}.list-tools input{min-width:0;flex:1 1;border:0;outline:0;font-size:9px}.filter-button{height:32px;padding:0 11px;border:1px solid #e3e8ef;border-radius:7px;color:#657388;background:white;font-size:9px}.business-table th{height:42px;padding:0 18px}.business-table td{height:58px;padding:0 18px;font-size:10px}.business-table td strong,.compact-table td{font-size:10px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f7faff}.pager{min-height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid #edf0f5;color:#96a1b1;font-size:9px}.pager div{display:flex;gap:5px}.pager button{width:27px;height:27px;border:1px solid #e2e7ee;border-radius:6px;color:#778397;background:white;font-size:9px}.pager button.current{color:white;border-color:#3976df;background:#3976df}.table-hint{padding:12px 18px;border-top:1px solid #edf0f5;color:#8190a5;background:#fafcff;font-size:9px}.drawer-backdrop{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;background:rgba(7,18,35,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.order-drawer{width:min(650px,94vw);height:100vh;overflow-y:auto;background:#f7f9fc;box-shadow:-14px 0 40px rgba(7,18,35,.18);animation:drawerIn .2s ease}@keyframes drawerIn{0%{transform:translateX(30px);opacity:.5}}.order-drawer>header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:20px 25px;color:white;background:linear-gradient(135deg,#17325a,#244f8c)}.order-drawer header p{margin:0 0 5px;color:#9bb8e1;font-size:9px}.order-drawer header h2{margin:0 0 5px;font-size:18px}.order-drawer header span{color:#c3d2e7;font-size:10px}.order-drawer header button{width:32px;height:32px;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:white;background:rgba(255,255,255,.08);font-size:19px}.order-drawer>nav{height:53px;display:flex;gap:19px;padding:0 24px;border-bottom:1px solid #e3e8ef;background:white}.order-drawer>nav button{position:relative;border:0;color:#778498;background:transparent;font-size:10px}.order-drawer>nav button.active{color:#2f6fe4;font-weight:700}.order-drawer>nav button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#2f6fe4}.order-drawer nav i{padding:2px 4px;border-radius:4px;color:#a26a22;background:#fff0d8;font-size:7px;font-style:normal}.drawer-content{padding:22px 24px 35px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid #e5e9f0;border-radius:9px;background:#e8ecf2}.detail-grid div{min-height:70px;padding:15px;background:white}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{margin-bottom:7px;color:#93a0b2;font-size:9px}.detail-grid strong{font-size:11px}.detail-section{margin-top:16px;padding:18px;border:1px solid #e5e9f0;border-radius:9px;background:white}.detail-section h3{margin:0 0 14px;font-size:11px}.product-tags{display:flex;flex-wrap:wrap;gap:8px}.product-tags span{padding:6px 10px;border-radius:6px;color:#516582;background:#f0f4fa;font-size:9px}.mini-timeline{display:grid;grid-template-columns:repeat(5,1fr)}.mini-timeline span{position:relative;padding-top:19px;color:#a0aab8;text-align:center;font-size:8px}.mini-timeline span:before{content:"";position:absolute;top:3px;left:50%;width:9px;height:9px;border:2px solid white;border-radius:50%;background:#cdd4de;box-shadow:0 0 0 1px #cdd4de;z-index:1}.mini-timeline span:after{content:"";position:absolute;top:7px;left:-50%;width:100%;height:2px;background:#dde2ea}.mini-timeline span:first-child:after{display:none}.mini-timeline span.current:before,.mini-timeline span.done:before{background:#3d78df;box-shadow:0 0 0 1px #3d78df}.mini-timeline span.current:after,.mini-timeline span.done:after{background:#3d78df}.mini-timeline span.current{color:#326bcf;font-weight:700}.bom-placeholder{padding:36px 38px;border:1px dashed #c9d6eb;border-radius:12px;background:linear-gradient(145deg,#fff,#f4f8ff);text-align:center}.bom-mark{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 18px;border-radius:16px;color:#316acb;background:#e7f0ff;font-size:14px;font-weight:800}.bom-placeholder h3{margin:0 0 10px;font-size:16px}.bom-placeholder>p{max-width:460px;margin:0 auto 21px;color:#7b899e;font-size:10px;line-height:1.8}.bom-placeholder>div{padding:16px 18px;border-radius:9px;background:white;text-align:left}.bom-placeholder>div>span{color:#50617a;font-size:10px;font-weight:700}.bom-placeholder ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;margin:13px 0 0;padding-left:17px;color:#758399;font-size:9px}.bom-placeholder>button{height:36px;margin-top:20px;padding:0 16px;border:0;border-radius:7px;color:#99a6b9;background:#e5eaf1;font-size:9px;cursor:not-allowed}.order-log{padding:4px 0 0 12px}.order-log>div{position:relative;display:flex;gap:13px;min-height:67px}.order-log>div:before{content:"";position:absolute;top:13px;bottom:-3px;left:4px;width:1px;background:#dbe2ec}.order-log>div:last-child:before{display:none}.order-log b{width:9px;height:9px;margin-top:5px;border:2px solid white;border-radius:50%;background:#4a81df;box-shadow:0 0 0 1px #4a81df;z-index:1}.order-log small,.order-log strong{display:block}.order-log strong{margin-bottom:6px;font-size:10px}.order-log small{color:#96a1b2;font-size:9px}.mes-strip{min-height:64px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 18px;border:1px solid #cfe0fa;border-radius:10px;background:#f2f7ff}.mes-strip>div{display:grid;grid-template-columns:auto auto;gap:4px 9px;align-items:center}.pulse{width:8px;height:8px;grid-row:span 2;border-radius:50%;background:#3ea57a;box-shadow:0 0 0 5px rgba(62,165,122,.1)}.mes-strip strong{color:#315b9f;font-size:11px}.mes-strip small{color:#7d91af;font-size:9px}.mes-strip button{height:30px;padding:0 10px;border:1px solid #ccd9ee;border-radius:7px;color:#5071a7;background:white;font-size:9px}.production-board{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;overflow-x:auto;margin-bottom:16px;padding-bottom:4px}.production-board>article{min-height:280px;padding:10px;border:1px solid #e1e6ed;border-radius:10px;background:#eef1f6}.production-board header{display:flex;align-items:center;gap:8px;padding:5px 3px 12px}.production-board header>span{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:#3b6fc8;background:white;font-size:9px;font-weight:700}.production-board header div{flex:1 1}.production-board header small,.production-board header strong{display:block}.production-board header strong{font-size:10px}.production-board header small{margin-top:3px;color:#94a0b0;font-size:8px}.production-board header b{color:#456ba7;font-size:18px}.job-card{margin-bottom:8px;padding:12px 11px;border:1px solid #e5e8ed;border-left:3px solid #4b80de;border-radius:8px;background:white;box-shadow:0 3px 8px rgba(31,49,75,.035)}.job-card strong{color:#3467bd;font-size:9px}.job-card p{margin:6px 0;color:#4f5c6e;font-size:9px}.job-card small{color:#9ba5b3;font-size:8px}.job-card.muted{border-left-color:#aeb8c7}.machine-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert-count,.interface-badge{padding:4px 7px;border-radius:6px;color:#5475a9;background:#edf3fc;font-size:8px}.alert-count{color:#c24d56;background:#fff0f1}.exception-list,.machine-list{padding:8px 18px 15px}.machine-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 9px;padding:11px 0;border-bottom:1px solid #eff1f5}.machine-list>div>span{width:8px;height:8px;grid-row:span 2;border-radius:50%}.machine-list .run{background:#42aa7d}.machine-list .idle{background:#aeb7c3}.machine-list strong{font-size:10px}.machine-list small{color:#96a1b1;font-size:8px}.machine-list b{grid-row:span 2;color:#416db5;font-size:10px}.exception-list>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eff1f5}.exception-list>div>b{width:34px;height:26px;display:grid;place-items:center;border-radius:6px;color:#bd5b3f;background:#fff0e9;font-size:8px}.exception-list span{flex:1 1}.exception-list small,.exception-list strong{display:block}.exception-list strong{margin-bottom:4px;font-size:9px}.exception-list small{color:#99a4b3;font-size:8px}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.role-grid article{display:flex;align-items:center;gap:12px;min-height:112px;padding:17px}.role-grid article>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#3269ca;background:#eaf1fe;font-size:12px;font-weight:700}.role-grid article>div{flex:1 1}.role-grid h3{margin:0 0 5px;font-size:11px}.role-grid p{margin:0 0 7px;color:#8793a5;font-size:8px;line-height:1.5}.role-grid small{color:#5678ac;font-size:8px}.role-grid button{align-self:flex-start;border:0;color:#4e74af;background:transparent;font-size:8px}.security-note{display:flex;gap:12px;margin-top:15px;padding:14px 17px;border:1px solid #f0d7aa;border-radius:9px;color:#866129;background:#fffaf1;font-size:9px}.security-note span{color:#927545}@media (max-width:1180px){.metrics{grid-template-columns:1fr 1fr}.bottom-grid,.main-grid{grid-template-columns:1fr}.business-stats,.role-grid{grid-template-columns:1fr 1fr}.login-features{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{width:72px}.brand{justify-content:center;padding:0}.brand>button,.brand>span:nth-child(2),.nav p,.nav-label,.sidebar-footer{display:none}.nav button{justify-content:center;padding:0}.nav-mark{width:28px;height:28px}.chevron{display:none}.workspace{width:calc(100% - 72px);margin-left:72px}.topbar{padding:0 16px}.logout,.search,.user b,.user div{display:none}.content{padding:18px 14px}.welcome{align-items:flex-start;gap:18px}.welcome-actions .secondary{display:none}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:112px;padding:16px}.metric-icon{display:none}.flow{overflow-x:auto;justify-content:flex-start;gap:18px}.flow-step{min-width:65px}.flow-step i{display:none}.login-page{display:block}.login-story{display:none}.login-form-wrap{padding:24px}.mobile-brand{display:flex;margin-bottom:44px}.mobile-brand>span{width:38px;height:38px}.mobile-brand strong{font-size:16px}.page-heading{align-items:flex-start;gap:14px}.page-heading span{display:block;line-height:1.6}.business-stats{grid-template-columns:1fr 1fr;gap:10px}.list-tools{flex-wrap:wrap;padding:10px}.list-tools>div{width:100%;overflow-x:auto}.list-tools label{flex:1 1;width:auto}.machine-grid,.role-grid{grid-template-columns:1fr}}@media (max-width:520px){.welcome h1{font-size:18px}.welcome>div>span{display:none}.metrics{grid-template-columns:1fr}.bottom-grid{display:block}.quick-panel{margin-top:16px}.business-stats{grid-template-columns:1fr}.page-heading>button{white-space:nowrap}.detail-grid{grid-template-columns:1fr}.bom-placeholder{padding:27px 18px}.bom-placeholder ul{grid-template-columns:1fr}.security-note{display:block}.security-note strong{display:block;margin-bottom:6px}}.database-message{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-6px 0 14px;padding:0 13px;border:1px solid #cce5d9;border-radius:8px;color:#2a7558;background:#edf9f3;font-size:9px}.database-message.error{color:#a24d4d;border-color:#efcaca;background:#fff2f2}.database-message button{height:27px;padding:0 9px;border:1px solid;border-radius:6px;color:inherit;background:white;font-size:8px}.empty-door-orders{padding:40px 20px;color:#8d99aa;text-align:center;font-size:9px;line-height:1.8}.door-head-actions{display:flex;align-items:center;gap:7px}.door-head-actions>button{height:31px;padding:0 9px;border:1px solid #dfe5ed;border-radius:7px;color:#56708f;background:white;font-size:8px}.door-head-actions .danger-link{color:#b35b5b;border-color:#efd7d7}.door-head-actions .small-primary{color:white}.door-order-editor{width:min(1220px,96vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#f5f7fa;box-shadow:0 26px 70px rgba(7,18,35,.34)}.door-order-editor>header{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:white;background:linear-gradient(125deg,#18345c,#2d62ac)}.door-order-editor>header p{margin:0 0 5px;color:#a8c2e9;font-size:8px}.door-order-editor>header h2{margin:0 0 5px;font-size:17px}.door-order-editor>header span{color:#c7d7ed;font-size:9px}.door-order-editor>header button{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:white;background:rgba(255,255,255,.08);font-size:20px}.door-order-editor>main{overflow-y:auto;padding:16px}.order-base-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:17px;border:1px solid #e0e5ec;border-radius:10px;background:white}.order-base-fields label,.order-panel-editor article label{color:#627086;font-size:8px}.order-base-fields input,.order-base-fields select,.order-base-fields textarea,.order-panel-editor article input,.order-panel-editor article select{width:100%;height:34px;margin-top:6px;padding:0 9px;border:1px solid #dfe5ed;border-radius:6px;outline:0;color:#354156;background:white;font-size:9px}.order-base-fields label.full{grid-column:1/-1}.order-base-fields textarea{min-height:60px;padding-top:9px;resize:vertical}.order-panel-editor{margin-top:14px;padding:15px;border:1px solid #e0e5ec;border-radius:10px;background:white}.order-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.order-panel-title small,.order-panel-title strong{display:block}.order-panel-title strong{margin-bottom:5px;font-size:11px}.order-panel-title small{color:#8c98aa;font-size:8px}.order-panel-title>button{height:30px;padding:0 10px;border:1px solid #bfd1ef;border-radius:7px;color:#3068ca;background:#f2f7ff;font-size:8px}.order-panel-editor article{display:grid;grid-template-columns:48px repeat(5,minmax(100px,1fr));gap:9px;align-items:end;padding:12px 0;border-top:1px solid #edf0f4}.panel-row-number{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.panel-row-number b{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:#3469c4;background:#edf3fe;font-size:9px}.panel-row-number button{border:0;color:#b85d5d;background:transparent;font-size:7px}.door-order-editor>footer{min-height:62px;display:flex;align-items:center;gap:9px;padding:0 20px;border-top:1px solid #dfe5ed;background:white}.door-order-editor>footer span{flex:1 1;color:#748196;font-size:9px}.door-order-editor>footer button{height:34px;padding:0 16px;border-radius:7px;font-size:9px}@media (max-width:1180px){.order-base-fields{grid-template-columns:1fr 1fr}.order-panel-editor article{grid-template-columns:40px repeat(3,minmax(110px,1fr))}}@media (max-width:760px){.door-head-actions .danger-link{display:none}.door-order-editor{width:100vw;max-height:100vh;height:100vh;border-radius:0}.order-panel-editor article{grid-template-columns:36px 1fr 1fr}}@media (max-width:520px){.order-base-fields{grid-template-columns:1fr}.order-base-fields label.full{grid-column:auto}.order-panel-editor article{grid-template-columns:30px 1fr}.door-order-editor>footer span{display:none}.door-order-editor>footer button{flex:1 1}}button:disabled{cursor:not-allowed;opacity:.55}select,textarea{font:inherit}.small-primary{height:32px;padding:0 12px!important;border:1px solid var(--blue)!important;border-radius:7px;color:white!important;background:var(--blue)!important;box-shadow:0 6px 12px rgba(47,111,228,.15)}.door-workspace{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(560px,1.42fr);gap:16px}.door-list-panel,.selected-door{min-width:0;overflow:hidden}.door-order-list{padding:8px}.door-order-list>button{width:100%;min-height:76px;display:grid;grid-template-columns:1.2fr .8fr auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:9px;color:#526075;background:white;text-align:left}.door-order-list>button+button{border-top-color:#eff2f6;border-radius:0}.door-order-list>button.active{border-color:#cfdcf3;border-radius:9px;background:#f4f8ff;box-shadow:0 4px 12px rgba(45,98,190,.06)}.door-order-list b,.door-order-list small,.door-order-list span,.door-order-list strong{display:block}.door-order-list strong{margin-bottom:7px;color:#2f64bd;font-size:11px}.door-order-list b{margin-bottom:7px;color:#39475a;font-size:10px}.door-order-list small{color:#96a1b0;font-size:8px;line-height:1.5}.door-order-list i{padding:5px 7px;border-radius:6px;font-size:8px;font-style:normal}.door-order-list i.done{color:#28805e;background:#eaf7f1}.door-order-list i.pending{color:#a86b23;background:#fff2df}.door-preview-wrap{padding:21px 24px 18px;background:linear-gradient(180deg,#fbfcfe,#f6f8fb)}.door-axis{display:flex;justify-content:space-between;margin-bottom:9px;color:#8794a7;font-size:8px}.door-board{position:relative;width:min(94%,780px);aspect-ratio:4.15/1;margin:0 auto;border:2px solid #b9c9dd;background:repeating-linear-gradient(90deg,rgba(91,119,151,.035),rgba(91,119,151,.035) 1px,transparent 0,transparent 26px),linear-gradient(145deg,#f6f0e5,#fffdf7);box-shadow:inset 0 0 0 5px rgba(255,255,255,.7),0 9px 20px rgba(43,61,82,.08);overflow:hidden}.door-grain{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#b3a68f;font-size:8px;letter-spacing:3px}.hinge-mark{position:absolute;width:18px;height:18px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid #3974d8;border-radius:50%;color:#3974d8;background:rgba(237,244,255,.92);box-shadow:0 0 0 4px rgba(57,116,216,.1);font-style:normal}.hinge-mark b,.pocket-mark{font-size:7px}.pocket-mark{position:absolute;min-width:28px;min-height:20px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid #dd8a34;color:#b46b22;background:rgba(255,243,224,.9)}.pocket-mark.round{width:31px;height:31px;border-radius:50%}.pocket-mark.rounded{width:48px;height:27px;border-radius:9px}.corner-mark{position:absolute;padding:3px 5px;color:#a85835;background:rgba(255,237,229,.94);font-size:7px}.corner-mark.topLeft{left:2px;top:2px}.corner-mark.topRight{right:2px;top:2px}.corner-mark.bottomRight{right:2px;bottom:2px}.corner-mark.bottomLeft{left:2px;bottom:2px}.preview-legend{display:flex;justify-content:center;gap:17px;margin-top:13px;color:#8794a7;font-size:8px}.preview-legend span{display:flex;align-items:center;gap:5px}.legend-hole{width:8px;height:8px;border:2px solid #3974d8;border-radius:50%}.legend-shape{width:9px;height:7px;border:2px solid #dd8a34;border-radius:2px}.machining-summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e9edf3}.machining-summary>div{min-width:0;padding:16px;border-right:1px solid #edf0f4}.machining-summary>div:last-child{border-right:0}.machining-summary small,.machining-summary span,.machining-summary strong{display:block}.machining-summary span{margin-bottom:7px;color:#929eb0;font-size:8px}.machining-summary strong{margin-bottom:6px;font-size:11px}.machining-summary small{overflow:hidden;color:#7e8b9e;font-size:8px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.machining-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:rgba(6,16,31,.58);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.machining-editor{width:min(1280px,96vw);height:min(860px,94vh);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#f4f6fa;box-shadow:0 26px 70px rgba(7,18,35,.34)}.machining-editor>header{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:white;background:linear-gradient(125deg,#18345c,#2d62ac)}.machining-editor>header p{margin:0 0 5px;color:#a8c2e9;font-size:8px}.machining-editor>header h2{margin:0 0 5px;font-size:17px}.machining-editor>header span{color:#c7d7ed;font-size:9px}.machining-editor>header button{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:white;background:rgba(255,255,255,.08);font-size:20px}.machining-body{min-height:0;flex:1 1;display:grid;grid-template-columns:340px 1fr;overflow:hidden}.machining-form{overflow-y:auto;padding:14px;border-right:1px solid #dfe5ed;background:white}.machining-form>section{margin-bottom:12px;padding:15px;border:1px solid #e6eaf0;border-radius:9px}.form-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.form-section-head strong{font-size:10px}.form-section-head small{color:#9aa5b4;font-size:8px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.number-field,.select-field,.text-field{display:block;color:#657287;font-size:8px}.number-field>span,.select-field>span,.text-field>span{display:block;margin-bottom:6px}.number-field>div{height:33px;display:flex;align-items:center;padding:0 8px;border:1px solid #dfe5ed;border-radius:6px;background:white}.number-field input{min-width:0;width:100%;border:0;outline:0;color:#364256;font-size:9px}.number-field small{color:#a2acba;font-size:7px}.select-field select,.text-field input{width:100%;height:33px;padding:0 9px;border:1px solid #dfe5ed;border-radius:6px;outline:0;color:#364256;background:white;font-size:9px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.choice-row button{height:31px;border:1px solid #e0e5ed;border-radius:6px;color:#748196;background:#fafbfc;font-size:8px}.choice-row button.active{color:#2d68cc;border-color:#bcd0f2;background:#eef4ff;font-weight:700}.formula-note{margin:10px 0 0;color:#8290a4;font-size:8px;line-height:1.7}.machining-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.machining-tools button{min-height:42px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #e0e6ef;border-radius:7px;color:#596a82;background:#fafcff;text-align:left;font-size:8px}.machining-tools button:hover{color:#2d68cc;border-color:#bbcff1;background:#f2f7ff}.machining-tools b{color:#3973d7;font-size:12px}.machining-canvas{min-width:0;overflow-y:auto;padding:16px}.machining-canvas .door-preview-wrap{border:1px solid #dfe5ed;border-radius:10px;background:white}.feature-list{margin-top:14px}.feature-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.feature-list-head strong{font-size:11px}.feature-list-head span{color:#8592a5;font-size:8px}.empty-feature{padding:22px;border:1px dashed #ccd5e1;border-radius:9px;color:#8b97a8;background:white;text-align:center;font-size:9px}.feature-list article{margin-bottom:8px;padding:12px 14px;border:1px solid #e1e6ed;border-radius:9px;background:white}.feature-list article>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.feature-list article header div{display:flex;align-items:center;gap:8px}.feature-list article header b{color:#3b66aa;font-size:9px}.feature-list article header small{color:#9aa5b4;font-size:8px}.feature-list article header button{border:0;color:#c56868;background:transparent;font-size:8px}.feature-fields{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px}.machining-editor>footer{min-height:62px;display:flex;align-items:center;gap:9px;padding:0 20px;border-top:1px solid #dfe5ed;background:white}.machining-editor>footer>div{flex:1 1;font-size:9px}.validation-ok{color:#29835f}.validation-error{color:#c45c5c}.machining-editor>footer button{height:34px;padding:0 16px;border-radius:7px;font-size:9px}.cnc-warning{min-height:65px;display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;border:1px solid #f0d7a8;border-radius:10px;background:#fffaf0}.cnc-warning>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#a66a20;background:#ffedcc;font-size:12px;font-weight:700}.cnc-warning small,.cnc-warning strong{display:block}.cnc-warning strong{margin-bottom:4px;color:#775321;font-size:10px}.cnc-warning small{color:#947448;font-size:8px;line-height:1.5}.selection-count{color:#708096;font-size:9px}.export-button{height:32px;padding:0 12px;border-radius:7px;font-size:9px}.cnc-panel input[type=checkbox]{accent-color:var(--blue)}.table-sub{display:block;margin-top:5px;color:#99a4b2;font-size:8px}.status-error{color:#b75c43;background:#fff0ea}.export-result{display:flex;flex-wrap:wrap;gap:7px 16px;padding:13px 17px;border-top:1px solid #e8edf3;color:#708097;background:#f9fbfe;font-size:8px}.export-result strong{width:100%;color:#385f9d;font-size:9px}.hinge-layout{display:grid;grid-template-columns:270px minmax(680px,1fr);gap:16px}.hinge-list{overflow:hidden}.hinge-list>button{width:calc(100% - 16px);min-height:66px;display:flex;align-items:center;justify-content:space-between;margin:8px;padding:10px 11px;border:1px solid transparent;border-radius:8px;color:#5f6c80;background:white;text-align:left}.hinge-list>button+button{margin-top:-4px}.hinge-list>button.active{border-color:#c9d9f2;background:#f2f7ff}.hinge-list b,.hinge-list small,.hinge-list span,.hinge-list strong{display:block}.hinge-list strong{margin-bottom:5px;color:#3264b8;font-size:10px}.hinge-list b{margin-bottom:5px;text-align:right;font-size:11px}.hinge-list small{color:#97a2b2;font-size:7px}.hinge-editor{min-width:0;overflow:hidden}.hinge-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;padding:16px 18px;border-bottom:1px solid #e9edf3}.check-field{min-height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #e2e7ed;border-radius:6px;color:#667489;font-size:8px}.check-field input{accent-color:var(--blue)}.formula-editor{padding:16px 18px 20px}.formula-editor>div{display:flex;justify-content:space-between;margin-bottom:10px}.formula-editor strong{font-size:10px}.formula-editor small{color:#8996a8;font-size:8px}.formula-editor table{border:1px solid #e4e9ef;border-radius:8px;white-space:normal}.formula-editor td,.formula-editor th{height:36px;padding:0 10px;font-size:8px}.formula-editor input[type=number]{width:74px;height:26px;padding:0 6px;border:1px solid #dfe5ed;border-radius:5px;outline:0;font-size:8px}.formula-editor input[type=checkbox]{accent-color:var(--blue)}.portal-tabs{display:flex;gap:5px;margin-bottom:16px}.portal-tabs button{height:34px;padding:0 14px;border:1px solid #dfe5ed;border-radius:7px;color:#708096;background:white;font-size:9px}.portal-tabs button.active{color:#2f69cf;border-color:#c1d4f3;background:#eef4ff;font-weight:700}.customer-portal{display:grid;grid-template-columns:310px minmax(520px,1fr);overflow:hidden;border:1px solid #dfe5ed;border-radius:13px;background:white;box-shadow:0 8px 24px rgba(21,37,61,.06)}.customer-portal>aside{min-height:600px;padding:44px 32px;color:white;background:radial-gradient(circle at 90% 10%,rgba(93,150,239,.4),transparent 35%),linear-gradient(150deg,#17365f,#0d213b)}.portal-brand{width:48px;height:48px;display:grid;place-items:center;margin-bottom:30px;border-radius:13px;background:#3473dc;font-size:22px;font-weight:700}.customer-portal aside p{margin:0 0 10px;color:#9bb7dc;font-size:9px}.customer-portal aside h2{margin:0 0 14px;font-size:24px}.customer-portal aside>small{color:#aabbd2;font-size:9px;line-height:1.9}.customer-portal aside>div{display:grid;gap:10px;margin-top:44px;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.04)}.customer-portal aside>div b{margin-bottom:4px;color:#dbe7f6;font-size:9px}.customer-portal aside>div span{color:#9fb2cb;font-size:8px}.customer-portal aside>div span:before{content:"✓";margin-right:7px;color:#69a1f1}.customer-portal form{padding:34px 38px}.form-title{display:flex;justify-content:space-between;margin-bottom:23px}.form-title strong{font-size:15px}.form-title small{color:#9ba6b5;font-size:8px}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.portal-form-grid label{color:#59677b;font-size:9px}.portal-form-grid label.full{grid-column:1/-1}.portal-form-grid input,.portal-form-grid select,.portal-form-grid textarea{width:100%;margin-top:7px;padding:0 10px;border:1px solid #dfe5ed;border-radius:7px;outline:0;color:#364256;background:white;font-size:9px}.portal-form-grid input,.portal-form-grid select{height:37px}.portal-form-grid textarea{min-height:80px;padding-top:10px;resize:vertical}.upload-field{padding:12px;border:1px dashed #cbd5e3;border-radius:8px;background:#fafcff}.upload-field input{height:auto;margin:8px 0;padding:0;border:0;background:transparent}.upload-field span{display:block;color:#94a0b1;font-size:8px}.portal-submit{height:38px;margin-top:20px;padding:0 18px;border-radius:8px;font-size:9px}.submit-success{margin:16px 0 0;padding:10px 12px;border-radius:7px;color:#28795a;background:#eaf7f1;font-size:9px}@media (max-width:1180px){.door-workspace,.hinge-layout{grid-template-columns:1fr}.machining-summary{grid-template-columns:1fr 1fr}.machining-body{grid-template-columns:300px 1fr}.feature-fields{grid-template-columns:repeat(3,minmax(100px,1fr))}.customer-portal{grid-template-columns:260px 1fr}}@media (max-width:760px){.door-order-list>button{grid-template-columns:1fr auto}.door-order-list>button span:nth-child(2){display:none}.machining-editor{width:100vw;height:100vh;border-radius:0}.machining-backdrop{padding:0}.machining-body{display:block;overflow-y:auto}.machining-canvas,.machining-form{overflow:visible}.machining-editor>footer{position:sticky;bottom:0}.feature-fields,.hinge-fields{grid-template-columns:1fr 1fr}.formula-editor{overflow-x:auto}.formula-editor table{min-width:650px}.customer-portal{grid-template-columns:1fr}.customer-portal>aside{min-height:auto;padding:28px}.customer-portal aside>div{display:none}.customer-portal form{padding:26px 22px}}@media (max-width:520px){.hinge-fields,.machining-summary,.portal-form-grid{grid-template-columns:1fr}.machining-summary>div{border-bottom:1px solid #edf0f4}.preview-legend{flex-wrap:wrap}.door-axis{display:none}.feature-fields{grid-template-columns:1fr}.machining-editor>footer>div{display:none}.machining-editor>footer button{flex:1 1}.portal-form-grid label.full{grid-column:auto}}.number-rule{padding:12px 0 20px;margin:12px 0;border-bottom:1px solid var(--erp-divider)}.wo-heading-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 18px}.wo-card{margin-bottom:16px}.wo-tabs{display:flex;gap:22px;border-bottom:1px solid var(--erp-divider);margin:-4px 0 18px;overflow:auto}.v1-shell .wo-tabs button{position:relative;border:0;border-radius:0;padding:12px 4px 15px;background:transparent;color:var(--muted);white-space:nowrap}.v1-shell .wo-tabs button.on{color:var(--erp-primary);font-weight:600;border-bottom:2px solid var(--erp-primary)}.wo-tabs span{font-size:12px;margin-left:4px}.wo-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:18px}.wo-filters label{display:flex;flex-direction:column;gap:7px;color:#4e514c;font-size:13px}.wo-filters input{max-width:220px}.wo-filters select{min-width:110px}.wo-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;color:var(--muted);font-size:13px}.wo-auto{margin-left:auto}.wo-number{display:flex;align-items:center;gap:3px}.v1-shell .wo-number button{margin:0}.wo-branch,.wo-spacer{width:24px;display:inline-block}.wo-branch{color:#9b9d98;text-align:center;margin-left:16px}.v1-shell .wo-select{color:var(--text);text-align:left}.wo-child{background:var(--erp-surface)}.wo-active{background:#f0f5ef}.wo-pagination{justify-content:space-between;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:13px}.wo-pagination,.wo-pagination>div{display:flex;align-items:center;gap:12px}.wo-related-title{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:14px}.wo-related-title>span{color:var(--muted);font-size:13px}.wo-related-title>button{margin-left:auto}.v1-shell .wo-related-title h2{margin:0}.wo-related .v1-empty{padding:26px}.wo-note{font-size:12px;margin:14px 0 0}@media(min-width:1250px){.v1-shell:has(.wo-card) .v1-page-heading{padding-right:260px}.wo-heading-actions{position:absolute;right:32px;top:134px}}@media(max-width:640px){.wo-auto{margin-left:0}.wo-filters label{flex:1 1 130px}.wo-filters input{max-width:100%;width:100%}}.v1-shell{font-size:14px;color:var(--text);background:var(--canvas)}.v1-shell>aside{width:232px;padding:0 12px;gap:0;background:var(--erp-sidebar);color:var(--text);border-right:1px solid var(--line);z-index:20;overflow-y:auto}.v1-brand{min-height:92px;padding:19px 10px 15px;border-bottom:1px solid var(--line)}.v1-brand-logo{display:block;width:158px;height:33px;object-fit:contain;object-position:left center}.v1-brand>span{display:block;margin-top:6px;color:var(--muted);font-size:12px;letter-spacing:.7px}.v1-shell nav{padding:18px 0;flex:1 1}.v1-shell nav section+section{margin-top:24px}.v1-shell>aside .v1-nav-group{margin:0 0 7px;padding:0 12px;color:var(--muted);font-size:12px}.v1-shell>aside button{width:100%;padding:10px 12px;margin:2px 0;border-radius:8px;color:var(--text);font-size:14px;line-height:1.45}.v1-shell>aside button:hover{background:#e9e9e6}.v1-shell>aside button.selected{background:var(--erp-active);color:var(--text);font-weight:500}.v1-account{border-top:1px solid var(--line);padding:14px 0}.v1-account-row{display:flex;align-items:center;gap:10px;padding:0 10px}.v1-account-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--erp-primary);background:#dbe2dc;flex-shrink:0}.v1-account-row small,.v1-account-row strong{display:block;font-size:13px}.v1-account-row small{color:var(--muted);font-size:12px;margin-top:4px}.v1-shell>aside .v1-account p{margin:12px 12px 4px;color:var(--muted);font-size:12px}.v1-shell>main{margin-left:232px;width:calc(100% - 232px);min-width:0;padding:0 32px 28px}.v1-topbar{height:80px;margin:0 -32px 30px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--erp-surface);display:flex;align-items:center;justify-content:space-between;gap:16px}.v1-topbar strong{display:block;font-size:17px;font-weight:650}.v1-topbar div>span{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.v1-environment{border-radius:7px;padding:6px 10px;color:var(--muted);background:var(--erp-sidebar);font-size:12px;white-space:nowrap}.v1-shell header.v1-page-heading{align-items:flex-end;margin-bottom:24px}.v1-shell .v1-page-heading .v1-eyebrow{display:block;font-size:12px;font-weight:600;color:var(--erp-primary);margin-bottom:8px}.v1-shell h1{font-size:28px;line-height:1.3;margin-bottom:8px}.v1-card p,.v1-dialog p,.v1-shell footer,.v1-shell header span{color:var(--muted)}.v1-shell footer{font-size:12px}.v1-login button,.v1-shell button{color:var(--text);border-color:var(--line);border-radius:8px;padding:8px 14px;font-size:14px;transition:background .15s,border-color .15s}.v1-login button:hover:not(:disabled),.v1-shell button:hover:not(:disabled){background:var(--erp-surface);border-color:#b9bdb6}.v1-login button,.v1-shell button.primary,.v1-shell button.selected{background:var(--erp-primary);border-color:var(--erp-primary);color:white;box-shadow:none}.v1-login button:hover:not(:disabled),.v1-shell button.primary:hover:not(:disabled),.v1-shell button.selected:hover:not(:disabled){background:var(--erp-primary-hover);color:white}.v1-login button:disabled,.v1-shell button:disabled{cursor:not-allowed}.v1-login :is(button,input):focus-visible,.v1-shell :is(button,input,select,textarea):focus-visible{outline:2px solid var(--erp-primary);outline-offset:3px}.v1-stats{gap:14px;margin-bottom:20px}.v1-stats>div{border-color:var(--line);border-radius:12px;padding:18px 20px;color:var(--muted);font-size:14px}.v1-stats b{color:var(--text);font-size:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v1-stats>div:nth-child(2) b{color:#956621}.v1-stats>div:nth-child(3) b{color:var(--erp-primary)}.v1-card{border-color:var(--line);border-radius:12px;padding:20px;min-width:0;overflow-x:auto}.v1-toolbar{gap:10px;margin:4px 0 20px}.v1-toolbar>input:first-child{min-width:240px}.v1-login input,.v1-shell input:not([type=checkbox]),.v1-shell select,.v1-shell textarea{border-color:var(--line);border-radius:8px;padding:9px 10px;color:var(--text);font-size:14px;background:white}.v1-shell input[type=checkbox]{accent-color:var(--erp-primary);width:15px;height:15px;vertical-align:middle}.v1-shell fieldset:disabled input,.v1-shell input:disabled{background:var(--erp-sidebar);color:var(--muted)}.v1-scroll{border:1px solid var(--erp-divider);border-radius:9px}.v1-shell table{font-size:14px}.v1-shell th{font-size:13px;font-weight:500;background:var(--erp-surface)}.v1-shell td,.v1-shell th{color:#4e514c;padding:12px}.v1-shell td{font-size:14px;border-color:var(--erp-divider);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v1-shell td small{color:var(--muted);font-size:12px}.v1-shell tbody tr:hover{background:#fafbf8}.v1-shell td button{background:transparent;border-color:transparent;padding:4px 6px}.v1-shell td button,.v1-tag{color:var(--erp-primary);font-size:13px}.v1-tag{background:var(--erp-soft);border-radius:6px;white-space:nowrap}.v1-tag[data-status="草稿"],.v1-tag[data-status="预审"]{background:#fcf1d9;color:#8b611e}.v1-tag[data-status="结束"]{background:var(--erp-sidebar);color:var(--muted)}.v1-overlay{background:#20211f70}.v1-dialog{border:1px solid var(--line);border-radius:16px}.v1-dialog>header{border-bottom:1px solid var(--erp-divider);padding-bottom:16px}.v1-field{font-size:14px;color:#4e514c}.v1-lines input{width:100px}.v1-shell .v1-lines td{padding:7px 4px}.v1-warning{color:#805e23!important;background:#fcf5e7;border:1px solid #eee0bd;border-radius:8px}.v1-login{background:var(--canvas);color:var(--text);padding:24px}.v1-login form{width:min(420px,100%);border:1px solid var(--line);padding:36px;border-radius:16px;box-shadow:0 10px 30px #22242012}.v1-login .v1-brand-logo{margin-bottom:32px;width:190px;height:40px}.v1-login h1{font-size:25px;color:var(--text)}.v1-login p,.v1-login small{color:var(--muted)}.v1-login input{width:100%}.v1-shell :is(.panel,.hinge-editor,.hinge-list,.modal-card){border-color:var(--line)}.v1-shell :is(.hinge-list button.active,.interface-badge,.feature-tabs button.active){background:var(--erp-soft);color:var(--erp-primary);border-color:var(--line)}.v1-shell :is(.panel-head,.formula-editor,.machining-summary,.modal-header,.modal-footer){border-color:var(--erp-divider)}.v1-shell .primary{background:var(--erp-primary);box-shadow:none}@media(max-width:1100px){.v1-shell>aside{width:192px}.v1-shell>main{margin-left:192px;width:calc(100% - 192px);padding:0 20px 24px}.v1-topbar{margin:0 -20px 24px;padding:0 20px}.v1-form,.v1-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.v1-shell{display:block}.v1-shell>aside{position:static;width:100%;padding:0 16px;border-right:0;border-bottom:1px solid var(--line)}.v1-brand{min-height:74px;padding:12px 0}.v1-shell nav{display:flex;gap:16px;overflow:auto;padding:12px 0}.v1-shell nav section{flex-shrink:0}.v1-shell nav section+section{margin:0}.v1-shell nav section button{display:inline-block;width:auto;margin-right:4px}.v1-shell>aside .v1-nav-group{padding:0}.v1-account{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.v1-shell>aside .v1-account p{display:none}.v1-shell>aside .v1-account button{width:auto}.v1-shell>main{width:100%;margin:0;padding:0 16px 24px}.v1-topbar{margin:0 -16px 22px;padding:0 16px;height:68px}.v1-shell h1{font-size:24px}.v1-shell header.v1-page-heading{flex-wrap:wrap}.v1-stats{gap:10px}.v1-stats>div{padding:14px}.v1-stats b{font-size:21px;overflow-wrap:anywhere}.v1-card,.v1-dialog{padding:14px}.v1-toolbar>input:first-child{min-width:0;width:100%}.v1-form{grid-template-columns:1fr}.v1-login form{padding:26px}}.v1-dialog .v1-field,.v1-dialog fieldset{min-width:0}.v1-dialog .v1-field input,.v1-dialog .v1-field select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.customer-dialog h3,.order-pricing h3{margin:24px 0 12px;font-size:16px;font-weight:600}.order-pricing{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.order-pricing table{min-width:1000px}.order-pricing input{width:110px}.order-pricing input[type=checkbox]{width:auto}.order-pricing select{max-width:240px}.v1-lines th .column-drag-handle{width:100%;border:0;background:transparent;padding:8px 4px;color:inherit;font:inherit;font-weight:600;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;text-align:left}.v1-lines th .column-drag-handle:active{cursor:grabbing}.v1-lines th.column-moving{opacity:.55}.v1-lines th.column-drop-before{box-shadow:inset 3px 0 #35634c}.v1-lines th.column-drop-after{box-shadow:inset -3px 0 #35634c}