.login-body{min-width:320px;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);font-size:16px}
.login-header,.login-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 48px}
.login-header .brand{margin:0;gap:12px;font-size:18px}.private-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;letter-spacing:.5px}.private-label .status-dot{background:var(--accent)}
.login-main{flex:1;display:grid;place-items:center;padding:38px 24px 70px}.login-card{width:100%;max-width:444px;padding:38px;background:linear-gradient(160deg,#16191e,#101215);border:1px solid var(--line-soft);border-radius:24px;box-shadow:0 24px 90px #0006}
.login-symbol{width:46px;height:46px;border:1px solid #a2e5ba38;border-radius:14px;display:grid;place-items:center;background:#a2e5ba0b;color:var(--accent);margin-bottom:27px}.login-symbol svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.login-card h1{font-size:27px;line-height:1.4;letter-spacing:-.8px;font-weight:550;margin:0 0 10px}.login-card h1>span{color:var(--accent);margin-left:3px}.login-intro{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 30px}
.login-field{margin:20px 0}.login-field label{display:block;font-size:14px;color:var(--text);margin-bottom:9px}.login-field input{width:100%;min-height:49px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#0b0d10;color:var(--text);font-size:16px;line-height:1.5}.login-field input::placeholder{color:#87919e;font-size:14px}.login-field input:focus{border-color:var(--accent);outline:2px solid #a2e5ba26;outline-offset:2px}.login-field input[aria-invalid=true]{border-color:var(--up)}
.password-field{position:relative}.password-field input{padding-right:64px}.password-field button{position:absolute;top:1px;right:4px;bottom:1px;min-width:52px;font-size:13px;color:var(--muted);padding:0 9px;border-radius:7px}.password-field button:hover{color:var(--accent)}
.login-submit{display:flex;justify-content:center;align-items:center;gap:14px;min-height:49px;width:100%;margin-top:27px;border-radius:10px;background:var(--accent);color:#102318;font-size:15px;font-weight:600}.login-submit:hover{background:#bbf0cd;color:#102318}.login-submit svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-submit:disabled{opacity:.65;cursor:wait}
.login-error{font-size:14px;line-height:1.7;color:#f2aaa4;margin:16px 0 0;padding:10px 12px;border:1px solid #ee8a8135;background:#ee8a810b;border-radius:8px}.login-footnote{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}.login-footnote svg{flex-shrink:0;width:16px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.login-footer{padding-top:16px;padding-bottom:24px;color:var(--faint);font-size:12px;letter-spacing:.5px}
.account-controls{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line-soft);padding-left:15px}.account-name{font-size:12px;color:var(--muted)}.logout-button{font-size:12px;min-height:32px;border:1px solid var(--line);border-radius:8px;padding:5px 9px;white-space:nowrap}.logout-button:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:750px){.account-name{display:none}.account-controls{padding-left:9px;gap:0}.logout-button{font-size:11px;padding:4px 7px}.login-header,.login-footer{padding-left:22px;padding-right:22px}.login-main{padding:26px 20px 48px}.login-card{padding:30px 26px}.login-card h1{font-size:25px}}
@media(max-width:400px){.private-label{font-size:12px}.login-header{padding-top:22px}.login-header .brand{font-size:15px}.login-card{padding:28px 22px}.login-card h1{font-size:23px}.login-footer{font-size:11px;gap:12px}.login-footnote{font-size:12px}}
