*{box-sizing:border-box}
body{font-family:system-ui,Arial,sans-serif;background:#f4f6f8;color:#1c2630;margin:0;line-height:1.5}
.caja{max-width:440px;margin:40px auto;background:#fff;padding:28px;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08)}
h1{margin:0 0 6px;font-size:1.6rem;color:#0b5ed7}
p.sub{margin:0 0 20px;color:#5b6773}
label{display:block;margin:14px 0 4px;font-weight:600;font-size:.9rem}
input,select{width:100%;padding:10px;border:1px solid #c5ccd3;border-radius:8px;font-size:1rem}
.roles{display:flex;gap:10px}
.roles label{flex:1;border:1px solid #c5ccd3;border-radius:8px;padding:10px;margin:0;font-weight:500;cursor:pointer}
.roles input{width:auto;margin-right:6px}
button,.btn{display:inline-block;width:100%;margin-top:20px;padding:12px;background:#0b5ed7;color:#fff;border:0;border-radius:8px;font-size:1rem;cursor:pointer;text-align:center;text-decoration:none}
button:disabled{opacity:.6}
.btn.sec{background:#e9eef5;color:#0b5ed7}
.msg{margin-top:14px;padding:10px;border-radius:8px;font-size:.9rem}
.msg.error{background:#fdecea;color:#a12622}
.msg.ok{background:#e6f4ea;color:#1e6b34}
.pie{text-align:center;margin-top:16px;font-size:.9rem}
a{color:#0b5ed7}
