:root, [data-bs-theme="light"] { --fundsy-auth-card: #ffffff; --fundsy-auth-muted-surface: #f8fafc; --fundsy-auth-danger: #dc2626; --fundsy-auth-danger-soft: #fef2f2; --fundsy-auth-success: #16a34a; --fundsy-auth-success-soft: #f0fdf4; }
[data-bs-theme="dark"] { --fundsy-auth-card: #111c2e; --fundsy-auth-muted-surface: #162238; --fundsy-auth-danger: #fca5a5; --fundsy-auth-danger-soft: #3a1d28; --fundsy-auth-success: #86efac; --fundsy-auth-success-soft: #153624; }
.fundsy-auth-page { position: relative; display: grid; min-height: 100vh; padding: 32px 20px; place-items: center; background: var(--fundsy-page-bg); }.fundsy-auth-layout { width: 100%; max-width: 440px; }.fundsy-auth-card { padding: 40px; border: 1px solid var(--fundsy-border); border-radius: 20px; background: var(--fundsy-auth-card); box-shadow: 0 20px 48px var(--fundsy-shadow); }.fundsy-auth-theme-toggle { position: fixed; z-index: 2; top: 24px; right: 24px; }.fundsy-auth-brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 32px; color: var(--fundsy-text); font-size: 21px; font-weight: 700; text-decoration: none; }.fundsy-auth-brand:hover { color: var(--fundsy-primary-dark); }.fundsy-auth-brand__logo { width: 36px; height: 36px; object-fit: contain; }.fundsy-auth-heading { margin-bottom: 28px; }.fundsy-auth-heading h1 { margin: 0 0 8px; color: var(--fundsy-text); font-size: 26px; font-weight: 600; }.fundsy-auth-heading p { margin: 0; color: var(--fundsy-text-muted); font-size: 14px; }.fundsy-auth-form .form-label { color: var(--fundsy-text); font-size: 14px; font-weight: 600; }.fundsy-auth-form .form-control { min-height: 44px; border-radius: 10px; }.fundsy-password-toggle { min-width: 46px; border-color: var(--fundsy-border); border-left: 0; color: var(--fundsy-text-muted); background: var(--fundsy-surface-raised); }.fundsy-password-toggle:hover { color: var(--fundsy-primary-dark); background: var(--fundsy-primary-soft); }.fundsy-password-toggle:focus { box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .18); }.fundsy-password-toggle i { font-size: 20px; }.fundsy-auth-form .input-group > .form-control { border-right: 0; }.fundsy-auth-form .input-group > .form-control:focus + .fundsy-password-toggle { border-color: var(--fundsy-primary); }.fundsy-auth-form .form-check-input { border-color: var(--fundsy-border); background-color: var(--fundsy-surface-raised); }.fundsy-auth-form .form-check-input:checked { border-color: var(--fundsy-primary); background-color: var(--fundsy-primary); }.fundsy-auth-form .form-check-label { color: var(--fundsy-text-muted); font-size: 14px; }.fundsy-auth-link { color: var(--fundsy-primary-dark); font-weight: 600; text-decoration: none; }.fundsy-auth-link:hover { color: var(--fundsy-primary); text-decoration: underline; }.fundsy-auth-link--small { font-size: 13px; }.fundsy-auth-submit { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; font-weight: 600; }.fundsy-auth-submit:disabled, .fundsy-fundsy-account-button:disabled { cursor: not-allowed; opacity: .72; }.fundsy-auth-divider { display: flex; align-items: center; gap: 14px; margin: 28px 0; color: var(--fundsy-text-muted); font-size: 12px; text-transform: uppercase; }.fundsy-auth-divider::before, .fundsy-auth-divider::after { width: 100%; height: 1px; content: ''; background: var(--fundsy-border); }.fundsy-auth-divider span { flex: 0 0 auto; }.fundsy-fundsy-account-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--fundsy-border); border-radius: 10px; color: var(--fundsy-text); background: var(--fundsy-auth-muted-surface); font-size: 14px; font-weight: 600; }.fundsy-fundsy-account-button:hover { border-color: var(--fundsy-primary); color: var(--fundsy-primary-dark); background: var(--fundsy-primary-soft); }.fundsy-fundsy-account-button i { color: var(--fundsy-primary); font-size: 20px; }.fundsy-auth-register { margin-top: 28px; color: var(--fundsy-text-muted); font-size: 14px; text-align: center; }.fundsy-auth-alert { margin-bottom: 20px; border: 1px solid var(--fundsy-auth-danger); border-radius: 10px; color: var(--fundsy-auth-danger); background: var(--fundsy-auth-danger-soft); font-size: 14px; }.fundsy-auth-alert--info { border-color: var(--fundsy-border); color: var(--fundsy-text-muted); background: var(--fundsy-auth-muted-surface); }.fundsy-auth-alert--success { border-color: var(--fundsy-auth-success); color: var(--fundsy-auth-success); background: var(--fundsy-auth-success-soft); }.fundsy-auth-form .is-invalid { border-color: var(--fundsy-auth-danger); }.fundsy-auth-form .invalid-feedback { color: var(--fundsy-auth-danger); }.fundsy-auth-form .is-invalid:focus { box-shadow: 0 0 0 .25rem rgba(220, 38, 38, .16); }
@media (max-width: 575.98px) { .fundsy-auth-page { min-height: 100dvh; padding: 76px 16px 24px; align-items: start; }.fundsy-auth-card { padding: 28px 22px; border-radius: 16px; box-shadow: none; }.fundsy-auth-theme-toggle { top: 16px; right: 16px; }.fundsy-auth-brand { margin-bottom: 26px; }.fundsy-auth-heading { margin-bottom: 24px; } }
.fundsy-verification-code { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 20px; }.fundsy-verification-code__digit { min-width: 0; height: 50px; padding: 0; border-radius: 10px; color: var(--fundsy-text); background: var(--fundsy-surface-raised); font-size: 22px; font-weight: 700; line-height: 1; text-align: center; }.fundsy-verification-code__digit:focus { border-color: var(--fundsy-primary); box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .18); }.fundsy-verification-timer { display: flex; align-items: center; justify-content: center; gap: 7px; margin: -4px 0 20px; color: var(--fundsy-text-muted); font-size: 13px; }.fundsy-verification-timer--expired { color: var(--fundsy-auth-danger); }.fundsy-verification-email { color: var(--fundsy-text); font-weight: 600; overflow-wrap: anywhere; }.fundsy-verification-unavailable { text-align: center; }.fundsy-verification-unavailable .mdi { display: block; margin-bottom: 14px; color: var(--fundsy-auth-danger); font-size: 42px; }
.fundsy-verification-success { padding: 24px 0 8px; text-align: center; }.fundsy-verification-success .mdi { display: block; margin-bottom: 16px; color: var(--fundsy-auth-success); font-size: 58px; }.fundsy-verification-success h1 { margin: 0 0 10px; color: var(--fundsy-text); font-size: 26px; font-weight: 600; }.fundsy-verification-success p { margin: 0; color: var(--fundsy-text-muted); font-size: 14px; }
@media (max-width: 375.98px) { .fundsy-verification-code { gap: 6px; }.fundsy-verification-code__digit { height: 46px; font-size: 20px; } }
.fundsy-auth-card { border-radius: var(--fundsy-radius-card); }
