@import url('https://fonts.googleapis.com/css2?family=Acme&family=Cabin+Condensed:wght@400;500;600;700&family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Chakra+Petch:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Foldit:wght@100;200;300;400;500;600&family=Lilita+One&family=Righteous&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');

*{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-outline: none;
    outline: none;
}
html,body{
    position: relative;
    width: 100%;
    min-height: 100% !important;
    margin: 0;
    overflow-x: hidden;
}
#app-content{
    position: relative;
    max-width: 1920px !important;
    margin: auto;
    opacity: 0;
    visibility: hidden;
    transition: all 150ms ease;
}
.loader{
    width: 50px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 8px solid #0000;
    position: fixed;
    animation: l24 1s infinite linear;
    left: calc(50% - 25px);
    top: 44%;
}
.loader:before,
.loader:after{
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: inherit;
    animation: inherit;
    animation-duration: 2s;
}
.loader:after{
    animation-duration: 4s;
}
@keyframes l24{
    100% {
        transform: rotate(1turn);
    }
}body{
    background-color: #f3f4f6;
}
#app-login{
    position: relative;
    margin: 80px auto 0;
    max-width: 460px;
    padding: 20px 30px;
    border-radius: 16px;
    background-color: white;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1);
    font-family: 'Titillium Web', sans-serif;
}
.app-logo{
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    top: -40px;
    left: calc(50% - 40px);
    text-align: center;
}
.app-logo > img{
    position: relative;
    top: 20px;
    width: 40px;
}
.app-title{
    text-align: center;
    margin-top: 40px;
}
.app-title > span{
    font-size: 1.4em;
    font-weight: bold;
}
.app-client{
    text-align: center;
    margin: 20px auto;
    font-family: 'Cabin', sans-serif;
}
.app-client > span{
    display: inline-block;
    font-size: .8em;
    background-color: #e2e2e2;
    padding: 10px 20px;
    border-radius: 30px;
}
.app-test > span{
    background-color: #fff3cd;
    color: #745c15;
}
.app-alert > span{
    background-color: #f8d7da;
    color: #973e46;
}
@media screen and (max-width: 600px){
    #app-login{
        width: 94%;
        padding: 20px;
    }
    .app-client > span{
        font-size: .76em;
    }
}

html,body{
    min-height: 100% !important;
    top: 0 !important;
}
.bk-color,.app-logo,button{
    background-color: var(--primary-theme-color) !important;
}
.loader{
    border-right-color: var(--primary-theme-color);
}
label{
    font-size: .9em;
}
input{
    font-size: 1.2em;
}
input:focus,button:focus{
    border: 1px solid var(--primary-theme-color) !important;
    box-shadow: 0 0 0 3px var(--primary-theme-color) !important;
}
input,button{
    height: 48px;
    width:100%;
}
button{
    border: 1px solid var(--primary-theme-color) !important;
    margin: 10px auto 20px;
}

body{background:#f3f4f6;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;}
.login-card{max-width:420px;width:100%;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:24px;}
.brand{font-weight:700;font-size:1.4rem;}