:root{--ink:#19231e;--muted:#66716b;--line:#dfe5e1;--paper:#f4f6f3;--white:#ffffff;--green:#174f3a;--green-2:#227254;--mint:#e8f1ec;--gold:#c99036;--shadow:0 14px 40px rgba(31,54,44,0.08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Microsoft YaHei UI,Noto Sans SC,Noto Sans Thai,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:72px;display:grid;grid-template-columns:280px 1fr 200px;align-items:center;padding:0 42px;background:var(--white);border-bottom:1px solid var(--line)}.brand,.breadcrumb,.detected,.profile,.titleRow{display:flex;align-items:center}.brand{gap:12px}.brandMark{background:var(--green);border-radius:10px 10px 4px 10px;font:700 21px/1 Georgia,serif}.brandMark img{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit}.brand div{display:grid}.brand strong{font:700 18px/1.2 Georgia,serif;letter-spacing:.02em}.brand div span{color:var(--muted);font-size:11px;margin-top:3px}nav{height:100%;display:flex;justify-content:center;gap:8px}nav button{position:relative;padding:0 22px;color:#717a75;background:transparent;border:0}nav .devNav{display:grid;align-items:center;padding:0 18px;color:#98651d;text-decoration:none;font-size:13px;font-weight:700}nav button:disabled{cursor:default;opacity:.55}nav .navActive{color:var(--green);font-weight:700}nav .navActive:after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;background:var(--green-2);border-radius:3px 3px 0 0}.profile{justify-content:flex-end;gap:14px;color:var(--muted);font-size:13px}.userLevel{padding:4px 7px;color:var(--green);background:var(--mint);border-radius:5px;font-weight:700}.profileEmail{max-width:120px}.logoutButton{padding:5px 7px;color:#777f7b;background:transparent;border:0;font-size:11px}.avatar{width:34px;height:34px;display:grid;place-items:center;color:var(--green);background:var(--mint);border-radius:50%;font-weight:700}.hero{min-height:180px;display:flex;align-items:center;justify-content:space-between;padding:34px max(42px,calc((100vw - 1440px) / 2));color:white;background:radial-gradient(circle at 86% 20%,rgba(255,255,255,.12),transparent 24%),linear-gradient(120deg,#153d2f,#1c5f45 62%,#277257)}.eyebrow{margin:0 0 8px;color:#add0bf;font-size:11px;font-weight:700;letter-spacing:.18em}.hero h1{margin:0;font:700 34px/1.2 Georgia,Microsoft YaHei UI,serif}.hero p:last-child{margin:11px 0 0;color:#cfdfd7;font-size:14px}.heroStat{min-width:150px;padding:18px 24px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.heroStat small,.heroStat span{display:block;color:#c7dcd2;font-size:11px}.heroStat strong{display:inline-block;margin:5px 8px 1px 0;font:700 32px/1 Georgia,serif}.heroStat small{display:inline}.searchPanel{position:relative;z-index:2;width:min(1180px,calc(100% - 84px));margin:-31px auto 0}.smartSearch{height:64px;display:flex;align-items:center;padding:7px 7px 7px 22px;background:white;border:1px solid rgba(23,79,58,.12);border-radius:14px;box-shadow:0 16px 38px rgba(19,55,41,.16)}.searchIcon{color:var(--green);font-size:31px;line-height:1;transform:rotate(-18deg)}.smartSearch input{flex:1 1;height:100%;padding:0 16px;color:var(--ink);background:transparent;border:0;outline:0;font-size:15px}.smartSearch input::placeholder{color:#98a19c}.inputClear{width:32px;color:#8a948e;background:transparent;border:0;font-size:24px}.searchButton{height:48px;padding:0 31px;color:white;background:var(--green);border:0;border-radius:10px;font-weight:700}.searchButton:hover{background:var(--green-2)}.detected{min-height:32px;padding:10px 6px 0;gap:7px;color:var(--muted);font-size:12px}.detectTag{padding:4px 8px;color:var(--green);background:#dfeee6;border-radius:5px}.noDetect{color:#a06d20}.workspace{width:min(1440px,calc(100% - 84px));display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;margin:32px auto 64px}.filters,.results{background:white;border:1px solid var(--line);border-radius:14px}.filters{align-self:start;padding:22px;box-shadow:0 8px 24px rgba(33,50,42,.04)}.filterTitle,.resultHeader{display:flex;align-items:flex-start;justify-content:space-between}.filterTitle{margin-bottom:25px}.filterTitle div{display:grid;gap:4px}.filterTitle span{font-weight:700}.filterTitle small{color:var(--muted);font-size:11px}.filterTitle button{padding:4px;color:var(--green-2);background:none;border:0;font-size:12px}.filters label{display:grid;gap:8px;margin-bottom:18px}.filters label>span{color:#48514c;font-size:12px;font-weight:700}.filters select{width:100%;height:40px;padding:0 32px 0 11px;color:var(--ink);background:#fbfcfb;border:1px solid #d9e0dc;border-radius:8px;outline:none}.filters select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(34,114,84,.1)}.filters select:disabled{color:#a1aaa5;background:#f2f4f2}.divider{height:1px;margin:7px 0 19px;background:var(--line)}.filterHint{margin-top:24px;padding:13px;color:#65716a;background:#f2f7f4;border-left:3px solid #8bb6a2;border-radius:6px;font-size:11px;line-height:1.55}.filterHint span{display:block;margin-bottom:3px;color:var(--green);font-weight:700}.results{min-height:480px;padding:26px}.resultHeader{margin-bottom:18px}.resultHeader h2{margin:0;font-size:18px}.resultHeader p{margin:5px 0 0;color:var(--muted);font-size:12px}.resultCount{padding:5px 10px;color:var(--green);background:var(--mint);border-radius:12px;font-size:12px;font-weight:700}.resultTools{display:flex;align-items:center;gap:9px}.addMaterialButton{padding:7px 12px;color:white;background:var(--green);border:0;border-radius:7px;font-size:11px;font-weight:700}.materialList{display:grid;gap:10px}.materialCard{overflow:hidden;border:1px solid var(--line);border-radius:10px;transition:border-color .2s,box-shadow .2s}.materialCard.expanded,.materialCard:hover{border-color:#a9c4b7;box-shadow:0 8px 22px rgba(37,75,58,.07)}.cardMain{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) 175px 18px;align-items:center;gap:16px;padding:18px;color:inherit;text-align:left;background:white;border:0}.materialCode{width:46px;height:46px;display:grid;place-items:center;color:var(--green);background:var(--mint);border-radius:10px;font:700 13px/1 Georgia,serif}.materialCode.hasImage{overflow:hidden;background:#e7ece9}.materialCode img{width:100%;height:100%;object-fit:cover}.titleRow{flex-wrap:wrap;gap:7px}.materialInfo h3{margin:0;font-size:15px}.materialInfo>p{margin:6px 0;color:#59645e;font-size:12px}.codePill,.matchPill{padding:3px 6px;border-radius:4px;font-size:10px}.codePill{color:#6b746f;background:#f0f2f1}.matchPill{color:#946414;background:#fff1cc}.breadcrumb{gap:6px;color:#8a948e;font-size:10px}.breadcrumb span{color:#b0b7b3}.fitTags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.fitTags span{padding:2px 5px;color:#73521d;background:#fff3d8;border-radius:4px;font-size:8px}.priceSummary{display:grid;justify-items:end}.priceSummary small,.priceSummary span{color:var(--muted);font-size:10px}.priceSummary strong{margin:3px 0;color:var(--green);font:700 18px/1.2 Georgia,serif}.priceSummary .noPrice{color:#969f9a;font-size:12px}.chevron{color:#8d9791;font-size:17px}.cardDetails{padding:0 18px 18px 88px;background:#fbfcfb;border-top:1px solid #edf0ee}.detailGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:14px 0}.detailGrid .purposeDetail{grid-column:1/-1;margin-top:5px;padding-top:10px;border-top:1px solid #e5eae7}.detailGrid div{display:grid;gap:4px;padding-right:18px}.detailGrid span{color:var(--muted);font-size:10px}.detailGrid strong{font-size:12px}.supplierTable{overflow:hidden;background:white;border:1px solid var(--line);border-radius:8px}.supplierHead,.supplierRow{display:grid;grid-template-columns:2fr .8fr .8fr .8fr 1fr;align-items:center;gap:12px;padding:10px 13px}.supplierHead{color:#737e78;background:#f1f4f2;font-size:10px;font-weight:700}.supplierRow{border-top:1px solid #edf0ee;font-size:11px}.supplierRow>span{display:grid;gap:2px}.supplierRow small{color:var(--muted);font-size:9px}.tablePrice{justify-items:end;color:var(--green);font-weight:700}.approxPrice,.tablePrice em{color:#8d641f;font-size:9px;font-style:normal;font-weight:600}.avatarButton{padding:0;border:0;cursor:pointer;overflow:hidden}.avatarButton img,.avatarPreview img{width:100%;height:100%;display:block;object-fit:cover}.profileDialog{width:min(460px,calc(100vw - 28px));padding:0;color:var(--ink);background:white;border:1px solid #dce6df;border-radius:16px;box-shadow:0 24px 80px rgba(17,45,33,.24)}.profileDialog::backdrop{background:rgba(16,32,25,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.profileForm{padding:24px}.profileForm>footer,.profileForm>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.profileForm>header{margin-bottom:22px}.profileForm h2{margin:3px 0 0;font-size:22px}.profileForm header small{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.12em}.profileClose{width:36px;height:36px;color:#6f7a74;background:#f3f6f4;border:0;border-radius:9px;cursor:pointer;font-size:22px}.avatarEditor{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:14px;background:#f5f8f6;border-radius:12px}.avatarPreview{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;color:white;background:var(--green);border-radius:50%;font-size:20px;font-weight:700}.avatarEditor label{display:grid;gap:4px;color:var(--muted);font-size:10px}.avatarEditor label strong{color:var(--ink);font-size:13px}.avatarEditor input{max-width:240px;margin-top:4px;font-size:10px}.profileField{display:grid;gap:7px;margin-bottom:15px;color:#59665f;font-size:11px;font-weight:700}.developerUserIdentity input,.profileField input{min-width:0;height:40px;padding:0 11px;color:var(--ink);background:white;border:1px solid #dce5df;border-radius:8px;font:inherit}.developerUserIdentity input:focus,.profileField input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(53,139,96,.1);outline:none}.profileError{margin:5px 0 14px;color:#a33b34;font-size:11px}.profileForm>footer{justify-content:flex-end;margin-top:22px}.profileForm>footer button{min-height:38px;padding:0 15px;border:1px solid #dce5df;border-radius:8px;cursor:pointer}.profileForm>footer .profileSave{color:white;background:var(--green);border-color:var(--green)}.developerUserIdentity{min-width:0;display:grid;grid-template-columns:minmax(90px,.7fr) minmax(150px,1.3fr);gap:5px 8px}.developerUserIdentity input{height:32px;font-size:11px}.countryBadge{width:fit-content;padding:2px 5px;border-radius:4px;font-size:8px;font-style:normal}.countryBadge.thai{color:#1c5b8f;background:#e7f2fa}.countryBadge.china{color:#9b3830;background:#fbeae8}.noSupplier{padding:18px;color:var(--muted);text-align:center;font-size:11px}.detailActions{display:flex;justify-content:flex-end;padding-top:11px}.detailActions button{padding:7px 10px;color:var(--green);background:white;border:1px solid #abc6b9;border-radius:6px;font-size:10px;font-weight:700}.drawerBackdrop{position:fixed;z-index:50;inset:0;display:flex;justify-content:flex-end;background:rgba(15,28,22,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.materialDrawer{width:min(680px,96vw);height:100vh;overflow-y:auto;background:#f7f9f7;box-shadow:-18px 0 50px rgba(12,30,21,.2);animation:drawerIn .22s ease-out}.drawerHeader{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;padding:22px 26px;color:white;background:var(--green)}.drawerHeader span{color:#abd0bd;font-size:9px;font-weight:700;letter-spacing:.15em}.drawerHeader h2{margin:4px 0 0;font-size:21px}.drawerHeader>button{width:34px;height:34px;color:white;background:rgba(255,255,255,.1);border:0;border-radius:50%;font-size:24px}.materialDrawer form{padding:18px 22px 28px}.formSection{margin-bottom:14px;padding:19px;background:white;border:1px solid var(--line);border-radius:10px}.formSection h3{margin:0 0 15px;color:#33433a;font-size:13px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formGrid label{display:grid;gap:6px}.formGrid label>span{color:#59635d;font-size:10px;font-weight:700}.formGrid input,.formGrid select,.formGrid textarea{width:100%;padding:0 10px;color:var(--ink);background:#fcfdfc;border:1px solid #d9e0dc;border-radius:6px;outline:none}.formGrid input,.formGrid select{height:38px}.formGrid textarea{min-height:76px;padding-top:9px;resize:vertical}.formGrid input:focus,.formGrid select:focus,.formGrid textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(34,114,84,.09)}.formGrid .fullField{grid-column:1/-1}.materialLanguageToolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.materialLanguageToolbar>div:first-child{display:grid;gap:4px}.materialLanguageToolbar strong{color:#34483d;font-size:11px}.materialLanguageToolbar small{color:#7a8580;font-size:9px;line-height:1.5}.materialLanguageChoices{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.materialLanguageChoices label{display:flex;align-items:center;gap:5px;min-height:30px;padding:5px 8px;color:#66716b;background:#f7f9f7;border:1px solid #dbe2de;border-radius:6px;font-size:10px;cursor:pointer}.materialLanguageChoices label.active{color:#1f654b;background:#edf7f2;border-color:#9bcbb6}.materialLanguageChoices label:has(input:disabled){cursor:default}.materialLanguageChoices input{margin:0;accent-color:var(--green-2)}.materialLanguageChoices em,.materialLanguageChoices i{padding:1px 4px;border-radius:4px;font-size:8px;font-style:normal}.materialLanguageChoices em{color:#fff;background:var(--green-2)}.materialLanguageChoices i{color:#8a641b;background:#fff1c8}.materialLanguageGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.materialLanguageGrid.isComparing{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.materialLanguageField{display:grid;gap:6px;padding:10px;background:#fafcfb;border:1px solid #dce4df;border-radius:8px}.materialLanguageField>span{color:#59635d;font-size:10px;font-weight:700}.materialLanguageField>span b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;margin-right:6px;color:#236c52;background:#e5f2ec;border-radius:4px;font-size:9px}.materialLanguageField input{width:100%;height:40px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid #d5ded9;border-radius:6px;outline:none}.materialLanguageField input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(34,114,84,.09)}.materialPurposeGrid{margin-top:12px}.materialLanguageSwitch{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.materialLanguageSwitch label{display:grid;flex:0 0 190px;gap:6px}.materialLanguageSwitch label>span,.materialSingleLanguageField>span{color:#59635d;font-size:10px;font-weight:700}.materialLanguageSwitch select,.materialSingleLanguageField input{width:100%;height:40px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid #d5ded9;border-radius:6px;outline:none}.materialLanguageSwitch small{max-width:390px;color:#7a8580;font-size:9px;line-height:1.55}.materialSingleLanguageField{display:grid;gap:6px;padding:11px;background:#fafcfb;border:1px solid #dce4df;border-radius:8px}.materialSingleLanguageField input::placeholder{color:#9ba39f;opacity:1}.materialSingleLanguageField input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(34,114,84,.09)}.materialSingleLanguageField em{color:#8a928e;font-size:9px;font-style:normal}.materialAllLanguagesGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.materialAllLanguagesGrid label{display:grid;gap:6px;padding:11px;background:#fafcfb;border:1px solid #dce4df;border-radius:8px}.materialAllLanguagesGrid span{color:#59635d;font-size:10px;font-weight:700}.materialAllLanguagesGrid input{width:100%;height:40px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid #d5ded9;border-radius:6px;outline:none}.materialAllLanguagesGrid input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(34,114,84,.09)}.materialLanguageHint{display:block;margin-top:8px;color:#7d8782;font-size:9px}.materialSelectableRow{padding:0 12px 0 6px;background:#fff;border:1px solid var(--line);border-radius:10px;transition:border-color .2s,box-shadow .2s}.materialSelectableRow:hover{border-color:#a9c4b7;box-shadow:0 8px 22px rgba(37,75,58,.07)}.materialSelectableRow>button{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:16px;min-height:76px;padding:12px 4px;color:inherit;text-align:left;background:transparent;border:0}.materialSelectableRow .existingImage{width:46px;height:46px;overflow:hidden;border-radius:10px;background:var(--mint)}.materialSelectableRow .existingImage img{width:100%;height:100%;object-fit:cover}.materialSelectableRow>button>span:nth-child(2){display:grid;min-width:0;gap:5px}.materialSelectableRow>button>span:nth-child(2) strong{color:var(--ink);font-size:14px}.materialSelectableRow>button>b{justify-self:end;padding:7px 10px;color:var(--green);background:var(--mint);border-radius:6px;font-size:10px}.fitSelector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fitSelector label{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 9px;background:#f7f9f7;border:1px solid #dbe2de;border-radius:6px;font-size:10px;cursor:pointer}.draftFits input,.fitSelector input{width:17px;height:17px;accent-color:var(--green)}.imageUploader{position:relative;min-height:150px;display:grid;place-items:center;overflow:hidden;background:#f6f8f6;border:1px dashed #abc0b5;border-radius:8px;cursor:pointer}.imageUploader>input{position:absolute;width:1px;height:1px;opacity:0}.imageUploader img{width:100%;max-height:260px;object-fit:contain}.uploadPlaceholder{display:grid;justify-items:center;gap:5px;color:var(--green);font-size:12px;font-weight:700}.uploadPlaceholder strong{font-size:28px;font-weight:300}.uploadPlaceholder small{color:var(--muted);font-size:9px;font-weight:400}.imageUploader em{position:absolute;right:8px;bottom:8px;padding:4px 7px;color:white;background:rgba(23,79,58,.85);border-radius:4px;font-size:9px;font-style:normal}.drawerFooter{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding-top:7px}.deleteConfirm button,.drawerFooter>button{height:38px;padding:0 14px;border-radius:7px;font-size:11px;font-weight:700}.saveMaterial{color:white;background:var(--green);border:0}.cancelEdit{color:#5c665f;background:white;border:1px solid #d2dad5}.deleteMaterial{color:#a33a34;background:transparent;border:1px solid #e3b9b5}.deleteConfirm{display:flex;align-items:center;gap:5px;color:#933b35;font-size:10px}.deleteConfirm button{height:29px;padding:0 7px;background:white;border:1px solid #e0b7b3}@keyframes drawerIn{0%{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}.emptyState,.errorState,.loadingState{min-height:310px;display:grid;place-items:center;align-content:center;text-align:center}.loadingState{gap:14px;color:var(--muted);font-size:13px}.spinner{width:25px;height:25px;border:3px solid #d8e4de;border-top:3px solid var(--green);border-radius:50%;animation:spin .8s linear infinite}.emptyState>span{color:#95afa2;font-size:44px;transform:rotate(-18deg)}.emptyState h3{margin:10px 0 3px;font-size:17px}.emptyState p{margin:0 0 16px;color:var(--muted);font-size:12px}.emptyState button{padding:9px 15px;color:var(--green);background:white;border:1px solid #aac4b7;border-radius:7px}.errorState{color:#a23c35;background:#fff7f6;border-radius:8px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:960px){.topbar{grid-template-columns:1fr auto;padding:0 22px}nav{display:none}.hero{padding:30px 24px 50px}.searchPanel,.workspace{width:calc(100% - 32px)}.workspace{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}.filterHint,.filterTitle{grid-column:1/-1}.divider{display:none}}@media (max-width:640px){.existingFilters{grid-template-columns:1fr}.supplierSummary{grid-template-columns:1fr auto}.supplierSummary>b,.supplierSummary>span:nth-child(2),.supplierSummary>span:nth-child(3){display:none}.supplierMaterials>div{grid-template-columns:1fr;gap:5px}.topbar{height:64px}.heroStat,.profile>span:first-child,.profileEmail{display:none}.logoutButton{min-width:44px;min-height:40px}.hero{min-height:165px}.hero h1{font-size:28px}.smartSearch{height:58px;padding-left:14px}.searchButton{padding:0 17px}.filters{grid-template-columns:1fr}.filterHint,.filterTitle{grid-column:auto}.results{padding:16px}.cardMain{grid-template-columns:46px minmax(0,1fr) 15px;gap:11px;padding:14px}.priceSummary{grid-column:2;justify-items:start}.chevron{grid-column:3;grid-row:1/span 2}.cardDetails{padding:0 14px 14px}.detailGrid{grid-template-columns:repeat(2,1fr);gap:12px}.supplierHead{display:none}.supplierRow{grid-template-columns:1fr 1fr}.supplierRow>span:nth-child(2),.supplierRow>span:nth-child(4){display:none}.resultHeader{gap:12px}.resultTools{align-items:flex-end;flex-direction:column}.addMaterialButton{min-height:38px;white-space:nowrap}}.authPage{min-height:100vh;display:grid;grid-template-columns:minmax(370px,.9fr) 1.1fr;background:white}.authBrand{display:flex;flex-direction:column;justify-content:center;padding:70px max(55px,9vw);color:white;background:radial-gradient(circle at 20% 15%,rgba(217,174,100,.18),transparent 24%),linear-gradient(145deg,#123b2c,#1d6247)}.authLogo{width:48px;height:48px;display:grid;place-items:center;margin-bottom:42px;color:var(--green);background:white;border-radius:13px 13px 5px 13px;font:700 25px/1 Georgia,serif}.authBrand>p{margin:0 0 13px;color:#a8ccb9;font-size:11px;font-weight:700;letter-spacing:.17em}.authBrand h1{margin:0 0 44px;font:700 36px/1.35 Georgia,Microsoft YaHei UI,serif}.authFeature{display:flex;align-items:center;gap:14px;padding:13px 0;color:#d4e5dc;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.authFeature span{color:#d5aa63;font:700 11px/1 Georgia,serif}.authFormWrap{display:grid;place-items:center;padding:40px}.authForm{width:min(390px,100%)}.eyebrow.dark{color:var(--green-2)}.authForm h2{margin:0;font:700 30px/1.2 Georgia,Microsoft YaHei UI,serif}.authLead{margin:9px 0 30px;color:var(--muted);font-size:13px}.authForm label,.keyForm label{display:grid;gap:7px;margin-bottom:17px}.authForm label>span,.keyForm label>span{color:#465049;font-size:12px;font-weight:700}.authForm input,.keyForm input,.keyForm select{width:100%;height:45px;padding:0 13px;color:var(--ink);background:#fbfcfb;border:1px solid #d6ded9;border-radius:8px;outline:none}.authForm input:focus,.keyForm input:focus,.keyForm select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(34,114,84,.1)}.authForm .keyInput{color:var(--green);font-family:Consolas,monospace;font-weight:700;letter-spacing:.04em}.formError{margin:10px 0;padding:10px 12px;color:#9b332e;background:#fff0ee;border:1px solid #f0ccc8;border-radius:7px;font-size:12px}.primaryAuth{width:100%;height:46px;margin-top:5px;color:white;background:var(--green);border:0;border-radius:8px;font-weight:700}.primaryAuth:disabled{opacity:.65}.authSwitch{margin:22px 0 0;color:var(--muted);text-align:center;font-size:12px}.authSwitch a{margin-left:5px;color:var(--green-2);font-weight:700;text-decoration:none}.permissionLegend{display:grid;gap:11px}.permissionLegend>div{display:flex;align-items:center;gap:14px;padding:12px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:9px}.permissionLegend>div>strong{width:30px;height:30px;display:grid;place-items:center;color:#173e2f;background:#d5aa63;border-radius:50%}.permissionLegend span{display:grid;font-size:13px;font-weight:700}.permissionLegend small{margin-top:3px;color:#afcbbd;font-size:10px;font-weight:400}.developerPage{min-height:100vh;padding-bottom:70px;background:#eff2ef}.devHeader{min-height:190px;display:flex;align-items:center;justify-content:space-between;padding:38px max(42px,calc((100vw - 1320px) / 2));color:white;background:linear-gradient(120deg,#132d23,#1a553e)}.devHeader h1{margin:0;font:700 31px/1.2 Georgia,Microsoft YaHei UI,serif}.devHeader div>span{display:block;margin-top:9px;color:#bdd1c7;font-size:12px}.devHeader a{padding:10px 15px;color:white;border:1px solid rgba(255,255,255,.35);border-radius:7px;text-decoration:none;font-size:12px}.devGrid{width:min(1320px,calc(100% - 84px));display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin:-28px auto 0}.devPanel{padding:24px;background:white;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.panelHeading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.panelHeading h2{margin:0;font-size:17px}.panelHeading p{margin:5px 0 0;color:var(--muted);font-size:11px}.panelHeading>span{padding:4px 8px;color:var(--green);background:var(--mint);border-radius:10px;font-size:10px;font-weight:700}.keyForm{display:grid;grid-template-columns:1.5fr 1fr .7fr;gap:11px}.keyForm button{grid-column:1/-1;height:40px;color:white;background:var(--green);border:0;border-radius:7px;font-weight:700}.keyForm .capabilityCheck{grid-column:1/-1;display:flex;align-items:center;gap:8px}.capabilityCheck input,.materialPermission input{width:17px;height:17px;accent-color:var(--green)}.createdKey{position:relative;display:grid;gap:7px;margin:17px 0;padding:16px;background:#fff7e7;border:1px solid #ead2a6;border-radius:8px}.createdKey span{color:#8a672d;font-size:10px}.createdKey strong{color:#6b4912;font-family:Consolas,monospace}.createdKey button{position:absolute;right:10px;bottom:10px;padding:5px 8px;color:#77551d;background:white;border:1px solid #d9bd8d;border-radius:5px;font-size:10px}.keyList,.userTable{border-top:1px solid var(--line)}.keyList>div,.userRow{display:grid;align-items:center;gap:10px;padding:12px 3px;border-bottom:1px solid #edf0ee;font-size:11px}.keyList>div{grid-template-columns:1fr auto}.keyList span:first-child,.userRow>span:first-child{display:grid;gap:3px}.keyList small,.userRow small{color:var(--muted);font-size:9px}.userRow{grid-template-columns:minmax(0,1fr) 65px 92px 65px}.userRow select{height:31px;border:1px solid var(--line);border-radius:6px}.userRow button{padding:6px;border-radius:6px;font-size:10px}.materialPermission{display:flex;align-items:center;gap:5px;color:#58635d;font-size:9px}.rateForm{display:grid;grid-template-columns:1fr 90px;gap:8px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.rateForm h3{margin:0;font-size:12px}.rateForm p{margin:3px 0 0;color:var(--muted);font-size:9px}.rateForm input{height:35px;padding:0 9px;border:1px solid var(--line);border-radius:6px}.rateForm input:nth-of-type(2){grid-column:1/-1}.rateForm button{grid-column:1/-1;height:35px;color:white;background:var(--green);border:0;border-radius:6px;font-size:10px;font-weight:700}.managePage{min-height:100vh;padding-bottom:60px;background:#f1f4f1}.manageHeader{height:72px;display:grid;grid-template-columns:260px 1fr 120px;align-items:center;padding:0 36px;background:white;border-bottom:1px solid var(--line)}.manageHeader nav a,.manageHeader nav button{height:72px;display:grid;place-items:center;padding:0 18px;color:#6d7771;background:transparent;border:0;text-decoration:none;font-size:12px}.manageHeader nav .manageActive{color:var(--green);box-shadow:inset 0 -3px var(--green);font-weight:700}.siteHeader{grid-template-columns:minmax(220px,280px) 1fr minmax(220px,300px);padding:0 36px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(31,54,44,.04)}.siteBrand{gap:12px}.siteBrand>span:last-child{gap:2px}.siteBrand small{font-size:11px}.siteNav{gap:4px}.siteNav .navLink,.siteNav .navPlaceholder,.siteNav .navTrigger{height:72px;gap:7px;padding:0 18px;color:#66726c}.navDropdown:focus-within .navTrigger,.navDropdown:hover .navTrigger,.siteNav .navLink:hover{color:var(--green);background:#f4f8f5}.navChevron{margin-top:-3px;color:#94a099;font-size:17px}.navDropdownPanel{top:calc(100% - 1px);width:250px;background:white;border:1px solid #dfe7e1;border-radius:0 0 10px 10px;box-shadow:0 16px 36px rgba(22,55,42,.15)}.navDropdownPanel a{border-radius:7px}.siteNav .navPlaceholder{color:#a5ada9}.siteNav .navPlaceholder small{padding:3px 5px;color:#8c9691;background:#f0f2f1;font-weight:600}.siteProfile{gap:10px}@media (max-width:980px){.siteHeader{grid-template-columns:auto 1fr auto;padding:0 18px}.profileEmail,.siteBrand small,.siteNav .navPlaceholder{display:none}.siteNav .navLink,.siteNav .navTrigger{padding:0 12px}}@media (max-width:640px){.siteHeader{min-height:116px;grid-template-columns:1fr auto;align-items:center;padding:8px 12px 0}.siteNav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.siteNav,.siteNav .navLink,.siteNav .navTrigger{height:52px}.siteProfile .logoutButton,.siteProfile .userLevel{display:none}.navDropdownPanel{position:fixed;top:116px;right:12px;left:12px;width:auto;transform:translateY(8px)}.navDropdown:focus-within .navDropdownPanel,.navDropdown:hover .navDropdownPanel,.navDropdownOpen .navDropdownPanel{transform:translateY(0)}}.siteProfile{display:grid;grid-template-columns:36px minmax(70px,1fr) auto}.siteProfile .avatarButton{grid-column:1;width:36px;height:36px}.profileIdentity{min-width:0;display:grid;gap:3px;line-height:1}.profileIdentity small,.profileIdentity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profileIdentity strong{color:var(--ink);font-size:12px}.profileIdentity small{color:var(--muted);font-size:9px}.userRow{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:14px 3px}.userRow>.developerUserIdentity{grid-column:1/-1;display:grid;grid-template-columns:minmax(100px,.8fr) minmax(170px,1.3fr) minmax(100px,.8fr);gap:7px}.developerUserIdentity input{width:100%;box-sizing:border-box}.developerUserIdentity small{grid-column:1/-1}.userRow>select{grid-column:2}@media (max-width:720px){.siteProfile{grid-template-columns:36px minmax(64px,1fr)}.siteProfile .logoutButton{display:none}.userRow>.developerUserIdentity{grid-template-columns:1fr}.developerUserIdentity small{grid-column:1}}.developerUserFields{grid-column:2;grid-row:1;grid-template-columns:minmax(80px,.7fr) minmax(130px,1.15fr) minmax(80px,.7fr);gap:7px}.developerUserActions{display:contents}.developerUserActions .userEnabled{grid-column:1;grid-row:1;min-height:38px;margin:0;white-space:nowrap}.developerUserActions .userSaveButton{grid-column:3;grid-row:1;min-height:38px}.developerUserActions .userDeleteButton{grid-column:4;grid-row:1;min-height:38px}@media (max-width:860px){.developerUserCard{grid-template-columns:auto minmax(0,1fr) auto auto}.developerUserFields{grid-column:1/-1;grid-row:2}.developerUserActions .userDeleteButton,.developerUserActions .userEnabled,.developerUserActions .userSaveButton{grid-row:1}.developerUserActions .userSaveButton{grid-column:3}.developerUserActions .userDeleteButton{grid-column:4}}@media (max-width:560px){.developerUserFields{grid-template-columns:1fr}}.developerUserList{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.developerUserCard{padding:15px;background:#fbfcfb;border:1px solid #e1e8e3;border-radius:12px}.developerUserFields{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(180px,1.4fr) minmax(110px,.8fr);gap:9px}.developerUserDetails>label,.developerUserFields label{min-width:0;display:grid;gap:6px;color:#66726b;font-size:10px;font-weight:700}.developerUserDetails select,.developerUserFields input{width:100%;height:38px;box-sizing:border-box;padding:0 10px;color:var(--ink);background:white;border:1px solid #dce5df;border-radius:7px;font:500 11px/1 Microsoft YaHei UI,sans-serif}.developerUserDetails select:focus,.developerUserFields input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(53,139,96,.1);outline:none}.developerUserActions{display:flex;align-items:center;gap:8px;margin-top:12px}.userEnabled{display:flex;align-items:center;gap:6px;margin-right:auto;color:#526159;font-size:11px;font-weight:700}.developerUserActions button{min-height:34px;padding:0 12px;border-radius:7px;cursor:pointer;font-size:10px;font-weight:700}.userSaveButton{color:white;background:var(--green);border:1px solid var(--green)}.userDeleteButton{color:#a53e37;background:#fff7f6;border:1px solid #efcfcc}.userDetailsToggle{width:100%;min-height:37px;display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding:0 10px;color:#65716a;background:#f1f5f2;border:0;border-radius:7px;cursor:pointer;font-size:10px;font-weight:700}.developerUserDetails{display:grid;grid-template-columns:150px minmax(170px,1fr);gap:14px;margin-top:10px;padding:13px;background:white;border:1px solid #e5ebe7;border-radius:8px}.developerUserDetails fieldset{margin:0;padding:8px 10px;border:1px solid #dce5df;border-radius:7px}.developerUserDetails legend{padding:0 4px;color:#66726b;font-size:10px;font-weight:700}.developerUserDetails fieldset label{display:flex;align-items:center;gap:6px;color:#536159;font-size:10px}.userLoginInfo{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.userLoginInfo div{min-width:0;padding:9px;background:#f6f8f7;border-radius:6px}.userLoginInfo dt{color:var(--muted);font-size:9px}.userLoginInfo dd{overflow:hidden;margin:4px 0 0;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:720px){.developerUserDetails,.developerUserFields,.userLoginInfo{grid-template-columns:1fr}.userLoginInfo{grid-column:1}}.approxPrice,.priceSummary strong,.supplierRow .tablePrice,.tablePrice{font-family:Aptos Display,Segoe UI,Microsoft YaHei UI,sans-serif;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.015em}.manageIntro{min-height:170px;display:flex;align-items:center;justify-content:space-between;padding:30px max(42px,calc((100vw - 1380px) / 2)) 50px;color:white;background:linear-gradient(125deg,#143b2d,#25654c)}.manageIntro h1{margin:0;font:700 30px/1.2 Georgia,Microsoft YaHei UI,serif}.manageIntro div>p:last-child{margin:9px 0 0;color:#c4d9cf;font-size:12px}.manageIntro>button{padding:11px 17px;color:var(--green);background:white;border:0;border-radius:8px;font-weight:700}.batchWorkspace,.existingWorkspace{width:min(1380px,calc(100% - 64px));margin:-25px auto 0}.batchWorkspace{display:grid;gap:13px}.draftCard{display:grid;grid-template-columns:82px minmax(0,1fr) 145px;gap:17px;padding:20px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 7px 22px rgba(31,55,43,.05)}.draftNumber{display:flex;flex-direction:column;align-items:center;padding-right:14px;border-right:1px solid var(--line)}.draftNumber strong{color:var(--green);font:700 26px/1 Georgia,serif}.draftNumber span{margin-top:8px;color:var(--muted);text-align:center;font-size:8px;line-height:1.4}.draftCategory{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.draftCategory select,.draftGrid input,.draftGrid textarea{width:100%;border:1px solid #d8dfdb;border-radius:6px;outline:none}.draftCategory select{height:37px;padding:0 8px}.draftGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.draftGrid label{display:grid;gap:5px}.draftGrid label span{color:#5d6861;font-size:9px;font-weight:700}.draftGrid input{height:36px;padding:0 8px}.draftGrid input::placeholder{color:#9aa39e;opacity:1}.draftGrid textarea{min-height:55px;padding:7px;resize:vertical}.draftFits,.draftGrid .draftPurpose{grid-column:1/-1}.draftFits{display:grid;gap:6px}.draftFits>span{color:#5d6861;font-size:9px;font-weight:700}.draftFits>div{display:flex;flex-wrap:wrap;gap:6px}.draftFits label{display:flex;align-items:center;gap:5px;padding:5px 8px;background:#f6f8f6;border:1px solid #d9e1dc;border-radius:5px}.draftFits b{font-size:9px;font-weight:600}.draftSupplier{grid-column:1/-1;display:grid;gap:6px;padding-top:9px;border-top:1px solid var(--line)}.draftSupplier>span{color:var(--green);font-size:9px;font-weight:700}.draftSupplier>div{display:grid;grid-template-columns:2fr repeat(4,.7fr) auto;align-items:center;gap:6px}.draftSupplier input,.draftSupplier select{min-width:0;height:35px;padding:0 7px;border:1px solid #d8dfdb;border-radius:5px}.draftSupplier label,.inlineCheck{display:flex!important;align-items:center;gap:5px}.draftSupplier label input,.inlineCheck input{width:17px;height:17px;accent-color:var(--green)}.draftImage{min-height:145px;display:grid;place-items:center;overflow:hidden;background:#f5f8f6;border:1px dashed #acc2b6;border-radius:8px;cursor:pointer}.draftImage input{position:absolute;width:1px;height:1px;opacity:0}.draftImage img{width:100%;height:100%;max-height:190px;object-fit:cover}.draftImage>span{display:grid;justify-items:center;gap:4px;color:var(--green);font-size:10px;font-weight:700}.draftImage strong{font-size:27px;font-weight:300}.draftImage small{color:var(--muted);font-size:8px;font-weight:400}.draftActions{grid-column:3;display:flex;justify-content:flex-end;gap:5px}.draftActions button{padding:5px 8px;color:#5d6962;background:white;border:1px solid #d5ddd8;border-radius:5px;font-size:9px}.batchFooter{position:sticky;z-index:5;bottom:12px;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;color:white;background:rgba(18,59,44,.96);border-radius:10px;box-shadow:0 10px 30px rgba(18,48,36,.24);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px}.batchFooter button{padding:10px 17px;color:var(--green);background:white;border:0;border-radius:7px;font-weight:700}.formSuccess{padding:11px 13px;color:var(--green);background:#e6f3eb;border:1px solid #bfd9ca;border-radius:7px;font-size:11px}.deniedPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(201,144,54,.1),transparent 30%),#eef2ef}.deniedCard{width:min(440px,100%);padding:42px;text-align:center;background:white;border:1px solid #dce3df;border-radius:16px;box-shadow:var(--shadow)}.deniedIcon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 17px;color:#9b6921;background:#fff2d7;border:1px solid #ead2a5;border-radius:50%;font:700 26px/1 Georgia,serif}.deniedCard>p:first-of-type{margin:0 0 8px;color:#9b6921;font-size:9px;font-weight:700;letter-spacing:.17em}.deniedCard h1{margin:0;font:700 28px/1.2 Georgia,Microsoft YaHei UI,serif}.requiredPermission{display:grid;gap:4px;margin:23px 0 16px;padding:12px;background:#f5f7f5;border-radius:8px}.requiredPermission span{color:var(--muted);font-size:9px}.requiredPermission strong{color:var(--green);font-size:13px}.deniedMessage{color:var(--muted);font-size:12px;line-height:1.7}.deniedCard a{min-height:42px;display:grid;place-items:center;margin-top:21px;color:white;background:var(--green);border-radius:7px;text-decoration:none;font-size:12px;font-weight:700}.existingWorkspace{padding:20px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.existingSearch{display:flex;align-items:center;gap:12px;margin-bottom:15px}.existingSearch input{flex:1 1;height:43px;padding:0 13px;border:1px solid #d8dfdb;border-radius:7px;outline:none}.existingSearch span{color:var(--muted);font-size:10px}.existingFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.existingFilters select,.supplierPicker input,.supplierPicker select{width:100%;min-height:42px;padding:0 11px;border:1px solid #d8dfdb;border-radius:7px;background:white}.supplierPicker{gap:7px!important}.inlineAddButton{margin-top:10px;padding:9px 12px;border:1px dashed #82a691;border-radius:7px;color:var(--green);background:#f5faf7}.inlineCreatePanel{margin-top:12px;padding:13px;border:1px solid #d5e3da;border-radius:9px;background:#f8fbf9}.inlineCreatePanel h4{margin:0 0 11px}.inlineCreatePanel>button{margin-top:10px;padding:9px 16px;border-radius:7px;color:white;background:var(--green)}.nestedDrawer{z-index:80;background:rgba(8,20,14,.38)}.supplierDrawer{width:min(580px,96vw)}.supplierManageList{display:grid;gap:8px}.supplierManageList article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:9px}.supplierSummary{display:grid;grid-template-columns:minmax(180px,1.5fr) 1fr 1fr auto auto;align-items:center;gap:12px;width:100%;padding:0;border:0;outline:0;color:inherit;text-align:left;background:transparent}.supplierSummary:focus-visible{border-radius:6px;box-shadow:0 0 0 3px rgba(31,92,62,.16)}.supplierSummary>span:first-child{display:grid;gap:3px}.supplierManageList small{color:var(--muted)}.supplierSummary em{color:var(--green);font-style:normal;font-size:10px}.supplierDelete{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:7px 12px;border:1px solid #f0caca;border-radius:8px;color:#a53a3a;background:#fff7f7;font-size:12px;font-weight:600;transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.supplierDelete:before{content:"×";font-size:15px;line-height:1}.supplierDelete:hover{color:#8f2525;background:#ffeded;border-color:#e7aaaa}.supplierDelete:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(184,56,56,.15)}.supplierMaterials{grid-column:1/-1;display:grid;gap:6px;padding:10px;border-top:1px solid var(--line);background:#f7faf8}.supplierMaterials>div{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(190px,auto);gap:12px;align-items:center;padding:9px;border-radius:7px;background:white}.supplierMaterials>div>span{display:grid;gap:3px}.supplierMaterials em{color:#a15c13;font-style:normal;font-size:10px}.existingList{display:grid;grid-template-columns:1fr;gap:9px}.libraryWorkspace{width:min(1380px,calc(100% - 64px));display:grid;grid-template-columns:minmax(360px,.8fr) 1.2fr;gap:16px;margin:-25px auto 0}.libraryForm,.libraryList{align-self:start;padding:20px;background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.libraryForm h2{margin:0 0 16px;font-size:16px}.libraryFormGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.libraryFormGrid label{display:grid;gap:5px}.libraryFormGrid label span{color:#5d6861;font-size:9px;font-weight:700}.libraryFormGrid input,.libraryFormGrid select{width:100%;height:38px;padding:0 9px;border:1px solid #d8dfdb;border-radius:6px}.libraryFormGrid .wide{grid-column:1/-1}.libraryForm>button{width:100%;height:40px;margin-top:13px;color:white;background:var(--green);border:0;border-radius:7px;font-weight:700}.libraryList{display:grid;gap:1px}.libraryList>div{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr 1fr auto;align-items:center;gap:9px;padding:11px 8px;border-bottom:1px solid #edf0ee;font-size:10px}.libraryList>div>span:first-child{display:grid;gap:2px}.libraryList small{color:var(--muted);font-size:8px}.categoryList>div{grid-template-columns:1fr auto auto}.existingList>button{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;color:inherit;text-align:left;background:#fbfcfb;border:1px solid var(--line);border-radius:8px}.existingImage{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;color:var(--green);background:var(--mint);border-radius:7px;font-weight:700}.existingImage img{width:100%;height:100%;object-fit:cover}.existingList>button>span:nth-child(2){display:grid;gap:3px}.existingList em,.existingList small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal}.existingList b{color:var(--green);font-size:10px}.activeUser{color:var(--green);background:var(--mint);border:1px solid #b9d3c6}.disabledUser{color:#8f3c37;background:#fff0ee;border:1px solid #eccdca}@media (max-width:800px){.authPage{grid-template-columns:1fr}.authBrand{display:none}.authFormWrap{min-height:100vh;padding:28px}.devGrid{width:calc(100% - 32px);grid-template-columns:1fr}.devHeader{padding:30px 22px 55px}.keyForm{grid-template-columns:1fr}.manageHeader{grid-template-columns:1fr auto;height:auto;padding:11px 16px 0}.manageHeader .profile{grid-column:2;grid-row:1}.manageHeader nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto}.manageHeader nav a,.manageHeader nav button{height:52px;padding:0 13px;white-space:nowrap}.manageIntro{min-height:155px;padding:24px 18px 45px}.batchWorkspace,.existingWorkspace{width:calc(100% - 22px)}.draftCard{grid-template-columns:1fr;padding:14px}.draftNumber{flex-direction:row;justify-content:space-between;padding:0 0 9px;border-right:0;border-bottom:1px solid var(--line)}.draftNumber span{margin:0}.draftImage{min-height:125px}.draftActions{grid-column:1}.existingList{grid-template-columns:1fr}}@media (max-width:640px){.developerPage{padding-bottom:35px}.devHeader{min-height:165px;align-items:flex-start}.devHeader h1{font-size:25px}.devHeader a{min-height:42px;display:grid;place-items:center;white-space:nowrap}.devPanel{padding:18px 15px}.userRow{grid-template-columns:minmax(0,1fr) 64px}.userRow .materialPermission,.userRow>button{grid-column:2}.materialDrawer{width:100vw}.drawerHeader{padding:max(16px,env(safe-area-inset-top)) 18px 16px}.drawerHeader>button{min-width:44px;min-height:44px}.materialDrawer form{padding:12px 11px calc(18px + env(safe-area-inset-bottom))}.formSection{padding:15px 13px}.formGrid{grid-template-columns:1fr}.formGrid .fullField{grid-column:auto}.fitSelector{grid-template-columns:repeat(2,1fr)}.formGrid input,.formGrid select{min-height:44px;font-size:16px}.formGrid textarea{font-size:16px}.imageUploader{min-height:130px}.drawerFooter{grid-template-columns:1fr 1fr}.drawerFooter>span{display:none}.deleteConfirm,.deleteMaterial{grid-column:1/-1}.drawerFooter>button{min-height:44px}.authForm input,.primaryAuth{min-height:48px;font-size:16px}.manageIntro h1{font-size:25px}.manageIntro>button{min-width:105px;min-height:44px;margin-left:10px}.draftCategory,.draftGrid{grid-template-columns:1fr}.draftSupplier>div{grid-template-columns:1fr 1fr}.draftSupplier>div>select:first-child{grid-column:1/-1}.libraryWorkspace{width:calc(100% - 22px)}.libraryFormGrid,.libraryWorkspace{grid-template-columns:1fr}.libraryFormGrid .wide{grid-column:auto}.libraryList>div{grid-template-columns:1fr auto}.libraryList>div>span:nth-child(3){display:none}.draftGrid .draftPurpose{grid-column:auto}.draftCategory select,.draftGrid input,.draftGrid textarea,.existingSearch input{min-height:44px;font-size:16px}.batchFooter{bottom:calc(8px + env(safe-area-inset-bottom))}}.siteHeader{position:sticky;top:0;z-index:50;min-height:72px;display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr) minmax(210px,290px);align-items:center;gap:20px;padding:0 32px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(31,74,54,.1);box-shadow:0 8px 28px rgba(26,57,43,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.siteBrand{min-width:0;display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.siteBrand>span:last-child{min-width:0;display:grid;gap:3px}.siteBrand strong{font-size:16px;line-height:1;letter-spacing:.01em}.siteBrand small{overflow:hidden;color:var(--muted);font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.brandMark{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;color:white;background:linear-gradient(145deg,var(--green-2),var(--green));border-radius:11px;box-shadow:0 7px 18px rgba(32,111,75,.2);font-size:17px;font-weight:800}.siteNav{min-width:0;height:72px;display:flex;align-items:stretch;justify-content:center;gap:2px}.siteNav .navLink,.siteNav .navPlaceholder,.siteNav .navTrigger{position:relative;min-height:44px;display:flex;align-items:center;gap:6px;padding:0 15px;color:#637069;background:transparent;border:0;border-radius:9px;text-decoration:none;font:600 13px/1 Microsoft YaHei UI,sans-serif;white-space:nowrap}.siteNav .navLink,.siteNav .navTrigger{cursor:pointer;transition:color .15s ease,background .15s ease}.navDropdown:focus-within .navTrigger,.navDropdown:hover .navTrigger,.siteNav .navLink:focus-visible,.siteNav .navLink:hover{color:var(--green);background:#f0f7f3;outline:none}.siteNav .navCurrent{color:var(--green)}.siteNav .navCurrent:after{content:"";position:absolute;right:16px;bottom:0;left:16px;height:3px;background:var(--green-2);border-radius:3px 3px 0 0}.navDropdown{position:relative;display:flex}.navChevron{color:#8e9b94;font-size:16px;transition:transform .16s ease}.navDropdown:focus-within .navChevron,.navDropdown:hover .navChevron,.navDropdownOpen .navChevron{transform:rotate(180deg)}.navDropdownPanel{position:absolute;top:calc(100% - 5px);left:50%;width:270px;display:grid;gap:4px;padding:9px;visibility:hidden;opacity:0;transform:translate(-50%,8px);background:rgba(255,255,255,.98);border:1px solid #dce7e0;border-radius:12px;box-shadow:0 18px 44px rgba(22,55,42,.16);transition:opacity .14s ease,transform .14s ease,visibility .14s}.navDropdown:focus-within .navDropdownPanel,.navDropdown:hover .navDropdownPanel,.navDropdownOpen .navDropdownPanel{visibility:visible;opacity:1;transform:translate(-50%)}.navDropdownPanel a{display:grid;gap:5px;padding:12px 13px;color:var(--ink);border-radius:8px;text-decoration:none}.navDropdownPanel .subNavActive,.navDropdownPanel a:focus-visible,.navDropdownPanel a:hover{color:var(--green);background:#edf6f0;outline:none}.navDropdownPanel span{font-size:13px;font-weight:700}.navDropdownPanel small{color:var(--muted);font-size:11px}.siteNav .navPlaceholder{color:#9ba59f;cursor:default}.siteNav .navPlaceholder small{padding:3px 6px;color:#849089;background:#edf0ee;border-radius:999px;font-size:9px}.siteProfile{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:9px}.profileEmail{max-width:140px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.siteProfile .userLevel{padding:4px 7px;color:var(--green);background:#edf6f0;border-radius:999px;font-size:10px;font-weight:700}.siteProfile .avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;color:white;background:var(--green);border-radius:50%;font-size:12px;font-weight:700}.siteProfile .logoutButton{min-height:34px;padding:0 11px;color:#65716b;background:white;border:1px solid #dce5df;border-radius:8px;cursor:pointer}.siteProfile .logoutButton:focus-visible,.siteProfile .logoutButton:hover{color:var(--green);border-color:#a9c8b7;outline:none}@media (max-width:980px){.siteHeader{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:0 18px}.profileEmail,.siteBrand small,.siteNav .navPlaceholder{display:none}.siteNav .navLink,.siteNav .navTrigger{padding:0 12px}}@media (max-width:640px){.siteHeader{min-height:116px;grid-template-columns:1fr auto;gap:0;padding:8px 12px 0}.siteNav{grid-column:1/-1;grid-row:2;height:52px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.siteNav::-webkit-scrollbar{display:none}.siteNav .navLink,.siteNav .navTrigger{min-height:52px}.siteProfile .logoutButton,.siteProfile .userLevel{display:none}.navDropdownPanel{position:fixed;top:108px;right:12px;left:12px;width:auto;transform:translateY(8px)}.navDropdown:focus-within .navDropdownPanel,.navDropdown:hover .navDropdownPanel,.navDropdownOpen .navDropdownPanel{transform:translateY(0)}}.supplierRowActions{display:flex;align-items:center;gap:8px}.supplierRowActions>button{min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.supplierRowActions>.supplierDelete{position:static}.materialBulkBar{display:flex;align-items:center;gap:14px;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fbf9}.materialBulkBar label{display:inline-flex;align-items:center;gap:7px}.materialBulkBar button{margin-left:auto;padding:8px 13px;border-radius:7px;color:#fff;background:#a53a3a}.materialBulkBar button:disabled{opacity:.45;cursor:not-allowed}.materialSelectableRow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.materialSelectableRow>button{width:100%}.materialSelect{display:grid;place-items:center;min-width:32px;min-height:44px}.signatureEditor{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbf9}.signatureHeading{display:grid;gap:3px}.signatureHeading span{color:var(--muted);font-size:11px}.savedSignature,.signatureEditor canvas{width:100%;aspect-ratio:26/9;box-sizing:border-box;border:1px dashed #aabbb1;border-radius:7px;background:#fff}.signatureEditor canvas{touch-action:none;cursor:crosshair}.savedSignature{display:grid;place-items:center}.savedSignature img{width:100%;height:100%;object-fit:contain}.signatureActions{display:flex;gap:8px;flex-wrap:wrap}.signatureActions button,.signatureUpload{padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.signatureUpload input{display:none}.siteBrand .brandMark,.siteBrand .brandMark img{border-radius:0!important}.siteBrand .brandMark img{object-fit:contain}.contractPage .contractSidebar{width:220px!important;transform:translateX(-204px);transition:transform .2s ease}.contractPage .contractSidebar:focus-within,.contractPage .contractSidebar:hover{transform:translateX(0)}.contractPage .contractSidebar:after{content:"›";position:absolute;top:45%;right:1px;color:#fff;font-size:18px}.contractPage .contractWorkspace{margin-left:16px!important;transition:none!important}@media (max-width:900px){.contractPage .contractSidebar{display:none!important}.contractPage .contractWorkspace{margin-left:0!important}}.wecomAuthButton{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;color:#176b50;background:#eef8f3;border:1px solid #b7d9ca;border-radius:8px;font-weight:700}.wecomAuthButton span{width:24px;height:24px;display:grid;place-items:center;color:#fff;background:#2aae67;border-radius:6px;font-size:11px}.developerWorkspace{max-width:1440px;margin:0 auto;padding:34px 28px 70px}.developerHero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:24px}.developerHero h1{margin:6px 0;font-size:34px}.developerHero>div>span{color:#6a746e}.developerStats{display:flex;gap:10px}.developerStats span{min-width:100px;padding:13px 16px;border:1px solid #dfe5e1;background:#fff;border-radius:12px;color:#748078;font-size:12px}.developerStats strong{display:block;color:#14271d;font-size:22px}.permissionConsole{border:1px solid #dfe5e1;background:#f7f9f8;border-radius:18px;overflow:hidden}.permissionConsoleHeading{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;background:#fff;border-bottom:1px solid #e2e8e4}.permissionConsoleHeading h2{margin:0 0 4px}.permissionConsoleHeading p{margin:0;color:#78837c}.permissionConsoleHeading>span{padding:7px 11px;border-radius:20px;background:#e9f4ed;color:#256141;font-size:12px}.permissionUserList{display:grid;gap:10px;padding:14px}.permissionUser{background:#fff;border:1px solid #e0e6e2;border-radius:13px;overflow:hidden}.permissionUser.isDisabled{opacity:.7}.permissionUserHeader{display:flex;align-items:center;gap:13px;padding:14px 16px}.permissionAvatar{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#173c2a;color:#fff;font-weight:800}.permissionIdentity{display:grid;gap:3px;flex:1 1}.permissionIdentity span{font-size:12px;color:#78837c}.permissionStatus{display:flex;gap:7px;align-items:center;padding:7px 10px;border-radius:20px;background:#f1f5f2;font-size:12px}.permissionExpand{border:1px solid #d9e1dc;background:#fff;border-radius:8px;padding:8px 12px}.permissionBody{padding:16px;border-top:1px solid #e5eae7;background:#fbfcfb}.permissionFields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.permissionFields label{display:grid;gap:5px;font-size:11px;color:#657169}.developerSettingCard input,.permissionFields input{min-width:0;border:1px solid #d9e1dc;border-radius:8px;padding:10px;background:#fff}.permissionGroups{display:grid;grid-template-columns:1.5fr 2fr 1fr;gap:12px;margin-top:15px}.permissionGroups fieldset{border:1px solid #e0e6e2;border-radius:10px;padding:10px}.permissionGroups legend{padding:0 5px;font-weight:700}.permissionGroups label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px}.permissionGroups label.selected{background:#eaf5ee;color:#215c3d}.permissionFooter{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #e2e7e4;color:#77827b;font-size:12px}.permissionFooter div{display:flex;gap:8px}.developerSettingCard button,.primaryButton{border:0;border-radius:8px;padding:9px 14px;background:#173c2a;color:#fff}.dangerButton{border:1px solid #e2b9b9;border-radius:8px;padding:9px 14px;background:#fff;color:#a23838}.developerSettings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.developerSettingCard{display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(110px,180px)) auto;gap:10px;align-items:end;padding:18px;border:1px solid #dfe5e1;border-radius:14px;background:#fff}.developerSettingCard h3,.developerSettingCard p{margin:0}.developerSettingCard p{margin-top:4px;color:#78837c;font-size:12px}.authDivider{display:flex;align-items:center;gap:10px;margin:4px 0;color:#89928d;font-size:11px}.authDivider:after,.authDivider:before{content:"";height:1px;background:#e1e5e2;flex:1 1}@media(max-width:900px){.developerHero,.permissionConsoleHeading,.permissionFooter{align-items:flex-start;flex-direction:column}.developerStats{width:100%;overflow:auto}.developerSettingCard,.developerSettings,.permissionFields,.permissionGroups{grid-template-columns:1fr}.permissionStatus{display:none}}.developerUserCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:end;gap:8px}.developerUserCard>.developerUserFields{grid-column:2;grid-row:1;grid-template-columns:minmax(80px,.7fr) minmax(130px,1.15fr) minmax(80px,.7fr);gap:7px}.developerUserCard>.developerUserActions{display:contents}.developerUserActions>.userEnabled{grid-column:1;grid-row:1;min-height:38px;margin:0;white-space:nowrap}.developerUserActions>.userSaveButton{grid-column:3;grid-row:1;min-height:38px}.developerUserActions>.userDeleteButton{grid-column:4;grid-row:1;min-height:38px}.developerUserCard>.developerUserDetails,.developerUserCard>.userDetailsToggle{grid-column:1/-1}@media (max-width:860px){.developerUserCard>.developerUserFields{grid-column:1/-1;grid-row:2}.developerUserActions>.userDeleteButton,.developerUserActions>.userEnabled,.developerUserActions>.userSaveButton{grid-row:1}}@media (max-width:560px){.developerUserCard>.developerUserFields{grid-template-columns:1fr}}.quotePage{min-height:100vh;background:#edf1ee}.quoteWorkspace{min-height:calc(100vh - 72px);display:grid;grid-template-columns:230px minmax(0,1fr)}.quoteSidebar{position:fixed;top:72px;bottom:0;left:0;z-index:45;width:230px;box-sizing:border-box;padding:25px 18px;background:#173e2f;border-right:1px solid rgba(255,255,255,.08);box-shadow:14px 0 35px rgba(17,42,32,.2);transform:translateX(calc(-100% + 18px));transition:transform .18s ease}.quoteSidebar:focus-within,.quoteSidebar:hover{transform:translateX(0)}.quoteSidebarHandle{position:absolute;top:24px;right:-27px;width:27px;padding:10px 5px;box-sizing:border-box;color:white;background:#173e2f;border-radius:0 7px 7px 0;writing-mode:vertical-rl;font-size:9px;font-weight:700;letter-spacing:.12em}.quoteSidebar h1{margin:4px 0 22px;color:white;font-size:23px}.quoteEyebrow{color:#9fc6b3;font-size:9px;font-weight:800;letter-spacing:.13em}.newQuoteButton{width:100%;min-height:40px;color:#173e2f;background:#d5ab66;border:0;border-radius:8px;cursor:pointer;font-weight:800}.quoteList{display:grid;gap:6px;margin-top:18px;max-height:calc(100vh - 255px);overflow-y:auto}.quoteList button{display:grid;gap:4px;padding:11px;color:#c8dbd1;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer}.quoteList .quoteListActive,.quoteList button:hover{color:white;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}.quoteList small{color:#82a794;font-size:9px}.quoteList button>span{color:#9db8aa;font-size:8px}.quoteSearch{width:100%;height:36px;box-sizing:border-box;margin-top:14px;padding:0 10px;color:white;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:7px;outline:none;font-size:10px}.quoteSearch::placeholder{color:#91ad9f}.quoteListEmpty{color:#91ad9f;font-size:10px;text-align:center}.quoteLibraryLink{width:100%;min-height:34px;margin-top:10px;color:#cce0d5;background:transparent;border:1px solid rgba(255,255,255,.16);border-radius:7px;cursor:pointer;font-size:9px}.recentQuoteItem{overflow:hidden;border:1px solid transparent;border-radius:8px}.recentQuoteItem.quoteListActive,.recentQuoteItem:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}.quoteList .recentQuoteItem>button{width:100%;border-radius:0}.recentQuoteActions{display:flex;justify-content:flex-end;gap:4px;padding:0 8px 7px}.recentQuoteActions button{min-width:29px;min-height:24px;color:#b8d1c4;background:rgba(255,255,255,.07);border:0;border-radius:5px;cursor:pointer;font-size:8px}.recentQuoteActions button:last-child{color:#efb7b3}.quoteLibrary{width:min(1180px,100%);min-height:calc(100vh - 120px);margin:0 auto}.quoteLibrary>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:12px 0 22px}.quoteLibrary h1{margin:5px 0 7px;color:var(--ink);font-size:29px}.quoteLibrary header p{margin:0;color:var(--muted);font-size:11px}.quoteLibrary>header>button{min-height:40px;padding:0 15px;color:white;background:var(--green);border:0;border-radius:8px;cursor:pointer;font-weight:700}.quoteLibrarySearch{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:11px;background:white;border:1px solid #dce5df;border-radius:10px}.quoteLibrarySearch input{min-width:0;height:38px;flex:1 1;padding:0 12px;border:1px solid #dce5df;border-radius:7px;outline:none}.quoteLibrarySearch input:focus{border-color:var(--green-2)}.quoteLibrarySearch span{color:var(--muted);font-size:10px;white-space:nowrap}.quoteLibraryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.quoteProjectCard{overflow:hidden;background:white;border:1px solid #dce5df;border-radius:12px;box-shadow:0 7px 22px rgba(24,55,41,.04);transition:transform .15s ease,box-shadow .15s ease}.quoteProjectCard:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(24,55,41,.09)}.quoteProjectOpen{width:100%;display:grid;justify-items:start;padding:17px;color:var(--ink);text-align:left;background:transparent;border:0;cursor:pointer}.quoteProjectIcon{width:34px;height:34px;display:grid;place-items:center;margin-bottom:13px;color:white;background:var(--green);border-radius:8px;font:800 14px/1 Georgia,serif}.quoteProjectOpen>strong{overflow:hidden;max-width:100%;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.quoteProjectOpen>small{margin-top:5px;color:var(--muted);font-size:9px}.quoteProjectOpen dl{width:100%;display:grid;gap:6px;margin:16px 0 0;padding-top:12px;border-top:1px solid #edf1ee}.quoteProjectOpen dl div{display:flex;justify-content:space-between;gap:8px}.quoteProjectOpen dd,.quoteProjectOpen dt{margin:0;color:var(--muted);font-size:8px}.quoteProjectCard footer{display:flex;justify-content:flex-end;gap:6px;padding:9px 12px;background:#f7f9f8;border-top:1px solid #edf1ee}.quoteProjectCard footer button{min-height:29px;padding:0 9px;color:#5d6b63;background:white;border:1px solid #dce5df;border-radius:6px;cursor:pointer;font-size:9px}.quoteProjectCard footer .quoteProjectDelete{color:#a3433c}.quoteLibraryEmpty{grid-column:1/-1;padding:70px 20px;color:var(--muted);text-align:center;background:white;border:1px dashed #ced9d2;border-radius:12px;font-size:11px}.quoteCanvasWrap{min-width:0;padding:24px;overflow:hidden}.emptyQuoteState{min-height:calc(100vh - 120px);display:grid;place-content:center;justify-items:center;gap:9px;color:var(--muted)}.emptyQuoteState strong{color:var(--ink);font-size:24px}.emptyQuoteState button{min-height:38px;margin-top:10px;padding:0 15px;color:white;background:var(--green);border:0;border-radius:7px}.quoteCanvas{min-height:720px;padding:28px;background:white;border-radius:13px;box-shadow:0 15px 45px rgba(25,54,41,.09)}.quoteSheetBar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 18px 0;overflow-x:auto;border-bottom:1px solid #ccd8d1;background:#f5f8f6}.quoteSheetBar>div{display:flex;gap:4px}.quoteSheetBar span{display:flex;align-items:center;border:1px solid #d5dfd9;border-bottom:0;background:#e8eeea}.quoteSheetBar button{padding:9px 11px;color:#536159;background:transparent;border:0;cursor:pointer;white-space:nowrap}.quoteSheetBar span button+button{padding:9px 5px;opacity:.55}.quoteSheetBar .quoteSheetActive{background:white;box-shadow:inset 0 3px var(--green)}.quoteSheetBar .quoteSheetActive>button:first-child{color:var(--green);font-weight:800}.quoteSummarySheet{margin:22px;border:1px solid #cfd9d3}.quoteSummarySheet>header{display:flex;align-items:baseline;justify-content:space-between;padding:18px 22px;color:white;background:var(--green)}.quoteSummarySheet h2{margin:0;font-size:22px}.quoteSummaryRows>div{display:grid;grid-template-columns:65px minmax(220px,1fr) 180px 180px 190px 34px;align-items:center;min-height:44px;border-top:1px solid #dbe3de}.quoteSummaryRows>div>*{padding:10px 14px;text-align:right}.quoteSummaryRows>div>:first-child,.quoteSummaryRows>div>:nth-child(2){text-align:left}.quoteSummaryRows button,.quoteSummaryRows input{box-sizing:border-box;width:100%;color:inherit;background:transparent;border:0}.quoteSummaryHeading{color:#33473c;background:#eef3f0;font-weight:800}.quoteSummarySubtotal{background:#f5f7f6}.quoteSummaryExtra label{display:flex;align-items:center;justify-content:flex-end}.quoteSummaryExtra label input{width:85px;text-align:right}.quoteAddExtra{margin:12px 18px;padding:8px 14px;color:var(--green);background:#edf5f0;border:1px solid #c9dacf;cursor:pointer}.quoteSummaryGrand{display:flex;align-items:center;justify-content:flex-end;gap:28px;padding:20px 24px;color:white;background:#193e2f;font-size:22px}.quoteDocumentHeader{display:grid;grid-template-columns:230px minmax(260px,1fr) auto;align-items:center;gap:20px;padding-bottom:20px;border-bottom:3px solid var(--green)}.quoteHeaderActions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.quoteHeaderActions>button{min-height:32px;padding:0 9px;color:var(--green);background:#edf6f0;border:1px solid #cce0d4;border-radius:6px;cursor:pointer;font-size:9px;font-weight:700}.quoteLogo{display:flex;align-items:center;gap:10px}.quoteLogo>span{width:42px;height:42px;display:grid;place-items:center;color:white;background:var(--green);border-radius:10px;font:800 20px/1 Georgia,serif}.quoteLogo>span img{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit}.quoteLogo div{display:grid;gap:3px}.quoteLogo strong{font-size:16px}.quoteLogo small{color:var(--muted);font-size:8px;letter-spacing:.08em}.quoteTitle{min-width:0;padding:5px;color:var(--ink);background:transparent;border:0;text-align:center;font:800 26px/1.2 Microsoft YaHei UI,sans-serif}.quoteTitle:focus{background:#f4f8f5;outline:none}.saveStatus{justify-self:end;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:700}.saveStatus-saved{color:#20704d;background:#e9f5ee}.saveStatus-loading,.saveStatus-saving{color:#846326;background:#fff5df}.saveStatus-error{color:#9f3b35;background:#fff0ee}.quoteMeta{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;padding:20px 0}.quoteMeta label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:700}.quoteMeta input{min-width:0;height:36px;padding:0 10px;border:1px solid #dce5df;border-radius:6px;font-size:11px}.quoteTableScroll{overflow-x:auto;border:1px solid #cfdad3;border-radius:8px}.quoteTable{min-width:1540px}.quoteRow{display:grid;grid-template-columns:48px 100px 150px 190px 65px 80px 80px 100px 110px 330px 150px 36px}.quoteTableHead{position:sticky;top:0;z-index:2;min-height:54px;align-items:stretch;color:white;background:var(--green)}.quoteTableHead>span{display:grid;place-items:center;padding:7px;text-align:center;font-size:10px;font-weight:700}.priceBreakdownHead,.quoteTableHead>span{border-right:1px solid rgba(255,255,255,.16)}.priceBreakdownHead{display:grid!important;grid-template-rows:27px 27px;padding:0!important}.priceBreakdownHead>strong{display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.24);font-size:10px}.priceBreakdownLabels{display:grid;grid-template-columns:repeat(4,1fr)}.priceBreakdownLabels small{display:grid;place-items:center;color:#d5e8de;border-right:1px solid rgba(255,255,255,.2);font-size:8px}.priceBreakdownLabels small:last-child{border-right:0}.quoteItemRow{min-height:70px;border-top:1px solid #e2e8e4}.quoteItemRow:nth-child(odd){background:#fafcfb}.quoteIndex,.quoteItemRow>.calculatedPrice,.quoteItemRow>.priceBreakdown,.quoteItemRow>input,.quoteItemRow>textarea,.removeQuoteRow{min-width:0;border:0;border-right:1px solid #e2e8e4}.quoteItemRow>input,.quoteItemRow>textarea{width:100%;box-sizing:border-box;padding:8px;background:transparent;resize:none;font:500 10px/1.4 Microsoft YaHei UI,sans-serif}.priceBreakdown input:focus,.quoteItemRow>input:focus,.quoteItemRow>textarea:focus{background:#eef7f1;outline:2px solid #83b79c;outline-offset:-2px}.calculatedPrice,.quoteIndex{display:grid;place-items:center}.quoteIndex{color:var(--muted);font-size:10px}.quoteDragHandle{cursor:grab;-webkit-user-select:none;user-select:none}.quoteDragHandle:active{cursor:grabbing}.quoteItemRow:has(.quoteDragHandle):hover .quoteDragHandle{color:white;background:var(--green)}.quoteItemDragging{opacity:.42}.quoteItemRow:has(.quoteDragHandle)[data-row-id]{position:relative;transition:opacity .12s ease,box-shadow .12s ease,background .12s ease}.quoteDropTarget{z-index:3;background:#eef8f2!important;box-shadow:inset 0 0 0 2px rgba(36,125,82,.16)}.quoteDropTarget:before{content:"";right:0;left:0;z-index:5;height:4px;border-radius:999px;box-shadow:0 0 0 2px white,0 3px 10px rgba(23,128,79,.35)}.quoteDropTarget:after,.quoteDropTarget:before{position:absolute;background:#17804f;pointer-events:none}.quoteDropTarget:after{right:12px;z-index:6;padding:4px 8px;color:white;border-radius:5px;font-size:9px;font-weight:700}.quoteDrop-before:before{top:-2px}.quoteDrop-before:after{content:"放到此行之前";top:6px}.quoteDrop-after:before{bottom:-2px}.quoteDrop-after:after{content:"放到此行之后";bottom:6px}.calculatedPrice{padding:6px;color:var(--green);text-align:right;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.priceBreakdown{display:grid;grid-template-columns:repeat(4,1fr)}.priceBreakdown input{width:100%;min-width:0;box-sizing:border-box;padding:7px;background:transparent;border:0;border-right:1px dashed #dce5df;font-size:9px}.removeQuoteRow{color:#a94c45;background:transparent;cursor:pointer;font-size:17px}.quoteFooter{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px}.quoteRegionRow{min-height:48px;display:grid;grid-template-columns:90px minmax(0,1fr) 36px;align-items:stretch;color:#17261f;background:#dceadd;border-top:1px solid #b9cdbd;border-bottom:1px solid #b9cdbd;font-weight:800}.quoteRegionRow>span,.quoteRegionRow>strong{display:grid;align-items:center;padding:0 12px}.quoteRegionRow input{min-width:0;padding:0 12px;color:#17261f;background:transparent;border:0;border-left:1px solid #bdd0c1;font-size:13px;font-weight:800;outline:none}.quoteRegionRow button{color:#803b36;background:transparent;border:0;cursor:pointer;font-size:17px}.quoteRegionSubtotal{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(155px,auto));background:#cbdcca}.quoteRegionSubtotal span{min-width:155px;justify-content:end;gap:7px;border-left:1px solid #b3c7b6;font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quoteRegionSubtotal b{font-size:11px}.quoteModal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(15,31,24,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.quoteModal form{width:min(420px,100%);box-sizing:border-box;padding:25px;background:white;border-radius:14px;box-shadow:0 24px 80px rgba(15,40,29,.25)}.quoteModal h2{margin:0;font-size:21px}.quoteModal p{margin:7px 0 20px;color:var(--muted);font-size:11px}.quoteModal label{display:grid;gap:7px;color:#5e6b64;font-size:10px;font-weight:700}.quoteModal input{height:41px;padding:0 11px;border:1px solid #d8e2dc;border-radius:7px}.quoteModal form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.quoteModal button{min-height:37px;padding:0 14px;border:1px solid #d8e2dc;border-radius:7px;cursor:pointer}.quoteModal .confirmNewQuote{color:white;background:var(--green);border-color:var(--green)}.quoteFooter>button{min-height:38px;padding:0 14px;color:var(--green);background:#edf6f0;border:1px solid #cce0d4;border-radius:7px;cursor:pointer;font-weight:700}.quoteFooter>div{display:flex;align-items:baseline;gap:15px}.quoteFooter .quoteTotals{display:flex;align-items:center;gap:22px}.quoteTotals>span{display:grid;gap:4px;text-align:right}.quoteTotals>span b{color:var(--ink);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quoteTotals>strong{display:flex;align-items:baseline;gap:10px;font-size:25px}.quoteTotals>strong small{color:var(--ink);font-size:17px}.quoteFooter span{color:var(--muted);font-size:11px}.quoteFooter strong{color:var(--green);font-size:23px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:900px){.quoteWorkspace{grid-template-columns:1fr}.quoteSidebar{top:116px}.quoteSidebar h1{margin-bottom:0}.newQuoteButton{width:auto;padding:0 14px}.quoteList{grid-column:1/-1;display:flex;overflow-x:auto;margin-top:0}.quoteList button{min-width:150px}.quoteCanvasWrap{padding:12px}.quoteCanvas{padding:18px}.quoteDocumentHeader{grid-template-columns:1fr auto}.quoteTitle{grid-column:1/-1;grid-row:2}.quoteMeta{grid-template-columns:repeat(2,1fr)}}@media print{@page{size:A3 landscape;margin:10mm}.quotePage,body{background:white!important}*,:after,:before{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.quoteNoPrint,.removeQuoteRow,.siteHeader{display:none!important}.quoteCanvasWrap{padding:0;overflow:visible}.quoteCanvas{min-height:0;padding:0;box-shadow:none}.quoteTableScroll{overflow:visible}.quoteTable{min-width:0}.quoteRow{grid-template-columns:34px 70px 105px 135px 45px 55px 55px 75px 80px 235px 105px}.quoteItemRow,.quoteRegionRow,.quoteTableHead{page-break-inside:avoid;break-inside:avoid}.quoteTableHead{color:white!important;background:#174f3a!important}.quoteRegionStart{background:#dceadd!important}.quoteRegionSubtotal{background:#cbdcca!important}.priceBreakdown input,.quoteItemRow>input,.quoteItemRow>textarea,.quoteMeta input,.quoteRegionRow input,.quoteTitle{color:#111!important}}