/* Base styles */
body {
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
    background: #f4f7fa;
    padding: 0;
    margin: 0;
   
}

.center {
    min-height: 100vh;
    display: flex;
    
    justify-content: center;
}

.card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 6px 32px rgba(44,62,80,0.10);
}



/* Typography */
h2 {
    margin-top: 0;
    font-size: 2rem;
    color: #1a7c1a;
    font-weight: 700;
    letter-spacing: 1px;
}

.page-description {
    color: #34495e;
    margin-bottom: 22px;
}

/* Form elements */
label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #34495e;
    font-size: 1.1em;
    padding: 0 0 0 5px;
}

input, select {
    width: 100%;
    padding: 8px 16px;
    margin-bottom: 10px;
    border-radius: 10px;
    border: 1.5px solid #dbe6ea;
    background: #f8fafc;
    font-size: 1.15em;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

input:focus, select:focus {
    border-color: #1a7c1a;
    box-shadow: 0 0 0 2px #eafbe7;
    outline: none;
}

input:disabled, select:disabled {
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
    opacity: 0.8;
}

select[data-readonly="true"] {
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
    opacity: 0.8;
}

/* Buttons */

button, .btn {
    width: 100%;
    padding: 18px;
    border-radius: 10px;
    border: none;
    font-weight: 700;
    font-size: 1.2em;
    color: #fff;
    box-shadow: 0 2px 8px rgba(44,62,80,0.08);
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    margin-bottom: 10px;
    text-decoration: none;
    text-align: center;
    display: block;
}
/*
button:active, .btn:active {
    background: linear-gradient(90deg,#168c2a 60%,#27ae60 100%);
    box-shadow: 0 4px 16px rgba(44,62,80,0.12);
}

button:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.back-btn {
    background: linear-gradient(90deg,#7f8c8d 60%,#95a5a6 100%);
    margin-top: 10px;
}

.back-btn:active {
    background: linear-gradient(90deg,#6c7b7d 60%,#839496 100%);
}

.resend-btn {
    background: linear-gradient(90deg,#3498db 60%,#5dade2 100%);
}

.resend-btn:active {
    background: linear-gradient(90deg,#2980b9 60%,#4a90e2 100%);
}

.register-another-btn {
    color: #1a7c1a;
    text-decoration: none;
    font-weight: 600;
    padding: 10px 20px;
    border: 2px solid #1a7c1a;
    border-radius: 8px;
    transition: all 0.2s;
    background: transparent;
}

.register-another-btn:hover {
    background: #1a7c1a;
    color: white;
}
    */



/* Messages */
.msg {
    margin-bottom: 22px;
    padding: 14px;
    border-radius: 10px;
    color: #c0392b;
    background: #fff6f6;
    font-weight: 500;
    text-align: center;
    border: 1.5px solid #f5c6cb;
    font-size: 1.1em;
}

.info-msg {
    margin: 35px 0;
    padding: 14px;
    border-radius: 10px;
    color: #1a7c1a;
    background: #eafbe7;
    font-weight: 500;
    text-align: center;
    border: 1.5px solid #d4edda;
    font-size: 1.1em;
}

.resend-msg {
    margin-top: 10px;
    padding: 10px;
    border-radius: 8px;
    color: #168c2a;
    background: #eafbe7;
    text-align: center;
    font-size: 0.9em;
    display: none;
}

.success {
    margin-top: 18px;
    padding: 24px 12px;
    border-radius: 14px;
    background: #eafbe7;
    text-align: center;
    box-shadow: 0 2px 8px rgba(44,62,80,0.08);
}

.success-title {
    font-size: 1.2em;
    font-weight: 600;
    color: #168c2a;
}

.success-description {
    margin: 10px 0;
    color: #34495e;
}

.code {
    font-size: 2.4em;
    font-weight: bold;
    color: #1a7c1a;
    letter-spacing: 2px;
    margin: 18px 0 10px 0;
    text-shadow: 0 2px 8px #eafbe7;
}

.code-description {
    margin-top: 10px;
    color: #34495e;
}

.register-another-container {
    margin-top: 20px;
}

/* Utility classes */
.hidden {
    display: none;
}

/* Debug styles */
.debug {
    background: #f0f0f0;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    font-family: monospace;
    font-size: 12px;
}





/* Responsive design */
@media (max-width: 600px) {
    .card {
        padding: 12px 4vw 18px 4vw;
        border-radius: 10px;
    }

    h2 {
        font-size: 1.3rem;
    }

    input, select {
        padding: 8px 10px;
        font-size: 1em;
    }

    button, .btn {
        padding: 14px;
        font-size: 1em;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .card {
        max-width: 90vw;
        padding: 24px 8vw 24px 8vw;
    }
}

/*         Register Page Style  */

/* Header logo section */

.header-logo {
    width: 200px;
    margin: 0 auto;
    transform: translateX(10px);
    
}

.header-logo img {
    width: 100%;
    text-align: center;

}
.logoDivision {
    background: #d8d4d4;
    height:.5px;
    width: 100%;
    margin: 10px 0;
}
.card .welcomeText {

    margin: 12px 0 30px 0;
    padding: 0 20px;
    text-align: center;
    color: #fbae29;
}
.submitButton {
    /*background: linear-gradient(90deg,#a279b6 90%,#ffffff 100%);*/
    background-color: #fbae29;
    color: #fff;
}
.highlightSec
{
    border: 1px solid #d8d4d4;
    padding: 30px 10px 10px 10px;
    position: relative;

   
}
    .highlightSec .overlapContent {
        position: absolute;
        top: -20px;
        left: 50%;
        width: 230px;
        margin: 0;
        background: #fff;
        font-weight: 600;
        padding: 5px 10px;
        font-size: 1.1em;
        color: #a279b6;
        transform: translateX(-50%);
        text-align: center;
    }
.secGroup {
    margin-bottom: 20px;
}
.optionalbody {
    background: #a279b6;
    border-radius: 5px;
    padding: 10px;
    color: #fff;
}

.optionalbody label{
    color: #fff;
}
.optionalContent {
    display: none;
    margin-top: 20px;
}
.collapseHeader {
    padding: 0 0 0 5px;
    margin: 0;
}
/* Footer Styles */
.body-footer {
    margin: 5px 0 0 0;
}

.footer-logo {
    width: 150px;
    margin: 5px auto;

}

.footer-logo img {
    width: 100%;
    text-align: center;
}

.footer-disclaimer p {
    color: #605d5d;
    text-align: center;
    padding:0px;
    margin:0px;
}

/* Verify OTP page styles */
.card a {
    text-decoration: none;
}
#otpCode {
    width: 100%;
}
.page-title {
    color: #fbae29;
    margin-top: 20px;
}
.inner-msg{
    font-size: 1.2em;
}
.info-msg h5 {
    margin-top: 15px;
}
.linkSec {
    margin-top: 15px;
    padding: 0 5px;
}
.confirmButton {
    background-color: #fbae29;
    color: #ffffff;
    margin-top: 20px;
}
/* Success Page Styles*/
.success h2{
    margin-bottom: 30px;
}
.instructions h2{
    margin: 10px 0;
}
