.bid-document{font-family:Microsoft YaHei,微软雅黑,Arial,sans-serif;line-height:1.6;color:#333}.bid-document h1{color:#2c3e50;border-bottom:3px solid #3498db;padding-bottom:10px;margin:30px 0 20px;font-size:28px;font-weight:700}.bid-document h2{color:#34495e;margin:25px 0 15px;font-size:22px;font-weight:700;border-left:4px solid #3498db;padding-left:15px}.bid-document h3{color:#7f8c8d;margin:20px 0 10px;font-size:18px;font-weight:700}.bid-document table{width:100%;border-collapse:collapse;margin:25px 0;box-shadow:0 4px 8px rgba(0,0,0,.1);border-radius:8px;overflow:hidden;font-size:14px}.bid-document th{background:linear-gradient(135deg,#667eea,#764ba2);color:white;font-weight:700;padding:15px 18px;text-align:center;border:1px solid #5a67d8;position:relative}.bid-document th:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.8),rgba(255,255,255,.3))}.bid-document td{padding:15px 18px;border:1px solid #e2e8f0;background-color:#fff;text-align:center;vertical-align:middle}.bid-document tr:nth-child(2n) td{background-color:#f8fafc}.bid-document tr:hover td{background-color:#e3f2fd;transform:scale(1.01);transition:all .2s ease}.bid-document .price-table th{background:linear-gradient(135deg,#f093fb,#f5576c)}.bid-document .schedule-table th{background:linear-gradient(135deg,#4facfe,#00f2fe)}.bid-document .personnel-table th{background:linear-gradient(135deg,#43e97b,#38f9d7)}.bid-document .equipment-table th{background:linear-gradient(135deg,#fa709a,#fee140)}.bid-document .quality-table th{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#2d3748}.bid-document .table-title{font-weight:700;color:#2d3748;margin:20px 0 10px;padding:10px 15px;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-left:4px solid #3182ce;border-radius:4px}.bid-document .number-cell{font-family:Courier New,monospace;font-weight:700;color:#2b6cb0}.bid-document .highlight-cell{background:linear-gradient(135deg,#fed7d7,#feb2b2);font-weight:700;color:#c53030}.bid-document .image-placeholder{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:2px dashed #3498db;border-radius:12px;padding:40px 30px;text-align:center;margin:25px 0;color:#34495e;font-style:italic;position:relative;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:all .3s ease}.bid-document .image-placeholder:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.15);border-color:#2980b9}.bid-document .image-placeholder:before{content:"🖼️";font-size:32px;display:block;margin-bottom:15px;opacity:.7}.bid-document .image-placeholder:after{content:"点击查看详细图片";display:block;font-size:12px;color:#7f8c8d;margin-top:10px;opacity:.8}.bid-document .highlight-box{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:15px;border-radius:8px;margin:15px 0;box-shadow:0 4px 6px rgba(0,0,0,.1)}.bid-document .info-box{background-color:#e3f2fd;border-left:4px solid #2196f3}.bid-document .info-box,.bid-document .warning-box{padding:15px;margin:15px 0;border-radius:0 8px 8px 0}.bid-document .warning-box{background-color:#fff3e0;border-left:4px solid #ff9800}.bid-document .success-box{background-color:#e8f5e8;border-left:4px solid #4caf50;padding:15px;margin:15px 0;border-radius:0 8px 8px 0}.bid-document ol,.bid-document ul{margin:15px 0;padding-left:30px}.bid-document li{margin-bottom:8px}.bid-document blockquote{border-left:4px solid #3498db;margin:20px 0;padding:15px 20px;background-color:#f8f9fa;font-style:italic;color:#555}.bid-document .section-divider{height:2px;background:linear-gradient(90deg,#3498db,#2ecc71,#f39c12,#e74c3c);margin:30px 0;border:none}.bid-document .page-break{page-break-before:always;margin-top:40px}@media print{.bid-document{font-size:12pt;line-height:1.5}.bid-document h1{font-size:18pt}.bid-document h2{font-size:16pt}.bid-document h3{font-size:14pt}.bid-document table{font-size:11pt}.bid-document .image-placeholder{border:1px solid #000;background:#f0f0f0}}.bid-document .chart-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin:25px 0;box-shadow:0 4px 8px rgba(0,0,0,.1)}.bid-document .chart-title{font-size:16px;font-weight:700;color:#2d3748;margin-bottom:15px;text-align:center;padding-bottom:10px;border-bottom:2px solid #e2e8f0}.bid-document .flow-chart{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:30px;border-radius:12px;margin:25px 0;text-align:center;position:relative}.bid-document .flow-chart:before{content:"📊";font-size:28px;display:block;margin-bottom:10px}.bid-document .org-chart{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#2d3748;padding:30px;border-radius:12px;margin:25px 0;text-align:center}.bid-document .org-chart:before{content:"🏢";font-size:28px;display:block;margin-bottom:10px}.bid-document .technical-diagram{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#2d3748;padding:30px;border-radius:12px;margin:25px 0;text-align:center}.bid-document .technical-diagram:before{content:"⚙️";font-size:28px;display:block;margin-bottom:10px}.bid-document .site-layout{background:linear-gradient(135deg,#fa709a,#fee140);color:#2d3748;padding:30px;border-radius:12px;margin:25px 0;text-align:center}.bid-document .site-layout:before{content:"🏗️";font-size:28px;display:block;margin-bottom:10px}.bid-document .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:25px 0}.bid-document .stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:20px;border-radius:12px;text-align:center;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .3s ease}.bid-document .stat-card:hover{transform:translateY(-5px)}.bid-document .stat-number{font-size:32px;font-weight:700;display:block;margin-bottom:5px}.bid-document .stat-label{font-size:14px;opacity:.9}.bid-document .progress-container{background:#f7fafc;border-radius:8px;padding:15px;margin:15px 0}.bid-document .progress-bar{background:#e2e8f0;height:8px;border-radius:4px;overflow:hidden;margin:10px 0}.bid-document .progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;border-radius:4px;transition:width .3s ease}.bid-document .timeline{position:relative;padding:20px 0;margin:25px 0}.bid-document .timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#667eea,#764ba2)}.bid-document .timeline-item{position:relative;padding:15px 0 15px 60px;margin-bottom:20px}.bid-document .timeline-item:before{content:"";position:absolute;left:24px;top:20px;width:12px;height:12px;background:#667eea;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 3px #667eea}.bid-document .timeline-content{background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);border-left:4px solid #667eea}.bid-document .tag{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:4px 12px;border-radius:20px;font-size:12px;margin:2px;font-weight:500}.bid-document .tag.success{background:linear-gradient(135deg,#48bb78,#38a169)}.bid-document .tag.warning{background:linear-gradient(135deg,#ed8936,#dd6b20)}.bid-document .tag.danger{background:linear-gradient(135deg,#f56565,#e53e3e)}@media (max-width:768px){.bid-document .stats-grid{grid-template-columns:1fr}.bid-document table{font-size:12px}.bid-document td,.bid-document th{padding:10px 8px}.bid-document .image-placeholder{padding:20px 15px;min-height:80px}.bid-document .timeline:before{left:15px}.bid-document .timeline-item{padding-left:40px}.bid-document .timeline-item:before{left:9px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bid-document .animate-fade-in{animation:fadeInUp .6s ease-out}.bid-document .signature-area{border:2px dashed #cbd5e0;border-radius:8px;padding:40px;text-align:center;margin:30px 0;background:linear-gradient(135deg,#f7fafc,#edf2f7)}.bid-document .signature-area:before{content:"✍️";font-size:24px;display:block;margin-bottom:10px}.bid-document .seal-area{border:2px solid #e53e3e;border-radius:50%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin:20px auto;background:radial-gradient(circle,#fed7d7 0,#feb2b2 100%);color:#c53030;font-weight:700;text-align:center}.bid-document .price-summary{background:linear-gradient(135deg,#f093fb,#f5576c);color:white;padding:25px;border-radius:12px;margin:25px 0;text-align:center}.bid-document .total-price{font-size:36px;font-weight:700;margin:15px 0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.bid-document .price-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px}.bid-document .price-item{background:rgba(255,255,255,.2);padding:15px;border-radius:8px;backdrop-filter:blur(10px)}.bid-document .quantity-table{margin:30px 0}.bid-document .quantity-table h3{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:15px 20px;margin:20px 0 0;border-radius:8px 8px 0 0;font-size:18px}.bid-document .quantity-table table{margin-top:0;border-radius:0 0 8px 8px}.bid-document .category-total{background:linear-gradient(135deg,#f093fb,#f5576c);color:white;font-weight:700}.bid-document .grand-total{background:linear-gradient(135deg,#667eea,#764ba2);color:white;font-weight:700;font-size:18px}.bid-document .image-loading{background:#f1f5f9;border:2px dashed #cbd5e0;border-radius:8px;color:#64748b}.bid-document .image-error,.bid-document .image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-style:italic}.bid-document .image-error{background:#fef2f2;border:2px dashed #fca5a5;border-radius:8px;color:#dc2626}@media (max-width:768px){.bid-document .generated-image img{max-width:100%}.bid-document .image-container{padding:15px}}