/* Shared catalogue layout for regulations, guides, policy and cases. */
#workspaceRegulationIcon { display:inline-flex; margin-right:8px; color:var(--color-primary); flex-shrink:0; }
#workspaceRegulationIcon[hidden] { display:none; }
.catalog-library { --reg-text:#202b3c; --reg-sub:#667487; --reg-line:#e6ebf1; --reg-blue:#1687bc; --reg-soft:#edf7fc; padding:16px 16px 24px; }
.catalog-library * { box-sizing:border-box; }
.catalog-library [hidden] { display:none !important; }
.catalog-library button { cursor:pointer; font:inherit; }
.catalog-library button:disabled { cursor:default; opacity:.4; }
.catalog-library button:focus-visible, .catalog-library input:focus-visible, .catalog-library select:focus-visible, .catalog-library summary:focus-visible { outline:2px solid var(--reg-blue); outline-offset:3px; }
.catalog-library .knowledge-searchbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; max-width:none; margin:0 0 12px; padding:4px; border:1px solid var(--reg-line); border-radius:8px; background:#fff; }
.catalog-library .knowledge-searchbar input { min-width:0; width:100%; height:40px; border:0; box-shadow:none; background:transparent; padding-left:8px; font-size:14px; }
.catalog-library .knowledge-searchbar button { border:0; border-radius:5px; color:#fff; background:var(--reg-blue); padding:9px 23px; font-size:13px; font-weight:550; }
.catalog-search-input { position:relative; min-width:0; }
.catalog-library .catalog-search-input input { padding-right:34px; }
.catalog-library .catalog-search-input input::-webkit-search-cancel-button { appearance:none; }
.catalog-library .catalog-search-input button { position:absolute; top:0; right:0; height:100%; width:34px; padding:0; background:transparent; color:var(--reg-sub); font-size:19px; }
.regulation-library-layout { display:grid; grid-template-columns:204px minmax(0,1fr); gap:12px; align-items:start; max-width:none; margin:0; }
.regulation-filters, .regulation-results-panel { min-width:0; border:1px solid var(--reg-line); border-radius:8px; background:#fff; overflow:hidden; }
.regulation-filter-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px; border-bottom:1px solid var(--reg-line); font-size:14px; }
.catalog-library .regulation-text-button { padding:0; border:0; background:transparent; color:var(--reg-blue); font-size:12px; }
.regulation-filter-group { padding:10px 12px; border-bottom:1px solid var(--reg-line); }
.regulation-filter-group summary { display:flex; justify-content:space-between; gap:8px; list-style:none; font-size:14px; font-weight:600; cursor:pointer; }
.regulation-filter-group summary::-webkit-details-marker { display:none; }
.regulation-filter-group summary::after { content:'⌄'; color:var(--reg-sub); transform:rotate(180deg); }
.regulation-filter-group:not([open]) summary::after { transform:none; }
.regulation-filter-options { display:grid; gap:0; margin-top:6px; }
.regulation-filter-option { display:flex; align-items:center; gap:8px; padding:5px 0; color:var(--reg-text); font-size:13px; line-height:1.5; cursor:pointer; }
.regulation-filter-option input { appearance:auto; -webkit-appearance:checkbox; margin:0; padding:0; width:15px; height:15px; accent-color:var(--reg-blue); flex-shrink:0; }
.regulation-filter-option > span:not(.regulation-facet-count) { min-width:0; overflow-wrap:anywhere; }
.regulation-facet-count { margin-left:auto; color:var(--reg-sub); font-size:12px; font-variant-numeric:tabular-nums; flex-shrink:0; }
.catalog-filter-fields, .catalog-filter-options { display:grid; gap:6px; margin-top:8px; }
.catalog-filter-fields select { width:100%; min-width:0; min-height:34px; padding:5px 7px; border:1px solid var(--reg-line); border-radius:5px; background:#fff; color:var(--reg-text); font:inherit; font-size:13px; text-overflow:ellipsis; }
.catalog-library #policyCategorySelect { display:block; }
.catalog-library .catalog-filter-options button { padding:5px 7px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--reg-text); text-align:left; font-size:13px; overflow-wrap:anywhere; }
.catalog-library .catalog-filter-options button:hover { background:var(--reg-soft); }
.catalog-library .catalog-filter-options button[aria-pressed=true] { border-color:#d6edf8; background:var(--reg-soft); color:var(--reg-blue); }
.catalog-library .regulation-mobile-toggle { display:none; }
.regulation-results-heading { padding:12px 14px 0; }
.catalog-results-heading { padding-bottom:12px; border-bottom:1px solid var(--reg-line); }
.catalog-boundary { margin:5px 0 0; color:var(--reg-sub); font-size:11px; line-height:1.6; }
.catalog-library .catalog-source-index { margin:0; padding:10px 14px; border:0; border-bottom:1px solid var(--reg-line); border-radius:0; font-size:13px; }
.regulation-result-count { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--reg-sub); font-size:12px; }
.regulation-result-count strong { color:var(--reg-text); font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
.regulation-content-language { font-size:11px; }
.regulation-sort { display:flex; gap:6px; align-items:center; flex-wrap:wrap; padding:14px 0; border-bottom:1px solid var(--reg-line); color:var(--reg-sub); font-size:12px; }
.regulation-sort > span { margin-right:6px; }
.catalog-library .regulation-sort button { padding:5px 10px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--reg-sub); font-size:12px; }
.catalog-library .regulation-sort button[aria-pressed=true] { border-color:#d6edf8; background:var(--reg-soft); color:var(--reg-blue); }
.regulation-active-filters { display:flex; flex-wrap:wrap; gap:7px; align-items:center; padding:12px 0 0; }
.catalog-library .regulation-active-filters button:not(.regulation-text-button) { display:flex; align-items:center; gap:7px; padding:3px 7px; border:1px solid #d9e9f2; border-radius:4px; background:var(--reg-soft); color:var(--reg-blue); font-size:11px; }
.catalog-library :is(#regulationResults, .catalog-library-results) { display:block; border:0; border-radius:0; padding:0 14px; margin:0; max-width:none; }
.regulation-library-item { padding:18px 0; border-bottom:1px solid var(--reg-line); }
.regulation-library-item:last-child { border-bottom:0; }
.catalog-library-results > .regulation-library-item:last-of-type { border-bottom:0; }
.catalog-library .policy-list-row + .policy-list-row { border-top:0; }
.regulation-title-line { display:flex; gap:10px; align-items:baseline; }
.regulation-row-number { min-width:14px; color:var(--reg-sub); font-size:12px; font-variant-numeric:tabular-nums; }
.catalog-library .regulation-title-button { padding:0; border:0; background:transparent; text-align:left; color:var(--reg-text); font-size:16px; font-weight:650; line-height:1.65; overflow-wrap:anywhere; }
.catalog-library .regulation-title-button:hover { color:var(--reg-blue); }
.catalog-library .policy-open.regulation-title-button { display:inline-block; width:auto; min-width:0; background:transparent; }
.catalog-library .guide-list-title:disabled { opacity:1; color:var(--reg-text); }
.regulation-item-content { margin-left:24px; }
.regulation-item-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 0; color:var(--reg-sub); font-size:12px; margin-top:10px; overflow-wrap:anywhere; }
.regulation-item-meta .regulation-statuses { margin-right:10px; }
.regulation-item-meta > span + span::before { content:''; display:inline-block; width:1px; height:10px; background:var(--reg-line); margin:0 9px; vertical-align:middle; }
.regulation-item-dates { display:flex; flex-wrap:wrap; gap:6px 20px; color:var(--reg-sub); font-size:12px; margin-top:8px; font-variant-numeric:tabular-nums; }
.regulation-item-dates b { color:var(--reg-text); font-weight:400; margin-left:5px; }
.regulation-item-summary { margin:13px 0 0; color:var(--reg-sub); font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.regulation-item-summary > span { color:var(--reg-text); font-weight:500; margin-right:7px; }
.regulation-item-footer { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:13px; }
.regulation-statuses { display:flex; flex-wrap:wrap; gap:6px; }
.regulation-status { font-size:11px; border-radius:3px; padding:2px 7px; color:#168a82; background:#eaf7f4; }
.regulation-status.pending, .regulation-status.partial_repealed { background:#fff5e1; color:#ab761e; }
.regulation-status.repealed, .regulation-status.unverified { background:#f0f2f5; color:var(--reg-sub); }
.regulation-status.amended { background:#f2effa; color:#7060a7; }
.regulation-verification { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:9px; color:#7a8190; font-size:11px; line-height:1.6; }
.regulation-verification.verified { color:#36766d; }
.regulation-verification.conflict { color:#a06a22; }
.regulation-verification a { color:#327d9e; text-decoration:underline; text-underline-offset:2px; }
.regulation-read-wrap { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.regulation-content-note { color:var(--reg-sub); font-size:11px; line-height:1.6; margin:3px 0 0; }
.catalog-library .regulation-read-action { padding:0; border:0; background:transparent; color:var(--reg-blue); font-size:12px; }
.catalog-library .guide-catalogue-source { color:var(--reg-blue); font-size:12px; }
.regulation-empty { display:grid; justify-items:center; gap:10px; padding:64px 15px; text-align:center; }
.regulation-empty p { margin:0 0 10px; color:var(--reg-sub); font-size:12px; }
.catalog-library .regulation-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 14px; border-top:1px solid var(--reg-line); color:var(--reg-sub); font-size:11px; }
.catalog-library :is(#guideResults, #policyResults, #caseResults) > .regulation-pagination { justify-content:space-between; gap:12px; margin:0 -14px; }
.regulation-page-range { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.regulation-page-range select { border:0; color:var(--reg-sub); background:#fff; font-size:11px; padding:2px; max-width:120px; }
.regulation-pages { display:flex; align-items:center; gap:5px; }
.catalog-library :is(.regulation-pagination, #guideResults) .regulation-pages :is(button, [aria-current=page]) { display:inline-grid; place-items:center; min-width:29px; height:29px; border:1px solid var(--reg-line); background:#fff; color:var(--reg-sub); border-radius:4px; padding:0 7px; font-size:12px; }
.catalog-library :is(.regulation-pagination, #guideResults) .regulation-pages [aria-current=page] { background:var(--reg-soft); color:var(--reg-blue); border-color:#b7dcee; }
@media (max-width:860px) { .regulation-library-layout { grid-template-columns:190px minmax(0,1fr); } }
@media (max-width:600px) {
    .catalog-library { padding:12px 12px 20px; }
    .regulation-library-layout { grid-template-columns:1fr; }
    .catalog-library .regulation-mobile-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; margin-bottom:12px; padding:10px 12px; border:1px solid var(--reg-line); border-radius:6px; background:#fff; font-size:13px; }
    .regulation-filters:not(.is-open) { display:none; }
    .catalog-library .knowledge-searchbar { margin-bottom:12px; }
    .catalog-library .knowledge-searchbar input { font-size:16px; }
    .catalog-library .knowledge-searchbar button { min-width:64px; padding:9px 14px; }
    .catalog-library .regulation-title-button { font-size:15px; }
    .regulation-content-language { display:none; }
    .regulation-item-footer { align-items:flex-start; flex-direction:column; }
    .regulation-item-meta { font-size:11px; }
    .regulation-filter-option { font-size:14px; padding:9px 0; }
    .catalog-library .regulation-pagination { padding:12px; }
    .catalog-library :is(#guideResults, #policyResults, #caseResults) > .regulation-pagination { margin-inline:-12px; }
    .regulation-results-heading { padding:12px 12px 0; }
    .catalog-library :is(#regulationResults, .catalog-library-results) { padding:0 12px; }
}
@media (pointer:coarse) { .catalog-library :is(.regulation-pagination, #guideResults) .regulation-pages :is(button, [aria-current=page]) { min-width:40px; height:40px; } .catalog-library .regulation-read-action, .catalog-library .regulation-sort button, .catalog-library .catalog-filter-options button { min-height:40px; } .regulation-filter-option { min-height:44px; } }
.reader-content-sources { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 12px; font-size:11px; line-height:1.6; }
.reader-content-sources > div { display:flex; flex-wrap:wrap; gap:5px 12px; }
.reader-content-sources a { color:#327d9e; text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
/* The evidence row is a fifth grid child; reserve the scrollable track for the body. */
#regulationReader { grid-template-columns:minmax(0,1fr); }
#regulationReader .regulation-reader-panel { min-width:0; max-width:100%; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto auto minmax(0,1fr); }
#regulationReader .regulation-reader-panel > * { min-width:0; }
