* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body,html{
    height:100%;
    width:100%
}

body {
    font-family: 'Open Sans', Arial, Tahoma, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABnSURBVHja7M5RDYAwDEXRun4M/n9sF2sIZdKRiQ2E3l213V1dJYSQULiN2+7uKmVkYgMhZ3M7d3V3lZAyMhG23d3dZQQhJ2Ebf93d3RVCysgGwjbb3d1dJWRE2GZ3d5eRECGEDi4/wA8y2g5zAAAA//8DAJ4+s3s2+2sJAAAAAElFTkSuQmCC') #fff;
    margin: 0;
    color: #fff;
    padding-bottom: 1px;
    -webkit-font-smoothing: antialiased;
}

body.dark-mode {
    background-color: #000;
    background-image: none;
}

:root {
    --icon-moon-default: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMCAzMCI+PHBhdGggZmlsbD0iIzhlYTJiOCIgc3Ryb2tlLXdpZHRoPSIwIiBkPSJNMTAuMjQ0MTQxIDMuOTk4MDQ2OUExMiAxMiAwIDAgMCAzIDE1YTEyIDEyIDAgMCAwIDEyIDEyIDEyIDEyIDAgMCAwIDEwLjkwMDM5MS03LjAwNzgxMkExMiAxMiAwIDAgMSAyMS4xNDI1NzggMjAuOTkwMjM0IDEyIDEyIDAgMCAxIDkuMTQyNTc4MSA4Ljk5MDIzNDQgMTIgMTIgMCAwIDEgMTAuMjQ0MTQxIDMuOTk4MDQ2OVoiLz48L3N2Zz4=');
    --icon-moon-hover: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMCAzMCI+PHBhdGggZmlsbD0iI2I3YzdkOSIgc3Ryb2tlLXdpZHRoPSIwIiBkPSJNMTAuMjQ0MTQxIDMuOTk4MDQ2OUExMiAxMiAwIDAgMCAzIDE1YTEyIDEyIDAgMCAwIDEyIDEyIDEyIDEyIDAgMCAwIDEwLjkwMDM5MS03LjAwNzgxMkExMiAxMiAwIDAgMSAyMS4xNDI1NzggMjAuOTkwMjM0IDEyIDEyIDAgMCAxIDkuMTQyNTc4MSA4Ljk5MDIzNDQgMTIgMTIgMCAwIDEgMTAuMjQ0MTQxIDMuOTk4MDQ2OVoiLz48L3N2Zz4=');
    --icon-sun-default: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMic+PGNpcmNsZSBjeD0nMTYnIGN5PScxNicgcj0nNycgZmlsbD0nI2Q5ZGVlNScvPjxnIHN0cm9rZT0nI2Q5ZGVlNScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnPjxsaW5lIHgxPScxNicgeTE9JzInIHgyPScxNicgeTI9JzYnLz48bGluZSB4MT0nMTYnIHkxPScyNicgeDI9JzE2JyB5Mj0nMzAnLz48bGluZSB4MT0nMicgeTE9JzE2JyB4Mj0nNicgeTI9JzE2Jy8+PGxpbmUgeDE9JzI2JyB5MT0nMTYnIHgyPSczMCcgeTI9JzE2Jy8+PGxpbmUgeDE9JzYnIHkxPSc2JyB4Mj0nOScgeTI9JzknLz48bGluZSB4MT0nMjMnIHkxPScyMycgeDI9JzI2JyB5Mj0nMjYnLz48bGluZSB4MT0nNicgeTE9JzI2JyB4Mj0nOScgeTI9JzIzJy8+PGxpbmUgeDE9JzIzJyB5MT0nOScgeDI9JzI2JyB5Mj0nNicvPjwvZz48L3N2Zz4=');
    --icon-sun-hover: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMic+PGNpcmNsZSBjeD0nMTYnIGN5PScxNicgcj0nNycgZmlsbD0nI2YxZjNmNicvPjxnIHN0cm9rZT0nI2YxZjNmNicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnPjxsaW5lIHgxPScxNicgeTE9JzInIHgyPScxNicgeTI9JzYnLz48bGluZSB4MT0nMTYnIHkxPScyNicgeDI9JzE2JyB5Mj0nMzAnLz48bGluZSB4MT0nMicgeTE9JzE2JyB4Mj0nNicgeTI9JzE2Jy8+PGxpbmUgeDE9JzI2JyB5MT0nMTYnIHgyPSczMCcgeTI9JzE2Jy8+PGxpbmUgeDE9JzYnIHkxPSc2JyB4Mj0nOScgeTI9JzknLz48bGluZSB4MT0nMjMnIHkxPScyMycgeDI9JzI2JyB5Mj0nMjYnLz48bGluZSB4MT0nNicgeTE9JzI2JyB4Mj0nOScgeTI9JzIzJy8+PGxpbmUgeDE9JzIzJyB5MT0nOScgeDI9JzI2JyB5Mj0nNicvPjwvZz48L3N2Zz4=');
}

.container{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:100%;
    align-items:center
}

.block-login {
    width: 100%;
    max-width: 373px;
    background: #1b3f5f;
    border-radius: 0;
    /* border: 1px solid #264e6d; */
    /* box-shadow: 0 4px 14px rgba(0, 0, 0, .45); */
    /* overflow: visible; */
}

body.dark-mode .block-login {
    background: #0e2539;
    border-color: #2d6e85;
}

.form-login {
    padding: 32px 10%;
}

#loginRegion {
    margin-top: 12px;
}

/* Header Section */
.head-form-login {
    text-align: center;
    margin-bottom: 24px;
}

.box-lang {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    margin-bottom: 12px;
}

.switch-mode-box {
    display: inline-flex;
    align-items: center;
}

.switch-mode {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.switch-mode::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: var(--icon-moon-default) no-repeat center/contain;
    transition: opacity 0.2s ease;
}

.switch-mode:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.4);
    outline-offset: 2px;
    border-radius: 50%;
}

.switch-mode:hover::after {
    background-image: var(--icon-moon-hover);
}

body.dark-mode .switch-mode::after {
    background-image: var(--icon-sun-default);
}

body.dark-mode .switch-mode:hover::after {
    background-image: var(--icon-sun-hover);
}

.dropdown .btn.dropdown-toggle {
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    letter-spacing: 0.3px;
    color: #d2dbe7;
    padding: 0;
    font-weight: 400;
    text-transform: none;
}

.dropdown .btn.dropdown-toggle:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.4);
    outline-offset: 2px;
}

.flag {
    display: inline-block;
    width: 23px;
    height: 15px;
    background-size: cover;
    border-radius: 0;
}

.flag-en { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30"><rect width="60" height="30" fill="%23012169"/><path d="M0 0l60 30M60 0L0 30" stroke="%23fff" stroke-width="6"/><path d="M0 0l60 30M60 0L0 30" stroke="%23C8102E" stroke-width="4"/><path d="M30 0v30M0 15h60" stroke="%23fff" stroke-width="10"/><path d="M30 0v30M0 15h60" stroke="%23C8102E" stroke-width="6"/></svg>'); }

.caret {
    border-top-color: #bdc7d3;
}

.dropdown-menu {
    background: #fff;
    border: 1px solid #d6dce4;
    color: #203247;
}

.dropdown-menu li a {
    color: #fff;
}

.dropdown-menu li a:hover {
    background: #4a6e92;
}

.title.login-text {
    font-size: 24px;
    color: #fff;
    margin: 16px 0;
    font-weight: 300;
    letter-spacing: 0.3px;
}

/* Form Rows */
.rowlg {
    margin-bottom: 15px;
    position: relative;
}

.txt {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #8d9faf;
    height: 36px;
    padding: 8px 0 4px;
    font-size: 15px;
    color: #FFF;
    outline: none;
}

.txt:focus {
    border-bottom: 1px solid #FFF;
}

.txt::placeholder {
    color: #8D9FAF;
}

/* Avatar Section */
.avatar {
    padding-top: 10px;
    padding-bottom: 12px;
    text-align: center;
}

.avatar-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.avatar img {
    height: 100px;
    width: 100px;
    border: 3px solid #aeaeae;
    border-radius: 50%;
}

.domain-watermark {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
    background: #cfe4ff;
    color: #c96700;
    padding: 1px 7px;
    border-radius: 0;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
    letter-spacing: 0.3px;
    text-transform: lowercase;
    opacity: 1;
    pointer-events: none;
}

.avatar figcaption {
    padding: 12px 0 0;
    text-transform: uppercase;
}

.username {
    color: #fff;
    font-weight: 500;
    font-size: 16px; 
    letter-spacing: 1px;
}

/* Warning Message */
.warningMessage {
    font-size: 14px;
    color: #fff;
    text-align: left;
    line-height: 1.6;
    font-weight: 400;
    margin: 18px -2% 0;
}

.warningMessage strong {
    font-weight: 600;
}

.rowlg-password {
    margin: 18px -2% 0;
}

.rowlg.checkbox {
    margin: 18px -2% 0;
}

/* Custom Checkbox */
.checkbox label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    color: #fff;
    font-weight: 300;
}

.checkbox label input[type="checkbox"] {
    display: none;
}

.checkbox label span {
    padding-left: 29px;
    position: relative;
}

.checkbox label span:after {
    position: absolute;
    top: 3px;
    left: 0;
    width: 16px;
    height: 16px;
    content: "";
    border: 2px solid #fff;
    border-radius: 2px;
    z-index: 1;
}

.checkbox label span:before {
    transform: rotate(-45deg);
    content: "";
    position: absolute;
    top: 8px;
    left: 4px;
    border: 2px solid #fff;
    border-top: none;
    border-right: none;
    height: 4px;
    width: 9px;
    z-index: 2;
    opacity: 0;
}

.checkbox input[type="checkbox"]:checked + span:after {
    background: #8f8f9d;
    border-color: #8f8f9d;
}

.checkbox input[type="checkbox"]:checked + span:before {
    opacity: 1;
}

/* Buttons */
.btnLogin {
    font-weight: 550;
    width: 100%;
    background-color: #fff;
    color: #1b3f5f;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 0;
    padding: 0;
    font-size: 13px;
    letter-spacing: 0.8px;
}

.btnLogin:hover {
    background-color: #3b6a93;
    color: #fff;
}

body.dark-mode .btnLogin {
    background-color: #c7daf1;
    color: #0f2136;
    border: 1px solid #91a9c9;
}

body.dark-mode .btnLogin:hover {
    background-color: #b8cee8;
    color: #081327;
}

.list-button {
    padding-top: 8px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 18px -2% 0;
}

.list-button .btnLogin {
    width: auto;
    flex: 1;
}

/* Error Message */
.msg-error {
    display: none;
    font-size: 14px;
    text-align: center;
    margin-bottom: 20px;
}

.msg-error[errcode="1"] {
    display: block;
}

.msg-error[data-state="error"] {
    color: #ffb347;
}

.msg-error[data-state="success"] {
    background: #28a745;
    color: #fff;
    padding: 10px;
    border-radius: 2px;
}

/* Utils */
.dropdown {
    position: relative;
}

.dropdown.open .dropdown-menu {
    display: block;
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    border-radius: 1px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
    list-style: none;
    min-width: 210px;
    margin-top: 5px;
    z-index: 1000;
    padding: 5px 0;
}

.dropdown-menu li {
    padding: 0;
}

.dropdown-menu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    text-decoration: none;
    transition: background 0.2s ease;
    color: #203247;
    white-space: normal;
    line-height: 1.3;
}

.dropdown-menu li a:hover {
    background: #edf1f7;
    color: #0b1524;
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}
@media (max-width: 768px) {
    body {
        background-color: #1b3f5f;
        background-image: none;
    }
}
