/* CBN English reference library: navy cockpit, blue controls and orange labels. */
.logistics-library-tabs { display: flex; flex-wrap: wrap; gap: 7px; padding: 5px; border: 1px solid var(--log-line); background: #061b33; border-radius: 12px; }
.logistics-library-tabs button { padding: 11px 14px; }
.logistics-library-tabs button.active { background: linear-gradient(130deg, #287bc4, #155493) !important; border-color: #5cb5ff !important; color: #fff; }
.logistics-topbar .logistics-library-tabs { flex: 1 1 auto; }
.cbn-ref-global { margin-bottom: 16px; padding: 15px; }
.cbn-ref-global[hidden] { display: none !important; }
.cbn-ref-global label { display: block; margin-bottom: 8px; color: #abc9e9; font-size: 12px; }
.cbn-ref-global input { width: 100%; padding: 13px; border: 1px solid #315b82; border-radius: 9px; background: #061d37; color: #fff; font-size: 14px; }
.cbn-ref-global input::placeholder { color: #9bb6d4; opacity: 1; }
.cbn-ref-search-results { display: grid; gap: 7px; margin-top: 12px; }
.cbn-ref-search-results[hidden] { display: none; }
.cbn-ref-search-results button { display: flex; justify-content: space-between; align-items: center; gap: 14px; text-align: left; padding: 10px 12px; }
.cbn-ref-search-results small { color: #b3cce8; font-size: 11px; }
.cbn-ref-toolbar { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; justify-content: space-between; margin: 3px 0 14px; }
.cbn-ref-toolbar label { display: grid; gap: 7px; flex: 1 1 140px; color: #b4cde8; font-size: 12px; }
.cbn-ref-toolbar button { padding: 10px 14px; }
.cbn-ref-toolbar select, .cbn-ref-compare-selects select { width: 100%; padding: 11px; font-size: 13px; border-radius: 9px; color: #eef6ff; border: 1px solid #315b82; background: #0b2948; }
.cbn-ref-browser { display: grid; grid-template-columns: minmax(165px, .7fr) minmax(0, 1.6fr); gap: 14px; align-items: start; }
.cbn-ref-list { display: grid; gap: 7px; }
.cbn-ref-list button { display: grid; gap: 5px; width: 100%; text-align: left; padding: 12px; justify-items: start; }
.cbn-ref-list button strong { font-size: 13px; color: #f1f7ff; line-height: 1.4; }
.cbn-ref-list button span, .cbn-ref-list button small { font-size: 11px; line-height: 1.5; color: #b0cae8; }
.cbn-ref-list button[aria-pressed="true"] { background: linear-gradient(125deg, #194d80, #0c2c4d) !important; border-color: #4aa7ff !important; border-left: 4px solid #4aa7ff; }
.cbn-ref-pager { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: space-between; margin-top: 11px; font-size: 11px; color: #b5cce6; }
.cbn-ref-pager > div { display: flex; gap: 5px; }
.cbn-ref-pager button { min-height: 36px; font-size: 11px; padding: 7px 9px; }
.cbn-ref-pager button:disabled { opacity: .45; cursor: default; }
.cbn-ref-detail { min-width: 0; overflow-wrap: anywhere; }
.cbn-ref-detail h4 { margin-top: 5px !important; overflow-wrap: anywhere; }
.cbn-ref-detail p { font-size: 13px; line-height: 1.65; color: #c1d5ec; margin: 8px 0; }
.cbn-ref-detail-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; flex-wrap: wrap; margin-bottom: 13px; }
.cbn-ref-detail-head button { padding: 9px 12px; font-size: 11px; }
.cbn-ref-detail-head h4 { margin-bottom: 4px !important; }
.cbn-ref-muted, .cbn-ref-profile, .cbn-ref-note { color: #afc7e4; font-size: 12px; line-height: 1.6; }
.cbn-ref-profile { padding: 9px 11px; background: #0a2745; border-left: 3px solid #4b98db; border-radius: 4px; }
.cbn-ref-note { margin-top: 15px !important; }
.cbn-ref-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; padding: 15px 0; margin: 14px 0; border-top: 1px solid #2a4b6d; border-bottom: 1px solid #2a4b6d; }
.cbn-ref-specs div { min-width: 0; }
.cbn-ref-specs dt { color: #9ebbdc; font-size: 11px; line-height: 1.5; margin-bottom: 5px; }
.cbn-ref-specs dd { margin: 0; color: #edf5ff; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.cbn-ref-wide { grid-column: 1 / -1; }
.cbn-ref-container-diagram { margin: 15px 0; padding: 12px; background: #061b33; border: 1px solid #294d70; border-radius: 8px; }
.cbn-ref-container-diagram svg { display: block; width: 100%; height: auto; }
.cbn-ref-container-diagram figcaption { color: #9ebbdc; font-size: 11px; line-height: 1.5; text-align: center; }
.cbn-ref-detail ul { padding-left: 20px; margin: 8px 0; }
.cbn-ref-detail li { color: #bbd1e9; font-size: 12px; line-height: 1.65; margin: 5px 0; }
.cbn-ref-sources { margin-top: 16px; border-top: 1px solid #2b4b6a; }
.cbn-ref-sources summary { font-size: 11px; padding: 12px 0; color: #aac5e5; }
.cbn-ref-sources p { margin: 8px 0; }
.cbn-ref-sources a { color: #82c3ff; text-decoration: underline; }
.cbn-ref-sources small { display: block; color: #9bb7d8; font-size: 11px; margin-top: 4px; }
.cbn-ref-insight { padding: 13px; margin-top: 16px; border: 1px solid #315679; background: #0c2a4a; border-radius: 8px; }
.cbn-ref-insight p { margin: 7px 0 0; }
.cbn-ref-rule-choices { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 15px; }
.cbn-ref-rule-choices button { min-width: 49px; padding: 9px 12px; }
.cbn-ref-rule-choices button[aria-pressed="true"] { border-color: #64b7ff !important; background: linear-gradient(130deg, #2c7ec9, #185eaa) !important; color: #fff; }
.cbn-ref-rule-heading { display: flex; gap: 13px; align-items: center; }
.cbn-ref-rule-code { padding: 9px 12px; font-size: 25px; font-weight: 700; border: 1px solid #3d6f9b; background: #123657; color: #fff; border-radius: 8px; }
.cbn-ref-responsibilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.cbn-ref-responsibilities section { padding: 14px; border: 1px solid #315171; background: #0c2745; border-radius: 9px; }
.cbn-ref-responsibilities p { margin-bottom: 0; }
.cbn-ref-compare-selects { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 13px 0; }
.cbn-ref-compare-selects label { display: grid; gap: 7px; font-size: 12px; color: #abc9e9; }
.cbn-ref-table-wrap { max-width: 100%; overflow-x: auto; margin: 15px 0; }
.cbn-ref-table { width: 100%; border-collapse: collapse; min-width: 520px; table-layout: fixed; }
.cbn-ref-table th, .cbn-ref-table td { padding: 12px 10px; border-bottom: 1px solid #294b6f; text-align: left; vertical-align: top; color: #c5daf2; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.cbn-ref-table th { color: #eff7ff; background: #0b2847; }
.cbn-ref-table thead th { color: #ff986b; }
.logistics-experience .cbn-ref-global input:focus-visible, .logistics-experience select:focus-visible { outline: 2px solid #7dc6ff; outline-offset: 3px; }
@container (max-width: 800px) {
  .cbn-ref-browser { grid-template-columns: minmax(140px, .65fr) minmax(0, 1.35fr); }
  .cbn-ref-responsibilities { grid-template-columns: 1fr; }
}
@container (max-width: 600px) {
  .cbn-ref-browser { grid-template-columns: 1fr; }
  .cbn-ref-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logistics-library-tabs { width: 100%; }
  .logistics-library-tabs button { flex: 1 1 90px; font-size: 11px; padding: 10px 7px; }
  .cbn-ref-global input, .cbn-ref-toolbar select, .cbn-ref-compare-selects select { font-size: 16px; }
  .cbn-ref-detail-head button { width: 100%; }
}
@container (max-width: 360px) {
  .cbn-ref-specs, .cbn-ref-list, .cbn-ref-compare-selects { grid-template-columns: 1fr; }
  .cbn-ref-toolbar { align-items: stretch; }
  .cbn-ref-toolbar button { width: 100%; }
}
