:root { --primary-color: #2563eb; --secondary-color: #3b82f6; --success-color: #22c55e; --warning-color: #f59e0b; --error-color: #ef4444; --text-primary: #1e293b; --text-secondary: #64748b; --bg-light: #f8fafc; } /* Base Styles */ body { font-family: 'Inter', system-ui, -apple-system, sans-serif; color: var(--text-primary); background-color: var(--bg-light); line-height: 1.6; } .container-main { max-width: 1280px; margin: 2rem auto; padding: 0 1rem; } /* Responsive Navigation */ .navbar-brand { font-weight: 600; letter-spacing: -0.025em; } .nav-link { transition: all 0.2s ease; padding: 0.5rem 1rem !important; border-radius: 0.375rem; } .nav-link:hover { background-color: rgba(255, 255, 255, 0.1); } /* Calculator Form */ .calculator-card { background: white; border-radius: 1rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); padding: 2rem; margin: 2rem 0; } .input-group-3d { position: relative; } .input-group-3d input, .input-group-3d select { border: 1px solid #e2e8f0; border-radius: 0.5rem; padding: 0.875rem 1rem; transition: all 0.2s ease; width: 100%; } .input-group-3d input:focus, .input-group-3d select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } /* Result Panel */ .result-card { border-left: 4px solid var(--success-color); background: white; border-radius: 0.75rem; padding: 1.5rem; margin-top: 2rem; animation: slideIn 0.3s ease; } @keyframes slideIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Mobile Optimization */ @media (max-width: 768px) { .calculator-card { margin: 1rem -0.5rem; border-radius: 0; } .navbar-collapse { margin-top: 1rem; padding: 1rem; background: var(--primary-color); border-radius: 0.5rem; } } 建议配合以下CSS样式(添加到base模板中): .input-group-text { transition: opacity 0.3s ease; } .progress-bar { transition: width 0.5s ease, background-color 0.3s ease; } /* Cost Breakdown Visual Enhancement */ .cost-breakdown { background: #fff; border-radius: 1rem; box-shadow: 0 2px 12px 0 rgba(37,99,235,0.08); padding: 2rem 1.5rem 1.5rem 1.5rem; margin-bottom: 2rem; } .cost-breakdown .cost-item { border: 1.5px solid #e0e7ef; box-shadow: 0 1px 4px 0 rgba(37,99,235,0.04); transition: box-shadow 0.2s, border-color 0.2s; margin-bottom: 0.5rem; } .cost-breakdown .cost-item:hover { border-color: var(--primary-color); box-shadow: 0 4px 16px 0 rgba(37,99,235,0.10); background: #f1f5fd; } .cost-breakdown .h4.text-primary { font-weight: 700; letter-spacing: 0.5px; } .cost-breakdown .small.text-muted { font-size: 0.98rem; color: var(--text-secondary); } .cost-breakdown .total-cost { background: linear-gradient(90deg, #e0e7ef 0%, #f8fafc 100%); border-width: 2.5px; box-shadow: 0 2px 8px 0 rgba(37,99,235,0.10); } .cost-breakdown .total-cost span { letter-spacing: 1.5px; }