/* Keep OCR feedback legible against dark surfaces. */
html[data-theme="dark"] .analysis-status.is-ready { color: #82e3ac; background: rgba(76, 175, 120, .16); }
html[data-theme="dark"] .analysis-status.is-warning { color: #ffd58a; background: rgba(219, 160, 50, .16); }

.result-card .card-content { overflow-wrap: anywhere; }

/* Keep search controls and results usable on narrow screens. */
/* Let the document grow when a short viewport, zoom or keyboard reduces space. */
body.page.lumen-app.search-page { height: 100dvh; min-height: 0; overflow: hidden; }
.search-page .page-content,
.search-page .page-content > .container,
.search-page .results-col { overflow: hidden; }
.search-page .page-header > .container,
.search-page .page-content > .container { width: 100%; max-width: none; }
.search-page .page-header,
.search-page .page-content { padding-inline: clamp(.75rem, 2vw, 2rem); }
.search-page .page-content { overscroll-behavior: auto; }
.search-page .results-scroll {
  flex: 1 1 0;
  height: auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: auto;
}
.search-page .filters-col { overscroll-behavior-y: auto; }
.search-page .filters-col.is-drawer.is-open { overscroll-behavior-y: contain; }
#editfastModal .modal-card-body { min-height: 0; }
#editfastModal .modal-card-head { flex-shrink: 0; }
.lumen-brand__logo { width: 44px; height: 44px; object-fit: contain; border-radius: 12px; background: white; }
.home-hero__logo { display: block; width: min(240px, 60vw); height: auto; margin: auto; border-radius: 24px; box-shadow: var(--lumen-shadow); }
@media (max-width: 720px) { .home-hero__logo { width: 130px; } }
.lumen-home-link { font-size: .85rem; color: var(--lumen-muted); }
.lumen-app-bar__inner { flex-wrap: wrap; padding-block: .5rem; }

.page-content, .page-content > .container, .results-col { min-height: 0; min-width: 0; }
@media (max-width: 1024px) {
  .page-header { padding-inline: 1rem; }
  .page-header .level { flex-wrap: wrap; justify-content: flex-start; gap: .5rem; }
  .page-header .level-left { order: -1; flex-basis: 100%; }
  .page-header .level-right, .page-header .level-item { margin: 0 !important; }
  .page-header .buttons { margin-bottom: 0; }
  .page-header .buttons .button { margin-bottom: 0; }
  .page-header .filters-toggle { position: static; z-index: auto; }
  .page-content { padding-inline: 1rem; padding-bottom: 1rem; }
  .filters-col.is-drawer { padding: 1rem; visibility: hidden; }
  .filters-col.is-drawer.is-open { visibility: visible; }
  #closeFiltersDrawer { position: sticky; top: 0; z-index: 1; }
  .results-scroll { min-height: 0; }
}

.lumen-app .button.is-text { color: var(--lumen-blue); }

/* Administration is a document: only wide tables scroll horizontally. */
.admin-page .page-content > .container { width: 100%; }
.admin-page .table-container { max-width: 100%; overscroll-behavior-x: contain; }
.admin-page .box > .is-flex { flex-wrap: wrap; gap: .75rem; }
.admin-page .box > .is-flex .buttons { flex-wrap: wrap; }
.admin-page .modal-card-body { min-height: 0; }
@media (max-width: 600px) {
  .admin-page .box { padding: 1rem; }
  .admin-page .box > .is-flex .title { margin-bottom: 0; }
}
/* Keep editable values legible; small screens pan each table independently. */
.admin-page .table { min-width: 760px; }
.admin-page .table input[type="text"] { min-width: 160px; }
html[data-theme="dark"] .admin-page .table { background: var(--lumen-surface); color: var(--lumen-text); }
html[data-theme="dark"] .admin-page .table th { color: var(--lumen-text); }
html[data-theme="dark"] .admin-page .table.is-striped tbody tr:not(.is-selected):nth-child(even) { background: rgba(255,255,255,.04); }
html[data-theme="dark"] .admin-page .table.is-hoverable tbody tr:not(.is-selected):hover { background: rgba(255,255,255,.08); }
html[data-theme="dark"] .lumen-app .is-sticky,
html[data-theme="dark"] .lumen-app .editfast-toolbar,
html[data-theme="dark"] .lumen-app .results-scroll,
html[data-theme="dark"] .lumen-app #modResultsScroll { background: var(--lumen-surface) !important; color: var(--lumen-text); }

@media (min-width: 1025px) {
  .search-page .filters-col { max-height: none; }
}

/* A single document scroll works better with mobile keyboards and short screens. */
@media (max-width: 1024px), (max-height: 500px) {
  body.page.lumen-app.search-page { height: auto; min-height: 100dvh; overflow: visible; }
  .search-page .page-content,
  .search-page .page-content > .container,
  .search-page .results-col { overflow: visible; }
  .search-page .results-scroll { flex: 1 1 auto; height: auto; min-height: 0; overflow: visible; }
}
