/* SUOAF production Browse & Search UI v37. Preserves existing table theme. */
#jd-workspace [hidden], #jd-workspace [hidden] *, #jd-show-more[hidden] {display:none !important;}
#jd-workspace {max-width:none; padding-bottom:55px;}
#jd-workspace * {box-sizing:border-box;}
#jd-workspace .jd-page-heading h1 {margin-bottom:7px;}
#jd-workspace .jd-page-heading p {color:#3c5369;margin:0 0 20px 17px;font-size:14px;line-height:1.5;}
.jd-view-switch {display:flex;gap:0;border-bottom:2px solid #c9d9e4;margin-bottom:22px;}
.jd-mode-button {appearance:none;background:transparent;border:0;border-bottom:4px solid transparent;position:relative;top:2px;color:#24445c;font-size:16px;font-weight:600;padding:14px 22px;cursor:pointer;line-height:1.4;}
.jd-mode-button[aria-pressed="true"] {border-bottom-color:#005DAA;color:#003f73;background:#e9f2fa;}
.jd-mode-button:hover {background:#edf4f9;}
#jd-workspace button:focus-visible,#jd-workspace input:focus-visible,#jd-workspace select:focus-visible {outline:3px solid #005DAA;outline-offset:2px;}
.jd-section-heading {display:flex;gap:18px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:15px;}
.jd-section-heading h2 {font-size:23px;line-height:1.3;color:#103957;margin:0 0 4px;font-weight:700;}
.jd-section-heading p {font-size:13px;line-height:1.55;color:#42596d;margin:0;}
.jd-muted {color:#42596d;font-size:13px;font-weight:600;}
.jd-browse-filter-label {display:block;font-weight:700;color:#173a54;font-size:13px;margin-bottom:6px;}
.jd-compact-search {display:flex;gap:9px;align-items:center;max-width:675px;margin:0 0 18px;}
.jd-compact-search input {flex:1;min-width:0;max-width:580px;}
#jd-workspace input[type="search"], #jd-workspace select {color:#182f42;min-height:40px;height:40px;padding:8px 11px;margin:0;font:14px/1.3 Arial,sans-serif;background:#fff;border:1px solid #9caebd;border-radius:5px;box-shadow:none;}
#jd-workspace input[type="search"]:focus,#jd-workspace select:focus {border-color:#005DAA;box-shadow:0 0 0 3px rgba(0,93,170,.10);outline:0;}
.jd-btn {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:8px 15px;border-radius:5px;border:1px solid #adc1d1;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer;white-space:nowrap;box-shadow:none;text-shadow:none;}
.jd-btn-light {background:#fff;color:#12456e;}
.jd-btn-light:hover {background:#e9f2fa;border-color:#6e9ebc;}
.jd-btn-primary {background:#005DAA;color:white;border-color:#005DAA;}
.jd-btn-primary:hover {background:#004b88;color:white;}
.jd-panel {background:#fff;border:1px solid #cfdce5;border-top:4px solid #005DAA;box-shadow:0 2px 8px rgba(16,57,87,.06);border-radius:7px;padding:20px 20px 14px;margin-bottom:22px;}
.jd-search-bar {display:flex;align-items:end;gap:12px;}
.jd-field {display:block;flex:1 1 190px;min-width:0;color:#183b56;font-size:13px;line-height:1.5;font-weight:700;}
.jd-field>span {display:block;margin-bottom:5px;}
.jd-field input,#jd-workspace .jd-field select {width:100%;display:block;}
.jd-main-field {flex:1 1 auto;}
.jd-main-field input {font-size:15px !important;min-height:43px !important;height:43px !important;}
.jd-search-bar .jd-btn {min-height:43px;padding:10px 23px;}
.jd-help {font-size:12px;color:#465c71;margin:7px 0 15px;line-height:1.5;}
.jd-scope-line {display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:13px;color:#173a54;font-weight:700;}
.jd-scope-line select {width:345px;max-width:100%;}
.jd-filter-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:17px;}
.jd-filter-toolbar .jd-btn {min-height:36px;}
.jd-filter-indicator {font-size:12px;background:#e8f5ed;color:#17683e;border:1px solid #b6dec7;padding:6px 11px;border-radius:30px;font-weight:700;}
#jd-advanced-fields {border-top:1px solid #d9e4ed;padding-top:18px;margin-top:18px;}
.jd-advanced-top {display:flex;align-items:end;gap:12px;flex-wrap:wrap;}
.jd-advanced-top .jd-narrow {flex:0 1 170px;}
.jd-facet-row {display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;}
.jd-facet {flex:1 1 340px;min-width:0;margin:0;background:#fbfdfe;border:1px solid #cfdce5;border-radius:5px;padding:10px 13px 14px;}
.jd-facet legend {float:none;width:auto;border:0;margin:0 0 2px;padding:0 6px;color:#173a54;font-size:14px;font-weight:700;line-height:1.45;}
.jd-facet legend small {font-size:11px;color:#536a7b;font-weight:400;}
.jd-options {display:flex;gap:5px 13px;align-items:center;flex-wrap:wrap;}
.jd-check {display:inline-flex;align-items:center;gap:6px;line-height:25px;font-size:13px;color:#203b51;margin:0;cursor:pointer;}
.jd-check input {margin:0;width:15px;height:15px;accent-color:#08793a;cursor:pointer;}
.jd-actions {display:flex;align-items:center;gap:9px 12px;flex-wrap:wrap;border-top:1px solid #e4edf2;padding-top:13px;margin-top:18px;}
#jd-action-message {font-size:12px;color:#17683e;}
.jd-search-results {background:#fff;border:1px solid #cfdae3;border-radius:7px;padding:18px 20px 21px;}
.jd-search-results .jd-section-heading {border-bottom:1px solid #e0eaf0;padding-bottom:13px;}
#jd-search-count {font-size:13px;color:#183b56;font-weight:700;}
.jd-empty-state {background:#f4f8fb;padding:27px 20px;text-align:center;border:1px dashed #b5c9d8;color:#36526a;border-radius:5px;line-height:1.5;font-size:14px;}
.jd-empty-state.jd-error {border-color:#c98c7e;color:#802e27;background:#fff7f3;}
.jd-result-list {display:grid;grid-template-columns:1fr;gap:12px;}
.jd-result-card {padding:14px 16px;border:1px solid #d9e4ec;border-left:4px solid #005DAA;border-radius:5px;background:#fff;}
.jd-result-card h3 {font-size:17px;line-height:1.35;color:#103957;margin:0 0 8px;font-weight:700;}
.jd-result-badges {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px;}
.jd-result-badge {font-size:11px;line-height:1.4;padding:3px 7px;background:#eef3f7;color:#2b4c63;border:1px solid #dbe5ec;border-radius:4px;font-weight:600;}
.jd-source-pdf {background:#e8f5ed;color:#1a633b;border-color:#c5e5d2;}
.jd-source-meta {background:#e8f2fa;color:#164e7c;border-color:#cadeee;}
.jd-result-excerpt {font-size:13px;line-height:1.65;color:#2a4053;margin:8px 0;overflow-wrap:anywhere;}
.jd-result-excerpt strong {color:#163d59;}
.jd-result-excerpt mark {background:#fff0af;color:#253439;padding:1px 2px;border-radius:2px;}
.jd-result-links {font-size:13px;font-weight:700;margin-top:9px;}
.jd-result-links a {color:#00518f;text-decoration:underline;}
.jd-more {display:flex;margin:20px auto 5px;}
.jd-pilot-note {margin:21px 0 0;padding:12px 14px;background:#f7fafc;border-left:3px solid #10AC4E;font-size:12px;line-height:1.55;color:#40566c;}
#demo .dataTables_filter {display:none !important;}
#demo {overflow-x:auto;}
@media(max-width:680px){
  #jd-workspace .jd-page-heading p {margin-left:0;}
  .jd-mode-button {padding:10px 13px;font-size:13px;flex:1;}
  .jd-section-heading h2{font-size:20px;}
  .jd-panel,.jd-search-results {padding:14px 12px;}
  .jd-search-bar {flex-direction:column;align-items:stretch;gap:8px;}
  .jd-search-bar button{align-self:stretch;}
  .jd-scope-line {align-items:stretch;}
  .jd-scope-line select {width:100%;}
  .jd-advanced-top .jd-field {flex:1 1 100%;}
}

/* Compact multi-select filters for the default Browse view. */
.jd-browse-facets {display:flex;flex-wrap:wrap;gap:12px;margin:0 0 17px;}
.jd-browse-facet {flex:1 1 360px;min-width:0;margin:0;padding:9px 13px 11px;border:1px solid #cfdce5;border-radius:5px;background:#fff;}
.jd-browse-facet legend {float:none;width:auto;margin:0 0 1px;padding:0 5px;border:0;font-size:13px;font-weight:700;line-height:1.45;color:#173a54;}
.jd-browse-facet legend small {font-size:11px;color:#536a7b;font-weight:400;}
.jd-browse-facet .jd-options {gap:3px 15px;}
.jd-browse-facet .jd-check {white-space:nowrap;}

/* Version 5 — progressive multi-column sorting in Browse mode. */
.jd-browse-sort {background:#fff;border:1px solid #cfdce5;border-radius:6px;padding:12px 15px 11px;margin:0 0 17px;}
.jd-sort-header {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:9px;}
.jd-sort-header h3 {margin:0;color:#173a54;font-size:15px;line-height:1.4;font-weight:700;}
.jd-sort-status {font-size:12px;color:#42596d;overflow-wrap:anywhere;}
.jd-sort-row {display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 10px;margin:0 0 9px;}
.jd-sort-control {display:flex;flex-direction:column;gap:4px;margin:0;min-width:0;font-size:12px;color:#365167;font-weight:700;}
.jd-sort-control:not(.jd-sort-direction) {width:245px;max-width:100%;}
.jd-sort-direction {width:160px;max-width:100%;}
#jd-workspace .jd-sort-control select {width:100%;min-height:36px;height:36px;padding:6px 9px;}
.jd-browse-sort .jd-btn {min-height:36px;padding:7px 12px;}
#jd-sort-extra {padding:10px 0 0;margin:2px 0 0;border-top:1px solid #e6edf2;}
.jd-sort-hint {margin:2px 0 0;color:#52687a;line-height:1.45;font-size:12px;}
@media(max-width:680px){
  .jd-sort-control:not(.jd-sort-direction){flex:1 1 180px;}
  .jd-sort-direction{flex:1 1 125px;}
  .jd-sort-more{margin-top:5px;}
}

/* Version 6: Browse-first, compact toolbar and on-demand sorting. */
.jd-sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.jd-view-switch {margin-bottom:12px;}
#jd-workspace .jd-page-heading p {margin-bottom:11px;}
.jd-browse-toolbar {display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px 12px;margin:0 0 8px;position:relative;}
.jd-quick-filter {display:flex;flex-direction:column;gap:5px;flex:1 1 350px;min-width:220px;max-width:600px;}
.jd-quick-filter label {font-size:13px;line-height:1.35;font-weight:700;color:#173a54;margin:0;}
.jd-quick-filter input {width:100%;min-width:0;}
.jd-browse-toolbar>.jd-btn {min-height:40px;}
.jd-browse-toolbar>.jd-muted {margin-left:auto;align-self:flex-end;min-height:40px;display:flex;align-items:center;white-space:nowrap;}
/* Native details/summary supplies keyboard operation and disclosure state. */
.jd-browse-sort {position:relative;background:none;border:none;padding:0;margin:0;flex:0 1 auto;min-width:0;}
.jd-sort-toggle {display:flex;align-items:center;gap:5px;min-height:40px;max-width:350px;padding:8px 11px;border:1px solid #adc1d1;border-radius:5px;background:#fff;color:#12456e;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer;list-style:none;user-select:none;}
.jd-sort-toggle::-webkit-details-marker {display:none;}
.jd-sort-toggle::marker {content:'';}
.jd-sort-toggle:hover,.jd-browse-sort[open] .jd-sort-toggle {background:#e9f2fa;border-color:#6e9ebc;}
.jd-sort-toggle:focus-visible {outline:3px solid #005DAA;outline-offset:2px;}
.jd-sort-toggle-prefix {flex:0 0 auto;}
.jd-sort-status {display:block;max-width:220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#234862;font-weight:600;}
.jd-sort-chevron {flex:0 0 auto;color:#005DAA;transition:transform .15s ease;}
.jd-browse-sort[open] .jd-sort-chevron {transform:rotate(180deg);}
.jd-sort-dropdown {position:absolute;z-index:100;top:calc(100% + 7px);right:0;width:460px;max-width:calc(100vw - 36px);background:#fff;border:1px solid #a9c0d2;border-top:3px solid #005DAA;border-radius:6px;box-shadow:0 10px 25px rgba(16,57,87,.17);padding:15px 17px;}
.jd-sort-dropdown h3 {font-size:15px;color:#103957;margin:0 0 11px;font-weight:700;line-height:1.3;}
.jd-sort-dropdown .jd-sort-row {margin-bottom:9px;gap:8px;flex-wrap:nowrap;}
.jd-sort-dropdown .jd-sort-control:not(.jd-sort-direction) {flex:1 1 60%;width:auto;}
.jd-sort-dropdown .jd-sort-direction {flex:1 1 40%;width:auto;}
.jd-sort-dropdown .jd-sort-more {margin:2px 0 6px;}
.jd-sort-dropdown #jd-sort-extra {padding-top:10px;}
.jd-sort-bottom {display:flex;align-items:center;gap:10px 14px;border-top:1px solid #e1eaf0;padding-top:11px;margin-top:8px;flex-wrap:wrap;}
.jd-sort-bottom span {font-size:12px;color:#52687a;}
.jd-browse-facets {gap:9px;margin:0 0 9px;}
.jd-browse-facet {padding:6px 11px 7px;background:#fff;}
.jd-browse-facet legend {line-height:1.2;margin-bottom:0;}
.jd-browse-facet .jd-options {gap:2px 14px;}
.jd-browse-facet .jd-check {line-height:22px;}
@media(max-width:850px){
  .jd-browse-toolbar>.jd-muted {margin-left:0;flex-basis:100%;min-height:auto;align-self:auto;font-size:12px;}
}
@media(max-width:680px){
  .jd-view-switch {margin-bottom:9px;}
  .jd-browse-toolbar {gap:7px 9px;}
  .jd-quick-filter {flex-basis:100%;}
  .jd-browse-sort {order:1;}
  .jd-browse-toolbar>.jd-btn {order:2;}
  .jd-browse-toolbar>.jd-muted {order:3;}
  .jd-browse-facet {flex-basis:100%;}
  .jd-sort-dropdown {right:auto;left:0;width:min(460px,calc(100vw - 36px));}
  .jd-sort-toggle {max-width:calc(100vw - 36px);}
  .jd-sort-status {max-width:160px;}
  .jd-sort-dropdown .jd-sort-row {flex-wrap:wrap;}
  .jd-sort-dropdown .jd-sort-control:not(.jd-sort-direction),.jd-sort-dropdown .jd-sort-direction {flex:1 1 160px;}
}

/* v9: Combine name and date on ONE line for denser browse rows.
   Source date columns remain hidden and independently sortable. */
#demo #data-table-container th:nth-child(9),
#demo #data-table-container td:nth-child(9),
#demo #data-table-container th:nth-child(10),
#demo #data-table-container td:nth-child(10) {white-space:nowrap;}
#demo #data-table-container th:first-child {white-space:nowrap;}
#demo #data-table-container .jd-signature-cell {display:inline;white-space:nowrap;line-height:inherit;}
#demo #data-table-container .jd-signature-name {font-weight:600;color:#1d3e55;}
#demo #data-table-container .jd-signature-separator {color:#8293a0;}
#demo #data-table-container .jd-signature-date {font-size:12px;color:#4f6475;font-variant-numeric:tabular-nums;}


/* v10 — Avoid stretching the browse table across very wide monitors.
   The Browse controls above the table retain their existing width.
   Table content stays left-aligned with space to the right on wide screens.
   No ellipsis: exceptionally long entries can scroll horizontally. */
#jd-workspace #demo {
  width:100%;
  max-width:1550px;
  margin-left:0;
  margin-right:auto;
  overflow-x:auto;
}
#jd-workspace #demo .dataTables_wrapper {
  width:100%;
  min-width:1320px;
}
#jd-workspace #demo #data-table-container {
  width:100% !important;
  min-width:1320px;
  max-width:none;
  margin-left:0;
  float:none;
  table-layout:auto;
}
/* Keep full titles, both signatures, file links, and FLSA on one line
   while allowing horizontal scrolling instead of truncating text. */
#jd-workspace #demo #data-table-container th:nth-child(4),
#jd-workspace #demo #data-table-container td:nth-child(4),
#jd-workspace #demo #data-table-container th:nth-child(6),
#jd-workspace #demo #data-table-container td:nth-child(6),
#jd-workspace #demo #data-table-container th:nth-child(7),
#jd-workspace #demo #data-table-container td:nth-child(7),
#jd-workspace #demo #data-table-container th:nth-child(9),
#jd-workspace #demo #data-table-container td:nth-child(9),
#jd-workspace #demo #data-table-container th:nth-child(10),
#jd-workspace #demo #data-table-container td:nth-child(10) {
  white-space:nowrap;
}

/* Prioritize dense rows: a very long cell scrolls with the table
   instead of forcing two- or three-line records. */
#jd-workspace #demo #data-table-container tbody td {white-space:nowrap;}


/* v11: Compact Search mode. Retain current search JS, browse layout,
   filters, and read-only PDF index. Make the main controls immediately visible
   without requiring a large full-width form. */
#jd-search-view {width:100%;max-width:1550px;margin-left:0;margin-right:auto;}
#jd-search-view .jd-search-panel-compact {
  width:100%;max-width:1250px;padding:12px 15px 11px;
  margin:0 0 12px;border-top-width:3px;
}
#jd-search-view .jd-search-bar {
  display:flex;align-items:flex-end;flex-wrap:nowrap;gap:10px;
}
#jd-search-view .jd-search-bar .jd-field {margin:0;min-width:0;}
#jd-search-view .jd-search-bar .jd-field > span,
#jd-search-view .jd-search-bar .jd-scope-line > label {
  display:block;margin:0 0 4px;font-size:12px;font-weight:700;line-height:1.35;color:#183b56;
}
#jd-search-view .jd-search-bar .jd-main-field {flex:1 1 490px;}
#jd-search-view .jd-search-bar .jd-scope-line {
  display:block;flex:0 1 345px;min-width:225px;max-width:345px;
}
#jd-search-view .jd-search-bar .jd-scope-line select {width:100%;max-width:100%;}
#jd-search-view .jd-search-bar #jd-submit {flex:0 0 auto;min-width:89px;}
#jd-search-view .jd-search-bar .jd-main-field input,
#jd-search-view .jd-search-bar .jd-scope-line select,
#jd-search-view .jd-search-bar #jd-submit {height:39px !important;min-height:39px !important;}
#jd-search-view .jd-search-bar .jd-main-field input {font-size:14px !important;}
#jd-search-view .jd-search-bar #jd-submit {padding:8px 16px;}
#jd-search-view .jd-search-utility-row {
  display:flex;align-items:center;gap:6px 9px;flex-wrap:wrap;margin-top:8px;
}
#jd-search-view .jd-search-utility-row .jd-filter-toolbar,
#jd-search-view .jd-search-utility-row .jd-actions {
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  margin:0;padding:0;border:0;
}
#jd-search-view .jd-search-utility-row .jd-btn {min-height:33px;padding:6px 10px;font-size:12px;}
#jd-search-view .jd-search-utility-row .jd-help {
  order:3;margin:0 0 0 auto;min-width:0;font-size:11px;line-height:1.35;color:#557083;
}
#jd-search-view .jd-filter-indicator {padding:5px 8px;font-size:11px;}
#jd-search-view #jd-advanced-fields {margin-top:12px;padding-top:12px;}
#jd-search-view .jd-advanced-top {gap:8px 12px;}
#jd-search-view .jd-facet-row {gap:10px;margin-top:11px;}
#jd-search-view .jd-facet {padding:7px 11px 8px;}
#jd-search-view .jd-search-results {width:100%;max-width:1500px;padding:12px 15px 15px;}
#jd-search-view .jd-search-results .jd-section-heading {
  display:flex;align-items:baseline;gap:5px 15px;flex-wrap:wrap;
  padding-bottom:8px;margin-bottom:9px;
}
#jd-search-view .jd-search-results .jd-section-heading > div {
  display:flex;align-items:baseline;gap:8px 15px;flex-wrap:wrap;
}
#jd-search-view .jd-search-results .jd-section-heading h2 {
  font-size:19px;line-height:1.25;margin:0;
}
#jd-search-view .jd-search-results .jd-section-heading p {font-size:12px;line-height:1.35;}
#jd-search-view .jd-search-results .jd-section-heading #jd-search-count {margin-left:auto;font-size:12px;}
#jd-search-view .jd-result-list {gap:8px;}
#jd-search-view .jd-result-card {padding:10px 12px;}
#jd-search-view .jd-result-card h3 {font-size:15px;margin:0 0 5px;}
#jd-search-view .jd-result-badges {margin-bottom:4px;gap:4px;}
#jd-search-view .jd-result-badge {padding:2px 6px;}
#jd-search-view .jd-result-excerpt {margin:6px 0;font-size:12px;line-height:1.5;}
#jd-search-view .jd-result-links {margin-top:6px;font-size:12px;}
#jd-search-view .jd-empty-state {padding:18px 16px;}
@media (max-width:1050px) {
  #jd-search-view .jd-search-utility-row .jd-help {width:100%;margin-left:0;}
}
@media (max-width:780px) {
  #jd-search-view .jd-search-bar {flex-direction:row;align-items:flex-end;flex-wrap:wrap;}
  #jd-search-view .jd-search-bar #jd-submit {align-self:flex-end;}
  #jd-search-view .jd-search-bar .jd-main-field {flex:1 1 100%;}
  #jd-search-view .jd-search-bar .jd-scope-line {flex:1 1 270px;min-width:0;max-width:none;}
  #jd-search-view .jd-search-bar #jd-submit {flex:0 0 105px;}
  #jd-search-view .jd-search-utility-row .jd-help {margin-left:0;}
}
@media (max-width:440px) {
  #jd-search-view .jd-search-panel-compact {padding:10px;}
  #jd-search-view .jd-search-bar {gap:7px;}
  #jd-search-view .jd-search-bar .jd-scope-line {flex-basis:100%;}
  #jd-search-view .jd-search-bar #jd-submit {width:100%;flex-basis:100%;}
  #jd-search-view .jd-search-results {padding:11px 10px;}
}


/* v12: optional Browse category facet. Native details overlay saves vertical
   space; the list is generated from the current Google Sheet. */
.jd-browse-category {position:relative;flex:0 0 auto;margin:0;padding:0;min-width:0;}
.jd-category-toggle {display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid #adc1d1;border-radius:5px;background:#fff;color:#12456e;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer;list-style:none;user-select:none;}
.jd-category-toggle::-webkit-details-marker{display:none;}
.jd-category-toggle::marker{content:'';}
.jd-category-toggle:hover,.jd-browse-category[open] .jd-category-toggle {background:#e9f2fa;border-color:#6e9ebc;}
.jd-category-toggle:focus-visible {outline:3px solid #005DAA;outline-offset:2px;}
.jd-category-status {font-size:12px;font-weight:600;color:#385a73;white-space:nowrap;}
.jd-category-chevron {color:#005DAA;transition:transform .15s ease;}
.jd-browse-category[open] .jd-category-chevron {transform:rotate(180deg);}
.jd-category-dropdown {position:absolute;z-index:101;top:calc(100% + 7px);left:0;width:390px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;border:1px solid #a9c0d2;border-top:3px solid #005DAA;border-radius:6px;box-shadow:0 10px 25px rgba(16,57,87,.17);padding:13px 15px;}
.jd-category-dropdown h3 {font-size:15px;font-weight:700;line-height:1.3;margin:0 0 5px;color:#103957;}
.jd-category-dropdown p {font-size:12px;line-height:1.45;color:#4a6578;margin:0 0 9px;}
.jd-category-options {display:flex;flex-direction:column;align-items:stretch;gap:4px;}
.jd-category-group {display:flex;flex-direction:column;align-items:stretch;gap:2px;}
.jd-category-group .jd-check {display:flex;width:100%;min-height:28px;padding:1px 4px;line-height:1.35;white-space:normal;}
.jd-category-group .jd-check:hover {background:#f0f6fb;}
#jd-browse-category-other-row {border-top:1px solid #e1eaf0;margin-top:5px;padding-top:5px;}
#jd-browse-category-extra {max-height:none;overflow:visible;padding:5px 2px;background:#fafcfe;border:1px solid #e0eaf0;border-radius:4px;}
.jd-browse-category .jd-category-more {width:100%;padding:6px 9px;font-size:12px;min-height:31px;justify-content:flex-start;}
.jd-category-actions {display:flex;justify-content:flex-end;border-top:1px solid #e1eaf0;margin-top:9px;padding-top:10px;}
.jd-category-actions .jd-btn {min-height:32px;padding:5px 10px;font-size:12px;}
@media(max-width:700px){.jd-browse-category{order:2;}.jd-category-dropdown{left:0;width:min(375px,calc(100vw - 34px));}}

/* v14: adaptive category dropdown. Avoid a fixed 580px cap and nested
   scrollbars; use the viewport's actual available height. Two columns
   appear only when necessary and screen width permits. Alphabetical
   order continues down the first column, then down the second. */
.jd-browse-category.jd-category-open-up .jd-category-dropdown {
  top:auto;
  bottom:calc(100% + 7px);
}
#jd-browse-category-major.jd-category-two-columns,
#jd-browse-category-major.jd-category-three-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(var(--jd-category-rows),minmax(28px,auto));
  grid-auto-flow:column;
  gap:2px 15px;
}
#jd-browse-category-major.jd-category-three-columns {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#jd-browse-category-major.jd-category-two-columns .jd-category-check,
#jd-browse-category-major.jd-category-three-columns .jd-category-check {
  min-width:0;
}
@media (max-width:700px) {
  .jd-category-dropdown {max-width:calc(100vw - 24px);}
}


/* v15 — Compact Browse filter bar. The Chapter and Rank groups size to their
   contents, while Categories stays beside them; none consumes spare width.
   Preserve accessible wrapping on narrow screens. */
#jd-browse-view .jd-browse-facets {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start;
  gap:8px 10px; margin:0 0 8px;
}
#jd-browse-view .jd-browse-facet {
  flex:0 0 auto; width:max-content; min-width:0; max-width:100%;
  padding:5px 10px 6px; margin:0;
}
#jd-browse-view .jd-browse-facet .jd-options {
  display:flex; flex-wrap:wrap; align-items:center; gap:1px 11px;
}
#jd-browse-view .jd-browse-facet .jd-check {
  line-height:21px; white-space:nowrap;
}
#jd-browse-view .jd-browse-facets>.jd-browse-category {
  flex:0 0 auto; align-self:center; order:0; margin:0;
}
#jd-browse-view .jd-browse-facets .jd-category-toggle {
  min-height:36px; padding:7px 10px;
}
#jd-browse-clear:disabled,
#jd-browse-clear:disabled:hover {
  opacity:.57; color:#596b7a; background:#f4f7f9;
  border-color:#cfd9e1; cursor:default;
}
@media (max-width:700px) {
  #jd-browse-view .jd-browse-facet {flex:0 1 auto; max-width:100%;}
  #jd-browse-view .jd-browse-facets>.jd-browse-category {order:0;}
}


/* v16: Give all three document links breathing room.
   The Files column is the ninth VISIBLE column (hidden signature dates
   are omitted by DataTables). Preserve one-line links and compact rows. */
#jd-workspace #demo #data-table-container th:nth-child(9),
#jd-workspace #demo #data-table-container td:nth-child(9) {
  min-width:136px;
  white-space:nowrap;
  padding-right:14px;
}

/* v19 — Approved glossy SUOAF-AFSCME emblem and responsive brand banner.
   Decorative swoosh is cropped from the supplied, approved banner concept.
   Existing Browse/Search components and table styling remain unchanged. */
#jd-workspace .jd-page-heading.jd-page-branding {
  position:relative; isolation:isolate; overflow:hidden;
  max-width:1550px; margin:7px 0 12px; padding:0;
  border:1px solid #2c8dcc; border-radius:14px;
  background:linear-gradient(112deg,#07325e 0%,#0865aa 47%,#043c76 100%);
  box-shadow:0 5px 15px rgba(5,46,82,.16);
}
#jd-workspace .jd-page-branding::before {
  content:""; pointer-events:none; position:absolute; z-index:0;
  inset:0;
  background:radial-gradient(ellipse at 43% -46%,rgba(91,191,250,.58) 0,transparent 60%),
             linear-gradient(163deg,transparent 15%,rgba(0,87,188,.32) 38%,transparent 64%);
}
#jd-workspace .jd-page-branding::after {
  content:""; position:absolute; pointer-events:none; z-index:0;
  left:0; bottom:0; width:100%; height:49px;
  background:url("/jd/all/images/suoaf_banner_ribbon.webp") center center / cover no-repeat;
  opacity:.88;
}
#jd-workspace .jd-hero-inner {
  position:relative; z-index:1; display:flex; align-items:center; gap:23px;
  padding:15px 27px 35px 19px; min-height:187px;
}
#jd-workspace .jd-hero-logo-wrap {
  flex:0 0 263px; width:263px; max-width:42%;
  filter:drop-shadow(0 7px 6px rgba(0,24,51,.32));
}
#jd-workspace .jd-hero-logo-wrap picture {display:block;}
#jd-workspace .jd-hero-logo {
  display:block; width:100%; height:auto;
}
#jd-workspace .jd-hero-text {
  min-width:0; flex:1 1 auto;
  border-left:2px solid rgba(180,235,255,.7);
  padding-left:25px;
}
#jd-workspace .jd-page-heading.jd-page-branding h1 {
  color:#fff; margin:0 0 9px;
  font-size:clamp(25px,2.5vw,42px); line-height:1.1;
  font-weight:800; letter-spacing:.15px;
  text-shadow:0 2px 3px rgba(0,30,66,.28);
}
#jd-workspace .jd-page-heading.jd-page-branding .jd-hero-subtitle {
  color:#d5eaff; font-size:clamp(13px,1.25vw,20px);
  line-height:1.35; font-weight:500; margin:0; letter-spacing:.1px;
  text-shadow:0 1px 2px rgba(0,21,48,.22);
}
#jd-workspace .jd-view-switch {margin-bottom:12px;}
/* Extra right space for non-wrapping FLSA values. */
#jd-workspace #demo #data-table-container th:nth-child(10),
#jd-workspace #demo #data-table-container td:nth-child(10) {
  min-width:120px; white-space:nowrap; padding-right:20px;
}
@media (max-width:850px) {
  #jd-workspace .jd-hero-inner {gap:15px; padding:13px 18px 25px 15px; min-height:0;}
  #jd-workspace .jd-hero-logo-wrap {flex-basis:210px; width:210px;}
  #jd-workspace .jd-hero-text {padding-left:16px;}
  #jd-workspace .jd-page-branding::after {height:35px;}
}
@media (max-width:520px) {
  #jd-workspace .jd-page-heading.jd-page-branding {border-radius:10px;}
  #jd-workspace .jd-hero-inner {gap:10px; padding:12px 11px 22px 9px;}
  #jd-workspace .jd-hero-logo-wrap {flex:0 0 37%; width:37%; max-width:none;}
  #jd-workspace .jd-hero-text {border-left-width:1px; padding-left:9px;}
  #jd-workspace .jd-page-heading.jd-page-branding h1 {font-size:clamp(19px,5.5vw,27px); margin-bottom:5px;}
  #jd-workspace .jd-page-heading.jd-page-branding .jd-hero-subtitle {font-size:12px;line-height:1.32;}
  #jd-workspace .jd-page-branding::after {height:21px;}
}


/* v20: The visible FLSA column needs adequate allocated width, not just
   padding. Keep Non-Exempt on one line with comfortable space at the right. */
#jd-workspace #demo #data-table-container th:nth-child(10),
#jd-workspace #demo #data-table-container td:nth-child(10) {
  min-width:135px;
  padding-right:20px;
  white-space:nowrap;
}


/* v21: Give FLSA a little more actual room on the right so Non-Exempt does not sit against the border. */
#jd-workspace #demo #data-table-container th:nth-child(10),
#jd-workspace #demo #data-table-container td:nth-child(10) {
  min-width:148px;
  padding-right:24px;
  white-space:nowrap;
}


/* v22: Display the supplied approved 2172x724 PNG exactly, without a
   reconstructed logo, text overlay, crop, fixed height, or background art. */
#jd-workspace .jd-page-approved-banner {
  position:relative;
  display:block;
  width:100%;
  max-width:2172px;
  height:auto;
  margin:7px 0 12px;
  padding:0;
  overflow:visible;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
#jd-workspace .jd-page-approved-banner .jd-approved-banner-image {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}


/* v23 — Constrain the *display size* of the exact approved 3:1 banner.
   The PNG itself is unaltered: no crop, cover mode, overlay, or distortion.
   Align the Browse result count with the right edge of the table, rather than
   the far edge of a very wide browser window. */
#jd-workspace .jd-page-approved-banner {
  width:100%;
  max-width:1320px;
}
#jd-workspace .jd-page-approved-banner .jd-approved-banner-image {
  display:block;
  width:100%;
  height:auto;
}
#jd-workspace .jd-browse-toolbar {
  width:100%;
  max-width:1550px;
}


/* v24 — Compact full-fidelity approved banner and denser, balanced table.
   The actual PNG remains unmodified and uncropped: scaling alone reduces
   both width and height together. */
#jd-workspace .jd-page-approved-banner {
  width:100%;
  max-width:900px;
  height:auto;
  margin:6px 0 9px;
}
#jd-workspace .jd-page-approved-banner .jd-approved-banner-image {
  display:block;
  width:100%;
  height:auto;
}
/* More relaxed FLSA width, with an actual content-space guarantee so
   auto-sized table columns cannot squeeze Non-Exempt against the border. */
#jd-workspace #demo #data-table-container th:nth-child(10),
#jd-workspace #demo #data-table-container td:nth-child(10) {
  min-width:164px !important;
  padding-left:10px !important;
  padding-right:27px !important;
  white-space:nowrap !important;
}
#jd-workspace #demo #data-table-container tbody td:nth-child(10)::after {
  content:"";
  display:inline-block;
  width:4px;
}
/* Regular-weight signature names give dense rows a calmer reading rhythm. */
#jd-workspace #demo #data-table-container .jd-signature-name {
  font-weight:400;
  color:inherit;
}


/* v25: Smaller 3:1 approved image, no cropping/reconstruction. */
#jd-workspace .jd-page-approved-banner {
  max-width:650px;
  width:100%;
  height:auto;
  margin:5px 0 8px;
}
#jd-workspace .jd-page-approved-banner .jd-approved-banner-image {
  display:block;
  width:100%;
  height:auto;
}

/* v26 — Full-width AFSCME-blue band seamlessly continued from the approved
   original banner. The PNG is still displayed unmodified, at its normal 3:1
   proportions. A decorative edge-continuation asset fills only the space
   to its right, never overlaying or cropping the source artwork. */
#jd-workspace .jd-page-approved-banner {
  display:block;
  box-sizing:border-box;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:100vw !important;
  max-width:none !important;
  margin:4px 0 10px !important;
  padding:0 0 0 clamp(0px,1vw,16px) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 5px 14px rgba(6,47,93,.12) !important;
  background:#0a4d88 !important;
  overflow:hidden;
}
#jd-workspace .jd-approved-banner-content {
  display:flex;
  align-items:stretch;
  width:100%;
  max-width:none;
}
#jd-workspace .jd-page-approved-banner .jd-approved-banner-image {
  flex:0 1 650px;
  display:block;
  width:min(650px,100%) !important;
  max-width:100% !important;
  height:auto !important;
  margin:0;
  border:0;
  object-fit:contain;
}
#jd-workspace .jd-approved-banner-edge {
  flex:1 1 0;
  min-width:0;
  background:#0a4d88 url('/jd/all/images/banner-edge-extension.png') left top / 100% 100% no-repeat;
}
/* Keep the approved artwork proportional when the viewport is narrow. */
@media (max-width:680px) {
  #jd-workspace .jd-page-approved-banner {padding-left:0 !important;}
  #jd-workspace .jd-page-approved-banner .jd-approved-banner-image {flex:0 1 100%;}
  #jd-workspace .jd-approved-banner-edge {display:none;}
}
/* v29: Stable Browse widths. No blank spacer column is required.
   The fixed-width table can scroll on narrow screens, while FLSA stays the
   same size regardless of the selected chapter/category/rank or page. */
#jd-workspace #demo,
#jd-workspace .jd-browse-toolbar {
  width:100%;
  max-width:1550px;
}
#jd-workspace #demo #data-table-container {
  table-layout:fixed !important;
  width:1550px !important;
  min-width:1550px !important;
  max-width:1550px !important;
}
#jd-workspace #demo #data-table-container th,
#jd-workspace #demo #data-table-container td {
  box-sizing:border-box !important;
}
/* Ten visible columns; two signature date fields are hidden by DataTables.
   Explicit header widths + fixed layout prevent data-dependent resizing. */
#jd-workspace #demo #data-table-container thead th:nth-child(1) {width:90px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(2) {width:72px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(3) {width:170px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(4) {width:482px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(5) {width:64px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(6) {width:145px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(7) {width:168px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(8) {width:98px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(9) {width:136px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(10) {
  width:125px !important;
  min-width:125px !important;
  max-width:125px !important;
  padding:6px 21px 6px 10px !important;
}
#jd-workspace #demo #data-table-container tbody td:nth-child(10) {
  width:125px !important;
  min-width:125px !important;
  max-width:125px !important;
  padding:6px 21px 6px 10px !important;
  white-space:nowrap !important;
}
#jd-workspace #demo #data-table-container .jd-flsa-visual {
  display:inline;
  min-width:0 !important;
  padding:0 !important;
}


/* v30: Gentle FLSA reduction; keep all column widths deterministic. */
#jd-workspace #demo #data-table-container thead th:nth-child(4) {width:492px !important;}
#jd-workspace #demo #data-table-container thead th:nth-child(10),
#jd-workspace #demo #data-table-container tbody td:nth-child(10) {
  width:115px !important;
  min-width:115px !important;
  max-width:115px !important;
  padding:6px 12px 6px 10px !important;
  white-space:nowrap !important;
}
/* Copy Browse URL lives with the other lightweight controls. */
#jd-workspace #jd-browse-copy-link {min-height:40px;}
#jd-workspace .jd-browse-copy-status {
  color:#17683e; font-size:12px; line-height:1.35;
  font-weight:600; align-self:flex-end;
}
#jd-workspace .jd-browse-copy-status:empty {display:none;}
/* Sticky copy of the Browse header: controlled by site-search.js. The real
   table header remains in place, accessible, and sortable. */
.jd-sticky-overlay {
  display:none; position:fixed; top:0; left:0; z-index:70;
  overflow:hidden; background:#11476e;
  box-shadow:0 3px 11px rgba(0,33,63,.18);
  pointer-events:auto;
}
.jd-sticky-overlay.jd-sticky-active {display:block;}
.jd-sticky-overlay .jd-sticky-table {
  margin:0 !important; padding:0 !important;
  border-collapse:collapse !important; border-spacing:0 !important;
  table-layout:fixed !important; float:none !important;
}
.jd-sticky-overlay .jd-sticky-table th {
  box-sizing:border-box !important;
  background:#10436b !important; color:#fff !important;
  font-size:12px !important; line-height:1.3 !important;
  text-align:left; font-weight:700; vertical-align:middle;
  border:1px solid #285777 !important;
  white-space:normal !important;
  cursor:pointer;
}
.jd-sticky-overlay .jd-sticky-table th:hover {background:#15527e !important;}

/* v32: compact, accessible pagination for Advanced Search only. */
#jd-search-view .jd-search-results-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:2px 0 10px;margin-bottom:5px;}
#jd-search-view .jd-results-range {font-size:12px;font-weight:700;color:#3d566b;margin-right:auto;}
#jd-search-view .jd-results-control {display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:700;color:#294963;white-space:nowrap;}
#jd-workspace #jd-search-view .jd-results-control select {height:32px;min-height:32px;padding:5px 26px 5px 9px;font-size:12px;max-width:225px;}
#jd-search-view .jd-search-pager {display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;margin:5px 0 12px;}
#jd-search-view .jd-search-pager-bottom {margin:14px 0 2px;}
#jd-search-view .jd-search-pager .jd-page-button {min-height:30px;padding:4px 10px;font-size:12px;}
#jd-search-view .jd-search-pager .jd-page-current {background:#005DAA;border-color:#005DAA;color:#fff;cursor:default;}
#jd-search-view .jd-search-pager .jd-page-button:disabled:not(.jd-page-current) {opacity:.45;cursor:default;}
#jd-search-view .jd-page-ellipsis {padding:0 4px;color:#6c7e8e;font-size:13px;}
@media (max-width:680px){
 #jd-search-view .jd-search-results-toolbar {gap:7px 12px;}
 #jd-search-view .jd-results-range {flex-basis:100%;}
 #jd-workspace #jd-search-view .jd-results-control select {max-width:180px;}
}

/* v33: prevent Advanced Search Sort selections from being clipped. */
#jd-workspace #jd-search-view #jd-search-sort {
  width: 240px;
  max-width: 240px;
}
@media (max-width: 680px) {
  #jd-workspace #jd-search-view #jd-search-sort {
    width: min(240px, calc(100vw - 150px));
    max-width: 100%;
  }
}


/* v38 — Prevent an unwanted second, document-wide horizontal scrollbar.
   The approved full-width header can extend fractionally beyond the page when
   the vertical scrollbar occupies part of the viewport. Keep that decorative
   overhang from making the document horizontally scrollable, while retaining
   the intentional horizontal scrolling within #demo (the job table).
   clip does not introduce a new scrolling ancestor for the sticky header.
   The hidden fallback covers browsers without overflow:clip support. */
html, body { max-width:100%; overflow-x:hidden; }
@supports (overflow:clip) {
  html, body { overflow-x:clip; }
}

/* v42 — Production Advanced Search compact results (approved dev v41). */
/* v41 — Scannable Advanced Search layout, isolated from Browse & Filter. */
#jd-search-view .jd-result-display-toggle {
  display:inline-flex; align-items:center; gap:0; white-space:nowrap;
}
#jd-search-view .jd-display-label {font-size:12px;font-weight:700;color:#294963;margin-right:7px;}
#jd-search-view .jd-display-button {
  border:1px solid #a7bbcb;background:#fff;color:#25475e;
  padding:6px 10px;font-size:12px;line-height:1.4;font-weight:600;min-height:32px;cursor:pointer;
}
#jd-search-view .jd-display-button:not(:last-child) {border-right:0;}
#jd-search-view .jd-display-button:nth-child(2) {border-radius:5px 0 0 5px;}
#jd-search-view .jd-display-button:last-child {border-radius:0 5px 5px 0;}
#jd-search-view .jd-display-button.jd-display-selected {
  background:#115581;color:#fff;border-color:#115581;
}
#jd-search-view .jd-display-button:focus-visible,
#jd-search-view .jd-result-excerpt-toggle:focus-visible,
#jd-search-view a:focus-visible {outline:3px solid #208753;outline-offset:2px;}
#jd-search-view .jd-result-title-link {color:#10436b;text-decoration:none;}
#jd-search-view .jd-result-title-link:hover {color:#005DAA;text-decoration:underline;}
#jd-search-view .jd-result-primary {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 12px;}
#jd-search-view .jd-result-primary h3 {min-width:0;flex:1 1 380px;overflow-wrap:anywhere;}
#jd-search-view .jd-result-top-actions {display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;}
#jd-search-view .jd-result-direct-link {font-size:12px;color:#00518f;text-decoration:underline;font-weight:700;white-space:nowrap;}
#jd-search-view .jd-result-excerpt-toggle {border:0;background:transparent;color:#00518f;text-decoration:underline;cursor:pointer;font-size:12px;font-weight:600;padding:3px 1px;white-space:nowrap;}
#jd-search-view .jd-result-match-page {font-size:12px;color:#38576b;font-weight:700;margin:7px 0 2px;}
#jd-search-view .jd-result-details[hidden] {display:none!important;}
#jd-search-view .jd-result-list-compact {gap:5px;}
#jd-search-view .jd-result-compact {padding:8px 11px;border-left-width:3px;}
#jd-search-view .jd-result-compact .jd-result-primary h3 {font-size:14px;line-height:1.3;margin:0;}
#jd-search-view .jd-result-compact .jd-result-badges {gap:4px;margin:5px 0 0;}
#jd-search-view .jd-result-compact .jd-result-badge {font-size:10.5px;padding:1px 5px;line-height:1.35;}
#jd-search-view .jd-result-compact .jd-result-details:not([hidden]) {padding-top:6px;border-top:1px solid #edf2f6;margin-top:6px;}
@media (max-width:680px) {
  #jd-search-view .jd-result-compact .jd-result-primary h3 {flex-basis:100%;}
  #jd-search-view .jd-result-display-toggle {order:3;}
}
