/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

.login-form {
    width: min(448px, calc(100% - 32px));
    margin: 0 auto;
}

.login-form form {
    margin: 0;
    padding: 24px;
    border-radius: 14px;
    background: #eef4fa;
    box-shadow: 0 18px 34px rgba(35, 58, 77, .18);
}

body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    background: #f8fafc;
    color: #536d82;
    font-family: "Roboto Mono", monospace;
}

.login-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 26px;
    color: #087b9b;
    font-family: Arial, sans-serif;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: -2px;
}

.login-brand img {
    width: 82px;
    height: 58px;
    object-fit: contain;
}

.login-form .form-group {
    margin-bottom: 23px;
}

.login-form label {
    display: block;
    margin: 0 0 8px;
    color: #536d82;
    font-size: 13px;
    font-weight: 400;
}

.login-form .form-control {
    width: 100%;
    height: 45px;
    min-height: 45px;
    padding: 10px 13px;
    border: 1px solid #e0e8ef;
    border-radius: 8px;
    background: #f4f8fc;
    color: #17384e;
    font-family: "Roboto Mono", monospace;
    font-size: 13px;
    box-shadow: inset 0 1px 2px rgba(40, 76, 96, .03);
}

.login-form .form-control:focus {
    border-color: #49b6d0;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(73, 182, 208, .14);
}

.login-form .form-control::placeholder {
    color: #6f8496;
    opacity: 1;
}

.password-field {
    position: relative;
}

.password-field .form-control {
    padding-right: 42px;
}

.password-visibility {
    position: absolute;
    top: 15px;
    right: 13px;
    color: #087b9b;
    font-size: 14px;
}

.login-form .btn-primary {
    height: 44px;
    min-height: 44px;
    margin-top: 16px;
    border: 0;
    border-radius: 7px;
    background: #087b9b;
    color: #fff;
    font-family: "Roboto Mono", monospace;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}

.login-form .btn-primary:hover,
.login-form .btn-primary:focus {
    background: #096b85;
    color: #fff;
    outline: 0;
}

.login-form-hide {
    display: none;
}

@media (max-width: 480px) {
    .login-form form {
        padding: 22px 18px;
    }

    .login-brand {
        font-size: 32px;
    }
}
