* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Inter, sans-serif;
}

body {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: #f4f6fb;
}

.login-container {
width: 100%;
padding: 20px;
}

.login-card {
width: 100%;
max-width: 400px;
margin: auto;
background: white;
padding: 35px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.logo {
text-align: center;
margin-bottom: 25px;
}

.logo h2 {
color: #2563eb;
font-size: 26px;
}

.logo span {
color: #666;
font-size: 14px;
}

.input-group {
margin-bottom: 18px;
}

.input-group label {
display: block;
margin-bottom: 6px;
font-size: 14px;
color: #333;
}

.input-group input {
width: 100%;
padding: 12px;
border-radius: 8px;
border: 1px solid #ddd;
outline: none;
transition: 0.2s;
}

.input-group input:focus {
border-color: #2563eb;
}

.password-wrap {
position: relative;
}

.password-wrap button {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
border: none;
background: none;
cursor: pointer;
font-size: 16px;
}

.login-btn {
width: 100%;
padding: 12px;
border: none;
background: #2563eb;
color: white;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: 0.2s;
}

.login-btn:hover {
background: #1e4ed8;
}

.login-btn.loading {
opacity: 0.7;
pointer-events: none;
}

.error {
color: red;
font-size: 13px;
margin-top: 10px;
text-align: center;
}