/* Provider buttons inside login/signup/plans. v2: all three are outline buttons on paper (the provider's own glyph keeps its colours).
   Google keeps its full-colour G; Apple and X glyphs are ink. No black/white filled brand buttons: they fought the Business Notebook look. */
.provider__icon { width: 20px; height: 20px; flex: none; }
.auth .btn.provider--google, .auth .btn.provider--apple, .auth .btn.provider--x { background: #fff; color: #0b0f1e; border: 1.5px solid #0b0f1e; }
.auth .btn.provider.disabled .provider__icon { opacity: .45; filter: grayscale(1); }
.auth .btn.provider small { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.auth .btn.provider:not(.disabled):hover { background: #f3f6ff; border-color: #2563ff; color: #0b0f1e; transform: translateY(-1px); }
.auth .btn.provider.disabled { background: transparent !important; color: var(--mute) !important; }
.auth .legal-links { display: inline-flex; gap: .3rem 1.1rem; flex-wrap: wrap; justify-content: center; }
.auth .legal-links a { color: var(--sky2); text-underline-offset: 3px; } .auth .legal-links a:hover { color: #fff; }
/* forgot-password: link under the password field, tap target >= 44px */
.auth .forgot { margin: -.2rem 0 .6rem; text-align: right; }
.auth .forgot a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .25rem; font-weight: 600; color: var(--sky2); text-underline-offset: 3px; }
.auth .forgot a:hover { color: #fff; }
.auth a.back-link { display: inline-flex; align-items: center; min-height: 44px; }
