/* Keep intrinsic content inside its grid track, including the mobile admin nav. */
.admin-layout > *,
.admin-layout .sidebar.admin-sidebar,
.admin-panel > *,
.management-card,
.management-section,
.management-form .form-group,
.rule-builder-wrap > * {
    min-width: 0;
}
.admin-panel-header > *,
.management-card-header > div,
.management-section-head > div {
    min-width: 0;
    overflow-wrap: anywhere;
}
.admin-panel-actions,
.cat-tree-ops,
.rule-card-ops {
    flex-wrap: wrap;
    max-width: 100%;
}
.admin-panel-actions .btn,
.management-form .btn,
.cat-tree-ops .btn-sm {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}
.management-form input,
.management-form select,
.management-form textarea {
    min-width: 0;
    max-width: 100%;
}
.rule-sentence-preview .rule-sentence-part,
.rule-card-sentence .rule-sentence-part {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.9;
}
.rule-card-title,
.rule-card-msg,
.rule-card-meta .admin-chip,
.rule-guide-examples span,
.rule-guide-intro > div,
.rule-simple-formula > div {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.rule-sub-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rule-sub-row > * { min-width: 0; }

/* Search participates in layout so it cannot cover the navigation links. */
@media (min-width: 901px) {
    .header .header-top-row {
        display: grid !important;
        grid-template-columns: auto minmax(160px, 1fr) auto !important;
        gap: 16px !important;
    }
    .header .header-primary { min-width: 0; }
    .header .header-search {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        grid-column: 2;
    }
    .header .header-primary .header-navbar { min-width: 0; }
    .header .header-navbar nav > ul { flex-wrap: wrap; }
    .header .header-search .search-form,
    .header .header-search .search-form input { min-width: 0 !important; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .header .header-top-row { grid-template-columns: minmax(0, 1fr) minmax(160px, 1fr) auto !important; }
    .header .header-primary { flex-wrap: wrap; gap: 4px; }
    .header .header-primary .header-navbar { flex: 1 1 100%; }
    .header .header-navbar nav > ul { justify-content: flex-start; }
}
@media (max-width: 900px) {
    .admin-layout { grid-template-columns: minmax(0, 1fr) !important; }
    .admin-sidebar .admin-nav {
        min-width: 0;
        max-width: 100%;
        scrollbar-width: thin;
    }
    .admin-sidebar .admin-nav::-webkit-scrollbar { display: block; height: 5px; }
    .admin-sidebar .admin-nav::-webkit-scrollbar-thumb { background: var(--text-muted); border-radius: 4px; }
}
@media (max-width: 900px) {
    /* Keep search reachable from both the header and the bottom navigation. */
    .header .container.header-top-row {
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        padding-block: 6px !important;
        gap: 6px !important;
    }
    .header .header-search {
        display: flex !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 40px !important;
        transform: none !important;
    }
    .header .header-search .search-form,
    .header .header-search.is-open .search-form {
        display: flex !important;
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    .header .header-search .search-form input { min-width: 0; width: 100%; }
    .header .header-search .search-toggle { display: none !important; }
    .cat-tree-row { flex-wrap: wrap; }
    .cat-tree-row > strong,
    .cat-tree-row > span { min-width: 0; overflow-wrap: anywhere; }
    .cat-tree-ops { width: 100%; margin-inline: 0; }
}
@media (max-width: 480px) {
    .rule-sub-row { grid-template-columns: minmax(0, 1fr); }
}
.header .header-search .header-search-submit--sr {
    position: static !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    clip: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    display: grid !important;
    place-items: center;
}
/* The mobile drawer must not grow to the filters' intrinsic content height. */
@media (max-width: 992px) {
    .filter-sidebar {
        height: 100vh !important;
        height: 100dvh !important;
    }
}
@media (max-width: 900px) {
    .header .container.header-top-row {
        height: auto !important;
        grid-template-areas: "toggle logo actions" "search search search" !important;
    }
    .header .header-search { grid-area: search !important; }
    .header .header-primary { display: contents !important; }
    .header .nav-toggle { grid-area: toggle !important; }
    .header .logo { grid-area: logo !important; }
    .header .actions { grid-area: actions !important; }
}
