@font-face{font-family:Onest;src:url('./onest-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;src:url('./onest-cyrillic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{font-family:Onest,Arial,sans-serif;color:#221f20;font-synthesis:none;color-scheme:light;--blue:#009fcb;--ease:cubic-bezier(.22,.68,.22,1)}
*{box-sizing:border-box}
body{margin:0;min-width:280px;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:40px 24px;background:radial-gradient(ellipse at 14% 8%,#faf6f0 0%,#ede6df 42%,#d7cbc0 100%);overflow-x:hidden;position:relative;isolation:isolate}
.ambient{position:fixed;pointer-events:none;z-index:-1;border:1px solid #ffffff67;border-radius:100%;width:min(106vw,1300px);aspect-ratio:1;transform:rotate(-32deg) scaleX(.62);animation:ambient-drift 22s ease-in-out infinite alternate}
.ambient-one{left:-52%;top:-42%;box-shadow:0 0 0 90px #fff2,0 0 0 180px #ffffff12}
.ambient-two{right:-61%;bottom:-75%;border-color:#a6948226;box-shadow:0 0 0 100px #fff1,0 0 0 200px #fff1;animation-delay:-12s}
.login-card{width:min(100%,470px);padding:46px 46px 28px;background:#fffdfdf5;border:1px solid #ffffffb3;border-radius:34px;box-shadow:0 32px 90px -42px #5d493854,0 8px 22px -14px #5d493833;animation:card-enter .95s var(--ease) both}
.logo{display:block;width:238px;max-width:100%;height:auto;margin-bottom:40px}
.intro{animation:content-enter .85s .12s var(--ease) both}
.access-label{display:inline-flex;align-items:center;gap:8px;color:#7a7773;font-size:11px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
.access-label>span{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #009fcb0d}
h1{font-weight:450;letter-spacing:-.045em;font-size:32px;line-height:1.18;margin:15px 0 13px}
.intro p{color:#8a8581;font-size:15px;line-height:1.55;margin:0}
.login-form{margin-top:30px;display:grid;gap:18px;animation:content-enter .85s .2s var(--ease) both}
.field{display:grid;gap:9px}
label{font-size:13px;line-height:1.4;font-weight:450}
input:not([type=hidden]){font:inherit;font-size:14px;width:100%;min-width:0;min-height:54px;border:1px solid #e4ded8;border-radius:14px;padding:15px 17px;outline:none;background:#fff;color:#221f20;transition:border-color .3s,box-shadow .3s,background .3s}
input::placeholder{color:#aaa5a0;opacity:1}
input:hover{border-color:#c8bdb3}
input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #009fcb0c;background:#fff}
.password-field{position:relative}
.password-field input{padding-right:52px}
.password-toggle{position:absolute;inset:5px 6px 5px auto;display:grid;place-items:center;width:42px;border:0;border-radius:10px;background:transparent;color:#a59d96;cursor:pointer;transition:color .3s,background .3s}
.password-toggle[hidden]{display:none}
.password-toggle:hover{color:var(--blue);background:#009fcb08}
.password-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:0}
.password-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.eye-slash{opacity:0;transition:opacity .25s}
.password-toggle[aria-pressed=true] .eye-slash{opacity:1}
.submit-button{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:54px;border:0;border-radius:40px;margin-top:8px;background:var(--blue);color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:450;transition:transform .45s var(--ease),background .35s,box-shadow .45s;box-shadow:0 7px 20px -15px #0085ac80}
.submit-button svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--ease)}
.submit-button:hover{transform:scale(.98);background:#0095bf;box-shadow:0 10px 25px -16px #0085ac80}
.submit-button:hover svg{transform:translateX(3px)}
.submit-button:active{transform:scale(.965)}
.submit-button:focus-visible{outline:2px solid #007ba0;outline-offset:4px}
.submit-button:disabled{cursor:wait;opacity:.78}
.form-error{font-size:12px;line-height:1.55;margin:-2px 0 -6px;padding:11px 13px;border-radius:12px;color:#a14339;background:#fdf0ed;animation:content-enter .4s var(--ease) both}
.card-footer{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;line-height:1.5;color:#aaa39d;margin:26px 0 0;animation:content-enter .85s .28s var(--ease) both}
.card-footer svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.1;stroke-linecap:round}
@keyframes card-enter{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes content-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ambient-drift{to{transform:translate3d(3%,4%,0) rotate(-24deg) scaleX(.65)}}
@media(max-width:520px){body{padding:24px 18px}.login-card{padding:36px 28px 25px;border-radius:28px}.logo{width:220px;margin-bottom:34px}h1{font-size:29px}.login-form{margin-top:27px}.ambient-one{width:165vw;left:-110%;top:-9%}.ambient-two{width:165vw;right:-115%;bottom:-25%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
