.login-container{background-color:var(--background);min-height:100vh;color:var(--foreground);justify-content:center;align-items:center;display:flex}.login-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1.5rem;width:100%;max-width:28rem;padding:2.5rem;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.login-header{text-align:center;flex-direction:column;gap:.5rem;display:flex}.login-title{color:var(--foreground);letter-spacing:-.025em;margin:0;font-size:1.875rem;font-weight:700}.login-subtitle{color:var(--muted-foreground);margin:0;font-size:.875rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--foreground);font-size:.875rem;font-weight:500}.form-input{border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);background-color:var(--background);width:100%;color:var(--foreground);outline:none;padding:.75rem 1rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--ring);box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.login-button{background-color:var(--primary);width:100%;color:var(--primary-foreground);border-radius:calc(var(--radius) - 2px);cursor:pointer;border:none;justify-content:center;align-items:center;margin-top:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s,opacity .2s;display:flex}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--destructive);text-align:center;margin-top:.5rem;font-size:.875rem}
