/* ── 로그인 / 회원가입 ── */
.auth-wrap { max-width: 440px; margin: 80px auto; padding: 0 20px; }
.auth-wrap > div { background: var(--bg2); border: 1px solid #c9a85c44; border-radius: 12px; padding: 40px 36px; }
.auth-wrap h2 { font-family: 'Playfair Display', serif; font-size: 1.8rem; color: #c9a85c; text-align: center; margin-bottom: 28px; }
.auth-wrap form > div { margin-bottom: 18px; }
.auth-wrap label { display: block; font-size: 0.85rem; color: #a09880; margin-bottom: 6px; }
.auth-wrap input { width: 100%; padding: 11px 14px; background: #151c2c; border: 1px solid #c9a85c44; border-radius: 8px; color: #ede8dc; font-size: 1rem; box-sizing: border-box; }
.auth-wrap input:focus { outline: none; border-color: #c9a85c; }
.auth-wrap button[type="submit"] { width: 100%; padding: 13px; background: #c9a85c; border: none; border-radius: 8px; color: #151c2c; font-size: 1rem; font-weight: 700; cursor: pointer; margin-top: 8px; }
.auth-wrap button[type="submit"]:hover { background: #e0bc6e; }
.auth-wrap p.error { color: #d9604a; font-size: 0.88rem; text-align: center; margin-bottom: 14px; }
.auth-wrap > div > p:last-child { text-align: center; margin-top: 20px; font-size: 0.88rem; color: #a09880; }
.auth-wrap > div > p:last-child a { color: #c9a85c; text-decoration: none; }

/* ── 회원가입 확장 폼 ── */
.auth-wrap-wide { max-width: 560px; }
.req { color: #e05050; margin-left: 2px; }
.label-hint { font-size: 0.75rem; color: #4a5268; margin-left: 6px; font-weight: 400; }
.birth-divider {
  font-size: 0.72rem; letter-spacing: 0.3em; text-transform: uppercase;
  color: #c9a85c; border-top: 1px solid #c9a85c33; padding-top: 18px; margin: 8px 0 4px;
}
.birth-date-row { display: flex; gap: 8px; }
.birth-date-row select {
  flex: 1; padding: 10px 10px; background: #151c2c;
  border: 1px solid #c9a85c44; border-radius: 8px; color: #ede8dc; font-size: 0.95rem;
}
.birth-date-row select:focus { outline: none; border-color: #c9a85c; }
.birth-time-row { display: flex; gap: 8px; align-items: center; }
.time-input {
  width: 68px; padding: 10px 10px; background: #151c2c;
  border: 1px solid #c9a85c44; border-radius: 8px; color: #ede8dc;
  font-size: 0.95rem; text-align: center;
}
.time-input:focus { outline: none; border-color: #c9a85c; }
.time-input:disabled { opacity: 0.35; cursor: not-allowed; }
.time-sep { color: #c9a85c; font-weight: 700; font-size: 1.1rem; }
.unknown-check { display: flex; align-items: center; gap: 6px; font-size: 0.85rem; color: #a09880; cursor: pointer; margin-left: 4px; }
.unknown-check input[type="checkbox"] { accent-color: #c9a85c; width: 15px; height: 15px; cursor: pointer; }

/* ── 관리자 편집 모달 ── */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.75);
  display: flex; align-items: center; justify-content: center; z-index: 1000;
}
.modal-box {
  background: #131929; border: 1px solid #c9a85c44; border-radius: 14px;
  padding: 32px 36px; width: min(560px, 92vw); max-height: 90vh; overflow-y: auto;
}
.modal-box h3 { color: #c9a85c; font-size: 1.1rem; margin-bottom: 24px; }
.modal-box label { display: block; font-size: 0.83rem; color: #a09880; margin-bottom: 5px; }
.modal-box input[type="text"],
.modal-box input[type="number"] {
  width: 100%; padding: 9px 12px; background: #0d1525;
  border: 1px solid #c9a85c33; border-radius: 7px; color: #ede8dc; font-size: 0.93rem;
}
.modal-box input:focus { outline: none; border-color: #c9a85c; }
.modal-box button[type="submit"] {
  padding: 11px; background: #c9a85c; border: none; border-radius: 8px;
  color: #151c2c; font-size: 0.95rem; font-weight: 700; cursor: pointer;
}
.modal-box button[type="submit"]:hover { background: #e0bc6e; }
