@font-face{font-family:Inter;src:url('/assets/auth/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--green:#77ee61;--muted:#9c9c9c;--border:#333;--white:#f7f7f7;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#000;color:var(--white)}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:5px}.auth-layout{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:2fr 1fr}.auth-art{margin:20px 40px 20px 20px;min-height:calc(100vh - 40px);border-radius:16px;background:#101111 url('/assets/auth/login-side.png') center/cover no-repeat;position:relative;overflow:hidden}.auth-main{display:flex;align-items:center;justify-content:center;padding:56px 40px;min-width:0}.auth-box{width:100%;max-width:352px;position:relative}.brand{display:inline-flex;align-items:center;margin-bottom:48px}.brand img{width:128px;height:32px;object-fit:contain}h1{font-size:26px;line-height:1.2;letter-spacing:-.55px;margin:0 0 16px;font-weight:700}.subtitle{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 40px}.field{margin:0 0 16px}.field-shell{display:flex;align-items:center;min-height:50px;border:1px solid var(--border);border-radius:8px;transition:border-color .15s,box-shadow .15s}.field-shell:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #77ee6110}.field-shell:has(input[aria-invalid=true]){border-color:#ee8279}.field-icon{height:20px;width:20px;flex-shrink:0;color:#777;margin-left:16px}.field-shell input{display:block;width:100%;height:48px;min-width:0;border:0;border-radius:8px;outline:0;background:transparent;padding:0 16px 0 13px;color:var(--white);font-size:15px}.field-shell input::placeholder{color:#777;opacity:1}.field-shell input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #090909 inset;-webkit-text-fill-color:var(--white);caret-color:var(--white)}.password-toggle{display:flex;align-items:center;justify-content:center;border:0;padding:0;width:38px;height:40px;flex-shrink:0;margin-right:5px;background:none;color:#757575;border-radius:5px}.password-toggle:hover{color:var(--white)}.password-toggle svg{width:18px;height:18px}.password-toggle[aria-pressed=true] .eye-slash{display:none}.form-links{text-align:right;margin:0 0 24px;font-size:14px;line-height:18px}.submit-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;background:var(--green);color:#050505;border:0;border-radius:8px;font-weight:650;font-size:16px;transition:background .15s,transform .15s}.submit-button:hover{background:#91fa7e}.submit-button:active{transform:translateY(1px)}.submit-button:disabled{opacity:.7}.submit-button[aria-busy=true]::before{content:"";width:15px;height:15px;border:2px solid #0004;border-top-color:#050505;border-radius:50%;animation:spin .65s linear infinite}.form-switch{margin:24px 0 0;font-size:14px;text-align:center;line-height:1.5;color:var(--muted)}.form-switch a{font-weight:500}.environment{position:absolute;left:0;right:0;top:calc(100% + 34px);display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:11px;color:#757575;line-height:1.5}.environment .separator{height:3px;width:3px;border-radius:50%;background:#505050}.environment a{color:#a6a6a6}.environment a:hover{color:var(--green)}.form-feedback{border:1px solid #653a36;background:#241514;color:#ffc5be;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.55;margin:0 0 20px;overflow-wrap:anywhere}.form-feedback[data-tone=info]{border-color:#36492f;background:#131b10;color:#d2e9ca}.form-feedback[hidden]{display:none}.field-error{color:#ffb2a9;font-size:12px;line-height:1.45;margin:6px 0 0}.field-error:empty{display:none}.field-hint{font-size:12px;line-height:1.5;color:#888;margin:-1px 0 20px}.register .brand{margin-bottom:32px}.register .subtitle{margin-bottom:28px}.register .environment{top:calc(100% + 26px)}.back-link{display:inline-flex;align-items:center;gap:7px;color:#a0a0a0;font-size:13px;margin:0 0 28px}.back-link svg{width:16px;height:16px}.recovery .brand{display:flex;width:max-content;margin-bottom:40px}.recovery .subtitle{margin-bottom:30px}.recovery .field{margin-bottom:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript-message{margin:0 0 20px;color:#ffc5be;font-size:13px;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.auth-main{padding-right:60px;padding-left:60px}.auth-box{max-width:380px}}@media(max-width:1150px){.auth-layout{grid-template-columns:1.15fr 1fr}.auth-art{margin-right:20px}.auth-main{padding:56px 32px}}@media(max-width:760px){.auth-layout{display:block}.auth-art{display:none}.auth-main{min-height:100vh;min-height:100svh;padding:60px 26px 100px}.auth-box{max-width:400px}.brand{margin-bottom:42px}.brand img{width:144px;height:36px}h1{font-size:28px}.subtitle{margin-bottom:32px}.environment{top:calc(100% + 36px)}.register .auth-main{padding-top:40px}.register .brand{margin-bottom:30px}.register .environment{top:calc(100% + 30px)}}@media(max-height:720px) and (min-width:761px){.auth-main{padding-top:35px;padding-bottom:90px}.brand{margin-bottom:30px}.subtitle{margin-bottom:25px}.register .brand{margin-bottom:22px}.auth-art{position:sticky;top:20px;height:calc(100vh - 40px);min-height:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.twofa-panel{display:block}.twofa-steps{margin:0 0 16px;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.6}.twofa-steps b{color:var(--white)}
.twofa-qr{width:208px;margin:0 auto 16px;padding:12px;border-radius:12px;background:#fff}.twofa-qr svg{display:block;width:100%;height:auto}
.twofa-form{display:grid;gap:14px}.twofa-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);cursor:pointer}.twofa-check input{accent-color:var(--green);width:16px;height:16px}
.twofa-hint{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}.twofa-hint a{color:var(--green)}.twofa-hint b{color:var(--white)}
.twofa-secret{display:block;margin-top:6px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;color:var(--white);font:600 14px/1.4 ui-monospace,monospace;letter-spacing:.08em;word-break:break-all}
.twofa-codes{list-style:none;margin:14px 0;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--border);border-radius:8px;font:600 14px ui-monospace,monospace;color:var(--white)}
.botcheck{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#0b0b0b;color:var(--white);font-size:14px}
.bot-box{position:relative;flex:none;width:26px;height:26px;border:2px solid #555;border-radius:6px;background:transparent;cursor:pointer;padding:0}
.bot-box:hover,.bot-box:focus-visible{border-color:var(--green);outline:0}
.bot-check{position:absolute;inset:0;display:none}.botcheck[data-state=ok] .bot-box{background:var(--green);border-color:var(--green)}
.botcheck[data-state=ok] .bot-check{display:block}.botcheck[data-state=ok] .bot-check:after{content:"";position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid #000;border-width:0 3px 3px 0;transform:rotate(45deg)}
.bot-spinner{position:absolute;inset:-2px;display:none;border:3px dotted var(--green);border-radius:50%;animation:botspin 1s linear infinite}.botcheck[data-state=busy] .bot-spinner{display:block}.botcheck[data-state=busy] .bot-box{border-color:transparent}
.bot-label{flex:1;line-height:1.3}.bot-brand{display:flex;align-items:center;gap:5px;color:#8a8a8a;font-size:11px;white-space:nowrap}
@keyframes botspin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.bot-spinner{animation:none}}

.twofa-form .field-shell input{text-align:center;letter-spacing:.4em;font-size:18px;font-weight:700}
.twofa-form .field-shell input::placeholder{letter-spacing:.4em;font-weight:500}
.twofa-qr{width:min(100%,232px);line-height:0}
.twofa-panel{display:grid;gap:14px}
.twofa-secret{text-align:center}
.twofa-download{padding:10px 12px;border:1px dashed #2b352e;border-radius:8px;background:#0f1511}.twofa-download a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.twofa-secret-row{display:flex;align-items:stretch;gap:8px}.twofa-secret-row .twofa-secret{flex:1;margin:0}
.twofa-copy{flex:none;width:44px;display:grid;place-items:center;padding:0;border:1px solid #2b352e;border-radius:8px;background:#111713;color:#cfd8d2;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.twofa-copy:hover,.twofa-copy:focus-visible{border-color:#1fe55c;color:#1fe55c;outline:0}.twofa-copy.copied{border-color:#1fe55c;color:#04110a;background:#1fe55c}
