.opportunity-page { overflow: auto; height: auto; min-height: 100vh; }
.opportunity-page header { position: sticky; top: 0; z-index: 2; }
.opportunity-page main { max-width: 1500px; margin: auto; padding: 2rem; }
.opportunity-page h1 { font-size: 1.8rem; margin-bottom: 1rem; }
.opportunity-page h2 { margin: 2rem 0 .8rem; }
.opportunity-page p { margin: .7rem 0 1.2rem; }
.analysis-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; margin: 1.4rem 0; }
.analysis-controls label { display: flex; flex-direction: column; gap: .5rem; flex: 1 1 180px; }
.analysis-controls input,.analysis-controls select { width: 100%; }
.analysis-controls details { flex-basis: 100%; }
.summary-cards { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; }
.summary-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 10px; padding: 1.2rem; flex: 1 1 170px; }
.summary-card strong { display: block; font-size: 1.5rem; margin-top: .5rem; }
.table-scroll { overflow-x: auto; }
.table-scroll table { width: 100%; min-width: 850px; border-collapse: collapse; }
.table-scroll td,.table-scroll th { padding: .8rem; text-align: left; border-bottom: 1px solid var(--color-border); }
.comparison-actions { display: flex; gap: .5rem; margin-top: 1rem; }
@media(max-width:768px) { .opportunity-page main { padding: 1rem; } .opportunity-page header { padding: 1rem; } .analysis-controls label { flex-basis: 45%; } .summary-card { flex-basis: 42%; } }
