/* ==========================================================================
   AUTH — Material 3, light
   ========================================================================== */
body.au{
  background:var(--bg-900);
  padding:0;min-height:100vh;
}

.au-wrap{ display:flex;min-height:100vh; }

/* ---------- pitch panel (desktop) ---------- */
.au-pitch{
  display:none;
  width:46%;max-width:560px;flex-shrink:0;
  background:#111318;color:#fff;
  padding:48px 44px;
  position:relative;overflow:hidden;
}
.au-pitch::after{
  content:'';position:absolute;
  bottom:-140px;right:-120px;width:420px;height:420px;
  border-radius:50%;background:rgba(108,140,255,.13);
}
.au-pitch-in{ position:relative;z-index:1;display:flex;flex-direction:column;height:100%; }

.au-logo{
  display:flex;align-items:center;gap:12px;
  font-family:var(--font-display);font-size:19px;font-weight:800;
  letter-spacing:-.02em;color:#fff;
}
.au-mark{
  width:42px;height:42px;border-radius:var(--r-md);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:17px;
  background:#6C8CFF;color:#fff;
}

.au-pitch h2{
  font-family:var(--font-display);font-size:34px;font-weight:800;
  line-height:1.2;letter-spacing:-.035em;margin-top:auto;color:#fff;
}
.au-points{ list-style:none;margin:28px 0 0;padding:0; }
.au-points li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:14.5px;font-weight:600;color:rgba(255,255,255,.76);
  padding:9px 0;line-height:1.45;
}
.au-points i{
  color:#6C8CFF;font-size:12px;margin-top:4px;flex-shrink:0;
}
.au-quote{
  margin-top:auto;padding-top:36px;
  font-size:13px;font-weight:600;color:rgba(255,255,255,.45);
}

/* ---------- form side ---------- */
.au-main{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:28px 20px 40px;
}
.au-card-wrap{ width:100%;max-width:420px; }

.au-mobilelogo{
  display:flex;align-items:center;justify-content:center;gap:11px;
  font-family:var(--font-display);font-size:19px;font-weight:800;
  color:var(--text-primary);letter-spacing:-.02em;margin-bottom:30px;
}

/* ---------- head ---------- */
.au-head{ margin-bottom:26px; }
.au-head h1{
  font-family:var(--font-display);font-size:27px;font-weight:800;
  color:var(--text-primary);letter-spacing:-.035em;line-height:1.15;
}
.au-head p{
  font-size:14px;font-weight:600;color:var(--text-muted);
  margin-top:9px;line-height:1.55;
}

/* ---------- plan badge ---------- */
.au-plan{
  display:flex;align-items:center;gap:11px;
  padding:13px 15px;margin-bottom:22px;
  border-radius:var(--radius);
  background:var(--accent-container);color:var(--on-accent-container);
}
.au-plan i{ font-size:15px;color:var(--accent);flex-shrink:0; }
.au-plan-txt{ display:flex;flex-direction:column;min-width:0; }
.au-plan-txt b{ font-size:13.5px;font-weight:800;line-height:1.2; }
.au-plan-txt span{ font-size:11.5px;font-weight:600;opacity:.74;margin-top:2px; }

/* ---------- fields ---------- */
.au-f{ margin-bottom:16px; }
.au-f label{
  display:block;font-size:12.5px;font-weight:700;
  color:var(--text-secondary);margin-bottom:7px;
}
.au-f input{
  width:100%;height:52px;padding:0 16px;
  border-radius:var(--r-md);
  font-size:15.5px;font-weight:600;
}
.au-f .hint{
  font-size:11.5px;font-weight:600;color:var(--text-muted);
  margin-top:6px;line-height:1.4;
}
.au-frow{ display:grid;grid-template-columns:1fr 1fr;gap:12px; }

.au-pw{ position:relative; }
.au-pw input{ padding-right:50px; }
.au-eye{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:var(--r-full);border:none;
  background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--d-short) var(--ease);
}
.au-eye:active{ background:rgba(17,19,24,.08); }

.au-row{
  display:flex;align-items:center;justify-content:space-between;
  margin:6px 0 20px;
}
.au-check{
  display:flex;align-items:center;gap:9px;cursor:pointer;
  font-size:13.5px;font-weight:600;color:var(--text-secondary);
}
.au-check input{
  width:19px;height:19px;accent-color:var(--accent);cursor:pointer;
}

/* ---------- submit ---------- */
.au-submit{
  width:100%;height:54px;border:none;border-radius:var(--r-full);
  background:var(--accent);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-display);font-size:16px;font-weight:800;
  box-shadow:var(--e1);position:relative;overflow:hidden;
  transition:transform var(--d-short) var(--ease),
             box-shadow var(--d-short) var(--ease);
}
.au-submit:hover{ box-shadow:var(--e2); }
.au-submit:active{ transform:scale(.985); }
.au-submit:disabled{ background:var(--bg-600);color:var(--text-muted);box-shadow:none; }

/* ---------- trial strip ---------- */
.au-trial{
  display:flex;align-items:center;gap:11px;
  margin-top:18px;padding:14px 15px;
  border-radius:var(--radius);
  background:var(--green-container);color:#053E22;
}
.au-trial i{ font-size:16px;color:var(--green);flex-shrink:0; }
.au-trial span{ font-size:12.5px;font-weight:700;line-height:1.45; }

/* ---------- foot ---------- */
.au-foot{
  text-align:center;margin-top:26px;padding-top:22px;
  box-shadow:inset 0 1px 0 var(--border);
  font-size:14px;font-weight:600;color:var(--text-muted);
}
.au-foot a{ font-weight:800; }

.au-legal{
  text-align:center;margin-top:22px;
  font-size:11.5px;font-weight:600;color:var(--text-muted);
  line-height:1.6;
}

/* ---------- alert ---------- */
.au-alert{
  display:flex;align-items:flex-start;gap:11px;
  padding:13px 15px;margin-bottom:18px;
  border-radius:var(--radius);
  font-size:13.5px;font-weight:600;line-height:1.45;
}
.au-alert i{ font-size:14px;margin-top:1px;flex-shrink:0; }
.au-alert.error{ background:var(--red-container);color:#5F110D; }
.au-alert.error i{ color:var(--red); }
.au-alert.success{ background:var(--green-container);color:#053E22; }
.au-alert.success i{ color:var(--green); }

/* ---------- responsive ---------- */
@media (min-width:900px){
  .au-pitch{ display:block; }
  .au-mobilelogo{ display:none; }
  .au-main{ padding:40px; }
}
@media (max-width:420px){
  .au-frow{ grid-template-columns:1fr; }
  .au-head h1{ font-size:24px; }
}
