.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{width:100%;max-width:400px;margin:0 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--card-radius);padding:40px 32px;box-shadow:var(--card-shadow)}.logo-row{gap:10px;margin-bottom:32px}.logo,.logo-row{display:flex;align-items:center}.logo{width:32px;height:32px;background:var(--color-accent);border-radius:6px;justify-content:center;color:#1a1a1a;font-weight:700;font-size:13px;letter-spacing:-.5px;flex-shrink:0}.logo-text{font-size:15px}.login-title,.logo-text{font-weight:700;letter-spacing:-.3px;color:var(--color-text-primary)}.login-title{font-size:20px;margin-bottom:24px}.login-form{gap:16px}.field,.login-form{display:flex;flex-direction:column}.field{gap:6px}.field label{font-size:13px;font-weight:500}.field input,.field label{color:var(--color-text-primary)}.field input{width:100%;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-sans);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.field input::placeholder{color:var(--color-text-tertiary)}.field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.error-msg{padding:10px 14px;background:var(--color-negative-dim);border:1px solid var(--color-negative);border-radius:6px;color:var(--color-negative);font-size:13px}.login-btn{width:100%;padding:10px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;margin-top:4px}.login-btn:hover:not(:disabled){opacity:.88}.login-btn:disabled{opacity:.7;cursor:not-allowed}