/* Opportunity pages share PlaceAI's restrained palette and real application flow. */
#app-shell .opportunity-detail { min-width:0; }
#app-shell .opportunity-hero { position:relative; height:240px; border-radius:12px; overflow:hidden; background:#49364d; }
#app-shell .opportunity-hero>img { width:100%;height:100%;object-fit:cover;object-position:center 52%; }
#app-shell .opportunity-hero::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,#17121c99,transparent 65%);pointer-events:none; }
#app-shell .opportunity-back { position:absolute;z-index:1;top:20px;left:24px;min-height:44px;padding:10px 16px;border:1px solid #ffffff80;border-radius:6px;color:#fff;background:#302733b3;font:inherit;cursor:pointer; }
#app-shell .opportunity-back:focus-visible { outline:3px solid #fff;outline-offset:3px; }
#app-shell .opportunity-image-label { position:absolute;right:16px;bottom:12px;padding:4px 8px;border-radius:4px;background:#302733d9;color:#fff;font-size:12px; }
#app-shell .opportunity-detail-grid { display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:24px;padding:0 20px;position:relative;margin-top:-40px;align-items:start; }
#app-shell .opportunity-main,#app-shell .opportunity-sidebar { min-width:0;display:grid;gap:20px; }
#app-shell .opportunity-sidebar { padding-top:64px; }
#app-shell .opportunity-detail .panel { padding:24px;border-radius:10px!important;margin:0;min-width:0; }
#app-shell .opportunity-heading { display:flex;align-items:center;gap:20px; }
#app-shell .opportunity-heading>div:last-child { min-width:0; }
#app-shell .opportunity-heading h1 { margin:8px 0;font-size:clamp(24px,2.3vw,32px)!important;line-height:1.25;font-weight:400!important;overflow-wrap:anywhere; }
#app-shell .opportunity-logo { display:grid;place-items:center;flex:0 0 80px;width:80px;height:80px;border:1px solid var(--pa-border);border-radius:16px;background:#f2eaf0;color:#49364d;font-size:28px; }
#app-shell .opportunity-logo img { width:100%;height:100%;object-fit:contain;border-radius:15px; }
#app-shell .opportunity-company-name { margin:0;font-size:17px; }
#app-shell .opportunity-badges { display:flex;flex-wrap:wrap;gap:8px; }
#app-shell .opportunity-badges span { padding:4px 9px;border-radius:4px;font-size:12px;background:#f3f0ed;color:#49364d; }
#app-shell .opportunity-badges .opportunity-demo-badge { background:#f2eaf0; }
#app-shell .opportunity-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0; }
#app-shell .opportunity-detail dt { color:var(--pa-muted);font-size:14px;line-height:1.5; }
#app-shell .opportunity-detail dd { margin:6px 0 0;color:var(--pa-ink);font-size:16px;line-height:1.6;overflow-wrap:anywhere; }
#app-shell .opportunity-section h2 { font-size:20px!important;line-height:1.35;margin:0 0 18px; }
#app-shell .opportunity-section h3 { font-size:17px!important;margin:24px 0 12px; }
#app-shell .opportunity-section :is(p,li) { font-size:16px!important;line-height:1.7;overflow-wrap:anywhere; }
#app-shell .opportunity-description { max-width:75ch; }
#app-shell .opportunity-description p { white-space:normal;margin:0 0 18px; }
#app-shell .opportunity-skills-list { list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0; }
#app-shell .opportunity-skills-list li { background:#f3f0ed;border:1px solid #e2d9de;border-radius:4px;padding:6px 10px;font-size:14px!important; }
#app-shell .opportunity-criteria { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0; }
#app-shell .opportunity-process { padding-left:24px;margin:0; }
#app-shell .opportunity-process li+li { margin-top:12px; }
#app-shell .opportunity-sidebar .opportunity-apply { padding:0;border:0;box-shadow:none;background:transparent!important; }
#app-shell .opportunity-schedule { display:grid;gap:18px;margin:0; }
#app-shell .opportunity-schedule a { color:var(--pa-accent);text-decoration:underline;text-underline-offset:3px; }
#app-shell .opportunity-registration { margin-top:20px;border-top:1px solid var(--pa-border);padding-top:16px; }
#app-shell .opportunity-registration summary { cursor:pointer;min-height:36px;font-size:16px; }
#app-shell .opportunity-demo-notice { padding:16px 20px;background:#f8f2e8;border:1px solid #dacdbb;border-radius:8px;font-size:15px;line-height:1.6;color:#51412e; }
#app-shell .opportunity-note { font-size:14px;line-height:1.6;color:var(--pa-muted); }
#app-shell .opportunity-demo-card { display:flex;align-items:center;gap:20px;margin-top:24px; }
#app-shell .opportunity-demo-card>div { min-width:0;flex:1; }
#app-shell .opportunity-demo-card h2 { font-size:20px!important;margin:6px 0; }
#app-shell .opportunity-demo-card p { margin:0;font-size:15px;line-height:1.6; }
#app-shell .opportunity-demo-card>img { border-radius:14px;flex-shrink:0; }
#app-shell .opportunity-action .row-actions { justify-content:flex-end;flex-wrap:wrap; }
#app-shell .opportunity-mobile-apply { display:none; }
@media(max-width:1100px) {
 #app-shell .opportunity-mobile-apply { display:block; }
 #app-shell .opportunity-sidebar .opportunity-apply { display:none; }
 #app-shell .opportunity-detail-grid { grid-template-columns:minmax(0,1fr);padding:0 12px;gap:20px; }
 #app-shell .opportunity-sidebar { padding-top:0;grid-template-columns:repeat(2,minmax(0,1fr)); }
 #app-shell .opportunity-sidebar .opportunity-apply { grid-column:1/-1; }
}
@media(max-width:650px) {
 #app-shell .opportunity-hero { height:200px; }
 #app-shell .opportunity-detail-grid { margin-top:-24px;padding:0 8px; }
 #app-shell .opportunity-detail .panel { padding:20px; }
 #app-shell .opportunity-heading { align-items:flex-start;flex-direction:column;gap:16px; }
 #app-shell .opportunity-facts,#app-shell .opportunity-criteria,#app-shell .opportunity-sidebar { grid-template-columns:minmax(0,1fr); }
 #app-shell .opportunity-demo-card { align-items:flex-start;flex-wrap:wrap; }
 #app-shell .opportunity-demo-card .button { width:100%; }
 #app-shell .opportunity-back { left:16px;top:16px; }
 #app-shell .opportunity-image-label { top:76px;bottom:auto; }
}

/* Keep privacy controls reachable without covering an opportunity action. */
body:has(.opportunity-detail) .privacy-settings-button { position:static; display:block; width:fit-content; margin:0 16px 16px auto; }
