*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito',sans-serif;background:linear-gradient(135deg,#1a3a6e 0%,#0f2247 100%);min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-box{background:#fff;border-radius:20px;padding:48px 40px;width:400px;box-shadow:0 32px 80px rgba(0,0,0,0.4)}
.logo{text-align:center;margin-bottom:32px}
.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:26px}
.logo h1{font-size:30px;font-weight:900;color:#0f2247}
.logo p{color:#64748b;font-size:16px;margin-top:4px;font-weight:800}
.campo{margin-bottom:18px}
.campo label{display:block;font-size:15px;color:#374151;font-weight:900;margin-bottom:6px;text-transform:uppercase;letter-spacing:.8px}
.campo input{width:100%;padding:12px 14px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:17px;outline:none;transition:all .2s;font-family:'Nunito',sans-serif;font-weight:800}
.campo input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,0.1)}
.btn-login{width:100%;padding:13px;margin-top:8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;color:#fff;font-size:18px;font-weight:900;cursor:pointer;font-family:'Nunito',sans-serif;transition:all .2s;letter-spacing:.5px}
.btn-login:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(37,99,235,0.4)}
.btn-voltar{display:block;text-align:center;margin-top:14px;color:#64748b;font-size:14px;font-weight:800;text-decoration:none}
.btn-voltar:hover{color:#2563eb}
.erro{background:#fef2f2;border:2px solid #fca5a5;border-radius:10px;padding:10px 14px;color:#dc2626;font-size:16px;margin-bottom:18px;text-align:center;font-weight:800}
.sucesso{background:#f0fdf4;border:2px solid #86efac;border-radius:10px;padding:10px 14px;color:#16a34a;font-size:16px;margin-bottom:18px;text-align:center;font-weight:800}
