/* Functional layout helpers only. All theme styling comes from supplied Maxton CSS. */
#theme{width:140px}
.toolbar{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem}
.toolbar input{max-width:340px}.toolbar select{width:auto;min-width:155px}
.record-title{font-weight:600}.record-sub{font-size:.875em;color:inherit;opacity:.8}
.empty-state{padding:3rem 1rem;text-align:center}.preview-copy{white-space:pre-wrap}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.media-image{width:100%;height:155px;object-fit:cover}.section-row.is-hidden{opacity:.65}
.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:var(--bs-body-bg);padding:1rem}
.primary-menu .navbar .navbar-nav .dropdown-menu.show{display:block}
@media(max-width:575px){.toolbar input,.toolbar select{max-width:100%;width:100%}#theme{width:110px}}

/* Keep header search results and long content inside template components. */
#moduleResults[hidden]{display:none!important}#moduleResults:not([hidden]){display:block}#moduleResults{z-index:1060;max-height:60vh;overflow-y:auto}
#navItems .menu-title{white-space:nowrap}.record-title,.record-sub{overflow-wrap:anywhere}.table-responsive>.table{min-width:620px}.media-grid .card{min-width:0}
@media(max-width:575px){.page-breadcrumb .breadcrumb-title{font-size:16px}.modal-footer{gap:.25rem}.modal-footer .btn{margin:0}.top-header .search-bar{display:none}.top-header .nav-right-links{margin-left:auto}}
/* Match the template's light icon treatment on its blue dialog surfaces. */
[data-bs-theme="blue-theme"] .modal .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
