body {
    min-height: 100vh;
    width: 100vw;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* ==================================Login page================================== */
html[data-contrast="high"] .conInput,
html[data-contrast="high"] .checkbox,
html[data-contrast="high"] input,
html[data-contrast="high"] .loginCon {
    background-color: #000000 !important;
    border-color: var(--borderColor) !important;
    color: var(--primaryColor) !important;
}

.loginCon {
    background-color: var(--primaryColor);
    width: 85%;
    max-width: 40rem;
    height: auto;
    min-height: 60vh;
    border-radius: var(--borderRadius);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0.5vw 1vw 2vw var(--borderColor);
    color: var(--bgColor);
    padding: 3% 3%;
    box-sizing: border-box;
}   

.conInput,
.checkbox {
    color: var(--bgColor);
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 2%;
}

.conInput p {
    margin-bottom: 0;
}

.loginCon img {
    width: 50%;
}

.checkbox {
    color: var(--bgColor);
    width: 100%;
    flex-direction: row;
    gap: 2%;
    margin-bottom: 1.5rem;
}

.checkbox input {
    width: 3%;
    aspect-ratio: 1;
}

.checkbox p {
    margin: 0;
}

.loginCon .conInput input {
    color: var(--textColor);
    width: 100%;
    padding: 3% 4%;
    border-radius: 0.75rem;
    border: 2px solid var(--bgColor);
    box-sizing: border-box;
}

.loginCon .btnLogin {
    width: 100%;
    border-radius: var(--borderRadius);
    height: 4vh;
}

.conInputOTP {
    color: var(--bgColor);
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2%;
}


.loginCon .conInputOTP input {
    color: var(--textColor);
    width: 100%;
    padding: 3% 4%;
    border-radius: 0.75rem;
    border: none;
    box-sizing: border-box;
    font-size: 1.5rem;
    letter-spacing: 1rem;
    text-align: center;
}

.a11yControls {
    padding: 5% 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* Creates two equal-width columns */
    gap: 0.75rem;
    /* Controls space between buttons */
    width: 100%;
    box-sizing: border-box;
}

.a11yBtn {
    width: 100%;
    /* Ensures button fills its grid cell entirely */
    box-sizing: border-box;
}