.versioned-sidebar .mud-drawer-content { min-height: 0; overflow: hidden; }
.versioned-sidebar .mud-drawer-content > .mud-navmenu { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.frontend-version { display: block; padding: .75rem 1rem; padding-bottom: max(.75rem, env(safe-area-inset-bottom)); white-space: nowrap; font-size: .75rem; flex-shrink: 0; }
.versioned-sidebar.mud-drawer--closed .frontend-version { padding-left: .25rem; padding-right: .25rem; font-size: .625rem; }
.required-update { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, .75); }
.required-update-card { max-width: 32rem; padding: 1.5rem; border-radius: .5rem; background: white; color: #222; box-shadow: 0 8px 32px rgba(0, 0, 0, .3); }
.required-update-card h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.required-update-card p { margin-bottom: 1rem; }
.optional-update { position: fixed; bottom: 1rem; left: 1rem; right: 1rem; margin: auto; max-width: 34rem; z-index: 2000; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; background: #fff; color: #222; padding: 1rem; border-radius: .5rem; box-shadow: 0 4px 16px rgba(0, 0, 0, .3); }
.update-button { background: #594ae2; color: white; padding: .6rem 1rem; border: 0; border-radius: .25rem; cursor: pointer; min-height: 44px; }
.update-button:disabled { opacity: .6; cursor: wait; }
.update-button:focus-visible { outline: 3px solid #222; outline-offset: 3px; }
