.qualification-main { max-width: 1480px; }
.qualification-main .panel { min-width: 0; }
.qualification-main .hero { margin-bottom: 28px; }
.qualification-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 22px; margin: 0 0 26px; border: 1px solid #dfe7eb; border-radius: 16px; background: #fff; }
.qualification-filters label, .review-form label { display: grid; gap: 7px; color: #475866; font-size: 13px; font-weight: 650; }
.qualification-filters label { flex: 1 1 160px; }
.qualification-filters input, .qualification-filters select, .review-form input, .review-form select, .review-form textarea { width: 100%; max-width: 100%; min-width: 0; border: 1px solid #c4d1d9; border-radius: 8px; padding: 10px 12px; background: #fff; font: inherit; color: #203541; }
.qualification-filters input:focus, .qualification-filters select:focus, .review-form :is(input,select,textarea):focus { outline: 2px solid #185a78; outline-offset: 2px; }
.action-button, .secondary-action { border: 1px solid #185a78; border-radius: 9px; padding: 11px 16px; font: inherit; font-weight: 650; background: #185a78; color: #fff; cursor: pointer; }
.secondary-action { background: #fff; color: #185a78; }
.text-link, .source-link { color: #185a78; text-decoration: underline; text-underline-offset: 3px; }
.qualification-filters .text-link { padding: 11px 0; }
.qualification-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.qualification-full { grid-column: 1 / -1; }
.qualification-progress { margin-bottom: 24px; }
.qualification-progress > .panel-heading { margin-bottom: 16px; }
.qualification-progress .alert { margin-top: 18px; }
.chart-subtitle { color: #556875; font-size: 13px; line-height: 1.65; margin: 0 0 22px; }
.sector-bars { padding: 0; margin: 0; list-style: none; display: grid; gap: 18px; }
.bar-label { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-bottom: 7px; font-size: 14px; }
.bar-label > span { min-width: 0; overflow-wrap: anywhere; }
.bar-label strong { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.bar-label small { color: #607482; font-weight: 400; margin-left: 6px; }
.sector-track { height: 9px; border-radius: 2px; background: #edf1f4; overflow: hidden; }
.sector-track span { display: block; height: 100%; background: #185a78; border-radius: 2px; }
.sector-composition { display: flex; align-items: center; gap: 28px; min-height: 230px; }
.sector-donut { width: 200px; max-width: 45%; flex-shrink: 0; }
.donut-value { font: 600 3.7px system-ui,sans-serif; fill: #193744; }
.donut-label { font: 2px system-ui,sans-serif; fill: #526b78; }
.sector-legend { display: grid; flex: 1; gap: 17px; padding: 0; margin: 0; list-style: none; font-size: 13px; }
.sector-legend li { display: flex; align-items: center; gap: 9px; }
.sector-legend i { width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0; }
.sector-legend li > span { flex: 1; }
.sector-legend strong { text-align: right; font-variant-numeric: tabular-nums; }
.sector-legend small { display: block; color: #647886; font-weight: 400; margin-top: 3px; }
.qualification-main details { margin-top: 24px; border-top: 1px solid #e3eaed; padding-top: 15px; }
.qualification-main summary { cursor: pointer; color: #185a78; font-size: 14px; font-weight: 600; margin-bottom: 18px; }
.widget-match { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 0; border-bottom: 1px solid #e8edf0; }
.widget-match h3 { margin: 0 0 6px; font-size: 16px; }
.widget-match p { margin: 0; color: #607482; font-size: 13px; }
.widget-match > strong { font-size: 28px; color: #185a78; font-variant-numeric: tabular-nums; }
.opportunity-list { padding-left: 22px; }
.opportunity-list li { padding: 13px 0 15px 8px; border-bottom: 1px solid #e8edf0; }
.opportunity-list strong, .opportunity-list span, .opportunity-list small { display: block; }
.opportunity-list strong { font-size: 15px; }
.opportunity-list span, .opportunity-list small { color: #607482; font-size: 13px; margin-top: 5px; }
.opportunity-list li > div:last-child { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; }
.opportunity-list b { color: #185a78; }
.method-note { margin: 28px 0 0; padding: 20px 5px; color: #586e7c; font-size: 13px; line-height: 1.75; }
.method-note h2 { font-size: 16px; color: #294350; }
.empty-state { color: #657987; padding: 24px 0; line-height: 1.7; }
.qualification-main .breakdown dd { overflow-wrap: anywhere; text-align: right; flex-shrink: 1; max-width: 62%; }
.contact-value, .source-link { overflow-wrap: anywhere; }
.qualification-explanation { line-height: 1.75; color: #485f6b; margin-top: 24px; }
.qualification-main h3 { font-size: 15px; margin-top: 25px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.tag-list li { border: 1px solid #d3e0e6; border-radius: 6px; padding: 7px 10px; background: #f2f7f9; color: #24536a; font-size: 13px; }
.qualification-main blockquote { margin: 20px 0 8px; border-left: 3px solid #8ba9b8; padding: 8px 0 8px 16px; color: #435c69; line-height: 1.75; }
.source-link { display: block; font-size: 12px; margin-bottom: 24px; }
.review-form { display: grid; gap: 18px; }
.review-form label small { color: #6a7d89; font-weight: 400; }
.review-form select[multiple] { min-height: 130px; }
.review-form textarea { resize: vertical; }
.release-form { margin-top: 16px; }
.qualification-table { min-width: 850px; }
.qualification-table a { color: #185a78; font-weight: 650; }
.qualification-table td { white-space: normal; max-width: 300px; }
.pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 22px; color: #657987; font-size: 13px; }
.pagination > span { margin-right: auto; }
@media (max-width: 1060px) {
    .sector-composition { flex-direction: column; align-items: stretch; gap: 20px; }
    .sector-donut { align-self: center; max-width: 80%; }
}
@media (max-width: 760px) {
    .topbar { flex-wrap: wrap; gap: 15px; }
    .topbar-actions { flex-wrap: wrap; gap: 10px; }
    .qualification-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
    .qualification-filters { padding: 16px; }
    .qualification-filters label { flex-basis: 100%; }
    .qualification-filters button { flex: 1; }
    .bar-label { font-size: 13px; gap: 12px; }
    .bar-label small { display: block; text-align: right; margin-left: 0; }
    .qualification-main .panel-heading { flex-wrap: wrap; gap: 12px; }
    .qualification-main .breakdown dd { max-width: 56%; }
    .sector-composition { flex-direction: row; }
    .sector-donut { width: 120px; max-width: 37%; }
    .sector-legend { font-size: 12px; gap: 15px; }
}
@media print {
    .qualification-filters, .review-form, .release-form, .topbar-actions { display: none; }
    .qualification-grid { display: block; }
    .qualification-main .panel { break-inside: avoid; margin-bottom: 20px; }
}
