/* ON 진료표 v1.0.0 */
.onsch{--onsch-c:#2447d6;--onsch-line:#dcdde0;--onsch-ink:#1f2328;--onsch-sub:#5d636b;--onsch-red:#d93a3a;color:var(--onsch-ink);font-size:16px;line-height:1.6;word-break:keep-all;box-sizing:border-box;font-family:Pretendard,"Pretendard Variable",-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;max-width:1200px;margin:0 auto}
.onsch *,.onsch *::before,.onsch *::after{box-sizing:border-box}
.onsch p,.onsch ul,.onsch h2{margin:0;padding:0}
.onsch button{font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.onsch-empty{padding:40px 0;text-align:center;color:var(--onsch-sub)}

/* 위 */
.onsch-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.onsch-title{font-size:28px;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--onsch-ink)}
.onsch-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 0 auto!important;list-style:none;font-size:13.5px;color:var(--onsch-sub)}
.onsch-legend li{display:inline-flex;align-items:center;gap:7px;margin:0;padding:0;list-style:none}

/* 표시 */
.onsch-mk{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle;font-style:normal}
.onsch-mk.is-on{background:var(--onsch-c);box-shadow:0 0 0 4px color-mix(in srgb,var(--onsch-c) 14%,transparent)}
.onsch-mk.is-op{width:10px;height:10px;border-radius:1px;transform:rotate(45deg);background:#1b2a6b;box-shadow:0 0 0 4px rgba(27,42,107,.12)}
.onsch-mk.is-chk{border:2px solid var(--onsch-c);background:#fff}
.onsch-mk.is-none{width:4px;height:4px;background:#d5d8dd}
.onsch-off{display:inline-block;font-size:12px;font-weight:600;color:#b4b8be;line-height:1;letter-spacing:-.02em}
.onsch-off.is-box{padding:3px 6px;border:1px solid #e3e5e8}
.onsch-lv{display:inline-block;padding:3px 6px;font-size:12px;font-weight:700;line-height:1;color:var(--onsch-red);border:1px solid color-mix(in srgb,var(--onsch-red) 40%,transparent);background:#fff;letter-spacing:-.02em}

/* 휴진 안내 */
.onsch-notice{display:flex;gap:18px;align-items:flex-start;margin:0 0 20px;padding:16px 22px;background:#fff;border:1px solid #e3e5e8;border-left:3px solid var(--onsch-red);box-shadow:0 2px 10px rgba(16,24,40,.05)}
.onsch-notice strong{flex:none;font-size:14px;font-weight:700;color:var(--onsch-red);line-height:1.7}
.onsch-notice ul{list-style:none;display:flex;flex-direction:column;gap:3px}
.onsch-notice li{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none;font-size:14px;line-height:1.7}
.onsch-n-when{font-weight:700;color:var(--onsch-ink)}
.onsch-n-who{color:var(--onsch-ink)}
.onsch-n-memo{color:var(--onsch-sub)}
.onsch-n-memo::before{content:"· ";color:#b4b8be}

/* 탭 · 주 */
.onsch-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 18px}
.onsch-tabs{display:flex;flex-wrap:wrap}
.onsch .onsch-tab{height:42px;padding:0 20px;margin:0 -1px -1px 0;border:1px solid var(--onsch-line);border-radius:0;background:#fff;color:var(--onsch-sub);font-size:14.5px;font-weight:600;line-height:1}
.onsch .onsch-tab:hover{color:var(--onsch-ink)}
.onsch .onsch-tab.is-on{position:relative;z-index:1;background:var(--onsch-c);border-color:var(--onsch-c);color:#fff}
.onsch-weeks{display:flex;margin-left:auto}
.onsch .onsch-wk{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:112px;height:42px;padding:0 14px;margin-left:-1px;border:1px solid var(--onsch-line);border-radius:0;background:#fff;color:var(--onsch-sub);line-height:1.15}
.onsch .onsch-wk b{font-size:13.5px;font-weight:700}
.onsch .onsch-wk span{font-size:11px;color:#9aa0a7;margin-top:2px}
.onsch .onsch-wk.is-on{position:relative;z-index:1;border-color:var(--onsch-ink);color:var(--onsch-ink)}
.onsch .onsch-wk.is-on span{color:var(--onsch-sub)}
.onsch-week[hidden]{display:none}

/* 표 */
.onsch-wrap{background:#fff;border:1px solid #d9dde2;box-shadow:0 2px 4px rgba(16,24,40,.05),0 14px 34px rgba(16,24,40,.10)}
.onsch-table{width:100%;border-collapse:collapse;border:0;margin:0;table-layout:fixed;font-size:15px;background:none}
.onsch-table col.onsch-col-who{width:27%}
.onsch-table th,.onsch-table td{border:0;padding:0;margin:0;background:none;text-align:center;vertical-align:middle;font-weight:400;color:inherit}
.onsch-table .onsch-h-who{text-align:left;padding:0 22px 14px!important;vertical-align:bottom;font-size:13px;font-weight:600;color:var(--onsch-sub);border-bottom:1px solid var(--onsch-line)}
.onsch-h1 th[data-date]{position:relative;padding:22px 0 6px!important;border-left:1px solid #e3e6ea}
.onsch-day{display:block;font-size:17px;font-weight:700;line-height:1.2}
.onsch-date{display:block;margin-top:2px;font-size:11.5px;font-weight:500;color:#9aa0a7;line-height:1.2}
.onsch-today{display:none;position:absolute;top:6px;left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:800;letter-spacing:.12em;color:var(--onsch-c);line-height:1.2}
.onsch-h1 th.is-today .onsch-today{display:block}
.onsch-h1 th.is-today .onsch-day,.onsch-h1 th.is-today .onsch-date{color:var(--onsch-c)}
.onsch-h2 th{padding:0 0 14px!important;font-size:11.5px!important;color:#9aa0a7!important;font-weight:500!important;border-bottom:1px solid var(--onsch-line)!important}
.onsch-table td.is-am,.onsch-h2 .is-am{border-left:1px solid #e3e6ea}
.onsch-table td.is-pm,.onsch-h2 .is-pm{border-left:1px dashed #eceef1}
.onsch-table td{height:88px;border-top:1px solid #eceef1}
.onsch-table tbody tr:first-child td,.onsch-table tbody tr:first-child th{border-top:0}
.onsch-table tbody th{padding:16px 10px 16px 22px;border-top:1px solid #eceef1;text-align:left}
.onsch-table tbody tr{transition:background .2s}
.onsch-table tbody tr:hover{background:#fafbfc}
.onsch-table .is-today{background:color-mix(in srgb,var(--onsch-c) 5%,transparent)}
.onsch-table tr[hidden]{display:none}

/* 의료진 */
.onsch .onsch-who{display:flex;align-items:center;gap:14px;width:100%;padding:0;margin:0;border:0;background:none;text-align:left;color:var(--onsch-ink);text-decoration:none;font:inherit}
.onsch .onsch-who.is-link{cursor:pointer}
.onsch-ph{flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#eef0f3;display:block}
.onsch-ph img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:50% 0;display:block;margin:0!important}
.onsch-ph svg{width:100%;height:100%;fill:#d9dce1;display:block;padding:8px 8px 0}
.onsch-tx{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.onsch-tx em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--onsch-c)}
.onsch-tx strong{font-size:16.5px;font-weight:700;letter-spacing:-.02em;color:var(--onsch-ink)}
.onsch-tx small{font-size:13px;font-weight:500;color:var(--onsch-sub)}
.onsch-note{margin-top:3px;font-size:12px;color:#8a8f96}
.onsch .onsch-who.is-link:hover strong{color:var(--onsch-c)}
.onsch-cards{display:none}
.onsch-foot{margin-top:14px!important;font-size:12.5px;color:#9aa0a7}

/* 작은 일정표 */
.onsch-mini{display:grid;grid-template-columns:34px repeat(var(--onsch-days,6),1fr);align-items:center;text-align:center;font-size:12px}
.onsch-mini>span{display:flex;flex-direction:column;align-items:center;justify-content:center;height:36px;border-top:1px solid #f0f1f3}
.onsch-md{font-weight:700;color:var(--onsch-ink);border-top:0!important;height:38px!important;line-height:1.15}
.onsch-md small{font-size:10px;font-weight:500;color:#9aa0a7}
.onsch-mh{color:#9aa0a7;font-size:11px;align-items:flex-start!important}
.onsch-mini>span:first-child{border-top:0}
.onsch-mini .is-today{background:color-mix(in srgb,var(--onsch-c) 6%,transparent)}
.onsch-md.is-today,.onsch-md.is-today small{color:var(--onsch-c)}
.onsch-mini .onsch-mk{width:9px;height:9px}
.onsch-mini .onsch-mk.is-none{width:3px;height:3px}
.onsch-mini .onsch-off{font-size:10.5px}
.onsch-mini .onsch-lv{padding:2px 3px;font-size:10px}

/* 태블릿 */
@media (max-width:1024px){
	.onsch-table col.onsch-col-who{width:30%}
	.onsch-table tbody th{padding:12px 8px 12px 16px}
	.onsch-ph{width:44px;height:44px}
	.onsch-tx strong{font-size:15px}
	.onsch-table td{height:76px}
	.onsch-day{font-size:15px}
}

/* 휴대폰 */
@media (max-width:767px){
	.onsch{font-size:14px}
	.onsch-top{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}
	.onsch-title{font-size:21px}
	.onsch-legend{margin:0!important;font-size:12px;gap:4px 12px}
	.onsch-notice{flex-direction:column;gap:4px;padding:12px 14px;margin-bottom:14px}
	.onsch-notice strong{font-size:13px}
	.onsch-notice li{font-size:12.5px;gap:0 8px}
	.onsch-bar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}
	.onsch .onsch-tab{height:34px;padding:0 12px;font-size:12.5px}
	.onsch-weeks{margin-left:0}
	.onsch .onsch-wk{flex:1;min-width:0;height:40px}
	.onsch .onsch-wk b{font-size:12.5px}
	.onsch-wrap{display:none}
	.onsch-cards{display:grid;gap:10px}
	.onsch-card{background:#fff;border:1px solid #d9dde2;box-shadow:0 2px 4px rgba(16,24,40,.05),0 10px 24px rgba(16,24,40,.09);padding:14px 14px 6px}
	.onsch-card[hidden]{display:none}
	.onsch-card .onsch-who{padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid var(--onsch-line)}
	.onsch-card .onsch-ph{width:42px;height:42px}
	.onsch-tx em{font-size:11.5px}
	.onsch-tx small{font-size:12px}
	.onsch-note{font-size:11.5px}
	.onsch-foot{font-size:11.5px}
}
@media (min-width:600px) and (max-width:767px){
	.onsch-cards{grid-template-columns:1fr 1fr}
}
.onsch .onsch-who:focus:not(:focus-visible){outline:none}
