/* Institution comparison shares the public catalogue's light page layout. */
.lc-page.lc-page--head { padding-bottom: 0; }
.lc-search { max-width: 740px; margin: 18px 0; padding: 16px; border-radius: 12px; background: #f5f8fd; color: #20334f; }
.lc-search label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.lc-search__line { position: relative; display: flex; gap: 9px; align-items: stretch; }
.lc-search__line input { box-sizing: border-box; min-width: 0; width: 100%; height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #cfdaea; border-radius: 9px; background: #fff; color: #20334f; font: inherit; box-shadow: none; }
.lc-search__line > button { flex: none; padding: 10px 20px; border: 0; border-radius: 9px; background: #1765d9; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.lc-search__line > button:hover { background: #1255b9; }
.lc-search__line > button:disabled { opacity: .6; cursor: wait; }
.lc-search__line input:focus-visible, .lc-search__line > button:focus-visible, .lc-selected__remove:focus-visible { outline: 3px solid #89b3f0; outline-offset: 2px; }
.lc-search__help { margin: 9px 0 0; color: #6e7c91; font-size: 12px; line-height: 1.5; }
.lc-search__message { display: none; margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: #fff1ed; color: #9d351e; font-size: 13px; line-height: 1.5; }
.lc-search .autocomplete-suggestions { box-sizing: border-box; max-width: 100%; overflow: auto; margin-top: 7px; border: 1px solid #cfdaea; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px #18355818; color: #20334f; text-align: left; }
.lc-search .autocomplete-suggestion { padding: 11px 14px; font-size: 14px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.lc-search .autocomplete-selected, .lc-search .autocomplete-suggestion:hover { background: #edf4ff; }
.lc-selected { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin: 0 0 20px; }
.lc-selected .lc-selected__item { position: relative; box-sizing: border-box; flex: 1 1 240px; max-width: 360px; min-width: 0; min-height: 0; padding: 12px; border: 1px solid #dfe6f0; border-radius: 12px; background: #fff; }
.lc-selected .lc-selected__remove { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; min-width: 34px; padding: 0; border: 1px solid #dfe6f0; border-radius: 50%; background: #fff; color: #63768e; font-size: 25px; line-height: 1; cursor: pointer; }
.lc-selected .lc-selected__remove:hover { background: #fff2ed; color: #a03923; }
.lc-selected .lc-selected__link { display: flex; min-height: 44px; flex-direction: row; align-items: center; gap: 10px; padding-right: 34px; color: #234f93; font-size: 15px; font-weight: 700; line-height: 1.4; text-align: left; overflow-wrap: anywhere; }
.lc-selected .lc-selected__link:hover, .lc-selected .lc-selected__link:focus-visible { color: #1765d9; }
.lc-selected__logo { position: relative; display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border: 1px solid #edf0f5; border-radius: 8px; background: #f5f8fd; color: #6286b5; }
.lc-selected__logo svg { width: 26px; height: 26px; }
.lc-selected .lc-selected__logo img { position: absolute; inset: 0; box-sizing: border-box; display: block; width: 100%; height: 100%; margin: 0; padding: 3px; object-fit: contain; border: 0; border-radius: 0; background: #fff; opacity: 0; }
.lc-selected__logo.is-loaded img { opacity: 1; }
.lc-selected__logo.is-loaded svg { visibility: hidden; }
.lc-selected__plan { margin: 8px 0 0 54px; }
.lc-selected__plan .vx-admission-plan-entry { min-width: 0; min-height: 36px; }
.lc-selected__plan .vx-admission-plan-entry button, .lc-selected__plan .vx-admission-plan-saved { min-height: 36px; padding: 0 10px; font-size: 13px; }
.wrap.vxCompareBody.lc-body { box-sizing: border-box; display: flow-root; width: 100%; max-width: none; min-width: 0; min-height: 0; margin: 0 auto; padding: 0 24px 40px; }
.lc-body > .sideContent { float: none; width: 100%; min-height: 0; }
.lc-body .col-md-12, .lc-body .lc-section { padding-left: 0; padding-right: 0; }
.lc-body .lc-empty { margin: 0; }
.lc-section-nav { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 12px 0 20px; padding: 0; list-style: none; }
.lc-section-nav li { margin: 0; padding: 0; }
.lc-section-nav a { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 10px; border: 1px solid #dfe6f0; border-radius: 8px; background: #f7faff; color: #245a9e; font-size: 12px; line-height: 1.4; }
.lc-section-nav a:hover, .lc-section-nav a:focus-visible { background: #edf4ff; color: #1765d9; text-decoration: none; }
.lc-empty__metrics { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.lc-empty__metrics span { padding: 6px 11px; border: 1px solid #e1e9f5; border-radius: 7px; background: #fff; color: #536b89; font-size: 12px; }
@media (max-width: 767px) {
    .lc-search { margin: 16px 0; padding: 14px; }
    .lc-search__line > button { padding: 10px 14px; }
    .lc-selected .lc-selected__item { max-width: none; }
    .lc-selected .lc-selected__remove { width: 40px; height: 40px; }
    .lc-selected .lc-selected__link { padding-right: 40px; font-size: 14px; }
    .lc-selected__plan .vx-admission-plan-entry, .lc-selected__plan .vx-admission-plan-entry button, .lc-selected__plan .vx-admission-plan-saved { min-height: 40px; }
    .wrap.vxCompareBody.lc-body { padding-bottom: 28px; }
}
@media (max-width: 800px) {
    .wrap.vxCompareBody.lc-body { padding-left: 12px; padding-right: 12px; }
}

/* Isolated comparison tables also enhance the institution microscope pages. */
[data-legacy-compare-root] { min-width: 0; }
.wrap.lc-layout { width: 100%; min-width: 0; }
[data-legacy-compare-root] > .sideContent { min-width: 0; max-width: 100%; }
[data-legacy-compare-source][hidden] { display: none !important; }
.lc-section { clear: both; max-width: 100%; min-width: 0; padding: 0 15px; margin: 18px 0 30px; }
.lc-scroll-hint { color: #617b96; font-size: 13px; line-height: 1.55; margin: 0 0 10px; }
.lc-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; border: 1px solid #d6e3ef; border-radius: 12px; background: #fff; }
.lc-scroll:focus-visible { outline: 3px solid #0878e6; outline-offset: 3px; }
.lc-table { border-collapse: separate; border-spacing: 0; table-layout: fixed; width: max(100%, calc(210px + var(--lc-columns) * 250px)); margin: 0; color: #17344e; font-size: 14px; line-height: 1.5; }
.lc-table caption { padding: 14px 18px; font-weight: 700; font-size: 16px; text-align: left; color: #17344e; background: #f0f6fc; caption-side: top; }
.lc-table .lc-col-label { width: 210px; }
.lc-table .lc-col-entity { width: 250px; }
.lc-table th, .lc-table td { box-sizing: border-box; text-align: left; vertical-align: top; border: 0; border-top: 1px solid #e0e9f2; border-right: 1px solid #e0e9f2; padding: 16px 18px; overflow-wrap: anywhere; }
.lc-table tr > :last-child { border-right: 0; }
.lc-table thead th { color: #153b61; background: #f7faff; font-size: 15px; font-weight: 700; }
.lc-table tbody th { color: #24445f; background: #fbfdff; font-weight: 600; }
.lc-table tbody tr:nth-child(even) td { background: #fcfdff; }
.lc-table .lc-entity-link { display: block; color: #0871d4; text-decoration: none; line-height: 1.5; }
.lc-table .lc-entity-link:hover { text-decoration: underline; }
.lc-entity-note { display: block; color: #617b96; font-weight: 400; margin-top: 7px; line-height: 1.5; }
.lc-row-title { display: block; }
.lc-explanation { font-weight: 400; margin-top: 10px; font-size: 12px; }
.lc-explanation summary { color: #0871d4; cursor: pointer; padding: 4px 0; }
.lc-explanation p { font-size: 12px; line-height: 1.6; margin: 7px 0 0; color: #526f89; }
.lc-value, .lc-values { margin: 0; padding: 0; min-height: 0; }
.lc-values > .lc-value + .lc-value { margin-top: 12px; }
.lc-value p { font-size: 13px; line-height: 1.5; margin: 7px 0; }
.lc-measure { display: flex; flex-direction: column; gap: 3px; margin: 0 0 13px; }
.lc-measure:last-child { margin-bottom: 0; }
.lc-measure__label { color: #617b96; font-size: 12px; font-weight: 400; line-height: 1.5; }
.lc-measure__number { color: #17344e; font-size: 17px; line-height: 1.5; }
.lc-missing { color: #7890a6; font-size: 13px; font-weight: 400; }
.lc-benchmark-delta { align-self: flex-start; display: inline-flex; max-width: 100%; margin-top: 3px; padding: 3px 7px; border-radius: 5px; background: #eef4fb; color: #396a96; font-size: 12px; font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
.lc-benchmark-delta--positive { background: #eaf6f0; color: #287b5b; }
.lc-benchmark-delta--negative { background: #fff1ee; color: #b35948; }
.lc-benchmark-delta--neutral { background: #eef4fb; color: #396a96; }
.lc-value .buttonNastButton { max-width: 100%; white-space: normal; min-height: 44px; padding: 9px 12px; font-size: 13px; margin-top: 12px !important; }
.vxCompareSelected .vxCompareSelected__remove { min-width: 36px; min-height: 36px; padding: 4px; border: 1px solid #d2e1ef; background: #fff; color: #235273; border-radius: 50%; line-height: 1; }
.lc-distribution-modal { padding: 0 16px !important; color: #183b55; }
.lc-distribution-modal::before { display: none; }
.lc-distribution-modal .modal-dialog { display: block; width: 100%; max-width: 660px; margin: 40px auto; padding: 0; }
.lc-distribution-modal .modal-content { display: flex; flex-direction: column; max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); margin: 0; padding: 0; overflow: hidden; border: 1px solid #d9e5f0; border-radius: 16px; background: #fff; color: #183b55; box-shadow: 0 18px 64px #0b243c38; text-align: left; }
.lc-distribution__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex: 0 0 auto; padding: 22px 24px 18px; border-bottom: 1px solid #e3ebf3; }
.lc-distribution__header > div { min-width: 0; }
.lc-distribution-modal .lc-distribution__header h2 { margin: 0 0 5px; padding: 0; color: #183b55; font-size: 21px; font-weight: 600; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.lc-distribution-modal .lc-distribution__header p { margin: 0; padding: 0; color: #617e96; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.lc-distribution__close { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; min-height: 36px; margin: -3px -6px 0 0; padding: 0; border: 1px solid #e0e9f2; border-radius: 8px; background: #f8fbfe; color: #5d7a92; font: 400 27px/1 Arial, sans-serif; cursor: pointer; }
.lc-distribution__close:hover { border-color: #c3d9eb; background: #eef6fc; color: #1c6fa8; }
.lc-distribution__close:focus-visible { outline: 2px solid #0879dc; outline-offset: 3px; }
.lc-distribution-modal .lc-distribution__body { flex: 1 1 auto; min-height: 0; max-height: none; padding: 18px 24px 10px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c4d9e9 transparent; }
.lc-distribution-modal .lc-distribution__note { margin: 0 0 5px; padding: 0; color: #7690a5; font-size: 12px; line-height: 1.5; }
.lc-distribution-modal .lc-distribution__list { margin: 0; padding: 0; list-style: none; }
.lc-distribution__item { margin: 0; padding: 16px 0; border-bottom: 1px solid #e9eff5; }
.lc-distribution__item:last-child { border-bottom: 0; }
.lc-distribution__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.lc-distribution__label { min-width: 0; color: #254a65; font-size: 15px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.lc-distribution__code { display: block; margin-bottom: 3px; color: #7e96aa; font-size: 11px; font-weight: 400; line-height: 1.4; }
.lc-distribution__share { color: #245574; font-size: 16px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lc-distribution__track { height: 6px; margin-top: 10px; overflow: hidden; border-radius: 8px; background: #edf3f9; }
.lc-distribution__track > span { display: block; height: 100%; border-radius: inherit; background: #268be7; }
.lc-distribution-modal .lc-distribution__empty { margin: 5px 0 16px; color: #617e96; font-size: 14px; line-height: 1.6; }
@media (max-width: 767px) {
    .lc-section { padding: 0; margin: 14px 0 24px; }
    .lc-scroll { border-radius: 9px; }
    .lc-table { width: calc(160px + var(--lc-columns) * 225px); }
    .lc-table .lc-col-label { width: 160px; }
    .lc-table .lc-col-entity { width: 225px; }
    .lc-table th, .lc-table td { padding: 13px 14px; }
    .lc-table tbody th { font-size: 13px; }
    .vxCompareSelected .vxCompareSelected__remove { min-width: 44px; min-height: 44px; }
    .lc-distribution-modal { padding: 0 10px !important; }
    .lc-distribution-modal .modal-dialog { margin: 16px auto; }
    .lc-distribution-modal .modal-content { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); border-radius: 13px; }
    .lc-distribution__header { gap: 12px; padding: 18px 18px 15px; }
    .lc-distribution-modal .lc-distribution__header h2 { font-size: 19px; }
    .lc-distribution-modal .lc-distribution__body { padding: 14px 18px 8px; }
    .lc-distribution__label { font-size: 14px; }
    .lc-distribution__row { gap: 12px; }
    .lc-distribution__close { flex-basis: 40px; width: 40px; height: 40px; }
}
