/*
Styles for the login form.
*/

body {
    background-color: #272727;
}

div#main {
    min-height: 100vh;
    height: auto;
}

div#main-content {
    min-height: calc(100vh - 95px);
    height: auto;
    float: none;
}

div#login-main {
    min-height: calc(100vh - 182px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px 64px;
    box-sizing: border-box;
    background:
        radial-gradient(circle at top, rgba(253, 153, 33, 0.14), rgba(39, 39, 39, 0) 34%),
        linear-gradient(180deg, #313131 0%, #272727 55%, #1f1f1f 100%);
}

div#login-main.auth-login-page {
    background:
        linear-gradient(180deg, rgba(20, 20, 20, 0.58) 0%, rgba(20, 20, 20, 0.72) 100%),
        radial-gradient(circle at top, rgba(253, 153, 33, 0.18), rgba(39, 39, 39, 0) 34%),
        url("../img/login_right.jpg") center center / cover no-repeat;
}

.auth-layout {
    width: 100%;
    display: flex;
    justify-content: center;
}

.auth-card,
.user-login-wrapper,
#otp-verification-wrapper {
    width: min(100%, 420px);
    padding: 32px 36px;
    box-sizing: border-box;
    border: 1px solid #3b3b3b;
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(58, 58, 58, 0.95) 0%, rgba(39, 39, 39, 0.98) 100%);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.32);
}

.user-login {
    text-align: left;
}

.auth-copy {
    margin-bottom: 18px;
}

.auth-copy p,
div#user-login p,
p.login-header {
    color: white;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
}

.auth-subtitle {
    display: block;
    margin-top: 10px;
    color: #a3a3a3;
    font-size: 12px;
    line-height: 1.5;
}

div#error-message {
    min-height: 18px;
    margin-bottom: 8px;
    color: #ff7d7d;
    font-size: 11px;
    font-weight: bold;
}

.login-form-entry-div {
    margin: 0 0 16px;
}

.login-form-entry-div > label:first-child,
.login-form-entry-div > input[type=checkbox] + label {
    display: block;
    margin-bottom: 6px;
    color: #c7c7c7;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.03em;
}

div#user-login input[type=text],
div#user-login input[type=password],
.login-form-entry-div input[type=text],
.login-form-entry-div input[type=password],
#otp {
    width: 100%;
    height: 34px;
    padding: 7px 10px;
    box-sizing: border-box;
    background-color: #414141;
    color: white;
    font-size: 13px;
    font-weight: var(--input-font-weight);
    border: 1px solid #111111;
}

#otp {
    text-align: center;
    letter-spacing: 0.18em;
}

.black-border {
    border: 1px solid black;
}

div#remember-div {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0 18px;
}

div#remember-div input[type=checkbox] {
    margin: 0;
}

.remember-label {
    color: #a3a3a3;
    font-size: 12px;
}

.auth-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
}

.auth-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #3a3a3a;
}

div#user-login input[type=submit],
div#user-login input[type=button] {
    min-width: 110px;
    height: var(--button-control-height);
    padding: 0 16px;
}

.link {
    font-size: 11px;
    line-height: 1.4;
}

.link,
.link:visited {
    color: #a3a3a3;
}

.link:hover {
    color: #fd9921;
}

.invisible {
    display: none;
}

.visible {
    display: block;
}

#username-error,
#password-error {
    margin-top: 6px;
    font-size: 10px;
    color: #ff7d7d;
    clear: both;
    display: block;
}

input.error {
    border: 1px solid #ff7d7d;
}

@media screen and (max-width: 912px) {
    div#login-main {
        min-height: auto;
        padding: 28px 16px 36px;
        background:
            radial-gradient(circle at top, rgba(253, 153, 33, 0.18), rgba(39, 39, 39, 0) 32%),
            linear-gradient(180deg, #2c2c2c 0%, #262626 100%);
    }

    div#login-main.auth-login-page {
        background:
            linear-gradient(180deg, rgba(20, 20, 20, 0.7) 0%, rgba(20, 20, 20, 0.82) 100%),
            radial-gradient(circle at top, rgba(253, 153, 33, 0.16), rgba(39, 39, 39, 0) 30%),
            url("../img/login_right.jpg") center center / cover no-repeat;
    }

    .auth-card,
    .user-login-wrapper,
    #otp-verification-wrapper {
        width: 100%;
        padding: 24px 20px;
        border-radius: 8px;
    }

    .auth-actions,
    .auth-footer {
        flex-direction: column;
        align-items: stretch;
    }

    div#user-login input[type=submit],
    div#user-login input[type=button] {
        width: 100%;
    }

    .auth-footer .link,
    .auth-actions .link {
        text-align: center;
    }
}
