.opportunities-page { min-height: 100vh; }
.opportunities-page [hidden] { display: none !important; }
.opportunity-hero { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 68px 0 42px; }
.opportunity-hero h1 { max-width: 710px; margin: 0 0 18px; color: var(--text); font-size: clamp(2.1rem, 4.3vw, 3.8rem); font-weight: 850; line-height: 1.38; letter-spacing: -.05em; }
.opportunity-hero h1 span { color: transparent; background: linear-gradient(100deg, var(--cyan), var(--green)); background-clip: text; -webkit-background-clip: text; }
.opportunity-hero__copy { max-width: 670px; margin: 0; color: var(--muted); font-size: .91rem; line-height: 2; }
.opportunity-hero__note { display: inline-flex; align-items: center; gap: 8px; margin-top: 21px; color: #b9ebd7; font-size: .7rem; }
.opportunity-hero__note span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 8px; background: rgba(82,214,163,.13); color: var(--green); }
.opportunity-control { display: grid; flex: 0 0 270px; gap: 7px; padding: 20px; border-color: rgba(85,214,239,.2); background: linear-gradient(145deg, rgba(17,40,65,.87), rgba(9,22,39,.87)); }
.opportunity-control__label { color: var(--cyan); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.opportunity-control strong { color: #ecf7ff; font-size: .88rem; }
.opportunity-control small { min-height: 38px; color: var(--dim); font-size: .62rem; line-height: 1.7; }
.opportunity-control .hero-button { justify-content: center; width: 100%; margin-top: 6px; padding: 10px 13px; border: 0; font-size: .69rem; cursor: pointer; }
.opportunity-control .hero-button span { margin-inline-end: 6px; }
.opportunity-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 11px; }
.opportunity-stat { min-height: 111px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(17,38,63,.74), rgba(9,22,39,.64)); }
.opportunity-stat span, .opportunity-stat small { display: block; color: var(--dim); font-size: .64rem; }
.opportunity-stat strong { display: block; margin: 6px 0 1px; color: #e8f3ff; font-size: 1.6rem; direction: ltr; text-align: right; }
.opportunity-stat--green strong { color: var(--green); }
.opportunity-stat--amber strong { color: var(--amber); }
.opportunity-layout { display: grid; grid-template-columns: minmax(0, 1fr) 292px; gap: 16px; align-items: start; }
.opportunity-feed { min-width: 0; padding: 24px; }
.opportunity-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.opportunity-section-heading h2, .opportunity-method h2 { margin: 0; color: #edf7ff; font-size: 1.12rem; }
.opportunity-feed-note { color: var(--dim); font-size: .63rem; }
.opportunity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.opportunity-card { position: relative; min-width: 0; overflow: hidden; padding: 16px; border: 1px solid rgba(157,185,219,.13); border-radius: 17px; background: linear-gradient(145deg, rgba(16,38,62,.87), rgba(8,22,39,.9)); }
.opportunity-card::before { position: absolute; top: -70px; left: -45px; width: 140px; height: 140px; border-radius: 50%; background: rgba(85,214,239,.07); content: ""; filter: blur(2px); }
.opportunity-card--buy { border-color: rgba(82,214,163,.28); }
.opportunity-card--sell { border-color: rgba(255,124,157,.28); }
.opportunity-card__top, .opportunity-card__identity, .opportunity-card__actions, .opportunity-card__plan, .opportunity-card__footer { position: relative; z-index: 1; display: flex; align-items: center; }
.opportunity-card__top { justify-content: space-between; gap: 10px; }
.opportunity-card__identity { min-width: 0; gap: 9px; }
.opportunity-card__identity img, .opportunity-card__avatar { display: grid; place-items: center; width: 33px; height: 33px; flex: 0 0 auto; border-radius: 11px; background: rgba(85,214,239,.12); color: var(--cyan); font-size: .78rem; font-weight: 900; }
.opportunity-card__identity img { object-fit: cover; }
.opportunity-card__identity strong, .opportunity-card__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opportunity-card__identity strong { color: #e8f3ff; font-size: .76rem; }
.opportunity-card__identity small { color: var(--dim); font-size: .58rem; direction: ltr; text-align: right; }
.opportunity-signal { padding: 5px 8px; border-radius: 8px; color: var(--amber); background: rgba(255,197,106,.1); font-size: .6rem; font-weight: 850; white-space: nowrap; }
.opportunity-signal--buy { color: var(--green); background: rgba(82,214,163,.1); }
.opportunity-signal--sell { color: var(--red); background: rgba(255,124,157,.1); }
.opportunity-card__score-row { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 16px; }
.opportunity-card__price small, .opportunity-card__score small { display: block; color: var(--dim); font-size: .57rem; }
.opportunity-card__price strong { display: block; margin-top: 2px; color: #e7f4ff; direction: ltr; font-size: 1.06rem; }
.opportunity-card__score { text-align: left; }
.opportunity-card__score strong { display: block; margin-top: 2px; color: var(--cyan); direction: ltr; font-size: 1.35rem; line-height: 1; }
.opportunity-card__score.negative strong { color: var(--red); }
.opportunity-card__change { margin-inline-start: 5px; font-size: .61rem; }
.positive { color: var(--green); }
.negative { color: var(--red); }
.opportunity-card__bar { position: relative; z-index: 1; height: 5px; margin-top: 12px; overflow: hidden; border-radius: 99px; background: rgba(157,185,219,.11); }
.opportunity-card__bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cyan), var(--green)); }
.opportunity-card__bar span.negative { background: linear-gradient(90deg, var(--red), #b986ff); }
.opportunity-card__thesis { position: relative; z-index: 1; min-height: 59px; margin: 13px 0 0; color: #9ab0c5; font-size: .67rem; line-height: 1.9; }
.opportunity-factors { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 11px; }
.opportunity-factor { padding: 4px 6px; border: 1px solid rgba(157,185,219,.11); border-radius: 7px; color: #8099b1; background: rgba(255,255,255,.025); font-size: .55rem; }
.opportunity-factor.supportive { border-color: rgba(82,214,163,.22); color: #79d9b3; background: rgba(82,214,163,.06); }
.opportunity-factor.against { border-color: rgba(255,124,157,.2); color: #ee8da6; background: rgba(255,124,157,.06); }
.opportunity-card__plan { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 5px; margin-top: 13px; padding-top: 11px; border-top: 1px solid rgba(157,185,219,.1); }
.opportunity-plan-cell { min-width: 0; padding: 7px 6px; border-radius: 8px; background: rgba(255,255,255,.025); }
.opportunity-plan-cell small, .opportunity-plan-cell strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opportunity-plan-cell small { color: var(--dim); font-size: .52rem; }
.opportunity-plan-cell strong { margin-top: 2px; color: #dcecff; direction: ltr; font-size: .62rem; }
.opportunity-card__actions { justify-content: space-between; gap: 8px; margin-top: 13px; }
.opportunity-card__actions a { color: var(--cyan); font-size: .6rem; font-weight: 800; text-decoration: none; }
.opportunity-card__actions a:hover { color: #bff6ff; }
.opportunity-card__footer { justify-content: space-between; gap: 8px; margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(157,185,219,.08); color: var(--dim); font-size: .56rem; }
.opportunity-card__footer span:last-child { direction: ltr; }
.opportunity-sidebar { display: grid; gap: 14px; }
.opportunity-method { padding: 22px; }
.opportunity-method h2 { margin-top: 4px; }
.method-row { display: flex; align-items: flex-start; gap: 9px; padding: 13px 0; border-bottom: 1px solid rgba(157,185,219,.09); }
.method-row:last-child { border-bottom: 0; padding-bottom: 3px; }
.method-row b { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 auto; border-radius: 8px; color: var(--cyan); background: rgba(85,214,239,.1); font-size: .65rem; }
.method-row strong, .method-row small { display: block; }
.method-row strong { color: #dceaf8; font-size: .67rem; }
.method-row small { margin-top: 2px; color: var(--dim); font-size: .57rem; }
.opportunity-risk-note { display: flex; gap: 9px; padding: 14px; border: 1px solid rgba(255,197,106,.2); border-radius: 15px; background: rgba(255,197,106,.055); }
.opportunity-risk-note > span { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 auto; border-radius: 7px; color: #161005; background: var(--amber); font-weight: 900; }
.opportunity-risk-note p { margin: 0; color: #b9aa8f; font-size: .61rem; line-height: 1.85; }
.opportunity-risk-note strong { color: #f4ca75; }
.opportunity-state { display: grid; place-items: center; gap: 5px; min-height: 230px; color: var(--muted); text-align: center; }
.opportunity-state strong { color: #e4f1fc; font-size: .82rem; }
.opportunity-state small { color: var(--dim); font-size: .62rem; }
.opportunity-state--error strong { color: var(--red); }
.opportunity-spinner { width: 28px; height: 28px; margin-bottom: 6px; border: 3px solid rgba(85,214,239,.15); border-top-color: var(--cyan); border-radius: 50%; animation: opportunity-spin .8s linear infinite; }
@keyframes opportunity-spin { to { transform: rotate(360deg); } }
.mini-action { margin-top: 8px; padding: 7px 11px; border: 1px solid rgba(85,214,239,.25); border-radius: 8px; color: var(--cyan); background: rgba(85,214,239,.07); font: inherit; font-size: .61rem; font-weight: 800; cursor: pointer; }
.opportunity-footer { display: flex; justify-content: space-between; gap: 14px; padding: 28px 0 32px; color: var(--dim); font-size: .59rem; }
@media (max-width: 1050px) { .opportunity-layout { grid-template-columns: minmax(0,1fr) 260px; } .opportunity-hero { align-items: stretch; flex-direction: column; } .opportunity-control { width: min(100%, 360px); flex-basis: auto; } }
@media (max-width: 780px) { .opportunity-summary { grid-template-columns: repeat(2, minmax(0,1fr)); } .opportunity-layout { grid-template-columns: 1fr; } .opportunity-sidebar { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .opportunity-hero { padding-top: 42px; } .opportunity-hero h1 { font-size: 2.25rem; } .opportunity-summary { gap: 8px; } .opportunity-stat { min-height: 95px; padding: 13px; } .opportunity-stat strong { font-size: 1.35rem; } .opportunity-feed { padding: 17px; } .opportunity-section-heading { align-items: flex-start; flex-direction: column; } .opportunity-grid, .opportunity-sidebar { grid-template-columns: 1fr; } .opportunity-card { padding: 14px; } .opportunity-footer { align-items: flex-start; flex-direction: column; } }
