.opportunity-chat-context{flex:none;text-align:left;border:0;border-bottom:1px solid var(--luli-structure);background:var(--luli-surface);color:var(--deep);padding:10px 20px;font:12px/1.5 var(--font-sans);cursor:pointer;overflow-wrap:anywhere}.opportunity-chat-context:focus-visible{outline:2px solid var(--luli-focus);outline-offset:-2px}
/* Opportunity workspace — the high-frequency job preparation system. */
#history{padding-top:72px}
.opportunity-page{width:min(1010px,calc(100% - 48px));margin:0 auto 80px;color:var(--ink)}
.opportunity-head,.opportunity-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.opportunity-head h1,.opportunity-detail-head h1{margin:10px 0 8px;font:700 clamp(34px,4vw,48px)/1.05 var(--font-display, "Songti SC", "STSong", serif)}.opportunity-head p,.opportunity-detail-head>div>p:not(.op-company){max-width:600px;margin:0;color:var(--muted);font-size:15px;line-height:1.7}.op-company{margin:0;color:var(--deep);font-size:13px;font-weight:700;letter-spacing:.08em}.op-button{border:1px solid var(--luli-container);background:transparent;color:var(--luli-on);min-height:38px;padding:8px 13px;border-radius:4px;font:650 13px/1 var(--font-sans);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.op-button:hover{border-color:var(--luli-container);background:var(--luli-primary)}.op-button:focus-visible{outline:2px solid var(--luli-focus);outline-offset:3px}.op-button.primary{border-color:var(--luli-container);background:var(--luli-primary);color:var(--luli-on);padding-inline:17px}.op-button.primary:hover{background:var(--luli-hover);border-color:var(--luli-container)}.op-button.link,.op-button.back{border:0;background:transparent;padding:5px 0;color:var(--luli-on)}.op-button.link:hover,.op-button.back:hover{background:transparent;color:var(--luli-on);transform:translateX(2px)}.op-button.menu{min-width:34px;border:0;padding:5px;background:transparent;font-size:18px;color:var(--luli-on)}
.opportunity-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--luli-structure);margin-top:58px}.opportunity-filters,.opportunity-controls,.opportunity-view-switch{display:flex;align-items:center;gap:8px}.opportunity-filters .filter{display:flex;align-items:center;gap:7px;border:0;border-radius:0;min-height:45px;padding:0 2px;margin-right:18px;color:var(--muted);position:relative}.opportunity-filters .filter[data-active="true"]{color:var(--ink)}.opportunity-filters .filter[data-active="true"]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--luli-selected)}.op-filter-count{font-size:11px;color:inherit;opacity:.72}.opportunity-search{display:flex;align-items:center;gap:7px;border:1px solid var(--luli-container);min-height:38px;padding:0 8px;color:var(--muted)}.opportunity-search:focus-within{border-color:var(--luli-focus);background:var(--luli-surface)}.opportunity-search input{width:170px;border:0;background:transparent;outline:0;color:var(--ink);font:13px var(--font-sans)}.opportunity-search input::placeholder{color:var(--luli-muted)}.op-search-icon{font-size:20px;line-height:1}.opportunity-controls select{border:0;border-left:1px solid var(--luli-structure);background:transparent;min-height:30px;padding:0 10px;color:var(--muted);font:13px var(--font-sans);outline:0}.opportunity-view-switch{padding-left:4px}.opportunity-view-switch .icon{min-width:34px;border:0;padding:5px;color:var(--muted);font-size:19px}.opportunity-view-switch .icon[data-active="true"]{background:var(--luli-selected-bg);color:var(--deep)}
.opportunity-summary{display:flex;justify-content:space-between;gap:20px;margin:17px 0 20px;color:var(--muted);font-size:12px}.opportunity-summary p{margin:0}.opportunity-summary-note{white-space:nowrap}.opportunity-collection.is-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.opportunity-card{border:1px solid var(--luli-container);background:var(--luli-surface);padding:20px 20px 17px;min-height:280px;display:flex;flex-direction:column;transition:border-color .2s ease,background .2s ease,transform .2s ease}.opportunity-card:hover{border-color:var(--luli-container);background:var(--luli-surface);transform:translateY(-2px)}.opportunity-card-top,.opportunity-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.op-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;letter-spacing:.02em}.op-status.green{background:var(--luli-surface);color:var(--luli-muted)}.op-status.amber{background:var(--luli-surface);color:var(--luli-muted)}.op-status.muted{background:var(--luli-surface);color:var(--luli-muted)}.op-company{margin-top:22px}.opportunity-card h2{margin:6px 0 8px;font:700 23px/1.23 var(--font-display, "Songti SC", "STSong", serif);letter-spacing:-.025em}.op-meta{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.op-tags{display:flex;flex-wrap:wrap;gap:6px;margin:19px 0}.op-tags span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--luli-container);padding:5px 7px;color:var(--luli-ink);font-size:11px}.op-progress{margin-top:auto;padding-top:13px;border-top:1px solid var(--luli-structure);display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;line-height:1.5}.op-progress p{margin:0;max-width:64%}.op-progress span{white-space:nowrap;text-align:right;font-size:11px}.opportunity-card-foot{margin-top:16px;color:var(--muted);font-size:11px}.opportunity-card-foot time{max-width:50%}
.opportunity-collection.is-list{border-top:1px solid var(--luli-structure)}.opportunity-list-head,.opportunity-list-row{display:grid;grid-template-columns:minmax(220px,2fr) .75fr 1.25fr .8fr .8fr auto;gap:15px;align-items:center}.opportunity-list-head{padding:12px 16px;background:var(--luli-surface);color:var(--muted);font-size:11px}.opportunity-list-row{padding:18px 16px;border-bottom:1px solid var(--luli-row);font-size:13px}.opportunity-list-row:hover{background:var(--luli-surface)}.op-list-identity,.op-list-status{display:grid;gap:5px;min-width:0}.op-list-identity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.op-list-identity small,.op-list-status small{color:var(--muted);font-size:11px}.op-list-status .op-status{font-size:10px}.opportunity-list-row>time,.opportunity-list-row>span{color:var(--muted);font-size:12px}.opportunity-empty{grid-column:1/-1;text-align:center;padding:82px 20px;border:1px dashed var(--luli-container);background:var(--luli-surface)}.opportunity-empty strong{display:block;font:700 25px var(--font-display, "Songti SC", "STSong", serif)}.opportunity-empty p{margin:11px auto 22px;max-width:420px;color:var(--muted);line-height:1.65}
.opportunity-detail{padding-top:2px}.opportunity-detail .back{margin:0 0 34px}.opportunity-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.opportunity-tabs{display:flex;gap:22px;border-bottom:1px solid var(--luli-structure);margin-top:45px;overflow-x:auto}.opportunity-tabs .tab{position:relative;flex:0 0 auto;min-height:44px;padding:0;border:0;border-radius:0;color:var(--muted)}.opportunity-tabs .tab[data-active="true"]{color:var(--ink)}.opportunity-tabs .tab[data-active="true"]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--luli-selected)}.opportunity-detail-content{padding-top:25px}.opportunity-hero-card{padding:29px 31px;background:var(--luli-surface);color:var(--luli-ink);position:relative;overflow:hidden}.opportunity-hero-card:after{content:"";position:absolute;width:220px;height:220px;border:1px solid var(--luli-container);border-radius:50%;right:-70px;bottom:-140px}.opportunity-hero-card .op-status{background:var(--luli-surface);color:var(--luli-muted)}.opportunity-hero-card h2{position:relative;margin:19px 0 8px;font:700 30px/1.2 var(--font-display, "Songti SC", "STSong", serif)}.opportunity-hero-card p{position:relative;margin:0;max-width:620px;color:var(--luli-ink);line-height:1.7}.opportunity-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.opportunity-panel{border:1px solid var(--luli-container);padding:22px;background:var(--luli-soft)}.op-panel-label{display:block;margin-bottom:11px;color:var(--deep);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.opportunity-panel h2{margin:0 0 10px;font:700 26px/1.25 var(--font-display, "Songti SC", "STSong", serif)}.opportunity-panel h3{margin:0 0 9px;font:700 19px/1.3 var(--font-display, "Songti SC", "STSong", serif)}.opportunity-panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.72}.opportunity-panel .primary{margin-top:18px}.op-evidence{grid-column:1/-1}.op-activity-list{margin-top:15px;padding-top:12px;border-top:1px solid var(--luli-structure)}.op-activity-list p+p{margin-top:8px}.op-research-questions{margin:22px 0;padding:0;list-style:none;counter-reset:research}.op-research-questions li{counter-increment:research;position:relative;padding:11px 0 11px 35px;border-top:1px solid var(--luli-structure);font-size:13px;line-height:1.6}.op-research-questions li:before{content:counter(research,decimal-leading-zero);position:absolute;left:0;color:var(--deep);font:700 12px var(--font-sans)}.op-fit-list{display:grid;gap:10px;margin-top:16px}.op-fit-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--luli-container);padding:13px;background:var(--luli-surface)}.op-fit-row.is-supported{border-color:var(--luli-container)}.op-fit-row.is-review{border-color:var(--luli-container)}.op-fit-row.is-missing{border-color:var(--luli-container)}.op-fit-row.is-not-applicable{border-color:var(--luli-container)}.op-fit-marker{width:21px;height:21px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--luli-surface);color:var(--luli-ink);font-weight:800}.is-supported .op-fit-marker{background:var(--luli-surface);color:var(--luli-ink)}.is-review .op-fit-marker{background:var(--luli-warning-bg);color:var(--luli-warning)}.is-missing .op-fit-marker{background:var(--luli-surface);color:var(--luli-ink)}.is-not-applicable .op-fit-marker{background:var(--luli-surface);color:var(--luli-ink)}.op-fit-row b{display:block;font-size:13px;line-height:1.5}.op-fit-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5}.opportunity-fit>.opportunity-panel:last-child{margin-top:16px}.op-thread-note{margin:13px 3px;color:var(--muted);font-size:11px;line-height:1.7}.op-resume-list{display:grid;gap:10px;margin-top:18px}.op-resume-row{display:flex;align-items:center;gap:12px;padding:12px;border-top:1px solid var(--luli-structure)}.op-doc-mark{width:30px;height:34px;border:1px solid var(--luli-container);display:grid;place-items:center;color:var(--deep)}.op-resume-row>div:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.op-resume-row small{color:var(--muted);font-size:11px}.op-source-link{display:inline-flex;margin-top:13px;color:var(--deep);font-size:12px;font-weight:650}.op-jd-summary{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--luli-structure)}.opportunity-materials{display:grid;gap:16px}.op-empty-inline{padding:14px!important;border:1px dashed var(--luli-container);color:var(--muted)}.opportunity-create-form{display:grid;gap:14px}.op-field{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.op-field input,.op-field textarea{width:100%;min-width:0;border:1px solid var(--luli-control);border-radius:3px;padding:10px 11px;background:var(--luli-surface);color:var(--ink);font:14px/1.55 var(--font-sans);outline:0}.op-field textarea{resize:vertical}.workspace-dialog .op-field textarea{margin-top:0}.op-field input:focus,.op-field textarea:focus{border-color:var(--luli-focus);box-shadow:var(--luli-input-shadow)}
@media(max-width:760px){#history{padding-top:42px}.opportunity-page{width:min(100% - 28px,620px);margin-bottom:46px}.opportunity-head,.opportunity-detail-head{align-items:flex-start;flex-direction:column}.opportunity-head h1,.opportunity-detail-head h1{font-size:36px}.opportunity-head .primary{width:100%;justify-content:center}.opportunity-tools{align-items:stretch;flex-direction:column;gap:0;margin-top:36px}.opportunity-filters{overflow-x:auto}.opportunity-filters .filter{margin-right:16px;white-space:nowrap}.opportunity-controls{padding:12px 0;justify-content:space-between}.opportunity-search{flex:1}.opportunity-search input{width:100%;min-width:0}.opportunity-controls select{display:none}.opportunity-summary{display:block;line-height:1.65}.opportunity-summary-note{margin-top:3px!important;white-space:normal}.opportunity-collection.is-grid{grid-template-columns:1fr;gap:12px}.opportunity-card{min-height:245px}.opportunity-collection.is-list{border-top:0}.opportunity-list-head{display:none}.opportunity-list-row{grid-template-columns:1fr auto;gap:10px;padding:15px 2px}.opportunity-list-row>span,.opportunity-list-row>time{display:none}.op-list-status{grid-column:1}.opportunity-list-row .link{grid-column:2;grid-row:1/3}.opportunity-detail-actions{width:100%}.opportunity-detail-actions .primary{flex:1}.opportunity-tabs{gap:20px;margin-top:31px}.opportunity-overview-grid{grid-template-columns:1fr}.op-evidence{grid-column:auto}.opportunity-hero-card{padding:24px}.opportunity-hero-card h2{font-size:27px}.opportunity-panel{padding:19px}.opportunity-panel h2{font-size:23px}.op-progress{display:block}.op-progress p{max-width:none}.op-progress span{display:block;margin-top:6px;text-align:left}.opportunity-tabs .tab{font-size:13px}}
@media(prefers-reduced-motion:reduce){.op-button,.opportunity-card{transition:none}}


.opportunity-page{min-width:0}.opportunity-detail-head>*{min-width:0}.opportunity-page h1,.opportunity-page h2,.op-list-identity{overflow-wrap:anywhere}.opportunity-card .menu{font-size:12px;min-height:38px}.op-jd-original{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:13px/1.8 var(--font-sans);padding:18px;background:var(--luli-surface);max-height:420px;overflow:auto}.workspace-job-surface #history{padding:28px 0 40px}.workspace-job-surface .opportunity-page{width:calc(100% - 48px)}.workspace-job-surface .opportunity-tools{flex-wrap:wrap;gap:8px;margin-top:28px}.workspace-job-surface .opportunity-detail-head{align-items:flex-start;flex-direction:column}.workspace-job-surface .opportunity-head h1,.workspace-job-surface .opportunity-detail-head h1{font-size:30px}.workspace-job-surface .opportunity-overview-grid{grid-template-columns:1fr}.workspace-job-surface .op-evidence{grid-column:auto}.workspace-job-surface .opportunity-list-head,.workspace-job-surface .opportunity-list-row{grid-template-columns:minmax(120px,2fr) 1fr auto}.workspace-job-surface .opportunity-list-row>span,.workspace-job-surface .opportunity-list-row>time,.workspace-job-surface .opportunity-list-head{display:none}.opportunity-tabs .tab{min-height:44px}.opportunity-hero-card{background:var(--luli-surface);color:var(--ink);border:1px solid var(--luli-container)}.opportunity-hero-card p{color:var(--muted)}.opportunity-hero-card:after{display:none}.opportunity-hero-card .op-status{background:var(--luli-surface);color:var(--luli-muted)}
/* Topic-level chat belongs to the opportunity, not a second resume or JD. */
.op-thread-list{display:grid;gap:10px;margin-top:21px}.op-thread-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--luli-container);background:var(--luli-surface);min-width:0}.op-thread-row[data-active="true"]{border-color:var(--luli-selected);box-shadow:none}.op-thread-row b{display:block;overflow-wrap:anywhere;font-size:14px}.op-thread-row small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.op-thread-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.op-thread-actions .link{white-space:nowrap}.opportunity-thread-bar{display:flex;gap:6px;overflow-x:auto;padding:9px 0 8px;margin-bottom:4px;scrollbar-width:thin}.opportunity-thread-bar .thread,.opportunity-thread-bar .thread-create{white-space:nowrap;flex:none;min-height:32px;border:1px solid var(--luli-container);border-radius:20px;padding:5px 11px;background:var(--luli-surface);font-size:11px;color:var(--muted)}.opportunity-thread-bar .thread[data-active="true"]{color:var(--deep);border-color:var(--luli-selected);background:var(--luli-selected-bg)}.opportunity-thread-bar .thread-create{color:var(--deep)}@media(max-width:760px){.op-thread-row{align-items:flex-start;flex-direction:column}.op-thread-actions{width:100%}}
.op-thread-actions select{max-width:190px;min-height:34px;padding:5px 7px;border:1px solid var(--luli-control);background:var(--luli-surface);color:var(--ink);font:11px var(--font-sans)}

/* Keep the primary action anchored to the title, not the variable-length description. */
.opportunity-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 28px;align-items:end}
.opportunity-head-title{min-width:0}
.opportunity-head>.op-button.primary{grid-column:2;grid-row:1;align-self:end;margin-bottom:8px;white-space:nowrap}
.opportunity-head>.opportunity-head-description{grid-column:1 / -1;grid-row:2;max-width:600px}
@media(max-width:760px){.opportunity-head{grid-template-columns:minmax(0,1fr)}.opportunity-head>.opportunity-head-description{grid-column:1}.opportunity-head>.op-button.primary{grid-column:1;grid-row:3;margin:18px 0 0}}
.workspace-job-surface .opportunity-head{grid-template-columns:minmax(0,1fr)}
.workspace-job-surface .opportunity-head>.opportunity-head-description{grid-column:1}
.workspace-job-surface .opportunity-head>.op-button.primary{grid-column:1;grid-row:3;justify-self:start;margin:18px 0 0}

/* Job workspace surfaces and states must use the active theme, including
   hovered/focused controls and the status colours inside the overview hero. */
.opportunity-page {--op-positive-bg: var(--luli-success-bg);--op-positive-ink: var(--luli-success);--op-warning-bg: var(--luli-warning-bg);--op-warning-ink: var(--luli-warning);--op-neutral-bg: var(--luli-info-bg);--op-neutral-ink: var(--luli-info);--op-positive-line: var(--luli-success);--op-review-line: var(--luli-warning);--op-warning-line: var(--luli-warning);--op-neutral-line: var(--luli-info);
}
html[data-theme="dark"] .opportunity-page {--op-positive-bg: var(--luli-success-bg);--op-positive-ink: var(--luli-success);--op-warning-bg: var(--luli-warning-bg);--op-warning-ink: var(--luli-warning);--op-neutral-bg: var(--luli-info-bg);--op-neutral-ink: var(--luli-info);--op-positive-line: var(--luli-success);--op-review-line: var(--luli-warning);--op-warning-line: var(--luli-warning);--op-neutral-line: var(--luli-info);
}
.opportunity-card,
.opportunity-panel,
.opportunity-empty,
.op-fit-row,
.op-field input,
.op-field textarea {background: var(--luli-soft); }
.opportunity-card:hover,
.opportunity-list-row:hover,
.op-button:not(.primary):not(.link):not(.back):not(.menu):hover,
.opportunity-search:focus-within {background: var(--luli-hover); }
.opportunity-list-head,
.opportunity-view-switch .icon[data-active="true"] {background: var(--luli-soft); }
.opportunity-card:hover,
.op-button:hover {border-color: var(--luli-container); }
.opportunity-search:focus-within {border-color: var(--luli-focus); }
.opportunity-search input::placeholder {color: var(--muted); }
.op-tags span {border-color: var(--luli-container);color: var(--muted); }
.opportunity-empty,
.op-empty-inline {border-color: var(--luli-container); }
.op-doc-mark {border-color: var(--luli-container); }
.op-button.primary {color: var(--luli-on); }
.op-button.primary:hover {background: var(--luli-hover);border-color: var(--luli-container);color: var(--luli-on);
}
.op-button:focus-visible {outline-color: var(--luli-focus); }
.op-field input:focus,
.op-field textarea:focus {border-color: var(--luli-focus);box-shadow: var(--luli-input-shadow);
}
.op-status.green,
.opportunity-hero-card .op-status.green,
.is-supported .op-fit-marker {background: var(--luli-surface);color: var(--op-positive-ink); }
.op-status.amber,
.opportunity-hero-card .op-status.amber,
.is-missing .op-fit-marker,
.is-review .op-fit-marker {background: var(--luli-warning-bg);color: var(--op-warning-ink); }
.op-status.muted,
.opportunity-hero-card .op-status.muted,
.op-fit-marker,
.is-not-applicable .op-fit-marker {background: var(--luli-surface);color: var(--op-neutral-ink); }
.op-fit-row.is-supported {border-color: var(--luli-container); }
.op-fit-row.is-review {border-color: var(--luli-container); }
.op-fit-row.is-missing {border-color: var(--luli-container); }
.op-fit-row.is-not-applicable {border-color: var(--luli-container); }
.op-source-details{margin:14px 0;border-top:1px solid var(--luli-structure);overflow-wrap:anywhere}
.op-source-details summary{cursor:pointer;min-height:40px;padding:10px 0;color:var(--ink);font:500 13px/1.6 var(--font-sans)}
.op-source-details summary:focus-visible{outline:2px solid var(--luli-focus);outline-offset:3px}
.opportunity-panel,.op-fit-row>div{min-width:0}
.op-field,.op-fit-row small,.opportunity-panel h2{overflow-wrap:anywhere}

/* Restore field layout without overriding the dialog typography. */
.workspace-dialog .op-field{display:grid;gap:7px}
