.bid-review-page { display:flex; flex-direction:column; gap:12px; padding:12px 0 0; background:#f8fafc; position:relative; max-width:1248px; margin:0 auto; align-content:flex-start; }
.bid-review-page .review-head,.bid-review-page .review-panel { background:#fff; border:1px solid #e3e8f2; border-radius:16px; }
.bid-review-page .review-head { min-height:104px; padding:0 28px; display:flex; align-items:center; justify-content:space-between; }
.bid-review-page .review-head-main{display:flex; align-items:center; gap:14px;} .bid-review-page .review-head-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(180deg,#f3f8ff,#dbe9ff);display:flex;align-items:center;justify-content:center;}
.bid-review-page .review-head-icon-core{width:28px;height:28px;border-radius:8px;background:linear-gradient(180deg,#2a86ff,#0c5fe9);display:block;position:relative;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);}
.bid-review-page .review-head-icon-core:before{content:"";position:absolute;left:7px;top:8px;width:13px;height:13px;border:2px solid #d6e8ff;border-radius:50%;}
.bid-review-page .review-head-icon-core:after{content:"";position:absolute;left:10px;top:5px;width:7px;height:7px;border-radius:50%;background:#ffffff;}
.bid-review-page .review-head h1{margin:0;font-size:32px;line-height:1.1;color:#101f3e;font-family:"AlibabaPuHuiTi_2_85_Bold","PingFang SC",sans-serif;}
.bid-review-page .review-upload-btn{height:40px;padding:0 18px;border-radius:8px;border:0;background:#0052d9;color:#fff;font-weight:600;cursor:pointer;font-size:13px;line-height:1;}
.bid-review-page .review-history-panel{padding:12px;display:block;}
.bid-review-page .review-history-panel{position:relative;}
.bid-review-page .review-table-wrap{border:1px solid #edf1f7;border-radius:10px;overflow-x:auto;overflow-y:hidden;min-height:542px;}
.bid-review-page .review-table{width:100%;border-collapse:collapse;table-layout:fixed;}
.bid-review-page .review-table th,.bid-review-page .review-table td{padding:14px 12px;border-bottom:1px solid #edf1f7;text-align:left;font-size:14px;vertical-align:middle;}
.bid-review-page .review-table th{background:#f3f6fb;color:#6e7b91;font-size:13px;font-weight:500;}
.bid-review-page .review-table th:nth-child(1),.bid-review-page .review-table td:nth-child(1){width:50%;}
.bid-review-page .review-table th:nth-child(2),.bid-review-page .review-table td:nth-child(2){width:9%;}
.bid-review-page .review-table th:nth-child(3),.bid-review-page .review-table td:nth-child(3){width:9%;}
.bid-review-page .review-table th:nth-child(4),.bid-review-page .review-table td:nth-child(4){width:10%;}
.bid-review-page .review-table th:nth-child(5),.bid-review-page .review-table td:nth-child(5){width:22%;}
.bid-review-page .review-file-name strong{display:block;color:#1f2a44;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:700;}
.bid-review-page .review-file-meta{margin-top:6px;color:#7b8798;font-size:12px;}
.bid-review-page .review-type-badge{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border-radius:8px;background:#eef5ff;color:#2468dd;font-size:12px;}
.bid-review-page .review-format-badge{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border-radius:6px;background:#f0f2f5;color:#667085;font-size:12px;}
.bid-review-page .review-status-badge{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  gap:2px;
}
.bid-review-page .review-status-badge.is-success{background:#eaf8f1;color:#00a66a;}
.bid-review-page .review-status-badge.is-processing{background:#fff1d9;color:#f4a11a;}
.bid-review-page .review-status-badge.is-danger{background:#ffe7e9;color:#cf1322;}
.bid-review-page .review-status-main{display:block;white-space:nowrap;}
.bid-review-page .review-status-sub{display:block;white-space:nowrap;font-weight:600;opacity:.95;}
.bid-review-page .review-status-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;}
.bid-review-page .review-status-stack .review-status-badge{padding:4px 10px;border-radius:8px;line-height:1.2;min-height:22px;}
.bid-review-page .review-status-main.is-file-pending{color:#6b7280;}
.bid-review-page .review-status-main.is-file-running{color:#d97706;}
.bid-review-page .review-status-main.is-file-done{color:#059669;}
.bid-review-page .review-status-main.is-file-failed{color:#dc2626;}
.bid-review-page .review-status-sub.is-ai-pending{color:#64748b;}
.bid-review-page .review-status-sub.is-ai-running{color:#2563eb;}
.bid-review-page .review-status-sub.is-ai-done{color:#16a34a;}
.bid-review-page .review-status-sub.is-ai-failed{color:#dc2626;}
.bid-review-page .review-status-main.is-file-pending{background:#eef2f7;}
.bid-review-page .review-status-main.is-file-running{background:#fff4dd;}
.bid-review-page .review-status-main.is-file-done{background:#eaf8f1;}
.bid-review-page .review-status-main.is-file-failed{background:#ffe7e9;}
.bid-review-page .review-status-sub.is-ai-pending{background:#eef3f8;}
.bid-review-page .review-status-sub.is-ai-running{background:#e8f1ff;}
.bid-review-page .review-status-sub.is-ai-done{background:#eaf8f1;}
.bid-review-page .review-status-sub.is-ai-failed{background:#ffe7e9;}
.bid-review-page .review-row-actions{display:flex;gap:8px;align-items:center;white-space:nowrap;min-width:max-content;}
.bid-review-page .review-row-actions button{border:0;background:transparent;color:#1d58d7;font-size:14px;padding:0;cursor:pointer;}
.bid-review-page .review-row-actions button.is-danger{color:#ff4d4f;}
.bid-review-page .review-history-empty{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#72809a;}
.bid-review-page .review-list-loading{
  position:absolute;
  inset:12px;
  border-radius:10px;
  background:rgba(255,255,255,.92);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  z-index:5;
}
.bid-review-page .review-list-loading-spinner{
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid #d9e7ff;
  border-top-color:#2563eb;
  animation:review-loading-spin .9s linear infinite;
}
.bid-review-page .review-list-loading-text{
  color:#4d6386;
  font-size:13px;
  line-height:20px;
}
.bid-review-page .review-empty-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(180deg,#f0f4ff,#e4ebff);position:relative;}
.bid-review-page .review-empty-icon:before{content:"";position:absolute;left:12px;top:16px;width:28px;height:18px;border-radius:10px;background:#eef2fb;box-shadow:20px 8px 0 0 #dce6fb;}
.bid-review-page .review-empty-icon:after{content:"";position:absolute;right:12px;bottom:14px;width:22px;height:22px;border-radius:50%;background:#b8ccfa;}
.bid-review-page .review-history-empty strong{color:#334a73;font-size:30px;font-weight:500;}
.bid-review-page .review-history-empty span{color:#8b9cb8;font-size:24px;line-height:1.5;}
.bid-review-page .review-history-empty button{height:44px;padding:0 22px;border-radius:12px;background:linear-gradient(180deg,#0f71ff,#0052d9);color:#fff;font-weight:700;font-size:24px;border:0;cursor:pointer;}

.bid-review-page .review-upload-btn:hover,.bid-review-page .review-history-empty button:hover{background:#0043b0;}
.bid-review-page .review-pagination{display:flex;align-items:center;justify-content:center;margin-top:10px;}
.bid-review-page .list-pagination{border-top:0;padding-top:0;}
.bid-review-page .pagination-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;}
.bid-review-page .page-number-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bid-review-page .page-number-btn{min-width:38px;height:38px;padding:0 10px;border:1px solid #d8e2ef;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);color:#38506f;font-size:13px;font-weight:700;box-shadow:0 6px 14px rgba(33,58,104,.05);cursor:pointer;}
.bid-review-page .page-number-btn.is-active{border-color:#b9d1ff;background:linear-gradient(135deg,#0d63f3 0%,#2f86ff 100%);color:#fff;box-shadow:0 10px 22px rgba(13,99,243,.22);}
.bid-review-page .page-btn{min-width:86px;min-height:38px;padding:0 14px;border:1px solid #d7e2ef;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);color:#28425f;font-size:13px;font-weight:700;box-shadow:0 6px 16px rgba(33,58,104,.06);cursor:pointer;}
.bid-review-page .page-btn[disabled]{cursor:not-allowed;opacity:.42;box-shadow:none;}
.bid-review-page .upload-progress-overlay{align-items:center;backdrop-filter:blur(8px);background:rgba(15,23,42,.12);border-radius:16px;display:flex;inset:24px;justify-content:center;position:absolute;z-index:10;}
.bid-review-page .upload-progress-content{width:min(640px,calc(100% - 48px));padding:24px;border-radius:12px;background:#fff;border:1px solid rgba(0,82,217,.2);display:flex;flex-direction:column;gap:12px;}
.bid-review-page .upload-progress-header{display:flex;justify-content:space-between;}
.bid-review-page .upload-progress-label{font-size:14px;font-weight:700;color:#1d2129;}
.bid-review-page .upload-progress-percent{font-size:18px;font-weight:800;color:#0052d9;}
.bid-review-page .upload-progress-track{height:8px;background:rgba(0,82,217,.08);border-radius:999px;overflow:hidden;}
.bid-review-page .upload-progress-fill{height:100%;background:linear-gradient(90deg,#0052d9,#6366f1);position:relative;}
.bid-review-page .upload-progress-shimmer{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:review-shimmer 1.5s ease-in-out infinite;}
@keyframes review-shimmer{0%{left:-100%;}100%{left:150%;}}
.bid-review-page .upload-progress-status{color:#6b768a;font-size:12px;text-align:center;}

.bid-review-page .review-upload-modal{position:fixed;inset:0;background:rgba(20,29,45,.28);display:flex;align-items:center;justify-content:center;z-index:2200;}
.bid-review-page .review-upload-dialog{width:min(860px,calc(100vw - 36px));background:#fff;border-radius:10px;padding:17px 24px 20px;position:relative;box-shadow:0 18px 42px rgba(15,23,42,.24);}
.bid-review-page .review-upload-close{position:absolute;right:20px;top:20px;width:16px;height:16px;font-size:26px;line-height:16px;color:#7d8086;background:transparent;border:0;cursor:pointer;padding:0;}
.bid-review-page .review-upload-dialog h3{margin:0;color:#1f2225;font-family:PingFangSC,PingFang SC,sans-serif;font-size:16px;font-weight:500;line-height:24px;}
.bid-review-page .review-upload-type-title,.bid-review-page .review-upload-file-title{color:#686868;font-family:PingFangSC,PingFang SC,sans-serif;font-size:14px;font-weight:500;margin-bottom:12px;margin-top:30px;}
.bid-review-page .review-upload-type-group{align-items:center;display:flex;gap:20px;margin-bottom:30px;}
.bid-review-page .review-upload-type{align-items:center;border:1px solid #e0e0e6;border-radius:8px;cursor:pointer;display:flex;height:40px;justify-content:center;width:104px;gap:6px;padding:0;background:#fff;color:#333639;}
.bid-review-page .review-upload-type span{font-size:16px;line-height:1;font-family:PingFangSC,PingFang SC,sans-serif;}
.bid-review-page .review-upload-type .type-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;}
.bid-review-page .review-upload-type .type-icon svg{width:14px;height:14px;display:block;}
.bid-review-page .review-upload-type .type-icon-emoji{font-size:14px;line-height:1;width:14px;height:14px;}
.bid-review-page .review-upload-type .type-icon-goods{color:#6da4ff;}
.bid-review-page .review-upload-type .type-icon-engineering{color:#f27878;}
.bid-review-page .review-upload-type .type-icon-service{color:#2f3a4f;}
.bid-review-page .review-upload-type.is-active{background-color:#eef5ff;border:2px solid #0260f9;color:#0260f9;}
.bid-review-page .review-upload-type.is-active .type-icon{color:#0260f9;}
.bid-review-page .review-upload-dropzone{background:#fff;border-radius:12px;height:260px;margin-bottom:20px;position:relative;width:100%;border:1px dashed #bfd3f8;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;box-sizing:border-box;}
.bid-review-page .review-upload-cloud{color:#1f71df;flex-shrink:0;height:78px;width:78px;line-height:0;margin-top:-20px;display:flex;align-items:center;justify-content:center;}
.bid-review-page .review-upload-cloud svg{width:78px;height:78px;display:block;}
.bid-review-page .review-upload-drop-main{color:#1f71df;font-family:PingFangSC,PingFang SC,sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:22px;margin-top:-8px;text-align:left;}
.bid-review-page .review-upload-drop-sub{color:#858c99;font-family:PingFangSC,PingFang SC,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;margin-top:8px;text-align:left;}

.bid-review-page .review-notice-modal{position:fixed;inset:0;background:rgba(17,24,39,.28);display:flex;align-items:center;justify-content:center;z-index:2300;}
.bid-review-page .review-notice-dialog{width:min(460px,calc(100vw - 36px));background:#fff;border:1px solid #dfe7f5;border-radius:16px;box-shadow:0 18px 44px rgba(15,23,42,.24);padding:20px 20px 16px;display:grid;grid-template-columns:34px 1fr;gap:10px 14px;}
.bid-review-page .review-notice-icon{width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,#ffedd5,#ffd7b8);color:#ea580c;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;}
.bid-review-page .review-notice-content h4{margin:1px 0 6px;color:#1f2937;font-size:16px;line-height:22px;font-weight:700;font-family:PingFangSC,PingFang SC,sans-serif;}
.bid-review-page .review-notice-content p{margin:0;color:#475569;font-size:14px;line-height:20px;font-family:PingFangSC,PingFang SC,sans-serif;word-break:break-word;}
.bid-review-page .review-notice-btn{grid-column:1 / -1;justify-self:end;height:38px;min-width:92px;border-radius:12px;border:1px solid #1f6fff;background:linear-gradient(180deg,#2b84ff,#005be8);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(0,91,232,.26);}
.bid-review-page .review-notice-dialog.is-success .review-notice-icon{background:linear-gradient(180deg,#dcfce7,#bbf7d0);color:#16a34a;}

.bid-review-page .review-workspace-panel{padding:8px;}
.bid-review-page .review-split{display:grid;grid-template-columns:1fr 1.22fr;gap:10px;min-height:760px;}
.bid-review-page .review-split{position:relative;}
.bid-review-page .doc-pane,.bid-review-page .ai-pane{border:1px solid #e3eaf6;border-radius:10px;background:#fff;min-width:0;}
.bid-review-page .doc-pane{display:flex;flex-direction:column;}
.bid-review-page .doc-pane,
.bid-review-page .ai-pane{position:relative;}
.bid-review-page .doc-pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;min-height:64px;border-bottom:1px solid #ecf1f8;}
.bid-review-page .doc-head-left{display:flex;align-items:center;gap:10px;min-width:0;}
.bid-review-page .doc-back-btn{
  width:32px;height:32px;border-radius:9px;background:#edf2f8;border:1px solid #dbe3ef;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;padding:0;
  font-size:0;color:transparent;position:relative;
}
.bid-review-page .doc-back-btn::before{
  content:"";width:7px;height:7px;border-left:1.6px solid #8799b5;border-bottom:1.6px solid #8799b5;
  transform:rotate(45deg);margin-left:2px;box-sizing:border-box;
}
.bid-review-page .doc-back-btn:hover{background:#e6edf7;}
.bid-review-page .doc-back-btn:hover::before{border-left-color:#6f84a6;border-bottom-color:#6f84a6;}
.bid-review-page .doc-pane-head h3{margin:0;font-size:18px;line-height:1;color:#101f3e;font-weight:700;white-space:nowrap;}
.bid-review-page .doc-search-inline{
  height:50px;border:1px solid #d4dde9;border-radius:10px;background:#fff;
  padding:8px 12px;display:flex;align-items:center;gap:0;min-width:264px;max-width:264px;flex:0 0 264px;
  box-shadow:none;position:relative;transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.bid-review-page .doc-search-icon{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;font-size:0;line-height:0;opacity:1;flex:0 0 17px;margin-right:7px;color:#7f96b8;}
.bid-review-page .doc-search-icon svg{width:17px;height:17px;display:block;}
.bid-review-page .doc-search-inline input{flex:1;min-width:0;height:34px;border:0;background:transparent;color:#333639;font-size:13px;outline:none;line-height:34px;padding:0;}
.bid-review-page .doc-search-inline input::placeholder{color:#9fb0c8;font-size:13px;}
.bid-review-page .doc-search-inline #docSearchMeta{font-size:14px;color:#3e5f8b;min-width:32px;text-align:right;margin-left:10px;margin-right:11px;line-height:34px;font-weight:600;flex:0 0 auto;position:relative;padding-left:10px;}
.bid-review-page .doc-search-inline #docSearchMeta::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:#e5ecf6;}
.bid-review-page .doc-nav-btn{
  width:22px;height:22px;border:1px solid #d9e2ef;border-radius:7px;background:#f6f9fd;
  color:#7b95b8;font-size:0;cursor:pointer;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;opacity:1;flex:0 0 22px;
  transition:color .16s ease, background-color .16s ease, border-color .16s ease, transform .12s ease, box-shadow .16s ease;
}
.bid-review-page .doc-nav-btn svg{width:13px;height:13px;display:block;}
.bid-review-page #docSearchPrev{margin-left:0;}
.bid-review-page #docSearchNext{margin-left:7px;}
.bid-review-page .doc-nav-btn:hover{color:#637fa8;background:#edf3fb;border-color:#c9d7eb;box-shadow:0 1px 0 rgba(255,255,255,.8) inset;}
.bid-review-page .doc-nav-btn:active{transform:scale(.93);background:#e5eefb;border-color:#b8cae4;}
.bid-review-page .doc-nav-btn.is-flash{color:#5475a4;background:#dfeafb;border-color:#aac0e1;transform:scale(.93);}
.bid-review-page .doc-nav-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.bid-review-page .doc-search-inline:focus-within{border-color:#bfd0e7;background:#fbfcff;box-shadow:0 0 0 2px rgba(56,105,198,.08);}
.bid-review-page .doc-content{margin:0;padding:12px 16px;min-height:620px;max-height:680px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#1f2f4a;line-height:1.72;font-size:14px;}
.bid-review-page .doc-content.is-loading{
  padding:0;
  min-height:0;
  max-height:none;
  overflow:hidden;
  background:transparent;
}
.bid-review-page .doc-content.is-rich{white-space:normal;line-height:1.65;}
.bid-review-page .doc-content.is-rich p{margin:0 0 10px;color:#1f2f4a;font-size:14px;line-height:1.72;}
.bid-review-page .doc-content .doc-rich-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;color:#1f2f4a;}
.bid-review-page .doc-content .doc-rich-table{width:100%;border-collapse:collapse;margin:0 0 12px;background:#fff;}
.bid-review-page .doc-content .doc-rich-table td,
.bid-review-page .doc-content .doc-rich-table th{border:1px solid #dde6f2;padding:8px 10px;vertical-align:top;font-size:13px;line-height:1.6;color:#1f2f4a;}
.bid-review-page .doc-content .doc-rich-table tr:nth-child(even) td{background:#f8fbff;}
.bid-review-page .doc-content .doc-rich-root{
  color:#1a2233;
  font-family:"Times New Roman","SimSun","宋体","FangSong","仿宋","KaiTi","楷体","Microsoft YaHei",serif;
  font-size:15px;
  line-height:1.95;
  letter-spacing:.01em;
  text-align:justify;
  text-justify:inter-ideograph;
  font-variant-east-asian:proportional-width;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.bid-review-page .doc-content .doc-rich-phpword{
  color:inherit;
  font-family:initial;
  font-size:initial;
  line-height:normal;
  letter-spacing:normal;
  text-align:left;
  text-justify:auto;
}
.bid-review-page .doc-content .doc-rich-root p{
  margin:0 0 8px;
  text-indent:2em;
  line-height:1.82;
}
.bid-review-page .doc-content .doc-rich-root p:last-child,
.bid-review-page .doc-content .doc-rich-phpword p:last-child{margin-bottom:0;}
.bid-review-page .doc-content .doc-rich-root h1,
.bid-review-page .doc-content .doc-rich-root h2,
.bid-review-page .doc-content .doc-rich-root h3,
.bid-review-page .doc-content .doc-rich-root h4{
  margin:16px 0 10px;
  text-indent:0;
  font-family:"SimHei","黑体","Microsoft YaHei",sans-serif;
  font-weight:700;
  line-height:1.5;
  color:#111827;
}
.bid-review-page .doc-content .doc-rich-root h1{font-size:24px;}
.bid-review-page .doc-content .doc-rich-root h2{font-size:21px;}
.bid-review-page .doc-content .doc-rich-root h3{font-size:18px;}
.bid-review-page .doc-content .doc-rich-root h4{font-size:16px;}
.bid-review-page .doc-content .doc-rich-root ol,
.bid-review-page .doc-content .doc-rich-root ul{
  margin:8px 0 12px 1.2em;
  padding:0;
  line-height:1.9;
}
.bid-review-page .doc-content .doc-rich-root li{margin:4px 0;}
.bid-review-page .doc-content .doc-rich-root table,
.bid-review-page .doc-content .doc-rich-phpword table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0 14px;
  table-layout:auto;
}
.bid-review-page .doc-content .doc-rich-root td,
.bid-review-page .doc-content .doc-rich-root th,
.bid-review-page .doc-content .doc-rich-phpword td,
.bid-review-page .doc-content .doc-rich-phpword th{
  border:1px solid #bcc7d8;
  padding:6px 8px;
  vertical-align:top;
  line-height:1.6;
  font-size:inherit;
  word-break:break-word;
}
.bid-review-page .doc-content .doc-rich-phpword table,
.bid-review-page .doc-content .doc-rich-phpword td,
.bid-review-page .doc-content .doc-rich-phpword th{
  border-color:inherit;
  padding:inherit;
  line-height:inherit;
  font-size:inherit;
}
.bid-review-page .doc-content .doc-rich-phpword *{
  font-kerning:auto;
}
.bid-review-page .doc-content .doc-rich-root strong,
.bid-review-page .doc-content .doc-rich-root b,
.bid-review-page .doc-content .doc-rich-phpword strong,
.bid-review-page .doc-content .doc-rich-phpword b{
  font-family:"SimHei","黑体","Microsoft YaHei",sans-serif;
  font-weight:700;
}
.bid-review-page .doc-content .doc-rich-phpword strong,
.bid-review-page .doc-content .doc-rich-phpword b{
  font-family:inherit;
}
.bid-review-page .doc-content .doc-rich-root em,
.bid-review-page .doc-content .doc-rich-root i,
.bid-review-page .doc-content .doc-rich-phpword em,
.bid-review-page .doc-content .doc-rich-phpword i{
  font-family:"KaiTi","楷体","STKaiti","Kaiti SC",serif;
  font-style:italic;
}
.bid-review-page .doc-content .doc-rich-phpword em,
.bid-review-page .doc-content .doc-rich-phpword i{
  font-family:inherit;
}
.bid-review-page .doc-content .doc-rich-root code,
.bid-review-page .doc-content .doc-rich-phpword code{
  font-family:"Consolas","JetBrains Mono","Courier New",monospace;
  font-size:.92em;
}
.bid-review-page .doc-content .doc-rich-phpword table tr:nth-child(even) td{
  background:#fdfefe;
}
.bid-review-page .doc-content.is-file-view{
  padding:0 !important;
  white-space:normal;
  background:#ffffff !important;
  overflow:hidden;
}
.bid-review-page .doc-file-frame{
  width:100%;
  height:100%;
  min-height:620px;
  border:0;
  display:block;
  background:#ffffff !important;
}
.bid-review-page .doc-preview-unavailable{padding:22px 18px;color:#6b7f9f;font-size:14px;line-height:1.7;}
.bid-review-page .doc-hit{background:#fff4cf;color:#5b4300;border-radius:2px;padding:0 1px;}
.bid-review-page .doc-hit-current{background:#ffd96a;color:#1f2f4a;box-shadow:0 0 0 1px rgba(214,158,46,.35);}

.bid-review-page .ai-pane{display:flex;flex-direction:column;}
.bid-review-page .ai-tabs{display:flex;gap:16px;padding:10px 14px 6px;border-bottom:1px solid #ecf1f8;overflow:auto;white-space:nowrap;background:#fff;}
.bid-review-page .ai-tab{padding-bottom:8px;font-size:13px;color:#607493;white-space:nowrap;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.bid-review-page .ai-tab.is-active{color:#0f65e8;border-bottom:2px solid #0f65e8;font-weight:700;}
.bid-review-page .ai-tab-state{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:9px;line-height:1;flex:0 0 14px;}
.bid-review-page .ai-tab-state.is-done{background:#22c55e;color:#fff;box-shadow:0 0 0 1px rgba(34,197,94,.15);}
.bid-review-page .ai-tab-state.is-fallback{background:#f59e0b;color:#fff;box-shadow:0 0 0 1px rgba(245,158,11,.18);}
.bid-review-page .ai-tab-state.is-failed{background:#ef4444;color:#fff;box-shadow:0 0 0 1px rgba(239,68,68,.16);}
.bid-review-page .ai-tab-state.is-wait{border:1.5px solid #cfd7e6;background:#fff;}
.bid-review-page .ai-tab-state.is-running{border:1.8px solid #d9e6fb;border-top-color:#5f97f7;background:#fff;animation:ai-tab-spin .92s linear infinite;display:inline-block;}
.bid-review-page .ai-tab-failed-mark{font-weight:700;font-size:10px;line-height:1;}
.bid-review-page .ai-stream-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;width:100%;padding:10px;overflow:hidden;}
.bid-review-page .ai-stream-card{width:720px;max-width:100%;max-height:100%;min-height:0;padding:14px 16px;border-radius:16px;border:1px solid #dbe6fb;background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);box-shadow:0 18px 36px rgba(52,98,180,.12), inset 0 1px 0 rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;overflow:hidden;}
.bid-review-page .ai-stream-card{pointer-events:auto;}
.bid-review-page .ai-stream-card::before{content:"";position:absolute;inset:-40% -10%;background:radial-gradient(closest-side,rgba(107,152,244,.16),rgba(107,152,244,0) 68%);animation:ai-glow-pulse 2.2s ease-in-out infinite;pointer-events:none;}
.bid-review-page .ai-stream-dot{width:30px;height:30px;border-radius:50%;border:3px solid #dbe8fc;border-top-color:#5b93f6;background:#fff;animation:ai-tab-spin .95s linear infinite;box-shadow:0 0 0 1px rgba(91,147,246,.06);position:relative;z-index:1;}
.bid-review-page .ai-stream-text{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:.2px;color:#5f7ca6;position:relative;z-index:1;}
.bid-review-page .ai-stream-sub{
  font-size:14px;
  line-height:1.55;
  color:#7f93b5;
  display:block;
  text-align:center;
  white-space:pre-line;
  word-break:break-word;
  overflow-wrap:anywhere;
  max-width:100%;
  position:relative;
  z-index:1;
}
.bid-review-page .ai-stream-live{margin-top:8px;max-height:130px;overflow:auto;width:min(520px,82vw);font-size:12px;line-height:1.6;color:#445b7f;background:#f7faff;border:1px solid #d9e6fb;border-radius:8px;padding:8px 10px;white-space:pre-wrap;text-align:left;}
.bid-review-page .ai-stream-ellipsis{display:inline-flex;align-items:center;gap:4px;}
.bid-review-page .ai-stream-ellipsis i{width:5px;height:5px;border-radius:50%;background:#7fa4e7;display:inline-block;opacity:.35;animation:ai-ellipsis 1.2s ease-in-out infinite;}
.bid-review-page .ai-stream-ellipsis i:nth-child(2){animation-delay:.18s;}
.bid-review-page .ai-stream-ellipsis i:nth-child(3){animation-delay:.36s;}
@keyframes ai-glow-pulse{0%,100%{opacity:.65;transform:scale(.98);}50%{opacity:1;transform:scale(1.05);}}
@keyframes ai-ellipsis{0%,80%,100%{opacity:.28;transform:translateY(0);}40%{opacity:1;transform:translateY(-2px);}}
.bid-review-page .ai-module-progress{display:flex;flex-direction:column;gap:10px;padding:8px 2px;}
.bid-review-page .ai-module-progress-item{display:flex;flex-direction:column;gap:6px;}
.bid-review-page .ai-module-progress-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7b93;}
.bid-review-page .ai-module-progress-name{display:inline-flex;align-items:center;gap:6px;color:#334155;}
.bid-review-page .ai-module-progress-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.bid-review-page .ai-module-progress-dot.is-done{background:#22c55e;}
.bid-review-page .ai-module-progress-dot.is-fallback{background:#f59e0b;}
.bid-review-page .ai-module-progress-dot.is-running{border:1.5px solid #d6deee;border-top-color:#3b82f6;background:#fff;animation:ai-tab-spin .85s linear infinite;}
.bid-review-page .ai-module-progress-dot.is-idle{border:1.5px solid #cfd7e6;background:#fff;}
.bid-review-page .ai-module-progress-track{height:6px;border-radius:999px;background:#eaf0fb;overflow:hidden;}
.bid-review-page .ai-module-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2dd4bf);}
.bid-review-page .ai-step-flow{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-bottom:10px;text-align:left;min-height:110px;width:100%;}
.bid-review-page .ai-step-flow.ai-step-flow-fixed .ai-step-item{color:#8a98ad;}
.bid-review-page .ai-step-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#8a98ad;}
.bid-review-page .ai-step-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1.5px solid #cfd7e6;background:#fff;flex:0 0 10px;}
.bid-review-page .ai-step-item.is-done{color:#1f7a3a;}
.bid-review-page .ai-step-item.is-done .ai-step-dot{background:#22c55e;border-color:#22c55e;}
.bid-review-page .ai-step-item.is-active{color:#2563eb;font-weight:600;}
.bid-review-page .ai-step-item.is-active .ai-step-dot{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.12);}
.bid-review-page .ai-progress-details{margin-top:10px;padding:10px 12px;border:1px solid #dce6f8;border-radius:10px;background:#f8fbff;text-align:left;max-width:100%;width:100%;display:flex;flex-direction:column;gap:8px;}
.bid-review-page .ai-progress-detail-item{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.45;color:#4f6281;word-break:break-word;white-space:pre-wrap;}
.bid-review-page .ai-progress-label{font-weight:700;color:#35507b;flex:0 0 auto;}
.bid-review-page .ai-progress-value{color:#5c7291;text-align:right;flex:1 1 auto;min-width:0;}
.bid-review-page .ai-progress-summary{max-height:none;overflow:visible;}
.bid-review-page .ai-progress-full-log{padding:0;border-color:#d3deef;background:#f7faff;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;}
.bid-review-page .ai-progress-log-title{padding:10px 12px 0;font-size:12px;font-weight:700;color:#2d4b79;}
.bid-review-page .ai-progress-log-body{margin:8px 10px 10px;padding:8px 10px;max-height:none;min-height:120px;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;border:1px solid #dbe6f7;border-radius:8px;background:#fdfefe;scrollbar-width:thin;}
.bid-review-page .ai-progress-log-line{font-size:12px;line-height:1.52;color:#3f5574;white-space:pre-wrap;word-break:break-word;padding:2px 0;}
.bid-review-page .ai-progress-log-line.is-metric{font-weight:700;color:#2a4e88;padding-bottom:6px;border-bottom:1px dashed #d8e5fb;margin-bottom:6px;}
.bid-review-page .ai-step-detail-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px;margin-top:2px;}
.bid-review-page .ai-step-detail-item{border:1px solid #dce6f8;border-radius:10px;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);padding:6px 8px;box-shadow:0 1px 0 rgba(255,255,255,.8) inset;}
.bid-review-page .ai-step-detail-item.is-done{border-color:#ccefd8;background:linear-gradient(180deg,#f8fff9 0%,#eefcf3 100%);}
.bid-review-page .ai-step-detail-item.is-active{border-color:#b7cdf3;background:linear-gradient(180deg,#fbfdff 0%,#eef5ff 100%);}
.bid-review-page .ai-step-detail-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6c84ab;margin-bottom:6px;}
.bid-review-page .ai-step-detail-key{font-weight:700;color:#365079;}
.bid-review-page .ai-step-detail-state{font-size:11px;color:#7f93b5;}
.bid-review-page .ai-step-detail-title{font-size:13px;line-height:1.4;color:#27405f;font-weight:700;margin-bottom:4px;}
.bid-review-page .ai-step-detail-text{font-size:12px;line-height:1.55;color:#5d7394;word-break:break-word;white-space:pre-wrap;}
.bid-review-page .ai-step-detail-item.is-done .ai-step-detail-state{color:#2e9f5b;}
.bid-review-page .ai-step-detail-item.is-active .ai-step-detail-state{color:#2468dd;}

@media (max-height: 900px){
  .bid-review-page .ai-stream-card{padding:10px 12px;gap:6px;}
  .bid-review-page .ai-stream-text{font-size:20px;}
  .bid-review-page .ai-stream-sub{font-size:13px;line-height:1.45;}
  .bid-review-page .ai-step-detail-title{font-size:12px;line-height:1.3;}
  .bid-review-page .ai-step-detail-text{font-size:11px;line-height:1.42;}
  .bid-review-page .ai-progress-log-body{min-height:96px;}
}
@keyframes ai-tab-spin{to{transform:rotate(360deg);}}
.bid-review-page .ai-module-error-card{
  min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;text-align:center;color:#6b7b93;padding:24px 12px;
}
.bid-review-page .ai-module-error-title{font-size:28px;line-height:1.2;color:#1f2f4a;font-weight:500;}
.bid-review-page .ai-module-error-sub{font-size:20px;line-height:1.5;color:#8aa0bf;}
.bid-review-page .ai-module-error-retry{
  border:0;background:#0f65e8;color:#fff;height:52px;min-width:164px;padding:0 26px;border-radius:12px;
  font-size:24px;line-height:1;cursor:pointer;
}
.bid-review-page .ai-module-error-retry:disabled{opacity:.65;cursor:not-allowed;}
.bid-review-page .ai-tip{padding:8px 14px;font-size:12px;color:#71839f;border-bottom:1px solid #ecf1f8;display:flex;align-items:center;gap:8px;background:#fbfcff;}
.bid-review-page .ai-tip-badge{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:20px;padding:0 6px;border-radius:4px;background:#edf3ff;color:#4e6ea8;font-weight:700;font-size:11px;line-height:1;}
.bid-review-page .ai-tip-meta{margin-left:auto;color:#4b6285;white-space:nowrap;display:inline-flex;gap:10px;align-items:center;}
.bid-review-page .ai-subtabs{display:none;gap:10px;padding:12px 14px;border-bottom:1px solid #ecf1f8;flex-wrap:wrap;background:#fff;}
.bid-review-page .ai-subtab{height:40px;max-width:240px;padding:0 18px;border-radius:8px;background:#fff;color:#263a5a;font-size:14px;border:1px solid #edf1f7;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 8px rgba(15,23,42,.04);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;}
.bid-review-page .ai-subtab:hover{border-color:#bfcef0;background:#f8fbff;color:#0f65e8;}
.bid-review-page .ai-subtab.is-active{background:#0f65e8;border-color:#0f65e8;color:#fff;box-shadow:0 6px 14px rgba(15,101,232,.18);}
.bid-review-page .ai-body{padding:10px 14px;overflow-y:auto;overflow-x:hidden;min-height:280px;display:flex;flex-direction:column;gap:10px;background:#fff;position:relative;min-height:0;overscroll-behavior:contain;}
.bid-review-page .ai-body.is-loading{display:block;overflow-y:auto;overflow-x:hidden;min-height:calc(100vh - 300px);}
.bid-review-page .ai-result-card-shell{border:1px solid #dde7f4;border-radius:12px;background:#f8fbff;display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden;box-shadow:0 8px 20px rgba(37,74,129,.06);}
.bid-review-page .ai-result-card-head{min-height:50px;padding:9px 14px;border-bottom:1px solid #e2ebf7;background:linear-gradient(180deg,#ffffff 0%,#f3f8ff 100%);display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1f2f4a;flex:0 0 auto;}
.bid-review-page .ai-result-card-head > div{display:flex;flex-direction:column;gap:3px;min-width:0;}
.bid-review-page .ai-result-card-head strong{font-size:15px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bid-review-page .ai-result-card-head span{font-size:12px;color:#71839f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bid-review-page .ai-result-card-head em{font-style:normal;font-size:12px;line-height:22px;border-radius:999px;background:#e9f2ff;color:#2468dd;padding:0 10px;white-space:nowrap;font-weight:700;}
.bid-review-page .ai-result-card-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;}
.bid-review-page .ai-result-group-card{border:1px solid #e1eaf6;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);overflow:hidden;}
.bid-review-page .ai-result-group-head{height:42px;padding:0 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf2f8;background:#fbfdff;color:#1f2f4a;}
.bid-review-page .ai-result-group-head strong{font-size:14px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bid-review-page .ai-result-group-head span:last-child{margin-left:auto;color:#7a8ca7;font-size:12px;white-space:nowrap;}
.bid-review-page .ai-result-group-dot{width:7px;height:7px;border-radius:50%;background:#2f7bf1;box-shadow:0 0 0 4px rgba(47,123,241,.1);flex:0 0 7px;}
.bid-review-page .ai-result-card-list{display:flex;flex-direction:column;gap:0;}
.bid-review-page .ai-result-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:0;border-top:1px solid #edf2f8;background:#fff;}
.bid-review-page .ai-result-card:first-child{border-top:0;}
.bid-review-page .ai-result-card:hover{background:#fbfdff;}
.bid-review-page .ai-result-card.is-pending{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);}
.bid-review-page .ai-result-card-index{padding:14px 8px;text-align:center;color:#88a0bf;font-size:12px;font-weight:800;border-right:1px solid #edf2f8;background:#f8fbff;}
.bid-review-page .ai-result-card-main{padding:12px 14px;min-width:0;display:flex;flex-direction:column;gap:8px;}
.bid-review-page .ai-result-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.bid-review-page .ai-result-card-title-row h4{margin:0;color:#1f2f4a;font-size:14px;line-height:1.55;font-weight:800;word-break:break-word;}
.bid-review-page .ai-result-card-content{color:#263a5a;font-size:13px;line-height:1.75;word-break:break-word;overflow-wrap:anywhere;}
.bid-review-page .ai-result-card-shell.is-streaming .ai-result-card-head em{background:#e8f7ef;color:#15945b;}
.bid-review-page .ai-result-card-shell.is-streaming .ai-result-group-dot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);}
.bid-review-page .ai-result-card-shell.is-module-framework .ai-result-card-content{color:#7c8da6;}
.bid-review-page .ai-typewriter-cursor{display:inline-block;margin-left:2px;color:#15945b;font-weight:800;animation:ai-typewriter-cursor-blink .9s steps(2,start) infinite;}
@keyframes ai-typewriter-cursor-blink{0%,45%{opacity:1;}46%,100%{opacity:0;}}
.bid-review-page .ai-result-card-scroll::-webkit-scrollbar{width:6px;height:6px;}
.bid-review-page .ai-result-card-scroll::-webkit-scrollbar-thumb{background:#c5ccd8;border-radius:8px;}
.bid-review-page .ai-result-card-scroll::-webkit-scrollbar-track{background:#eff3f9;border-radius:10px;}
.bid-review-page .ai-result-table-muted{color:#a0aec0;}
.bid-review-page .ai-block{border:1px solid #e4ebf6;border-radius:8px;background:#fff;overflow:hidden;}
.bid-review-page .ai-block h4{margin:0;padding:10px 12px 10px 22px;font-size:14px;border-bottom:1px solid #e4ebf6;color:#1f2f4a;position:relative;}
.bid-review-page .ai-block h4::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:3px;height:14px;border-radius:2px;background:#1f2f4a;}
.bid-review-page .ai-block-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:#fff;padding:10px 12px 10px 22px;cursor:pointer;position:relative;border-bottom:1px solid #e4ebf6;}
.bid-review-page .ai-block-toggle::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:3px;height:14px;border-radius:2px;background:#1f2f4a;}
.bid-review-page .ai-block-title{font-size:14px;color:#1f2f4a;font-weight:600;text-align:left;}
.bid-review-page .ai-block-arrow{font-size:11px;color:#8ca0bc;line-height:1;transition:transform .15s ease;}
.bid-review-page .ai-block.is-open .ai-block-arrow{transform:rotate(180deg);}
.bid-review-page .ai-block-body{display:none;}
.bid-review-page .ai-block.is-open .ai-block-body{display:block;}
.bid-review-page .ai-kv{display:grid;grid-template-columns:120px minmax(0,1fr);border-top:1px solid #e9eef7;}
.bid-review-page .ai-block > .ai-kv:first-of-type{border-top:0;}
.bid-review-page .ai-kv-key{padding:10px 12px;background:#f7f9fc;color:#5f738f;font-size:13px;}
.bid-review-page .ai-kv-val{padding:10px 12px;color:#1f2f4a;font-size:13px;line-height:1.7;min-width:0;overflow-wrap:anywhere;word-break:break-word;}
.bid-review-page .ai-call-trace-wrap{margin-bottom:10px;}
.bid-review-page .ai-call-trace-wrap .ai-block{max-width:100%;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.bid-review-page .ai-call-trace-wrap .ai-kv-key{width:120px;}
.bid-review-page .ai-call-trace-pending{
  margin:12px auto 0;
  padding:8px 12px;
  border:1px dashed #cfdcf2;
  border-radius:8px;
  color:#5f738f;
  font-size:12px;
  line-height:1.6;
  background:#f8fbff;
  max-width:560px;
  text-align:center;
}
.bid-review-page .ai-actions{display:flex;gap:10px;padding:10px 14px;border-top:1px solid #ecf1f8;background:#fff;}
.bid-review-page .review-split-actions{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:8;
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  backdrop-filter:none;
}
.bid-review-page .review-split-actions .ghost-btn,
.bid-review-page .review-split-actions .primary-btn{
  height:34px;
  border-radius:10px;
  padding:0 14px;
  font-size:14px;
  min-width:120px;
}
.bid-review-page .primary-btn,.bid-review-page .ghost-btn{height:42px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.bid-review-page .primary-btn span,.bid-review-page .ghost-btn span{display:inline-flex;align-items:center;}
.bid-review-page .primary-btn span + span,.bid-review-page .ghost-btn span + span{margin-left:6px;}
.bid-review-page .primary-btn{background:#0f65e8;color:#fff;}
.bid-review-page .ghost-btn{background:#fff;border-color:#c7d5ea;color:#1f5ecf;}
.bid-review-page .review-split-actions .ghost-btn{border-color:#bed0ea;color:#2a67c9;background:#fff;}
.bid-review-page .review-split-actions .primary-btn{background:#1c68e8;color:#fff;}
.bid-review-page .review-split-actions .ghost-btn:hover{border-color:#a9c1e6;background:#f8fbff;}
.bid-review-page .review-split-actions .primary-btn:hover{background:#155cd3;}
.bid-review-page .review-split-actions .ghost-btn.is-disabled,
.bid-review-page .review-split-actions .primary-btn.is-disabled,
.bid-review-page .review-split-actions .ghost-btn:disabled,
.bid-review-page .review-split-actions .primary-btn:disabled{opacity:1;cursor:not-allowed;filter:none;box-shadow:none;}
.bid-review-page .review-split-actions button[disabled]{-webkit-text-fill-color:currentColor;}
.bid-review-page .review-split-actions .ghost-btn.is-disabled:hover,
.bid-review-page .review-split-actions .ghost-btn.is-disabled:hover{background:#fff;border-color:#bed0ea;color:#2a67c9;}
.bid-review-page .review-split-actions .primary-btn.is-disabled:hover{background:#1c68e8;border-color:#1c68e8;color:#fff;}
.bid-review-page .review-split-actions .ghost-btn.is-disabled,
.bid-review-page .review-split-actions .ghost-btn:disabled{background:#fff;color:#2a67c9;border-color:#bed0ea;}
.bid-review-page .review-split-actions .primary-btn.is-disabled,
.bid-review-page .review-split-actions .primary-btn:disabled{background:#1c68e8;color:#fff;border-color:#1c68e8;}
.bid-review-page .review-split-actions .ghost-btn:disabled:active,
.bid-review-page .review-split-actions .primary-btn:disabled:active{transform:none;}
.bid-review-page .review-split-actions .ghost-btn.is-loading span,
.bid-review-page .review-split-actions .primary-btn.is-loading span{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;}
.bid-review-page .review-split-actions .ghost-btn:active,
.bid-review-page .review-split-actions .primary-btn:active{transform:none;}

.bid-review-page .review-split-actions .action-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;line-height:0;}
.bid-review-page .review-split-actions .action-icon svg{width:14px;height:14px;display:block;}
.bid-review-page .review-result-empty{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#7c899d;}
.bid-review-page .review-result-empty strong{font-size:16px;color:#2b3e64;}
.bid-review-page .review-result-empty span{font-size:13px;}
.bid-review-page .review-result-loading{
  position:absolute;
  inset:64px 0 0 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:rgba(255,255,255,.92);
  z-index:6;
}
.bid-review-page .review-result-loading-spinner{
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid #d9e7ff;
  border-top-color:#2563eb;
  animation:review-loading-spin .9s linear infinite;
}
.bid-review-page .review-result-loading-text{
  color:#4d6386;
  font-size:13px;
  line-height:20px;
}
.bid-review-page .review-result-loading-progress{
  width:min(420px,72%);
  height:8px;
  border-radius:999px;
  background:#e8eef9;
  overflow:hidden;
}
.bid-review-page .review-result-loading-progress > span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#2f6df3 0%,#4f8dff 60%,#77a9ff 100%);
  transition:width .35s ease;
}
@keyframes review-loading-spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
.bid-review-page .doc-content::-webkit-scrollbar,.bid-review-page .ai-body::-webkit-scrollbar{width:5px;height:5px;}
.bid-review-page .doc-content::-webkit-scrollbar-thumb,.bid-review-page .ai-body::-webkit-scrollbar-thumb{background:#c5ccd8;border-radius:8px;}
.bid-review-page .doc-content::-webkit-scrollbar-track,.bid-review-page .ai-body::-webkit-scrollbar-track{background:#eff3f9;border-radius:10px;}

/* 结果态全屏工作台（对齐对标） */
.main.is-bid-review-fullscreen{padding:0 !important;overflow:hidden !important;height:calc(100vh - 54px);}
.bid-review-page.is-result-mode{
  max-width:none;
  margin:0;
  width:100%;
  padding:0;
  gap:0;
  background:#f3f5f9;
  height:100%;
  min-height:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.bid-review-page.is-result-mode .review-workspace-panel{
  border:0;
  border-radius:0;
  background:transparent;
  padding:18px 14px 14px;
  min-height:0;
  height:100%;
  box-sizing:border-box;
  flex:1 1 auto;
  display:flex;
  overflow:hidden;
}
.bid-review-page.is-result-mode .review-split{
  gap:10px;
  min-height:0;
  height:100%;
  flex:1 1 auto;
  grid-template-columns:minmax(0,1fr) minmax(0,1.34fr);
  grid-template-rows:minmax(0,1fr);
  overflow:hidden;
  margin-top:0;
}
.bid-review-page.is-result-mode .review-split-actions{bottom:16px;}
.bid-review-page.is-result-mode .doc-pane,
.bid-review-page.is-result-mode .ai-pane{
  border-color:#e1e7f1;
  border-radius:10px;
  height:100%;
  min-height:0;
  overflow:hidden;
  box-sizing:border-box;
}
.bid-review-page.is-result-mode .ai-pane{display:flex;flex-direction:column;}
.bid-review-page.is-result-mode .ai-tabs,
.bid-review-page.is-result-mode .ai-subtabs{flex:0 0 auto;}
.bid-review-page.is-result-mode .doc-content{
  min-height:0;
  max-height:none;
  flex:1;
  overflow:auto;
  font-size:14px;
  line-height:1.72;
  color:#1a253b;
}
.bid-review-page.is-result-mode .doc-file-frame{
  min-height:0;
  height:100%;
}
.bid-review-page.is-result-mode .ai-body{
  min-height:0;
  flex:1 1 auto;
  height:0;
  max-height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding-bottom:18px;
  box-sizing:border-box;
}
.bid-review-page.is-result-mode .ai-result-card-shell{height:100%;max-height:100%;min-height:0;}
.bid-review-page.is-result-mode .ai-result-card-scroll{height:0;min-height:0;flex:1 1 auto;}

.bid-review-page .review-download-modal{position:fixed;inset:0;background:rgba(17,24,39,.28);display:flex;align-items:center;justify-content:center;z-index:2350;}
.bid-review-page .review-download-dialog{width:min(520px,calc(100vw - 28px));background:#fff;border-radius:8px;padding:18px 22px 24px;position:relative;box-shadow:0 16px 34px rgba(15,23,42,.24);}
.bid-review-page .review-download-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#7a869b;font-size:24px;line-height:1;cursor:pointer;}
.bid-review-page .review-download-dialog h3{margin:0;color:#1f2937;font-size:18px;font-weight:500;line-height:28px;}
.bid-review-page .review-download-options{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.bid-review-page .review-download-option{height:122px;border:1px solid #eef2f8;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;cursor:pointer;color:#334155;font-size:16px;}
.bid-review-page .review-download-option:hover{border-color:#b9d1ff;background:#f8fbff;}
.bid-review-page .review-download-icon{width:38px;height:46px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;}
.bid-review-page .review-download-icon-word{background:#3f7df3;}
.bid-review-page .review-download-icon-pdf{background:#ee6b6b;}

.bid-review-page .review-share-modal{position:fixed;inset:0;background:rgba(17,24,39,.28);display:flex;align-items:center;justify-content:center;z-index:2360;}
.bid-review-page .review-share-dialog{width:min(560px,calc(100vw - 28px));background:#fff;border-radius:10px;padding:18px 22px 22px;position:relative;box-shadow:0 18px 38px rgba(15,23,42,.24);}
.bid-review-page .review-share-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#7a869b;font-size:24px;line-height:1;cursor:pointer;}
.bid-review-page .review-share-dialog h3{margin:0;color:#1f2937;font-size:18px;font-weight:600;line-height:28px;}
.bid-review-page .review-share-label{margin-top:18px;color:#66758f;font-size:13px;line-height:20px;}
.bid-review-page .review-share-row{margin-top:8px;display:flex;align-items:center;gap:10px;}
.bid-review-page .review-share-row input{height:40px;flex:1;min-width:0;padding:0 12px;border:1px solid #d8e2ef;border-radius:8px;background:#f8fbff;color:#304764;font-size:13px;outline:none;}
.bid-review-page .review-share-row input:focus{border-color:#3e7df0;box-shadow:0 0 0 2px rgba(62,125,240,.12);}
.bid-review-page .review-share-copy-btn{height:40px;min-width:96px;padding:0 14px;border:1px solid #3e7df0;border-radius:8px;background:#fff;color:#2c6ddd;font-size:13px;font-weight:600;cursor:pointer;}
.bid-review-page .review-share-copy-btn:hover{background:#f4f8ff;}
.bid-review-page .review-share-toast{position:fixed;top:88px;left:50%;transform:translateX(-50%);height:40px;padding:0 14px;border-radius:10px;background:rgba(17,24,39,.92);color:#fff;font-size:13px;display:flex;align-items:center;gap:8px;z-index:2380;box-shadow:0 10px 22px rgba(0,0,0,.22);}
.bid-review-page .review-share-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#22c55e;color:#fff;font-size:12px;line-height:1;}

@media (max-width: 720px){
  .bid-review-page .ai-subtabs{padding:10px;gap:8px;flex-wrap:nowrap;overflow-x:auto;}
  .bid-review-page .ai-subtab{height:36px;max-width:none;flex:0 0 auto;padding:0 14px;font-size:13px;}
  .bid-review-page .ai-result-card-head{align-items:flex-start;flex-direction:column;gap:6px;padding:10px 12px;}
  .bid-review-page .ai-result-card-head em{align-self:flex-start;}
  .bid-review-page .ai-result-card-scroll{padding:10px;gap:10px;}
  .bid-review-page .ai-result-card{grid-template-columns:1fr;}
  .bid-review-page .ai-result-card-index{padding:8px 12px;text-align:left;border-right:0;border-bottom:1px solid #edf2f8;}
  .bid-review-page .ai-result-card-main{padding:10px 12px;}
  .bid-review-page .ai-result-card-title-row{flex-direction:column;gap:6px;}
}

@media (max-width: 1200px){
  .bid-review-page .review-split{grid-template-columns:1fr;}
  .bid-review-page .doc-content{max-height:360px;min-height:300px;}
  .bid-review-page .doc-pane-head{flex-wrap:wrap;}
  .bid-review-page .doc-file-select{max-width:100%;min-width:160px;}
  .bid-review-page .doc-search-inline{max-width:100%;flex:1 1 auto;}
  .bid-review-page.is-result-mode .review-workspace-panel{height:100%;min-height:0;}
  .bid-review-page.is-result-mode .review-split{height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(240px,42%) minmax(0,1fr);}
  .bid-review-page.is-result-mode .doc-content{max-height:none;min-height:0;}
  .bid-review-page.is-result-mode .ai-pane{min-height:0;}
  .bid-review-page .review-split-actions{position:static;transform:none;margin:8px auto 0;}
}


.bid-review-page .btn-loading-ring{width:11px;height:11px;flex:0 0 11px;border-radius:50%;border:2px solid #dbe8fc;border-top-color:#5b93f6;display:inline-block;animation:ai-tab-spin .95s linear infinite;}
.bid-review-page .review-split-actions .primary-btn.is-loading .btn-loading-ring{border-color:rgba(255,255,255,.45);border-top-color:#fff;}
.bid-review-page .review-split-actions .ghost-btn,
.bid-review-page .review-split-actions .primary-btn,
.bid-review-page .review-split-actions .ghost-btn span,
.bid-review-page .review-split-actions .primary-btn span{white-space:nowrap;}

/* 统一下拉框美化（文档区/结果区可复用） */
.bid-review-page .doc-file-select,
.bid-review-page .doc-pane-head select,
.bid-review-page .ai-pane select{
  -webkit-appearance:none;
  appearance:none;
  height:38px;
  min-width:220px;
  border:1px solid #c9d7ea;
  border-radius:10px;
  background:
    linear-gradient(180deg,#ffffff 0%,#eef4ff 100%);
  color:#2b4a78;
  font-size:13px;
  font-weight:600;
  line-height:38px;
  padding:0 36px 0 12px;
  outline:none;
  box-shadow:0 2px 8px rgba(34,74,137,.05), inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  background-image:
    linear-gradient(45deg, transparent 50%, #4f74b3 50%),
    linear-gradient(135deg, #4f74b3 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 16px,
    calc(100% - 12px) 16px;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.bid-review-page .doc-file-select:hover,
.bid-review-page .doc-pane-head select:hover,
.bid-review-page .ai-pane select:hover{border-color:#9eb8de;background:#f8fbff;}
.bid-review-page .doc-file-select:focus,
.bid-review-page .doc-pane-head select:focus,
.bid-review-page .ai-pane select:focus{
  border-color:#7fa0d3;
  box-shadow:0 0 0 3px rgba(73,122,208,.12), 0 3px 10px rgba(28,64,120,.08);
}

