:root{--ink:#173142;--muted:#718090;--line:#dbe4df;--green:#087c66;--green2:#0b9a7d;--paper:#f4f7f5;--gold:#f2b84b;--red:#b63a32;--blue:#2c65a7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif}.hidden{display:none!important}button,input{font:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e4f5ee,#f8f5ed)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 18px 60px rgba(23,49,66,.08)}.login-card h1{margin:32px 0 8px}.login-card>p{color:var(--muted);line-height:1.6}.login-card form{display:grid;gap:15px;margin-top:22px}.login-card label,.form-grid label{display:grid;gap:7px;font-size:13px;font-weight:bold}.login-card input,.form-grid input,.password-card input,.copy-box input,.data-table input,.decision-row input{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink)}.login-card button{width:100%;margin-top:4px}.portal{max-width:1420px;margin:auto;padding:24px 28px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.brand{display:flex;gap:10px;align-items:center}.brand>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;font-size:20px}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:12px;margin-top:3px}.online{font-size:13px;margin-right:10px}.banner{display:flex;justify-content:space-between;gap:30px;border-radius:24px;padding:42px;background:linear-gradient(130deg,#123f41,#087c66);color:#fff}.banner p,.heading p,.password-card p{margin:0 0 8px;color:#94ddca;font-size:11px;font-weight:bold;letter-spacing:.08em}.banner h1{font-size:40px;line-height:1.15;max-width:760px;margin:0}.banner h1 em{color:#f6c675;font-style:normal}.banner article{max-width:760px;line-height:1.7;color:#d9efe8;margin-top:18px}.banner aside{display:grid;grid-template-columns:auto auto;gap:7px 16px;align-content:center;min-width:210px}.banner aside b{font-size:18px}.banner aside span{font-size:12px;color:#d9efe8;align-self:center}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.workflow-step{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;display:grid;grid-template-columns:36px 1fr;column-gap:10px;cursor:pointer;color:var(--ink)}.workflow-step span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8f2ef;color:var(--green);font-weight:bold}.workflow-step b{align-self:end}.workflow-step small{color:var(--muted);margin-top:3px}.workflow-step:hover,.workflow-step.active{border-color:#8ecdbd;box-shadow:0 6px 20px rgba(8,124,102,.08)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:18px}.section-card{scroll-margin-top:18px}.heading{padding:24px 25px;display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #edf1ef}.compact-heading{border-bottom:0}.heading h2,.password-card h2{margin:0 0 5px}.heading small,.password-card small{color:var(--muted);line-height:1.6}button,.primary{border:0;border-radius:9px;padding:10px 13px;cursor:pointer;font-weight:bold}.primary{background:var(--green);color:#fff}.primary:hover{background:#076b58}.primary:disabled{opacity:.55;cursor:not-allowed}.soft{background:#e8f2ef;color:#176954}.danger-link{border:0;background:transparent;color:var(--red);padding:4px;cursor:pointer}.upload-button input{display:none}.notice{margin:20px 25px 0;padding:14px 16px;border-radius:10px;background:#eef8f4;color:#1a5b47}.notice b,.notice span{display:block}.notice span{font-size:13px;margin-top:4px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:20px 25px}.summary-grid>div{background:#f6f9f7;border:1px solid #e5ece8;border-radius:12px;padding:14px}.summary-grid b,.summary-grid span{display:block}.summary-grid b{font-size:20px}.summary-grid span{font-size:12px;color:var(--muted);margin-top:4px}.warning-box{margin:0 25px 20px;padding:14px;background:#fff8e8;border:1px solid #f1d899;border-radius:10px}.warning-box b,.warning-box span{display:block}.warning-box span{font-size:12px;margin-top:6px;color:#7a5b18}.section-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 25px 12px}.section-toolbar b,.section-toolbar small{display:block}.section-toolbar small{color:var(--muted);margin-top:4px}.table-scroll{overflow:auto;padding:0 25px 24px}.data-table{border-collapse:collapse;width:100%;min-width:840px}.preview-table{min-width:1650px}.data-table th{font-size:12px;text-align:left;color:var(--muted);background:#f7f9f8}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #e8eeeb;vertical-align:middle}.data-table td{font-size:13px}.data-table input{width:100%;min-width:90px;padding:8px}.preview-table th:nth-child(1){width:60px}.preview-table th:nth-child(2){width:150px}.preview-table th:nth-child(3){width:170px}.preview-table th:nth-child(4){width:230px}.preview-table th:nth-child(5){width:180px}.preview-table th:nth-child(6){width:260px}.preview-table th:nth-child(7){width:90px}.preview-table th:nth-child(8){width:210px}.preview-table th:nth-child(9){width:170px}.preview-table th:nth-child(10){width:110px}.invalid-row{background:#fff3f1}.invalid-row input{border-color:#e7a29c}.form-grid{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:14px;padding:22px 25px;align-items:end}.form-grid .wide{min-width:240px}.form-action{display:flex;align-items:end}.inline-hint{margin:0;padding:0 25px 22px;color:var(--muted);font-size:13px}.rfq-list{padding:0 25px 24px;display:grid;gap:10px}.rfq-row{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(310px,1fr) auto;align-items:center;gap:18px;padding:15px;border:1px solid #e5ece8;border-radius:13px}.rfq-row.selected{border-color:#88c7b8;background:#f4fbf8}.rfq-main b,.rfq-main small{display:block}.rfq-main b{margin-top:7px}.rfq-main small{color:var(--muted);margin-top:5px}.rfq-metrics{display:flex;gap:22px}.rfq-metrics span{font-size:11px;color:var(--muted)}.rfq-metrics b{display:block;color:var(--ink);font-size:18px}.status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:bold}.status-draft{background:#edf1f3;color:#56636c}.status-published{background:#e6f4ff;color:#25659c}.status-quoting{background:#fff5d9;color:#8a6415}.status-partial-awarded{background:#f4ecff;color:#6b40a0}.status-awarded{background:#e6f6ee;color:#16704c}.status-disabled{background:#f2f2f2;color:#7b7b7b}.selected-rfq{margin:20px 25px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.selected-rfq>div{padding:14px;border-radius:12px;background:#f5f9f7}.selected-rfq b,.selected-rfq span{display:block}.selected-rfq span{font-size:11px;color:var(--muted);margin-top:5px}.supplier-form{grid-template-columns:2fr 1fr auto}.copy-box{display:flex;gap:8px;margin:0 25px 20px;padding:12px;background:#eef8f4;border-radius:10px}.copy-box input{flex:1}.empty,.empty-cell{text-align:center;color:var(--muted);padding:30px}.comparison-items{padding:0 25px 24px;display:grid;gap:16px}.comparison-item{border:1px solid #dfe8e3;border-radius:14px;overflow:hidden}.comparison-item>header{display:flex;justify-content:space-between;gap:15px;padding:16px;background:#f7faf8}.comparison-item header b,.comparison-item header small{display:block}.comparison-item header small{margin-top:5px;color:var(--muted)}.review-badge{align-self:flex-start;background:#fff3d2;color:#81600d;border-radius:999px;padding:5px 9px;font-size:11px}.offer-header,.offer-row{display:grid;grid-template-columns:52px 1.4fr 110px 120px 130px 1.6fr;align-items:center;gap:8px;padding:10px 14px}.offer-header{font-size:11px;color:var(--muted);border-top:1px solid #e5ece8;border-bottom:1px solid #e5ece8}.offer-row{cursor:pointer;border-bottom:1px solid #eef2f0;font-size:13px}.offer-row:hover,.offer-row.chosen{background:#eef8f4}.supplier-name i{font-style:normal;font-size:10px;color:#fff;background:var(--green);border-radius:4px;padding:2px 4px;margin-left:7px}.qty-ok{color:#18744f}.qty-short{color:var(--red)}.no-offer{padding:22px;text-align:center;color:var(--muted)}.decision-row{display:grid;grid-template-columns:160px minmax(260px,1fr) 1fr;gap:12px;padding:14px;background:#fbfcfb}.decision-row label{display:grid;gap:5px;font-size:11px;font-weight:bold}.decision-row small{color:var(--muted);align-self:end;padding-bottom:8px}.award-footer{padding:20px 25px;border-top:1px solid #edf1ef;display:flex;justify-content:flex-end;align-items:center;gap:18px}.award-footer label{font-size:12px;color:var(--muted)}.password-card{display:flex;justify-content:space-between;gap:22px;padding:24px}.password-card p{color:var(--green)}.password-card form{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.password-card input{min-width:170px}.form-error{padding:12px;background:#fff1f0;color:#9e2d25!important;border-radius:8px;margin:18px 0}.toast{position:fixed;right:28px;bottom:28px;z-index:20;background:#173142;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2)}.privacy{text-align:center;padding:28px;color:var(--muted);font-size:12px}@media(max-width:1000px){.workflow{grid-template-columns:1fr 1fr}.form-grid,.supplier-form{grid-template-columns:1fr 1fr}.form-grid .wide{min-width:0}.form-action{align-self:end}.rfq-row{grid-template-columns:1fr}.offer-header{display:none}.offer-row{grid-template-columns:30px 1.2fr 90px 1fr;row-gap:8px}.offer-row span:nth-last-child(-n+2){grid-column:2/5}.decision-row{grid-template-columns:1fr 2fr}.decision-row small{grid-column:1/3}}@media(max-width:760px){.portal{padding:14px}.topbar,.banner,.heading,.password-card{flex-direction:column;align-items:flex-start}.online{display:none}.banner{padding:28px}.banner h1{font-size:31px}.banner aside{grid-template-columns:1fr 1fr}.workflow{grid-template-columns:1fr}.form-grid,.supplier-form,.selected-rfq,.decision-row{grid-template-columns:1fr}.rfq-metrics{flex-wrap:wrap}.password-card{display:grid}.password-card form{display:grid;width:100%}.password-card input{min-width:0;width:100%}.copy-box{flex-direction:column}.award-footer{align-items:flex-end;flex-direction:column}.decision-row small{grid-column:auto}.offer-row{grid-template-columns:28px 1fr 90px}.offer-row span:nth-last-child(-n+3){grid-column:2/4}}

/* v1.5：采购文件原始字段动态展示 */
.preview-table{width:max-content;min-width:100%}.preview-table th,.preview-table td{min-width:140px;max-width:320px}.preview-table th:first-child,.preview-table td:first-child{min-width:72px;width:72px}.preview-table th:last-child,.preview-table td:last-child{min-width:70px;width:70px}.source-cell{display:block;max-width:300px;white-space:normal;word-break:break-all;line-height:1.45}.source-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin-top:10px}.source-field-grid>div{min-width:0;padding:8px 10px;border:1px solid #e4ece8;background:#fff;border-radius:8px}.source-field-grid small,.source-field-grid b{display:block}.source-field-grid small{color:var(--muted);font-size:10px;margin:0 0 4px}.source-field-grid b{font-size:12px;line-height:1.4;word-break:break-all}.comparison-item>header>div{min-width:0;flex:1}
.rfq-item-view{margin:12px 25px 20px;border:1px solid #e5ece8;border-radius:12px;background:#fafcfb}.rfq-item-view .section-toolbar{padding:14px 16px}.rfq-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:10px;padding:0 16px 16px}.rfq-item-grid>article{min-width:0;padding:12px;border:1px solid #e4ece8;background:#fff;border-radius:10px}.rfq-item-grid>article>b{display:block;margin-bottom:6px}

/* v1.6：页面默认精简显示，完整原始字段按需展开 */
.compact-item-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:7px;margin-top:10px}.compact-item-summary>span{min-width:0;padding:8px 10px;border:1px solid #e4ece8;background:#fff;border-radius:8px}.compact-item-summary small,.compact-item-summary b{display:block}.compact-item-summary small{color:var(--muted);font-size:10px;margin-bottom:4px}.compact-item-summary b{font-size:12px;line-height:1.4;word-break:break-all}.source-field-details{margin-top:9px}.source-field-details>summary{display:inline-flex;align-items:center;cursor:pointer;color:var(--green);font-size:12px;font-weight:bold;list-style:none;padding:6px 9px;border:1px solid #cfe3db;background:#f4faf7;border-radius:7px}.source-field-details>summary::-webkit-details-marker{display:none}.source-field-details>summary:after{content:"＋";margin-left:6px}.source-field-details[open]>summary:after{content:"－"}.preview-table{width:100%;min-width:1050px}.preview-table th:nth-child(2),.preview-table td:nth-child(2){min-width:130px}.preview-table th:nth-child(3),.preview-table td:nth-child(3){min-width:180px}.preview-table th:nth-child(4),.preview-table td:nth-child(4){min-width:130px}.preview-table th:nth-child(5),.preview-table td:nth-child(5){min-width:190px}.preview-table th:nth-child(6),.preview-table td:nth-child(6){min-width:95px;width:95px}.preview-table .source-field-details{margin:0}.preview-table .source-field-details>summary{white-space:nowrap}.preview-table .source-field-grid{min-width:520px;position:relative;z-index:2}.comparison-item .compact-item-summary{max-width:850px}.comparison-item .source-field-details{margin-top:8px}@media(max-width:760px){.compact-item-summary{grid-template-columns:1fr 1fr}.preview-table{min-width:930px}}

/* v1.7：统一报价链接 */
.shared-link-form{grid-template-columns:minmax(280px,420px) auto;justify-content:start}.data-table td small{color:var(--muted)}@media(max-width:760px){.shared-link-form{grid-template-columns:1fr}}


/* v1.8：商品清单统一使用表格，不再显示商品资料目录/卡片/展开详情 */
.rfq-item-view{background:#fff}
.rfq-items-table-scroll{padding-top:0}
.rfq-items-table{min-width:980px}
.rfq-items-table th:first-child,.rfq-items-table td:first-child{width:58px;text-align:center}
.rfq-items-table th:nth-child(2),.rfq-items-table td:nth-child(2){min-width:135px}
.rfq-items-table th:nth-child(3),.rfq-items-table td:nth-child(3){min-width:180px}
.rfq-items-table th:nth-child(4),.rfq-items-table td:nth-child(4){min-width:130px}
.rfq-items-table th:nth-child(5),.rfq-items-table td:nth-child(5){min-width:210px}
.rfq-items-table th:nth-child(6),.rfq-items-table td:nth-child(6){min-width:70px}
.rfq-items-table th:nth-child(7),.rfq-items-table td:nth-child(7){min-width:90px;text-align:right}
.comparison-product-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.comparison-product-line>b{margin-right:4px}
.comparison-product-line>span{font-size:11px;color:var(--muted);padding:4px 7px;background:#fff;border:1px solid #e2e9e5;border-radius:6px}
.preview-table{min-width:1220px}
.preview-table th:nth-child(1),.preview-table td:nth-child(1){min-width:65px;width:65px}
.preview-table th:nth-child(2),.preview-table td:nth-child(2){min-width:130px}
.preview-table th:nth-child(3),.preview-table td:nth-child(3){min-width:180px}
.preview-table th:nth-child(4),.preview-table td:nth-child(4){min-width:130px}
.preview-table th:nth-child(5),.preview-table td:nth-child(5){min-width:200px}
.preview-table th:nth-child(6),.preview-table td:nth-child(6){min-width:70px}
.preview-table th:nth-child(7),.preview-table td:nth-child(7){min-width:170px}
.preview-table th:nth-child(8),.preview-table td:nth-child(8){min-width:150px}
.preview-table th:nth-child(9),.preview-table td:nth-child(9){min-width:70px;width:70px}

/* v1.9.1 系统最优供应商分析 */
.file-analysis-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.file-analysis-panel article{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #d7e7e1;border-radius:16px;background:#f8fcfa}
.file-analysis-panel article>b{color:#123f35;font-size:16px}
.file-analysis-panel article>span{color:#5a6f69;line-height:1.65;min-height:52px}
.file-analysis-panel .upload-button,.file-analysis-panel button{align-self:flex-start}
@media(max-width:900px){.file-analysis-panel{grid-template-columns:1fr}}

/* v1.9.1 单按钮智能分析布局 */
.single-analysis-panel { grid-template-columns: minmax(0, 1fr); }
.single-analysis-panel article { min-height: 0; }
.analysis-policy-note { margin-top: 16px; }


/* v1.9.2：询价台账删除操作 */
.rfq-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.delete-rfq{background:#fff1f0;color:#a2312a;border:1px solid #efc6c2}
.delete-rfq:hover{background:#ffe4e1;border-color:#df9c96}
.delete-rfq:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1000px){.rfq-actions{justify-content:flex-start}}
