:root {
  --ink:#12334a;
  --muted:#6b8596;
  --line:#dcecf1;
  --purple:#7b52f6;
  --pink:#eb4bc8;
  --green:#1bae68;
}
* { box-sizing:border-box; }
body {
  min-height:100vh; margin:0; color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,#eafbff,#f8ffff);
}
a, button { font: inherit; }
a { color:inherit; text-decoration:none; }
button { border: 0; }
.hidden { display:none!important; }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(420px,1fr) minmax(420px,620px); position:relative; }
.auth-brand { position:absolute; top:24px; left:34px; z-index:5; display:flex; gap:10px; align-items:center; }
.auth-brand > span:first-child { font-size:30px; }
.auth-brand span:last-child { display:grid; }
.auth-brand strong { font-size:20px; letter-spacing:-.04em; }
.auth-brand small { color:rgba(255,255,255,.84); font-size:10px; }
.auth-visual {
  min-height:100vh; padding:130px 8vw 70px; display:flex; flex-direction:column; justify-content:center; overflow:hidden;
  position:relative; background:linear-gradient(145deg,#1dc0e8,#0b91c5); color:#fff;
}
.auth-visual::after {
  content:""; position:absolute; inset:auto -10% -28% auto; width:520px; height:520px; border-radius:50%;
  border:2px dashed rgba(255,255,255,.15);
}
.visual-copy { position:relative; z-index:2; max-width:700px; }
.visual-copy span { color:#c5f7ff; letter-spacing:.14em; font-size:11px; font-weight:900; }
.visual-copy h1 { margin:16px 0 22px; font-size:clamp(48px,5vw,82px); line-height:1; letter-spacing:-.06em; }
.visual-copy p { max-width:580px; color:#d7f5fb; font-size:18px; line-height:1.65; }
.auth-visual-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.auth-install-button, .auth-home-link {
  min-height:50px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:15px; font-weight:900;
}
.auth-install-button {
  color:#14344a; background:#fff; box-shadow:0 18px 35px rgba(8,76,100,.18); cursor:pointer;
}
.auth-home-link { color:#fff; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.08); }
.auth-install-message {
  margin-top:14px; max-width:520px; padding:12px 14px; border-radius:14px;
  color:#f0fbff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.15); font-size:13px; line-height:1.55;
}
.auth-visual-art { margin-top:26px; position:relative; z-index:2; }
.auth-visual img { width:min(760px,96%); display:block; margin:0 auto -130px; filter:drop-shadow(0 35px 45px rgba(0,73,101,.3)); }
.auth-card { min-height:100vh; padding:100px clamp(28px,5vw,82px) 60px; display:flex; flex-direction:column; justify-content:center; background:#fff; }
.auth-kicker { color:#1395ba; font-size:11px; letter-spacing:.14em; font-weight:900; }
.auth-card h1 { margin:10px 0 8px; font-size:38px; letter-spacing:-.05em; }
.auth-card .intro { margin:0 0 26px; color:var(--muted); line-height:1.55; }
.auth-form { display:grid; gap:14px; }
.auth-form label { display:grid; gap:6px; color:#526f80; font-size:11px; font-weight:850; }
.auth-form input {
  width:100%; min-height:49px; padding:10px 13px; border:1px solid var(--line); border-radius:14px;
  outline:none; color:var(--ink); background:#f9fcfd; font:inherit; font-weight:700;
}
.auth-form input:focus { border-color:#71d2e8; box-shadow:0 0 0 4px rgba(38,181,219,.12); }
.auth-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.remember { display:flex!important; grid-auto-flow:column; justify-content:start; align-items:center; gap:8px!important; }
.remember input { width:17px; min-height:17px; }
.auth-link { color:#6a50d7; font-size:12px; font-weight:850; }
.auth-submit {
  min-height:52px; border:0; border-radius:15px; color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--pink)); box-shadow:0 14px 30px rgba(123,82,246,.22);
  cursor:pointer; font-weight:900; font-size:14px;
}
.auth-submit:disabled { opacity:.55; cursor:wait; }
.auth-switch { margin-top:22px; color:var(--muted); text-align:center; font-size:12px; }
.auth-switch a { color:#6750d3; font-weight:900; }
.auth-message { margin-top:16px; padding:12px 14px; border-radius:13px; color:#187249; background:#e8f9ef; font-size:12px; line-height:1.5; }
.auth-message.error { color:#9d3d3d; background:#fff0f0; }
.password-note { color:var(--muted); font-size:10px; line-height:1.45; }
@media (max-width:900px) {
  .auth-shell { grid-template-columns:1fr; }
  .auth-visual { display:none; }
  .auth-brand small { color:var(--muted); }
  .auth-card { min-height:100vh; padding-top:110px; }
}

/* v2.9.1 legal consent block */
.legal-consents{display:grid;gap:9px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#f8fcfd}.auth-form .consent-row{display:grid;grid-template-columns:19px 1fr;align-items:start;gap:9px;color:#536f80;font-size:11px;font-weight:650;line-height:1.45}.auth-form .consent-row input{width:17px;min-height:17px;margin-top:1px}.auth-form .consent-row a{color:#6550d4;font-weight:900}
