:root {
  --bg: #f4f6f6;
  --surface: #fff;
  --ink: #243033;
  --ink-2: #354246;
  --ink-3: #516064;
  --ink-mute: #637175;
  --border: #dfe5e5;
  --border-strong: #c4cece;
  --blue: #006c63;
  --blue-hover: #00564f;
  --blue-bg: #e8f4f1;
  --focus-color: #006c63;
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 8px;
}
* { letter-spacing: 0; box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-size: 14px; line-height: 1.55; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: none; }
button, input { font: inherit; }
h1, h2, h3, h4, p { margin: 0; }
svg.lucide { width: 19px; height: 19px; flex: 0 0 19px; vertical-align: middle; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -70px; z-index: 100; background: white; padding: 12px; border: 2px solid var(--blue); }
.skip-link:focus { top: 8px; }
.workspace-header { height: 62px; display: flex; align-items: center; gap: 28px; padding: 0 26px; background: #fff; border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 30; }
.workspace-brand { color: #152c2a; font-size: 21px; font-weight: 750; display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.workspace-brand svg { width: 25px; height: 25px; flex-basis: 25px; color: var(--blue); }
.workspace-meta { color: var(--ink-mute); font-size: 12px; display: flex; align-items: center; gap: 8px; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #187668; }
.header-separator { margin: 0 3px; color: #9ca9a9; }
.header-language { margin-left: auto; position: relative; }
.header-language > summary { list-style: none; }
.header-language > summary::-webkit-details-marker { display: none; }
.header-language > nav { position: absolute; right: 0; top: 39px; z-index: 40; min-width: 132px; padding: 4px; display: grid; gap: 2px; border: 1px solid var(--border-strong); border-radius: 5px; background: white; box-shadow: 0 8px 24px rgba(24,45,42,.14); }
.header-language > nav a { padding: 7px 10px; border-radius: 3px; color: var(--ink-3); font-size: 12px; white-space: nowrap; }
.header-language > nav a:hover, .header-language > nav a.selected { background: #e3eeeb; color: #00574e; font-weight: 700; }
.header-language + .staff-session { margin-left: 0; }
.staff-label { margin-left: auto; display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink-3); }
.workspace-layout { display: grid; grid-template-columns: 192px minmax(0,1fr); min-height: calc(100vh - 62px); }
.process-navigation { padding: 27px 14px; border-right: 1px solid var(--border); background: #f6f8f8; }
.nav-caption { font-size: 11px; color: var(--ink-mute); font-weight: 650; padding: 0 12px 14px; }
.process-links { display: grid; gap: 5px; }
.process-link { display: flex; align-items: center; gap: 9px; min-height: 42px; border-radius: 4px; padding: 9px 11px; color: var(--ink-3); font-size: 13px; }
.process-link b { margin-left: auto; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.process-link.active { background: #e1efeb; color: #005c52; font-weight: 700; }
.process-link:hover { background: #e9eeee; }
.dataset-note { display: flex; gap: 9px; margin: 33px 10px 0; padding-top: 21px; border-top: 1px solid var(--border); color: var(--ink-mute); font-size: 11px; line-height: 1.9; }
.dataset-note strong, .dataset-note span { display: block; }
.dataset-note strong { font-size: 12px; color: var(--ink-3); }
.dataset-note svg { margin-top: 4px; width: 16px; }
.catalogue-main { min-width: 0; }
.search-toolbar { min-height: 79px; display: flex; align-items: center; gap: 24px; padding: 16px 28px; background: #fff; border-bottom: 1px solid var(--border); }
.search-form { display: flex; align-items: center; width: min(100%, 470px); min-width: 180px; border: 1px solid #bac8c7; background: #fff; border-radius: 5px; height: 43px; padding-left: 12px; gap: 9px; }
.search-form > svg { color: #6a7a7b; }
.search-form input { border: 0; background: transparent; box-shadow: none; min-width: 0; width: 100%; padding: 7px 0; color: var(--ink); font-size: 14px; }
.search-form input:focus { box-shadow: none; }
.search-form:focus-within { border-color: var(--blue); }
.search-submit { margin-right: 3px; }
.icon-button { width: 33px; height: 33px; display: inline-flex; align-items: center; justify-content: center; padding: 0; flex: 0 0 33px; border: 1px solid transparent; border-radius: 4px; color: var(--ink-3); background: transparent; cursor: pointer; }
.icon-button:hover { background: #eaf2f0; color: var(--blue); }
.icon-button.disabled { opacity: .35; cursor: default; }
.language-picker { margin-left: auto; display: flex; gap: 12px; align-items: center; }
.language-caption { font-size: 11px; color: var(--ink-mute); white-space: nowrap; display: flex; gap: 5px; align-items: center; }
.language-caption svg { width: 16px; height: 16px; flex-basis: 16px; }
.language-options { display: flex; gap: 3px; padding: 3px; border: 1px solid var(--border); border-radius: 5px; }
.language-options a { padding: 5px 8px; color: var(--ink-3); font-size: 12px; border-radius: 3px; white-space: nowrap; }
.language-options a.selected { background: #e3eeeb; color: #00574e; font-weight: 700; }
.results-workspace { display: grid; grid-template-columns: 270px minmax(0,1fr); align-items: start; }
.results-list { padding: 23px 15px; min-width: 0; }
.results-heading { display: flex; align-items: center; justify-content: space-between; min-height: 32px; padding: 0 9px 14px; }
.results-heading h1 { font-size: 14px; font-weight: 700; }
.results-heading h1 span { margin-left: 6px; color: var(--ink-mute); font-size: 12px; }
.query-label { padding: 0 9px 12px; font-size: 12px; color: #3a6862; overflow-wrap: anywhere; }
.guide-result { display: block; padding: 16px; color: var(--ink); border: 1px solid transparent; border-radius: 5px; margin-bottom: 11px; background: transparent; }
.guide-result.selected { background: #fff; border-color: #a6c7bf; box-shadow: inset 3px 0 #167266; }
.guide-result:hover { background: #fff; border-color: #c8d5d2; }
.result-topline { display: flex; gap: 8px; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.process-tag { font-size: 11px; color: #236359; font-weight: 650; }
.result-year { font-size: 11px; color: var(--ink-mute); }
.guide-result h2 { font-size: 16px; font-weight: 720; line-height: 1.4; overflow-wrap: anywhere; }
.school-english { font-size: 11px; color: var(--ink-mute); line-height: 1.45; margin-top: 5px; }
.intake { font-size: 12px; color: var(--ink-3); margin-top: 13px; }
.result-counts { font-size: 11px; color: var(--ink-mute); display: flex; align-items: center; gap: 10px; margin-top: 13px; }
.result-counts svg { margin-left: auto; width: 15px; height: 15px; }
.guide-detail { min-width: 0; background: #fff; border-left: 1px solid var(--border); min-height: calc(100vh - 141px); }
.detail-heading { padding: 28px 30px 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.detail-kicker { font-size: 12px; color: var(--ink-mute); margin-bottom: 7px; }
.detail-kicker span { margin: 0 6px; }
.detail-heading h2 { font-size: 24px; line-height: 1.4; font-weight: 730; }
.detail-heading p { font-size: 13px; color: var(--ink-3); margin-top: 7px; }
.text-action { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; min-height: 32px; color: var(--blue); }
.text-action:hover { color: #003f38; text-decoration: underline; }
.text-action svg { width: 16px; height: 16px; flex-basis: 16px; }
.detail-heading > .text-action { flex-shrink: 0; border: 1px solid #c4d6d1; padding: 5px 10px; border-radius: 4px; }
.category-tabs { display: flex; flex-wrap: wrap; padding: 0 23px; border-bottom: 1px solid var(--border); gap: 0 14px; }
.category-tabs a { position: relative; font-size: 12px; line-height: 1.45; color: var(--ink-mute); padding: 12px 0 13px; white-space: nowrap; border-bottom: 2px solid transparent; }
.category-tabs a.active { border-bottom-color: #137366; font-weight: 750; color: #055e53; }
.category-tabs a:hover { color: var(--blue); }
.detail-section { padding: 25px 30px; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.section-heading h3 { font-size: 17px; font-weight: 720; }
.section-heading p { font-size: 11px; color: var(--ink-mute); margin-top: 4px; }
.section-heading p span { padding: 0 5px; }
.notice-tag { color: #80551e; background: #fff5e4; font-size: 11px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 3px; flex-shrink: 0; }
.notice-tag svg { width: 13px; height: 13px; flex-basis: 13px; }
.context-note { border-left: 3px solid #bf8b36; background: #fff8eb; padding: 11px 12px; color: #72531f; display: flex; gap: 8px; font-size: 12px; align-items: flex-start; margin: 0 0 18px; }
.context-note svg { width: 16px; height: 16px; flex-basis: 16px; margin-top: 2px; }
.context-note a { margin-left: auto; white-space: nowrap; }
.cost-table-wrap { width: 100%; }
.cost-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.cost-table th { text-align: left; font-size: 11px; font-weight: 600; color: var(--ink-mute); background: #f5f7f7; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 10px 9px; }
.cost-table th:first-child { width: 49%; }
.cost-table th:nth-child(2) { width: 28%; }
.cost-table th:nth-child(3) { width: 14%; }
.cost-table th:nth-child(4) { width: 9%; }
.cost-table td { padding: 14px 9px; vertical-align: top; border-bottom: 1px solid #e8eded; font-size: 13px; overflow-wrap: anywhere; }
.cost-table td > strong { font-weight: 600; font-size: 13px; }
.cost-table .source-column { text-align: right; padding-right: 1px; }
.cost-table tr.display-only td { background: #fafbfb; }
.cell-meta { display: block; margin-top: 5px; color: var(--ink-mute); font-size: 11px; }
.row-details { margin-top: 6px; }
.row-details summary { color: var(--ink-mute); font-size: 11px; cursor: pointer; list-style-position: inside; }
.row-details[open] summary { color: var(--blue); }
.row-details > div { margin-top: 9px; padding-left: 9px; border-left: 2px solid var(--border); font-size: 12px; color: var(--ink-3); }
.row-details p + p { margin-top: 8px; }
.row-details b { font-size: 11px; display: block; color: var(--ink-mute); }
.amount-cell > strong { display: block; font-size: 14px !important; font-weight: 700 !important; font-variant-numeric: tabular-nums; }
.amount-cell > span { display: block; font-size: 11px; color: var(--ink-mute); margin-top: 3px; }
.amount-cell > .estimate-label { color: #925c14; }
.unknown-value { color: #946024; }
.obligation { display: inline-block; border-radius: 3px; font-size: 11px; line-height: 1.5; padding: 3px 6px; white-space: nowrap; }
.obligation.required { background: #eaf4f0; color: #286251; }
.obligation.optional { background: #edf0f4; color: #4c5d73; }
.obligation.conditional, .obligation.unknown { background: #fff4df; color: #805512; }
.housing-section { border-top: 1px solid var(--border); }
.housing-row { display: grid; grid-template-columns: minmax(140px, .8fr) minmax(0, 1.4fr); padding: 19px 0; gap: 24px; border-top: 1px solid var(--border); }
.housing-name > span { font-size: 11px; color: var(--ink-mute); }
.housing-name h4 { font-size: 16px; margin-top: 4px; }
.housing-name > strong { display: block; font-size: 15px; margin-top: 10px; font-variant-numeric: tabular-nums; }
.housing-name small { font-size: 11px; font-weight: 400; color: var(--ink-mute); }
.housing-conditions p { font-size: 12px; color: var(--ink-3); }
.housing-conditions p + p { margin-top: 8px; }
.evidence-text { margin-top: 14px; font-size: 12px; }
.evidence-text summary { color: #3b6761; cursor: pointer; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; list-style: none; }
.evidence-text summary::-webkit-details-marker { display: none; }
.evidence-text summary > svg { width: 15px; height: 15px; flex-basis: 15px; }
.evidence-text summary > svg:last-child { margin-left: auto; }
.evidence-text > div { padding: 15px; background: #f5f8f7; margin-top: 9px; border-radius: 3px; overflow-wrap: anywhere; }
.evidence-text p { font-size: 12px; color: #3e5550; line-height: 1.8; }
.evidence-text .evidence-note { color: #805a24; margin-top: 10px; }
.fallback-label { color: #95672c; font-size: 10px; }
.source-strip { display: flex; gap: 20px; padding: 22px 30px; align-items: center; background: #f8fafa; border-top: 1px solid var(--border); }
.document-thumbnail { display: flex; align-items: center; justify-content: center; width: 164px; height: 112px; flex: 0 0 164px; border: 1px solid #d5dede; background: white; overflow: hidden; }
.document-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.source-strip h3 { font-size: 13px; }
.source-strip p { font-size: 11px; color: var(--ink-mute); margin: 5px 0; }
.scholarship-row { border-top: 1px solid var(--border); padding: 23px 0; }
.scholarship-row > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.scholarship-row > header > div { display: flex; align-items: baseline; gap: 10px; }
.scholarship-number { color: #71827c; font-size: 11px; font-variant-numeric: tabular-nums; }
.scholarship-row h4 { font-size: 17px; line-height: 1.5; }
.benefit-line { display: flex; flex-wrap: wrap; gap: 22px; padding: 15px 0 17px 26px; }
.benefit-line > div { flex: 1 1 170px; }
.benefit-line strong { color: #0a6b59; font-size: 21px; font-weight: 720; }
.benefit-line span { color: var(--ink-mute); font-size: 12px; margin-left: 10px; }
.benefit-line p { font-size: 11px; color: var(--ink-mute); margin-top: 4px; }
.scholarship-facts { margin: 0; display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 10px 16px; font-size: 12px; padding-left: 26px; }
.scholarship-facts dt { color: var(--ink-mute); font-weight: 500; }
.scholarship-facts dd { margin: 0; color: var(--ink-3); overflow-wrap: anywhere; }
.scholarship-row > .evidence-text { margin-left: 26px; }
.other-fragment { border-top: 1px solid var(--border); }
.other-fragment:last-child { border-bottom: 1px solid var(--border); }
.other-fragment > summary { display: flex; align-items: center; gap: 10px; list-style: none; padding: 15px 3px; cursor: pointer; font-size: 13px; }
.other-fragment > summary::-webkit-details-marker { display: none; }
.other-fragment > summary > span { flex: 1; overflow-wrap: anywhere; }
.other-fragment small { font-size: 11px; color: var(--ink-mute); flex-shrink: 0; }
.other-fragment > summary svg { width: 16px; height: 16px; }
.other-fragment[open] > summary svg, .evidence-text[open] summary > svg:last-child { transform: rotate(180deg); }
.other-fragment-body { padding: 0 10px 19px; }
.preserved-text { margin-top: 13px; white-space: pre-line; overflow-wrap: anywhere; line-height: 1.85; color: var(--ink-3); font-size: 13px; }
.empty-section { text-align: center; padding: 48px 24px; }
.empty-section > svg { color: #77908a; width: 34px; height: 34px; margin-bottom: 13px; }
.empty-section h3, .empty-section h4 { font-size: 16px; font-weight: 650; }
.empty-section p { color: var(--ink-mute); font-size: 12px; margin: 9px 0 14px; }
.empty-inline { font-size: 12px; color: var(--ink-mute); padding: 12px 0; }
.document-preview-large { display: block; width: 100%; max-width: 460px; margin: 28px auto 0; }
.document-preview-large img { display: block; width: 100%; height: auto; }
.detail-footer { padding: 17px 30px; color: #707e7e; font-size: 10px; border-top: 1px solid var(--border); display: flex; gap: 6px; align-items: center; }
.detail-footer svg { width: 13px; height: 13px; flex-basis: 13px; }
.detail-footer span { margin-left: auto; }
.empty-results { padding: 30px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; font-size: 12px; color: var(--ink-mute); }
.empty-results > svg { width: 27px; height: 27px; color: #83938e; }
.no-guide-selected { text-align: center; padding: 110px 24px; }
.no-guide-selected > svg { width: 42px; height: 42px; color: #8a9d97; margin-bottom: 20px; }
.no-guide-selected h2 { font-size: 18px; }
.no-guide-selected p { color: var(--ink-mute); font-size: 13px; margin-top: 10px; }
.source-viewer { max-width: 1320px; margin: 0 auto; padding: 0 28px 32px; }
.source-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 68px; border-bottom: 1px solid var(--border); gap: 14px; }
.page-controls { display: flex; align-items: center; gap: 12px; }
.page-controls > span:not(.icon-button) { min-width: 55px; font-size: 13px; text-align: center; font-variant-numeric: tabular-nums; }
.source-title { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 21px 0; }
.source-title h1 { font-size: 17px; line-height: 1.5; }
.source-title > span { font-size: 12px; color: var(--ink-mute); flex-shrink: 0; }
.full-page-image { display: block; width: 100%; background: #fff; cursor: zoom-in; }
.full-page-image img { display: block; width: 100%; height: auto; }
.source-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 20px 0; font-size: 11px; color: var(--ink-mute); }
.source-footer a { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.source-footer svg { width: 13px; height: 13px; }
@media (min-width: 1500px) {
  .workspace-layout { grid-template-columns: 212px minmax(0,1fr); }
  .results-workspace { grid-template-columns: 300px minmax(0,1fr); }
  .detail-section, .detail-heading { padding-left: 38px; padding-right: 38px; }
  .category-tabs { gap: 22px; padding-left: 38px; }
}
@media (max-width: 1180px) {
  .workspace-layout { grid-template-columns: 166px minmax(0,1fr); }
  .process-navigation { padding: 23px 8px; }
  .process-link { gap: 7px; padding: 9px 8px; font-size: 12px; }
  .results-workspace { grid-template-columns: 236px minmax(0,1fr); }
  .results-list { padding: 20px 10px; }
  .guide-result { padding: 13px; }
  .detail-section, .detail-heading { padding: 22px; }
  .language-caption { display: none; }
  .search-toolbar { padding: 15px 22px; gap: 16px; }
  .category-tabs { padding: 0 22px; gap: 12px; }
  .category-tabs a { font-size: 11px; }
}
@media (max-width: 960px) {
  .workspace-layout { display: block; }
  .process-navigation { padding: 8px 18px; border-bottom: 1px solid var(--border); border-right: 0; }
  .nav-caption, .dataset-note { display: none; }
  .process-links { display: flex; flex-wrap: wrap; gap: 5px; }
  .process-link { min-height: 35px; gap: 7px; padding: 6px 9px; }
  .process-link svg { width: 15px; height: 15px; flex-basis: 15px; }
  .process-link b { padding-left: 7px; }
  .results-workspace { grid-template-columns: 222px minmax(0,1fr); }
  .workspace-header { padding: 0 22px; }
  .detail-heading h2 { font-size: 21px; }
}
@media (max-width: 700px) {
  .workspace-header { padding: 0 16px; height: 56px; gap: 14px; }
  .workspace-brand { font-size: 19px; gap: 8px; }
  .workspace-brand svg { width: 22px; height: 22px; }
  .workspace-meta { display: none; }
  .staff-label, .header-separator { display: none; }
  .process-navigation { padding: 8px 12px; }
  .process-links { gap: 3px; }
  .process-link { min-height: 30px; font-size: 11px; padding: 5px 7px; gap: 5px; }
  .process-link svg { display: none; }
  .process-link b { padding-left: 0; font-size: 10px; }
  .search-toolbar { display: block; padding: 14px 16px; }
  .search-form { width: 100%; max-width: none; }
  .search-form input { font-size: 16px; }
  .language-picker { margin: 11px 0 0; justify-content: space-between; }
  .language-caption { display: flex; }
  .language-options a { font-size: 11px; padding: 4px 8px; }
  .results-workspace { display: block; }
  .results-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; padding: 14px 16px; }
  .results-heading { grid-column: 1 / -1; padding: 0 1px 2px; min-height: 22px; }
  .results-heading h1 { font-size: 12px; }
  .query-label { grid-column: 1 / -1; padding: 0; }
  .guide-result { padding: 11px 12px; margin: 0; }
  .result-topline { margin-bottom: 7px; gap: 5px; }
  .process-tag, .result-year { font-size: 10px; }
  .guide-result h2 { font-size: 14px; }
  .school-english { display: none; }
  .intake { font-size: 11px; margin-top: 8px; }
  .result-counts { font-size: 10px; margin-top: 8px; gap: 6px; flex-wrap: wrap; }
  .result-counts svg { display: none; }
  .guide-detail { border-left: 0; border-top: 1px solid var(--border); min-height: 0; }
  .detail-heading { padding: 23px 17px 18px; gap: 12px; }
  .detail-heading h2 { font-size: 22px; }
  .detail-heading p { font-size: 12px; }
  .detail-kicker { font-size: 11px; }
  .detail-heading > .text-action { font-size: 11px; padding: 4px 7px; }
  .category-tabs { padding: 0 17px; gap: 0 16px; }
  .category-tabs a { font-size: 11px; padding-top: 10px; padding-bottom: 10px; }
  .detail-section { padding: 22px 16px; }
  .section-heading { gap: 8px; margin-bottom: 16px; }
  .section-heading h3 { font-size: 16px; }
  .notice-tag { font-size: 10px; padding: 4px 5px; gap: 4px; }
  .cost-table th:first-child { width: 46%; }
  .cost-table th:nth-child(2) { width: 30%; }
  .cost-table th:nth-child(3) { width: 15%; }
  .cost-table th:nth-child(4) { width: 9%; }
  .cost-table th { font-size: 10px; padding: 9px 5px; }
  .cost-table td { padding: 12px 5px; }
  .cost-table td > strong { font-size: 12px; }
  .amount-cell > strong { font-size: 12px !important; }
  .amount-cell > span { font-size: 10px; }
  .row-details summary { font-size: 10px; }
  .row-details > div { padding-left: 6px; font-size: 11px; }
  .obligation { font-size: 10px; padding: 3px 4px; }
  .source-column .icon-button { width: 27px; height: 29px; flex-basis: 27px; }
  .source-column svg { width: 16px; height: 16px; }
  .housing-row { grid-template-columns: 1fr; gap: 12px; padding: 17px 0; }
  .source-strip { padding: 20px 16px; gap: 14px; }
  .document-thumbnail { width: 116px; height: 86px; flex-basis: 116px; }
  .source-strip p { overflow-wrap: anywhere; }
  .scholarship-facts { padding-left: 0; grid-template-columns: 82px minmax(0,1fr); gap: 10px; font-size: 12px; }
  .scholarship-row > .evidence-text { margin-left: 0; }
  .scholarship-row h4 { font-size: 15px; }
  .scholarship-row > header { gap: 8px; }
  .benefit-line { padding-left: 0; gap: 13px; }
  .benefit-line strong { font-size: 20px; }
  .context-note { flex-wrap: wrap; }
  .context-note > span { flex: 1; }
  .context-note a { margin-left: 24px; }
  .detail-footer { padding: 15px 16px; flex-wrap: wrap; }
  .detail-footer span { margin-left: 19px; }
  .empty-results { grid-column: 1 / -1; padding: 20px; }
  .no-guide-selected { padding: 40px 20px 80px; }
  .source-viewer { padding: 0 12px 20px; }
  .source-toolbar { gap: 6px; min-height: 60px; }
  .source-toolbar .text-action { font-size: 11px; }
  .page-controls { gap: 4px; }
  .source-title { display: block; padding: 16px 0; }
  .source-title h1 { font-size: 15px; }
  .source-title > span { display: block; margin-top: 7px; font-size: 11px; }
}
@media (max-width: 420px) {
  .workspace-header { padding: 0 10px; gap: 6px; }
  .workspace-brand { min-width: 0; font-size: 17px; white-space: nowrap; }
  .workspace-brand svg { display: none; }
  .header-language, .staff-session { flex-shrink: 0; }
  .staff-session { gap: 4px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }

/* Dense catalogue rows share the detail width; tables scroll within their region. */
select { font: inherit; color: inherit; }
select:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 2px; }
.results-workspace { display: block; }
.results-list { display: block; padding: 6px 20px 10px; border-bottom: 1px solid var(--border); }
.results-heading { padding: 0 0 5px; min-height: 36px; gap: 12px; }
.results-heading h1 { font-size: 13px; white-space: nowrap; }
.query-label { margin-right: auto; padding: 0; }
.comparison-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-left: auto; white-space: nowrap; }
.comparison-actions > span { font-size: 11px; color: var(--ink-mute); }
.comparison-actions .compare-requirement { color: #8a5715; }
.comparison-actions button.text-action { border: 1px solid var(--border-strong); background: white; padding: 3px 10px; border-radius: 4px; cursor: pointer; }
.comparison-actions button:disabled { color: #64736f; background: #edf0ee; cursor: default; }
.result-scroll { overflow: auto; max-height: calc(100vh - 300px); width: 100%; }
.result-row { display: flex; align-items: center; min-width: 1164px; height: 38px; border-bottom: 1px solid var(--border); background: white; }
.result-row.selected { background: #e8f4f1; box-shadow: inset 3px 0 #167266; }
.result-row:hover { background: #f0f6f4; }
.compare-check { display: flex; align-items: center; justify-content: center; width: 30px; height: 38px; flex: 0 0 30px; cursor: pointer; }
.compare-check input { width: 16px; height: 16px; accent-color: #087365; margin: 0; }
.result-row .guide-result, .guide-columns { display: grid; grid-template-columns: minmax(170px,1fr) 84px 90px 140px 186px 110px 170px 18px; gap: 8px; align-items: center; height: 38px; flex: 1; min-width: 0; padding: 0 8px 0 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 11px; }
.result-columns { display: flex; min-width: 1164px; background: #eaf0ee; border-bottom: 1px solid #becdc8; position: sticky; top: 0; z-index: 1; }
.result-columns > span { flex: 0 0 30px; }
.guide-columns { height: 29px; font-size: 10px; color: #42554f; }
.guide-columns span { display: flex; align-items: center; gap: 4px; }
.guide-columns svg { width: 12px; height: 12px; }
.initial-amount { text-align: right; font-variant-numeric: tabular-nums; color: #243b33; }
.initial-amount small { font-size: 9px; color: #80551b; margin-right: 4px; }
.initial-amount { line-height: 16px; }
.initial-amount .term-note { display: block; font-size: 9px; color: var(--ink-3); margin: 0; line-height: 12px; }
.comparison-cost { border-bottom: 1px solid var(--border); padding-bottom: 16px; margin-bottom: 18px; font-size: 12px; }
.comparison-cost > div { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.comparison-cost b { font-size: 19px; color: #075d4f; }
.comparison-cost > div > span { color: var(--ink-3); }
.comparison-cost p + p { margin-top: 6px; }
.policy-guidance { padding: 0 0 16px; border-bottom: 1px solid var(--border); margin-bottom: 20px; font-size: 12px; }
.policy-note { margin-top: 5px; font-size: 11px; color: #75541e; }
.policy-guidance .section-heading { margin-bottom: 5px; }
.schedule-summary.open { color: #086051; }
.schedule-summary.check { color: #80551b; }
.schedule-summary.closed { color: #687570; }
.primary-filters { padding: 0 20px 10px; background: #fff; }
.filter-commands { display: flex; gap: 5px; align-items: center; }
.filter-commands .icon-button { height: 31px; width: 31px; }
.sort-control { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.sort-control select { height: 28px; max-width: 180px; border: 1px solid #c1ccca; border-radius: 3px; background: white; font-size: 11px; padding: 2px 4px; }
.sort-control .icon-button { width: 28px; height: 28px; }
.sort-control + .comparison-actions { margin-left: 0; }
.payment-option { padding: 9px 0; border-top: 1px solid var(--border); font-size: 12px; }
.payment-option summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.payment-option b { white-space: nowrap; color: #17694f; }
.payment-option p { margin: 8px 0; line-height: 1.7; }
.payment-option + .section-heading { margin-top: 22px; }
.detail-actions { display: flex; align-items: center; gap: 8px; }
.service-facts p { margin: 0; }
.service-facts .icon-button { width: 24px; height: 24px; }
.result-row .guide-result > * { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.result-row .guide-result h2 { font-size: 13px; line-height: 20px; font-weight: 700; }
.catalogue-state { margin-left: 6px; color: #805500; font-size: 10px; font-weight: 700; white-space: nowrap; }
.normalization-list-divider { min-width: 1164px; height: 30px; display: flex; align-items: center; gap: 10px; padding: 0 30px; border-bottom: 1px solid #bed0cb; background: #f1f6f4; color: #315d55; font-size: 10px; }
.normalization-list-divider strong { color: #075e52; font-size: 11px; }
.source-record-row { background: #f7faf9; }
.source-record-row .compare-check { cursor: not-allowed; }
.source-record-row .compare-check input { opacity: .45; }

.source-link-status { padding: 1px 4px; border: 1px solid #c3d6d1; border-radius: 3px; background: #edf4f2; color: #315d55; }
.normalization-filter-note { min-width: 1164px; min-height: 38px; display: flex; align-items: center; gap: 7px; padding: 7px 30px; border-bottom: 1px solid var(--border); background: #fff9ed; color: #76551e; font-size: 11px; }
.normalization-filter-note svg { width: 15px; height: 15px; flex: 0 0 15px; }
.result-row .intake, .result-row .result-counts { font-size: 11px; display: block; color: var(--ink-3); }
.result-row .process-tag, .result-row .result-year { font-size: 11px; }
.operation-badge { display: inline-block; max-width: 100%; padding: 2px 5px; border-radius: 3px; background: #dcefeb; color: #075e52; font-size: 10px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.operation-badge.needs-scope { background: #fff0d8; color: #7b5016; }
.guide-detail { border-left: 0; min-height: 0; }
.detail-heading { padding: 15px 24px 12px; gap: 18px; }
.detail-heading > div { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; min-width: 0; }
.detail-heading h2 { font-size: 22px; overflow-wrap: anywhere; }
.detail-heading .detail-kicker { margin: 0; font-size: 11px; }
.detail-heading p { margin: 0; font-size: 12px; }
.category-tabs { padding: 0 24px; gap: 20px; }
.category-tabs a { padding: 9px 0; font-size: 12px; }
.detail-section { padding: 20px 24px; }
.section-heading { margin-bottom: 12px; }
.search-toolbar { min-height: 60px; padding: 10px 20px; gap: 16px; }
.search-form { height: 36px; }
.requirement-filters { background: #fff; padding: 8px 20px 12px; border-bottom: 1px solid var(--border); }
.filter-heading { display: flex; align-items: center; justify-content: space-between; height: 26px; margin-bottom: 6px; }
.filter-heading strong { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; }
.filter-heading strong svg { width: 15px; height: 15px; }
.filter-heading .icon-button { height: 26px; }
.filter-fields { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 8px 12px; align-items: end; }
.filter-fields label { display: grid; gap: 3px; font-size: 11px; color: var(--ink-3); min-width: 0; }
.filter-fields input, .filter-fields select { width: 100%; min-width: 0; height: 31px; border: 1px solid #c1ccca; border-radius: 3px; background: #fff; padding: 3px 7px; font-size: 12px; }
.primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 31px; padding: 3px 12px; color: #fff; background: #086e62; border: 1px solid #086e62; border-radius: 4px; cursor: pointer; font-size: 12px; }
.primary-action:hover { background: #00564f; }
.primary-action svg { width: 16px; height: 16px; }
.filter-error { color: #9d302b; background: #fff0ee; padding: 12px; margin-top: 8px; font-size: 13px; }
.match-status { font-size: 11px; }
.match-status.match { color: #075f4c; }
.match-status.check { color: #865a14; }
.match-summary { display: flex; flex-wrap: wrap; gap: 10px; padding: 9px 24px; font-size: 12px; color: #645123; background: #fff8e9; border-bottom: 1px solid #eadfca; }
.match-summary.match { background: #edf6f1; color: #315b49; border-bottom-color: #d2e4d9; }
.language-status { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 8px 24px; font-size: 11px; color: #655b38; border-bottom: 1px solid #e7e3d7; background: #f9f7f0; }
.language-status strong { flex: none; }
.data-scroll { overflow: auto; max-width: 100%; }
.data-table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: left; }
.data-table th, .data-table td { padding: 9px 10px; border-bottom: 1px solid var(--border); vertical-align: top; }
.data-table thead th { font-size: 11px; color: #4b5c59; background: #f1f5f4; font-weight: 600; border-top: 1px solid var(--border); }
.data-table tbody th { font-size: 12px; font-weight: 600; }
.schedule-table { min-width: 650px; }
.application-period-table { min-width: 420px; }
.schedule-table th, .schedule-table td { white-space: nowrap; }
.schedule-table td { padding-top: 8px; padding-bottom: 8px; }
.event-date { display: block; color: #183f38; font-variant-numeric: tabular-nums; font-size: 12px; }
.event-date:hover { text-decoration: underline; }
.event-date span { margin-left: 4px; }
.schedule-table small { display: block; color: #64726f; font-size: 10px; margin-top: 2px; }
.schedule-note { padding: 9px 0; font-size: 11px; color: #835b23; }
.schedule-block + .schedule-block { margin-top: 26px; padding-top: 2px; border-top: 1px solid var(--border); }
.subheading { font-size: 14px; margin: 20px 0 10px; }
.academic-list > div { display: grid; grid-template-columns: 105px minmax(0,1fr) minmax(0,1fr) 30px; gap: 12px; align-items: center; border-top: 1px solid var(--border); padding: 6px 0; font-size: 12px; }
.academic-list small { color: var(--ink-mute); font-size: 11px; }
.structured-facts { margin: 16px 0 0; }
.structured-facts > div { display: grid; grid-template-columns: 155px minmax(0,1fr); gap: 18px; padding: 12px 0; border-top: 1px solid var(--border); font-size: 12px; }
.structured-facts dt { display: flex; align-items: flex-start; color: var(--ink-3); gap: 4px; }
.structured-facts dt .icon-button { width: 24px; height: 24px; flex-basis: 24px; margin-top: -3px; }
.structured-facts dd { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.structured-facts ol { margin: 0; padding-left: 18px; }
.structured-facts dd p { margin-top: 5px; }
.application-channels { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.application-channels li { display: grid; gap: 2px; }
.application-channels strong { color: var(--ink-3); font-size: 11px; }
.application-channels a, .application-channels span { overflow-wrap: anywhere; }
.requirement-list { margin: 0; }
.requirement-list > div { display: grid; grid-template-columns: 165px minmax(0,1fr); gap: 18px; border-top: 1px solid var(--border); padding: 15px 0; font-size: 13px; }
.requirement-list dt strong { display: block; font-size: 13px; }
.scope-label { display: block; font-size: 11px; color: var(--ink-mute); margin-bottom: 3px; }
.requirement-list dd { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.program-table { min-width: 710px; }
.program-table th, .program-table td { padding-top: 5px; padding-bottom: 5px; vertical-align: middle; }
.program-table .icon-button { height: 24px; }
.document-table { min-width: 700px; }
.document-table th:nth-child(2) { width: 24%; }
.document-table th:nth-child(4) { width: 48%; }
.document-table th, .document-table td { padding: 6px 8px; }
.document-table .icon-button { width: 24px; height: 24px; }
@view-transition { navigation: none; }
.process-all { margin-top: 9px; border-top: 1px solid var(--border); border-radius: 0; }
.process-reference { color: var(--text-muted); font-size: 12px; }
.process-source-archive { margin-top: 14px; border-top: 1px solid var(--border); border-radius: 0; color: #37534f; font-size: 12px; }
.guide-modal { padding: 0; border: 1px solid var(--border-strong); border-radius: 6px; width: min(1280px, calc(100% - 48px)); height: calc(100dvh - 48px); max-width: none; max-height: calc(100dvh - 48px); margin: auto; color: var(--ink); background: var(--surface); overflow: auto; overscroll-behavior: contain; }
.guide-modal::backdrop { background: rgb(19 30 29 / 46%); }
body:has(.guide-modal[open]) { overflow: hidden; }
.guide-modal .guide-detail { display: flex; flex-direction: column; min-height: 100%; }
.guide-modal .detail-footer { margin-top: auto; }
.guide-modal .detail-heading { position: sticky; top: 0; z-index: 3; background: white; border-bottom: 1px solid var(--border); }
.guide-modal .detail-actions { display: flex; flex-wrap: nowrap; flex-shrink: 0; align-items: center; }
.guide-modal .detail-actions > .text-action { white-space: nowrap; }
.guide-modal .modal-close { margin-left: auto; }

/* Human-read normalization: dense catalogue with a stable, internally scrolling detail surface. */
.normalization-main { min-height: calc(100vh - 62px); padding: 18px clamp(14px,3vw,42px) 36px; background: #f5f8f7; }
.normalization-heading { max-width: 1500px; display: flex; align-items: end; justify-content: space-between; gap: 22px; margin: 0 auto 14px; }
.normalization-heading h1 { margin: 7px 0 2px; font-size: 25px; }
.normalization-heading p { margin: 0; color: var(--ink-mute); font-size: 12px; }
.normalization-summary, .normalization-filters, .normalization-results { max-width: 1500px; margin-left: auto; margin-right: auto; border: 1px solid var(--border); background: white; }
.normalization-summary { min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px 14px; }
.normalization-summary dl { display: grid; grid-template-columns: repeat(5,minmax(70px,1fr)); gap: 24px; margin: 0; }
.normalization-summary dl div { display: grid; gap: 1px; }
.normalization-summary dt { color: var(--ink-mute); font-size: 10px; }
.normalization-summary dd { margin: 0; font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.normalization-summary p { display: flex; align-items: center; gap: 7px; margin: 0; color: #45615c; font-size: 11px; }
.normalization-summary svg { width: 16px; height: 16px; color: var(--blue); }
.normalization-filters { display: grid; grid-template-columns: minmax(260px,2fr) repeat(4,minmax(112px,.8fr)) auto 32px; align-items: end; gap: 8px; margin-top: 9px; padding: 8px 10px; }
.normalization-filters label { min-width: 0; display: grid; gap: 3px; color: var(--ink-3); font-size: 10px; }
.normalization-filters input, .normalization-filters select { min-width: 0; width: 100%; height: 31px; padding: 3px 8px; border: 1px solid #c1ccca; border-radius: 3px; background: white; color: var(--ink); }
.normalization-query > div { position: relative; }
.normalization-query svg { position: absolute; left: 8px; top: 8px; width: 15px; height: 15px; color: var(--ink-mute); }
.normalization-query input { padding-left: 30px; }
.normalization-results { margin-top: 9px; }
.normalization-results > header { min-height: 42px; display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.normalization-results h2 { margin: 0; font-size: 15px; }
.normalization-results h2 span { margin-left: 3px; color: var(--blue); font-size: 11px; }
.normalization-results header p { margin: 0; color: var(--ink-mute); font-size: 10px; }
.normalization-columns, .normalization-row { display: grid; grid-template-columns: minmax(250px,2.2fr) 120px 120px 50px 50px 50px 18px; align-items: center; gap: 8px; }
.normalization-columns { min-height: 25px; padding: 0 11px; background: #edf2f1; color: var(--ink-mute); font-size: 9px; font-weight: 700; }
.normalization-row { min-height: 37px; padding: 4px 11px; border-top: 1px solid var(--border); color: var(--ink-2); font-size: 11px; }
.normalization-row:first-child { border-top: 0; }
.normalization-row:hover, .normalization-row:focus-visible { background: #f0f7f4; }
.normalization-row > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.normalization-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.normalization-state { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; padding: 2px 5px; background: #e8f3ef; color: #075e52; font-size: 9px; white-space: nowrap; }
.normalization-state.unavailable { background: #fff2df; color: #79520c; }
.normalization-state.excluded { background: #edf0ef; color: #5b6967; }
.normalization-modal { overflow: hidden; }
.normalization-modal .normalization-document { height: 100%; min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.normalization-modal .detail-heading, .normalization-modal .category-tabs, .normalization-modal .normalization-notice, .normalization-modal .detail-footer { flex: 0 0 auto; }
.normalization-modal .detail-heading { position: static; padding: 12px 18px 10px; }
.normalization-modal .detail-heading > div:first-child { min-width: 0; }
.normalization-modal .detail-heading h2, .normalization-modal .detail-heading p { max-width: 760px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.normalization-modal .category-tabs { flex-wrap: nowrap; min-height: 39px; overflow-x: auto; overflow-y: hidden; padding: 0 18px; gap: 18px; scrollbar-width: thin; }
.normalization-modal .category-tabs a { padding: 9px 0; }
.normalization-modal .category-tabs small { margin-left: 2px; color: inherit; font-size: 9px; }
.normalization-notice { display: grid; grid-template-columns: minmax(240px,1.2fr) minmax(260px,1fr); gap: 2px 18px; padding: 7px 18px; border-bottom: 1px solid var(--border); background: #f4f8f6; font-size: 10px; }
.normalization-notice strong { color: #164f47; }
.normalization-notice span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-mute); text-align: right; }
.normalization-notice p { grid-column: 1 / -1; margin: 2px 0 0; color: #80571a; }
.normalization-document-body { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 15px 18px 24px; }
.normalization-document-body > section + section { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--border); }
.normalization-document-body .section-heading { margin-bottom: 9px; }
.normalization-document-body .section-heading h3 { font-size: 15px; }
.normalization-document-body .section-heading p { margin-top: 2px; color: var(--ink-mute); font-size: 10px; }
.normalization-document-body .section-heading svg { width: 17px; height: 17px; color: #687d78; }
.normalization-fact-columns, .normalization-fact { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(280px,2fr) 70px 110px; align-items: start; gap: 12px; }
.normalization-fact-columns { min-height: 25px; align-items: center; padding: 0 10px; background: #edf2f1; color: var(--ink-mute); font-size: 9px; font-weight: 700; }
.normalization-fact { min-height: 38px; padding: 7px 10px; border-bottom: 1px solid var(--border); font-size: 11px; }
.normalization-fact > strong, .normalization-fact > span { min-width: 0; overflow-wrap: anywhere; }
.normalization-fact > span { line-height: 1.5; }
.normalization-fact small { color: var(--ink-mute); font-size: 9px; }
.fact-state { justify-self: start; padding: 2px 5px; background: #e8f3ef; color: #075e52; font-size: 9px; white-space: nowrap; }
.fact-state.absent { background: #edf0ef; color: #53605e; }
.fact-state.unknown { background: #fff2df; color: #79520c; }
.fact-state.conflict { background: #f9e4e4; color: #8a3030; }
.normalization-tables details { border-top: 1px solid var(--border); }
.normalization-tables details:last-child { border-bottom: 1px solid var(--border); }
.normalization-tables summary { min-height: 35px; display: grid; grid-template-columns: minmax(0,1fr) auto 16px; align-items: center; gap: 12px; padding: 5px 9px; cursor: pointer; list-style: none; font-size: 11px; }
.normalization-tables summary::-webkit-details-marker { display: none; }
.normalization-tables summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.normalization-tables summary span { color: var(--ink-mute); font-size: 9px; white-space: nowrap; }
.normalization-tables summary svg { width: 14px; height: 14px; }
.normalization-table-scroll { max-width: 100%; overflow: auto; border-top: 1px solid var(--border); }
.normalization-table-scroll table { min-width: 760px; width: 100%; border-collapse: collapse; background: white; font-size: 10px; }
.normalization-table-scroll th, .normalization-table-scroll td { min-width: 130px; padding: 7px 8px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.normalization-table-scroll th { position: sticky; top: 0; z-index: 1; background: #edf2f1; color: var(--ink-3); }
.normalization-tables details > p { margin: 7px 9px; color: var(--ink-mute); font-size: 9px; }
.normalization-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; border-top: 1px solid var(--border); }
.normalization-sections > span { min-width: 0; display: flex; justify-content: space-between; gap: 12px; padding: 7px 6px; border-bottom: 1px solid var(--border); font-size: 10px; }
.normalization-sections strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.normalization-sections small { flex: 0 0 auto; color: var(--ink-mute); font-size: 9px; }
.empty-inline { margin: 0; padding: 18px 10px; color: var(--ink-mute); font-size: 11px; text-align: center; }
.institution-profile { border-bottom: 1px solid var(--border); background: #f7f9f8; font-size: 11px; }
.institution-profile summary { display: flex; align-items: center; gap: 18px; min-height: 37px; padding: 5px 24px; cursor: pointer; list-style: none; }
.institution-profile summary::-webkit-details-marker { display: none; }
.institution-profile summary strong, .institution-profile-links, .institution-profile .text-action { display: inline-flex; align-items: center; gap: 6px; }
.institution-profile summary strong { color: #075f54; font-size: 12px; }
.institution-profile summary strong svg { width: 15px; height: 15px; }
.institution-profile summary small { color: var(--ink-mute); font-size: 10px; font-weight: 500; }
.institution-profile summary > span { color: var(--ink-3); }
.institution-profile summary > svg { width: 15px; height: 15px; margin-left: auto; transition: transform .15s ease; }
.institution-profile[open] summary > svg { transform: rotate(180deg); }
.institution-profile-body { padding: 13px 24px 15px; border-top: 1px solid var(--border); background: white; }
.institution-profile-body dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px 22px; margin: 0 0 12px; }
.institution-profile-body dl > div { min-width: 0; }
.institution-profile-body dl > .wide { grid-column: span 2; }
.institution-profile-body dt { color: var(--ink-mute); margin-bottom: 2px; }
.institution-profile-body dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.institution-profile-links { flex-wrap: wrap; gap: 8px 18px; }
.institution-profile-links > span, .institution-profile-body > p { color: var(--ink-mute); }
.institution-profile-body > p { margin-top: 9px; }
.guide-contact { margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--border); }
.guide-contact header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.guide-contact header strong, .guide-contact header .text-action { display: inline-flex; align-items: center; gap: 6px; }
.guide-contact header strong { color: #075f54; font-size: 12px; }
.guide-contact header svg { width: 15px; height: 15px; }
.institution-profile-body .guide-contact dl { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 0; }
.guide-contact dd a { overflow-wrap: anywhere; }
.comparison-modal { width: min(1640px, calc(100% - 32px)); }
.comparison-modal .comparison-heading { position: sticky; top: 0; z-index: 3; background: white; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.comparison-modal .comparison-heading h2 { font-size: 18px; }
.comparison-modal .comparison-heading h2 span { font-size: 12px; color: var(--ink-mute); margin-left: 8px; }
.comparison-title-group { min-width: 0; }
.comparison-title-group > p { margin: 3px 0 0; color: var(--ink-mute); font-size: 11px; }
.comparison-modal .comparison-page { padding: 0; }
.comparison-modal .comparison-table h2 { font-size: 16px; }
.comparison-modal .comparison-scroll { max-height: calc(100dvh - 116px); }
.comparison-modal .comparison-table thead th { position: sticky; top: 0; z-index: 2; }
.comparison-modal .comparison-table tbody th { position: sticky; left: 0; z-index: 1; }
.comparison-modal .comparison-table:has(th:nth-child(5)) { min-width: 1160px; }
.document-table .cell-meta b { color: var(--ink-3); font-weight: 500; margin-right: 4px; }
.staff-session { margin-left: auto; display: flex; align-items: center; gap: 8px; font-size: 12px; }
.staff-session form { margin: 0; }
.staff-session > span { display: grid; line-height: 1.2; }
.staff-session > span small { color: var(--ink-mute); font-size: 9px; }
.request-inbox-link { position: relative; }
.request-inbox-link b { position: absolute; top: -3px; right: -3px; min-width: 16px; height: 16px; padding: 0 4px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: #9b3d28; color: white; font-size: 9px; line-height: 1; }
.staff-operations { border-bottom: 1px solid #b9d6cf; background: #eef7f4; }
.staff-operations > header { min-height: 40px; padding: 5px 24px; display: flex; align-items: center; gap: 18px; }
.staff-operations > header > div { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.staff-operations > header > .school-route { padding-left: 18px; border-left: 1px solid #b9d6cf; }
.staff-operations > header span { color: var(--ink-mute); font-size: 10px; white-space: nowrap; }
.staff-operations > header strong { font-size: 12px; color: #31514a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.staff-operations > header .text-action { margin-left: auto; white-space: nowrap; }
.staff-operation-body { padding: 10px 24px 12px; }
.staff-operation-body h3 { font-size: 13px; margin-bottom: 7px; }
.operation-fact { display: grid; grid-template-columns: minmax(170px,.8fr) minmax(170px,1.3fr) minmax(190px,1.2fr); gap: 5px 14px; align-items: center; padding: 7px 9px; border-left: 3px solid #087365; background: white; font-size: 11px; }
.operation-fact + .operation-fact { margin-top: 5px; }
.operation-fact.needs-scope { border-left-color: #b67920; background: #fffaf0; }
.operation-fact > div { min-width: 0; }
.operation-fact > div strong, .operation-fact > div span { display: block; overflow-wrap: anywhere; }
.operation-fact > div span, .operation-fact > span, .operation-fact small { color: var(--ink-mute); }
.operation-fact p { overflow-wrap: anywhere; }
.operation-fact small { grid-column: 2 / -1; }
.staff-page { max-width: 1300px; margin: 0 auto; padding: 20px 24px; }
.staff-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.staff-heading h1 { font-size: 20px; }
.staff-heading h1 span { font-size: 14px; font-weight: 500; color: var(--ink-3); margin-left: 10px; }
.staff-layout { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: 32px; }
.staff-layout h2 { font-size: 16px; }
.staff-record { border-top: 1px solid var(--border-strong); padding: 14px 0; }
.staff-record h3 { font-size: 14px; margin-bottom: 6px; }
.staff-record p, .staff-history p { font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.staff-record.active { border-left: 3px solid var(--blue); padding-left: 10px; }
.staff-record-key { display: flex; align-items: center; gap: 8px; margin: 8px 0 2px; }
.staff-record-key strong { color: #075e52; font-size: 12px; }
.staff-record-key span { padding: 2px 5px; border-radius: 3px; background: #fff0d8; color: #7b5016; font-size: 10px; }
.staff-editor { border-left: 1px solid var(--border); padding-left: 24px; }
.staff-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.staff-form-group { grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 14px; margin: 0; padding: 14px 0 18px; border: 0; border-top: 1px solid var(--border-strong); }
.staff-form-group legend { grid-column: 1 / -1; padding: 0 8px 0 0; color: #21453e; font-size: 13px; font-weight: 700; }
.form-field { min-width: 0; }
.form-field.full, .staff-form > .errorlist, .form-commands { grid-column: 1 / -1; }
.form-field label { display: block; font-size: 12px; margin-bottom: 4px; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-width: 0; border: 1px solid #a8b8b3; border-radius: 4px; padding: 8px; background: white; color: var(--ink); font: inherit; }
.form-field textarea { resize: vertical; }
.form-field input[type="checkbox"] { width: 18px; height: 18px; padding: 0; accent-color: #087365; vertical-align: middle; }
.form-field > div:has(input[type="checkbox"]) { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 8px 10px; border: 1px solid #a8b8b3; border-radius: 4px; background: white; }
.form-field > div:has(input[type="checkbox"]) label { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.form-field textarea:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 2px; }
.optional-label { color: var(--ink-mute); font-size: 10px; margin-left: 5px; }
.form-commands { display: flex; gap: 18px; align-items: center; }
.errorlist { color: #9c2424; padding-left: 18px; margin: 5px 0; font-size: 12px; }
.save-success { padding: 10px 12px; border-left: 3px solid #087365; background: #e8f4ee; color: #18553b; font-size: 13px; margin-bottom: 16px; }
.account-page { max-width: 430px; margin: 36px auto; padding: 0 20px; }
.account-page h1 { font-size: 22px; }
.account-page .staff-form { grid-template-columns: minmax(0,1fr); }
.account-page .primary-action { margin-top: 8px; height: 38px; }
.account-intro { color: var(--ink-3); font-size: 12px; margin-top: 8px; }
.account-secondary { margin-top: 16px; color: var(--ink-3); font-size: 12px; }
.account-secondary a { color: #006f63; font-weight: 700; }
.field-help { font-size: 11px; color: var(--ink-3); margin-top: 5px; }
.field-help ul { padding-left: 16px; }
.staff-history { border-top: 1px solid var(--border); padding-top: 12px; margin-top: 24px; font-size: 12px; }
.staff-history summary { cursor: pointer; }
.staff-history > div { border-top: 1px solid var(--border); padding: 10px 0; margin-top: 8px; }
.staff-heading > div p { color: var(--ink-mute); font-size: 11px; margin-top: 2px; }
.account-admin-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.7fr); gap: 32px; }
.account-table-wrap { max-width: 100%; overflow: auto; border-top: 1px solid var(--border-strong); }
.account-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.account-table th, .account-table td { padding: 10px 8px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.account-table th { color: var(--ink-mute); font-size: 10px; font-weight: 600; }
.account-table th:nth-child(1) { width: 27%; }
.account-table th:nth-child(2) { width: 21%; }
.account-table th:nth-child(3) { width: 20%; }
.account-table th:nth-child(4) { width: 24%; }
.account-table th:last-child { width: 42px; }
.account-table td small { display: block; margin-top: 2px; color: var(--ink-mute); font-size: 10px; }
.pending-account { background: #fffaf0; }
.pending-count, .state-pending { color: #8a5200; font-weight: 700; }
.state-active { color: #075e52; font-weight: 600; }
.state-disabled { color: #8a3030; font-weight: 600; }
.account-create { border-left: 1px solid var(--border); padding-left: 24px; }
.account-create-note { margin-top: 4px; color: var(--ink-mute); font-size: 11px; }
.account-create .staff-form, .account-detail-layout .staff-form { grid-template-columns: minmax(0,1fr); }
.account-detail-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.account-detail-layout > section + section { border-left: 1px solid var(--border); padding-left: 32px; }
.account-audit { margin-top: 32px; border-top: 1px solid var(--border-strong); padding-top: 12px; }
.account-audit .section-heading > span { color: var(--ink-mute); font-size: 10px; }
.account-audit article { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(0,1.5fr) minmax(170px,.8fr); gap: 16px; padding: 9px 0; border-top: 1px solid var(--border); font-size: 11px; }
.account-audit article p { overflow-wrap: anywhere; }
.account-audit article span { color: var(--ink-mute); overflow-wrap: anywhere; }
.account-pending-note { display: flex; gap: 14px; margin-bottom: 18px; padding: 10px 12px; border-left: 3px solid #a46200; background: #fff7e5; font-size: 12px; }
.account-pending-note span { color: var(--ink-3); }
.account-lock-note { display: flex; gap: 14px; margin-bottom: 18px; padding: 10px 12px; border-left: 3px solid var(--primary); background: #edf7f4; font-size: 12px; }
.account-lock-note span { color: var(--ink-3); }
.account-detail-page [disabled] { cursor: not-allowed; opacity: .58; }
.request-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.65fr); gap: 32px; }
.request-table-wrap { max-width: 100%; overflow: auto; border-top: 1px solid var(--border-strong); }
.request-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.request-table th, .request-table td { padding: 10px 8px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.request-table th { color: var(--ink-mute); font-size: 10px; font-weight: 600; }
.request-table th:first-child { width: 72px; }
.request-table th:nth-last-child(2) { width: 118px; }
.request-table th:last-child { width: 40px; }
.request-table td strong, .request-table td small { display: block; }
.request-table td small { margin-top: 3px; color: var(--ink-mute); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.request-status-submitted td:first-child span { color: #8a5200; font-weight: 700; }
.request-status-reviewing td:first-child span { color: #245d78; font-weight: 700; }
.request-status-resolved td:first-child span { color: #075e52; font-weight: 700; }
.request-status-rejected td:first-child span { color: #8a3030; font-weight: 700; }
.request-scope { color: var(--ink-mute); font-size: 10px; }
.request-create, .request-resolution { border-left: 1px solid var(--border); padding-left: 24px; }
.request-create h2, .request-resolution h2 { font-size: 16px; }
.request-source { display: grid; gap: 3px; margin-top: 8px; padding: 8px 10px; background: #f2f6f5; font-size: 10px; }
.request-source span { color: var(--ink-mute); }
.request-source a { overflow-wrap: anywhere; color: var(--blue); }
.request-create .staff-form, .request-resolution .staff-form { grid-template-columns: minmax(0,1fr); }
.request-detail-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.65fr); gap: 32px; }
.request-original .section-heading span, .request-history .section-heading span { color: var(--ink-mute); font-size: 10px; }
.request-body { min-height: 130px; padding: 14px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.7; }
.request-original dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 15px; font-size: 11px; }
.request-original dt { color: var(--ink-mute); }
.request-original dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.request-original dd a { color: var(--blue); }
.request-history { margin-top: 30px; border-top: 1px solid var(--border-strong); padding-top: 12px; }
.request-history article { display: grid; grid-template-columns: 90px minmax(0,1fr) 210px; gap: 14px; padding: 10px 6px; border-top: 1px solid var(--border); font-size: 11px; }
.request-history article p { white-space: pre-wrap; overflow-wrap: anywhere; }
.request-history article span { color: var(--ink-mute); }
@media (max-width: 700px) {
  .staff-page { padding: 16px 12px; }
  .staff-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .staff-editor { border-left: 0; border-top: 1px solid var(--border); padding: 16px 0; }
  .staff-heading h1 { font-size: 17px; }
  .staff-heading h1 span { display: block; margin-left: 0; }
  .staff-operations > header, .staff-operation-body { padding-left: 12px; padding-right: 12px; }
  .staff-operations > header { flex-wrap: wrap; align-items: flex-start; gap: 6px 12px; padding-top: 8px; padding-bottom: 8px; }
  .staff-operations > header > div { display: block; flex: 1 1 100%; width: 100%; }
  .staff-operations > header > div > span,
  .staff-operations > header > div > strong { display: block; }
  .staff-operations > header > div > span { margin-bottom: 2px; }
  .staff-operations > header > div > strong { white-space: normal; overflow-wrap: anywhere; }
  .staff-operations > header > .school-route { padding: 6px 0 0; border-top: 1px solid #d1e4df; border-left: 0; }
  .staff-operations > header .text-action { margin-left: 0; }
  .operation-fact { grid-template-columns: 1fr; gap: 4px; }
  .operation-fact small { grid-column: auto; }
  .staff-form { gap: 12px 8px; }
  .staff-form-group { grid-template-columns: 1fr; }
  .staff-session > span { display: none; }
  .account-admin-layout, .account-detail-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .account-create, .account-detail-layout > section + section { border-left: 0; border-top: 1px solid var(--border); padding: 18px 0 0; }
  .account-table { min-width: 0; }
  .account-table th:nth-child(1) { width: 42%; }
  .account-table th:nth-child(2) { width: 24%; }
  .account-table th:nth-child(3) { width: 24%; }
  .account-table th:nth-child(4), .account-table td:nth-child(4) { display: none; }
  .account-table th:last-child { width: 36px; }
  .account-audit article { grid-template-columns: 1fr; gap: 3px; }
  .account-pending-note, .account-lock-note { display: grid; gap: 3px; }
  .request-layout, .request-detail-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .request-create, .request-resolution { border-left: 0; border-top: 1px solid var(--border); padding: 18px 0 0; }
  .request-table th:nth-last-child(2), .request-table td:nth-last-child(2) { display: none; }
  .request-original dl { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .request-history article { grid-template-columns: 74px minmax(0,1fr); gap: 4px 8px; }
  .request-history article span { grid-column: 2; }
  .process-all { margin-top: 0; border-top: 0; }
  .guide-modal { width: calc(100% - 12px); height: calc(100dvh - 12px); max-height: calc(100dvh - 12px); border-radius: 4px; overflow-x: hidden; }
  .guide-modal .guide-detail, .guide-modal .category-tabs, .guide-modal .detail-section { min-width: 0; max-width: 100%; }
  .guide-modal .detail-heading { align-items: flex-start; gap: 8px; }
  .guide-modal .detail-heading > div:first-child { min-width: 0; }
  .guide-modal .detail-heading h2 { font-size: 18px; }
  .guide-modal .detail-actions { gap: 2px; }
  .guide-modal .detail-actions > .text-action { width: 32px; height: 32px; padding: 0; justify-content: center; font-size: 0; }
  .guide-modal .detail-actions > .text-action svg { width: 18px; height: 18px; margin: 0; }
  .institution-profile summary { padding: 5px 12px; gap: 10px; }
  .institution-profile-body { padding: 12px; }
  .institution-profile-body dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 14px; }
  .institution-profile-body dl > .wide { grid-column: 1 / -1; }
  .institution-profile-body .guide-contact dl { grid-template-columns: 1fr; }
  .comparison-modal { width: calc(100vw - 12px); min-width: 0; max-width: calc(100vw - 12px); }
  .comparison-modal .comparison-page { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
  .comparison-modal .comparison-scroll { width: 100%; min-width: 0; max-width: 100%; max-height: calc(100dvh - 76px); overflow: auto; }
}

/* Full source archive: dense browsing stays separate from operational guide records. */
.archive-main { min-height: calc(100vh - 62px); background: #f7f9f8; padding: 22px clamp(14px,3vw,42px) 40px; }
.archive-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: 1500px; margin: 0 auto 16px; }
.archive-heading h1 { margin: 10px 0 3px; font-size: 27px; letter-spacing: 0; }
.archive-heading p { margin: 0; color: var(--ink-mute); font-size: 13px; }
.archive-summary, .archive-filters, .archive-results { max-width: 1500px; margin-left: auto; margin-right: auto; background: #fff; border: 1px solid var(--border); }
.archive-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 16px; }
.archive-summary dl { display: flex; align-items: center; gap: 28px; margin: 0; }
.archive-summary dl div { display: grid; gap: 2px; }
.archive-summary dt { font-size: 10px; color: var(--ink-mute); }
.archive-summary dd { margin: 0; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.archive-summary p { display: flex; align-items: center; gap: 7px; margin: 0; color: #45615c; font-size: 11px; }
.archive-summary svg { width: 16px; height: 16px; color: var(--blue); }
.archive-root-files { max-width: 1500px; min-height: 34px; display: flex; align-items: center; gap: 14px; margin: 0 auto; padding: 5px 12px; border: 1px solid var(--border); border-top: 0; background: #fbfcfc; font-size: 10px; }
.archive-root-files > strong { color: var(--ink-3); }
.archive-root-files a { min-width: 0; display: flex; align-items: center; gap: 5px; color: #185c53; }
.archive-root-files a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archive-root-files a small { color: var(--ink-mute); white-space: nowrap; }
.archive-root-files svg { width: 14px; height: 14px; }
.archive-filters { display: grid; grid-template-columns: minmax(320px,2.4fr) minmax(150px,1fr) minmax(130px,.8fr) auto 32px; align-items: end; gap: 10px; margin-top: 10px; padding: 10px 12px; }
.archive-filters label { display: grid; gap: 3px; color: var(--ink-3); font-size: 11px; }
.archive-filters input, .archive-filters select { min-width: 0; width: 100%; height: 31px; border: 1px solid #c1ccca; border-radius: 3px; background: white; padding: 3px 8px; }
.archive-query > div { position: relative; }
.archive-query svg { position: absolute; left: 8px; top: 8px; width: 15px; height: 15px; color: var(--ink-mute); }
.archive-query input { padding-left: 30px; }
.archive-results { margin-top: 10px; }
.archive-results > header { display: flex; align-items: baseline; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--border); }
.archive-results h2 { margin: 0; font-size: 16px; }
.archive-results h2 span { color: var(--blue); font-size: 12px; }
.archive-results header p { margin: 0; color: var(--ink-mute); font-size: 11px; }
.archive-columns, .archive-row { display: grid; grid-template-columns: minmax(300px,2.6fr) minmax(260px,2fr) 70px 95px 22px; align-items: center; gap: 12px; }
.archive-columns { min-height: 27px; padding: 0 13px; background: #f0f4f3; color: var(--ink-mute); font-size: 10px; font-weight: 700; }
.archive-row { min-height: 42px; padding: 5px 13px; border-top: 1px solid var(--border); color: var(--ink-2); font-size: 12px; }
.archive-row:first-child { border-top: 0; }
.archive-row:hover { background: #f3f8f6; }
.archive-row > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archive-row > span { min-width: 0; font-variant-numeric: tabular-nums; }
.archive-row > span:nth-child(2) { display: flex; align-items: center; gap: 7px; }
.archive-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-mute); }
.archive-state { flex: 0 0 auto; padding: 2px 5px; background: #edf2f1; color: #425652; font-size: 10px; font-weight: 700; }
.archive-state.unavailable_evidence, .archive-state.qa_only { background: #fff2df; color: #79520c; }
.archive-pagination { min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 22px; padding: 7px 12px; border-top: 1px solid var(--border); font-size: 12px; }
.archive-pagination > span { min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.archive-modal .archive-package { height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.archive-modal .detail-heading { flex: 0 0 auto; }
.archive-package-meta { display: flex; gap: 18px; padding: 8px 18px; border-bottom: 1px solid var(--border); background: #f7f9f8; color: var(--ink-3); font-size: 11px; }
.archive-package-meta code { margin-left: auto; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archive-file-columns, .archive-file-row { display: grid; grid-template-columns: minmax(350px,3fr) 150px 70px 85px 22px; align-items: center; gap: 12px; }
.archive-file-columns { flex: 0 0 auto; min-height: 29px; padding: 0 18px; background: #edf2f1; color: var(--ink-mute); font-size: 10px; font-weight: 700; }
.archive-files { flex: 1 1 auto; overflow: auto; }
.archive-file-row { min-height: 47px; padding: 5px 18px; border-bottom: 1px solid var(--border); color: var(--ink-2); font-size: 12px; }
.archive-file-row:hover { background: #f3f8f6; }
.archive-file-row > span:first-child { min-width: 0; display: grid; gap: 2px; }
.archive-file-row strong, .archive-file-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archive-file-row small { color: var(--ink-mute); font-size: 10px; }
.archive-modal .archive-pagination { flex: 0 0 auto; }
.archive-empty { max-width: 1500px; margin: 40px auto; }
.archive-file-view { min-height: calc(100vh - 62px); padding: 20px clamp(14px,3vw,40px) 40px; background: #f5f7f7; }
.archive-file-view > header { display: grid; gap: 12px; margin-bottom: 12px; }
.archive-file-view h1 { margin: 4px 0; font-size: 22px; overflow-wrap: anywhere; }
.archive-file-view p, .archive-file-view code { margin: 0; color: var(--ink-mute); font-size: 11px; overflow-wrap: anywhere; }
.archive-file-view pre { margin: 0; padding: 18px; min-height: 60vh; border: 1px solid var(--border); background: white; color: #1d2c2e; font: 12px/1.65 Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.archive-review-action { margin-top: 8px; }
.corpus-review-main { min-height: calc(100vh - 62px); padding: 22px clamp(14px,3vw,42px) 40px; background: #f7f9f8; }
.corpus-review-summary, .corpus-review-filters, .corpus-review-results { max-width: 1500px; margin-left: auto; margin-right: auto; border: 1px solid var(--border); background: #fff; }
.corpus-review-summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 9px 14px; }
.corpus-review-summary dl { display: grid; grid-template-columns: repeat(4,minmax(74px,1fr)); gap: 22px; margin: 0; }
.corpus-review-summary dl div { display: grid; gap: 2px; }
.corpus-review-summary dt { color: var(--ink-mute); font-size: 10px; }
.corpus-review-summary dd { margin: 0; font-size: 17px; font-weight: 800; font-variant-numeric: tabular-nums; }
.corpus-review-summary p { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--ink-mute); font-size: 11px; }
.corpus-review-summary svg { width: 15px; height: 15px; }
.corpus-review-ledger { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.corpus-review-ledger p { display: grid; gap: 2px; text-align: right; }
.corpus-review-ledger strong { color: var(--ink-3); font-size: 10px; }
.corpus-review-ledger span { color: var(--ink-mute); font-size: 9px; white-space: nowrap; }
.corpus-review-ledger .primary-action { min-height: 34px; white-space: nowrap; }
.corpus-review-ledger .primary-action:disabled { border-color: #c8d1ce; background: #e4e9e7; color: #596762; cursor: not-allowed; }
.corpus-review-filters { display: grid; grid-template-columns: minmax(280px,2fr) minmax(150px,.8fr) auto 32px; align-items: end; gap: 10px; margin-top: 10px; padding: 10px 12px; }
.corpus-review-filters label { display: grid; gap: 3px; color: var(--ink-3); font-size: 11px; }
.corpus-review-filters input, .corpus-review-filters select { min-width: 0; width: 100%; height: 31px; border: 1px solid #c1ccca; border-radius: 3px; background: #fff; padding: 3px 8px; }
.corpus-review-results { margin-top: 10px; }
.corpus-review-results > header { display: flex; align-items: baseline; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--border); }
.corpus-review-results h2 { margin: 0; font-size: 16px; }
.corpus-review-results h2 span { color: var(--blue); font-size: 12px; }
.corpus-review-results header p { margin: 0; color: var(--ink-mute); font-size: 11px; }
.corpus-review-columns, .corpus-review-row { display: grid; grid-template-columns: minmax(320px,2.8fr) minmax(250px,1.6fr) 60px 20px; align-items: center; gap: 12px; }
.corpus-review-columns { min-height: 27px; padding: 0 13px; background: #f0f4f3; color: var(--ink-mute); font-size: 10px; font-weight: 700; }
.corpus-review-row { min-height: 40px; padding: 4px 13px; border-top: 1px solid var(--border); color: var(--ink-2); font-size: 12px; }
.corpus-review-row:first-child { border-top: 0; }
.corpus-review-row:hover { background: #f3f8f6; }
.corpus-review-row > strong, .corpus-review-row small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.corpus-review-row > span:nth-child(2) { min-width: 0; display: flex; align-items: center; gap: 8px; }
.corpus-review-row > span:nth-child(3) { text-align: right; font-variant-numeric: tabular-nums; }
.corpus-review-row small { color: var(--ink-mute); }
.archive-state.confirmed { background: #e3f4ed; color: #12644f; }
.archive-state.hold { background: #fff0d8; color: #7a510d; }
.corpus-review-modal .corpus-review-package { height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.corpus-review-workarea { min-height: 0; flex: 1 1 auto; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr); overflow: hidden; }
.corpus-review-evidence, .corpus-review-decision { min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.corpus-review-evidence { border-right: 1px solid var(--border); }
.corpus-review-decision { overflow: auto; }
.corpus-review-evidence > header, .corpus-review-decision > header { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 16px; border-bottom: 1px solid var(--border); }
.corpus-review-evidence h3, .corpus-review-decision h3 { margin: 0; font-size: 16px; }
.corpus-review-evidence header p, .corpus-review-decision header p { margin: 3px 0 0; color: var(--ink-mute); font-size: 10px; overflow-wrap: anywhere; }
.corpus-review-assets { min-height: 0; flex: 1 1 auto; overflow: auto; }
.corpus-review-assets > a { min-height: 43px; display: grid; grid-template-columns: minmax(0,1fr) 100px 18px; align-items: center; gap: 9px; padding: 5px 14px; border-bottom: 1px solid var(--border); color: var(--ink-2); font-size: 11px; }
.corpus-review-assets > a:hover { background: #f3f8f6; }
.corpus-review-assets span { min-width: 0; display: grid; gap: 2px; }
.corpus-review-assets strong, .corpus-review-assets small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.corpus-review-assets small { color: var(--ink-mute); font-size: 9px; }
.corpus-review-assets b { color: var(--ink-3); font-size: 10px; text-align: right; }
.corpus-review-assets svg { width: 14px; height: 14px; }
.corpus-role-attestation { flex: 0 0 auto; max-height: 46%; overflow: auto; border-top: 5px solid #eef2f1; }
.corpus-role-attestation > header { padding: 9px 14px; border-bottom: 1px solid var(--border); }
.corpus-role-attestation h3 { margin: 0; font-size: 14px; }
.corpus-role-attestation header p { margin: 3px 0 0; color: var(--ink-mute); font-size: 9px; }
.corpus-role-form { padding: 10px 14px 0; }
.corpus-role-form footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; }
.corpus-role-form footer p { margin: 0; color: var(--ink-mute); font-size: 9px; }
.role-attestation-row { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 14px; border-bottom: 1px solid var(--border); }
.role-attestation-row > span { min-width: 0; display: grid; gap: 2px; }
.role-attestation-row strong, .role-attestation-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-attestation-row small { color: var(--ink-mute); font-size: 9px; }
.role-attestation-row .text-action { border: 0; background: transparent; cursor: pointer; }
.corpus-review-form { flex: 0 0 auto; display: flex; flex-direction: column; padding: 14px 16px 0; }
.review-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; }
.review-form-grid label { min-width: 0; display: flex; flex-direction: column; gap: 4px; color: var(--ink-3); font-size: 10px; }
.review-form-grid label > span { order: -1; font-weight: 700; }
.review-form-grid label.wide { grid-column: 1 / -1; }
.review-form-grid input:not([type="checkbox"]), .review-form-grid select, .review-form-grid textarea { min-width: 0; width: 100%; border: 1px solid #b9c7c4; border-radius: 3px; background: #fff; padding: 7px 8px; color: var(--ink-2); font: inherit; }
.review-form-grid select { height: 34px; }
.review-form-grid textarea { resize: vertical; line-height: 1.45; }
.review-form-grid .checkbox-field { min-height: 32px; display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: 6px; padding: 4px 0; }
.review-form-grid .checkbox-field > span { order: initial; }
.review-form-grid .checkbox-field input { width: 16px; height: 16px; }
.review-form-grid label small { color: #a13428; }
.corpus-review-form footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 13px 0; border-top: 1px solid var(--border); }
.corpus-review-form footer p, .success-notice { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--ink-mute); font-size: 10px; }
.corpus-review-form footer svg, .success-notice svg { width: 14px; height: 14px; }
.success-notice { margin: 9px 16px 0; color: #12644f; }
.form-errors { margin-bottom: 10px; padding: 8px 10px; border-left: 3px solid #b1483c; background: #fff2f0; color: #7d2c23; font-size: 11px; }
.corpus-release-review { border-top: 5px solid #eef2f1; }
.corpus-release-review > header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--border); }
.corpus-release-review h3 { margin: 0; font-size: 15px; }
.corpus-release-review h3 span { color: var(--blue); font-size: 11px; }
.corpus-release-review header p { margin: 3px 0 0; color: var(--ink-mute); font-size: 10px; }
.corpus-release-list { border-bottom: 1px solid var(--border); }
.corpus-release-list > a { min-height: 44px; display: grid; grid-template-columns: minmax(0,1fr) 100px 16px; align-items: center; gap: 8px; padding: 5px 16px; border-top: 1px solid var(--border); color: var(--ink-2); font-size: 11px; }
.corpus-release-list > a:first-child { border-top: 0; }
.corpus-release-list > a:hover, .corpus-release-list > a.selected { background: #edf7f3; }
.corpus-release-list span { min-width: 0; display: grid; gap: 2px; }
.corpus-release-list strong, .corpus-release-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.corpus-release-list small { color: var(--ink-mute); font-size: 9px; }
.corpus-release-list b { color: var(--ink-3); font-size: 10px; text-align: right; }
.corpus-release-list svg { width: 14px; height: 14px; }
.corpus-release-form { padding: 12px 16px 0; }
.release-form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.release-form-heading strong { font-size: 12px; }
.release-form-heading span { color: var(--ink-mute); font-size: 9px; }
.release-form-grid label em { color: var(--ink-mute); font-size: 9px; font-style: normal; }
.corpus-release-form footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; }
.corpus-release-form footer p, .release-blocked { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--ink-mute); font-size: 10px; }
.corpus-release-form footer svg, .release-blocked svg { width: 14px; height: 14px; }
.release-blocked { padding: 14px 16px 18px; }
.corpus-support-review { border-top: 5px solid #eef2f1; }
.corpus-support-review > header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--border); }
.corpus-support-review h3 { margin: 0; font-size: 15px; }
.corpus-support-review h3 span { color: var(--blue); font-size: 11px; }
.corpus-support-review header p { margin: 3px 0 0; color: var(--ink-mute); font-size: 10px; }
.corpus-support-list { border-bottom: 1px solid var(--border); }
.corpus-support-row { min-height: 48px; display: grid; grid-template-columns: minmax(0,1fr) 92px auto; align-items: center; gap: 9px; padding: 6px 16px; border-top: 1px solid var(--border); font-size: 11px; }
.corpus-support-row:first-child { border-top: 0; }
.corpus-support-row > span { min-width: 0; display: grid; gap: 2px; }
.corpus-support-row strong, .corpus-support-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.corpus-support-row small { color: var(--ink-mute); font-size: 9px; }
.corpus-support-row b { color: var(--ink-3); font-size: 10px; text-align: right; }
.corpus-support-row .text-action { border: 0; background: transparent; cursor: pointer; white-space: nowrap; }
.corpus-support-form { padding: 12px 16px 0; }
.corpus-support-form footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; }
.corpus-support-form footer p { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--ink-mute); font-size: 10px; }
.corpus-support-form footer svg { width: 14px; height: 14px; }

@media (max-width: 900px) {
  .normalization-summary { align-items: start; flex-direction: column; }
  .normalization-summary dl { width: 100%; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
  .normalization-filters { grid-template-columns: minmax(220px,2fr) repeat(2,minmax(110px,1fr)) auto 32px; }
  .normalization-filters label:nth-of-type(4), .normalization-filters label:nth-of-type(5) { grid-row: 2; }
  .normalization-columns, .normalization-row { grid-template-columns: minmax(210px,2fr) 105px 100px 42px 42px 42px 16px; gap: 6px; }
  .archive-heading { align-items: start; }
  .archive-summary { align-items: start; flex-direction: column; }
  .archive-summary dl { width: 100%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
  .archive-filters { grid-template-columns: 2fr 1fr 1fr auto 32px; }
  .archive-columns, .archive-row { grid-template-columns: minmax(230px,2fr) minmax(190px,1.5fr) 55px 78px 18px; gap: 7px; }
}

@media (max-width: 700px) {
  .normalization-main { padding: 12px 0 24px; }
  .normalization-heading { padding: 0 12px; align-items: start; flex-direction: column; gap: 9px; }
  .normalization-heading h1 { font-size: 21px; }
  .normalization-heading .language-picker { width: 100%; }
  .normalization-summary, .normalization-filters, .normalization-results { border-left: 0; border-right: 0; }
  .normalization-summary dl { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .normalization-summary p { align-items: flex-start; }
  .normalization-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .normalization-filters .normalization-query { grid-column: 1 / -1; }
  .normalization-filters label:nth-of-type(4), .normalization-filters label:nth-of-type(5) { grid-row: auto; }
  .normalization-results > header { align-items: start; flex-direction: column; gap: 3px; }
  .normalization-columns { display: none; }
  .normalization-row { grid-template-columns: minmax(0,1fr) 92px 16px; min-height: 47px; gap: 3px 7px; }
  .normalization-row > strong { grid-column: 1; grid-row: 1; }
  .normalization-row > span:nth-child(2) { grid-column: 1; grid-row: 2; color: var(--ink-mute); }
  .normalization-row > span:nth-child(3) { grid-column: 2; grid-row: 1 / 3; text-align: right; }
  .normalization-row > span:nth-child(4), .normalization-row > span:nth-child(5), .normalization-row > span:nth-child(6) { display: none; }
  .normalization-row > i { grid-column: 3; grid-row: 1 / 3; }
  .normalization-modal .detail-heading { align-items: flex-start; padding: 10px 11px 8px; }
  .normalization-modal .detail-heading > div:first-child { display: block; }
  .normalization-modal .detail-heading h2 { margin-top: 2px; font-size: 17px; }
  .normalization-modal .detail-heading p { max-width: 230px; font-size: 10px; }
  .normalization-modal .detail-actions .text-action { width: 32px; justify-content: center; overflow: hidden; gap: 0; font-size: 0; }
  .normalization-modal .category-tabs { padding: 0 11px; gap: 15px; }
  .normalization-notice { grid-template-columns: minmax(0,1fr); gap: 3px; padding: 7px 11px; }
  .normalization-notice span { text-align: left; }
  .normalization-notice p { grid-column: 1; }
  .normalization-document-body { padding: 12px 11px 20px; }
  .normalization-fact-columns { display: none; }
  .normalization-fact { grid-template-columns: minmax(0,1fr) auto; gap: 4px 8px; padding: 8px 6px; }
  .normalization-fact > strong { grid-column: 1; grid-row: 1; }
  .normalization-fact > span { grid-column: 1 / -1; grid-row: 2; }
  .normalization-fact > b { grid-column: 2; grid-row: 1; }
  .normalization-fact > small { grid-column: 1 / -1; grid-row: 3; }
  .normalization-tables summary { grid-template-columns: minmax(0,1fr) 14px; }
  .normalization-tables summary span { grid-column: 1; grid-row: 2; }
  .normalization-tables summary svg { grid-column: 2; grid-row: 1 / 3; }
  .normalization-sections { grid-template-columns: minmax(0,1fr); }
  .normalization-modal .detail-footer { padding: 9px 11px; }
  .normalization-modal .detail-footer span { display: none; }
  .archive-main { padding: 12px 0 24px; }
  .archive-heading { padding: 0 12px; flex-direction: column; gap: 12px; }
  .archive-heading h1 { font-size: 22px; }
  .archive-summary { border-left: 0; border-right: 0; }
  .archive-root-files { overflow-x: auto; border-left: 0; border-right: 0; }
  .archive-summary dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-filters { border-left: 0; border-right: 0; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-query { grid-column: 1 / -1; }
  .archive-results { border-left: 0; border-right: 0; }
  .archive-results > header { align-items: start; gap: 7px; flex-direction: column; }
  .archive-columns { display: none; }
  .archive-row { grid-template-columns: minmax(0,1fr) 48px 18px; min-height: 55px; }
  .archive-row > span:nth-child(2) { grid-column: 1 / 2; grid-row: 2; }
  .archive-row > span:nth-child(3) { grid-column: 2; grid-row: 1 / 3; text-align: right; }
  .archive-row > span:nth-child(4) { display: none; }
  .archive-row > i { grid-column: 3; grid-row: 1 / 3; }
  .archive-package-meta code { display: none; }
  .archive-file-columns { display: none; }
  .archive-file-row { grid-template-columns: minmax(0,1fr) 68px 18px; min-height: 57px; }
  .archive-file-row > span:nth-child(2) { grid-column: 2; grid-row: 1; text-align: right; }
  .archive-file-row > span:nth-child(3), .archive-file-row > span:nth-child(4) { display: none; }
  .archive-file-row > i { grid-column: 3; grid-row: 1; }
  .corpus-review-main { padding: 12px 0 24px; }
  .corpus-review-main > .archive-heading { padding: 0 12px; }
  .corpus-review-summary { border-left: 0; border-right: 0; align-items: start; flex-direction: column; gap: 9px; }
  .corpus-review-summary dl { width: 100%; gap: 8px; }
  .corpus-review-ledger { width: 100%; align-items: stretch; flex-direction: column; }
  .corpus-review-ledger p { text-align: left; }
  .corpus-review-ledger span { white-space: normal; }
  .corpus-review-ledger .primary-action { justify-content: center; }
  .corpus-review-filters { border-left: 0; border-right: 0; grid-template-columns: minmax(0,1fr) 118px; }
  .corpus-review-filters .primary-action, .corpus-review-filters .icon-button { grid-row: 2; }
  .corpus-review-results { border-left: 0; border-right: 0; }
  .corpus-review-results > header { align-items: start; flex-direction: column; gap: 4px; }
  .corpus-review-columns { display: none; }
  .corpus-review-row { grid-template-columns: minmax(0,1fr) 48px 18px; min-height: 55px; gap: 7px; }
  .corpus-review-row > span:nth-child(2) { grid-column: 1; grid-row: 2; }
  .corpus-review-row > span:nth-child(3) { grid-column: 2; grid-row: 1 / 3; }
  .corpus-review-row > i { grid-column: 3; grid-row: 1 / 3; }
  .corpus-review-workarea { display: flex; flex-direction: column; overflow: auto; }
  .corpus-review-evidence { flex: 0 0 auto; min-height: 560px; border-right: 0; border-bottom: 1px solid var(--border); }
  .corpus-review-decision { flex: 0 0 auto; min-height: 520px; }
  .corpus-review-evidence > header, .corpus-review-decision > header { align-items: start; min-height: 58px; }
  .corpus-review-evidence .text-action { font-size: 10px; }
  .corpus-review-assets > a { grid-template-columns: minmax(0,1fr) 18px; }
  .corpus-review-assets b { display: none; }
  .review-form-grid { grid-template-columns: minmax(0,1fr); }
  .review-form-grid label.wide { grid-column: 1; }
  .corpus-review-form footer { align-items: stretch; flex-direction: column; }
  .corpus-review-form footer .primary-action { justify-content: center; }
  .corpus-role-attestation { max-height: none; }
  .corpus-role-form footer { align-items: stretch; flex-direction: column; }
  .corpus-role-form footer .primary-action { justify-content: center; }
  .corpus-release-review > header, .corpus-support-review > header, .release-form-heading,
  .corpus-release-form footer, .corpus-support-form footer { align-items: stretch; flex-direction: column; }
  .corpus-release-list > a { grid-template-columns: minmax(0,1fr) 16px; }
  .corpus-release-list b { display: none; }
  .corpus-release-form footer .primary-action, .corpus-support-form footer .primary-action { justify-content: center; }
  .corpus-support-row { grid-template-columns: minmax(0,1fr) auto; }
  .corpus-support-row form { grid-column: 1 / -1; }
}
.comparison-page { padding: 16px 24px 36px; }
.comparison-heading { display: flex; align-items: center; gap: 22px; padding: 0 0 16px; }
.comparison-heading h1 { font-size: 19px; }
.comparison-heading h1 span { font-size: 13px; color: var(--ink-mute); }
.comparison-heading .notice-tag { margin-left: auto; }
.comparison-scroll { overflow: auto; max-width: 100%; }
.comparison-table { width: 100%; border-collapse: collapse; background: white; table-layout: fixed; }
.comparison-table:has(th:nth-child(5)) { min-width: 1300px; }
.comparison-table th, .comparison-table td { padding: 14px 18px; border: 1px solid var(--border); vertical-align: top; text-align: left; min-width: 280px; }
.comparison-table thead th { background: #eef4f1; }
.comparison-table th:first-child { width: 190px; min-width: 190px; background: #f5f7f7; font-size: 12px; }
.comparison-table h2 { font-size: 19px; margin-bottom: 5px; }
.comparison-table thead p { font-size: 12px; font-weight: 400; color: var(--ink-3); }
.comparison-table thead a + a { margin-left: 20px; }
.comparison-table td { font-size: 12px; overflow-wrap: anywhere; }
.comparison-row-guidance { margin-top: 10px; color: #8a5715; font-size: 11px; font-weight: 400; line-height: 1.55; }
.comparison-row-guidance strong, .comparison-row-guidance span { display: block; }
.comparison-row-guidance span + span { margin-top: 6px; }
.visa-classification-label { display: block; margin-bottom: 6px; color: var(--accent); }
.visa-route-label { display: block; margin-bottom: 8px; color: var(--ink); }
.compare-status { color: #8a5715; font-weight: 600; }
.compare-list { margin-top: 8px; }
.compare-list > h3 { margin: 0 0 8px; font-size: 12px; color: var(--ink-mute); }
.compare-round { border-top: 1px solid var(--border); padding: 9px 0 8px; }
.compare-round > h4 { margin: 0 0 6px; font-size: 13px; }
.compare-round > div { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 3px 8px; padding: 5px 0; }
.compare-round small { grid-column: 2; color: var(--ink-mute); font-size: 10px; }
.compare-note { color: #82571d; font-size: 11px; padding-top: 8px; }
.compare-item { padding: 10px 0; border-bottom: 1px solid var(--border); line-height: 1.7; }
.compare-item:first-child { padding-top: 0; }
.compare-item:last-child { border-bottom: 0; }
.compare-item strong, .compare-item b, .compare-item span { display: block; }
.compare-item b { color: #075d4f; font-weight: 600; }
.compare-item > a { font-size: 11px; }
.comparison-cost-sections { display: grid; gap: 14px; }
.comparison-cost-section + .comparison-cost-section { border-top: 1px solid var(--border); padding-top: 12px; }
.comparison-cost-section > h3 { margin: 0 0 8px; color: var(--ink); font-size: 13px; }
.comparison-heading-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.word-download { white-space: nowrap; }
.restricted-external main, .restricted-external dialog { user-select: none; -webkit-user-select: none; }
.restricted-external input, .restricted-external select, .restricted-external textarea { user-select: text; -webkit-user-select: text; }
.restricted-external a[href^="/sources/"], .restricted-external a[href^="/pages/"],
.restricted-external a[href^="/source-references/"], .restricted-external a[href^="/archive/"],
.restricted-external a[href^="/normalization/"] { display: none !important; }
.external-view-notice { position: sticky; top: 0; z-index: 80; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 30px; padding: 5px 16px; border-bottom: 1px solid #d9c487; background: #fff8dc; color: #6e5512; font-size: 11px; font-weight: 700; }
.external-view-notice svg { width: 15px; height: 15px; }
.external-watermark { position: fixed; inset: 0; z-index: 65; pointer-events: none; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); overflow: hidden; }
.external-watermark span { align-self: center; justify-self: center; color: rgba(24, 68, 62, .105); font-size: 14px; font-weight: 700; white-space: nowrap; transform: rotate(-24deg); }
.capture-curtain { display: none; position: fixed; inset: 0; z-index: 10000; align-items: center; justify-content: center; flex-direction: column; gap: 8px; background: #f4f7f6; color: #25433f; }
.capture-curtain strong { font-size: 20px; }
.capture-curtain span { font-size: 12px; color: #667b77; }
.restricted-external.capture-obscured .capture-curtain { display: flex; }
@media print {
  .restricted-external > * { display: none !important; }
  .restricted-external::before { display: block; padding: 40px; content: attr(data-protection-label); font: 700 16pt Arial, sans-serif; color: #333; }
}
.compare-programs > summary { cursor: pointer; padding: 10px 0; color: var(--blue); }
@media (max-width: 1180px) {
  .filter-fields { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .comparison-table { min-width: 920px; }
}
@media (max-width: 700px) {
  .primary-filters { padding: 0 12px 8px; }
  .results-heading { flex-wrap: wrap; padding: 5px 0; }
  .sort-control { margin-left: 0; }
  .sort-control select { max-width: 154px; }
  .comparison-actions { margin-left: auto; }
  .result-scroll { max-height: 320px; }
  .payment-option summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  .search-toolbar { padding: 10px 12px; }
  .language-picker { margin-top: 7px; }
  .requirement-filters { padding: 6px 12px 10px; }
  .filter-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 10px; }
  .filter-fields input, .filter-fields select { font-size: 13px; height: 34px; }
  .filter-fields .primary-action { height: 34px; }
  .results-list { padding: 4px 12px 8px; }
  .results-heading { gap: 8px; }
  .query-label { max-width: 70px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .comparison-actions { gap: 4px; }
  .comparison-actions .compare-requirement { flex-basis: 100%; white-space: normal; }
  .detail-heading { padding: 14px 12px; }
  .detail-heading > div { gap: 4px 10px; display: block; }
  .detail-heading h2 { font-size: 20px; margin: 4px 0; }
  .category-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 0 12px; gap: 16px; }
  .category-tabs a { font-size: 12px; }
  .detail-section { padding: 16px 12px; }
  .section-heading { flex-wrap: wrap; }
  .notice-tag { max-width: 100%; flex-shrink: 1; white-space: normal; overflow-wrap: anywhere; }
  .match-summary, .language-status { padding: 8px 12px; }
  .structured-facts > div, .requirement-list > div { grid-template-columns: 1fr; gap: 7px; padding: 12px 0; }
  .academic-list > div { grid-template-columns: 82px minmax(0,1fr) 26px; gap: 8px; }
  .academic-list small { grid-column: 2; grid-row: 2; }
  .academic-list .icon-button { grid-column: 3; grid-row: 1; }
  .comparison-page { padding: 12px; }
  .comparison-heading { flex-wrap: wrap; gap: 8px 14px; }
  .comparison-title-group { flex: 1 1 200px; }
  .comparison-heading h1 { font-size: 17px; }
  .comparison-heading .notice-tag { margin-left: 0; }
  .comparison-table { min-width: 850px; }
  .comparison-table th, .comparison-table td { padding: 12px; }
}
