/* Shared auth frame: the opaque logo and the whole page share one off-white surface, without a box. */
.auth-workspace { --auth-paper: #faf9f7; }
body.auth-workspace { background: var(--auth-paper); }
.auth-workspace :is(header, footer, .workspace-bar) { display: none; }
.auth-workspace main {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; min-height: 100vh; min-height: 100dvh;
  max-width: none; margin: 0; padding: 40px 16px;
}
.auth-shell { width: 100%; display: flex; justify-content: center; }
.auth-card {
  width: 100%; max-width: 320px; min-width: 0; display: flex;
  flex-direction: column; gap: 28px; overflow-wrap: anywhere;
}
.auth-wordmark { display: block; width: 100%; height: auto; }
.auth-card h1 { font-size: 24px; line-height: 1.25; letter-spacing: -.4px; }
.auth-card p { line-height: 1.55; }
.auth-card p:not([role=alert]) { color: var(--bt-muted); }
.auth-card p strong { color: var(--bt-ink); }
.auth-card form, #invitation-content { display: flex; flex-direction: column; gap: 14px; }
.auth-card label { display: flex; flex-direction: column; gap: 6px; }
.auth-card :is(input:not([type=checkbox]), textarea) { width: 100%; min-width: 0; }
.auth-card .checkbox-label { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; }
.auth-card .auth-action {
  width: 100%; min-height: 48px; font-size: 15px; gap: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bt-brand); border-color: var(--bt-brand); color: var(--bt-surface);
}
.auth-card .auth-action:hover { background: var(--bt-selected); border-color: var(--bt-selected); }
.auth-ms-mark { flex: none; }
.auth-workspace :is(a, button, input, textarea, summary):focus-visible {
  outline: 3px solid var(--bt-focus); outline-offset: 3px;
}
.auth-card .auth-dev { gap: 8px; }
.auth-card .auth-dev .auth-action { margin-top: 8px; }
.auth-unavailable { text-align: center; }
.auth-card details { border-top: 1px solid var(--bt-line); padding-top: 16px; }
.auth-card summary { color: var(--bt-ink); cursor: pointer; font-size: 14px; font-weight: 600; }
.auth-card details[open] > p { margin: 12px 0; }
.auth-card textarea { font-size: 12px; }
.auth-return { text-align: center; font-size: 14px; }
.auth-steps { display: flex; list-style: none; gap: 8px; counter-reset: step; padding: 0; }
.auth-steps li {
  flex: 1; min-width: 0; font-size: 11px; color: var(--bt-muted);
  border-top: 3px solid var(--bt-line); padding-top: 8px;
}
.auth-steps li::before { counter-increment: step; content: counter(step) '. '; }
.auth-steps li[aria-current] { border-color: var(--bt-brand); color: var(--bt-ink); font-weight: 600; }
.verification-code { font-variant-numeric: tabular-nums; font-size: 20px; letter-spacing: 3px; }
.verification-code::placeholder { letter-spacing: 0; font-size: 16px; }
