/* Progressive search controls for the glossary. */
.library-search[hidden], .library-search [hidden],
#glossary .gl-entry[hidden], #glossary .gl-acr[hidden],
#glossary .gl-letter[hidden], #glossary dl[hidden] { display: none !important; }
.library-search {
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #f5f7fa;
}
.glossary-search { margin: 32px 0 20px; }
.library-search h2 { margin: 0 0 20px; font-size: 1.4rem; font-weight: 500; }
.library-search-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 230px) auto;
  gap: 16px;
  align-items: end;
}
.library-search-field { display: grid; gap: 8px; min-width: 0; }
.library-search label { font-size: .8rem; font-weight: 600; color: var(--text); }
.library-search input, .library-search select {
  width: 100%; min-width: 0; min-height: 48px;
  padding: 12px 14px; border: 1px solid #ccd6e2; border-radius: 7px;
  background: #fff; color: var(--text); font: inherit; font-size: .94rem;
}
.library-search input::placeholder { color: #627186; opacity: 1; }
.library-search input:focus, .library-search select:focus {
  outline: 2px solid var(--orange); outline-offset: 2px;
}
.library-search button { min-height: 48px; cursor: pointer; }
.library-search button:disabled { opacity: .48; cursor: default; }
.library-search-help, .library-search-status {
  font-size: .83rem; line-height: 1.65; margin: 14px 0 0; color: var(--text-body);
}
.library-search-status { font-weight: 600; }
.library-search-empty { margin: 22px 0 0; color: var(--text-body); }
@media (max-width: 600px) {
  .library-search { padding: 20px; }
  .library-search-fields { grid-template-columns: minmax(0, 1fr) auto; gap: 14px 10px; }
  .library-search-field:first-child { grid-column: 1 / -1; }
}
@media print {
  .library-search { display: none !important; }
  #glossary .gl-entry[hidden], #glossary .gl-letter[hidden], #glossary dl[hidden] { display: block !important; }
  #glossary .gl-acr[hidden] { display: flex !important; }
}
