/* ============================================================
   StayPilot.ai — login split screen (login.php only).
   Two panels: sign-in form (left) + social proof (right).
   Built on design/styles.css tokens; reuses .btn / .input /
   .auth-alert / .auth-divider from auth.css. Signup keeps the
   centered card, so these styles are scoped under body.authx.
   ============================================================ */

:root{ --authx-aside-bg:#f4f4f5; }

body.authx{ background:var(--bg); }

.authx-grid{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
}

/* ---------------- left: form ---------------- */
.authx-left{
  display:flex;align-items:center;justify-content:center;
  padding:40px 24px;
}
.authx-form{width:100%;max-width:392px}

.authx-logo{display:inline-flex;align-items:center;gap:9px;margin-bottom:34px}
.authx-logo img{width:30px;height:30px}
.authx-logo span{
  font-size:17px;font-weight:var(--weight-black);
  letter-spacing:var(--tracking-tight);color:var(--ink);
}

.authx-form h1{
  font-size:clamp(2rem,3vw,2.6rem);font-weight:var(--weight-black);
  letter-spacing:var(--tracking-tight);color:var(--ink);
  line-height:1.05;margin-bottom:10px;
}
.authx-switch{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:24px}
.authx-switch a{color:var(--orange);font-weight:var(--weight-bold)}
.authx-switch a:hover{color:var(--orange-2)}

.authx-field{margin-top:16px}
.authx-field label{
  display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);
  color:var(--ink-2);margin-bottom:7px;
}
.authx-forgot{margin-top:12px}
.authx-forgot a{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--orange)}
.authx-forgot a:hover{color:var(--orange-2)}

/* pill buttons on this page (match the reference) */
.authx .btn{border-radius:var(--radius-pill);padding:15px}
.authx .btn-dark,
.authx .btn-orange{margin-top:22px}

/* peach "Continue with Google" */
.authx .btn-google{background:var(--orange-soft);color:var(--ink);border:none;box-shadow:none;margin-top:0}
.authx .btn-google:hover{background:#ffdccb;transform:translateY(-1px)}
.authx .btn-google svg{width:20px;height:20px}

.authx .auth-divider{margin:18px 0}
.authx .auth-alert{text-align:left;margin-bottom:16px}

/* ---------------- right: social proof ---------------- */
.authx-aside{
  position:relative;overflow:hidden;
  background:var(--authx-aside-bg);
  display:flex;flex-direction:column;
  padding:44px 40px;
}
.authx-stats{display:flex;align-items:center;justify-content:center;text-align:center}
.authx-stat{padding:0 26px}
.authx-stat + .authx-stat{border-left:1px solid var(--line)}
.authx-stat .k{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-semibold)}
.authx-stat .v{font-size:var(--text-lg);color:var(--ink);font-weight:var(--weight-black);margin-top:2px}

.authx-collage{position:relative;flex:1;margin:28px 0;min-height:340px}
.authx-avatars{
  position:absolute;inset:0;
  display:grid;grid-template-columns:repeat(8,1fr);gap:12px;
  -webkit-mask-image:radial-gradient(135% 108% at 55% 40%,#000 40%,transparent 90%);
          mask-image:radial-gradient(135% 108% at 55% 40%,#000 40%,transparent 90%);
}
.authx-av{
  aspect-ratio:1;border-radius:13px;background-color:var(--chip-bg);
  background-position:center;background-repeat:no-repeat;background-size:cover;
}
/* Decorative tints for the mosaic (no imagery — see _auth-aside.php).
   Saturated enough to read as a deliberate pattern under the radial mask,
   rather than as images that failed to load. */
.authx-av.ta{background-color:#ffc7ad}
.authx-av.tb{background-color:#bfe6cf}
.authx-av.tc{background-color:#c9d8f7}
.authx-av.td{background-color:#e4dfd5}
.authx-av.te{background-color:#fbd9a8}

.authx-quote{
  position:absolute;left:11%;right:7%;bottom:5%;
  background:#fff;border-radius:18px;box-shadow:var(--shadow-pop);
  padding:18px 20px;
}
.authx-quote .who{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.authx-quote .ava{
  width:30px;height:30px;border-radius:50%;background-color:var(--ink);flex-shrink:0;
  display:grid;place-items:center;
  color:#fff;font-size:12px;font-weight:var(--weight-black);line-height:1;
}
.authx-quote .name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink)}
.authx-quote p{font-size:13.5px;color:var(--body);line-height:1.5}

.authx-reviews{
  display:flex;align-items:center;justify-content:center;gap:9px;
  font-size:var(--text-sm);color:var(--text-muted);
}
.authx-reviews .stars{color:#f5a623;letter-spacing:2px;font-size:15px}
.authx-reviews b{color:var(--ink);font-weight:var(--weight-bold)}

/* floating brand bubble → home */
.authx-fab{
  position:fixed;right:22px;bottom:22px;width:48px;height:48px;
  border-radius:16px;background:var(--orange);box-shadow:var(--shadow-btn-orange);
  display:grid;place-items:center;
}
.authx-fab svg{width:26px;height:26px}

/* ---------------- responsive ---------------- */
@media (max-width:900px){
  .authx-grid{grid-template-columns:1fr}
  .authx-aside{display:none}
  .authx-left{padding:44px 22px;min-height:100vh}
  .authx-fab{display:none}
}

@media (prefers-reduced-motion: reduce){
  .authx .btn-google:hover{transform:none}
}
