/* Scoped to the standalone access family. Canonical tokens come from style.css. */
:root {
    --input-bg: var(--bg-input);
    --primary-hover: var(--flare-dk);
}

body {
    font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    padding: var(--sp-8) 0;
}

body::before,
body::after {
    content: none;
}

.auth-container {
    padding: var(--sp-6);
    min-width: 0;
}

.auth-card {
    background: var(--bg-card);
    border-color: var(--border);
    padding: var(--sp-8);
    box-shadow: 0 8px 32px rgb(0 0 0 / 6%);
}

.auth-card,
.auth-footer,
.flash,
.invite-badge {
    overflow-wrap: anywhere;
}

.auth-container .form-group input,
.auth-container button,
.auth-container .oauth-btn,
.auth-container a {
    min-height: 44px;
}

.auth-container .form-group input {
    font-family: inherit;
    font-size: var(--text-md);
    background: var(--bg-input);
}

.auth-container input::placeholder {
    color: var(--text-muted);
    opacity: 1;
}

.auth-container button {
    font-family: inherit;
    min-width: 44px;
}

.auth-container .pw-wrap input {
    padding-right: calc(44px + var(--sp-2));
}

.auth-container .pw-toggle {
    width: 44px;
    height: 44px;
    right: 0;
    padding: var(--sp-3);
    justify-content: center;
}

.auth-container .name-row .form-group {
    min-width: 0;
}

.auth-container .btn-primary {
    background: var(--accent-strong);
    color: var(--accent-contrast);
}

.auth-container .btn-primary:hover {
    background: var(--flare-dk);
}

.auth-container .oauth-btn:visited {
    color: var(--text);
}

.auth-container a:not(.oauth-btn),
.auth-container .recovery-hint button,
.auth-container .hint button {
    color: var(--link-strong) !important;
}

.auth-container a:not(.oauth-btn),
.auth-container .recovery-hint button,
.auth-container .hint button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--sp-2) var(--sp-1) !important;
}

.auth-container :is(a, button, input):focus-visible {
    outline: 2px solid var(--link-strong);
    outline-offset: 3px;
}

.auth-container .flash {
    color: var(--text);
    background: var(--bg-card);
    box-shadow: none;
}

.auth-container .form-group input:focus {
    border-color: var(--link-strong);
    box-shadow: none;
}

.auth-logo img {
    height: var(--sp-10);
    width: auto;
}

.auth-logo .auth-logo-dark {
    display: none;
}

[data-theme="dark"] .auth-logo .auth-logo-light {
    display: none;
}

[data-theme="dark"] .auth-logo .auth-logo-dark {
    display: inline;
}

.auth-container .flash.error {
    border-color: var(--danger);
}

.auth-container .flash.success {
    border-color: var(--signal);
}

.auth-container .flash.info {
    border-color: var(--info);
}

.auth-container .invite-badge {
    background: var(--bg-input);
    border-color: var(--border);
}

.auth-container .pw-strength-label {
    color: var(--text) !important;
}

.auth-container .pw-req.met,
.auth-container .trial-badge {
    color: var(--signal-darker);
}

[data-theme="dark"] .auth-container .pw-req.met,
[data-theme="dark"] .auth-container .trial-badge {
    color: var(--signal-light);
}

@media (max-width: 480px) {
    .auth-container {
        padding: var(--sp-4);
    }

    .auth-card {
        padding: var(--sp-6);
    }

    .auth-container .name-row {
        flex-direction: column;
        gap: 0;
    }
}
