/* AUTH */
.top-nav{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:60px;border-bottom:1px solid var(--bd);background:rgba(253,251,255,0.96)}
.back-btn{font-size:13px;color:var(--text2);text-decoration:none;display:flex;align-items:center;gap:6px}

.auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-card{background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:40px;width:100%;max-width:420px}
.auth-tabs{display:flex;gap:0;border:1px solid var(--bd);border-radius:var(--rs);overflow:hidden;margin-bottom:32px}
.auth-tab{flex:1;padding:11px;font-size:14px;font-weight:600;text-align:center;cursor:pointer;border:none;background:transparent;color:var(--text2);transition:all .15s;text-decoration:none;display:block}
.auth-tab.on{background:var(--ac);color:#fff}

.form-title{font-size:22px;font-weight:900;letter-spacing:-0.8px;margin-bottom:6px;color:var(--text)}
.form-sub{font-size:13px;color:var(--text2);margin-bottom:24px;line-height:1.6}
.fg{margin-bottom:16px}
.fl{font-size:12px;color:var(--text3);margin-bottom:5px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=number],select{width:100%;padding:11px 14px;border:1px solid var(--bd);border-radius:var(--rs);font-size:14px;background:#fff;color:var(--text);font-family:'Pretendard',sans-serif;transition:border-color .15s}
input:focus,select:focus{outline:none;border-color:var(--ac)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:58px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:12px;color:var(--text3);min-width:44px;min-height:34px;border-radius:var(--rs);font-family:'Pretendard',sans-serif}
.pw-toggle:hover{background:var(--bg2);color:var(--text)}
.submit-btn{width:100%;padding:13px;background:var(--ac);color:#fff;border:none;border-radius:var(--rs);font-size:15px;font-weight:700;cursor:pointer;margin-top:8px;transition:background .15s}
.submit-btn:hover{background:#7C3AED}
.divider{display:flex;align-items:center;gap:12px;margin:20px 0}
.divider span{font-size:12px;color:var(--text3);white-space:nowrap}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--bd)}
.kakao-btn{width:100%;padding:13px;background:#FEE500;color:#191919;border:none;border-radius:var(--rs);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s}
.kakao-btn:hover{opacity:.9}
.kakao-icon{width:20px;height:20px;background:#191919;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#FEE500;font-weight:900}
.agree-wrap{margin:16px 0}
.agree-item{display:flex;align-items:start;gap:8px;margin-bottom:10px;font-size:13px;color:var(--text2)}
.agree-item input[type=checkbox]{width:16px;height:16px;margin-top:1px;flex-shrink:0;accent-color:var(--ac)}
.agree-link{color:var(--ac);text-decoration:underline;cursor:pointer}
.req-mark{color:#E53E3E;font-size:11px;font-weight:700}
.form-note{font-size:12px;color:var(--text3);margin-top:16px;text-align:center;line-height:1.6}
.form-note a{color:var(--ac);cursor:pointer}
.success-wrap{text-align:center;padding:20px 0}
.success-icon{font-size:48px;margin-bottom:16px}
.success-title{font-size:20px;font-weight:800;color:var(--text);margin-bottom:8px;letter-spacing:-.5px}
.success-sub{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:24px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}

@media(max-width:768px){
  input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=number],select{min-height:44px}
  .pw-toggle{min-width:44px;min-height:44px;right:4px}
  .tag{min-height:44px;padding-top:9px!important;padding-bottom:9px!important}
  .submit-btn,.kakao-btn{min-height:46px}
  .agree-item label{padding:3px 0;min-height:38px}
}
.info-box{background:var(--ac-bg);border:1px solid var(--ac-bd);border-radius:var(--rs);padding:12px 16px;font-size:12px;color:var(--ac);line-height:1.7;margin-bottom:16px}
.info-box strong{color:var(--text);display:block;font-weight:700;margin-bottom:4px}
.step-indicator{display:flex;align-items:center;gap:0;margin-bottom:24px}
.si{flex:1;text-align:center;font-size:11px;color:var(--text3);font-weight:600;position:relative;padding-bottom:8px}
.si::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--bd)}
.si.on{color:var(--ac)}
.si.on::after{background:var(--ac)}
.si.done{color:var(--text3)}
.si.done::after{background:var(--ac)}
