/* style.css */
* { 
    box-sizing: border-box; 
}

body { 
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; 
    background: linear-gradient(135deg, #1a237e 0%, #0d145a 100%); 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    height: 100vh; 
    margin: 0; 
    overflow: hidden; 
}

body::before { 
    content: ""; 
    position: absolute; 
    width: 300px; 
    height: 300px; 
    background: rgba(255,255,255,0.05); 
    border-radius: 50%; 
    top: -100px; 
    right: -100px; 
    z-index: 0; 
}

.login-card { 
    background: rgba(255,255,255,0.95); 
    padding: 40px 30px; 
    border-radius: 30px; 
    width: 100%; 
    max-width: 360px; 
    text-align: center; 
    box-shadow: 0 20px 40px rgba(0,0,0,0.4); 
    z-index: 1; 
    position: relative; 
    animation: fadeIn 0.8s ease-out; 
}

@keyframes fadeIn { 
    from { opacity:0; transform:translateY(20px); } 
    to { opacity:1; transform:translateY(0); } 
}

.logo-area { 
    margin-bottom: 30px; 
}

.logo-area i { 
    font-size: 50px; 
    color: #1a237e; 
    margin-bottom: 10px; 
}

h2 { 
    color: #1a237e; 
    margin: 0; 
    font-size: 24px; 
    letter-spacing: 2px; 
    font-weight: 900; 
}

p { 
    color: #666; 
    font-size: 14px; 
    margin-top: 5px; 
    margin-bottom: 30px; 
}

.input-group { 
    position: relative; 
    margin-bottom: 15px; 
}

.input-group i { 
    position: absolute; 
    left: 15px; 
    top: 50%; 
    transform: translateY(-50%); 
    color: #1a237e; 
    opacity: 0.7; 
}

input { 
    width: 100%; 
    padding: 15px 15px 15px 45px; 
    border: 2px solid #eee; 
    border-radius: 15px; 
    outline: none; 
    font-size: 15px; 
    transition: 0.3s; 
    background: #f9f9f9; 
}

input:focus { 
    border-color: #1a237e; 
    background: #fff; 
    box-shadow: 0 0 10px rgba(26,35,126,0.1); 
}

button { 
    width: 100%; 
    padding: 16px; 
    background: #1a237e; 
    color: white; 
    border: none; 
    border-radius: 15px; 
    cursor: pointer; 
    font-size: 16px; 
    font-weight: bold; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    transition: 0.3s; 
    margin-top: 10px; 
    box-shadow: 0 5px 15px rgba(26,35,126,0.3); 
}

button:hover { 
    background: #0d145a; 
    transform: translateY(-2px); 
    box-shadow: 0 8px 20px rgba(26,35,126,0.4); 
}

button:active { 
    transform: translateY(0); 
}

.footer-text { 
    margin-top: 25px; 
    font-size: 12px; 
    color: #999; 
}

.erro-msg { 
    color: #c0392b; 
    font-size: 13px; 
    margin-top: 10px; 
    display: none; 
    background: #fdecea; 
    border-radius: 10px; 
    padding: 10px; 
}

@media (max-width: 400px) { 
    .login-card { width: 90%; padding: 30px 20px; } 
}