/* Account Pages Style Overrides */

/* Match Angular app's mb-2 override */
.mb-2 {
    margin-bottom: 1rem !important;
}

/* Sign In / Register link styles */
.auth-link {
    font-family: Montserrat, sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.02em;
    text-decoration: underline;
    text-decoration-style: solid;
    color: #858CA4 !important;
}

.auth-link:hover {
    color: #6c7390;
}

/* Custom checkbox styles */
.custom-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 0;
}

.custom-checkbox .form-check-input {
    width: 20px;
    height: 20px;
    margin: 0;
    border-radius: 4px;
    border: 1px solid #ccc;
    background-color: #fff;
    cursor: pointer;
    flex-shrink: 0;
}

.custom-checkbox .form-check-input:checked {
    background-color: #E0FF6A;
    border-color: #E0FF6A;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231D2329' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 10l3 3l5-6'/%3e%3c/svg%3e");
    background-size: 16px;
    background-position: center;
    background-repeat: no-repeat;
}

.custom-checkbox .form-check-input:focus {
    box-shadow: none;
    border-color: #ccc;
}

.custom-checkbox .form-check-input:checked:focus {
    border-color: #E0FF6A;
}

.custom-checkbox .form-check-label {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    color: #1D2329;
    letter-spacing: -0.28px;
    line-height: 22px;
    margin: 0;
    cursor: pointer;
}

/* reCAPTCHA v3 notice */
.recaptcha-notice {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #1D2329;
    letter-spacing: -0.28px;
    line-height: 22px;
}

/* Footer padding handled in global-styles.css */

/* Validation error message styles (TT-799) */
span.text-danger {
    color: #ff5a5a !important;
    font-size: .75rem !important;
}

/* Invalid input border (TT-799) */
.form-control.input-validation-error {
    border-color: #ff5a5a !important;
}

/* Required asterisk - same color as label (TT-799) */
.custom-checkbox .required,
.custom-input .required {
    color: inherit !important;
}

/* Registration Success page styles */
.success-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    min-height: 300px;
}

.success-subtitle {
    font-family: Montserrat, sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #858CA4;
    margin-bottom: 0.5rem;
    text-align: center;
}

.success-title {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #1D2329;
    margin-bottom: 1rem;
    text-align: center;
}

.success-message {
    font-family: Montserrat, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #858CA4;
    margin-bottom: 2rem;
    text-align: center;
    max-width: 400px;
}

.success-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: #E0FF6A;
    color: #1D2329;
    border: none;
    border-radius: 30px;
    padding: 12px 32px;
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.success-btn:hover {
    background-color: #d4f55e;
    color: #1D2329;
    text-decoration: none;
}

.success-btn svg {
    width: 20px;
    height: 20px;
}

/* Forgot password link styles (TT-636) */
a.forgot-password-link {
    font-family: Montserrat, sans-serif;
    font-weight: 400;
    font-size: 0.75em;
    line-height: 1;
    color: #858CA4 !important;
    text-decoration: none !important;
}

a.forgot-password-link:hover,
a.forgot-password-link:active {
    text-decoration: underline !important;
}

/* Page alerts inside form (TT-806) */
/* Hide alerts rendered by layout (outside card) */
#AbpPageAlerts {
    display: none !important;
}

/* Show alerts inside card-body */
.card-body #AbpPageAlerts {
    display: block !important;
}

/* Style alerts inside form */
.card-body #AbpPageAlerts .alert {
    background-color: #FFEBEB;
    border: 1px solid #EF9A9A;
    border-radius: 1rem;
    color: #C62828;
    font-family: Montserrat, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.25rem;
    letter-spacing: -0.02em;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.card-body #AbpPageAlerts .alert .btn-close {
    display: none !important;
}

/* Inline form alerts (e.g., expired link) */
.card-body .form-alert {
    background-color: #FFEBEB;
    border: 1px solid #EF9A9A;
    border-radius: 1rem;
    color: #C62828;
    font-family: Montserrat, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.25rem;
    letter-spacing: -0.02em;
    padding: 1rem 1.25rem;
}

/* Hide tenant switcher in account pages (TT-906) */
.card:has(#AbpTenantSwitchLink) {
    display: none !important;
}