:root{--bg:#f5f5f4;--surface:#fff;--text:#18181b;--muted:#71717a;--border:#e4e4e2;--border-strong:#d6d6d2;--accent:#18181b;--accent-hover:#2b2b30;--error:#b42318;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}::selection{background:#dcdcd8}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.login{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:32px 20px;display:flex}.login-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;max-width:380px;padding:32px;box-shadow:0 1px 2px #18181b0a}.login-brand{letter-spacing:-.01em;margin-bottom:28px;font-size:15px;font-weight:650}.login-title{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.login-subtitle{color:var(--muted);margin:6px 0 0;font-size:13.5px}.login-form{margin-top:24px}.login-label{color:#3f3f46;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.login-input{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:40px;color:var(--text);border-radius:8px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.login-input:hover:not(:disabled){border-color:#bdbdb8}.login-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #18181b12}.login-input.is-error{border-color:#b423188c}.login-input.is-error:focus{box-shadow:0 0 0 3px #b4231814}.login-input:disabled{opacity:.7;background:#f7f7f6}.login-error{min-height:18px;color:var(--error);margin:6px 0 8px;font-size:12.5px}.login-submit{background:var(--accent);color:#fff;border:0;border-radius:8px;width:100%;height:40px;font-size:13.5px;font-weight:500;transition:background .15s,opacity .15s}.login-submit:hover:not(:disabled){background:var(--accent-hover)}.login-submit:active:not(:disabled){background:#000}.login-submit:disabled{opacity:.45;cursor:not-allowed}.login-foot{color:#8b8b92;margin:0;font-size:12.5px}@media (max-width:420px){.login-card{padding:24px}}
