/* Shared administrator ergonomics. Keep dense data inside its own scroll region. */
.admin-mobile-navigation { display: none; }
@media (max-width: 979px) {
    body.topmoat-admin-page { --topmoat-content-width: 100%; }
    body.topmoat-admin-page .admin-mobile-navigation.is-visible {
        display: flex; align-items: center; gap: 10px;
        margin: 12px; padding: 10px; border: 1px solid #d8dee8;
        border-radius: 8px; background: #fff;
    }
    .admin-mobile-navigation label { flex: 0 0 auto; font-size: 13px; font-weight: 700; }
    .admin-mobile-navigation select { flex: 1; width: 0; min-width: 0; min-height: 44px; font-size: 16px; }
    body.topmoat-admin-page :is(.page-shell, .news-admin-shell) { min-width: 0; max-width: 100% !important; width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }
    .topmoat-admin-page .admin-mobile-table-region {
        width: 100%; max-width: 100%; min-width: 0; overflow-x: auto;
        overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
    }
    .admin-mobile-table-hint { margin: 6px 0; color: #64748b; font-size: 12px; line-height: 1.5; }
    .admin-mobile-table-region:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
}
@media (max-width: 979px) {
    body.topmoat-admin-page :is(.page-shell, .news-admin-shell) { padding: 12px 12px 32px; }
    .topmoat-admin-page :is(.page-shell, .news-admin-shell) :is(.panel, .learning-card, .admin-lock) {
        min-width: 0; padding: 14px 12px; border-radius: 8px; box-shadow: none;
    }
    .topmoat-admin-page :is(.page-header, .news-admin-header, .panel-heading, .panel-head, .market-controls, .manual-actions) {
        flex-wrap: wrap; gap: 10px; align-items: flex-start;
    }
    .topmoat-admin-page :is(.page-header, .news-admin-header) h1 { font-size: 26px; line-height: 1.3; }
    .topmoat-admin-page :is(.category-form, .model-fields, .filter-grid, .manual-grid, .form-grid, .register-form-grid, .main-grid, .insight-grid, .detail-grid, .research-main-controls) {
        grid-template-columns: minmax(0, 1fr);
    }
    .topmoat-admin-page :is(.category-form, .manual-grid, .form-grid, .register-form-grid) > * { grid-column: 1 / -1; min-width: 0; }
    .topmoat-admin-page :is(fieldset, .panel, .toolbar, .search-wrapper, .page-header-main) { min-width: 0; }
    .topmoat-admin-page :is(.toolbar, .anomaly-filters, .preview-row, .search-row, .sector-filter-toolbar, .drawdown-filter-toolbar) { flex-wrap: wrap; gap: 8px; }
    .topmoat-admin-page :is(.toolbar, .total-score-filter-toolbar) { grid-template-columns: minmax(0, 1fr); }
    .topmoat-admin-page :is(.toolbar, .total-score-filter-toolbar) > * { min-width: 0; grid-column: auto; }
    .topmoat-admin-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea) {
        max-width: 100%; min-height: 44px; font-size: 16px;
    }
    .topmoat-admin-page :is(input[type=checkbox], input[type=radio]) { width: 20px; height: 20px; flex-shrink: 0; }
    .topmoat-admin-page :is(button, .button, .button-link) { min-height: 44px; white-space: normal; line-height: 1.4; }
    .topmoat-admin-page :is(.button-row, .actions, .row-actions, .secondary-actions, .page-header-actions) { flex-wrap: wrap; gap: 8px; }
    .topmoat-admin-page :is(.help, .muted, .status, .review-summary, .manual-history) { overflow-wrap: anywhere; }
    .topmoat-admin-page .save-bar { position: static; flex-wrap: wrap; }
    .topmoat-admin-page .save-bar > :first-child { width: 100%; }
    .topmoat-admin-page .save-bar button { flex: 1 1 140px; }
    .topmoat-admin-page .preview-row > input { flex: 1 1 100%; min-width: 0; }
    .topmoat-admin-page .rules-table :is(input:not([type=checkbox]), select, textarea) { height: auto; min-height: 44px; font-size: 16px; }
    .topmoat-admin-page .rules-table .rule-remove { min-width: 44px; }
}
@media (min-width: 980px) {
    body.topmoat-admin-page .admin-mobile-navigation.is-visible { display: none !important; }
    .admin-mobile-table-hint { display: none; }
}
