.rb_hospital_toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  flex-wrap: wrap;
}

.rb_hospital_filter_form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.rb_hospital_select,
.rb_hospital_filter_btn,
.rb_hospital_write_btn {
  border: 1px solid #d3dce6;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 14px;
  background: #fff;
}

.rb_hospital_filter_btn,
.rb_hospital_write_btn {
  color: #0f172a;
  font-weight: 700;
}

.rb_hospital_write_btn {
  display: inline-block;
  text-decoration: none;
  background: #e0f2fe;
  border-color: #7dd3fc;
}

.rb_hospital_result {
  margin-bottom: 14px;
  color: #334155;
}

.rb_hospital_cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

.rb_hospital_card {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.18s, transform 0.18s;
}
.rb_hospital_card:hover {
  box-shadow: 0 8px 22px rgba(21, 21, 21, 0.08);
  transform: translateY(-2px);
}

/* 대표 이미지 + 북마크 버튼 컨테이너 */
.rb_hospital_thumb_holder {
  position: relative;
  width: 100%;
}

/* 대표 이미지 (16:10) */
.rb_hospital_thumb_wrap {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f1f5f9;
}
.rb_hospital_thumb_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s;
}
.rb_hospital_card:hover .rb_hospital_thumb_img {
  transform: scale(1.04);
}

.rb_hospital_card_body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

.rb_hospital_card_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.rb_hospital_badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.rb_hospital_badge {
  display: inline-block;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  background: #f1f5f9;
  color: #0f172a;
}

.rb_hospital_badge.is_notice {
  background: #fef9c3;
}

.rb_hospital_badge.is_pending {
  background: #fef3c7;
  color: #92400e;
}

.rb_hospital_badge.is_approved {
  background: #dcfce7;
  color: #166534;
}

.rb_hospital_badge.is_rejected {
  background: #fee2e2;
  color: #991b1b;
}

/* 인증 광고주 배지 (시각적으로 가장 두드러지게) */
.rb_hospital_badge.is_verified {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #ffffff;
  padding: 3px 9px;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.3);
}
.rb_hospital_badge.is_verified svg {
  flex-shrink: 0;
}

/* 매니저 인증 토글 버튼 */
.rb_hospital_verify_toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  padding: 4px 10px;
  border: 1px dashed #94a3b8;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s;
}
.rb_hospital_verify_toggle:hover {
  border-color: #2563eb;
  color: #2563eb;
  border-style: solid;
}
.rb_hospital_verify_toggle.is_active {
  border-color: #dc2626;
  border-style: solid;
  color: #dc2626;
}
.rb_hospital_verify_toggle.is_active:hover {
  background: #fee2e2;
}
.rb_hospital_verify_toggle:disabled {
  opacity: 0.5;
  cursor: wait;
}

.rb_hospital_badge.is_dept {
  background: #e0f2fe;
  color: #0c4a6e;
}

.rb_hospital_hit {
  font-size: 12px;
  color: #64748b;
}

.rb_hospital_title {
  display: block;
  margin-top: 10px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.4;
  color: #0f172a;
}

.rb_hospital_meta,
.rb_hospital_submeta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 8px;
  color: #334155;
  font-size: 13px;
}

.rb_hospital_submeta {
  font-size: 12px;
  color: #64748b;
}

.rb_hospital_empty {
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  text-align: center;
  padding: 22px 10px;
  margin-top: 12px;
  color: #475569;
}

.rb_hospital_write_head {
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 14px;
  background: #f8fafc;
}

.rb_hospital_write_head h3 {
  margin: 0 0 6px 0;
  font-size: 17px;
}

.rb_hospital_write_head p {
  margin: 0;
  font-size: 13px;
  color: #334155;
}

.rb_hospital_write_fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.rb_hospital_field label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #1e293b;
}

.rb_hospital_legal_box {
  border: 1px solid #fde68a;
  background: #fffbeb;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 18px;
}

.rb_hospital_check {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: #78350f;
  font-size: 13px;
}

.rb_hospital_legal_box ul {
  margin: 8px 0 0 20px;
  color: #92400e;
  font-size: 12px;
}

.rb_hospital_view {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 18px;
  background: #fff;
}

.rb_hospital_view_head h2 {
  margin: 8px 0 10px 0;
  font-size: 24px;
}

.rb_hospital_view_meta {
  margin: 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 13px;
}

.rb_hospital_info_grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.rb_hospital_info_grid div {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px;
  background: #f8fafc;
}

.rb_hospital_info_grid div strong {
  display: block;
  margin-bottom: 4px;
  color: #334155;
  font-size: 12px;
}

.rb_hospital_info_grid div span {
  color: #0f172a;
  font-size: 14px;
}

.rb_hospital_info_grid div.is_full {
  grid-column: 1 / -1;
}

.rb_hospital_notice {
  margin-top: 14px;
  border: 1px solid #bae6fd;
  border-radius: 10px;
  background: #f0f9ff;
  padding: 12px;
}

.rb_hospital_notice strong {
  color: #0c4a6e;
}

.rb_hospital_notice p {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #075985;
}

.rb_hospital_content {
  margin-top: 16px;
}

.rb_hospital_links,
.rb_hospital_files {
  margin-top: 16px;
}

.rb_hospital_links h3,
.rb_hospital_files h3 {
  margin: 0 0 8px 0;
  font-size: 15px;
}

.rb_hospital_links ul,
.rb_hospital_files ul {
  margin: 0;
  padding-left: 18px;
}

.rb_hospital_view_blocked {
  border: 1px solid #fed7aa;
  background: #fff7ed;
  border-radius: 12px;
  padding: 22px 14px;
  text-align: center;
}

.rb_hospital_view_blocked h2 {
  margin: 0 0 6px 0;
  font-size: 20px;
}

.rb_hospital_view_blocked p {
  margin: 0;
  color: #9a3412;
}

.rb_hospital_list_btn {
  display: inline-block;
  margin-top: 12px;
  border: 1px solid #fdba74;
  background: #ffedd5;
  color: #9a3412;
  border-radius: 8px;
  padding: 8px 12px;
  text-decoration: none;
  font-weight: 700;
}

@media (max-width: 768px) {
  .rb_hospital_cards {
    grid-template-columns: 1fr;
  }

  .rb_hospital_view {
    padding: 14px;
  }

  .rb_hospital_view_head h2 {
    font-size: 20px;
  }
}

/* 진료시간 다중 체크박스 */
.rb_hospital_field_full {
  grid-column: 1 / -1;
}
.rb_hospital_field_label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  color: #0f172a;
}
.rb_hospital_check_group {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rb_hospital_check_item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #d3dce6;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  user-select: none;
  transition: all 0.15s;
}
.rb_hospital_check_item:hover {
  border-color: #7dd3fc;
  background: #f0f9ff;
}
.rb_hospital_check_item input[type="checkbox"] {
  width: 14px;
  height: 14px;
  margin: 0;
  cursor: pointer;
}
.rb_hospital_check_item input[type="checkbox"]:checked + span {
  color: #0369a1;
  font-weight: 700;
}
.rb_hospital_check_item:has(input:checked) {
  border-color: #0369a1;
  background: #e0f2fe;
}
.rb_hospital_field_help {
  margin: 6px 0 0;
  font-size: 12px;
  color: #64748b;
}

/* ========================================
   별점 시스템 (5점 척도)
   ======================================== */

/* 별점 표시 (read-only) — 회색 배경 위에 노란 별 오버레이 */
.rb_hospital_stars {
  position: relative;
  display: inline-block;
  font-family: Arial, sans-serif;
  letter-spacing: 1px;
  line-height: 1;
  user-select: none;
  white-space: nowrap;
}
.rb_hospital_stars_bg {
  color: #e2e8f0;
}
.rb_hospital_stars_fg {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  color: #f59e0b;
  white-space: nowrap;
}
.rb_hospital_stars_sm { font-size: 14px; }
.rb_hospital_stars_md { font-size: 18px; }
.rb_hospital_stars_lg { font-size: 28px; }

/* 카드의 평점 라인 */
.rb_hospital_card_rating {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #475569;
}
.rb_hospital_card_rating_avg {
  color: #f59e0b;
  font-weight: 700;
}
.rb_hospital_card_rating_count {
  color: #94a3b8;
  font-size: 12px;
}

/* 상세 페이지 평점 요약 박스 */
.rb_hospital_rating_summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  margin-top: 16px;
  padding: 16px;
  background: #fff8eb;
  border: 1px solid #fde68a;
  border-radius: 12px;
  align-items: center;
}
.rb_hospital_rating_score {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 140px;
}
.rb_hospital_rating_avg {
  font-size: 32px;
  color: #b45309;
  line-height: 1;
}
.rb_hospital_rating_max {
  font-size: 14px;
  color: #92400e;
  margin-left: 4px;
}
.rb_hospital_rating_total {
  font-size: 12px;
  color: #92400e;
  margin-top: 4px;
}

/* 분포 막대 */
.rb_hospital_rating_distribution {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 0;
}
.rb_hospital_rating_distribution li {
  display: grid;
  grid-template-columns: 32px 1fr 36px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #6b7280;
}
.rb_hospital_rating_dist_label {
  color: #92400e;
  font-weight: 700;
}
.rb_hospital_rating_dist_bar {
  height: 6px;
  background: #fff;
  border: 1px solid #fde68a;
  border-radius: 999px;
  overflow: hidden;
}
.rb_hospital_rating_dist_fill {
  display: block;
  height: 100%;
  background: linear-gradient(to right, #fbbf24, #f59e0b);
  transition: width 0.3s;
}
.rb_hospital_rating_dist_count {
  text-align: right;
}

@media (max-width: 640px) {
  .rb_hospital_rating_summary {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* 댓글 작성 폼: 별점 입력 */
.rb_hospital_star_input {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0;
  padding: 10px 12px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
}
.rb_hospital_star_input_label {
  font-size: 13px;
  font-weight: 700;
  color: #92400e;
}
.rb_hospital_star_input_buttons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.rb_hospital_star_input_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  color: #e2e8f0;
  padding: 0;
  transition: color 0.12s, transform 0.08s;
}
.rb_hospital_star_input_btn:hover {
  color: #fbbf24;
  transform: scale(1.1);
}
.rb_hospital_star_input_btn.is_active {
  color: #f59e0b;
}
.rb_hospital_star_input_clear {
  margin-left: 8px;
  padding: 4px 10px;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  font-size: 11px;
  color: #64748b;
  cursor: pointer;
}
.rb_hospital_star_input_clear:hover {
  background: #f1f5f9;
}

/* 댓글 출력에 별점 표시 */
.rb_hospital_cmt_rating {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  padding: 3px 8px;
  background: #fffbeb;
  border-radius: 999px;
}
.rb_hospital_cmt_rating_value {
  font-size: 12px;
  color: #b45309;
  font-weight: 700;
}

/* 진료시간 chip (목록·상세 표시용) */
.rb_hospital_chip {
  display: inline-block;
  padding: 2px 8px;
  margin: 0 2px 2px 0;
  border-radius: 999px;
  background: #e0f2fe;
  color: #0369a1;
  font-size: 12px;
  line-height: 1.6;
}

/* CTA 버튼 (전화/예약) */
.rb_hospital_actions {
  display: flex;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.rb_hospital_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1 1 0;
  min-width: 0;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.15s;
}
.rb_hospital_btn svg {
  flex-shrink: 0;
}
.rb_hospital_btn span {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 전화: 솔리드 그린 — 즉각 행동 유도 */
.rb_hospital_btn_call {
  background: #16a34a;
  color: #ffffff;
  border-color: #16a34a;
}
.rb_hospital_btn_call:hover {
  background: #15803d;
  border-color: #15803d;
  color: #fff;
}

/* 예약: 솔리드 블루 — 보조 CTA */
.rb_hospital_btn_book {
  background: #0369a1;
  color: #ffffff;
  border-color: #0369a1;
}
.rb_hospital_btn_book:hover {
  background: #075985;
  border-color: #075985;
  color: #fff;
}

.rb_hospital_view_title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

/* 카드 메타 — 병원명 강조 */
.rb_hospital_meta_name {
  font-weight: 700;
  color: #0f172a;
}
.rb_hospital_meta_region {
  color: #475569;
}

@media (max-width: 480px) {
  .rb_hospital_btn {
    font-size: 12px;
    padding: 8px 10px;
  }
}

/* ========================================
   AJAX 카테고리 전환 루트 (list.skin.php에서 이전)
   ======================================== */
#rb_hospital_ajax_root {
  position: relative;
}
#rb_hospital_ajax_root.is-loading {
  pointer-events: none;
}

/* ========================================
   상세 페이지 상단 보드 헤더 숨김 (view.skin.php에서 이전)
   ======================================== */
.rb_hospital_view_page #scroll_container {
  margin-top: 20px;
}
.rb_hospital_view_page #scroll_container .rb_bbs_top {
  display: none;
}

/* ========================================
   write 폼 보조 안내 (제목 예시, 금지 표현)
   ======================================== */
.rb_hospital_title_examples {
  margin: 10px 2px 6px;
  padding: 12px 14px 10px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #cbd5e1;
  border-radius: 10px;
  font-size: 12.5px;
  line-height: 1.55;
  color: #475569;
}

/* 섹션 헤더 — 좌측에 컬러 도트 + 라벨 */
.rb_hospital_title_examples_title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 6px;
  padding: 0;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
}
.rb_hospital_title_examples_title:first-child {
  margin-top: 0;
}
.rb_hospital_title_examples_title::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 10px 10px;
}
.rb_hospital_title_examples_title--good {
  color: #047857;
}
.rb_hospital_title_examples_title--good::before {
  background-color: #10b981;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 8.5 6.5 12 13 4.5'/></svg>");
}
.rb_hospital_title_examples_title--bad {
  color: #b91c1c;
}
.rb_hospital_title_examples_title--bad::before {
  background-color: #ef4444;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'><line x1='4.5' y1='4.5' x2='11.5' y2='11.5'/><line x1='11.5' y1='4.5' x2='4.5' y2='11.5'/></svg>");
}

/* 예시 카드 리스트 */
.rb_hospital_title_examples_list {
  list-style: none;
  margin: 0 0 4px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.rb_hospital_title_examples_list li {
  padding: 7px 10px 7px 12px;
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1.45;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* 권장 카드 — 옅은 녹색 배경 + 좌측 강조선 */
.rb_hospital_title_examples_good li {
  background: #ecfdf5;
  border-left: 2px solid #10b981;
  color: #065f46;
}

/* 피해야 할 카드 — 옅은 빨간 배경 + 좌측 강조선 */
.rb_hospital_title_examples_bad li {
  background: #fef2f2;
  border-left: 2px solid #ef4444;
  color: #991b1b;
}

/* 모바일 — padding 살짝 축소 */
@media (max-width: 480px) {
  .rb_hospital_title_examples {
    padding: 10px 12px 8px;
    font-size: 12px;
  }
  .rb_hospital_title_examples_list li {
    padding: 6px 9px 6px 10px;
    font-size: 12px;
  }
}

/* 다크모드 대응 */
html[data-theme="dark"] .rb_hospital_title_examples {
  background: #292929;
  border-color: #363636;
  border-left-color: #4a4a4a;
  color: #cbd5e1;
}
html[data-theme="dark"] .rb_hospital_title_examples_good li {
  background: rgba(16, 185, 129, 0.12);
  color: #6ee7b7;
}
html[data-theme="dark"] .rb_hospital_title_examples_bad li {
  background: rgba(239, 68, 68, 0.14);
  color: #fca5a5;
}
html[data-theme="dark"] .rb_hospital_title_examples_title--good {
  color: #6ee7b7;
}
html[data-theme="dark"] .rb_hospital_title_examples_title--bad {
  color: #fca5a5;
}

.rb_hospital_legal_forbidden {
  margin-top: 10px;
  padding: 8px 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #b91c1c;
  font-size: 12px;
  line-height: 1.55;
}
.rb_hospital_legal_forbidden strong {
  display: inline-block;
  margin-right: 6px;
  color: #991b1b;
}

/* view/hospital/skin.php 액션 버튼 (전화/길찾기/예약) — 인라인 분리 */
.rb_hospital_actions { display:flex; gap:8px; margin:14px 0; flex-wrap:wrap; }
.rb_hospital_action_btn { flex:1 1 calc(33.333% - 8px); min-width:140px; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:14px 12px; border:1px solid #e5e7eb; border-radius:10px; background:#fff; color:#111827; text-decoration:none; transition:all 0.15s; line-height:1.3; }
.rb_hospital_action_btn:hover { border-color:#FF9933; background:#fff7ed; color:#9a3412; transform:translateY(-1px); box-shadow:0 2px 6px rgba(0,0,0,0.06); }
.rb_hospital_action_btn svg { color:#6b7280; }
.rb_hospital_action_btn:hover svg { color:#FF9933; }
.rb_hospital_action_btn span:nth-of-type(1) { font-size:14px; font-weight:600; }
.rb_hospital_action_btn .rb_hospital_action_meta { font-size:11px; color:#9ca3af; font-weight:400; }
.rb_hospital_action_btn:hover .rb_hospital_action_meta { color:#9a3412; }
.rb_hospital_badge.is_trusted { background:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); color:#92400e; border:1px solid #fcd34d; }
.rb_hospital_badge.is_trusted svg { color:#d97706; }
@media (max-width: 600px) {
    .rb_hospital_action_btn { flex:1 1 calc(50% - 4px); min-width:0; padding:12px 8px; }
    .rb_hospital_action_btn .rb_hospital_action_meta { display:none; }
}

/* rb.hospital list/write/view dark-mode surface overrides */
:root {
  --rb-hospital-surface: #ffffff;
  --rb-hospital-surface-muted: #f8fafc;
  --rb-hospital-surface-soft: #f1f5f9;
  --rb-hospital-border: #e2e8f0;
  --rb-hospital-border-strong: #cbd5e1;
  --rb-hospital-text: #0f172a;
  --rb-hospital-text-muted: #475569;
  --rb-hospital-text-faint: #64748b;
  --rb-hospital-info-bg: #f0f9ff;
  --rb-hospital-info-border: #bae6fd;
  --rb-hospital-info-text: #075985;
  --rb-hospital-warning-bg: #fffbeb;
  --rb-hospital-warning-border: #fde68a;
  --rb-hospital-warning-text: #92400e;
  --rb-hospital-danger-bg: #fef2f2;
  --rb-hospital-danger-border: #fecaca;
  --rb-hospital-danger-text: #991b1b;
  --rb-hospital-shadow: 0 8px 22px rgba(21, 21, 21, 0.08);
}

html[data-theme="dark"] {
  --rb-hospital-surface: var(--rb-bg-elevated, #1f1f1f);
  --rb-hospital-surface-muted: var(--rb-bg-muted, #292929);
  --rb-hospital-surface-soft: var(--rb-bg, #151515);
  --rb-hospital-border: var(--rb-border, rgba(255, 255, 255, 0.10));
  --rb-hospital-border-strong: var(--rb-border-strong, rgba(255, 255, 255, 0.20));
  --rb-hospital-text: var(--rb-text, #e7e9ec);
  --rb-hospital-text-muted: var(--rb-text-muted, #a8acb1);
  --rb-hospital-text-faint: var(--rb-text-faint, #70757b);
  --rb-hospital-info-bg: rgba(126, 181, 255, 0.12);
  --rb-hospital-info-border: rgba(126, 181, 255, 0.28);
  --rb-hospital-info-text: #b9d0f0;
  --rb-hospital-warning-bg: rgba(245, 158, 11, 0.13);
  --rb-hospital-warning-border: rgba(251, 191, 36, 0.32);
  --rb-hospital-warning-text: #ffd980;
  --rb-hospital-danger-bg: rgba(239, 68, 68, 0.14);
  --rb-hospital-danger-border: rgba(248, 113, 113, 0.32);
  --rb-hospital-danger-text: #fca5a5;
  --rb-hospital-shadow: 0 10px 28px rgba(0, 0, 0, 0.48);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) {
    --rb-hospital-surface: var(--rb-bg-elevated, #1f1f1f);
    --rb-hospital-surface-muted: var(--rb-bg-muted, #292929);
    --rb-hospital-surface-soft: var(--rb-bg, #151515);
    --rb-hospital-border: var(--rb-border, rgba(255, 255, 255, 0.10));
    --rb-hospital-border-strong: var(--rb-border-strong, rgba(255, 255, 255, 0.20));
    --rb-hospital-text: var(--rb-text, #e7e9ec);
    --rb-hospital-text-muted: var(--rb-text-muted, #a8acb1);
    --rb-hospital-text-faint: var(--rb-text-faint, #70757b);
    --rb-hospital-info-bg: rgba(126, 181, 255, 0.12);
    --rb-hospital-info-border: rgba(126, 181, 255, 0.28);
    --rb-hospital-info-text: #b9d0f0;
    --rb-hospital-warning-bg: rgba(245, 158, 11, 0.13);
    --rb-hospital-warning-border: rgba(251, 191, 36, 0.32);
    --rb-hospital-warning-text: #ffd980;
    --rb-hospital-danger-bg: rgba(239, 68, 68, 0.14);
    --rb-hospital-danger-border: rgba(248, 113, 113, 0.32);
    --rb-hospital-danger-text: #fca5a5;
    --rb-hospital-shadow: 0 10px 28px rgba(0, 0, 0, 0.48);
  }
}

.rb_hospital_result,
.rb_hospital_hit,
.rb_hospital_meta,
.rb_hospital_submeta,
.rb_hospital_field_help,
.rb_hospital_card_rating,
.rb_hospital_view_meta,
.rb_hospital_action_btn .rb_hospital_action_meta {
  color: var(--rb-hospital-text-faint);
}

.rb_hospital_card,
.rb_hospital_view,
.rb_hospital_title_examples,
.rb_hospital_action_btn {
  background: var(--rb-hospital-surface);
  border-color: var(--rb-hospital-border);
  color: var(--rb-hospital-text);
}

.rb_hospital_write_fields input,
.rb_hospital_write_fields select,
.rb_hospital_write_fields textarea {
  background: var(--rb-hospital-surface);
  border-color: var(--rb-hospital-border-strong);
  color: var(--rb-hospital-text);
}

.rb_hospital_write_fields input::placeholder,
.rb_hospital_write_fields textarea::placeholder {
  color: var(--rb-hospital-text-faint);
}

.rb_hospital_card:hover {
  box-shadow: var(--rb-hospital-shadow);
}

.rb_hospital_thumb_wrap,
.rb_hospital_write_head,
.rb_hospital_info_grid div,
.rb_hospital_rating_dist_bar {
  background: var(--rb-hospital-surface-muted);
  border-color: var(--rb-hospital-border);
}

.rb_hospital_title,
.rb_hospital_view_head h2,
.rb_hospital_meta_name,
.rb_hospital_field label,
.rb_hospital_field_label,
.rb_hospital_info_grid div span,
.rb_hospital_action_btn {
  color: var(--rb-hospital-text);
}

.rb_hospital_meta_region,
.rb_hospital_write_head p,
.rb_hospital_info_grid div strong,
.rb_hospital_card_rating_count,
.rb_hospital_rating_distribution li {
  color: var(--rb-hospital-text-muted);
}

.rb_hospital_badge {
  background: var(--rb-hospital-surface-soft);
  color: var(--rb-hospital-text);
}

.rb_hospital_badge.is_notice {
  background: var(--rb-hospital-warning-bg);
  color: var(--rb-hospital-warning-text);
}

.rb_hospital_badge.is_dept,
.rb_hospital_chip {
  background: var(--rb-hospital-info-bg);
  color: var(--rb-hospital-info-text);
  border-color: var(--rb-hospital-info-border);
}

.rb_hospital_verify_toggle,
.rb_hospital_check_item,
.rb_hospital_star_input_clear {
  background: var(--rb-hospital-surface);
  border-color: var(--rb-hospital-border-strong);
  color: var(--rb-hospital-text-muted);
}

.rb_hospital_check_item:hover,
.rb_hospital_star_input_clear:hover,
.rb_hospital_action_btn:hover {
  background: var(--rb-hospital-info-bg);
  border-color: var(--rb-hospital-info-border);
  color: var(--rb-hospital-info-text);
}

.rb_hospital_check_item:has(input:checked) {
  background: var(--rb-hospital-info-bg);
  border-color: var(--rb-hospital-info-border);
}

.rb_hospital_legal_box,
.rb_hospital_star_input,
.rb_hospital_rating_summary {
  background: var(--rb-hospital-warning-bg);
  border-color: var(--rb-hospital-warning-border);
  color: var(--rb-hospital-warning-text);
}

.rb_hospital_check,
.rb_hospital_legal_box ul,
.rb_hospital_star_input_label,
.rb_hospital_rating_max,
.rb_hospital_rating_total,
.rb_hospital_rating_dist_label {
  color: var(--rb-hospital-warning-text);
}

.rb_hospital_notice {
  background: var(--rb-hospital-info-bg);
  border-color: var(--rb-hospital-info-border);
}

.rb_hospital_notice strong,
.rb_hospital_notice p,
.rb_hospital_info_grid a,
.rb_hospital_links a,
.rb_hospital_files a {
  color: var(--rb-hospital-info-text);
}

.rb_hospital_empty {
  border-color: var(--rb-hospital-border-strong);
  color: var(--rb-hospital-text-muted);
}

.rb_hospital_view_blocked,
.rb_hospital_list_btn {
  background: var(--rb-hospital-warning-bg);
  border-color: var(--rb-hospital-warning-border);
  color: var(--rb-hospital-warning-text);
}

.rb_hospital_view_blocked p {
  color: var(--rb-hospital-warning-text);
}

.rb_hospital_legal_forbidden {
  background: var(--rb-hospital-danger-bg);
  border-color: var(--rb-hospital-danger-border);
  color: var(--rb-hospital-danger-text);
}

.rb_hospital_legal_forbidden strong {
  color: var(--rb-hospital-danger-text);
}

.rb_hospital_title_examples_good li {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.rb_hospital_title_examples_bad li {
  background: var(--rb-hospital-danger-bg);
  color: var(--rb-hospital-danger-text);
}

html[data-theme="dark"] .rb_hospital_title_examples_good li {
  color: #6ee7b7;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .rb_hospital_title_examples_good li {
    color: #6ee7b7;
  }
}
