.sidebar-language, .sidebar-appearance { margin: 0; padding: 0; }
.sidebar-language-trigger, .sidebar-appearance-trigger { display: flex; align-items: center; width: 100%; min-height: 40px; gap: 10px; padding: 7px 9px; border: 0; border-radius: 9px; color: #aeb9c9; background: transparent; font: 600 12px var(--dashboard-font); text-align: left; cursor: pointer; }
.sidebar-language-trigger:hover, .sidebar-language-trigger:focus-visible, .sidebar-appearance-trigger:hover, .sidebar-appearance-trigger:focus-visible { color: var(--dashboard-text); background: var(--dashboard-panel-hover); }
.sidebar-language-trigger > span:nth-child(2), .sidebar-appearance-trigger > span:nth-child(2) { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-language-chevron { flex: 0 0 14px; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.sidebar-language-menu { position: fixed; z-index: 1400; inset: auto; margin: 0; width: 250px; max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow: auto; padding: 10px; border: 1px solid rgba(113,145,194,.22); border-radius: 12px; opacity: 0; transform: translateX(-6px) scale(.98); transform-origin: left center; color: var(--dashboard-text); background: #171e2a; box-shadow: 0 18px 44px rgba(0,0,0,.42); font: 12.5px var(--dashboard-font); transition: opacity 140ms ease, transform 140ms cubic-bezier(.4,0,1,1), display 140ms allow-discrete, overlay 140ms allow-discrete; }
.sidebar-language-menu:popover-open { opacity: 1; transform: translateX(0) scale(1); transition-duration: 180ms; transition-timing-function: ease, cubic-bezier(.22,1,.36,1), linear, linear; }
.sidebar-language-menu.opens-left { transform-origin: right center; }
.sidebar-language-menu.opens-left:not(:popover-open) { transform: translateX(6px) scale(.98); }
.sidebar-language-menu.is-stacked { transform-origin: bottom left; }
.sidebar-language-menu.is-stacked:not(:popover-open) { transform: translateY(6px) scale(.98); }
@starting-style { .sidebar-language-menu:popover-open { opacity: 0; transform: translateX(-6px) scale(.98); } }
.sidebar-language-menu > strong { display: block; padding: 6px 8px 10px; }
.sidebar-language-menu button { display: flex; align-items: center; width: 100%; min-height: 40px; gap: 8px; padding: 8px; border: 0; border-radius: 8px; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.sidebar-language-menu button span { width: 14px; }
.sidebar-language-menu button small { margin-left: auto; color: var(--dashboard-muted); font-size: 10px; }
.sidebar-language-menu button:disabled { opacity: .5; cursor: not-allowed; }
.sidebar-language-menu button:not(:disabled):hover, .sidebar-language-menu button:focus-visible { background: var(--dashboard-panel-hover); }
.sidebar-language-menu p { margin: 8px; color: var(--dashboard-muted); line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { body:not(.motion-demo) .sidebar-language-menu { transform: none; transition: none; } }
.auth-language { position: fixed; z-index: 1200; top: var(--auth-header-top); right: max(24px, calc((100vw - 1200px) / 2)); color: #b8c7d8; font: 600 12px Inter, sans-serif; }
.auth-language-trigger { display: flex; min-height: 42px; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid rgba(148,163,184,.24); border-radius: 10px; color: #dce6f2; background: rgba(16, 24, 37, .86); font: inherit; cursor: pointer; backdrop-filter: blur(12px); transition: border-color 150ms ease, background 150ms ease; }
.auth-language-trigger:hover, .auth-language-trigger:focus-visible, .auth-language-trigger[aria-expanded="true"] { border-color: rgba(121,174,255,.58); background: #172231; }
.auth-language-globe { width: 17px; height: 17px; fill: none; stroke: #8eb6ff; stroke-width: 1.6; stroke-linecap: round; }
.auth-language-current { min-width: 0; white-space: nowrap; }
.auth-language-short { display: none; }
.auth-language-chevron { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; transition: transform 150ms ease; }
.auth-language-trigger[aria-expanded="true"] .auth-language-chevron { transform: rotate(180deg); }
.auth-language-menu { position: fixed; z-index: 1500; inset: auto; width: 218px; max-width: calc(100vw - 24px); margin: 0; padding: 7px; border: 1px solid rgba(113,145,194,.25); border-radius: 11px; opacity: 0; color: #e8f1fa; background: #171e2a; box-shadow: 0 18px 42px rgba(0,0,0,.4); transform: translateY(-5px) scale(.985); transform-origin: top right; transition: opacity 140ms ease, transform 140ms cubic-bezier(.4,0,1,1), display 140ms allow-discrete, overlay 140ms allow-discrete; }
.auth-language-menu:popover-open { opacity: 1; transform: translateY(0) scale(1); transition-duration: 180ms; transition-timing-function: ease, cubic-bezier(.22,1,.36,1), linear, linear; }
@starting-style { .auth-language-menu:popover-open { opacity: 0; transform: translateY(-5px) scale(.985); } }
.auth-language-menu form { display: grid; gap: 2px; }
.auth-language-menu button { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 0; border-radius: 8px; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.auth-language-menu button:hover, .auth-language-menu button:focus-visible { background: rgba(255,255,255,.065); }
.auth-language-menu button[aria-checked="true"] { color: #eef6ff; background: rgba(58,123,255,.1); }
.auth-language-menu button svg { width: 16px; height: 16px; fill: none; stroke: #86b6ff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.auth-language-menu button svg[hidden] { display: none; }
.auth-language-menu [data-locale-error] { margin: 7px 8px 5px; color: #ffb2b2; font-size: 11px; line-height: 1.45; }
@media (max-width: 850px) { .auth-language { right: max(20px, calc((100vw - 510px) / 2 + 5px)); } }
@media (max-width: 460px) { .auth-language { right: 20px; }.auth-language-full { display: none; }.auth-language-short { display: inline; }.auth-language-trigger { min-height: 42px; padding-inline: 10px; } }
@media (prefers-reduced-motion: reduce) { body:not(.motion-demo) .auth-language-menu, body:not(.motion-demo) .auth-language-chevron { transform: none; transition: none; } }
