/* ============================================================
   PMC 박병원 모바일 — 의료진 페이지 + 진료일정 모달
   - m/medicaloffice/inc_mo.asp 인라인 스타일에서 분리 (2026-04-25)
   - tokens.css 의 --brand-primary, --text-primary 사용
   ============================================================ */

/* 의료진 페이지 주간 미니표 today 하이라이트 */
#doctor table td.wk-today { background: #fff5ee !important; }

/* 월간 일정 버튼 (모바일: 회색 배경 위 흰 pill + subtle border) */
a.btn-sch-more,
a.btn-sch-more:link,
a.btn-sch-more:visited,
#doctor .info .tt a.btn-sch-more {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 12px;
	font-weight: 500;
	color: #1d1d1f !important;
	background: #fff;
	border: 1px solid #e8e8ed;
	padding: 12px 16px;   /* 터치 타깃 약 38px (시각/접근성 절충) */
	border-radius: 999px;
	letter-spacing: -0.02em;
	text-decoration: none;
	line-height: 1.2;
}
a.btn-sch-more::after {
	content: '›';
	font-size: 14px;
	line-height: 1;
	margin-left: 1px;
}
a.btn-sch-more:active {
	background: #ff842f;
	border-color: #ff842f;
	color: #fff !important;
}
/* 키보드 접근성 — 브랜드 오렌지 outline */
a.btn-sch-more:focus-visible {
	outline: 2px solid #ff842f;
	outline-offset: 2px;
}
/* 진료일정 헤더(.tt + table) 간 여백 — pill 버튼이 표 상단과 너무 붙는 문제 해소 */
#doctor .info .tt + table { margin-top: 10px; }

/* ===== 월간 진료일정 모달 ===== */
.sch-overlay {
	position: fixed;
	inset: 0;
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	z-index: 10000;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.sch-overlay.active {
	opacity: 1;
	pointer-events: auto;
}
.sch-modal {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	border-radius: 20px 20px 0 0;
	max-height: 92vh;
	overflow-y: auto;
	padding: 0 16px 12px;
	-webkit-overflow-scrolling: touch;
	z-index: 10001;
	transform: translateY(100%);
	transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
	box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.08), 0 -4px 16px rgba(0, 0, 0, 0.06);
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.sch-modal.is-open { transform: translateY(0); }

.sch-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 4px 8px;
}
.sch-modal-title {
	font-size: 16px;
	font-weight: 700;
	color: #1d1d1f;
	letter-spacing: -0.03em;
}
.sch-close {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #1d1d1f;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sch-close:active { transform: scale(0.9); }
.sch-close svg { width: 12px; height: 12px; }

/* 달력 */
.sch-cal {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.sch-cal thead th {
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	padding: 5px 0;
	text-align: center;
	background: #ff842f;
}
.sch-cal thead th:first-child { border-radius: 8px 0 0 0; }
.sch-cal thead th:last-child  { border-radius: 0 8px 0 0; }
.sch-cal tbody td {
	vertical-align: top;
	padding: 2px 1px;
	height: 55px;
	border-bottom: 1px solid #f5f5f5;
	text-align: center;
}
/* 6주(5월/12월 등) 모달 스크롤 방지 — 폰트 유지, 수직 여백만 압축 (PC와 동일 정책) */
.sch-cal.rows-6 tbody td {
	height: 48px;
	padding: 1px 1px;
}
.sch-cal.rows-6 .sch-day { gap: 0; }
.sch-cal.rows-6 .sch-date { margin-bottom: 0; }
.sch-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
}
.sch-date {
	font-size: 13px;
	font-weight: 600;
	color: #86868b;
	margin-bottom: 1px;
}
.sch-day.today .sch-date {
	background: #ff842f;
	color: #fff;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	line-height: 24px;
	display: inline-block;
}
/* 한국 달력: 일요일만 빨간색 (today 인디케이터 제외)
   - 공휴일 색상은 어드민 페이지에서만 표시 */
.sch-day.sun:not(.today) .sch-date { color: #d92e2e; }
.sch-am, .sch-pm {
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: -0.03em;
}
.sch-am.work, .sch-pm.work { color: #1d1d1f; font-weight: 700; }
.sch-am.surg, .sch-pm.surg { color: #ff842f; font-weight: 700; }
.sch-am.off,  .sch-pm.off  { color: #d2d2d7; }

.sch-notice {
	font-size: 12px;
	color: #424245;
	line-height: 1.5;
	margin: 8px 0 0;
	letter-spacing: -0.02em;
}

/* 월 탭 (현재월 / 다음월) */
.sch-tabs-m {
	display: flex;
	gap: 6px;
	padding: 0 4px 10px;
}
.sch-tab-m {
	border: 1px solid #e5e5ea;
	background: #fff;
	color: #6e6e73;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
	cursor: pointer;
	letter-spacing: -0.02em;
}
.sch-tab-m.is-active {
	background: #ff842f;
	border-color: #ff842f;
	color: #fff;
}
.sch-tab-m[hidden] { display: none; }
