*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,sans-serif;background:#1a1a2e;color:#e0e0e0;display:flex;justify-content:center;align-items:center;min-height:100vh}
.login-box{background:#16213e;border-radius:12px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 8px 32px rgba(0,0,0,.4)}
.login-box h1{font-size:1.3rem;text-align:center;margin-bottom:6px;color:#e94560}
.login-box p.sub{text-align:center;font-size:.85rem;color:#888;margin-bottom:28px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.8rem;color:#aaa;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.field input{width:100%;padding:11px 14px;border:1px solid #333;border-radius:8px;background:#0f3460;color:#e0e0e0;font-size:.95rem;outline:none;transition:border .2s}
.field input:focus{border-color:#e94560}
.btn{width:100%;padding:12px;border:none;border-radius:8px;background:#e94560;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:6px}
.btn:hover{background:#c73e54}
.btn:active{transform:scale(.98)}
.error{text-align:center;color:#e94560;font-size:.85rem;margin-top:14px;min-height:20px;opacity:0;transition:opacity .3s}
.error.show{opacity:1}
.footer{text-align:center;margin-top:22px;font-size:.75rem;color:#555}
