:root{
  --ui-bg:#f6f8fb;
  --ui-card:#ffffff;
  --ui-bdr:#e9edf3;
  --ui-ink:#0f172a;
  --ui-ink-2:#475569;
  --ui-accent:#3b82f6;
  --ui-accent-2:#2563eb;
  --ui-soft:#eef2ff;
  --ui-radius:16px;
  --ui-shadow:0 12px 36px rgba(15,23,42,.10);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:
    radial-gradient(60% 60% at 0% 0%, #f0f6ff 0%, transparent 60%),
    radial-gradient(70% 70% at 100% 0%, #f7faff 0%, transparent 65%),
    var(--ui-bg);
  color:var(--ui-ink);
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}

/* Shell */
.auth-shell{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:24px;
}

/* Card */
.auth-card{
  width:100%;
  max-width: 520px;
  background:var(--ui-card);
  border:1px solid var(--ui-bdr);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
  overflow:hidden;
}

.auth-head{
  padding:18px 22px;
  border-bottom:1px solid var(--ui-bdr);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:linear-gradient(180deg,#ffffff, #fbfdff);
}

.brand-mini{
  display:flex; align-items:center; gap:10px;
}
.brand-mini .logo{
  width:36px; height:36px; border-radius:9px;
  background:#e8f1ff; color:#2563eb; display:grid; place-items:center; font-weight:800;
}
.brand-mini .name{ font-weight:700; letter-spacing:.2px; }

.auth-switch{
  display:flex; gap:6px;
}
.auth-switch a{
  text-decoration:none; font-weight:600; padding:.4rem .65rem; border-radius:10px;
  border:1px solid transparent; color:var(--ui-ink-2);
}
.auth-switch a.active{
  background:#eef4ff; border-color:#e2ebff; color:#0f172a;
}

.auth-body{ padding:22px; }

/* Form */
.auth-body .form-label{ font-weight:600; color:#111827; }
.auth-body .form-control{
  border:1px solid var(--ui-bdr); border-radius:12px; padding:.7rem .85rem;
}
.auth-body .form-control:focus{
  border-color:#c7d7fe; box-shadow:0 0 0 4px rgba(59,130,246,.15);
}
.btn-primary{
  background:linear-gradient(180deg,var(--ui-accent),var(--ui-accent-2));
  border-color:var(--ui-accent-2);
}
.btn-primary:focus{ box-shadow:0 0 0 4px rgba(59,130,246,.25); }
.btn-outline-primary{
  border-color:var(--ui-accent); color:var(--ui-accent);
}
.btn-outline-primary:hover{ background:var(--ui-accent); color:#fff; }

/* Footer Text */
.auth-foot{
  padding:14px 22px; border-top:1px solid var(--ui-bdr); background:#fff;
  color:var(--ui-ink-2); font-size:.9rem;
}

/* Alerts spacing */
.alert{ border-radius:12px; }

/* Small helper for centered info-links */
.auth-links{ display:flex; justify-content:center; gap:12px; font-size:.95rem; }
.auth-links a{ text-decoration:none; }