/* Onboarding */
.skip-mfa-button {
background-image: linear-gradient(to right, #8d8783, #4e4b48) !important;
margin-top: 20px;
}
.skip-mfa-button:hover {
background-image: linear-gradient(to right, #4e4b48, #8d8783) !important;
cursor: pointer;
}
#sendVerificationCodeBtn {
position: relative;
bottom: 30px;
}
.SMS-authentication {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #2c2d3f;
border-radius: 20px;
padding:10px;  
}
.TOTP-authentication {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #2c2d3f;
border-radius: 20px;  
padding-bottom:50px;
}
.totp-mfa-error {
color: rgb(251, 105, 105) !important;
margin-top:40px !important;
display: none;
}
.totp-code-button {
background-image: linear-gradient(to right, #4b79a1, #283e51) !important;
margin-top: 20px;
}
#action-status-2 {
/* Green */
background: linear-gradient(to right, #11998e, #38ef7d); 
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.mfa-factor-select {
position: relative;
bottom: 30px;
width: 250px;
height: 70px;
}
.mfa-title {
font-size:20px;
}
#popup-content {
background-color: #ffffff; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0,0,0,0.05);
padding: 20px;
border-radius: 10px;
text-align: center;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.popup-content p {
color: #6b7280 !important;
}
#passwordSetPopup {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
}
#passwordSetPopup .popup-content {
background-color: #ffffff; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0,0,0,0.05);
margin: 15% auto;
padding: 20px;
border: none;
width:300px;
border-radius: 5px;
text-align: center;
position: relative; /* Add relative positioning for absolute child elements */
}
#passwordSetPopup span {
color: #bbb;
}
#passwordStrengthIndicators {
margin-bottom: 10px; 
}
#passwordStrengthIndicators span {
display: block; /* Stack the indicators vertically */
font-size: 14px;
margin-bottom: 5px;
}
/* Password input container wrapper */
#passwordSetPopup .password-input-container {
position: relative;
display: inline-block;
width: 100%;
margin: 10px 0;
}

#passwordSetPopup .popup-content input[type="password"], 
#passwordSetPopup .popup-content input[type="text"] {
width: 100%;
padding-right: 45px; /* Make space for the icon */
color: black;
box-sizing: border-box;
}

#passwordSetPopup .material-symbols-outlined {
position: absolute;
top: 50%;
right: 10px;
transform: translateY(-50%);
cursor: pointer;
font-size: 1.2em;
color: #6b7280;
pointer-events: all;
z-index: 10;
}
#passwordSetPopup input {
color: #6b7280 !important;
}
#passwordSetForm {
margin-top: -20px;
}

/* Mobile responsive spacing for password popup title */
@media (max-width: 768px) {
#passwordSetPopup .popup-content {
padding: 30px 20px; /* Increase top/bottom padding on mobile */
margin: 10% auto; /* Reduce top margin for better mobile fit */
}

#passwordSetForm {
margin-top: 10px; /* Add proper spacing between title and form on mobile */
}

/* Add spacing for password popup title */
#passwordSetPopup .popup-content h2,
#passwordSetPopup .popup-content h3 {
margin-bottom: 20px !important; /* Ensure title has bottom spacing */
margin-top: 0 !important; /* Remove top margin to avoid double spacing */
}
}
#recaptcha-container {
margin: 20px 0; 
}
#mfaPopup {
display: none; /* Hide the popup initially */
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
.mfa-popup-content {
background: linear-gradient(145deg, #ffffff, #f8fafc);
border: 1px solid rgba(226, 232, 240, 0.8);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 8px 16px rgba(0, 0, 0, 0.1);
margin: 5% auto;
padding: 32px 24px;
width: 400px;
max-width: 90vw;
border-radius: 20px;
text-align: center;
backdrop-filter: blur(10px);
position: relative;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mfa-popup-content::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
border-radius: 20px 20px 0 0;
}

/* MFA popup titles */
.mfa-popup-content h2,
.mfa-popup-content h3 {
color: #1f2937;
margin-bottom: 24px;
margin-top: 0;
font-weight: 600;
line-height: 1.3;
}

.mfa-popup-content h2 {
font-size: 24px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

.mfa-popup-content h3 {
font-size: 18px;
color: #4b5563;
}
#mfaPopup input[type="text"],
#mfaPopup input[type="number"] {
width: 100%;
padding: 14px 16px;
margin: 12px 0;
border: 2px solid #e5e7eb;
border-radius: 12px;
font-size: 16px;
color: #374151;
background: rgba(255, 255, 255, 0.9);
transition: all 0.3s ease;
box-sizing: border-box;
}

#mfaPopup input[type="text"]:focus,
#mfaPopup input[type="number"]:focus {
outline: none;
border-color: #667eea;
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
background: #ffffff;
transform: translateY(-1px);
}

#mfaPopup input[type="text"]::placeholder,
#mfaPopup input[type="number"]::placeholder {
color: #9ca3af;
font-size: 14px;
}
#mfaPopup select {
width: 120px;
height: 52px;
padding: 14px 12px;
margin: 12px 0;
border: 2px solid #e5e7eb;
border-radius: 12px 0 0 12px;
font-size: 16px;
color: #374151;
background: linear-gradient(145deg, #ffffff, #f9fafb);
transition: all 0.3s ease;
appearance: none;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
background-position: right 12px center;
background-repeat: no-repeat;
background-size: 16px;
padding-right: 40px;
}

#mfaPopup select:focus {
outline: none;
border-color: #667eea;
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.phone-input-group {
display: flex;
align-items: stretch;
margin: 12px 0;
border-radius: 12px;
overflow: hidden;
}

.phone-input-group select {
margin: 0;
border-radius: 12px 0 0 12px;
border-right: none;
}

.phone-input-group input {
margin: 0;
border-radius: 0 12px 12px 0;
flex: 1;
border-left: none;
}
#mfaPopup p {
color: #6b7280;
font-size: 14px;
line-height: 1.6;
margin: 16px 0;
}

#mfaPopup p.mfa-description {
background: linear-gradient(135deg, #f59e0b, #d97706);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 500;
}

#mfaPopup button:not(.skip-mfa-button) {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #ffffff;
border: none;
padding: 14px 28px;
border-radius: 12px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
margin: 8px;
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

#mfaPopup button:not(.skip-mfa-button):hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
}

#mfaPopup button:not(.skip-mfa-button):active {
transform: translateY(0);
box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}
#mfaMessage {
margin-top: 16px;
padding: 12px 16px;
border-radius: 8px;
font-size: 14px;
}

#mfaMessage.success {
background: linear-gradient(145deg, #d1fae5, #a7f3d0);
color: #065f46;
border: 1px solid #10b981;
}

#mfaMessage.error {
background: linear-gradient(145deg, #fef2f2, #fecaca);
color: #991b1b;
border: 1px solid #ef4444;
}

/* MFA authentication sections styling */
.SMS-authentication,
.TOTP-authentication {
background: linear-gradient(145deg, #f8fafc, #e2e8f0);
border: 1px solid rgba(226, 232, 240, 0.8);
border-radius: 16px;
padding: 24px;
margin: 16px 0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.SMS-authentication h3,
.TOTP-authentication h3 {
color: #1f2937 !important;
margin-bottom: 16px;
font-size: 18px;
font-weight: 600;
}

.SMS-authentication p,
.TOTP-authentication p {
color: #4b5563 !important;
background: none !important;
-webkit-text-fill-color: initial !important;
line-height: 1.5;
}

/* Input styling within authentication sections */
.SMS-authentication input,
.TOTP-authentication input {
background: rgba(255, 255, 255, 0.9);
border: 2px solid #d1d5db;
color: #374151;
}

.SMS-authentication input:focus,
.TOTP-authentication input:focus {
border-color: #667eea;
background: #ffffff;
}

/* Button styling within authentication sections */
.SMS-authentication button,
.TOTP-authentication button {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #ffffff;
border: none;
padding: 12px 20px;
border-radius: 10px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
}

.SMS-authentication button:hover,
.TOTP-authentication button:hover {
transform: translateY(-1px);
box-shadow: 0 6px 16px rgba(102, 126, 234, 0.3);
}

/* Mobile responsive improvements */
@media (max-width: 768px) {
.mfa-popup-content {
margin: 2% auto;
padding: 24px 16px;
width: 95vw;
max-width: 400px;
}

.phone-input-group {
flex-direction: column;
}

.phone-input-group select,
.phone-input-group input {
border-radius: 12px;
border: 2px solid #e5e7eb;
margin: 4px 0;
}

#mfaPopup button:not(.skip-mfa-button) {
width: 100%;
margin: 8px 0;
}
}
#emailInputPopup {
/* Same basic modal styles as other popups */
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
#emailInputPopup .popup-content {
/* Same content styles as other popups */
background-color: #ffffff; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
margin: 15% auto;
padding: 20px;
border: none;
width: 350px;
border-radius: 10px;
text-align: center;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
#emailInputPopup p {
/* Orange */
background: linear-gradient(to right, #994711, #ef8a38); 
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
#emailInputPopup input[type="email"] {
width: calc(100% - 22px);
padding: 10px;
margin: 10px 0;  
color: #6b7280;
}
#emailInputPopup button {
background-color: #10b981; /* Green */
color: white;
padding: 10px 20px;
margin: 10px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
#emailInputPopup #emailInputMessage {
margin-top: 10px;
color: rgb(234, 78, 78); /* Or any color you prefer for error messages */
}
#smsPreferencePopup {
/* Same basic modal styles as other popups */
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
#smsPreferencePopup .popup-content {
/* Same content styles as other popups */
background-color: #ffffff; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
margin: 15% auto;
padding: 20px;
border: none;
width: 350px;
border-radius: 10px;
text-align: center;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
#smsPreferencePopup button {
background-color: #10b981; /* Green */
color: white;
padding: 10px 20px;
margin: 10px; /* Add some margin around buttons */
border: none;
border-radius: 4px;
cursor: pointer;
}
#mfa-authentication-text {
display: none;
position: relative;
z-index: 2;

max-width: 520px;
width: calc(100% - 32px);
box-sizing: border-box;

margin: 18px auto 10px;
padding: 14px 18px;
border-radius: 16px;
text-align: center;
font-size: 13px;
line-height: 1.45;
color: #2c2d3f;

background: rgba(103, 126, 234, 0.10);
border: 1px solid rgba(103, 126, 234, 0.25);
box-shadow: 0 16px 40px rgba(74, 85, 162, 0.18), 0 4px 14px rgba(0, 0, 0, 0.08);
}

#mfa-authentication-text::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
border-top-left-radius: 16px;
border-top-right-radius: 16px;
background: linear-gradient(90deg, #4b79a1, #8d8783, #4b79a1);
}

#mfa-authentication-text .tip {
font-weight: 700;
}

#enable-MFA {
text-decoration: underline;
font-weight: 600;
cursor: pointer;
}

#do-not-show-mfa {
display: inline-block;
margin-top: 10px;
text-decoration: underline;
cursor: pointer;
opacity: 0.9;
}



#emailVerificationPopup {
display: none; 
font-size: 13px; 
padding: 20px;
margin-left: auto;
margin-right: auto;
max-width: 350px;
background: rgba(103, 126, 234, 0.08) !important;
color: #2c2d3f !important;
text-align: center !important;
padding: 40px 20px !important;
border-radius: 20px !important;
box-shadow: 0 20px 60px rgba(74, 85, 162, 0.25), 0 4px 16px rgba(0, 0, 0, 0.08) !important;
overflow: hidden !important;
position: relative !important;
border: 2px solid transparent !important;
background-clip: padding-box !important;
}
#emailVerificationPopup::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #4b79a1, #8d8783, #4b79a1);
}
#emailVerificationPopup h3 {
color: #2c2d3f !important;
margin-bottom: 15px;
font-weight: 600;
}
#emailVerificationPopup .email-unverified {
background: linear-gradient(135deg, #ff6b6b, #ee5a52);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}




.email-unverified {
color: rgb(234, 113, 113);
font-size: 16px;
}
.resend-verification-email {
color: rgb(77, 77, 228);
cursor: pointer;
text-decoration: underline;
font-size: 16px;
}
.verification-email-sent {
display: none;
/* Green */
background: linear-gradient(to right, #11998e, #38ef7d) !important; 
background-clip: text !important;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent !important;
}
.verification-email-sent-error {
color: #f1645a;
display: none;
}
.hide-email-verification {
color: rgb(69, 68, 68);
cursor: pointer;
text-decoration: underline;
}
.tip {
color: #dd5c5c;
}

#enable-MFA {
color:#4158D0;
cursor: pointer;
text-decoration: underline !important;
}
.do-not-show-mfa {
cursor: pointer;
text-decoration: underline !important;
}
.closeMfaPopup {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
#secret-key-text {
/* I need to move to next line so it does not overflow */
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-word;
white-space: normal;
margin: 5px;
margin-top: 10px;
}
.skip-mfa-button {
/* Silver */
background-image: linear-gradient(to right, #8d8783, #4e4b48) !important;
margin-top: 20px;
}
.skip-mfa-button:hover {
background-image: linear-gradient(to right, #4e4b48, #8d8783) !important;
cursor: pointer;
}

