/* Uses the AIRI portal palette and shared typography. */
.airi-auth-main{flex:1;min-height:calc(100vh - 190px);display:grid;place-items:start center;padding:72px 20px 64px;background:var(--airi-paper)}
.airi-auth-card{width:min(100%,400px)}.airi-auth-card h1{font-size:26px;line-height:1.4;text-align:center;margin:0 0 12px;color:var(--airi-navy)}
.airi-page .airi-auth-lead{text-align:center;color:var(--airi-muted);margin:0 0 36px;line-height:1.7}
.airi-auth-form{display:grid;gap:20px}.airi-auth-form .field{display:grid;gap:8px;font-size:14px;color:var(--airi-secondary)}
.airi-auth-form input:not([type=checkbox]){box-sizing:border-box;width:100%;height:48px;border:1px solid var(--airi-border);border-radius:10px;padding:0 16px;font:inherit;background:white;color:var(--airi-ink)}
.airi-auth-form button,.airi-auth-outline{min-height:48px;border-radius:10px;font:inherit;cursor:pointer}
.airi-auth-submit{border:0;background:var(--airi-primary);color:white;font-weight:600;margin-top:12px;width:100%}
.airi-auth-card button:disabled{background:var(--airi-soft);color:var(--airi-muted);cursor:default}
.airi-auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.airi-auth-options label{display:flex;align-items:center;gap:8px}.airi-auth-options button{padding:0;border:0;background:transparent;color:var(--airi-primary);min-height:32px;font-size:13px}
.airi-auth-or{display:flex;align-items:center;gap:24px;color:var(--airi-muted);font-size:12px;margin:26px 0}.airi-auth-or:before,.airi-auth-or:after{content:'';height:1px;flex:1;background:var(--airi-border)}
.airi-auth-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;border:1px solid var(--airi-border);background:white;border-radius:10px;font:inherit;cursor:pointer}.airi-social-icon{font-weight:700;color:#4285f4;font-size:21px}
.airi-auth-outline{display:flex;align-items:center;justify-content:center;border:1px solid var(--airi-primary);color:var(--airi-primary);text-decoration:none;margin-top:32px}
.airi-page a.airi-auth-outline{color:var(--airi-primary);text-decoration:none}
.airi-auth-status{font-size:14px;line-height:1.7;color:var(--airi-secondary);margin:20px 0}.airi-auth-status.error{color:var(--airi-error)}
.airi-auth-note{font-size:13px;line-height:1.7;color:var(--airi-muted)}.airi-auth-back{display:inline-block;color:var(--airi-primary);font-size:14px;margin-top:20px}
.airi-page a.airi-auth-back{color:var(--airi-primary);text-decoration:underline;text-underline-offset:3px}
.airi-auth-card :is(input,button,a):focus-visible{outline:3px solid var(--airi-focus);outline-offset:3px}.airi-header-logout{font:inherit;background:transparent;border:1px solid var(--airi-border);padding:9px 16px;border-radius:6px;color:var(--airi-primary);cursor:pointer}
@media(max-width:600px){.airi-auth-main{padding-top:44px}.airi-auth-card h1{font-size:24px}.airi-auth-options{flex-wrap:wrap}}
.airi-auth-card button.airi-auth-submit{color:var(--airi-on-dark)}.airi-auth-card button.airi-auth-submit:disabled{color:var(--airi-muted)}
#signup-details .field+.field{margin-top:20px}
#policy-links a,#verification-policy-links a{color:var(--airi-primary);text-decoration:underline;text-underline-offset:3px}

/* Signup field groups and final agreement/action spacing. */
body[data-account="signup"] .airi-auth-form{gap:28px}
#signup-details:not([hidden]){display:grid;gap:24px}
body[data-account="signup"] .airi-auth-field-group{display:grid;gap:8px}
body[data-account="signup"] .airi-auth-field-group .airi-auth-note{margin:0;line-height:1.7}
.airi-signup-actions{display:grid;gap:16px;margin-top:8px}
.airi-signup-consent{display:flex;align-items:center;gap:12px;margin:0;min-height:44px;line-height:1.7;cursor:pointer}
.airi-signup-consent input{flex:none;width:24px;height:24px;margin:0}
.airi-auth-form:has(#signup-details[hidden]) .airi-signup-consent{display:none}
body[data-account="signup"] .airi-signup-actions .airi-auth-submit{margin-top:0}
body[data-account="signup"] #verification:not([hidden]){display:grid;gap:20px}
body[data-account="signup"] #verification .airi-auth-note{margin:0;line-height:1.7}

/* Login only; signup fields and verification policy retain their current layout. */
body[data-account=login] .airi-auth-main{padding-top:36px}
.airi-login-logo{display:block;width:132px;height:132px;object-fit:contain;margin:0 auto 20px}
body[data-account=login] .airi-auth-lead{font-size:13px;margin-bottom:22px}
body[data-account=login] .airi-auth-form{gap:18px}
body[data-account=login] .airi-auth-form input:not([type=checkbox]){height:50px;border-radius:7px}
body[data-account=login] .airi-auth-submit{border-radius:7px;margin-top:4px}
body[data-account=login] .airi-auth-status{min-height:18px;margin:4px 0;font-size:12px}
body[data-account=login] .airi-auth-or{margin:16px 0 14px}
.airi-login-social{display:grid;gap:10px}
.airi-login-social .airi-auth-google{min-height:48px;border-radius:7px;font-size:15px;color:var(--airi-ink)}
.airi-login-social .airi-social-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:white;font-size:15px;line-height:1}
.airi-login-social #naver{background:#03b766;color:#06180f;border-color:#03b766}
.airi-login-social #naver .airi-social-icon{color:#025f30}
.airi-login-social .airi-auth-google:hover{box-shadow:0 3px 12px #223d5b20}
body[data-account=login] .airi-auth-outline{border-radius:7px;margin-top:20px}

/* 로그인 상태 유지: 체크박스·라벨 터치 영역 44px, 안내 문구는 옵션 줄 바로 아래. */
.airi-auth-options label.airi-keep{min-height:44px;cursor:pointer}
.airi-keep input{flex:none;width:20px;height:20px;margin:0}
.airi-auth-options #reset{min-height:44px}
#remember-hint{margin:-8px 0 0;font-size:12px;line-height:1.6}

/* 가입 요약(이용약관 핵심 7항목): 동의 체크 바로 앞. 좁은 화면에서도 카드 폭 안에서 줄바꿈. */
.airi-signup-summary{border:1px solid var(--airi-border);border-radius:10px;padding:16px 16px 12px;background:var(--airi-paper);font-size:13px;line-height:1.7;color:var(--airi-secondary);overflow-wrap:anywhere}
.airi-signup-summary h2{font-size:15px;line-height:1.5;margin:0 0 8px;color:var(--airi-navy)}
.airi-signup-summary ol{margin:0;padding-inline-start:20px;display:grid;gap:8px}
.airi-signup-summary strong{color:var(--airi-ink)}
.airi-signup-summary a{color:var(--airi-primary);text-decoration:underline;text-underline-offset:3px}
.airi-signup-summary a:focus-visible{outline:3px solid var(--airi-focus);outline-offset:2px}
.airi-auth-form:has(#signup-details[hidden]) .airi-signup-summary{display:none}

/* 비밀번호 보기 토글: 입력 오른쪽 안쪽, 터치 영역 44px. */
.airi-pw{position:relative;display:flex}
.airi-auth-form .airi-pw input{padding-inline-end:68px}
.airi-auth-form .airi-pw-toggle{position:absolute;inset-block:0;inset-inline-end:2px;margin:auto 0;min-height:44px;height:44px;min-width:56px;padding:0 10px;border:0;background:transparent;color:var(--airi-primary);font-size:13px;font-weight:600;border-radius:7px}
.airi-auth-form .airi-pw-toggle:disabled{background:transparent}
.airi-auth-form input[aria-invalid=true]{border-color:var(--airi-error)}
.airi-sns-help{margin:10px 0 0;font-size:12px;line-height:1.6;text-align:center}
