/* Application language uses the existing settings row/select on each surface. */
.ms-general-language .ms-privacy-select { width: 112px; max-width: none; min-height: 40px; }
.ms-general-settings > .ms-setting-note { margin: 12px; }
[data-apnc-language-status]:empty { display: none; }

/* Shared guest picker: no account, no border, same language store as Settings. */
.apnc-language-picker { position:relative; display:inline-flex; flex:0 0 auto; align-self:center; }
.apnc-language-trigger, .apnc-language-option {
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  gap:6px; padding:4px 8px; min-height:30px; margin:0; border:0; border-radius:5px;
  background:rgb(35 120 220 / 12%); color:inherit; font:inherit; font-size:12px;
  line-height:18px; font-weight:500; cursor:pointer; box-shadow:none; white-space:nowrap;
}
.apnc-language-value { display:flex; align-items:center; gap:6px; }
.apnc-language-flag { display:block; flex:0 0 auto; width:22px; height:14px; border-radius:2px; overflow:hidden; }
.apnc-language-caret { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.apnc-language-trigger:hover, .apnc-language-trigger[aria-expanded="true"], .apnc-language-option:hover { background:rgb(35 120 220 / 23%); }
.apnc-language-trigger:focus-visible, .apnc-language-option:focus-visible { outline:2px solid #75baff; outline-offset:2px; }
.apnc-language-menu { display:flex; flex-direction:column; gap:3px; position:absolute; top:calc(100% + 5px); right:0; z-index:1100; min-width:100%; padding:4px; box-sizing:border-box; border:0; border-radius:5px; background:var(--bg-box-modal, #101a26); color:inherit; box-shadow:0 5px 18px rgb(0 0 0 / 30%); }
.apnc-language-menu[hidden] { display:none!important; }
.apnc-language-option { width:100%; background:transparent; }
.apnc-language-option[aria-selected="true"] { background:rgb(35 120 220 / 20%); color:#8cc8ff; }
.apnc-language-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.auth-screen .brand-row { grid-template-columns:90px minmax(0, 1fr) auto; gap:14px; }
@media (max-width:360px) {
  .auth-screen .brand-row { grid-template-columns:70px minmax(0, 1fr) auto; gap:10px; }
  .auth-screen .brand-logo { width:70px; height:60px; }
  .auth-screen .brand-title { font-size:20px; }
}
