.app-responsive-panel {
    position: fixed;
    z-index: var(--app-layer-page-header-dropdown);
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.app-responsive-panel--filters { width: min(48rem, calc(100vw - 24px)); }
.app-responsive-panel .fi-dropdown-list-item-label { white-space: normal; overflow-wrap: anywhere; }
.app-responsive-panel .fi-dropdown-list-item[aria-current="true"] { background: var(--app-tone-warning-bg); color: var(--app-accent-strong); font-weight: 600; }
.app-responsive-panel .fi-dropdown-list-item[aria-current="true"] .fi-dropdown-list-item-label { color: inherit; }
.app-responsive-panel--filters .fi-ta-filters { padding: 16px; }
/* 共用筛选容器使用 16px 内边距，不能沿用旧弹层的 -1.5rem 出血。 */
.app-sticky-table .app-responsive-panel.app-responsive-panel--filters .fi-ta-filters-header {
    top: 0;
    margin: -16px -16px 0;
    padding: 12px 16px;
}
.app-sticky-table .app-responsive-panel.app-responsive-panel--filters .fi-ta-filters-actions-ctn {
    bottom: 0;
    margin: 0 -16px;
    padding: 12px 16px;
}
.app-filter-footer { display: flex; justify-content: flex-end; gap: 12px; padding-top: 12px; }
.app-sheet-heading { display: none; }
.app-responsive-panel.app-keyboard-open { transition: none; }
.app-overlay-host { z-index: var(--app-layer-page-header-dropdown) !important; }
.app-overlay-host--filter, .app-responsive-panel--filters { z-index: var(--app-layer-sticky-table-filter) !important; }
.app-sheet-backdrop { position: fixed; inset: 0; z-index: var(--app-layer-review-backdrop); background: rgb(0 0 0 / .45); }
@media (max-width: 767px) {
    [data-app-responsive-dropdown] > .fi-dropdown-trigger button { min-width: 44px; min-height: 44px; }
    /* 保留 Livewire 原生表单树，仅在面板打开期间提升所属容器。 */
    .app-overlay-host, .app-overlay-host--filter { z-index: var(--app-layer-review-panel) !important; }
    .app-responsive-panel {
        position: fixed !important;
        inset: auto 12px calc(max(12px, env(safe-area-inset-bottom)) + var(--app-keyboard-bottom, 0px)) !important;
        width: calc(100vw - 24px) !important;
        max-width: none !important;
        max-height: calc(var(--app-visible-height, 100dvh) - 24px - env(safe-area-inset-bottom)) !important;
        z-index: var(--app-layer-review-panel) !important;
        border-radius: var(--app-radius-card);
        transition: opacity 160ms ease-out, transform 200ms cubic-bezier(.23, 1, .32, 1);
    }
    .app-responsive-panel.fi-opacity-0 { transform: translateY(12px); }
    .app-responsive-panel .app-sheet-heading {
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        position: sticky; top: 0; z-index: 3; padding: 8px 12px;
        background: var(--app-surface-card); border-bottom: 1px solid #e5e7eb; color: var(--app-text-strong);
    }
    .app-sheet-heading strong { font-size: var(--app-font-secondary); overflow-wrap: anywhere; }
    .app-sheet-heading button { flex-shrink: 0; min-height: 44px; padding: 8px; }
    .app-responsive-panel .fi-dropdown-list-item { min-height: 44px; }
    .app-responsive-panel .fi-dropdown-list-item-label { white-space: normal; }
    .app-responsive-panel .fi-ta-filters { padding: 12px; }
    .app-responsive-panel--filters .fi-btn { min-height: 44px; }
    .app-responsive-panel .fi-ta-filters-header { display: none; }
    .app-sticky-table .app-responsive-panel.app-responsive-panel--filters .fi-ta-filters-actions-ctn,
    .app-responsive-panel .fi-ta-filters-actions-ctn,
    .app-responsive-panel .app-filter-footer {
        position: sticky; bottom: 0; margin: 0 -12px; padding: 12px; background: var(--app-surface-card);
        display: flex; justify-content: flex-end; gap: 12px;
    }
    .app-responsive-panel button:focus-visible { outline: 2px solid #d97706; outline-offset: -2px; }
    .dark .app-responsive-panel .app-sheet-heading,
    .dark .app-sticky-table .app-responsive-panel.app-responsive-panel--filters .fi-ta-filters-actions-ctn,
    .dark .app-responsive-panel .fi-ta-filters-actions-ctn,
    .dark .app-responsive-panel .app-filter-footer { background: var(--app-surface-card); color: var(--app-text-strong); border-color: #374151; }
}
@media (prefers-reduced-motion: reduce) {
    .app-responsive-panel { transition: none; }
    .app-responsive-panel.fi-opacity-0 { transform: none; }
}
@media (max-width: 767px) {
    .app-responsive-panel .fi-fo-toggle-buttons.fi-btn-group { display: flex; flex-wrap: wrap; gap: 4px; }
    .app-responsive-panel .fi-fo-toggle-buttons.fi-btn-group .fi-btn { min-height: 44px; border-radius: 6px; white-space: normal; }
}
