.resume-match-shell { width: min(960px, calc(100% - 2rem)); margin: 6.5rem auto 3rem; }
.resume-match-hero { max-width: 720px; margin: 0 auto 2rem; }
.resume-match-eyebrow { color: var(--primary-button-color, #2563eb); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.resume-match-hero h1 { margin: .55rem 0 .7rem; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.04em; }
.resume-match-hero p { max-width: 620px; margin-right: auto; margin-left: auto; color: var(--bs-secondary-color); font-size: 1.05rem; }
.resume-match-benefits { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem 1.5rem; color: var(--bs-secondary-color); font-size: .78rem; }
.resume-match-benefits i { color: var(--primary-button-color, #2563eb); margin-right: .25rem; }
.resume-match-card, .resume-match-report { padding: clamp(1.25rem, 3vw, 2rem); background: var(--card-bg, var(--bs-card-bg)); border: 1px solid var(--bs-border-color); border-radius: 1rem; box-shadow: var(--shadow-md); }
.resume-dropzone { display: flex; min-height: 220px; align-items: center; justify-content: center; flex-direction: column; gap: .4rem; padding: 1rem; border: 1px dashed var(--bs-border-color); border-radius: .75rem; color: var(--bs-secondary-color); text-align: center; cursor: pointer; transition: border-color .15s, background-color .15s; }
.resume-dropzone:hover, .resume-dropzone.is-dragging { border-color: var(--primary-button-color, #2563eb); background: rgba(37, 99, 235, .07); }
.resume-dropzone.has-file { border-color: #28a745; color: #1f8f5d; background: #f6fff6; }
.resume-dropzone.has-file i, .resume-dropzone.has-file strong, .resume-dropzone.has-file small { color: #1f8f5d; }
.resume-dropzone-file-name { display: none; max-width: 100%; overflow: hidden; color: #1f8f5d; font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.resume-dropzone.has-file .resume-dropzone-file-name { display: block; }
.resume-dropzone i { color: var(--primary-button-color, #2563eb); font-size: 2.25rem; }
.resume-dropzone strong { color: var(--bs-body-color); }
.resume-dropzone small { font-size: .72rem; }
.resume-dropzone input { display: none; }
.resume-match-report { margin-top: 1.5rem; scroll-margin-top: 5rem; }
.report-header { margin: 0 0 1rem; padding: 1rem 1.5rem; color: #fff; background: #1f466f; border-radius: .75rem; font-size: 1.25rem; font-weight: 700; }
.report-header span { color: #20b7b2; }
.report-header small { margin-left: .35rem; color: #dbeafe; font-size: .85rem; font-weight: 400; }
.report-hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; color: #fff; background: linear-gradient(135deg, #12365c, #2365a0); border-radius: .75rem; }
.report-hero .resume-match-eyebrow { color: #fff !important; }
.report-hero h2 { margin: .25rem 0; color: #fff; font-size: 1.65rem; }
.report-hero .report-overall-score { margin-bottom: 10px !important; }
.report-hero p { max-width: 760px; margin: 0; color: #dbeafe; }
.report-hero > i { color: #8ec5ff; font-size: 3rem; }
.report-panel { height: 100%; padding: 1rem 1.1rem; border: 1px solid var(--bs-border-color); border-radius: .7rem; }
.report-panel h3 { margin-bottom: .8rem; font-size: 1rem; }
.report-panel ul { margin: 0; padding-left: 1.1rem; }
.report-panel li { margin-bottom: .6rem; color: var(--bs-secondary-color); font-size: .85rem; }
.report-panel li strong { display: block; color: var(--bs-body-color); }
.report-panel li span { display: block; margin-top: .15rem; }
.quality-panel { background: var(--bs-tertiary-bg); }
.quality-panel h3 { margin-bottom: .35rem; }
.quality-panel p { margin: 0; color: var(--bs-secondary-color); font-size: .85rem; }
.quality-panel strong { color: var(--bs-body-color); font-size: .85rem; }
.quality-panel ul { margin-top: .45rem; }
.quality-panel small { display: block; margin-top: .9rem; color: var(--bs-secondary-color); font-size: .72rem; }
.quality-score { flex-shrink: 0; padding: .35rem .65rem; color: #2365a0; background: #dbeafe; border-radius: 999px; font-size: .85rem; font-weight: 700; }
.assessment-promo { background: linear-gradient(135deg, #f5f9ff, #eef8f8); }
.assessment-promo h3 { margin-bottom: .35rem; }
.assessment-promo p { margin: 0 0 .9rem; color: var(--bs-secondary-color); font-size: .85rem; }
.assessment-promo strong { display: block; color: var(--bs-body-color); font-size: .85rem; }
.assessment-promo span { display: block; margin-top: .25rem; color: var(--bs-secondary-color); font-size: .78rem; line-height: 1.45; }
html[data-bs-theme="dark"] .assessment-promo { background: linear-gradient(135deg, #1d2a3a, #1b3435); }
html[data-bs-theme="dark"] .assessment-promo p, html[data-bs-theme="dark"] .assessment-promo span { color: #cbd5e1; }
html[data-bs-theme="dark"] .assessment-promo strong { color: #f1f5f9; }
.resume-match-progress { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 1rem; background: rgba(15, 32, 51, .32); }
.resume-match-progress-card { width: min(420px, 100%); padding: 1.5rem; background: var(--card-bg, var(--bs-card-bg)); border: 1px solid var(--bs-border-color); border-radius: 1rem; box-shadow: var(--shadow-md); }
.resume-match-progress-card h2 { margin: 0 0 .35rem; font-size: 1.25rem; }
.resume-match-progress-card p { margin: 0 0 1.25rem; color: var(--bs-secondary-color); font-size: .85rem; }
.resume-match-progress-step { display: flex; align-items: center; gap: .7rem; padding: .65rem 0; color: var(--bs-secondary-color); font-size: .9rem; }
.resume-match-progress-step i { color: var(--bs-secondary-color); font-style: normal; }
.resume-match-progress-step.is-active { color: var(--bs-body-color); font-weight: 600; }
.resume-match-progress-step.is-active i { color: var(--primary-button-color, #2563eb); }
.resume-match-progress-step.is-complete i { color: #198754; }
#resumeMatchProgress .bi::before { content: "○" !important; font-family: inherit; }
#resumeMatchProgress .bi-check-circle-fill::before { content: "✓" !important; }
.question-list li { color: var(--bs-body-color); }
.recommendation { margin: 1rem 0 0; padding-top: .8rem; border-top: 1px solid var(--bs-border-color); color: var(--bs-secondary-color); font-size: .85rem; }
.resume-match-footnote { margin: 1rem auto; color: var(--bs-secondary-color); font-size: .72rem; text-align: center; }
@media (max-width: 575px) {
.resume-match-shell { width: min(100% - 1rem, 1060px); }
.report-hero { display: block; }
.report-hero > i { display: none; }
}
