body { margin:0; background:var(--background); color:var(--foreground);
  font-family:var(--body-font); font-size:14.5px; line-height:1.55; }
* { box-sizing:border-box; }
.login { min-height:100vh; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:18px; padding:24px;
  background:
    radial-gradient(1100px 520px at 50% -10%, var(--glow), transparent 70%),
    repeating-linear-gradient(0deg, var(--grid-line-h) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, var(--grid-line-v) 0 1px, transparent 1px 44px); }
.panel { width:100%; max-width:380px; background:var(--card); border:1px solid var(--border);
  border-radius:18px; padding:30px 28px 26px; display:flex; flex-direction:column; gap:14px;
  box-shadow:0 24px 60px -32px rgba(0,0,0,.65); }
.mark { width:42px; height:42px; border-radius:12px; background:var(--accent);
  color:var(--accent-ink); font-family:var(--display-font); font-weight:700; font-size:15px;
  display:flex; align-items:center; justify-content:center; letter-spacing:.02em; }
.panel h1 { font-family:var(--display-font); font-size:23px; font-weight:500; margin:6px 0 0;
  letter-spacing:-.01em; }
.sub { margin:0 0 6px; color:var(--muted-foreground); font-size:13.5px; max-width:34ch; }
label { display:flex; flex-direction:column; gap:6px; }
label span { font-family:var(--mono-font); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted-foreground); }
input { background:var(--background); border:1px solid var(--border); border-radius:10px;
  padding:11px 13px; color:var(--foreground); font-family:var(--body-font); font-size:14.5px;
  transition:border-color .15s ease, box-shadow .15s ease; }
input:focus { outline:none; border-color:var(--accent-text);
  box-shadow:0 0 0 3px var(--nav-active-bg); }
button { margin-top:4px; border:none; border-radius:10px; padding:12px 16px;
  background:var(--accent); color:var(--accent-ink); font-family:var(--body-font);
  font-size:14.5px; font-weight:600; cursor:pointer; transition:filter .15s ease; }
button:hover:not(:disabled) { filter:brightness(1.06); }
button:disabled { opacity:.45; cursor:default; }
.error { margin:0; padding:9px 12px; border-radius:10px; background:var(--destructive-soft);
  border:1px solid var(--destructive); color:var(--destructive); font-size:13.5px; }
.foot { margin:0; color:var(--muted-foreground); font-size:12.5px; }
@media (max-width:420px) { .panel { padding:24px 20px 22px; border-radius:14px; } }
