/* Semantic component wrappers and top-layer positioning. Reference styles remain in msm-patterns.css. */
.msm-radio-group { min-width: 0; border: 0; padding: 0; margin: 0 0 14px; }
.msm-pagination { padding-top: 14px; margin-top: 4px; border-top: 1px solid var(--msm-color-border); }
.msm-sidebar-footer { margin-top: auto; padding: 20px; }
.msm-brand-icon { display: none; }
.msm-brand-neon { width: 160px; height: 160px; object-fit: contain; }
.msm-brand-logo .msm-brand-neon { width: 100%; height: auto; }
.msm-auth-brand .msm-brand-neon { width: min(228px, 68vw); height: auto; }
.msm-btn.msm-sidebar-backdrop { border-radius: 0; padding: 0; height: 100%; width: 100%; }
.msm-autocomplete-option { display: block; width: 100%; text-align: left; border-radius: 0; min-height: 0; }
.msm-autocomplete-option[aria-selected="true"] { background: var(--msm-color-surface-2); }
.msm-menu-item { justify-content: flex-start; min-height: 0; }
.msm-btn.msm-menu-danger, .msm-btn.msm-menu-danger:hover:not(:disabled) { color: var(--msm-color-danger); }
.msm-popover-panel, .msm-filter-panel, .msm-menu-panel { position: fixed; margin: 0; right: auto; bottom: auto; max-width: calc(100vw - 24px); max-height: calc(100dvh - 96px); overflow-y: auto; color: var(--msm-color-text); }
.msm-popover-panel:not(:popover-open), .msm-filter-panel:not(:popover-open), .msm-menu-panel:not(:popover-open) { display: none; }
.msm-filter-chip .msm-btn { min-height: 18px; padding: 0 2px; font-size: 11px; }
.msm-loading { display: inline-flex; align-items: center; gap: 8px; color: var(--msm-color-text-muted); }
.msm-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid var(--msm-color-border); border-top-color: var(--msm-color-primary-light); border-radius: 50%; animation: msm-spin .8s linear infinite; }
.msm-code-block { margin: 12px 0; padding: 12px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--msm-color-surface-2); border: 1px solid var(--msm-color-border); border-radius: 6px; font-size: 12px; }
.msm-danger-copy strong { color: var(--msm-color-danger-heading); }
.msm-reorder-actions .msm-btn-icon { min-height: 30px; }
.msm-search-box input { min-height: 0; }
@keyframes msm-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .msm-spinner { animation: none; } }
@media (max-width: 640px) { .msm-filter-panel, .msm-popover-panel { width: calc(100vw - 24px); } }
@media (max-width: 960px) { .msm-brand-wordmark { display: none; } .msm-brand-icon { display: block; } }
