*{
box-sizing:border-box;
}

body{
margin:0;
font-family: Inter, Arial, sans-serif;
background: linear-gradient(135deg,#2563eb,#4f46e5);
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:24px 16px;
}

.auth-wrapper{
width:100%;
display:flex;
align-items:center;
justify-content:center;
}

.auth-card{
background:white;
padding:40px;
width:380px;
max-width:100%;
border-radius:12px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
text-align:center;
}

.auth-logo h1{
margin:10px 0 5px;
font-size:22px;
}

.auth-logo p{
color:#666;
font-size:14px;
margin-bottom:20px;
}

.logo-circle{
background:#2563eb;
color:white;
font-weight:bold;
padding:12px 14px;
border-radius:50%;
font-size:14px;
display:inline-block;
}

.form-group{
text-align:left;
margin-bottom:15px;
}

.form-group label{
font-size:13px;
color:#444;
display:block;
margin-bottom:5px;
}

input{
  width:100%;
  padding:12px;
  border:1px solid #ddd;
  border-radius:6px;
  font-size:14px;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
input:focus-visible{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.18);
}

a:focus-visible,
button:focus-visible{
  outline:3px solid rgba(37,99,235,0.3);
  outline-offset:2px;
}

.auth-btn{
width:100%;
padding:12px;
background:#2563eb;
border:none;
color:white;
font-weight:600;
border-radius:6px;
cursor:pointer;
margin-top:10px;
}

.auth-btn:hover{
background:#1d4ed8;
}

.switch{
margin-top:15px;
font-size:14px;
}

.switch a{
color:#2563eb;
text-decoration:none;
font-weight:500;
}

@media (max-width: 480px){
.auth-card{
padding:28px 20px;
}
}
