[v-cloak] { display: none !important; }
#preloader {
        display: none;
        position: fixed;
        inset: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 24px;
        background: #fff;
        z-index: 9999;
}
[v-cloak] ~ #preloader {
        display: flex;
}
.preloader-logo {
        height: 40px;
        width: auto;
        opacity: 0.92;
}
.loadingBar {
        position: relative;
        width: 100%;
        max-width: 180px;
        height: 3px;
        background: #f0f0f0;
        border-radius: 999px;
        overflow: hidden;
}
.loadingBarInner {
        position: absolute;
        top: 0;
        left: -50%;
        width: 50%;
        height: 100%;
        background: linear-gradient(90deg, rgba(159,183,12,0) 0%, #9FB70c 50%, rgba(159,183,12,0) 100%);
        border-radius: 999px;
        animation: loadingBarSlide 1.4s ease-in-out infinite;
}
@keyframes loadingBarSlide {
        0% { left: -50%; }
        100% { left: 100%; }
}
.loadingScreen {
        text-align: center;
        color: #666;
}
.loadingScreen .loadingBar {
        margin: 0 auto 14px;
}

html {
        height: 100%;
        background: #f2f0ec;
}
body {
        display: flex;
        flex-direction: column;
        background: #f2f0ec;
        font-family: "Arial";
        margin: 0px;
}
#app {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
}
.v-spacer {
        flex: 0 0 0;
}
#loginForm div {
        padding: 10px 0px;
}
label {
        display: block;
        color: #666;
        font-weight: bold;
        margin-bottom: 6px;
        font-size: 90%;
}
label a {
        float: right;
        font-weight: normal;
        font-size: 90%;
}
label.checkbox {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        font-weight: normal;
        color: #4d4c4c;
        font-size: 90%;
        line-height: 1.5em;
}
label.checkbox input {
        margin-top: 3px;
}
a {
        color: #08c;
        text-decoration: none;
}
#loginForm {
        background: #f6f6f6;
        padding: 2em;
        border-radius: 3px;
        box-shadow: 0 3px 7px rgba(0,0,0,.3);
        color: #666;
        min-width: 400px;
        box-sizing: border-box;
        margin: auto;
}
input[type="text"],input[type="password"],select {
        display: block;
        width: 100%;
        height: 48px;
        margin: 0;
        font-family: inherit;
        font-size: 15px;
        padding: 0 14px;
        background: #fff;
        border: 1.5px solid #dde1e4;
        border-radius: 10px;
        box-sizing: border-box;
        outline: none;
        transition: border-color .15s ease, box-shadow .15s ease;
        -webkit-appearance: none;
        appearance: none;
}
input[type="text"]:focus,input[type="password"]:focus,select:focus {
        border-color: #cf7127;
        box-shadow: 0 0 0 3px rgba(207, 113, 39, 0.15);
}
select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 14px center;
        padding-right: 34px;
}
h1 {
        padding: 0px;
        margin: 0px 0px 10px;
        font-family: "Open Sans Condensed";
        font-size: 1.3em;
}
.split {
        justify-content: space-between;
        display: flex;
}
.header {
        width: 100%;
        padding: 16px 20px;
        border-bottom: 1px solid #ececec;
        background: #fff;
        box-sizing: border-box;
}
.header-inner {
        max-width: 1024px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
}
.header-logo {
        display: inline-block;
        line-height: 0;
}
.header img {
        height: 50px;
        width: auto;
}
.lang-switch {
        display: flex;
        align-items: center;
        gap: 8px;
}
.lang-switch a {
        font-family: "Open Sans", sans-serif;
        font-size: 12px;
        font-weight: 600;
        color: #999;
        padding: 4px 8px;
        border-radius: 4px;
        text-decoration: none;
}
.lang-switch a:hover {
        color: #9FB70c;
}
.lang-switch a.active {
        color: #9FB70c;
        background: #f4f8e3;
}
input[type="submit"] {
    width: 100%;
    height: 44px;
    display: inline-block;
    background: #fff;
    color: #9FB70c;
    border: 1.5px solid #9FB70c;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: background 0.2s ease;
}
input[type="submit"]:hover {
    background: #f4f8e3;
}

#loginForm .pleaseSelect {
        border: 1px solid red;
        padding: 10px;
        background: #fcc;
}

@media (min-width: 768px) {
    body {
        height: 100vh;
        height: 100dvh;
    }
    #loginForm {
        margin: 0 auto;
        flex: 0 0 auto;
    }
    .v-spacer-1 {
        flex: 1 0 0;
    }
    .v-spacer-2 {
        flex: 2 0 0;
    }
}