body.auth-login {
    background: var(--nstx-paper);
    color: var(--nstx-ink);
    font-family: var(--font-body);
}

.auth-shell {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 1.5rem;
}

.auth-card {
    width: min(100%, 26rem);
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    box-shadow: none;
}

.auth-logo-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 8.5rem;
    padding: 2rem;
    background: var(--nstx-ink);
    border-bottom: 1px solid var(--color-border);
}

.auth-logo {
    transform: scale(1.55);
    transform-origin: center;
}

.auth-body {
    padding: 2rem;
}

.auth-eyebrow {
    color: var(--color-text-muted);
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.auth-title {
    color: var(--nstx-ink);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    margin-top: 0.5rem;
}

.auth-copy {
    color: var(--color-text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
    margin-top: 1.5rem;
}

.auth-alert {
    background: #f9e5e2;
    border: 1px solid var(--color-danger);
    color: var(--color-danger);
    font-size: 0.875rem;
    margin-top: 1.5rem;
    padding: 0.875rem 1rem;
}

.auth-google-button,
.auth-action-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 3rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1rem;
    background: var(--color-surface-alt);
    border: 1px solid var(--nstx-ink);
    color: var(--nstx-ink);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
    transition: background-color 160ms ease, color 160ms ease;
}

.auth-google-button:hover,
.auth-action-button:hover {
    background: var(--nstx-ink);
    color: var(--nstx-paper);
}

.auth-google-button svg {
    flex: none;
}

.auth-note {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
    margin-top: 1.5rem;
    text-align: center;
}
