:root{font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;color:#183028;background:#f3f6f3;font-synthesis:none;--ink: #183028;--muted: #708078;--line: #dce4de;--paper: #ffffff;--canvas: #f3f6f3;--forest: #102b21;--green: #176b48;--green-bright: #2b8b62;--green-soft: #e6f1ea;--cream: #f4f1e8;--amber: #a86f22;--danger: #b34845;--shadow: 0 18px 50px rgba(16, 43, 33, .09)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}h1,h2,h3,p{margin:0}.eyebrow{display:block;margin-bottom:7px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em}.eyebrow.light{color:#83c49f}.quiet{color:var(--muted);font-size:12px}.mono{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 17px;border:1px solid transparent;border-radius:9px;background:none;font-weight:700;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55;transform:none}.button.primary{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 7px 20px #176b4833}.button.primary:hover{background:#125c3d}.button.secondary{border-color:#cad8cf;color:var(--green);background:#fff}.button.secondary:hover{border-color:var(--green);background:#f7fbf8}.button.ghost{border-color:transparent;color:#607169}.button.ghost:hover{background:#edf2ee}.button.small{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.icon-button{display:inline-grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--line);border-radius:9px;color:#586a61;background:#fff;transition:.16s}.icon-button:hover{color:var(--green);border-color:#b8cec0;background:#f6faf7}.icon-button.subtle{width:30px;height:30px;border:0;background:transparent}.text-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:var(--green);background:none;font-size:12px;font-weight:750}.text-button:hover{text-decoration:underline}.text-button.danger{color:var(--danger)}.field{display:grid;min-width:0;gap:7px}.field>span{color:#53655c;font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid #ccd9d0;border-radius:8px;outline:0;color:var(--ink);background:#fff;transition:.16s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-bright);box-shadow:0 0 0 3px #2b8b621c}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);background:#fff}.login-story{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:46px 56px;color:var(--cream);background:var(--forest)}.login-story:before{position:absolute;right:-17%;bottom:-18%;width:600px;height:600px;border:1px solid rgba(255,255,255,.09);border-radius:50%;content:"";box-shadow:0 0 0 80px #ffffff06,0 0 0 180px #ffffff05}.login-story:after{position:absolute;top:18%;right:10%;width:180px;height:270px;content:"";transform:rotate(28deg);border-radius:100% 0;background:linear-gradient(135deg,rgba(69,164,119,.15),transparent 70%)}.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.brand-lockup .brand-mark{display:grid;width:43px;height:43px;place-items:center;border-radius:11px;color:var(--cream);background:var(--green)}.brand-lockup>span:last-child{display:grid;gap:2px}.brand-lockup b{font-family:Songti SC,STSong,PingFang SC,serif;font-size:18px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.brand-lockup small{color:#8eaa9d;font-size:9px;font-weight:650;letter-spacing:.22em}.login-copy{position:relative;z-index:1;max-width:680px}.login-copy h1{font-family:Georgia,Songti SC,serif;font-size:clamp(42px,4.6vw,60px);font-weight:500;line-height:1.2;letter-spacing:-.035em}.login-copy p{max-width:550px;margin-top:26px;color:#abc0b6;font-size:16px;line-height:1.85}.story-foot{position:relative;z-index:1;display:flex;align-items:center;gap:9px;color:#89a99a;font-size:12px}.login-panel{display:grid;min-height:100vh;padding:50px;place-items:center;background:linear-gradient(135deg,#fff,#f9fbf9)}.login-form{display:grid;width:min(410px,100%);gap:22px}.login-form h2{font-family:Georgia,Songti SC,serif;font-size:36px;font-weight:500}.login-form>div:first-child p{margin-top:8px;color:var(--muted);font-size:14px}.login-button{min-height:48px}.login-hint{color:#8a9891;text-align:center}.form-error{padding:11px 13px;border-radius:8px;color:var(--danger);background:#fff0ef;font-size:12px}.app-layout{display:grid;min-height:100vh;grid-template-columns:236px minmax(0,1fr);transition:grid-template-columns .2s ease}.app-layout.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.app-sidebar{position:sticky;z-index:30;top:0;display:flex;height:100vh;min-width:0;flex-direction:column;padding:24px 17px 18px;overflow:hidden;color:#edf4ef;background:var(--forest);transition:padding .2s ease}.sidebar-head{display:flex;align-items:center;gap:8px;padding:0 5px 25px}.sidebar-head .brand-lockup{min-width:0;flex:1}.sidebar-close{display:none}.app-sidebar nav{display:grid;gap:4px}.app-sidebar nav button{display:grid;min-height:44px;grid-template-columns:22px 1fr 16px;align-items:center;gap:10px;padding:0 13px;border:0;border-radius:8px;color:#96ada2;background:transparent;text-align:left;transition:.16s}.app-sidebar nav button:hover{color:#eaf4ee;background:#ffffff0f}.app-sidebar nav button.active{color:#fff;background:var(--green);box-shadow:0 8px 18px #00000021}.app-sidebar nav button span{font-size:13px;font-weight:700}.sidebar-collapse-button{display:grid;width:30px;height:30px;flex:0 0 30px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#8fa89c;background:#ffffff06}.sidebar-collapse-button:hover{color:#fff;border-color:#ffffff29;background:#ffffff0e}.sidebar-collapsed .app-sidebar{padding-right:12px;padding-left:12px}.sidebar-collapsed .sidebar-head{gap:4px;padding-right:0;padding-left:0}.sidebar-collapsed .brand-lockup{flex:0 0 38px;gap:0}.sidebar-collapsed .brand-lockup .brand-mark{width:38px;height:38px}.sidebar-collapsed .brand-lockup>span:last-child,.sidebar-collapsed .app-sidebar nav button span,.sidebar-collapsed .app-sidebar nav button .nav-chevron,.sidebar-collapsed .sidebar-user>div:nth-child(2){display:none}.sidebar-collapsed .app-sidebar nav button{grid-template-columns:1fr;justify-items:center;gap:0;padding:0}.sidebar-collapsed .sidebar-collapse-button{width:24px;height:30px;flex-basis:24px}.sidebar-collapsed .sidebar-user{grid-template-columns:1fr;justify-items:center;gap:4px;padding-right:0;padding-left:0}.sidebar-collapsed .sidebar-user button{width:34px;height:28px}.sidebar-user{display:grid;grid-template-columns:34px 1fr 30px;align-items:center;gap:9px;margin-top:auto;padding:12px 6px 0;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user .avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:#335448;font-weight:800}.sidebar-user>div:nth-child(2){display:grid;min-width:0;gap:2px}.sidebar-user strong{overflow:hidden;color:#eaf2ed;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sidebar-user span{color:#7f998d;font-size:10px}.sidebar-user button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:0;color:#819b8e;background:none}.sidebar-user button:hover{color:#fff}.sidebar-scrim{display:none}.app-main{min-width:0}.app-topbar{display:flex;height:62px;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #e2e8e3;background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.breadcrumb{display:flex;align-items:center;gap:7px;color:#8a9991;font-size:11px}.breadcrumb b{color:#42554c}.mobile-menu{display:none}.page-wrap{max-width:1500px;margin:0 auto;padding:34px 36px 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.page-heading h1{font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500;letter-spacing:-.02em}.page-heading p{margin-top:8px;color:var(--muted);font-size:13px}.panel{border:1px solid #e0e7e1;border-radius:13px;background:var(--paper);box-shadow:0 4px 17px #102b2109}.panel-heading{display:flex;min-height:73px;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid #e5ebe6}.panel-heading h3{font-family:Georgia,Songti SC,serif;font-size:20px;font-weight:500}.overview-layout{display:grid;gap:22px}.stat-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:14px}.stat-card{position:relative;min-height:154px;padding:21px;overflow:hidden;border:1px solid #dde6df;border-radius:12px;background:#fff}.stat-card p{color:#718078;font-size:12px;font-weight:650}.stat-card>strong{display:block;margin-top:16px;font-family:Georgia,serif;font-size:38px;font-weight:500}.stat-card>span:last-child{color:#86958d;font-size:11px}.stat-card.feature{color:#fff;border-color:var(--green);background:var(--green)}.stat-card.feature:after{position:absolute;right:-42px;bottom:-62px;width:160px;height:160px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:"";box-shadow:0 0 0 35px #ffffff09}.stat-card.feature p{color:#c1dbcc}.stat-card.feature button{display:flex;align-items:center;gap:6px;margin-top:5px;padding:0;border:0;color:#d9ede2;background:none;font-size:11px}.stat-icon{position:absolute;top:20px;right:20px;display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#ffffff1c}.recent-list{display:grid}.recent-list>button{display:grid;min-height:69px;grid-template-columns:38px 1fr auto 18px;align-items:center;gap:13px;padding:10px 22px;border:0;border-bottom:1px solid #edf1ed;background:transparent;text-align:left}.recent-list>button:last-child{border-bottom:0}.recent-list>button:hover{background:#f8faf8}.task-symbol{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;color:var(--green);background:var(--green-soft)}.recent-list>button>div{display:grid;gap:4px}.recent-list strong{font-size:13px}.recent-list>button>div span{color:var(--muted);font-size:11px}.status-chip{display:inline-flex;width:fit-content;align-items:center;gap:5px;padding:4px 8px;border-radius:99px;color:#53655c;background:#edf2ee;font-size:10px;font-style:normal;font-weight:750;white-space:nowrap}.status-chip.success,.status-completed{color:#176b48;background:#e2f2e8}.status-assigned,.status-lab_in_progress,.status-in_progress{color:#266c83;background:#e6f1f4}.status-submitted,.status-result_submitted,.status-result_pending{color:#94611e;background:#fff0d8}.status-returned{color:#a44340;background:#fde7e5}.data-panel{overflow:hidden}.responsive-table{overflow-x:auto}.data-row{display:grid;min-width:940px;grid-template-columns:145px 1.35fr 1.2fr 110px 90px 120px;align-items:center;gap:16px;min-height:68px;padding:10px 22px;border-bottom:1px solid #edf1ed;font-size:12px}.data-row:last-child{border-bottom:0}.data-row:not(.data-head):hover{background:#fafcfb}.data-row.data-head{min-height:42px;color:#829188;background:#f7f9f7;font-size:10px;font-weight:800;letter-spacing:.04em}.data-row>span{min-width:0}.data-row>span>strong,.data-row>span>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-row>span>strong{font-size:12px}.data-row>span>small{margin-top:4px;color:var(--muted);font-size:10px}.task-table .data-row{grid-template-columns:155px 1.35fr 1.05fr 1fr 82px 245px}.row-buttons{display:flex;flex-wrap:wrap;gap:8px 13px}.catalog-panel{overflow:hidden}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border-bottom:1px solid var(--line)}.catalog-toolbar>span{color:var(--muted);font-size:11px;white-space:nowrap}.search-box{display:flex;min-height:40px;align-items:center;gap:8px;padding-left:12px;border:1px solid #ccd9d0;border-radius:8px;background:#fff}.search-box:focus-within{border-color:var(--green-bright);box-shadow:0 0 0 3px #2b8b6217}.search-box svg{flex:0 0 auto;color:#82938a}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent}.search-box button{align-self:stretch;padding:0 13px;border:0;border-left:1px solid #dce5de;color:var(--green);background:#f7faf8;font-size:11px;font-weight:750}.search-box.large{width:min(650px,100%)}.erp-formula-table-wrap{width:100%;overflow-x:auto}.erp-formula-list{width:100%;min-width:930px;border-collapse:collapse;table-layout:fixed}.erp-formula-list th,.erp-formula-list td{min-height:40px;padding:10px 12px;border-right:1px solid #e1e6e2;border-bottom:1px solid #e1e6e2;font-size:12px;text-align:left;vertical-align:middle}.erp-formula-list th:last-child,.erp-formula-list td:last-child{border-right:0}.erp-formula-list thead th{color:#526159;background:#f2f4f3;font-size:11px;font-weight:750}.erp-formula-list .expand-column{width:45px}.erp-formula-list th:nth-child(2){width:25%}.erp-formula-list th:nth-child(4){width:100px}.erp-formula-list th:nth-child(5){width:140px}.erp-formula-list>tbody>tr:not(.formula-detail-row):hover,.erp-formula-list>tbody>tr.expanded-row{background:#f8fbf9}.formula-expand-button{display:grid;width:24px;height:24px;padding:0;place-items:center;border:0;border-radius:5px;color:#55665e;background:transparent}.formula-expand-button:hover{color:var(--green);background:var(--green-soft)}.formula-code{font-family:SFMono-Regular,Consolas,monospace;font-weight:700}.version-tag{display:inline-flex;padding:4px 8px;border:1px solid #bce2c9;border-radius:5px;color:#22964e;background:#eaf8ee;font-size:10px}.formula-detail-row>td{padding:0;border-left:3px solid #409eff;background:#f6f8fb}.erp-formula-detail{padding:12px 20px}.erp-formula-meta{display:flex;flex-wrap:wrap;gap:30px;padding:0 0 13px;color:#66736c;font-size:12px}.erp-formula-meta b{color:#3f4f47}.erp-inner-formula-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}.erp-inner-formula-table th,.erp-inner-formula-table td{height:31px;padding:6px 9px;border:1px solid #e0e4e1;font-size:11px}.erp-inner-formula-table th{color:#2f3d36;background:#f0f0f0;font-weight:750}.erp-inner-formula-table th:nth-child(1){width:80px}.erp-inner-formula-table th:nth-child(2){width:75px}.erp-inner-formula-table th:nth-child(3){width:130px}.erp-inner-formula-table th:nth-child(5){width:90px}.erp-inner-formula-table th:nth-child(6){width:100px;text-align:right}.erp-inner-formula-table th:nth-child(7){width:40%}.erp-inner-formula-table td:first-child{text-align:center}.erp-inner-formula-table .qty-cell{text-align:right;font-variant-numeric:tabular-nums}.erp-inner-formula-table .instruction-cell{padding:12px 14px;white-space:pre-line;line-height:1.8;vertical-align:middle}.pagination-bar{display:flex;min-height:62px;align-items:center;justify-content:flex-end;gap:14px;padding:12px 20px;border-top:1px solid #e5eae6;color:#718078;background:#fff;font-size:11px}.pagination-bar label{display:flex;align-items:center;gap:6px}.pagination-bar select{height:30px;padding:0 24px 0 8px;border:1px solid #d2dcd5;border-radius:6px;color:#46574e;background:#fff}.pagination-jump input{width:52px;height:30px;padding:0 6px;border:1px solid #d2dcd5;border-radius:6px;outline:0;color:#46574e;text-align:center}.pagination-jump input:focus{border-color:var(--green-bright);box-shadow:0 0 0 2px #2b8b6217}.pagination-pages{display:flex;gap:4px}.pagination-pages button{display:grid;width:31px;height:31px;padding:0;place-items:center;border:1px solid #d7dfd9;border-radius:6px;color:#52635a;background:#fff;font-size:11px}.pagination-pages button:hover:not(:disabled){color:var(--green);border-color:#94bba4;background:#f5faf7}.pagination-pages button.active{color:#fff;border-color:var(--green);background:var(--green)}.pagination-pages button:disabled{cursor:not-allowed;opacity:.4}.catalog-list{display:grid}.catalog-card{border-bottom:1px solid #e7ece8}.catalog-card:last-child{border-bottom:0}.catalog-summary{display:grid;width:100%;min-height:94px;grid-template-columns:42px minmax(260px,1fr) auto 20px;align-items:center;gap:15px;padding:15px 22px;border:0;background:#fff;text-align:left}.catalog-summary:hover,.catalog-card.expanded .catalog-summary{background:#fafcfb}.catalog-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;color:var(--green);background:var(--green-soft)}.catalog-summary>div:nth-child(2)>strong{color:var(--green);font-family:SFMono-Regular,monospace;font-size:11px}.catalog-summary h3{margin-top:3px;font-size:14px}.catalog-summary p{margin-top:4px;color:var(--muted);font-size:10px}.catalog-facts{display:flex;gap:34px}.catalog-facts span{display:grid;min-width:50px;gap:4px}.catalog-facts small{color:var(--muted);font-size:9px}.catalog-facts b{font-size:12px}.catalog-detail{padding:0 22px 22px 79px;background:#fafcfb}.compact-formula-table{overflow:hidden;border:1px solid #dce4de;border-radius:8px}.compact-formula-table .table-head,.compact-formula-table .table-row{display:grid;grid-template-columns:65px 150px 1.5fr 1fr 120px;gap:12px;align-items:center;min-height:37px;padding:6px 12px;border-bottom:1px solid #e8ede9;font-size:11px}.compact-formula-table .table-head{min-height:34px;color:#76867e;background:#f1f5f2;font-size:9px;font-weight:800}.compact-formula-table .table-row:last-child{border-bottom:0}.process-notes{margin-top:12px;padding:12px 15px;border-left:3px solid #8ab59c;color:#617068;background:#f3f8f4;font-size:11px;line-height:1.65}.material-catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#e6ece7}.material-catalog-grid article{display:grid;min-height:112px;grid-template-columns:38px 1fr auto;align-items:start;gap:13px;padding:20px;background:#fff}.material-catalog-grid article:hover{background:#fafcfb}.material-catalog-grid strong{color:var(--green);font-family:SFMono-Regular,monospace;font-size:11px}.material-catalog-grid h3{margin-top:6px;font-size:13px}.material-catalog-grid p{margin-top:5px;color:var(--muted);font-size:10px}.unit-chip{padding:3px 7px;border-radius:5px;color:#63736b;background:#edf2ee;font-size:9px;font-weight:700}.empty-state{display:grid;min-height:250px;place-items:center;align-content:center;gap:9px;padding:35px;text-align:center}.empty-state>span{display:grid;width:50px;height:50px;place-items:center;border-radius:14px;color:var(--green);background:var(--green-soft)}.empty-state h3{font-family:Georgia,Songti SC,serif;font-size:19px;font-weight:500}.empty-state p{max-width:430px;color:var(--muted);font-size:11px;line-height:1.65}.modal-layer{position:fixed;z-index:100;inset:0;display:grid;padding:22px;overflow:auto;place-items:center;background:#07181194;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.composer-shell{display:grid;width:min(1380px,97vw);height:min(900px,94vh);grid-template-rows:auto auto 1fr auto;overflow:hidden;border-radius:15px;background:var(--canvas);box-shadow:0 28px 90px #04120c4d}.composer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid #e0e7e1;background:#fff}.composer-header h2{font-family:Georgia,Songti SC,serif;font-size:24px;font-weight:500}.composer-progress{display:flex;justify-content:center;gap:7px;padding:13px;border-bottom:1px solid #e1e7e2;background:#fff}.composer-progress button{display:flex;min-width:160px;align-items:center;gap:8px;padding:7px 12px;border:0;border-radius:7px;color:#8b9891;background:transparent;font-size:11px;font-weight:700}.composer-progress button>span{display:grid;width:24px;height:24px;place-items:center;border:1px solid #ccd7cf;border-radius:50%;font-size:10px}.composer-progress button.active{color:var(--green);background:var(--green-soft)}.composer-progress button.active>span{color:#fff;border-color:var(--green);background:var(--green)}.composer-progress button.done{color:#6d7c74}.composer-progress button.done>span{color:#fff;border-color:#7aac90;background:#7aac90}.composer-body{min-height:0;padding:20px;overflow:auto}.composer-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.editor-card{min-width:0;padding:20px;border:1px solid #dfe6e0;border-radius:11px;background:#fff}.editor-card.full-span{grid-column:1 / -1}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.section-heading h3{font-family:Georgia,Songti SC,serif;font-size:19px;font-weight:500}.editor-card>.field+.field-row,.editor-card>.field-row+.segmented{margin-top:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:17px 0;padding:3px;border-radius:8px;background:#eef3ef}.segmented button{min-height:36px;border:0;border-radius:6px;color:#718077;background:none;font-size:11px;font-weight:700}.segmented button.active{color:var(--green);background:#fff;box-shadow:0 2px 7px #102b2114}.formula-choice-list{display:grid;max-height:280px;gap:6px;margin-top:12px;overflow-y:auto}.formula-choice{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border:1px solid #e0e7e1;border-radius:8px;background:#fff;text-align:left}.formula-choice:hover{border-color:#aac9b7}.formula-choice.selected{border-color:var(--green);background:#f2f8f4;box-shadow:inset 3px 0 var(--green)}.formula-choice>div:first-child{display:grid;gap:4px}.formula-choice strong{color:var(--green);font-family:SFMono-Regular,monospace;font-size:10px}.formula-choice span{font-size:12px}.formula-meta{display:flex;align-items:center;gap:11px;color:#7b8a82}.formula-meta span{font-size:9px}.formula-preview .compact-formula-table{overflow-x:auto}.formula-preview .compact-formula-table .table-head,.formula-preview .compact-formula-table .table-row{min-width:930px;grid-template-columns:58px 145px minmax(220px,1fr) 105px 125px 145px}.formula-preview .compact-formula-table .table-head span:nth-child(4),.formula-preview .compact-formula-table .table-row>:nth-child(4){display:block}.formula-flex-hint{margin-bottom:9px;color:#708078;font-size:10px}.formula-handwrite-preview{display:grid;height:29px;place-items:center;border:1px dashed #c8d2ca;border-radius:5px;color:#9aa59f;background:#fbfcfb;font-size:9px}.formula-editor-actions{display:flex;align-items:center;gap:9px}.formula-editor .table-row input{width:100%;min-width:0;height:30px;padding:4px 7px;border:1px solid #d5ded7;border-radius:5px;outline:0;color:var(--ink);background:#fff;font-size:10px}.formula-editor .table-row input:focus{border-color:var(--green-bright)}.formula-editor .placeholder-formula-row{background:#fffdf5}.formula-editor .linked-formula-row{box-shadow:inset 3px 0 #79b592}.formula-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.formula-source-tag{min-width:34px;padding:3px 5px;border-radius:5px;color:#8b6a33;background:#fff1cf;font-size:8px;font-weight:800;text-align:center}.formula-source-tag.linked{color:var(--green);background:var(--green-soft)}.base-material-picker{display:grid;gap:9px;margin-bottom:12px;padding:12px;border:1px solid #cddbd1;border-radius:8px;background:#f6faf7}.base-material-picker>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:11px}.base-material-results{display:grid;max-height:168px;grid-template-columns:repeat(3,1fr);gap:6px;overflow-y:auto}.base-material-results button{display:grid;gap:3px;padding:8px 10px;border:1px solid #dce5de;border-radius:6px;color:var(--ink);background:#fff;text-align:left}.base-material-results button:hover{border-color:var(--green);background:#f5faf7}.base-material-results strong{color:var(--green);font-family:monospace;font-size:9px}.base-material-results span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.empty-inline{padding:22px 10px;color:#89968f;font-size:11px;line-height:1.6;text-align:center}.composer-footer{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #dae3dc;background:#fff}.workbook-composer-shell{width:min(1880px,99.4vw);height:min(1040px,98vh)}.composer-progress.two-steps button{min-width:230px}.workbook-composer-body{padding:10px 12px 18px;background:#eef2ef}.workbook-task-meta{position:relative;z-index:90;display:grid;grid-template-columns:120px 160px 200px minmax(360px,1.6fr) minmax(280px,.85fr);align-items:end;gap:9px;padding:8px 12px;border:1px solid #dce5de;border-radius:10px 10px 0 0;background:#fff}.workbook-task-meta .field{gap:5px}.workbook-task-meta .field span{font-size:9px}.workbook-task-meta input,.workbook-task-meta select{height:34px}.compact-source-switch{align-self:end;margin:0}.compact-source-switch button{min-width:54px;height:34px}.workbook-task-meta .formula-inline-search{align-self:end}.formula-inline-search.disabled{opacity:.55}.formula-inline-search.disabled .search-box{background:#f5f7f5}.workbook-source-bar{position:relative;z-index:90;display:grid;grid-template-columns:245px minmax(350px,1fr) auto;align-items:center;gap:12px;padding:8px 13px;border:1px solid #dce5de;border-top:0;background:#fafcfb}.workbook-source-bar .segmented{margin:0}.formula-inline-search{position:relative}.formula-inline-results{position:absolute;z-index:120;top:calc(100% + 5px);left:0;right:0;display:grid;max-height:260px;gap:1px;overflow-y:auto;border:1px solid #cfdbd2;border-radius:8px;background:#e4ebe6;box-shadow:0 15px 35px #09231833}.formula-inline-results button{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border:0;color:var(--ink);background:#fff;text-align:left}.formula-inline-results button:hover,.formula-inline-results button.selected{background:#f0f8f3}.formula-inline-results strong{color:var(--green);font-family:monospace;font-size:10px}.formula-inline-results span{font-size:11px}.formula-inline-results small{color:var(--muted);font-size:9px}.current-formula{display:flex;max-width:330px;align-items:center;gap:7px;color:#617269;font-size:10px}.current-formula svg{flex:0 0 auto;color:var(--green)}.current-formula span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbook-loading{display:grid;min-height:470px;place-items:center;align-content:center;gap:8px;border:1px solid #dce5de;border-top:0;border-radius:0 0 10px 10px;color:var(--green);background:#fff}.workbook-loading span{color:var(--muted);font-size:10px}.semantic-sheet-shell{overflow:visible;border:1px solid #d8e2db;border-top:0;border-radius:0 0 11px 11px;background:#f3f6f3}.semantic-toolbar{position:sticky;z-index:80;top:0;display:flex;min-height:54px;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid #d2ded6;background:#fffffffa;box-shadow:0 4px 13px #1536271a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.semantic-tool-group{display:flex;align-items:center;gap:5px;padding-right:10px;border-right:1px solid #e4ebe6}.semantic-tool-group button,.semantic-editor-footer button{display:inline-flex;height:34px;align-items:center;gap:5px;padding:0 11px;border:1px solid #d2ded6;border-radius:7px;color:#496156;background:#fff;font-size:10px;font-weight:800}.semantic-tool-group button:hover,.semantic-tool-group button.active,.semantic-editor-footer button:hover{color:#176b48;border-color:#8fbea5;background:#edf7f1}.semantic-tool-group button:disabled{cursor:default;opacity:.35}.semantic-quantity-tools{display:flex;align-items:center;gap:7px}.semantic-quantity-tools label{display:flex;height:36px;align-items:center;gap:6px;padding:0 8px 0 10px;border:1px solid #d9e3dc;border-radius:8px;color:#687a70;background:#f8faf8;font-size:9px;font-weight:800;white-space:nowrap}.semantic-quantity-tools input{width:66px;height:27px;padding:0 6px;border:1px solid #cbd8cf;border-radius:5px;background:#fff;font-size:11px;font-weight:800;text-align:right}.semantic-quantity-tools b{color:#87948d;font-size:8px}.semantic-toolbar-material{position:relative;display:flex;width:min(460px,35vw);min-width:390px;flex:0 1 460px;align-items:center;gap:7px;margin-left:auto}.semantic-toolbar-material .search-box{width:100%;min-width:220px}.semantic-toolbar-material .search-box input{min-width:0}.material-target-switch{display:flex;flex:0 0 auto;gap:2px;padding:2px;border-radius:8px;background:#eaf0ec}.material-target-switch button{min-width:72px;height:30px;padding:0 11px;border:0;border-radius:6px;color:#73827a;background:transparent;font-size:10px;font-weight:800;white-space:nowrap}.material-target-switch button:last-child{min-width:88px}.material-target-switch button.active{color:#176b48;background:#fff;box-shadow:0 2px 7px #12372714}.semantic-material-results{position:absolute;z-index:130;top:calc(100% + 6px);left:0;right:0;display:grid;max-height:250px;overflow-y:auto;border:1px solid #c8d8ce;border-radius:9px;background:#fff;box-shadow:0 18px 42px #0a2a1c33}.semantic-material-results button{display:grid;min-height:46px;grid-template-columns:125px 1fr 180px 20px;align-items:center;gap:10px;padding:7px 12px;border:0;border-bottom:1px solid #e8ede9;color:#263a31;background:#fff;text-align:left}.semantic-material-results button:hover{background:#eff8f2}.semantic-material-results strong{color:#176b48;font:10px ui-monospace,monospace}.semantic-material-results span{font-size:10px;font-weight:700}.semantic-material-results small{overflow:hidden;color:#7c8a83;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.semantic-canvas{padding:14px;overflow:auto;background:radial-gradient(circle at 50% 0,#fafcfb,transparent 55%),#edf1ee}.semantic-paper{width:calc(var(--designer-paper-width) + 72px);min-width:1232px;margin:0 auto;overflow:hidden;border:1px solid #d4dfd7;border-radius:10px;color:#203128;background:#fff;box-shadow:0 10px 30px #12332417}.semantic-paper-head{display:grid;min-height:72px;grid-template-columns:230px 1fr 170px;align-items:center;padding:0 28px;color:#fff;background:linear-gradient(115deg,#123d2d,#1d6347)}.semantic-paper-head>div:first-child{display:grid;gap:3px}.semantic-paper-head>div:first-child span{color:#9dd0b6;font:9px ui-sans-serif,sans-serif;font-weight:900;letter-spacing:.18em}.semantic-paper-head>div:first-child strong{font:17px Georgia,Songti SC,serif;letter-spacing:.08em}.semantic-paper-product{display:grid;justify-items:center;gap:4px}.semantic-paper-product b{font:10px ui-monospace,monospace}.semantic-paper-product span{font-size:14px;font-weight:800}.semantic-paper-head>small{color:#b8d5c6;font-size:8px;text-align:right}.semantic-paper-note{display:flex;min-height:31px;align-items:center;justify-content:center;gap:22px;border-bottom:1px solid #dbe5de;color:#75857d;background:#f7faf8;font-size:8px}.semantic-paper-note span:before{content:"";display:inline-block;width:4px;height:4px;margin-right:5px;border-radius:50%;background:#69aa87;vertical-align:middle}.semantic-bom-table{border-collapse:collapse;table-layout:fixed}.semantic-bom-table th{position:relative;height:46px;padding:0 11px;color:#4d6459;border-right:1px solid #d9e3dc;border-bottom:1px solid #cbd9d0;background:#edf4ef;font-size:12px;font-weight:900;text-align:left}.semantic-bom-table th.designer-head-process{color:#fff;background:#547362}.semantic-bom-table th.selected-bom-column{box-shadow:inset 0 3px #2e8c63}.designer-drag-head,.designer-drag-cell{width:34px;min-width:34px;padding:0!important;text-align:center!important}.designer-actions-head,.designer-row-actions{width:38px;min-width:38px;padding:0!important}.column-resizer{position:absolute;z-index:2;top:0;right:-3px;width:7px;height:100%;border:0;cursor:col-resize;background:transparent;touch-action:none}.column-resizer:hover:after,.column-resizer.resizing:after{content:"";position:absolute;top:5px;bottom:5px;left:3px;width:2px;border-radius:2px;background:#38a169}.print-column-head{display:flex;align-items:center;gap:3px}.print-column-head input{width:100%;height:28px;padding:0 4px;border:0;border-bottom:1px dashed #9bb4a5;border-radius:0;outline:0;color:#466056;background:transparent;font-size:9px;font-weight:900}.print-column-head button{display:none;width:23px;height:23px;place-items:center;border:0;border-radius:5px;color:#a14b48;background:#fff}.print-column-head:hover button{display:grid}.designer-row{position:relative;background:#fff}.designer-row:hover{background:#fbfdfb}.designer-row.selected{background:#f2f8f4;box-shadow:inset 3px 0 #25845c}.designer-row.linked .designer-drag-cell{color:#2b8b62;background:#e7f4eb}.designer-row.free .designer-drag-cell{color:#a58955;background:#fff8e9}.designer-cell,.designer-drag-cell,.designer-row-actions{position:relative;height:inherit;padding:0;border-right:1px solid #e1e7e3;border-bottom:1px solid #dfe6e1;vertical-align:middle}.designer-cell-process{background:#f3f7f4}.designer-cell.selected-bom-column{background:#edf7f0}.designer-cell-input{width:100%;height:100%;min-height:43px;padding:8px 11px;border:0;border-radius:0;outline:0;color:#263930;background:transparent;font-size:13px;line-height:1.45}textarea.designer-cell-input{display:block;resize:none}.designer-cell-input:focus{position:relative;z-index:1;background:#fff;box-shadow:inset 0 0 0 2px #3d986b}.designer-cell-input::placeholder{color:#abb5af}.designer-cell-code .designer-cell-input{color:#176b48;font-weight:800}.designer-cell-quantity .designer-cell-input{text-align:right}.designer-sequence{display:grid;height:100%;min-height:43px;place-items:center;color:#78877f;font:12px ui-monospace,monospace}.designer-drag-handle,.designer-row-actions button{display:inline-grid;width:27px;height:27px;place-items:center;border:0;border-radius:6px;color:#809087;background:transparent}.designer-drag-handle{cursor:grab;touch-action:none}.designer-drag-handle:active{cursor:grabbing}.designer-row-actions{text-align:center}.designer-row-actions>span{display:grid;height:21px;place-items:center;color:#65a482}.designer-row.free .designer-row-actions>span{color:#b39763}.designer-row-actions button:hover{color:#a74743;background:#fdeeee}.row-height-handle{position:absolute;z-index:4;right:2px;bottom:-4px;left:2px;width:auto!important;height:8px!important;cursor:row-resize;border-radius:3px!important}.row-height-handle:hover{background:#42a574!important}.designer-insert-row td{position:relative;height:0;padding:0;border:0}.designer-insert-row button{position:absolute;z-index:5;top:-7px;left:45%;display:none;height:15px;align-items:center;gap:3px;padding:0 7px;border:0;border-radius:8px;color:#fff;background:#25845c;font-size:7px;font-weight:800}.designer-row:hover+.designer-insert-row button,.designer-insert-row:hover button{display:inline-flex}.semantic-matrix-section{margin:20px 26px 25px;overflow:hidden;border:1px solid #d7e2da;border-radius:10px;background:#fff}.semantic-matrix-section>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 17px;border-bottom:1px solid #dce5de;background:#f6f9f7}.semantic-matrix-section>header span{color:#39805d;font-size:7px;font-weight:900;letter-spacing:.14em}.semantic-matrix-section>header h3{margin-top:3px;font:15px Georgia,Songti SC,serif;font-weight:500}.semantic-matrix-section>header>small{color:#77877f;font-size:9px}.semantic-matrix-section label{display:flex;flex-direction:row;align-items:center;gap:5px;color:#708078;font-size:8px}.semantic-matrix-section label input{width:59px;height:29px;padding:0 6px;border-radius:6px;font-size:9px}.semantic-matrix-wrap{overflow-x:auto}.semantic-matrix-section table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}.semantic-matrix-section th,.semantic-matrix-section td{position:relative;height:49px;padding:5px 9px;border-right:1px solid #dce5de;border-bottom:1px solid #dce5de;font-size:12px;text-align:center}.semantic-matrix-section th:first-child{width:230px;text-align:left}.semantic-matrix-section th:last-child{width:36px}.semantic-matrix-section th{color:#556a60;background:#edf4ef}.semantic-matrix-section th input,.semantic-matrix-section td input{width:100%;height:36px;padding:0 6px;border:0;border-bottom:1px solid transparent;border-radius:0;outline:0;background:transparent;font-size:12px;text-align:center}.semantic-matrix-section th input:focus,.semantic-matrix-section td input:focus{border-bottom-color:#27865e;background:#fff}.semantic-base-row{background:#f8faf8}.semantic-base-row td:first-child{text-align:left}.matrix-material-cell{display:grid;grid-template-columns:18px minmax(110px,1fr) 75px;align-items:center;gap:4px;color:#a08351}.semantic-matrix-section tr.linked .matrix-material-cell{color:#398765}.matrix-material-cell input{text-align:left!important}.semantic-matrix-section tr.selected{background:#f0f8f3}.semantic-matrix-section .selected-trial-column{background:#e5f2e9;box-shadow:inset 0 2px #2f8b63}.matrix-insert-column{position:absolute;z-index:5;top:50%;right:-9px;display:none;width:18px;height:18px;place-items:center;padding:0;transform:translateY(-50%);border:0;border-radius:50%;color:#fff;background:#25845c}.semantic-matrix-section th:hover .matrix-insert-column{display:grid}.matrix-insert-column:disabled{display:none!important}.matrix-insert-row td{height:0;padding:0;border:0}.matrix-insert-row button{position:absolute;z-index:6;top:-8px;left:43%;display:none;height:16px;align-items:center;gap:3px;padding:0 8px;border:0;border-radius:9px;color:#fff;background:#25845c;font-size:7px;font-weight:800}.semantic-matrix-section tr:hover+.matrix-insert-row button,.matrix-insert-row:hover button{display:inline-flex}.semantic-matrix-section td:last-child button{display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:6px;color:#a74b47;background:transparent}.semantic-matrix-total{color:#2e4439;background:#eff4f1;font-weight:900}.semantic-add-matrix-row{display:inline-flex;height:32px;align-items:center;gap:5px;margin:10px 14px;padding:0 11px;border:1px dashed #8db9a1;border-radius:7px;color:#176b48;background:#f1f8f4;font-size:9px;font-weight:800}.semantic-add-matrix{display:flex;width:calc(100% - 52px);min-height:70px;align-items:center;gap:12px;margin:20px 26px 25px;padding:12px 16px;border:1px dashed #95b9a5;border-radius:10px;color:#377158;background:#f6faf7;text-align:left}.semantic-add-matrix>span{display:grid;flex:1;gap:4px}.semantic-add-matrix strong{color:#294c3b;font-size:11px}.semantic-add-matrix small{color:#72837a;font-size:9px}.semantic-editor-footer{display:flex;min-height:44px;align-items:center;gap:14px;padding:7px 12px;border-top:1px solid #dce5de;color:#6f8077;background:#fff;font-size:8px}.semantic-editor-footer>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.semantic-editor-footer>span:first-child{color:#337b59}.semantic-editor-footer>span:nth-child(2){color:#9b7c49}.semantic-editor-footer p{flex:1}.semantic-editor-footer button{margin-left:auto}.sample-completed{display:inline-flex;align-items:center;gap:5px;color:#2f7f5b;font-size:10px;font-weight:800}.two-step-final{max-width:1150px;margin:15px auto}.matrix-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px}.optional-matrix-card{display:grid;max-width:780px;min-height:250px;grid-template-columns:58px 1fr auto;align-items:center;gap:22px;margin:40px auto;padding:34px}.optional-matrix-card h3{margin:4px 0 9px;font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:500}.optional-matrix-card p{max-width:520px;color:var(--muted);font-size:11px;line-height:1.75}.optional-matrix-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:14px;color:var(--green);background:var(--green-soft)}.matrix-settings{display:grid;grid-template-columns:1.4fr repeat(3,.72fr);gap:10px;margin-bottom:16px;padding:13px;border-radius:9px;background:#f4f7f4}.matrix-scroll{overflow-x:auto}.matrix-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.matrix-table th,.matrix-table td{height:47px;padding:5px 8px;border:1px solid #d7e0d9;text-align:center}.matrix-table th{color:#66766e;background:#f1f5f2;font-size:10px}.matrix-table .material-column{width:230px;text-align:left}.matrix-table .row-action{width:38px}.matrix-table th input,.matrix-table .qty-input{width:100%;min-width:0;padding:5px;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;text-align:center}.matrix-table th input{color:var(--ink);font-weight:800}.matrix-table th input:focus,.matrix-table .qty-input:focus{border-bottom-color:var(--green);background:#fff}.matrix-table td:first-child{text-align:left}.base-row{background:#f8faf8}.base-row strong{display:grid;gap:2px;font-size:11px}.base-row strong span{color:var(--green);font-family:monospace;font-size:9px}.base-row small,.matrix-material-name span{display:block;margin-top:3px;color:#87958e;font-size:9px}.matrix-material-name input{width:100%;padding:3px 0;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;font-size:11px;font-weight:700}.matrix-material-name input:not(:disabled):focus{border-color:var(--green)}.manual-row{background:#fffdf5}.handwrite-cell{display:block;height:29px;border-bottom:1px dashed #bea978}.total-row{color:var(--ink);background:#f0f4f1;font-weight:800}.total-warning{color:var(--amber);background:#fff8ea}.matrix-actions{display:flex;gap:9px;margin-top:12px}.material-result-list{display:grid;max-height:390px;gap:6px;margin-top:12px;overflow-y:auto}.material-result-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e1e7e2;border-radius:7px;background:#fff;text-align:left}.material-result-list button:hover{border-color:var(--green);background:#f6faf7}.material-result-list button>div{display:grid;gap:3px}.material-result-list strong{color:var(--green);font-family:monospace;font-size:10px}.material-result-list span{font-size:11px}.tip-card{display:flex;gap:10px;margin-top:15px;padding:12px;border-radius:8px;color:#53665c;background:var(--green-soft)}.tip-card svg{flex:0 0 auto;color:var(--green)}.tip-card p{font-size:10px;line-height:1.65}.final-step{grid-template-columns:1.2fr .8fr}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.metric-card{position:relative;display:grid;min-height:82px;align-content:center;gap:5px;padding:12px 12px 12px 41px;border:1px solid #dce4de;border-radius:8px;cursor:pointer}.metric-card:hover{border-color:#a9c8b6}.metric-card.selected{border-color:var(--green);background:#f2f8f4}.metric-card input{position:absolute;opacity:0}.metric-check{position:absolute;top:14px;left:13px;display:grid;width:19px;height:19px;place-items:center;border:1px solid #bdcbc2;border-radius:5px;color:transparent}.metric-card.selected .metric-check{color:#fff;border-color:var(--green);background:var(--green)}.metric-card strong{font-size:11px}.metric-card small{color:var(--muted);font-size:9px;line-height:1.4}.publish-summary{display:grid;gap:0;margin-top:16px;border:1px solid #e1e7e2;border-radius:8px;overflow:hidden}.publish-summary>div{display:grid;min-height:44px;grid-template-columns:80px 1fr;align-items:center;gap:10px;padding:8px 11px;border-bottom:1px solid #e8ede9;font-size:10px}.publish-summary>div:last-child{border-bottom:0}.publish-summary span{color:var(--muted)}.dialog{width:min(700px,96vw);overflow:hidden;border-radius:13px;background:#fff;box-shadow:var(--shadow)}.dialog>header,.dialog>footer{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.dialog>header h2{font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:500}.dialog>main{display:grid;max-height:70vh;gap:15px;padding:20px;overflow-y:auto}.dialog>footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.candidate-dialog .tip-card{margin-top:0}.candidate-trial-summary{padding:11px 13px;border:1px solid #dfe6e0;border-radius:8px;background:#fafcfb}.candidate-trial-summary>span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:700}.candidate-trial-summary>div{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e7ece8;font-size:11px}.candidate-trial-summary>div b{color:var(--green);font-family:monospace}.candidate-trial-summary p{color:var(--muted);font-size:10px}.toast{position:fixed;z-index:300;right:24px;bottom:24px;display:flex;max-width:420px;align-items:center;gap:10px;padding:13px 16px;border:1px solid #bcd8c7;border-radius:9px;color:#155b3d;background:#f0faf4;box-shadow:0 12px 35px #102b2129;font-size:12px;font-weight:700}.toast>span{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;color:#fff;background:var(--green)}.toast.error{color:#983e3b;border-color:#edc5c2;background:#fff4f3}.toast.error>span{background:var(--danger)}.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.print-modal-layer{display:block;padding:0;overflow:auto}.print-preview-shell{min-width:820px;min-height:100%;padding:80px 30px 40px;background:#46534d}.print-toolbar{position:fixed;z-index:110;top:0;left:0;right:0;display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 25px;color:#fff;background:#102b21f5;box-shadow:0 5px 20px #00000040}.print-toolbar>div:first-child{display:grid}.print-toolbar .eyebrow{margin:0;color:#73bb93;font-size:8px}.print-toolbar strong{font-size:12px}.print-toolbar>div:last-child{display:flex;gap:8px}.print-toolbar .button.ghost{color:#d9e4dd}.lab-sheet{width:210mm;min-height:297mm;margin:0 auto;padding:9mm 10mm 8mm;color:#111;background:#fff;box-shadow:0 12px 45px #00000040;font-family:Songti SC,SimSun,serif}.sheet-title{display:grid;height:13mm;grid-template-columns:1fr 2fr 1fr;align-items:center;border:.5mm solid #252525;border-bottom:0}.sheet-title h1{font-size:21px;font-weight:600;letter-spacing:.16em;text-align:center}.sheet-brand,.sheet-version{padding:0 4mm;color:#444;font-size:10px}.sheet-version{text-align:right}.sheet-meta-grid{display:grid;grid-template-columns:1fr 2fr 1fr;border-top:.25mm solid #333;border-left:.5mm solid #252525}.sheet-meta-grid>div{display:grid;min-height:8mm;grid-template-columns:18mm 1fr;align-items:center;border-right:.5mm solid #252525;border-bottom:.5mm solid #252525}.sheet-meta-grid>div.wide{grid-template-columns:18mm 1fr}.sheet-meta-grid span{align-self:stretch;display:grid;place-items:center;border-right:.25mm solid #333;color:#333;font-size:10px}.sheet-meta-grid strong{padding:0 2mm;font-family:Microsoft YaHei,SimSun,sans-serif;font-size:10.5px;font-weight:600}.sheet-body-top{display:grid;grid-template-columns:minmax(0,1fr) var(--sheet-process-width, 47mm);border-left:.5mm solid #252525}.base-formula-block,.process-block{min-width:0;border-right:.5mm solid #252525;border-bottom:.5mm solid #252525}.sheet-section-label{display:flex;min-height:7mm;align-items:center;justify-content:space-between;padding:0 2mm;border-bottom:.25mm solid #333}.sheet-section-label strong{font-size:11px}.sheet-section-label span{color:#555;font-size:9px}.sheet-table{width:100%;border-collapse:collapse;table-layout:fixed}.sheet-table th,.sheet-table td{height:7mm;padding:.8mm 1.2mm;border-right:.25mm solid #333;border-bottom:.25mm solid #333;font-family:Microsoft YaHei,SimSun,sans-serif;font-size:10px;font-weight:600;text-align:center}.sheet-table th:last-child,.sheet-table td:last-child{border-right:0}.sheet-table tr:last-child td{border-bottom:0}.sheet-table th{font-weight:600;background:#f4f4f1}.base-formula-table th:nth-child(1){width:11mm}.base-formula-table th:nth-child(2){width:10mm}.base-formula-table th:nth-child(3){width:24mm}.base-formula-table th:nth-child(4){width:35mm}.base-formula-table th:nth-child(5){width:18mm}.base-formula-table th:nth-child(6){width:31mm}.base-formula-table col{width:auto}.base-formula-table th{width:auto!important}.base-formula-table td.sheet-column-code,.base-formula-table td.sheet-column-name{text-align:left}.sheet-handwrite-cell{background:repeating-linear-gradient(0deg,transparent 0,transparent 5mm,#bbb 5.15mm)}.blank-formula-row td{height:10mm}.process-block .sheet-section-label{border-bottom:.25mm solid #333}.process-block p{padding:2mm 2.3mm;border-bottom:.25mm solid #555;font-family:Microsoft YaHei,SimSun,sans-serif;font-size:10px;font-weight:600;line-height:1.55}.process-block p:last-child{border-bottom:0}.trial-matrix-block,.standalone-record-block{margin-top:5mm;border:.5mm solid #252525}.standalone-record-table th:nth-child(1){width:38mm}.standalone-record-table th:nth-child(2){width:43mm}.standalone-record-table td{height:12mm}.sheet-matrix th,.sheet-matrix td{height:8mm;font-size:10px}.sheet-matrix .sheet-material-col{width:54mm;text-align:left}.sheet-matrix td:first-child{text-align:left}.sheet-matrix td:first-child b{display:block;font-weight:500}.sheet-matrix td:first-child small{display:block;margin-top:.5mm;color:#555;font-size:8px}.sheet-base-row{background:#f5f5f2}.sheet-manual-row td:not(:first-child),.sheet-spare-row td:not(:first-child),.sheet-metric-row td:not(:first-child){height:10mm}.sheet-manual-row td:not(:first-child){background:repeating-linear-gradient(0deg,transparent 0,transparent 8mm,#aaa 8.15mm)}.sheet-total-row,.sheet-formula-total{font-weight:700;background:#eeeeea}.sheet-metric-row td:first-child{font-weight:600}.sheet-note{min-height:10mm;padding:2mm;border-top:.25mm solid #333;font-size:9px;line-height:1.55}.sheet-footer{display:grid;grid-template-columns:1fr 23mm;align-items:end;gap:5mm;margin-top:4mm}.sheet-signatures{display:flex;justify-content:space-between;padding-bottom:2mm;font-size:10px}.sheet-qr{display:grid;justify-items:center;gap:1mm}.sheet-qr span{font-size:6px}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.material-catalog-grid{grid-template-columns:repeat(3,1fr)}.matrix-editor-layout{grid-template-columns:1fr}.material-picker{order:-1}.material-result-list{max-height:180px}.workbook-task-meta{grid-template-columns:1fr 1fr}.workbook-source-bar{grid-template-columns:230px 1fr}.current-formula{display:none}.semantic-toolbar{align-items:flex-start;flex-wrap:wrap}}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{padding:30px}.app-layout{display:block}.app-sidebar{position:fixed;left:0;transform:translate(-102%);width:250px;transition:transform .2s}.app-sidebar.open{transform:translate(0)}.sidebar-close,.mobile-menu{display:inline-grid}.sidebar-collapse-button{display:none}.sidebar-collapsed .app-sidebar{padding:24px 17px 18px}.sidebar-collapsed .sidebar-head{padding:0 8px 25px}.sidebar-collapsed .brand-lockup{gap:12px}.sidebar-collapsed .sidebar-head .brand-lockup{flex:1}.sidebar-collapsed .brand-lockup .brand-mark{width:43px;height:43px}.sidebar-collapsed .brand-lockup>span:last-child{display:grid}.sidebar-collapsed .app-sidebar nav button{grid-template-columns:22px 1fr 16px;justify-items:stretch;gap:10px;padding:0 13px}.sidebar-collapsed .app-sidebar nav button span{display:block}.sidebar-collapsed .app-sidebar nav button .nav-chevron{display:block}.sidebar-collapsed .sidebar-user{grid-template-columns:34px 1fr 30px;justify-items:stretch;gap:9px;padding:12px 6px 0}.sidebar-collapsed .sidebar-user>div:nth-child(2){display:grid}.sidebar-close{color:#9ab0a5;border-color:#ffffff1a;background:#ffffff0a}.sidebar-scrim{position:fixed;z-index:20;inset:0;display:block;border:0;background:#00000059}.app-topbar{padding:0 18px}.app-topbar .breadcrumb{margin-right:auto;margin-left:10px}.page-wrap{padding:25px 16px 55px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:29px}.stat-grid,.composer-grid,.final-step,.field-row,.material-catalog-grid{grid-template-columns:1fr}.catalog-toolbar{align-items:stretch;flex-direction:column}.pagination-bar{align-items:flex-end;flex-wrap:wrap;justify-content:center;gap:9px 12px}.catalog-summary{grid-template-columns:40px 1fr 18px}.catalog-facts{display:none}.catalog-detail{padding-left:22px}.composer-shell{width:100vw;height:100vh;border-radius:0}.composer-progress button{min-width:0;flex:1;justify-content:center;font-size:0}.matrix-settings,.metric-grid{grid-template-columns:repeat(2,1fr)}.modal-layer{padding:0}}@media print{@page{size:A4 portrait;margin:0}html,body,#root{width:210mm;min-height:297mm;background:#fff}body *{visibility:hidden!important}#lab-print-sheet,#lab-print-sheet *{visibility:visible!important}#lab-print-sheet{position:absolute;top:0;left:0;width:210mm;min-height:297mm;margin:0;padding:8mm 9mm 7mm;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.no-print{display:none!important}.sheet-body-top,.trial-matrix-block,.sheet-footer{break-inside:avoid}}
