/* SawaLife Minimal — AUTH / GUEST shell (2026-11-04). Loaded last by layouts/guest.blade.php only.
   Pages: login (+ two-step challenge), register, forgot / reset password (+ partner account opening), verify e-mail.
   Language: same header (slim variant) + footer as the public site, no boxed card: an open form column with
   hairline sections and, from 1024px, an illustration column (GPU art + short benefits on a night panel).
   Tokens only (--mn-*), so dark mode follows tokens.css. Motion only under prefers-reduced-motion: no-preference.
   Vocabulary: .au (main) · .au__grid · .au__main · .au__aside · .au-head/.au-kicker/.au-title/.au-lead ·
   .au-form · .au-field · .au-field__row · .au-link · .au-submit · .au-switch · .au-fine · .au-sec · .au-code ·
   .au-art · .au-points. No Tailwind classes needed (no rebuild). */

/* reCAPTCHA v3: the floating badge is hidden on these pages; each protected form shows Google's required
   text notice instead (.au-fine) — the officially allowed alternative. Keeps the badge off the footer / CTA. */
.au-body .grecaptcha-badge{visibility:hidden!important}

/* ---------- slim header ---------- */
.mn-header--slim .mn-header__end{gap:.5rem}
.mn-header--slim .mn-lang .mn-iconbtn{border-color:var(--mn-line-2)}
.mn-header__back .mn-i{transform:scaleX(-1)}
@media (max-width:639px){
  .mn-header__back{width:2.75rem;padding:0!important;border-radius:50%}
  .mn-header__back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ---------- page frame ---------- */
.au{flex:1 0 auto;padding-block:clamp(1.25rem,3.5vw,2.75rem) clamp(2.5rem,6vw,4.5rem)}
.au__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:start}
.au__main{width:100%;max-width:30rem;min-width:0;margin-inline:auto}
.au__aside{width:100%;max-width:30rem;min-width:0;margin-inline:auto}
@media (min-width:1024px){
  .au__grid{grid-template-columns:minmax(0,29rem) minmax(0,1fr);gap:clamp(3rem,7vw,6.5rem)}
  .au__main{margin-inline:0;padding-top:.75rem}
  .au__aside{max-width:none;position:sticky;top:calc(var(--mn-hh) + 1.25rem)}
}

/* ---------- head ---------- */
.au-head{margin:0 0 1.5rem}
.au-kicker{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mn-brand-ink)}
.au-kicker .mn-i{width:1rem;height:1rem}
.au-title{margin:.6rem 0 0;font-size:clamp(1.75rem,4.2vw,2.4rem);line-height:1.1;letter-spacing:-.025em;font-weight:600;color:var(--mn-ink);text-wrap:balance}
.au-lead{margin:.75rem 0 0;font-size:1rem;line-height:1.55;color:var(--mn-text);text-wrap:pretty}
.au-head .mf-alert,.au-alert{margin-top:1.25rem}

/* ---------- form ---------- */
.au-form{display:grid;gap:1.15rem;margin:0}
.au-field{min-width:0}
.au-field>.mf-label,.au-field__row>.mf-label{display:block;margin:0 0 .45rem;color:var(--mn-ink);font-size:.925rem;font-weight:600;line-height:1.35}
.au-field__row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 .75rem;margin:0 0 .45rem}
.au-field__row>.mf-label{margin:0}
.au-field input:not([type=checkbox],[type=radio]){width:100%}
.au-field .mf-field__control{margin:0}
.au-field .mf-field__help{margin:.4rem 0 0}
.au-link{display:inline-flex;align-items:center;min-height:2.75rem;margin-block:-.7rem;color:var(--mn-brand-ink);font-weight:600;font-size:.9rem;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--mn-brand) 35%,transparent);text-underline-offset:4px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.au-link:hover{text-decoration-color:currentColor}
.au-checks{display:grid;gap:.25rem;padding-top:.25rem}
.au-checks label{display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem;padding-block:.35rem;font-weight:500;line-height:1.45}
.au-checks label>input{flex:none;margin-top:.1rem}
.au-checks label>span{min-width:0}
.au-checks label a{color:var(--mn-brand-ink);font-weight:600;text-underline-offset:3px}
.au-opt{padding:.35rem 0 .35rem 1rem;border-left:2px solid var(--mn-line-2)}
.au-opt b{display:block;color:var(--mn-ink);font-weight:600}
.au-opt span{color:var(--mn-text);font-weight:400}
.au-submit{width:100%;min-height:3rem;font-size:1rem}
.au-submit[disabled]{opacity:.7;cursor:progress}
.au-code{text-align:center;font-size:1.5rem!important;letter-spacing:.3em;font-weight:600;font-variant-numeric:tabular-nums}
.au-actions{display:grid;gap:.5rem;justify-items:center}

/* hairline sections */
.au-sec{margin:1.75rem 0 0;padding-top:1.25rem;border-top:1px solid var(--mn-line)}
.au-switch{margin:1.75rem 0 0;padding-top:1.25rem;border-top:1px solid var(--mn-line);font-size:.95rem;color:var(--mn-mute)}
.au-switch .au-link{margin-left:.25rem}
.au-fine{margin:1rem 0 0;font-size:.78rem;line-height:1.5;color:var(--mn-mute)}
.au-fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.au-steps{display:grid;gap:.75rem;margin:0;padding:0;list-style:none;counter-reset:au}
.au-steps li{position:relative;padding-left:2.25rem;color:var(--mn-text);line-height:1.5;counter-increment:au}
.au-steps li::before{content:counter(au);position:absolute;left:0;top:-.05rem;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--mn-brand-l);color:var(--mn-brand-ink);font-size:.8rem;font-weight:700}

/* ---------- illustration column ---------- */
.au-art{display:none;position:relative;margin:0;border-radius:var(--mn-r-xl);overflow:hidden;background:var(--mn-night)}
.au-art__img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.au-art__chip{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:var(--mn-r-pill);background:rgb(var(--mn-scrim-rgb)/45%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--mn-on-night);font-size:.8rem;font-weight:600}
.au-art__chip .mn-i{width:1rem;height:1rem;color:var(--mn-on-night-accent)}

/* benefits — mobile / tablet: a plain hairline section under the form */
.au-points{border-top:1px solid var(--mn-line);padding-top:1.5rem}
.au-points__t{margin:0;font-size:1.15rem;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--mn-ink)}
.au-points__lead{margin:.4rem 0 0;color:var(--mn-text);line-height:1.5;font-size:.95rem}
.au-points__list{display:grid;gap:.9rem;margin:1.1rem 0 0;padding:0;list-style:none}
.au-points__list li{display:flex;gap:.8rem;align-items:flex-start;line-height:1.45;font-size:.92rem;color:var(--mn-text)}
.au-points__list b{display:block;color:var(--mn-ink);font-weight:600;font-size:.95rem}
.au-points__i{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--mn-brand-l);color:var(--mn-brand-ink)}
.au-points__i .mn-i{width:1.1rem;height:1.1rem}
.au-points__trust{display:flex;align-items:center;gap:.45rem;margin:1.1rem 0 0;font-size:.82rem;color:var(--mn-mute)}
.au-points__trust .mn-i{width:1rem;height:1rem;color:var(--mn-brand-ink)}

@media (min-width:1024px){
  .au__aside{display:grid}
  .au__aside>*{grid-area:1/1}
  .au-art{display:block;aspect-ratio:4/5;max-height:min(44rem,calc(100vh - var(--mn-hh) - 3rem));width:100%}
  .au-points{align-self:end;margin:1.25rem;padding:1.4rem 1.5rem;border:1px solid rgb(255 255 255/12%);border-radius:var(--mn-r-lg);background:rgb(var(--mn-scrim-rgb)/62%);-webkit-backdrop-filter:saturate(1.3) blur(16px);backdrop-filter:saturate(1.3) blur(16px)}
  .au-points__t{color:#fff;font-size:1.3rem}
  .au-points__lead,.au-points__list li,.au-points__trust{color:var(--mn-on-night-mute)}
  .au-points__list b{color:var(--mn-on-night)}
  .au-points__i{background:rgb(255 255 255/12%);color:var(--mn-on-night-accent)}
  .au-points__trust .mn-i{color:var(--mn-on-night-accent)}
  /* no image (file missing): the night panel stands alone */
  .au__aside:not(:has(.au-art)) .au-points{margin:0;background:var(--mn-night)}
}

/* ---------- motion (reduced-motion safe) ---------- */
@media (prefers-reduced-motion:no-preference){
  .au__main>*>*{animation:au-up .55s var(--mn-ease-out) both}
  .au__main>*>*:nth-child(2){animation-delay:.06s}
  .au__main>*>*:nth-child(3){animation-delay:.12s}
  .au__main>*>*:nth-child(n+4){animation-delay:.18s}
  .au-points__list li{animation:au-up .6s var(--mn-ease-out) both;animation-delay:calc(.25s + var(--i,0) * .08s)}
  @media (min-width:1024px){
    .au-art{animation:au-fade .8s var(--mn-ease-out) both}
    .au-art__img{animation:au-float 22s ease-in-out infinite alternate;transform-origin:50% 60%}
    .au-points{animation:au-up .7s var(--mn-ease-out) .15s both}
  }
}
@keyframes au-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes au-fade{from{opacity:0}to{opacity:1}}
@keyframes au-float{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(-1.5%,-2%,0)}}

/* ---------- footer on this shell: the mobile tab bar only exists below 1024px ---------- */
@media (min-width:1024px){.au-body .mn-footer{padding-bottom:var(--mn-s5)}}
