/* Email Verification Popup - Figma Specifications */

/* Overlay */
.email-verification-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    display: none;
    overflow-y: auto;
}

.email-verification-overlay.active {
    display: block;
}

/* Popup */
.email-verification-popup {
    /* Auto layout */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 36px;
    gap: 24px;
    isolation: isolate;
    
    position: absolute;
    width: 460px;
    min-height: 346px;
    max-height: max-content;
    left: calc(50% - 460px/2);
    top: 50px;
    margin-bottom: 50px;
    
    /* White/White-Main */
    background: #FFFFFF;
    box-shadow: 0px 16px 30px -10px rgba(26, 34, 56, 0.2);
    border-radius: 20px;
    
    z-index: 10001;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease;
}

.email-verification-popup.active {
    visibility: visible;
    opacity: 1;
}

/* Heading */
.email-verification-heading {
    /* Auto layout */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    
    width: 388px;
    height: 82px;
    
    /* Inside auto layout */
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    z-index: 0;
}

/* Email Verification Title */
.email-verification-title {
    width: 388px;
    height: 30px;
    
    /* Desktop/H4 */
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 30px;
    /* identical to box height, or 150% */
    
    /* Main/Black Sea */
    color: #1A2238;
    
    /* Inside auto layout */
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    margin: 0;
}

/* Description - On [email] verification code was sent */
.email-verification-description {
    width: 388px;
    height: 44px;
    
    /* Desktop/Regular-16px */
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    /* or 138% */
    
    /* Grey/Grey-text */
    color: #9197A6;
    
    /* Inside auto layout */
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
    margin: 0;
}

/* Style for the email span */
.email-verification-description #user-email-display {
    color: #034C95;
}

/* Add square brackets before and after email */
.email-verification-description #user-email-display::before {
    content: "[";
    color: #034C95;
}

.email-verification-description #user-email-display::after {
    content: "]";
    color: #034C95;
}

/* Close Button - Frame 37148 */
.email-verification-close {
    box-sizing: border-box;
    
    position: absolute;
    width: 20px;
    height: 20px;
    right: 14px;
    top: 14px;
    
    /* Grey/Grey-borders */
    border: 0.5px solid #D9D9D9;
    border-radius: 80px;
    
    /* Inside auto layout */
    flex: none;
    order: 1;
    flex-grow: 0;
    z-index: 1;
    
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.email-verification-close::before,
.email-verification-close::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 1.5px;
    background: #1A2238;
    left: calc(50% - 5px);
    top: calc(50% - 0.75px);
}

.email-verification-close::before {
    transform: rotate(45deg);
}

.email-verification-close::after {
    transform: rotate(-45deg);
}

.email-verification-close:hover {
    background: #F5F5F5;
}

/* Input Container */
.email-verification-input {
    /* Auto layout */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    
    width: 388px;
    height: 104px;
    
    /* Inside auto layout */
    flex: none;
    order: 2;
    align-self: stretch;
    flex-grow: 0;
    z-index: 2;
}

/* Label - Enter code*/
.email-verification-label {
    width: 388px;
    height: 22px;
    
    /* Desktop/Regular-14px */
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    /* identical to box height, or 157% */
    
    /* Dark/Dark-Main */
    color: #1A2238;
    
    /* Inside auto layout */
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

/* Code Input Container - Frame 37152 */
.email-verification-code-container {
    /* Auto layout */
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    
    width: 388px;
    height: 48px;
    
    /* Inside auto layout */
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
}

/* Individual Code Input Fields */
.email-verification-code-input {
    /* Auto layout */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 12px;
    gap: 8px;
    
    width: 58px;
    height: 48px;
    
    /* Grey/Grey-BG */
    background: #F8F8FB;
    border-radius: 6px;
    border: none;
    outline: none;
    
    /* Text style */
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #1A2238;
    
    /* Inside auto layout */
    flex: none;
    flex-grow: 1;
    
    transition: all 0.2s ease;
}

/* Input states */
.email-verification-code-input:focus {
    background: #FFFFFF;
    box-shadow: 0 0 0 2px #034C95;
}

.email-verification-code-input.filled {
    background: #FFFFFF;
    border: 1px solid #D9D9D9;
}

.email-verification-code-input.error {
    background: #FEF2F2;
    border: 1px solid #EF4444;
}

/* Resend Link */
.email-verification-resend {
    width: 388px;
    height: 18px;
    
    /* Desktop/regular-12px */
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    /* identical to box height, or 150% */
    text-decoration-line: underline;
    
    /* Main/Sweather */
    color: #034C95;
    
    /* Inside auto layout */
    flex: none;
    order: 2;
    align-self: stretch;
    flex-grow: 0;
    
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    text-align: left;
    transition: color 0.2s ease;
}

.email-verification-resend:hover {
    color: #023A72;
}

.email-verification-resend:disabled {
    color: #9197A6;
    cursor: not-allowed;
    text-decoration: none;
}

/* Error message */
.email-verification-error {
    color: #EF4444;
    font-family: 'Rubik';
    font-size: 12px;
    line-height: 18px;
    margin-top: 4px;
    display: none;
}

.email-verification-error.active {
    display: block;
}

/* Accept Button - Buttons orange */
.email-verification-accept {
    /* Auto layout */
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    gap: 8px;
    
    width: 388px;
    height: 40px;
    
    /* Orange/Orange-Main */
    background: #FF6A3D;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    
    /* Inside auto layout */
    flex: none;
    order: 3;
    align-self: stretch;
    flex-grow: 0;
    z-index: 3;
    
    transition: background 0.2s ease;
}

.email-verification-accept:hover:not(:disabled) {
    background: #E55A30;
}

.email-verification-accept:disabled {
    background: #E5E7EB;
    cursor: not-allowed;
}

/* Accept Button Label */
.email-verification-accept-label {
    /* Label */
    width: 53px;
    height: 24px;
    
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    /* identical to box height, or 150% */
    
    /* White */
    color: #FFFFFF;
    
    /* Inside auto layout */
    flex: none;
    order: 0;
    flex-grow: 0;
}

.email-verification-accept:disabled .email-verification-accept-label {
    color: #9CA3AF;
}

/* Loading state */
.email-verification-accept.loading {
    position: relative;
}

.email-verification-accept.loading .email-verification-accept-label {
    visibility: hidden;
}

.email-verification-accept.loading::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-left: -10px;
    margin-top: -10px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spinner 0.6s linear infinite;
}

@keyframes spinner {
    to { transform: rotate(360deg); }
} 