/* ─── 인증 페이지 공용 스타일 ─── */
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Noto Sans KR',sans-serif;color:#22283a;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#f6f3ec 0%,#eef0e9 100%);padding:24px;
}
.card{
  width:100%;max-width:420px;background:#fff;border:1px solid #e6e1d5;
  border-radius:4px;padding:40px 36px;box-shadow:0 14px 50px rgba(40,40,20,.08);
}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;}
.brand .name{font-family:'Noto Serif KR',serif;font-weight:600;font-size:17px;line-height:1.3;}
.brand .name small{display:block;font-weight:300;font-size:10.5px;color:#9a947f;letter-spacing:.12em;font-family:'Noto Sans KR';}
h1{font-family:'Noto Serif KR',serif;font-size:24px;font-weight:600;margin-bottom:6px;}
p.desc{font-size:13.5px;color:#7d7869;margin-bottom:24px;font-weight:300;}
label{display:block;font-size:12.5px;font-weight:500;color:#5a5648;margin:14px 0 6px;}
input,select{
  width:100%;padding:11px 13px;font-size:14.5px;font-family:inherit;
  border:1px solid #d8d1bf;border-radius:3px;background:#fdfcfa;outline:none;transition:.2s;
}
input:focus,select:focus{border-color:#c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.15);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
button.primary{
  width:100%;margin-top:24px;padding:13px;font-size:15px;font-weight:600;font-family:inherit;
  background:#101d33;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:.2s;
}
button.primary:hover{background:#1b2a45;}
button.primary:disabled{opacity:.55;cursor:wait;}
.msg{display:none;margin-top:16px;padding:11px 13px;border-radius:3px;font-size:13.5px;line-height:1.6;}
.msg.err{background:#f8e8e6;color:#8a3b32;}
.msg.ok{background:#e8f0e6;color:#3f6a3a;}
.foot{margin-top:22px;text-align:center;font-size:13px;color:#8a8574;}
.foot a{color:#8a6d2b;text-decoration:none;border-bottom:1px solid #d8cba8;}
.back{margin-top:18px;font-size:12px;letter-spacing:.12em;}
.back a{color:#9a947f;text-decoration:none;}
.back a:hover{color:#5a5648;}
.badge{display:inline-block;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:700;}
.badge.wait{background:#fdf1e2;color:#b0762a;}
.badge.ok{background:#e8f0e6;color:#3f6a3a;}
.info-table{width:100%;font-size:14px;margin-top:8px;border-top:2px solid #101d33;}
.info-table td{padding:11px 4px;border-bottom:1px solid #eee9dd;}
.info-table td:first-child{color:#8a8574;width:96px;font-size:12.5px;}
button.ghost{
  width:100%;margin-top:12px;padding:11px;font-size:13.5px;font-family:inherit;
  background:none;border:1px solid #d8d1bf;border-radius:3px;color:#5a5648;cursor:pointer;
}
button.ghost:hover{border-color:#8a3b32;color:#8a3b32;}
