/* 라미한의원 관리자 페이지 스타일 */
:root{
  --orange:#ff7727; --orange-d:#e87c3e; --line:#e8e4de; --txt:#3e3e3e; --muted:#999;
}
*{ box-sizing:border-box; margin:0; padding:0; }
[hidden]{ display:none !important; }
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;
  background:#f4f1ec; color:var(--txt); -webkit-font-smoothing:antialiased;
  word-break:keep-all; overflow-wrap:break-word;
}
a{ color:inherit; }
button{ font-family:inherit; cursor:pointer; }

/* 로그인 */
.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.login-card{
  background:#fff; border-radius:18px; box-shadow:0 16px 50px rgba(0,0,0,.12);
  width:100%; max-width:380px; padding:34px 30px; text-align:center;
}
.login-card h1{ font-size:20px; margin-bottom:6px; }
.login-card p{ font-size:13px; color:var(--muted); margin-bottom:22px; }
.login-card input{
  width:100%; border:1px solid var(--line); border-radius:9px; padding:12px 14px;
  font-size:14px; margin-bottom:10px; outline:none; background:#fafaf8; font-family:inherit;
}
.login-card input:focus{ border-color:var(--orange); background:#fff; }
.login-card button{
  width:100%; background:linear-gradient(135deg,#ff9d63,#e87c3e); color:#fff; border:0;
  border-radius:10px; padding:13px; font-size:15px; font-weight:700; margin-top:4px;
}
.login-msg{ font-size:12px; color:#d33; min-height:18px; margin-top:10px; }
.login-note{ font-size:12px; color:var(--muted); margin-top:16px; line-height:1.6; }

/* 헤더/탭 */
.adm-header{
  background:#fff; border-bottom:1px solid var(--line); padding:0 24px; height:60px;
  display:flex; align-items:center; gap:14px; position:sticky; top:0; z-index:10;
}
.adm-header .brand{ font-weight:700; font-size:16px; }
.adm-header .who{ font-size:13px; color:var(--muted); }
.adm-header .spacer{ flex:1; }
.adm-header .naver-link{
  font-size:13px; color:#fff; background:#57d900; padding:8px 13px; border-radius:8px;
  text-decoration:none; font-weight:600;
}
.adm-header .logout{
  font-size:13px; background:#f0ece6; border:0; padding:8px 14px; border-radius:8px; color:#555;
}
.adm-tabs{
  background:#fff; border-bottom:1px solid var(--line); padding:0 16px;
  display:flex; gap:4px; position:sticky; top:60px; z-index:9;
}
.adm-tabs button{
  background:none; border:0; padding:14px 18px; font-size:14px; font-weight:600; color:#999;
  border-bottom:3px solid transparent;
}
.adm-tabs button.active{ color:var(--orange); border-bottom-color:var(--orange); }
.adm-tabs .badge{
  display:inline-block; min-width:18px; padding:0 5px; height:18px; line-height:18px;
  background:var(--orange); color:#fff; border-radius:9px; font-size:11px; margin-left:6px;
}

main{ max-width:920px; margin:0 auto; padding:24px 18px 60px; }
.panel{ background:#fff; border-radius:14px; box-shadow:0 4px 18px rgba(0,0,0,.05); padding:20px; margin-bottom:18px; }
.panel h2{ font-size:15px; margin-bottom:14px; }

/* 공지 작성 폼 */
.nf-row{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.nf-row label{ font-size:12px; font-weight:600; color:#666; }
.nf-row input, .nf-row textarea{
  border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-size:14px;
  outline:none; background:#fafaf8; font-family:inherit;
}
.nf-row input:focus, .nf-row textarea:focus{ border-color:var(--orange); background:#fff; }
.nf-row textarea{ resize:vertical; min-height:90px; line-height:1.6; }
.nf-inline{ display:flex; align-items:center; gap:8px; font-size:13px; color:#555; }
.btn-primary{ background:linear-gradient(135deg,#ff9d63,#e87c3e); color:#fff; border:0; border-radius:9px; padding:11px 22px; font-size:14px; font-weight:700; }
.btn-ghost{ background:#f0ece6; color:#555; border:0; border-radius:8px; padding:8px 14px; font-size:13px; }
.btn-danger{ background:#fff0f0; color:#d33; border:1px solid #f4c7c7; border-radius:8px; padding:7px 12px; font-size:13px; }

/* 목록 카드 */
.rec{ border:1px solid var(--line); border-radius:11px; padding:14px 16px; margin-bottom:10px; }
.rec-top{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rec-name{ font-weight:700; font-size:15px; }
.rec-meta{ font-size:13px; color:var(--muted); }
.rec-pin{ background:var(--orange); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; }
.rec-spacer{ flex:1; }
.rec-body{ margin-top:8px; font-size:14px; color:#555; line-height:1.7; white-space:pre-wrap; }
.rec-actions{ margin-top:10px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.status-sel{ border:1px solid var(--line); border-radius:7px; padding:6px 10px; font-size:13px; font-family:inherit; background:#fafaf8; }
.tag{ font-size:12px; padding:2px 9px; border-radius:20px; background:#eef; color:#447; }
.tag.s-신규{ background:#fff3ea; color:#c25f1a; }
.tag.s-확정{ background:#e9f7e9; color:#2e7d32; }
.tag.s-취소{ background:#f1f1f1; color:#999; }
.tag.s-완료{ background:#eaf2ff; color:#2864c7; }
.tag.s-확인{ background:#e9f7e9; color:#2e7d32; }
.empty{ text-align:center; color:var(--muted); padding:36px 0; font-size:14px; }
.detail-toggle{ font-size:13px; color:var(--orange); background:none; border:0; padding:0; font-weight:600; }
.kv{ font-size:13px; color:#555; line-height:1.8; }
.kv b{ color:#333; }

/* ===== 예약설정 (영업시간/공휴일) ===== */
.hours-head{ display:none; }
.day-card{ border:1px solid var(--line); border-radius:11px; padding:14px 16px; margin-bottom:10px; }
.day-card.off{ background:#faf8f5; }
.day-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.day-name{ font-weight:700; font-size:15px; }
.day-off{ font-size:13px; color:#888; display:flex; align-items:center; gap:6px; cursor:pointer; }
.day-off input{ width:17px; height:17px; accent-color:var(--orange); }
.day-card.off .day-fields{ opacity:.45; }
.day-fields{ display:flex; flex-direction:column; gap:8px; }
.ff{ display:flex; align-items:center; gap:7px; font-size:13px; color:#777; flex-wrap:wrap; }
.ff > label{ width:64px; flex-shrink:0; font-weight:600; color:#555; }
.ff input[type=time]{ border:1px solid var(--line); border-radius:7px; padding:6px 8px; font-size:13px; font-family:inherit; background:#fafaf8; outline:none; }
.ff input[type=time]:focus{ border-color:var(--orange); background:#fff; }
.ff input:disabled{ opacity:.4; }
.ff-hint{ font-size:11px; color:#bbb; }
.set-foot{ display:flex; align-items:center; gap:14px; margin-top:18px; flex-wrap:wrap; }
.set-foot label{ font-size:13px; color:#555; }
.set-foot select{ border:1px solid var(--line); border-radius:7px; padding:7px 10px; font-family:inherit; margin-left:6px; }
.set-msg{ font-size:13px; }
.set-note{ font-size:13px; color:#888; line-height:1.6; margin-bottom:14px; }
.set-holiday-add{ display:flex; gap:8px; margin-bottom:14px; }
.set-holiday-add input{ border:1px solid var(--line); border-radius:8px; padding:9px 12px; font-family:inherit; font-size:14px; }
.holiday-chip{ display:inline-flex; align-items:center; gap:8px; background:#fff3ea; color:#c25f1a; border:1px solid #ffd8bc; border-radius:20px; padding:6px 8px 6px 14px; font-size:13px; margin:0 8px 8px 0; }
.holiday-chip button{ background:#ffd8bc; border:0; border-radius:50%; width:18px; height:18px; color:#c25f1a; font-size:11px; line-height:1; cursor:pointer; }

@media (max-width:600px){
  .hours-head, .hours-row{ grid-template-columns: 64px 40px 1fr; }
  .hours-head span:last-child, .hr-time:last-child{ grid-column: 1/-1; justify-content:flex-start; padding-left:4px; }
}

/* ===== 통합 예약 (kind 태그/상태 버튼) ===== */
.tag.s-예약확정{ background:#e9f7e9; color:#2e7d32; }
.kind-tag{ font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; background:#eef1f5; color:#5a6b80; }
.kind-tag.yj{ background:#fff0e5; color:#c25f1a; }
.st-btn{ border:1px solid var(--line); background:#fff; color:#888; border-radius:7px; padding:6px 12px; font-size:13px; font-weight:600; }
.st-btn:hover{ border-color:var(--orange); color:var(--orange); }
.st-btn.active{ color:#fff; border-color:transparent; }
.st-btn.active.s-신규{ background:#ff9d63; }
.st-btn.active.s-예약확정{ background:#2e7d32; }
.st-btn.active.s-취소{ background:#999; }

/* ===== 관리자 예약 캘린더 ===== */
.adm-cal-head{ display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:12px; }
.adm-cal-title{ font-size:16px; font-weight:700; }
.adm-cal-nav{ width:32px; height:32px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:17px; color:#888; }
.adm-cal-nav:hover{ border-color:var(--orange); color:var(--orange); }
.adm-cal-grid{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.adm-dow{ text-align:center; font-size:12px; color:#aaa; padding:4px 0; }
.adm-dow.sun{ color:#e06464; } .adm-dow.sat{ color:#5b86d6; }
.adm-cell{ min-height:74px; min-width:0; border:1px solid #f0ece6; border-radius:8px; padding:4px; display:flex; flex-direction:column; gap:3px; }
.adm-cell.empty{ border:0; }
.adm-day{ font-size:12px; color:#999; padding-left:2px; }
.adm-chips{ display:flex; flex-direction:column; gap:2px; overflow:hidden; min-width:0; }
.adm-chip{ max-width:100%; border:0; border-radius:5px; padding:3px 5px; font-size:11px; text-align:left; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-family:inherit; }
.adm-chip.s-신규{ background:#fff0e5; color:#c25f1a; }
.adm-chip.s-예약확정{ background:#e9f7e9; color:#2e7d32; }
.adm-chip:hover{ filter:brightness(.95); }
.adm-cal-legend{ display:flex; gap:16px; align-items:center; margin-top:12px; font-size:13px; color:#777; }
.adm-cal-legend .dot{ display:inline-block; width:11px; height:11px; border-radius:3px; margin-right:4px; vertical-align:middle; }
.adm-cal-legend .dot.s-신규{ background:#ff9d63; } .adm-cal-legend .dot.s-예약확정{ background:#2e7d32; }
.adm-cal-hint{ color:#bbb; margin-left:auto; font-size:12px; }

/* ===== 상세 모달 ===== */
.adm-detail-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:100; align-items:center; justify-content:center; padding:20px; }
.adm-detail-overlay.open{ display:flex; }
.adm-detail{ background:#fff; border-radius:16px; max-width:460px; width:100%; padding:24px; position:relative; max-height:85vh; overflow-y:auto; }
.adm-detail-close{ position:absolute; top:14px; right:16px; width:30px; height:30px; border:0; border-radius:50%; background:#f0ece6; color:#777; font-size:15px; }
.adm-detail-title{ font-size:18px; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.adm-detail-kv{ font-size:14px; }
.adm-detail-actions{ display:flex; gap:8px; margin-top:18px; flex-wrap:wrap; }

/* ===== 목록 서브탭 (예약/지난예약) ===== */
.sub-tabs{ display:flex; gap:6px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.sub-tab{ background:none; border:0; padding:9px 16px; font-size:14px; font-weight:700; color:#999; border-bottom:2px solid transparent; margin-bottom:-1px; }
.sub-tab.active{ color:var(--orange); border-bottom-color:var(--orange); }
.sub-tab span{ font-size:12px; color:#bbb; font-weight:600; margin-left:3px; }
.list-note{ font-size:12px; color:#aaa; margin-bottom:12px; }
/* 지난 예약 캘린더 표시 */
.adm-cell.past{ background:#faf9f7; }
.adm-cell.past .adm-day{ color:#ccc; }
.adm-chip.past{ background:#ececec !important; color:#aaa !important; }

/* ===== 예약 직접 추가 ===== */
.panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.panel-head h2{ margin:0; }
.panel-head .btn-primary{ padding:9px 16px; font-size:13px; }
.add-hint{ font-size:13px; color:#888; margin-bottom:16px; }
.add-form .nf-row{ margin-bottom:12px; }
.add-form .nf-row select{ border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-size:14px; font-family:inherit; background:#fafaf8; outline:none; }
.add-form .nf-row select:focus{ border-color:var(--orange); background:#fff; }
.add-form input[type=time]{ font-family:inherit; }
.add-row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.add-err{ color:#d33; font-size:13px; min-height:18px; margin:2px 0 8px; }
.add-form .btn-primary{ width:100%; padding:13px; }

/* 출처 표시 */
.src-tag{ display:inline-block; background:#eef1f5; color:#5a6b80; font-size:12px; font-weight:600; padding:1px 8px; border-radius:20px; }

/* 직접 추가 - 날짜/시간 캘린더 선택 */
.addpk-head{ display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:10px; }
.addpk-title{ font-size:14px; font-weight:700; }
.addpk-nav{ width:30px; height:30px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:16px; color:#888; }
.addpk-nav:hover{ border-color:var(--orange); color:var(--orange); }
.addpk-nav:disabled{ opacity:.3; cursor:default; }
.addpk-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.addpk-dow{ text-align:center; font-size:11px; color:#aaa; padding:3px 0; }
.addpk-dow.sun{ color:#e06464; } .addpk-dow.sat{ color:#5b86d6; }
.addpk-cell{ text-align:center; padding:8px 0; border-radius:8px; font-size:13px; color:#444; border:1px solid transparent; }
.addpk-cell.empty{ border:0; }
.addpk-cell.ok{ cursor:pointer; background:#fafaf8; border-color:#f0ece6; }
.addpk-cell.ok:hover{ border-color:var(--orange); color:var(--orange); }
.addpk-cell.sel{ background:var(--orange); color:#fff; border-color:var(--orange); font-weight:700; }
.addpk-cell.off, .addpk-cell.past{ color:#ccc; }
.addpk-cell.holiday{ color:#e0a0a0; }
.addpk-summary{ margin:10px 0; padding:9px 12px; background:#fff3ea; border-radius:8px; font-size:13px; color:#c25f1a; }
.addpk-slots{ display:grid; grid-template-columns:repeat(auto-fill,minmax(80px,1fr)); gap:6px; margin-top:8px; }
.addpk-hint{ grid-column:1/-1; font-size:13px; color:#999; padding:8px 0; }
.addpk-slot{ position:relative; border:1px solid var(--line); background:#fff; border-radius:7px; padding:8px 4px; font-size:12px; color:#444; font-family:inherit; }
.addpk-slot:hover{ border-color:var(--orange); color:var(--orange); }
.addpk-slot.sel{ background:var(--orange); color:#fff; border-color:var(--orange); font-weight:700; }
.addpk-slot.taken{ background:#f4f1ec; color:#bbb; cursor:default; }
.addpk-slot .x{ display:block; font-size:10px; }

/* ===== 결제(요금제 / 티켓) ===== */
.bill-head{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.bill-head h2{ margin:0; }
.bill-toggle{ display:inline-flex; background:#f0ece6; border-radius:10px; padding:4px; }
.bill-toggle .bt{ border:0; background:none; padding:8px 16px; border-radius:8px; font-size:13px; font-weight:700; color:#888; }
.bill-toggle .bt.active{ background:#fff; color:var(--orange); box-shadow:0 1px 4px rgba(0,0,0,.08); }
.bt-save{ font-size:11px; color:#2e7d32; margin-left:4px; }
.plan-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.plan{ position:relative; border:1px solid var(--line); border-radius:14px; padding:24px 18px 20px; display:flex; flex-direction:column; }
.plan.popular{ border-color:var(--orange); box-shadow:0 6px 22px rgba(255,119,39,.13); }
.plan-badge{ position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:var(--orange); color:#fff; font-size:11px; font-weight:700; padding:3px 12px; border-radius:20px; }
.plan-name{ font-size:18px; font-weight:800; color:#222; }
.plan-desc{ font-size:12px; color:#999; margin:4px 0 14px; }
.plan-price{ font-size:23px; font-weight:800; color:#222; }
.plan-price .per{ font-size:13px; font-weight:600; color:#aaa; }
.plan-price-sub{ font-size:12px; color:#aaa; margin-top:3px; min-height:16px; }
.plan-feats{ list-style:none; margin:16px 0; padding:0; flex:1; }
.plan-feats li{ font-size:13px; color:#555; padding:6px 0 6px 22px; position:relative; }
.plan-feats li:before{ content:"✓"; position:absolute; left:0; color:var(--orange); font-weight:800; }
.plan-btn{ width:100%; }
.bill-note{ font-size:12px; color:#999; margin-top:18px; line-height:1.7; }
.ticket-buy{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; border:1px dashed #d9d2c8; border-radius:12px; padding:18px 20px; }
.ticket-name{ font-size:16px; font-weight:800; }
.ticket-desc{ font-size:13px; color:#777; line-height:1.6; margin-top:5px; }
.ticket-sub{ color:#aaa; font-size:12px; }
.ticket-buy-right{ display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.bill-status{ font-size:14px; color:#888; }
@media (max-width:680px){ .plan-cards{ grid-template-columns:1fr; } }

/* ===== 작업요청 (티켓) ===== */
.work-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.work-head h2{ margin:0; }
.ticket-balance{ font-size:13px; color:#555; background:#fff3ea; border:1px solid #ffd8bc; border-radius:20px; padding:6px 14px; }
.ticket-balance b{ color:var(--orange); font-size:15px; }
.work-hint{ font-size:13px; color:#888; line-height:1.7; margin-bottom:16px; }
.work-form .nf-row select{ border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-size:14px; font-family:inherit; background:#fafaf8; outline:none; }
.work-form .nf-row select:focus{ border-color:var(--orange); background:#fff; }
.work-err{ color:#d33; font-size:13px; min-height:18px; margin:2px 0 8px; }
.work-type{ font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; background:#eef1f5; color:#5a6b80; }
.tag.s-요청{ background:#fff3ea; color:#c25f1a; }
.tag.s-진행중{ background:#eaf2ff; color:#2864c7; }
.tag.s-완료{ background:#e9f7e9; color:#2e7d32; }
.tag.s-취소{ background:#f1f1f1; color:#999; }
.work-note-admin{ margin-top:8px; font-size:13px; background:#f4f8fc; border-left:3px solid #2864c7; padding:9px 12px; border-radius:6px; color:#3a4a5e; line-height:1.6; }

/* =====================================================================
   반응형 (태블릿 / 모바일)
   ===================================================================== */
@media (max-width:900px){
  main{ padding:20px 14px 50px; }
  .plan-cards{ grid-template-columns:1fr 1fr; }
}

@media (max-width:640px){
  /* 헤더: 한 줄 유지하되 압축 */
  .adm-header{ padding:0 12px; gap:8px; height:54px; }
  .adm-header .brand{ font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
  .adm-header .who{ display:none; }                 /* 로그인 이메일은 모바일에서 숨김 */
  .adm-header .naver-link{ font-size:11px; padding:6px 9px; white-space:nowrap; }
  .adm-header .logout{ font-size:11px; padding:6px 10px; white-space:nowrap; }

  /* 탭: 가로 스크롤 */
  .adm-tabs{ top:54px; padding:0 8px; gap:0; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
  .adm-tabs::-webkit-scrollbar{ display:none; }
  .adm-tabs{ scrollbar-width:none; }
  .adm-tabs button{ flex:0 0 auto; padding:13px 12px; font-size:13px; white-space:nowrap; }

  main{ padding:16px 12px 48px; }
  .panel{ padding:16px 14px; border-radius:12px; margin-bottom:14px; }
  .panel h2{ font-size:14px; }

  /* 예약 캘린더 */
  .adm-cal-head{ gap:12px; }
  .adm-cal-title{ font-size:15px; }
  .adm-cal-grid{ gap:2px; }
  .adm-cell{ min-height:56px; padding:2px; border-radius:6px; }
  .adm-day{ font-size:11px; }
  .adm-chip{ padding:2px 3px; font-size:10px; border-radius:4px; }
  .adm-cal-legend{ flex-wrap:wrap; gap:8px 14px; font-size:12px; }
  .adm-cal-hint{ margin-left:0; flex-basis:100%; }

  /* 패널 헤더(직접 추가 버튼) */
  .panel-head{ flex-wrap:wrap; gap:10px; }
  .panel-head .btn-primary{ width:100%; }

  /* 요금제 */
  .plan-cards{ grid-template-columns:1fr; }
  .bill-head{ gap:10px; }
  .bill-toggle{ width:100%; }
  .bill-toggle .bt{ flex:1; }
  .ticket-buy{ flex-direction:column; align-items:stretch; }
  .ticket-buy-right{ align-items:stretch; }
  .ticket-buy-right .btn-primary{ width:100%; }

  /* 직접 추가 / 상세 모달 */
  .adm-detail-overlay{ padding:12px; }
  .adm-detail{ padding:20px 16px; border-radius:14px; }
  .add-row2{ grid-template-columns:1fr; gap:0; }

  /* 운영시간 설정 시간 입력 줄바꿈 */
  .ff{ gap:5px; }
  .ff > label{ width:100%; }
  .set-foot{ gap:10px; }
  .set-foot .btn-primary{ width:100%; }

  /* 로그인 카드 */
  .login-card{ padding:28px 20px; }
}

@media (max-width:380px){
  .adm-header .brand{ font-size:13px; }
  .adm-header .naver-link{ display:none; }   /* 아주 좁은 화면에선 네이버 바로가기 숨김 */
  .adm-cell{ min-height:50px; }
  .plan-name{ font-size:17px; }
}

/* noad 임베드 (결제·작업요청 탭에 코어 페이지를 iframe 으로) */
.noad-embed-wrap{ position:relative; width:100%; }
.noad-embed{
  width:100%; height:600px; border:0;   /* 초기값 — JS(message)가 콘텐츠 높이로 자동 조정 */
  background:#f4f1ec; display:block;
}
.noad-embed-loading{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:14px; background:#f4f1ec; text-align:center; padding:0 20px;
}

/* 연성차단 — 미납 시 admin 전체 오버레이 */
.clinic-block{
  position:fixed; inset:0; z-index:9999; padding:24px;
  background:rgba(40,35,30,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
}
.clinic-block-card{
  background:#fff; border-radius:18px; max-width:380px; width:100%; padding:32px 26px;
  text-align:center; box-shadow:0 16px 48px rgba(0,0,0,.25);
}
.clinic-block-title{ font-size:19px; font-weight:800; color:var(--txt); }
.clinic-block-desc{ font-size:14px; color:var(--muted); margin:12px 0 22px; line-height:1.6; }
.clinic-block .btn-primary{ width:100%; }
