/* Auth pages (login / register / access denied) — minimal centered card. */

.auth {
    max-width: 26rem;
    margin: 4rem auto;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 2rem 2rem 1.75rem;
}

.auth__title {
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    letter-spacing: -0.01em;
}

.auth__form { display: flex; flex-direction: column; gap: 1.1rem; }

.auth__field { display: flex; flex-direction: column; gap: 0.35rem; }

.auth__field label { font-size: 0.875rem; font-weight: 500; color: var(--ink-muted); }

.auth__field input[type="email"],
.auth__field input[type="password"] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    font: inherit;
    color: var(--ink);
    background: var(--canvas);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
}

.auth__field input:focus-visible { border-color: var(--accent); }

.auth__field--check { flex-direction: row; align-items: center; gap: 0.5rem; }
.auth__field--check label { color: var(--ink); }

.auth__submit {
    margin-top: 0.5rem;
    padding: 0.7rem 1rem;
    font: inherit;
    font-weight: 600;
    color: #fff;
    background: var(--accent);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.auth__submit:hover { background: var(--accent-ink); }

.auth__summary,
.auth__error { color: var(--alert-ink); font-size: 0.875rem; }

.auth__summary:empty { display: none; }

.auth__summary ul { margin: 0; padding-left: 1.1rem; }

.auth__alt { margin-top: 1.25rem; font-size: 0.9rem; color: var(--ink-muted); }

/* External (Microsoft) sign-in */
.auth__external { margin-bottom: 0.75rem; }
.auth__submit--external { width: 100%; background: #2f2f2f; }
.auth__submit--external:hover { background: #1a1a1a; }
.auth__divider { text-align: center; color: #8a8378; font-size: 0.85rem; margin: 0.75rem 0; }
