.auth-shell.auth-shell-single { width: min(calc(100% - 32px), 560px); grid-template-columns: 1fr; }
.auth-shell.auth-shell-single .auth-card { width: 100%; }
.auth-google-btn { display: flex; align-items: center; justify-content: center; gap: 11px; width: 100%; min-height: 48px; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); color: var(--ink); font: 750 13px var(--font-body); text-decoration: none; cursor: pointer; transition: .2s var(--ease); }
.auth-google-btn:hover:not(:disabled) { border-color: var(--cyan); transform: translateY(-1px); }
.auth-google-btn:disabled { cursor: not-allowed; opacity: .56; }
.auth-google-mark { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: #4285f4; font: 800 14px Arial, sans-serif; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: var(--ink-3); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.auth-divider::before, .auth-divider::after { content: ''; height: 1px; flex: 1; background: var(--line); }
.auth-method-note { margin-top: 8px; color: var(--yellow); font-size: 11px; line-height: 1.5; text-align: center; }
.auth-method-only { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); text-align: center; }
.auth-method-only strong, .auth-method-only span { display: block; }
.auth-method-only strong { color: var(--ink); font-size: 13px; }
.auth-method-only span { margin-top: 5px; color: var(--ink-3); font-size: 11px; }
.auth-captcha { display: grid; grid-template-columns: 1fr 120px; gap: 12px; align-items: center; margin: 2px 0 16px; padding: 12px; border: 1px solid color-mix(in srgb, var(--yellow) 28%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--yellow) 5%, var(--panel-2)); }
.auth-captcha-label { display: block; color: var(--ink-3); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.auth-captcha strong { display: block; margin-top: 4px; color: var(--yellow); font: 800 14px var(--font-display); }
.auth-captcha .input { min-width: 0; text-align: center; }
.auth-password-summary { display: block; margin-top: 6px; color: var(--ink-3); font-size: 10px; line-height: 1.45; }
.auth-admin-fallback { margin-top: 18px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.auth-admin-fallback summary { color: var(--ink-2); font-size: 11px; font-weight: 750; cursor: pointer; }
.auth-admin-fallback > p { margin: 9px 0 14px; color: var(--ink-3); font-size: 10px; line-height: 1.5; }
.auth-admin-fallback form { padding-top: 4px; }
.auth-trusted-note { display: flex; gap: 10px; margin: 0 0 16px; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--cyan) 32%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--cyan) 6%, var(--panel)); color: var(--ink-2); font-size: 11px; line-height: 1.5; }
.auth-trusted-note strong { flex: 0 0 auto; color: var(--cyan); }

@media (max-width: 540px) {
  .auth-captcha { grid-template-columns: 1fr; }
  .auth-captcha .input { text-align: left; }
  .auth-trusted-note { flex-direction: column; }
}

/* Dedicated Extension connection disclosure. */
.auth-extension-consent { margin: 0 0 20px; padding: 15px; border: 1px solid color-mix(in srgb, var(--cyan) 35%, var(--line)); border-radius: 14px; background: color-mix(in srgb, var(--cyan) 6%, var(--panel-2)); }
.auth-extension-consent-head { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 1px; }
.auth-extension-consent-head strong, .auth-extension-consent-head span { display: block; }
.auth-extension-consent-head strong { color: var(--ink); font-size: 13px; line-height: 0.6; }
.auth-extension-consent-head span { margin-top: 7px; color: var(--ink-3); font-size: 10.5px; line-height: 0.6; }
.auth-extension-consent-icon { display: grid !important; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; margin-top: 1px !important; border-radius: 50%; background: color-mix(in srgb, var(--cyan) 18%, transparent); color: var(--cyan) !important; font-size: 13px !important; font-weight: 900; }
.auth-extension-consent > p { margin: 0 0 10px; color: var(--ink-2); font-size: 11px; line-height: 1.55; }
.auth-extension-safe-list { margin: 0 0 12px; padding: 10px 11px; border-radius: 10px; background: color-mix(in srgb, #22c55e 8%, var(--panel)); color: var(--ink-2); font-size: 10.5px; line-height: 1.55; }
.auth-extension-safe-list strong, .auth-extension-safe-list span { display: block; }
.auth-extension-safe-list strong { margin-bottom: 3px; color: #22c55e; }
.auth-extension-consent .auth-check { align-items: flex-start; margin: 9px 0 0; }
.auth-extension-consent .auth-check input { margin-top: 3px; }
.auth-extension-consent .auth-check span { color: var(--ink-2); font-size: 10.5px; line-height: 1.5; }
.auth-extension-consent .auth-check a { font-weight: 750; color: var(--cyan); text-decoration: underline; }
/* Auth heading spacing reset (requested) */
.auth-card .auth-heading, .auth-card .auth-heading h1, .auth-card .auth-heading p { margin: 0; }
/* Center the Cloudflare Turnstile widget in the auth card */
.auth-card .cf-turnstile { margin-left: auto; margin-right: auto; }
.auth-extension-optional { opacity: .88; }
.auth-extension-consent-version { margin: 10px 0 0 !important; color: var(--ink-3) !important; font-size: 9px !important; }
