:root{--primary-color: #0d6efd;--bg-color: #f8fafc}body{background-color:var(--bg-color);background-image:radial-gradient(circle at 10% 20%,rgba(13,110,253,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(13,110,253,.05) 0%,transparent 40%);font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;padding:20px}.login-card{width:100%;max-width:420px;padding:40px;background:#fff;border-radius:20px;box-shadow:0 15px 35px #0000000d;border:1px solid rgba(0,0,0,.05)}.brand-icon{width:60px;height:60px;background:#0d6efd1a;color:var(--primary-color);border-radius:15px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:2rem}.form-control{padding:12px 15px;border-radius:10px;transition:all .2s}.btn-login{padding:12px;border-radius:10px;font-weight:600;transition:all .3s}.btn-login:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d6efd33}.login-error{display:flex;align-items:flex-start;gap:.5rem;margin-top:.6rem;padding:.55rem .75rem;border:1px solid #f5c2c7;border-left:3px solid #dc3545;border-radius:.6rem;background:#fdf2f3;color:#b02a37;font-size:.85rem;line-height:1.35;animation:loginErrShake .3s ease}.login-error .bi{flex:0 0 auto;margin-top:.1rem}@keyframes loginErrShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.login-page .form-control.is-invalid,.form-control.is-invalid{border-color:#e4909a;background-image:none}
