@font-face{font-family:Inter;src:url('/assets/inter-latin-cyrillic-v2.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--auth-bg:var(--release-bg);--auth-card:var(--release-card);--auth-border:var(--release-line);--auth-text:var(--release-text);--auth-muted:var(--release-muted);--auth-button:#ededed;--auth-button-text:#171717;color-scheme:dark}
:root[data-theme="light"],body[data-theme="light"]{--auth-bg:var(--release-bg);--auth-card:var(--release-card);--auth-border:var(--release-line);--auth-text:var(--release-text);--auth-muted:var(--release-muted);--auth-button:#171717;--auth-button-text:#ededed;color-scheme:light}
body:has(.auth-shell){margin:0;background:var(--auth-bg);color:var(--auth-text);font-family:Inter,sans-serif}
#login-overlay,.auth-shell{position:fixed;inset:0;z-index:999;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:40px 20px;background:var(--auth-bg);color:var(--auth-text);font-family:Inter,sans-serif;box-sizing:border-box}
.login-box,.auth-card{box-sizing:border-box;width:420px;max-width:100%;margin:auto 0;padding:28px;background:var(--auth-card);border:1px solid var(--auth-border);border-radius:12px;box-shadow:none}
.login-box *,.auth-card *{box-sizing:border-box}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}
.login-back-link,.auth-meta a{color:var(--auth-muted);text-decoration:none;font-size:13px}
.login-back-link:hover,.auth-meta a:hover{color:var(--auth-text);text-decoration:underline}
.auth-theme-toggle{min-height:36px;padding:6px 10px;border:1px solid var(--auth-border);border-radius:8px;background:transparent;color:var(--auth-muted);font:inherit;font-size:13px;cursor:pointer}
.auth-brand{margin:0 0 24px}.auth-brand img{display:block;width:150px;max-width:100%;height:36px;object-fit:contain;object-position:left}
.auth-brand .auth-logo-light{display:none}body[data-theme="light"] .auth-brand .auth-logo-dark{display:none}body[data-theme="light"] .auth-brand .auth-logo-light{display:block}
.login-box h1,.auth-title{margin:0 0 8px;color:var(--auth-text);font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.6px}
.login-box .subtitle,.auth-subtitle,.auth-copy{margin:0 0 24px;color:var(--auth-muted);font-size:14px;line-height:1.6}
.login-box .field,.auth-card .field{margin-bottom:18px}.login-box .field>label,.auth-card .field>label:not(.auth-file){display:block;margin-bottom:8px;color:var(--auth-text);font-size:14px;font-weight:400;line-height:1.4}
.login-box input,.auth-card input:not([type="file"]),.auth-card textarea{display:block;width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--auth-border);border-radius:8px;background:var(--auth-bg);color:var(--auth-text);font:inherit;font-size:14px;line-height:1.4;outline:none}
.auth-card textarea{resize:vertical;min-height:100px}.login-box input::placeholder,.auth-card input::placeholder,.auth-card textarea::placeholder{color:var(--auth-muted)}
.login-box input:focus,.auth-card input:focus,.auth-card textarea:focus{border-color:var(--auth-muted)}
.password-field{position:relative}.password-field input{padding-right:48px}.login-box .password-toggle{position:absolute;right:4px;top:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--auth-muted);cursor:pointer}.password-toggle svg{width:18px;height:18px}
.login-box button[type="submit"],.auth-button,.auth-link-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:11px 16px;border:1px solid var(--auth-button);border-radius:8px;background:var(--auth-button);color:var(--auth-button-text);font:inherit;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}
.login-box button[type="submit"]:hover,.auth-button:hover,.auth-link-button:hover{opacity:.88}.login-box button:disabled,.auth-card button:disabled{opacity:.5;cursor:wait}
.login-box .err{margin:0 0 16px;color:var(--auth-text);font-size:13px;line-height:1.5}.login-box .err:empty{display:none}.auth-meta,.auth-note{margin:18px 0 0;color:var(--auth-muted);font-size:13px;line-height:1.6}.auth-note{font-size:12px}.login-box .hint{margin-top:18px;color:var(--auth-muted);font-size:13px;line-height:1.6}.login-box .hint a{color:var(--auth-text)}
.auth-file{display:flex;align-items:center;gap:12px;padding:10px;border:1px dashed var(--auth-border);border-radius:8px;cursor:pointer;font-size:13px;line-height:1.5}.auth-file-button{flex-shrink:0;padding:6px 10px;border:1px solid var(--auth-border);border-radius:6px;color:var(--auth-text)}.auth-file-name{min-width:0;overflow-wrap:anywhere;color:var(--auth-muted)}.auth-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.field:focus-within .auth-file{outline:2px solid var(--auth-muted);outline-offset:3px}
.auth-card .status-badge{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:10px 12px;border:1px solid var(--auth-border);border-radius:8px;color:var(--auth-text);font-size:13px;line-height:1.5}.auth-card .status-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--auth-muted)}.login-highlight{color:var(--auth-text);font-weight:500;overflow-wrap:anywhere}
.login-box a:focus-visible,.auth-card a:focus-visible,.login-box button:focus-visible,.auth-card button:focus-visible{outline:2px solid var(--auth-muted);outline-offset:3px}
@media(max-width:480px){#login-overlay,.auth-shell{padding:20px 12px}.login-box,.auth-card{padding:22px 18px}.auth-topbar{margin-bottom:28px}.login-box h1,.auth-title{font-size:22px}.auth-file{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.login-box *,.auth-card *{transition:none!important}}
/* Session verification controls visibility through the existing inline display contract. */
#login-overlay{display:none}
.login-register{margin-top:18px;color:var(--auth-muted);font-size:13px;line-height:1.6;text-align:center}.login-register-link{color:var(--auth-text);font-weight:400;text-decoration:underline;text-underline-offset:3px}.login-register-link:hover{color:var(--auth-muted)}.login-register-link:focus-visible{outline-color:var(--auth-muted)}

body[data-theme="dark"]{--auth-bg:var(--release-bg);--auth-card:var(--release-card);--auth-border:var(--release-line);--auth-text:var(--release-text);--auth-muted:var(--release-muted);--auth-button:#ededed;--auth-button-text:#171717;color-scheme:dark}
body[data-theme] .login-box{background:var(--auth-card);border-color:var(--auth-border);border-radius:12px;box-shadow:none;animation:none}
body[data-theme] .login-box h1{font-family:Inter,sans-serif;letter-spacing:-.6px}
.auth-topbar svg,.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.login-back-link{display:inline-flex;align-items:center;gap:8px}.auth-brand{display:block;text-decoration:none}
.login-register{margin:22px 0 0;color:var(--auth-muted);font-size:13px;line-height:1.6;text-align:center}.login-register a{color:var(--auth-text);text-underline-offset:3px}
.auth-eye-slash{display:none}.password-toggle[aria-pressed="true"] .auth-eye-slash{display:block}
.login-box input:-webkit-autofill,.login-box input:-webkit-autofill:hover,.login-box input:-webkit-autofill:focus,.auth-card input:-webkit-autofill,.auth-card textarea:-webkit-autofill{-webkit-text-fill-color:var(--auth-text)!important;-webkit-box-shadow:0 0 0 1000px var(--auth-bg) inset!important;box-shadow:0 0 0 1000px var(--auth-bg) inset!important;border:1px solid var(--auth-border)!important;caret-color:var(--auth-text)}
.login-box .err{color:#e3a0a4}.auth-card .status-badge.error{color:#e3a0a4}body[data-theme="light"] .login-box .err,body[data-theme="light"] .auth-card .status-badge.error{color:#a52e39}
.auth-shell ::selection,#login-overlay ::selection{background:var(--auth-text);color:var(--auth-bg)}

.auth-brand,.auth-brand img{border:0;outline:0;box-shadow:none;background:transparent}

.auth-brand,.auth-brand img{border:0;outline:0;box-shadow:none;background:transparent}
