/* Academy's sign-in: Tilda Sense's (cleopatra packages/common/authentication), the same layout,
   type and colours. */
:root {
  --text: rgb(31, 45, 72);
  --heading: rgb(26, 31, 54);
  --muted: rgb(87, 102, 125);
  --line: rgb(226, 232, 240);
  --line-2: rgb(203, 213, 225);
  --brand: rgb(16, 58, 77);
  --brand-hover: rgb(11, 44, 59);
  --link: rgb(37, 99, 235);
  --soft: rgb(241, 245, 249);
  --danger: rgb(185, 28, 28);
  --font: -apple-system, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { background: #fff; color: var(--text); font: 14px/22px var(--font); color-scheme: only light; }
[hidden] { display: none !important; }
.layout { display: grid; min-height: 100dvh; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .layout { grid-template-columns: repeat(2, 1fr); } }
.main { display: flex; flex-direction: column; align-items: flex-start; gap: 86px; width: 400px; max-width: 100%; margin: 40px auto; padding: 0 16px; }
.logo { height: 32px; width: auto; color: rgb(31, 45, 72); }
.w-full { width: 100%; }
.header { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.header h2 { margin: 0; font: 500 22px/26px var(--font); color: var(--heading); }
.step { display: flex; flex-direction: column; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 6px; font-weight: 500; color: var(--heading); }
.field input { height: 32px; padding: 4px 8px; border: 1px solid var(--line-2); border-radius: 6px; font: 400 14px/22px var(--font); color: var(--text); background: #fff; }
.field input::placeholder { color: rgb(148, 163, 184); }
.field input:focus { outline: 2px solid rgb(147, 197, 253); outline-offset: 0; border-color: rgb(96, 165, 250); }
.email-display { display: flex; align-items: center; justify-content: space-between; height: 32px; padding: 4px 8px; border: 1px solid var(--line-2); border-radius: 6px; background: rgb(248, 250, 252); font-weight: 400; color: var(--muted); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 40px; padding: 8px 24px; border-radius: 8px; border: 1px solid var(--line-2); background: #fff; color: rgb(51, 65, 85); font: 400 16px/20px var(--font); cursor: pointer; }
.btn:hover { background: var(--soft); }
.btn-primary { margin-top: 8px; border-color: transparent; background: var(--brand); color: #fff; font-weight: 500; }
.btn-primary:hover { background: var(--brand-hover); }
.btn:disabled { opacity: .6; cursor: default; }
.btn-sso { background: var(--soft); }
.btn svg { width: 18px; height: 18px; flex: none; }
.methods { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.link { border: 0; padding: 0; background: none; color: var(--link); font: 500 12px/16px var(--font); cursor: pointer; }
.link:hover { text-decoration: underline; }
.back { align-self: center; font-size: 13px; }
.hint { margin: 0; color: var(--muted); }
.alert { margin: 0 0 16px; padding: 8px 12px; border-radius: 8px; background: rgb(254, 242, 242); color: var(--danger); border: 1px solid rgb(254, 202, 202); }
.footer { margin-top: 32px; color: var(--muted); font-size: 12px; line-height: 21px; }
.footer hr { border: 0; border-top: 1px solid var(--line); margin: 0 0 56px; }
.footer p { margin: 0; }
.footer a { color: var(--link); text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.academy-note { margin-top: 12px !important; }
.illustration { display: none; }
@media (min-width: 1024px) {
  .illustration { display: flex; flex-direction: column; position: sticky; top: 0; height: 100dvh; padding: 8px 8px 8px 0; background: #fff; overflow: hidden; }
}
.illustration-image { display: flex; flex: 1; min-height: 0; border-radius: 12px; overflow: hidden; }
.illustration-backdrop { position: relative; width: 100%; height: 100%; background-color: rgb(31, 45, 72);
  background-image: linear-gradient(-14.1deg, rgba(82, 115, 179, .4) 1.14%, rgba(82, 115, 179, 0) 90.51%); }
.illustration-overlay { display: block; width: 100%; height: 100%; object-fit: cover; }
