* {
    box-sizing:border-box;
}


html,
body {
    margin:0;

    min-height:100%;

    background:#080d12;

    color:#f2f5f8;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


body {
    min-height:100vh;
}


.nh-login {
    min-height:100vh;

    display:grid;

    place-items:center;

    padding:36px 20px;
}


.nh-login-box {
    width:min(100%, 430px);
}


.nh-login-brand {
    display:flex;

    justify-content:center;

    margin-bottom:30px;
}


.nh-login-brand img {
    width:58px !important;
    height:58px !important;

    min-width:58px !important;
    min-height:58px !important;

    max-width:58px !important;
    max-height:58px !important;

    object-fit:contain !important;
}


.nh-login-heading {
    margin-bottom:34px;
}


.nh-login-heading h1 {
    margin:0;

    color:#f5f7fa;

    font-size:32px;

    line-height:1.1;

    font-weight:760;

    letter-spacing:-.035em;
}


.nh-login-heading p {
    margin:9px 0 0;

    color:#8c96a5;

    font-size:14px;
}


.nh-login-field {
    margin-bottom:20px;
}


.nh-login-field label {
    display:block;

    margin-bottom:9px;

    color:#b5bdc8;

    font-size:13px;

    font-weight:600;
}


.nh-login-field input {
    width:100%;

    height:52px;

    padding:0 15px;

    border:
        1px solid
        #34404d;

    border-radius:9px;

    outline:none;

    background:#0d141b;

    color:#f3f5f8;

    font-size:15px;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.nh-login-field input:hover {
    border-color:#465361;
}


.nh-login-field input:focus {
    border-color:#6876ff;

    background:#101820;

    box-shadow:
        0 0 0 3px
        rgba(104,118,255,.13);
}


.nh-login-submit {
    width:100%;

    height:52px;

    margin-top:7px;

    border:0;

    border-radius:9px;

    background:#6876ff;

    color:#fff;

    cursor:pointer;

    font-size:14px;

    font-weight:720;

    transition:
        transform .12s ease,
        background .15s ease;
}


.nh-login-submit:hover {
    background:#7885ff;
}


.nh-login-submit:active {
    transform:translateY(1px);
}


.nh-login-message,
.nh-login-error {
    margin-bottom:20px;

    padding:12px 14px;

    border-radius:8px;

    font-size:12px;
}


.nh-login-error {
    border:
        1px solid
        rgba(255,91,105,.25);

    background:
        rgba(255,91,105,.08);

    color:#ff8791;
}


.nh-login-message {
    border:
        1px solid
        #27323e;

    background:#101820;

    color:#aab4c1;
}


.nh-login-footer {
    margin-top:28px;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:5px;

    color:#788392;
}


.nh-login-footer span {
    font-size:12px;

    font-weight:650;
}


.nh-login-footer small {
    font-size:10px;
}


@media (max-width:520px) {

    .nh-login {
        place-items:start center;

        padding-top:80px;
    }


    .nh-login-heading h1 {
        font-size:28px;
    }
}

