/* Styles for the login gate only.
 *
 * Kept self-contained on purpose. A showcase brings its own stylesheet; the gate must
 * not restyle it. Everything here is scoped under .sc-gate, and the custom properties
 * are declared on .sc-gate rather than :root, so nothing leaks into the page behind it.
 * The gate assets live under /_gate/ so they never collide with the showcase's own
 * /assets/ directory. */

.sc-gate {
  --gate-navy: #080e3f;
  --gate-orange: #fb4601;
  --gate-ink: #0f172a;
  --gate-body: #475569;
  --gate-muted: #75849a;
  --gate-line: #e5e9f0;
  --gate-blue: #3d63ea;

  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--gate-navy);
  background-image: radial-gradient(
    ellipse at 50% -20%,
    rgba(251, 70, 1, 0.28),
    transparent 62%
  );
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
}

.sc-gate * {
  box-sizing: border-box;
}

.sc-gate-card {
  width: 100%;
  max-width: 372px;
  background: #fff;
  border-radius: 14px;
  padding: 32px 32px 28px;
  box-shadow: 0 20px 50px rgba(4, 7, 32, 0.42);
}

.sc-gate-brand {
  display: block;
  width: 132px;
  height: auto;
  margin: 0 0 20px;
}

.sc-gate-wordmark {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gate-navy);
  margin: 0 0 20px;
}

.sc-gate-card h1 {
  font-family: inherit;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--gate-ink);
  margin: 0;
}

.sc-gate-sub {
  font-size: 13px;
  color: var(--gate-body);
  margin: 7px 0 24px;
}

.sc-gate-card label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gate-muted);
  margin-bottom: 6px;
}

.sc-gate-card input {
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  color: var(--gate-ink);
  padding: 10px 12px;
  border: 1px solid var(--gate-line);
  border-radius: 8px;
  margin-bottom: 16px;
  background: #fff;
}

.sc-gate-card input:focus {
  outline: none;
  border-color: var(--gate-blue);
  box-shadow: 0 0 0 3px rgba(61, 99, 234, 0.15);
}

.sc-gate-error {
  font-size: 12.5px;
  color: #b4342f;
  background: #fdf0ef;
  border: 1px solid #f6d5d2;
  border-radius: 7px;
  padding: 9px 11px;
  margin: 0 0 16px;
}

.sc-gate-card button {
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--gate-orange);
  border: 0;
  border-radius: 8px;
  padding: 11px;
  cursor: pointer;
}

.sc-gate-card button:hover {
  background: #e03e00;
}

.sc-gate-foot {
  font-size: 11.5px;
  color: var(--gate-muted);
  text-align: center;
  margin: 18px 0 0;
}
