.housingai-report-v2, .housingai-report-v2 * {
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
}
.housingai-report-v2 {
max-width: 1400px !important;
width: 100% !important;
margin: 0 auto !important;
background: #ffffff !important;
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, ‘Helvetica Neue’, sans-serif !important;
color: #1e293b !important;
line-height: 1.6 !important;
}
.housingai-report-v2 .report-container { padding: 32px 40px !important; }
@media (max-width: 768px) { .housingai-report-v2 .report-container { padding: 20px !important; } }
.housingai-report-v2 .brand-bar {
display: flex !important; justify-content: space-between !important; align-items: center !important;
flex-wrap: wrap !important; gap: 16px !important; padding-bottom: 20px !important;
border-bottom: 2px solid #e2e8f0 !important; margin-bottom: 24px !important;
}
.housingai-report-v2 .logo { font-size: 1.8rem !important; font-weight: 800 !important; color: #0a2a44 !important; }
.housingai-report-v2 .date-tag { font-size: 0.8rem !important; color: #64748b !important; background: #f1f5f9 !important; padding: 6px 14px !important; border-radius: 30px !important; }
.housingai-report-v2 .meta-line {
display: flex !important; flex-wrap: wrap !important; gap: 12px !important;
background: #f8fafc !important; padding: 12px 20px !important; border-radius: 20px !important;
margin-bottom: 24px !important; font-size: 0.8rem !important; color: #475569 !important; align-items: center !important;
}
.housingai-report-v2 .badge-neutral { background: #eef2ff !important; color: #1e40af !important; padding: 4px 12px !important; border-radius: 30px !important; font-size: 0.7rem !important; font-weight: 500 !important; }
.housingai-report-v2 .definition-card { background: #fff9e6 !important; border-radius: 24px !important; padding: 24px !important; margin-bottom: 28px !important; border-left: 4px solid #d97706 !important; }
.housingai-report-v2 .definition-card.stark { background: #f1f5f9 !important; border-left-color: #2c3e50 !important; }
.housingai-report-v2 .definition-card h3 { font-size: 1.2rem !important; font-weight: 700 !important; margin-bottom: 12px !important; color: #0f172a !important; }
.housingai-report-v2 .definition-card p { margin-bottom: 12px !important; color: #334155 !important; }
.housingai-report-v2 .section-title { font-size: 1.6rem !important; font-weight: 700 !important; color: #0f172a !important; margin: 40px 0 24px 0 !important; padding-bottom: 12px !important; border-bottom: 3px solid #2c3e50 !important; display: inline-block !important; }
.housingai-report-v2 .grid-2 { display: grid !important; gap: 24px !important; margin-bottom: 28px !important; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important; }
.housingai-report-v2 .data-card { background: #ffffff !important; border: 1px solid #e2e8f0 !important; border-radius: 24px !important; padding: 24px !important; }
.housingai-report-v2 .data-card .number { font-size: 1.5rem !important; font-weight: 800 !important; color: #2c3e50 !important; margin-bottom: 8px !important; }
.housingai-report-v2 .data-card .label { font-weight: 700 !important; color: #334155 !important; margin-bottom: 12px !important; font-size: 1rem !important; }
.housingai-report-v2 .data-card .desc { font-size: 0.85rem !important; color: #64748b !important; line-height: 1.5 !important; }
.comparison-table { margin: 24px 0 !important; overflow-x: auto !important; }
.data-table { width: 100% !important; border-collapse: collapse !important; background: #ffffff !important; border-radius: 20px !important; overflow: hidden !important; box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important; font-size: 0.85rem !important; }
.data-table th { background: #2c3e50 !important; color: white !important; padding: 12px 14px !important; text-align: left !important; font-weight: 600 !important; }
.data-table td { padding: 12px 14px !important; border-bottom: 1px solid #e2e8f0 !important; }
.data-table .metric-name { font-weight: 600 !important; background: #fafafa !important; }
.highlight-cell { color: #b91c1c !important; font-weight: 700 !important; }
.policy-card { background: #ffffff !important; border: 1px solid #e2e8f0 !important; border-radius: 20px !important; margin-bottom: 16px !important; overflow: hidden !important; }
.policy-header { background: #f8fafc !important; padding: 14px 20px !important; border-bottom: 1px solid #e2e8f0 !important; display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }
.policy-icon { font-size: 1.2rem !important; }
.policy-name { font-weight: 700 !important; font-size: 1rem !important; }
.policy-tag { background: #eef2ff !important; color: #1e40af !important; padding: 2px 10px !important; border-radius: 20px !important; font-size: 0.7rem !important; }
.policy-content { padding: 16px 20px !important; font-size: 0.85rem !important; color: #334155 !important; }
.policy-content ul { margin-left: 20px !important; margin-top: 8px !important; margin-bottom: 8px !important; }
.housingai-report-v2 .insight-box-full { background: #eef2ff !important; border-radius: 20px !important; padding: 24px !important; margin: 24px 0 !important; border-left: 4px solid #2c3e50 !important; }
.housingai-report-v2 .insight-box-full.warning { background: #fff9e6 !important; border-left-color: #d97706 !important; }
.timeline-case { background: #f8fafc !important; border-radius: 24px !important; padding: 24px !important; margin: 24px 0 !important; }
.case-header { background: #eef2ff !important; padding: 12px 16px !important; border-radius: 16px !important; margin-bottom: 20px !important; font-size: 0.9rem !important; }
.case-badge { background: #2c3e50 !important; color: white !important; padding: 4px 12px !important; border-radius: 20px !important; font-size: 0.7rem !important; font-weight: 500 !important; margin-right: 12px !important; }
.timeline-steps { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.step { display: flex !important; gap: 16px !important; align-items: center !important; padding: 12px !important; background: white !important; border-radius: 16px !important; }
.step-date { font-weight: 700 !important; min-width: 100px !important; color: #2c3e50 !important; }
.step-action { color: #334155 !important; }
.case-result { margin-top: 16px !important; padding-top: 12px !important; border-top: 1px solid #e2e8f0 !important; font-weight: 500 !important; color: #2c7a4d !important; }
.decision-tree { background: #f8fafc !important; border-radius: 28px !important; padding: 32px !important; margin: 24px 0 !important; }
.tree-node.root { background: #2c3e50 !important; color: white !important; padding: 16px !important; border-radius: 40px !important; text-align: center !important; font-weight: 700 !important; margin-bottom: 24px !important; }
.tree-branches { display: grid !important; gap: 16px !important; }
.tree-branch { background: white !important; border-radius: 20px !important; padding: 16px !important; border: 1px solid #e2e8f0 !important; }
.tree-condition { font-weight: 700 !important; color: #b91c1c !important; margin-bottom: 8px !important; }
.final-conclusion { background: #f1f5f9 !important; border-radius: 28px !important; padding: 32px !important; margin: 40px 0 !important; text-align: center !important; }
.final-conclusion ul { text-align: left !important; display: inline-block !important; }
.appendix-box { background: #f9fafb !important; border-radius: 20px !important; padding: 24px !important; margin: 32px 0 !important; border: 1px solid #e2e8f0 !important; }
.appendix-box h3 { font-size: 1rem !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.appendix-box p { font-size: 0.75rem !important; color: #64748b !important; margin-bottom: 8px !important; }
.footer { text-align: center !important; padding: 24px !important; border-top: 1px solid #e2e8f0 !important; margin-top: 32px !important; color: #64748b !important; font-size: 0.75rem !important; }
@media (max-width: 768px) {
.housingai-report-v2 .section-title { font-size: 1.3rem !important; }
.step { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
.step-date { min-width: auto !important; }
}
