:root { color-scheme: light; }
.auth-body { margin: 0; min-height: 100vh; min-height: 100dvh; background: #fffaf6; color: #17171b; }
.auth-shell { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: minmax(360px, 560px) 1fr; }
.auth-card { padding: clamp(34px, 7vw, 96px); display: flex; flex-direction: column; justify-content: center; background: #fff; border-right: 1px solid #f1dfd0; }
.auth-brand { display: inline-flex; flex-direction: column; align-items: flex-start; width: max-content; color: inherit; text-decoration: none; margin-bottom: clamp(54px, 9vh, 100px); }
.auth-brand .brand-logo { width: clamp(220px, 28vw, 285px); max-width: 100%; height: auto; }
.auth-brand .brand-word { font-size: clamp(31px, 4vw, 44px); }
.auth-brand small { margin-top: 7px; color: #d95f00; font-weight: 900; letter-spacing: .37em; }
.auth-copy h1 { margin: 8px 0 14px; font-size: clamp(42px, 6vw, 72px); line-height: .96; letter-spacing: -.035em; }
.auth-copy > p:last-child { margin: 0; max-width: 430px; color: #706c70; font-size: 18px; line-height: 1.55; }
.auth-form { display: grid; gap: 18px; margin-top: 34px; }
.auth-form label { display: grid; gap: 8px; font-size: 13px; font-weight: 800; }
.auth-form input { width: 100%; min-height: 52px; border: 1px solid #ded8d4; border-radius: 14px; padding: 0 16px; font: inherit; background: #fff; }
.auth-form input:focus { outline: 3px solid rgba(255,122,0,.18); border-color: #ff7a00; }
.auth-form .button { min-height: 54px; margin-top: 4px; }
.auth-notice { margin-top: 28px; padding: 13px 15px; border: 1px solid #efb6a7; border-radius: 13px; background: #fff2ee; color: #8f2e18; font-size: 14px; }
.auth-footnote { margin: 28px 0 0; color: #918a8d; font-size: 12px; }
.auth-art { position: relative; overflow: hidden; display: grid; place-items: center; padding: 60px; background: linear-gradient(145deg, #ff7a00, #ff9a31); }
.auth-art::before { content: ''; position: absolute; inset: 8% 10%; border: 2px solid rgba(255,255,255,.3); border-radius: 44px; transform: rotate(-3deg); }
.auth-art strong { position: relative; z-index: 1; max-width: min(90%, 1320px); font-size: clamp(48px, 6vw, 96px); line-height: .93; letter-spacing: -.04em; color: #17171b; }
.auth-art strong span { color: #fff; }
.auth-outline { position: absolute; width: 100px; height: 72px; border: 5px solid rgba(255,255,255,.8); border-radius: 18px; transform: rotate(-24deg); }
.auth-outline.tile-a { top: 13%; right: 12%; }.auth-outline.tile-b { bottom: 18%; left: 14%; transform: rotate(28deg); }.auth-outline.tile-c { bottom: 8%; right: 20%; width: 58px; height: 44px; }
.setup-card { max-width: 760px; margin: 0 auto; }
.setup-grid { display: grid; grid-template-columns: 1fr 110px; gap: 18px; }
.setup-wide { grid-column: 1 / -1; }
.setup-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid #eee4dd; }
.setup-section h2 { margin: 0 0 16px; font-size: 21px; }
@media (max-width: 850px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-card { min-height: 100dvh; border-right: 0; padding: 34px 24px max(34px, env(safe-area-inset-bottom)); }
  .auth-brand { margin-bottom: 52px; }
  .auth-art { display: none; }
}
@media (max-width: 480px) { .setup-grid { grid-template-columns: 1fr; }.setup-wide { grid-column: auto; } }
