@font-face{font-family:Inter;src:url('/assets/fonts/inter-cyrillic-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0400-052F,U+20BD,U+2116}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-cyrillic-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0400-052F,U+20BD,U+2116}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-cyrillic-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0400-052F,U+20BD,U+2116}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-cyrillic-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0400-052F,U+20BD,U+2116}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-024F}

:root{
  color-scheme:dark;
  --auth-bg:#0a0a12;
  --auth-surface:#151620;
  --auth-text:#f5f5fb;
  --auth-muted:#9699ae;
  --auth-line:rgba(184,188,230,.17);
  --auth-line-strong:rgba(184,188,230,.27);
  --auth-violet:#9f83ff;
  --auth-error:#ff9dac;
  --auth-gradient:linear-gradient(110deg,#456cff,#6854ef 55%,#a744ef);
}

*{box-sizing:border-box}
html{min-width:320px;min-height:100%;background:var(--auth-bg)}
body{margin:0;min-width:320px;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--auth-text);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
.svg-filters{position:absolute;pointer-events:none}
.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(ellipse 58% 48% at 50% 45%,rgba(80,66,157,.16),transparent 76%),var(--auth-bg)}
.login-layout{width:min(100%,440px);display:flex;flex-direction:column;align-items:center;gap:34px}
.brand-logo{position:relative;overflow:hidden;width:236px;height:42px;flex:none}
.brand-logo img{position:absolute;left:-26px;top:-60px;display:block;width:286px;height:auto;max-width:none;filter:url(#brand-cutout);user-select:none;pointer-events:none}
.login-card{width:100%;padding:36px;border:1px solid var(--auth-line);border-radius:22px;background:var(--auth-surface);box-shadow:0 24px 80px rgba(0,0,0,.26)}
.login-card h1{font-family:Manrope,Inter,sans-serif;font-size:27px;line-height:1.25;letter-spacing:-.035em;margin:0 0 7px}
.card-description{font-size:14px;line-height:1.5;color:var(--auth-muted);margin:0}
.login-form{display:flex;flex-direction:column;margin-top:29px}
.login-form label{font-size:13px;font-weight:500;color:var(--auth-text);margin-bottom:9px}
.input-shell{display:flex;align-items:center;height:52px;border:1px solid var(--auth-line-strong);border-radius:11px;background:rgba(255,255,255,.025);transition:border-color .2s,box-shadow .2s}
.input-shell:hover{border-color:rgba(184,188,230,.44)}
.input-shell:focus-within{border-color:var(--auth-violet);box-shadow:0 0 0 3px rgba(159,131,255,.13)}
.input-shell>svg{width:18px;height:18px;color:var(--auth-muted);margin-left:15px;flex:none}
.input-shell input{min-width:0;width:100%;height:100%;border:0;outline:0;padding:0 14px;background:transparent;color:var(--auth-text);font-size:14px}
.input-shell input::placeholder{color:#6f7287;opacity:1}
.input-shell input:-webkit-autofill{-webkit-text-fill-color:var(--auth-text);box-shadow:0 0 0 100px var(--auth-surface) inset}
.login-form label[for=password]{margin-top:22px}
.password-toggle{display:grid;place-items:center;width:42px;height:42px;margin-right:5px;border:0;border-radius:8px;background:transparent;color:var(--auth-muted);flex:none}
.password-toggle:hover,.password-toggle:focus-visible{background:rgba(159,131,255,.12);color:var(--auth-text)}
.password-toggle svg{width:18px;height:18px}
.error{min-height:19px;color:var(--auth-error);font-size:12px;line-height:19px;margin-top:10px}
.submit-button{display:grid;place-items:center;height:52px;margin-top:11px;border:0;border-radius:11px;background:var(--auth-gradient);color:#fff;font-weight:600;font-size:14px;box-shadow:0 10px 26px rgba(91,70,234,.2);transition:filter .2s,transform .2s}
.submit-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}
.submit-button:active:not(:disabled){transform:translateY(0)}
.submit-button:disabled{cursor:wait;opacity:.72}
:focus-visible{outline:2px solid var(--auth-violet);outline-offset:3px}
@media(max-width:520px){.login-page{padding:32px 16px}.login-layout{gap:28px}.brand-logo{width:216px;height:39px}.brand-logo img{width:262px;left:-24px;top:-55px}.login-card{padding:28px 23px;border-radius:18px}.login-card h1{font-size:25px}}
@media(max-height:600px){.login-page{place-items:start center}.login-layout{margin-block:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
