:root{--ink:#17201d;--muted:#68736e;--line:#dce3df;--paper:#f4f6f3;--green:#176b50;--green-dark:#11523e;--soft:#e8f1ed}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:Microsoft YaHei UI,PingFang SC,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;align-items:center;gap:13px;height:76px;padding:0 26px;display:flex;position:sticky;top:0}.brand-mark{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:19px;font-weight:800;display:grid;box-shadow:0 5px 15px #176b5030}.brand-copy h1,.brand-copy p,.panel-heading h2,.section-title h2,.quote-panel h2,.product-summary h2{margin:0}.brand-copy h1{letter-spacing:.02em;font-size:17px}.brand-copy p{color:var(--muted);margin-top:3px;font-size:11px}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.data-status{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:12px}.data-status i{background:#2da36f;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.ghost-button,.reset-button{color:var(--green);background:0 0;border:0;font-size:13px;font-weight:700}.quote-reset-button{white-space:nowrap;background:#f2f8f5;border:1px solid #b8d1c6;border-radius:8px;padding:8px 11px}.quote-reset-button:hover{border-color:var(--green);background:#e7f2ed}.avatar{color:#72562e;background:#eee5d8;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:800;display:grid}.workspace{grid-template-columns:minmax(480px,540px) minmax(500px,1fr) 284px;min-height:calc(100vh - 76px);display:grid}.search-panel,.detail-panel,.quote-panel{padding:24px}.search-panel{border-right:1px solid var(--line);background:#fbfcfa}.detail-panel{padding:24px 28px 40px;overflow:auto}.quote-panel{border-left:1px solid var(--line);background:#fff}.panel-heading,.section-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.eyebrow{color:#7d8a84;letter-spacing:.14em;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.panel-heading h2,.section-title h2,.quote-panel h2{font-size:18px}.search-heading-actions{align-items:center;gap:8px;display:flex}.count-pill{text-align:center;background:var(--soft);min-width:28px;color:var(--green);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.search-box{background:#fff;border:1px solid #cbd5d0;border-radius:10px;align-items:center;gap:8px;height:44px;padding:0 11px;display:flex;box-shadow:0 2px 6px #1d2b2410}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #176b5015}.search-box span{color:#77827d;font-size:22px;transform:rotate(-15deg)}.search-box input{width:100%;color:var(--ink);border:0;outline:0;font-size:13px}.search-box button{color:#87918c;background:0 0;border:0;font-size:18px}.search-wrap{z-index:5;position:relative}.suggestions{background:#fff;border:1px solid #cbd5d0;border-radius:10px;position:absolute;top:49px;left:0;right:0;overflow:hidden;box-shadow:0 13px 30px #1d2b2426}.suggestions button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.suggestions button:last-child{border-bottom:0}.suggestions button:hover{background:#eef5f1}.suggestions span,.suggestions strong,.suggestions small{display:block}.suggestions strong{font-size:12px}.suggestions small{color:var(--muted);margin-top:3px;font-size:9px}.suggestions em{color:#627069;background:#eef2f0;border-radius:5px;flex:none;padding:3px 6px;font-size:8px;font-style:normal}.suggestion-columns{grid-template-columns:1fr 1fr;width:min(720px,100vw - 48px);max-height:430px;display:grid;overflow-y:auto}.suggestion-columns section+section{border-left:1px solid var(--line)}.suggestion-columns h3{color:#4e6259;background:#f5f8f6;justify-content:space-between;margin:0;padding:8px 12px;font-size:10px;display:flex}.suggestion-columns h3 span{color:#87938d;font-weight:500}.suggestion-columns section>p{text-align:center;color:#929c97;margin:0;padding:22px 12px;font-size:10px}.range-filters{grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 12px;display:grid}.range-group{border:0;margin:0;padding:0}.range-group legend{color:#5f6c66;width:100%;margin-bottom:5px;font-size:10px;font-weight:800}.range-group legend span{float:right;color:#a2aaa6;font-weight:400}.range-group>div{grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;display:grid}.range-group input,.select-filters select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:8px;outline:0;padding:8px 9px;font-size:11px}.range-group input:focus,.select-filters select:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b5012}.range-group i{color:#9aa39f;font-size:10px;font-style:normal}.select-filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dual-supplier-filters{grid-template-columns:1fr 1fr 1fr}.select-filters label{color:#5f6c66;font-size:10px;font-weight:800}.select-filters select{margin-top:5px;padding-right:4px;display:block}.clear-filters{color:var(--green);white-space:nowrap;background:#f4f8f6;border:1px solid #c9d9d2;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:700}.clear-filters:hover{border-color:var(--green);background:#e8f2ed}.filter-toggle{display:none}.filter-body{margin-bottom:14px}.dimension-row{color:#9aa39f;grid-template-columns:1fr auto 1fr auto 1fr;align-items:end;gap:7px;margin:14px 0 18px;display:grid}.dimension-row label,.input-grid label{color:var(--muted);font-size:10px;font-weight:700}.dimension-row input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;width:100%;margin-top:5px;padding:8px 7px;font-size:12px}.result-limit{color:#8b9691;margin:-6px 0 10px;font-size:9px;line-height:1.45}.result-list{scrollbar-width:thin;flex-direction:column;gap:7px;min-height:120px;max-height:calc(100vh - 410px);padding-right:3px;display:flex;overflow-y:auto}.library-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.library-group{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:10px}.library-group>header{z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:4px 3px 10px;display:flex;position:sticky;top:0}.library-group>header b,.library-group>header span{display:block}.library-group>header b{font-size:12px}.library-group>header span{color:#88938e;margin-top:3px;font-size:9px}.library-group>header em{background:var(--soft);color:var(--green);border-radius:8px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:800}.library-group .product-row{grid-template-columns:36px 1fr auto;gap:7px;padding:7px}.library-group .mini-profile{width:36px;height:36px}.library-group .product-copy strong{font-size:11px}.library-group .product-copy small{font-size:8px}.library-group .empty-state{padding:35px 5px}.product-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:43px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.product-row:hover{background:#f0f4f1}.product-row.active{box-shadow:inset 3px 0 var(--green);background:#e8f1ed;border-color:#b8d1c6}.mini-profile{background:#f3f5f4;border:1px solid #c7d0cc;border-radius:8px;justify-content:center;align-items:center;gap:3px;width:43px;height:43px;display:flex;overflow:hidden}.mini-profile img{object-fit:contain;background:#fff;width:100%;height:100%}.no-thumb{color:#98a19d;font-size:8px}.mini-profile b{background:#aebbc0;border-radius:2px;width:7px;height:25px;box-shadow:inset 0 0 0 1px #9ba8ad}.product-copy{min-width:0}.product-copy strong,.product-copy small{display:block}.product-copy strong{font-size:13px}.product-copy small{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);margin-top:4px;font-size:10px;overflow:hidden}.media-tag{color:#8a928e;background:#f0f1f0;border-radius:4px;padding:3px 5px;font-size:8px;font-weight:800}.media-tag.ready{color:var(--green);background:#e6f1ec}.empty-state{text-align:center;color:var(--muted);padding:45px 10px}.empty-state span,.empty-state strong{font-size:12px;display:block}.empty-state span{margin-top:5px;font-size:10px}.product-hero{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:minmax(330px,1.4fr) minmax(210px,.6fr);min-height:330px;display:grid;overflow:hidden;box-shadow:0 8px 25px #2c3c350a}.profile-stage{background:#edf1ef;place-items:center;min-height:330px;display:grid;position:relative;overflow:hidden}.profile-stage.has-photo{background:#fff}.drawing-grid{opacity:.35;background-image:linear-gradient(#c9d2cd 1px,#0000 1px),linear-gradient(90deg,#c9d2cd 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.product-photo{z-index:1;object-fit:contain;filter:drop-shadow(0 12px 18px #17201d20);width:97%;height:285px;position:relative}.profile-shape{z-index:1;background:linear-gradient(145deg,#e9eff1,#b9c4c8);border:5px solid #aebbc0;border-radius:8px;justify-content:space-evenly;align-items:center;width:180px;height:104px;padding:12px;display:flex;position:relative;transform:rotate(-7deg)skewY(2deg);box-shadow:16px 20px 25px #61716a28,inset -7px -8px 12px #82909645}.profile-shape i{background:#d5dfe2;border:4px solid #9eabb0;width:19px;height:67px;box-shadow:inset 4px 0 #bec9cd}.dimension-line{z-index:2;color:#596861;letter-spacing:.04em;font-size:10px;position:absolute}.dimension-line.top{text-align:center;border-top:1px solid #7f9188;width:180px;padding-top:5px;top:38px;left:50%;transform:translate(-50%)}.dimension-line.side{text-align:center;border-top:1px solid #7f9188;width:105px;top:50%;right:29px;transform:rotate(90deg)translateY(-50%)}.product-summary{padding:30px 26px}.product-summary h2{letter-spacing:-.02em;font-size:28px}.product-summary>p{color:var(--muted);margin:5px 0 22px;font-size:12px}.product-summary dl{grid-template-columns:1fr 1fr;gap:14px;margin:0 0 22px;display:grid}.product-summary dt{color:var(--muted);font-size:9px}.product-summary dd{margin:4px 0 0;font-size:13px;font-weight:800}.product-summary .supplier-detail{color:#68736e;background:#f4f6f4;border-radius:8px;margin:-8px 0 15px;padding:9px 10px;font-size:9px;line-height:1.5}.source-banner{color:#28634e;background:#eaf3ef;border:1px solid #bfd5cb;border-radius:9px;margin-bottom:10px;padding:8px 12px;font-size:10px;font-weight:800}.source-banner.external{color:#83591e;background:#fff6e8;border-color:#ddc9a7}.cad-control{border:1px solid var(--line);background:#f8faf8;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid;position:relative}.cad-file-copy{min-width:0}.cad-file-copy b,.cad-file-copy span{display:block}.cad-file-copy b{color:var(--green);font-size:11px}.cad-file-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;overflow:hidden}.cad-actions{gap:6px;display:flex}.cad-actions a,.cad-actions button{border-radius:6px;padding:6px 9px;font-size:9px;font-weight:800;text-decoration:none}.cad-download{color:var(--green);background:#fff;border:1px solid #a9c8ba}.cad-upload{background:var(--green);color:#fff;border:0}.cad-progress{background:#dfe8e3;border-radius:3px;grid-column:1/-1;height:3px;overflow:hidden}.cad-progress i{background:var(--green);height:100%;transition:width .15s;display:block}.cad-message{color:#597067;grid-column:1/-1;margin:0;font-size:9px}.calculator-card{border:1px solid var(--line);background:#fff;border-radius:17px;margin-top:18px;padding:24px;box-shadow:0 8px 25px #2c3c350a}.data-warning{color:#8a5a1f;background:#fff7eb;border:1px solid #e7caa2;border-radius:8px;margin:-5px 0 15px;padding:10px 12px;font-size:10px;line-height:1.5}.external-pricing{background:#fff8ec;border:1px solid #e4cfad;border-radius:11px;grid-template-columns:1fr 150px 150px;align-items:end;gap:12px;margin:-4px 0 17px;padding:14px;display:grid}.external-pricing div b,.external-pricing div span{display:block}.external-pricing div b{color:#74501b;font-size:12px}.external-pricing div span{color:#9a7c50;margin-top:4px;font-size:9px}.external-pricing label{color:#725d3c;font-size:9px;font-weight:700}.external-pricing label em{float:right;color:#9b8769;font-style:normal;font-weight:400}.external-pricing input{width:100%;color:var(--ink);background:#fff;border:1px solid #ddc8a6;border-radius:8px;outline:0;margin-top:5px;padding:9px 10px;font-weight:700}.input-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.input-grid label{position:relative}.input-grid label em{float:right;color:#97a19d;font-style:normal;font-weight:400}.input-grid input{border:1px solid #ccd5d1;border-radius:9px;outline:0;width:100%;margin-top:7px;padding:11px 12px;font-size:16px;font-weight:700}.input-grid input:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b5012}.option-groups{grid-template-columns:1fr 1fr;gap:22px;margin:20px 0;display:grid}.option-groups fieldset{border:0;margin:0;padding:0}.option-groups legend{color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:700}.option-groups fieldset div{background:#eef1ef;border-radius:9px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.option-groups button{color:#69746f;background:0 0;border:0;border-radius:7px;padding:8px 5px;font-size:11px}.option-groups button.selected{color:var(--green);background:#fff;font-weight:800;box-shadow:0 2px 7px #263b3218}.cost-breakdown{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);padding-top:18px;display:grid}.cost-breakdown div{border-right:1px solid var(--line);padding:0 12px}.cost-breakdown div:first-child{padding-left:0}.cost-breakdown div:last-child{border:0}.cost-breakdown span,.cost-breakdown strong{display:block}.cost-breakdown span{color:var(--muted);font-size:11px}.cost-breakdown span small{color:#9aa39f;margin-top:3px;font-size:10px;display:block}.cost-breakdown strong{margin-top:6px;font-size:15px}.sale-factor-row{background:#eef6f2;border:1px solid #c9ddd4;border-radius:11px;grid-template-columns:1fr 150px;align-items:center;gap:14px 20px;margin-top:18px;padding:20px;display:grid}.sale-factor-row label span,.sale-factor-row label small{display:block}.sale-factor-row label span{color:#294d3f;font-size:18px;font-weight:800}.sale-factor-row label small{color:#657970;margin-top:7px;font-size:14px;font-weight:500}.factor-input{background:#fff;border:1px solid #9dbcae;border-radius:9px;align-items:center;display:flex;overflow:hidden}.factor-input input{width:100%;min-width:0;color:var(--green-dark);background:0 0;border:0;outline:0;padding:12px 6px 12px 13px;font-size:20px;font-weight:800}.factor-input em{color:#64756d;padding-right:12px;font-size:15px;font-style:normal}.sale-factor-row p{color:#40574d;grid-column:1/-1;margin:0;font-size:16px;font-weight:600;line-height:1.55}.quote-panel{padding-top:31px}.unit-price{border-bottom:1px solid var(--line);margin-top:32px;padding-bottom:27px}.unit-price span,.unit-price strong,.unit-price em{display:block}.unit-price span{color:var(--muted);font-size:13px}.unit-price strong{color:var(--green);letter-spacing:-.03em;margin:7px 0 2px;font-family:Georgia,serif;font-size:42px}.unit-price strong small{margin-right:3px;font-size:18px}.unit-price em{color:var(--muted);font-size:12px;font-style:normal}.order-total{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.order-total span{color:var(--muted);font-size:12px}.order-total strong{font-family:Georgia,serif;font-size:18px}.order-total.cost-total{border-top:1px solid var(--line);padding:14px 0}.order-total.profit-total{background:var(--soft);border-radius:9px;margin:0 0 18px;padding:13px 12px}.order-total.profit-total span,.order-total.profit-total strong{color:var(--green-dark);font-weight:800}.formula-note{background:#f1f5f2;border-left:3px solid #7ca894;border-radius:10px;margin:3px 0 25px;padding:13px}.formula-note b{color:#466157;font-size:12px}.formula-note p{color:#64756d;margin:6px 0 0;font-size:11px;line-height:1.65}.primary-button,.secondary-button{border-radius:9px;width:100%;padding:12px;font-size:12px;font-weight:800}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 5px 14px #176b5030}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{cursor:not-allowed;box-shadow:none;background:#9da7a2;border-color:#9da7a2}.secondary-button{color:#51605a;background:#fff;border:1px solid #cdd6d2;margin-top:9px}.privacy-note{text-align:center;color:#89958f;margin-top:16px;font-size:11px}@media (max-width:1280px){.workspace{grid-template-columns:420px minmax(470px,1fr) 260px}.library-columns{gap:8px}.library-group{padding:7px}.library-group .media-tag{display:none}}@media (max-width:1050px){.workspace{grid-template-columns:380px 1fr}.quote-panel{border-left:0;border-top:1px solid var(--line);grid-column:2;padding-top:22px}.unit-price{margin-top:18px}.library-columns{grid-template-columns:1fr}.library-group .media-tag{display:block}.library-group .result-list{max-height:260px}.dual-supplier-filters{grid-template-columns:1fr 1fr}.dual-supplier-filters label:last-child{grid-column:1/-1}}@media (max-width:760px){.topbar{height:66px;padding:0 14px}.brand-copy p,.data-status,.ghost-button{display:none}.workspace{display:block}.search-panel,.detail-panel,.quote-panel{border:0;border-bottom:1px solid var(--line);padding:17px 14px}.panel-heading{align-items:flex-start}.search-heading-actions{flex-direction:column-reverse;align-items:flex-end}.filter-toggle{border:1px solid var(--line);color:#53635c;background:#fff;border-radius:8px;justify-content:space-between;width:100%;margin:10px 0 0;padding:10px 11px;font-size:11px;font-weight:700;display:flex}.filter-toggle span{color:var(--green)}.filter-body{border:1px solid var(--line);background:#f8faf9;border-top:0;border-radius:0 0 9px 9px;margin-bottom:12px;padding:0 10px 10px;display:none}.filter-body.open{display:block}.range-filters{grid-template-columns:1fr 1fr 1fr}.select-filters{grid-template-columns:1fr 1fr}.dual-supplier-filters label:last-child{grid-column:1/-1}.library-columns{grid-template-columns:1fr 1fr}.library-group .result-list{max-height:340px;display:flex}.suggestion-columns{grid-template-columns:1fr;width:100%;max-height:520px}.suggestion-columns section+section{border-left:0;border-top:1px solid var(--line)}.product-hero{grid-template-columns:1fr}.profile-stage{min-height:250px}.product-photo{height:220px}.product-summary{padding:22px}.external-pricing{grid-template-columns:1fr 1fr}.external-pricing>div{grid-column:1/-1}.input-grid{grid-template-columns:1fr 1fr 1fr}.option-groups{grid-template-columns:1fr;gap:14px}.cost-breakdown{grid-template-columns:1fr 1fr;gap:13px}.cost-breakdown div{border:0;padding:0}.quote-panel{padding-bottom:34px}}@media (max-width:450px){.range-filters,.select-filters{grid-template-columns:1fr}.dual-supplier-filters label:last-child{grid-column:auto}.library-columns{grid-template-columns:1fr}.library-group .result-list{max-height:280px}.external-pricing{grid-template-columns:1fr}.external-pricing>div{grid-column:auto}.product-hero{border-radius:13px}.profile-stage{min-height:220px}.product-photo{width:98%;height:195px}.profile-shape{transform:scale(.82)rotate(-7deg)skewY(2deg)}.input-grid{grid-template-columns:1fr}.calculator-card{padding:18px}.calculator-card .section-title{align-items:flex-start;gap:10px}.quote-reset-button{padding:7px 8px;font-size:11px}}
