/* ── Sign-in, register and the other account pages (auth-split) ──
   The landing page's language on the account pages: a confident heading and roomy fields on the left, the example run
   as a logbook on the Band ground on the right. Loaded after theme.css and landing.css, whose .lb rows it reuses. */

.auth-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); min-height: calc(100vh - 48px); }
.auth-split .auth-main { align-items: center; padding: 56px 40px; }
.auth-split .auth-form { max-width: 400px; }

/* Sign in / create account, one switch on both pages */
.auth-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 0 0 36px; border: 1px solid var(--line);
  border-radius: 12px; background: var(--surface-2); }
.auth-switch a { display: flex; align-items: center; justify-content: center; height: 34px; border-radius: 6px; font-size: 13.5px; font-weight: 600;
  color: var(--text-2); text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.auth-switch a:hover { color: var(--text); }
.auth-switch a[aria-current="page"] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-1); }
.auth-switch a:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

.auth-split .auth-form h1 { font-size: 36px; font-weight: 720; letter-spacing: -0.04em; line-height: 1.08; margin: 0 0 10px; }
.auth-split .auth-form .lede { font-size: 15px; line-height: 1.55; color: var(--text-2); margin: 0 0 28px; }
.auth-split .form-stack { gap: 16px; }
.auth-split .auth-form .input { height: 44px; padding: 0 13px; border-radius: 6px; font-size: 14.5px; }
.auth-split .auth-form .field > label, .auth-split .field-top label { font-size: 13px; font-weight: 550; color: var(--text); }
.field-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.field-top a { font-size: 12.5px; }
.auth-split .field .hint { font-size: 12.5px; line-height: 1.45; }
.auth-split .auth-form .btn-lg { height: 46px; border-radius: 6px; font-size: 15px; font-weight: 600; }
.auth-split .auth-form .btn:not(.btn-primary) { height: 44px; border-radius: 6px; }
.auth-or { display: flex; align-items: center; gap: 12px; margin: 2px 0; font-size: 13px;
  color: var(--text-3); }
.auth-or::before, .auth-or::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.auth-split .auth-form .foot { margin-top: 28px; padding-top: 18px; gap: 8px; font-size: 13px; color: var(--text-2); }
.auth-split .auth-form .foot .muted { color: var(--text-3); }

/* The other half: what Pathista is, and the example run */
.auth-split .auth-aside { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 32px;
  padding: 56px clamp(32px, 5vw, 72px); background: var(--surface-2); border-left: 1px solid var(--line); }
.aside-copy { max-width: 560px; }
.aside-copy h2 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 720; letter-spacing: -0.035em; line-height: 1.1; margin: 0 0 18px; }
.aside-points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--text-2); }
.aside-points li { display: flex; align-items: flex-start; gap: 10px; }
.aside-points svg { flex-shrink: 0; margin-top: 3px; color: var(--green); }
.aside-window { max-width: 640px; width: 100%; }

/* Tablets and phones: the form first; the pitch below it, the run window only where there is room. */
@media (max-width: 900px) {
  .auth-split { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .auth-split .auth-main { padding: 40px 20px 48px; }
  .auth-split .auth-aside { border-left: 0; border-top: 1px solid var(--line); padding: 40px 20px 48px; gap: 24px; }
}
@media (max-width: 760px) {
  .auth-split .auth-form h1 { font-size: 30px; }
  .auth-switch { margin-bottom: 28px; }
  .aside-window { display: none; }
}

/* ── Design review: one top line for every auth form, a clear active tab, a quieter passkey, readable small text ── */
.auth-split .auth-main { align-items: flex-start; padding: 72px 40px 56px; }
.auth-split .auth-form .lede, .auth-split .auth-form.identity h2 { font-size: 16px; line-height: 1.5; color: var(--text-2); margin: 0 0 28px; }
.auth-switch a { height: 40px; }
.auth-switch a[aria-current="page"] { background: var(--surface); color: var(--text); box-shadow: inset 0 -2px 0 var(--text); }
:root.dark .auth-switch a[aria-current="page"] { background: var(--surface-3); }
.auth-split .auth-form .btn.w-100:not(.btn-primary) { background: transparent; border-color: var(--line-strong); color: var(--text-2); font-weight: 500; }
.auth-split .auth-form .btn.w-100:not(.btn-primary):hover { background: var(--surface-2); color: var(--text); }
.auth-split .field .hint { font-size: 13px; color: var(--text-2); }
.auth-split .auth-form .foot { font-size: 13px; gap: 0; }
.auth-split .auth-form .foot > a, .auth-split .auth-form .legal-links a, .auth-split .auth-form .legal-links button {
  display: inline-flex; align-items: center; min-height: 40px; font-size: 13px; color: var(--brand-text); }
.auth-split .auth-form .legal-links { display: flex; flex-wrap: wrap; gap: 0 16px; }
.auth-split .auth-form .foot a:focus-visible, .auth-split .auth-form .legal-links button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 4px; }
@media (max-width: 900px) {
  .auth-split .auth-main { padding: 40px 20px 48px; }
}
@media (max-width: 640px) {
  .auth-split .auth-aside { padding: 32px 20px 40px; }
}

/* ── Logbook grammar (spec logbook-design-system AC9): the pitch on a Band, the example run as the logbook, graphite links ── */
.auth-split .auth-aside { background: var(--surface-3); border-left: 0; justify-content: flex-start; overflow: visible; }
.aside-copy h2 { font-weight: 650; font-stretch: 75%; letter-spacing: -0.01em; line-height: 1.02; }
.aside-points li { display: block; padding-left: 18px; position: relative; color: var(--text); }
.aside-points li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 9px; height: 9px; border-radius: 50%; background: var(--text); }
.aside-window { max-width: 680px; }
.auth-split .auth-form .foot > a, .auth-split .auth-form .legal-links a, .auth-split .auth-form .legal-links button { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .auth-split .auth-aside { border-top: 0; }
}
