/* The partner sign-in and setup pages: the Kredit Academy design system's light look.
   Poppins is served from our own files. Nothing is loaded from a third party. */
@font-face { font-family: "Poppins"; font-weight: 400; font-display: swap; src: url("fonts/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-display: swap; src: url("fonts/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-display: swap; src: url("fonts/poppins-600.woff2") format("woff2"); }

html.kq-signing-in body { background: #f0f7f7 !important; background-image: none !important; }
html.kq-signing-in #splash, html.kq-signing-in #splash-branding { display: none; }

#kq-signin {
  --ink: #1d2342;
  --turquoise: #32c3be;
  --sun: #fcbf2b;
  --muted: #576271;
  --line: #d5e2e2;
  position: fixed; inset: 0; overflow-y: auto; z-index: 1000;
  background: #f0f7f7; color: var(--ink);
  font-family: "Poppins", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.5;
}
#kq-signin *, #kq-signin *::before { box-sizing: border-box; }
#kq-signin .kq-page { min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; gap: 20px; }
#kq-signin .kq-brand { margin: 0; font-weight: 600; font-size: 20px; letter-spacing: 0.01em; }
#kq-signin .kq-card { width: 100%; max-width: 440px; background: #ffffff; border: 1px solid var(--line); border-top: 4px solid var(--turquoise); border-radius: 14px; padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 8px 28px rgba(29, 35, 66, 0.08); }
#kq-signin .kq-eyebrow { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; color: #0b7f7b; }
#kq-signin .kq-heading { margin: 0; font-size: 26px; line-height: 1.25; font-weight: 600; outline: none; }
#kq-signin .kq-text, #kq-signin .kq-note, #kq-signin .kq-status, #kq-signin .kq-under { margin: 0; }
#kq-signin .kq-note { font-size: 14px; color: var(--muted); }
#kq-signin .kq-status { min-height: 24px; font-size: 15px; font-weight: 500; color: #9a2c3d; }
#kq-signin .kq-status:empty { min-height: 0; }
#kq-signin .kq-under { max-width: 440px; text-align: center; font-size: 13px; color: var(--muted); }
#kq-signin .kq-form { display: flex; flex-direction: column; gap: 8px; }
#kq-signin label { font-size: 14px; font-weight: 500; }
#kq-signin input { width: 100%; font: inherit; color: var(--ink); background: #ffffff; border: 1px solid #9fb1b1; border-radius: 10px; padding: 12px 14px; }
#kq-signin input::placeholder { color: #7a8794; }
#kq-signin .kq-primary { width: 100%; margin-top: 6px; font: inherit; font-weight: 600; color: var(--ink); background: var(--turquoise); border: 0; border-radius: 10px; padding: 13px 16px; min-height: 48px; cursor: pointer; }
#kq-signin .kq-primary:hover { background: #2bb0ab; }
#kq-signin .kq-link { align-self: flex-start; font: inherit; font-size: 15px; font-weight: 500; color: #0b6f6c; background: none; border: 0; padding: 6px 0; min-height: 36px; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
#kq-signin .kq-back { text-decoration: none; color: var(--muted); overflow-wrap: anywhere; }
#kq-signin :is(input, button, a):focus-visible { outline: 3px solid var(--sun); outline-offset: 2px; }
#kq-signin :is(button, input):disabled { opacity: 0.55; cursor: default; }
#kq-signin .kq-steps { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; font-size: 13px; font-weight: 500; color: var(--muted); }
#kq-signin .kq-steps li { flex: 1; padding-top: 8px; border-top: 3px solid var(--line); }
#kq-signin .kq-steps li.kq-step-done { border-top-color: var(--turquoise); }
#kq-signin .kq-steps li[aria-current="step"] { border-top-color: var(--sun); color: var(--ink); }
#kq-signin .kq-qr { width: 200px; height: 200px; align-self: center; border: 1px solid var(--line); border-radius: 8px; }
#kq-signin .kq-secret { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 14px; color: var(--ink); overflow-wrap: anywhere; user-select: all; }
@media (max-width: 480px) {
  #kq-signin .kq-page { justify-content: flex-start; padding: 20px 12px; }
  #kq-signin .kq-card { padding: 24px 18px; }
  #kq-signin .kq-heading { font-size: 22px; }
}
@media (prefers-reduced-motion: no-preference) { #kq-signin .kq-primary { transition: background-color 120ms ease; } }
