<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:#eef1f5;color:#1e293b;font-size:14px;overflow-x:hidden}
/* Login overlay */
#login{position:fixed;inset:0;background:linear-gradient(135deg,#1e40af,#3730a3);display:flex;align-items:center;justify-content:center;z-index:1000}
#login.hidden{display:none}
.login-box{background:#fff;padding:40px;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.3);min-width:380px}
.login-box h1{color:#1e40af;font-size:24px;margin-bottom:5px}
.login-box .sub{color:#64748b;font-size:13px;margin-bottom:28px}
.login-box label{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:700;margin-bottom:5px;margin-top:14px}
.login-box input{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:7px;font-size:14px;outline:none}
.login-box input:focus{border-color:#1e40af}
.login-box button{width:100%;background:#1e40af;color:#fff;border:none;padding:11px;border-radius:7px;font-size:14px;font-weight:600;cursor:pointer;margin-top:24px}
.login-box button:hover{background:#1e3a8a}
.login-box .err{color:#dc2626;font-size:12px;margin-top:10px;min-height:18px}
#carregando{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:500}
#carregando.hidden{display:none}
.spin{width:40px;height:40px;border:4px solid #dbeafe;border-top-color:#1e40af;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
