:root{
  --bg:#030712;
  --panel:rgba(15,23,42,.76);
  --line:rgba(255,255,255,.13);
  --text:#f8fafc;
  --muted:#94a3b8;
  --gold:#d6b46a;
  --blue:#0ea5e9;
  --red:#ff2f2f;
}
*{box-sizing:border-box}
body.loni-login{
  margin:0;
  min-height:100vh;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 50% 0%,rgba(14,165,233,.18),transparent 34%),
    radial-gradient(circle at 15% 90%,rgba(214,180,106,.12),transparent 30%),
    linear-gradient(145deg,#020617,#07111f 55%,#111827);
  overflow-x:hidden;
}
.loni-bg-grid{
  position:fixed;inset:0;pointer-events:none;opacity:.12;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at center,#000 0%,transparent 72%);
}
.loni-glow{
  position:fixed;inset:auto auto 10% 50%;
  width:360px;height:360px;border-radius:999px;
  background:radial-gradient(circle,rgba(14,165,233,.18),transparent 68%);
  filter:blur(8px);
  transform:translateX(-50%);
  animation:floatGlow 7s ease-in-out infinite;
  pointer-events:none;
}
@keyframes floatGlow{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-18px) scale(1.08)}}
.loni-wrap{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:26px;
  position:relative;
}
.loni-card{
  width:min(520px,100%);
  border:1px solid var(--line);
  border-radius:34px;
  padding:34px 28px;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
  box-shadow:0 34px 110px rgba(0,0,0,.42);
  backdrop-filter:blur(24px);
  position:relative;
  overflow:hidden;
}
.loni-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(214,180,106,.16),transparent 38%);
  pointer-events:none;
}
.loni-card>*{position:relative}
.loni-brand{text-align:center;margin-bottom:26px}
.loni-mark{
  width:76px;height:76px;border-radius:26px;
  margin:0 auto 16px;
  display:grid;place-items:center;
  font-size:36px;font-weight:950;
  background:linear-gradient(135deg,#0f172a,#0ea5e9 52%,#d6b46a);
  box-shadow:0 22px 60px rgba(14,165,233,.22);
}
.loni-title{
  margin:0;
  font-size:clamp(28px,6vw,42px);
  line-height:1.18;
  font-weight:950;
  letter-spacing:-.5px;
}
.loni-title span{
  display:block;
  color:#e6d7aa;
}
.loni-subtitle{
  margin:10px 0 0;
  color:var(--muted);
  font-size:15px;
  font-weight:800;
}
.loni-error{
  border:1px solid rgba(239,68,68,.35);
  background:rgba(127,29,29,.22);
  color:#fecaca;
  border-radius:18px;
  padding:13px 14px;
  margin:12px 0 16px;
  font-weight:900;
  text-align:center;
}
.loni-form label{
  display:block;
  margin:14px 0 8px;
  color:#e2e8f0;
  font-weight:900;
}
.loni-input{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(2,6,23,.58);
  color:#fff;
  border-radius:18px;
  padding:15px 16px;
  outline:none;
  font-size:16px;
}
.loni-input:focus{
  border-color:rgba(214,180,106,.85);
  box-shadow:0 0 0 4px rgba(214,180,106,.11);
}
.loni-submit{
  width:100%;
  margin-top:20px;
  border:0;
  border-radius:20px;
  padding:16px 18px;
  font-size:17px;
  font-weight:950;
  color:#07111f;
  cursor:pointer;
  background:linear-gradient(90deg,#e7c873,#38bdf8);
  box-shadow:0 22px 54px rgba(14,165,233,.2);
}
.loni-submit:hover{filter:saturate(1.08);transform:translateY(-1px)}
.loni-rights{
  margin-top:20px;
  border:1px solid rgba(239,68,68,.45);
  background:rgba(127,29,29,.20);
  color:var(--red);
  border-radius:20px;
  padding:14px 16px;
  font-size:12.3px;
  line-height:1.85;
  font-weight:950;
  text-align:center;
}
.loni-ip{
  margin-top:10px;
  color:#fecaca;
  background:rgba(239,68,68,.12);
  border:1px dashed rgba(248,113,113,.45);
  border-radius:14px;
  padding:8px 10px;
  font-size:12px;
  font-weight:950;
}
.loni-footer{
  margin-top:16px;
  color:#64748b;
  text-align:center;
  font-size:12px;
  font-weight:800;
}
@media(max-width:560px){
  .loni-wrap{padding:16px}
  .loni-card{padding:28px 20px;border-radius:28px}
}
