/* 로그인 밖 공개 화면(가입 신청·플랫폼 운영)을 로그인 카드와 같은 청록·슬레이트 색으로 맞추는 스타일이다. */
body.pub-body {
  --pub-brand: #0f766e; --pub-brand-hover: #0d5f59; --pub-text: #172b4d; --pub-sub: #44546f; --pub-muted: #626f86;
  --pub-line: #dcdfe4; --pub-input: #8590a2; --pub-bg: #f7f8f9; --pub-card: #ffffff; --pub-link: #0f766e;
  --bs-primary: #0f766e; --bs-primary-rgb: 15, 118, 110; --bs-link-color: #0f766e; --bs-link-color-rgb: 15, 118, 110; --bs-link-hover-color: #0d5f59;
  --bs-body-color: #172b4d; --bs-secondary-color: #626f86;
  font-family: Pretendard, -apple-system, "Segoe UI", "Malgun Gothic", system-ui, sans-serif;
  background: var(--pub-bg) !important; color: var(--pub-text); -webkit-font-smoothing: antialiased;
}
body.pub-body a { color: var(--pub-link); }
body.pub-body .text-primary { color: var(--pub-brand) !important; }
body.pub-body .text-muted { color: var(--pub-muted) !important; }
body.pub-body .card { background: var(--pub-card); border: 0; border-radius: 4px; box-shadow: 0 0 1px rgba(9,30,66,.31), 0 8px 12px rgba(9,30,66,.15) !important; color: var(--pub-text); }
body.pub-body .btn { border-radius: 3px; font-weight: 600; }
body.pub-body .btn-primary { background: var(--pub-brand); border-color: var(--pub-brand); color: #fff; }
body.pub-body .btn-primary:hover, body.pub-body .btn-primary:focus { background: var(--pub-brand-hover); border-color: var(--pub-brand-hover); color: #fff; }
body.pub-body .btn-lg { font-size: 15px; padding: 9px 16px; }
body.pub-body .form-label { font-size: 12px; font-weight: 600; color: var(--pub-sub); margin-bottom: 4px; }
body.pub-body .form-control, body.pub-body .form-select { border-color: var(--pub-input); border-radius: 3px; background-color: var(--pub-card); color: var(--pub-text); }
body.pub-body .form-control:focus, body.pub-body .form-select:focus { border-color: var(--pub-brand); box-shadow: inset 0 0 0 1px var(--pub-brand); }
body.pub-body .form-check-input:checked { background-color: var(--pub-brand); border-color: var(--pub-brand); }
body.pub-body .table { --bs-table-bg: transparent; --bs-table-color: var(--pub-text); --bs-table-border-color: var(--pub-line); }
body.pub-body .navbar.bg-dark { background: #0b4a46 !important; }

[data-theme="dark"] body.pub-body {
  --pub-brand: #1f9d8c; --pub-brand-hover: #23b19e; --pub-text: #dee4ea; --pub-sub: #b6c2cf; --pub-muted: #8c9bab;
  --pub-line: #2c333a; --pub-input: #454f59; --pub-bg: #1d2125; --pub-card: #22272b; --pub-link: #2dccb4;
  --bs-body-color: #b6c2cf; --bs-body-bg: #1d2125; --bs-link-color: #2dccb4; --bs-link-hover-color: #7fe0d0; --bs-secondary-color: #8c9bab;
}
[data-theme="dark"] body.pub-body .card { box-shadow: 0 0 0 1px #2c333a, 0 8px 16px rgba(0,0,0,.4) !important; }
[data-theme="dark"] body.pub-body .text-primary { color: #2dccb4 !important; }
[data-theme="dark"] body.pub-body :is(h1, h2, h3, h4, h5, h6, strong, th) { color: #dee4ea; }
[data-theme="dark"] body.pub-body :is(.bg-light, .bg-white, .alert-light) { background-color: #22272b !important; color: #b6c2cf !important; border-color: #2c333a !important; }
[data-theme="dark"] body.pub-body .navbar.bg-dark { background: #161a1d !important; }
[data-theme="dark"] body.pub-body ::placeholder { color: #738496; }
