/* /masuk — split sign-in / sign-up layout. Tokens from app.css only. */
.auth-page{background:var(--canvas)}
.auth-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh;min-height:100dvh}
@media (min-width:960px){.auth-shell{grid-template-columns:minmax(380px,5fr) minmax(0,6fr);grid-template-rows:none}}

/* ---- Brand panel ---- */
.auth-aside{display:flex;flex-direction:column;gap:var(--s-lg);padding:var(--s-lg) var(--gutter);background:var(--deep);color:var(--on-deep)}
.auth-logo{display:inline-flex;align-items:center;gap:var(--s-sm);align-self:flex-start;color:var(--on-deep);font-size:20px;font-weight:700;letter-spacing:-.02em;border-radius:var(--r-sm)}
.auth-logo:hover{color:var(--on-deep);text-decoration:none}
.auth-logo img{display:block;border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--deep-line)}
.auth-logo:focus-visible,.auth-aside a:focus-visible{outline-color:var(--on-deep)}
.auth-kicker{margin:0 0 var(--s-md);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-deep-muted)}
.auth-aside-title{margin:0;max-width:30ch;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--on-deep)}
.auth-points{display:none;list-style:none;margin:var(--s-xl) 0 0;padding:0;gap:var(--s-lg)}
.auth-points li{display:flex;gap:var(--s-base);align-items:flex-start;max-width:44ch;font-size:14px;line-height:1.5;color:var(--on-deep-muted)}
.auth-points b{display:block;margin-bottom:var(--s-xxs);font-size:15px;font-weight:600;color:var(--on-deep)}
.auth-point-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-md);background:var(--deep-2);border:1px solid var(--deep-line);color:var(--on-deep-muted)}
.auth-point-icon svg{width:20px;height:20px}
.auth-aside-foot{display:none;flex-wrap:wrap;gap:var(--s-xs) var(--s-lg);font-size:13px}
.auth-aside-foot a{color:var(--on-deep-muted);font-weight:500}
.auth-aside-foot a:hover{color:var(--on-deep)}
@media (max-width:959.98px){
  .auth-aside{flex-direction:row;align-items:center;justify-content:space-between;padding-top:var(--s-base);padding-bottom:var(--s-base)}
  .auth-aside-body{display:none}
}
@media (min-width:960px){
  .auth-aside{position:sticky;top:0;height:100vh;height:100dvh;padding:var(--s-xl) var(--s-xxl);justify-content:space-between;overflow-y:auto}
  .auth-aside-title{font-size:30px}
  .auth-points{display:grid}
  .auth-aside-foot{display:flex}
}

/* ---- Form column ---- */
.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--s-lg);padding:var(--s-xl) var(--gutter) var(--s-xxl)}
.auth-card{width:100%;max-width:440px}
.auth-card-head{margin-bottom:var(--s-lg)}
.auth-card-head h1{font-size:28px}
.auth-card-head p{margin:var(--s-xs) 0 0}
.auth-note{max-width:440px;margin:0;font-size:13px;text-align:center}
@media (min-width:960px){.auth-main{justify-content:center;padding:var(--s-xxl)}}

/* ---- Two-step verification ---- */
.mfa-head{display:flex;gap:var(--s-md);align-items:flex-start;margin-bottom:var(--s-lg)}
.mfa-head h2{font-size:18px;font-weight:600}
.mfa-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--primary-tint);color:var(--primary-text)}
.mfa-icon svg{width:20px;height:20px}
.mfa-actions{display:flex;justify-content:space-between;gap:var(--s-base);flex-wrap:wrap;margin-top:var(--s-base)}
.mfa-actions .btn.link{font-size:14px;gap:var(--s-xs)}
.mfa-actions .btn.link svg{width:16px;height:16px}
#mfa_code{font-family:var(--mono);font-size:20px;letter-spacing:.3em;text-align:center}
