html { font-family: var(--font-family, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif); }
:root{
  --fs-base: var(--font-size, 14px);
  --fs-xs: calc(var(--fs-base) * 0.857);
  --fs-sm: calc(var(--fs-base) * 0.93);
  --fs-lg: calc(var(--fs-base) * 1.14);
  --label-fs: var(--label-font-size, var(--fs-sm));
  --label-fw: var(--label-font-weight, 700);
  --btn-pad-y-default: calc(var(--fs-base) * 0.57);
  --btn-pad-x-default: calc(var(--fs-base) * 0.71);
  --input-pad-y-default: calc(var(--fs-base) * 0.71);
  --input-pad-x-default: calc(var(--fs-base) * 0.86);
}
body { font-family: var(--font-family, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif); font-size: var(--fs-base); font-weight: var(--font-weight, 400); background:#0b1220; color:#e5e7eb; margin:0; }
*, *::before, *::after { font-family: inherit; }
.auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:calc(var(--fs-base) * 1.71); }
.auth-card { width:100%; max-width:420px; background:#111a2e; border:1px solid rgba(255,255,255,.08); border-radius:7px; padding:22px; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
.auth-card { padding:var(--card-pad, 22px); }
.auth-header { text-align:center; margin:0 0 20px; }
.auth-brand { display:flex; justify-content:center; margin:0 0 8px; }
.auth-brand-logo { max-height:56px; max-width:220px; width:auto; height:auto; object-fit:contain; }
.auth-version { color:#9ca3af; font-size:var(--fs-xs); font-weight:600; letter-spacing:.04em; }
.auth-card h1 { margin:0 0 18px; font-size:calc(var(--fs-base) * 1.43); text-align:center; }
.auth-card p { margin:0 0 18px; color:#9ca3af; font-size:var(--fs-sm); }
.auth-card h1 + p { margin-top:-10px; }
.auth-card label { display:block; font-size:var(--label-fs); font-weight:var(--label-fw); color:#cbd5e1; margin:12px 0 6px; }
.auth-card input { width:100%; box-sizing:border-box; padding:var(--input-pad-y, var(--input-pad-y-default)) var(--input-pad-x, var(--input-pad-x-default)); border-radius:6px; border:1px solid rgba(255,255,255,.12); background:#0b1220; color:#e5e7eb; font: inherit; }
.auth-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.auth-remember { margin:0; display:flex; align-items:center; gap:8px; color:#9ca3af; font-size:var(--fs-xs); }
.auth-remember input { width:auto; }
.auth-btn { width:100%; margin-top:14px; padding:var(--btn-pad-y, var(--btn-pad-y-default)) var(--btn-pad-x, var(--btn-pad-x-default)); border-radius:6px; border:0; background:#2563eb; color:white; font-weight:600; cursor:pointer; font: inherit; }
.auth-btn-link { display:block; text-align:center; text-decoration:none; }
.auth-err { margin-top:10px; background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.35); color:#fecaca; padding:var(--input-pad-y, var(--input-pad-y-default)) var(--input-pad-x, var(--input-pad-x-default)); border-radius:6px; font-size:var(--fs-sm); }
.auth-status { margin-top:10px; background:rgba(37,99,235,.12); border:1px solid rgba(37,99,235,.35); color:#bfdbfe; padding:var(--input-pad-y, var(--input-pad-y-default)) var(--input-pad-x, var(--input-pad-x-default)); border-radius:6px; font-size:var(--fs-sm); }
.auth-card .auth-row a.auth-link,
.auth-card .auth-foot a.auth-link {
  color:#7dd3fc !important;
  font-size:var(--fs-sm);
  text-decoration:underline !important;
  text-underline-offset:3px;
  font-weight:700;
  white-space:nowrap;
}
.auth-card .auth-row a.auth-link:hover,
.auth-card .auth-foot a.auth-link:hover {
  color:#fff !important;
}
.auth-card .auth-row a.auth-link:focus-visible,
.auth-card .auth-foot a.auth-link:focus-visible {
  outline:2px solid #60a5fa;
  outline-offset:2px;
  border-radius:4px;
}
.auth-foot { margin:14px 0 0; text-align:center; font-size:var(--fs-xs); }
