/* LunePanel — Login */
.login-body { min-height:100vh; background:var(--bg0); display:flex; align-items:center; justify-content:center; padding:20px; }
.login-card {
  width:100%; max-width:380px;
  background:var(--bg2); border:1px solid var(--border1);
  border-radius:var(--r-xl); padding:36px; box-shadow:var(--shadow-xl);
  position:relative; overflow:hidden;
  animation:slideUp .3s ease forwards;
}
.login-card::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:200px; height:200px;
  background:radial-gradient(circle,rgba(61,155,255,.08),transparent 70%);
  pointer-events:none;
}
.login-brand { display:flex; align-items:center; gap:12px; margin-bottom:28px; }
.login-logo {
  width:42px; height:42px;
  background:linear-gradient(135deg,var(--blue-d),var(--green-d));
  border:1px solid rgba(61,155,255,.25); border-radius:var(--r);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:var(--blue);
}
.login-brand-text h2 { font-size:1.1rem; font-weight:800; color:#fff; letter-spacing:-.02em; }
.login-brand-text p  { font-size:.72rem; color:var(--txt3); margin-top:2px; }
.login-title { font-size:.9rem; font-weight:700; color:var(--txt); margin-bottom:20px; }
.form-group { margin-bottom:14px; }
.form-label { display:block; font-size:.75rem; font-weight:700; color:var(--txt2); margin-bottom:6px; text-transform:uppercase; letter-spacing:.04em; }
.form-input {
  width:100%; padding:11px 14px;
  background:var(--bg3); border:1px solid var(--border1);
  border-radius:var(--r-sm); color:var(--txt);
  font-family:'Syne',sans-serif; font-size:.88rem; outline:none;
  transition:var(--t);
}
.form-input:focus { border-color:rgba(61,155,255,.4); box-shadow:0 0 0 3px var(--blue-d); background:var(--bg4); }
.form-input::placeholder { color:var(--txt3); }
.login-btn {
  width:100%; padding:12px; margin-top:8px;
  background:linear-gradient(135deg,rgba(61,155,255,.2),rgba(0,229,160,.1));
  border:1px solid rgba(61,155,255,.3); border-radius:var(--r-sm);
  color:var(--blue); font-family:'Syne',sans-serif; font-size:.88rem; font-weight:700;
  cursor:pointer; transition:var(--t);
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.login-btn:hover {
  background:linear-gradient(135deg,rgba(61,155,255,.28),rgba(0,229,160,.15));
  border-color:rgba(61,155,255,.5); transform:translateY(-1px); box-shadow:0 4px 20px rgba(61,155,255,.2);
}
.login-error {
  background:var(--red-d); border:1px solid rgba(255,61,90,.25);
  border-radius:var(--r-sm); padding:10px 14px; margin-bottom:16px;
  color:var(--red); font-size:.78rem; display:flex; align-items:center; gap:8px;
}
@keyframes slideUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
@keyframes shadow-xl { 0%,100%{box-shadow:var(--shadow-lg)} 50%{box-shadow:0 32px 80px rgba(0,0,0,.8)} }
