:root{--brand: #175cd3;--brand-dark: #0b2f6b;--ink: #172033;--muted: #667085;--canvas: #f3f6fa;--line: #e4e9f0;--surface: #fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Segoe UI,Microsoft YaHei,sans-serif}button{font:inherit}.fullscreen-center{min-height:100vh;display:grid;place-items:center}.brand-symbol{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:13px;color:#fff;font-weight:800;letter-spacing:-1px;background:linear-gradient(145deg,#39a0ff,#175cd3 62%,#0b2f6b);box-shadow:0 8px 20px #175cd33d}.brand-symbol.compact{width:32px;height:32px;border-radius:9px;font-size:12px}.brand-lockup{display:flex;align-items:center;gap:12px;font-size:20px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.15fr) minmax(420px,.85fr);background:#fff}.login-story{padding:72px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 18% 15%,rgba(74,163,255,.4),transparent 34%),linear-gradient(145deg,#071b3f,#0b2f6b 58%,#175cd3);position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:420px;height:420px;right:-180px;bottom:-190px;border:80px solid rgba(255,255,255,.08);border-radius:50%}.login-story h1{margin:20px 0;font-size:clamp(38px,5vw,68px);line-height:1.18;letter-spacing:-2px}.login-story p{max-width:620px;font-size:17px;line-height:1.9;color:#ffffffb8}.login-feature{display:flex;gap:12px;align-items:center;color:#fffc}.login-panel{display:grid;place-items:center;padding:48px}.login-form{width:min(420px,100%)}.login-hint{color:var(--muted);margin-bottom:18px}.portal-shell{min-height:100vh}.portal-header{height:72px;display:flex;align-items:center;gap:32px;padding:0 clamp(18px,4vw,64px);background:#fffffff0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px)}.brand-button{display:flex;align-items:center;gap:12px;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--ink)}.brand-button span:last-child{display:grid}.brand-button small{color:var(--muted);font-size:11px;margin-top:2px}.portal-nav{flex:1 1;display:flex;gap:4px;justify-content:center}.portal-content{padding:22px clamp(12px,3vw,44px) 52px}.portal-hero{margin-bottom:20px;overflow:hidden;background:linear-gradient(120deg,#0b2f6b,#175cd3);color:#fff}.portal-hero .ant-pro-card-body{display:flex;align-items:end;justify-content:space-between;gap:24px}.portal-hero h2{margin:6px 0 2px;color:#fff;font-size:30px}.portal-hero p{margin:0;color:#ffffffb3}.eyebrow{font-size:11px;letter-spacing:2px;color:#8fc7ff}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{border:1px solid var(--line);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-card:hover{transform:translateY(-4px);border-color:#b8d2ff;box-shadow:0 18px 44px #1c3c6e1f}.project-card-top,.project-card-footer,.progress-block>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card h3{margin:18px 0 6px;font-size:20px}.project-card p,.project-card-footer{color:var(--muted)}.project-dates{margin:12px 0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.project-dates>div{display:flex;align-items:center;gap:8px}.project-dates .anticon{color:var(--brand)}.progress-block{margin:24px 0;padding:16px;background:#f7f9fc;border-radius:12px}.progress-block>div{margin:8px 0 2px}.project-card-footer{padding-top:14px;border-top:1px solid var(--line);font-size:12px}.table-secondary{color:var(--muted);font-size:12px}.parse-success{color:#067647;font-size:13px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;align-items:start}.project-layout .ant-pro-sider{background:#fff!important;border-right:1px solid var(--line);box-shadow:6px 0 24px #1018280a}.project-layout .ant-pro-sider-logo{border-bottom:1px solid var(--line)}.project-layout .ant-pro-sider-logo h1,.project-layout .ant-menu-light .ant-menu-item,.project-layout .ant-menu-light .ant-menu-submenu-title{color:var(--ink)}.project-layout .ant-menu-light .ant-menu-item:hover,.project-layout .ant-menu-light .ant-menu-submenu-title:hover{color:var(--brand);background:#f5f8ff}.project-layout .ant-menu-light .ant-menu-item-selected{color:var(--brand);background:#eaf2ff;font-weight:600}.project-layout .ant-pro-sider-collapsed-button{color:var(--muted);background:#fff;border-color:var(--line)}.menu-button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.metric-row{margin-bottom:18px}.two-column-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.overview-progress{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;margin:20px 0}.overview-progress>span{font-size:24px;color:var(--brand)}.document-workbench{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.document-sidebar{position:sticky;top:88px;display:flex;height:calc(100dvh - 112px);flex-direction:column;overflow:hidden}.document-sidebar .ant-pro-card-header{flex:none}.document-sidebar .ant-pro-card-body{display:flex;min-height:0;flex:1 1;flex-direction:column;overflow:hidden}.document-sidebar .ant-list{min-height:0;margin-top:10px;flex:1 1;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.document-sidebar .ant-list::-webkit-scrollbar{width:8px}.document-sidebar .ant-list::-webkit-scrollbar-thumb{border-radius:8px;background:#c7d2e3}.document-sidebar .ant-list::-webkit-scrollbar-track{background:transparent}.document-sidebar .ant-list-item{cursor:pointer;padding:12px;border-radius:8px}.document-sidebar .active-chapter{color:var(--brand);background:#eef5ff;font-weight:600}.chapter-editor{margin:14px 0;line-height:1.8}.chapter-score-tag{margin-left:6px}.chapter-score-point,.chapter-writing-guidance,.chapter-skill-panel{display:grid;gap:4px;margin-top:12px;padding:10px 12px;border-radius:8px;background:#f5f8ff;color:var(--muted)}.chapter-score-point b,.chapter-writing-guidance b,.chapter-skill-panel b{color:var(--ink)}.full-generation-progress{margin-bottom:16px}.full-generation-progress .ant-pro-card-body{display:grid;grid-template-columns:minmax(180px,auto) minmax(240px,1fr) auto;align-items:center;gap:14px}.outline-resource-panel{display:grid;gap:12px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.outline-resource-panel .ant-checkbox-group{display:grid;gap:8px}.outline-help{margin-bottom:12px;color:var(--muted)}.outline-list{display:grid;gap:10px;max-height:58vh;margin-bottom:12px;padding:4px;overflow-y:auto}.outline-row{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.outline-row.dragging{position:relative;z-index:2;box-shadow:0 12px 28px #175cd32e}.outline-drag-handle{cursor:grab}.outline-row-main{display:grid;gap:8px}.analysis-table-text{display:block;line-height:1.7;white-space:pre-wrap;word-break:break-word}.analysis-add-button{margin-top:14px}.analysis-evidence-tooltip{max-width:min(560px,calc(100vw - 32px))}.analysis-evidence-tooltip b{display:block;margin-bottom:4px}.analysis-evidence-tooltip p{margin:0 0 10px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.analysis-evidence-tooltip p:last-child{margin-bottom:0}.section-card{margin-bottom:18px}.tender-analysis-progress{margin-top:14px;margin-bottom:18px;padding:16px 18px;border:1px solid #cfe0ff;border-radius:12px;background:linear-gradient(135deg,#f7faff,#eef5ff);box-shadow:inset 3px 0 0 var(--brand)}.tender-analysis-progress.success{border-color:#b7ebc9;background:linear-gradient(135deg,#f6fffa,#effbf3);box-shadow:inset 3px 0 #12a150}.tender-analysis-progress.failed{border-color:#ffd0d0;background:#fff7f7;box-shadow:inset 3px 0 #d92d20}.tender-analysis-progress-head,.tender-analysis-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.tender-analysis-progress-head{margin-bottom:12px}.tender-analysis-progress-head strong{display:block;margin-bottom:3px;color:var(--ink)}.tender-analysis-stage-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--brand);background:#fff;box-shadow:0 4px 12px #175cd31f}.tender-analysis-progress.failed .tender-analysis-stage-icon{color:#d92d20}.tender-analysis-progress.success .tender-analysis-stage-icon{color:#12a150}.tender-analysis-progress-detail,.tender-analysis-progress-foot{color:var(--muted);font-size:12px}.tender-analysis-progress-foot{margin-top:8px}.inspection-item{margin-bottom:12px}.ant-pro-page-container-children-container{padding-block-start:18px}.ant-pro-card{border-radius:14px}.multi-model-panel{min-height:500px}.multi-model-header{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.multi-model-grid{display:grid;gap:16px}.multi-model-column{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.multi-model-column-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f7f9fc;border-bottom:1px solid var(--line)}.multi-model-content{flex:1 1;overflow-y:auto;padding:16px;min-height:400px;max-height:60vh}.multi-model-text{line-height:1.8;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.multi-model-placeholder{color:var(--muted);font-style:italic}.multi-model-error{color:#d92d20;line-height:1.6}.fuse-column{border:2px solid #7c3aed}.fuse-header{background:linear-gradient(135deg,#f3e8ff,#ede9fe);color:#6b21a8}.citations-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.citations-title{margin-bottom:12px;font-size:14px;font-weight:500;color:var(--ink)}.citations-empty{padding:20px 0;text-align:center}.citations-empty .ant-empty-description{color:var(--muted);font-size:13px}.citations-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.citation-card{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fafbfc;cursor:pointer;transition:all .2s ease}.citation-card:hover{border-color:#91caff;background:#f0f7ff;transform:translateY(-1px)}.citation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px}.citation-doc-title{flex:1 1;min-width:0;font-size:13px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-score{display:flex;align-items:center;gap:6px;flex-shrink:0}.citation-score-text{font-size:12px;color:var(--muted);min-width:32px;text-align:right}.citation-chapter{font-size:12px;color:var(--brand);margin-bottom:2px}.citation-pages{font-size:12px;color:var(--muted)}@media (max-width: 1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-nav .ant-btn span:not(.ant-btn-icon){display:none}}@media (max-width: 768px){.login-shell{grid-template-columns:1fr}.login-story{min-height:42vh;padding:34px 24px}.login-story h1{font-size:38px}.login-feature{display:none}.login-panel{padding:36px 20px}.portal-header{height:auto;padding:12px;gap:8px;flex-wrap:wrap}.portal-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto}.portal-nav .ant-btn span:not(.ant-btn-icon){display:inline}.portal-hero .ant-pro-card-body{align-items:stretch;flex-direction:column}.project-grid,.two-column-grid,.document-workbench,.settings-grid{grid-template-columns:1fr}.document-sidebar{position:static;display:block;height:auto;overflow:visible}.document-sidebar .ant-pro-card-body{display:block;overflow:visible}.document-sidebar .ant-list{max-height:50dvh}.full-generation-progress .ant-pro-card-body{grid-template-columns:1fr}.tender-analysis-progress-head,.tender-analysis-progress-foot{align-items:flex-start;flex-direction:column;gap:8px}.project-card{border-radius:12px}}
