
/* Layout: 모바일 = 상단 헤더 + 목록 기본 + 하단 탭바 / PC(≥1024) = 좌 목록 · 우 지도 고정 비교 */
:root{
  --bg:#ffffff; --surface:#f4f8fa; --line:#dde6ec; --ink:#12233f; --ink-2:#4a5b73; --ink-3:#7a889c;
  --teal:#0b8f8a; --teal-ink:#ffffff; --teal-soft:#e3f4f3; --warn:#a15c00; --warn-soft:#fff3df;
  --bad:#b42318; --bad-soft:#fdecea; --ok:#14773a; --ok-soft:#e5f5ea; --map-land:#eef3f6; --map-water:#d6eaf0; --map-park:#d9efe2;
  --font:"IBM Plex Sans KR",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  --map-filter:none; --r:12px; --tap:48px; --header:56px; --tabbar:62px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0d1626; --surface:#142035; --line:#24344d; --ink:#e8eef6; --ink-2:#aebbcc; --ink-3:#8494aa;
  --teal:#2cc3bb; --teal-ink:#05201f; --teal-soft:#123336; --warn:#f0b35a; --warn-soft:#3a2b12;
  --bad:#ff8b80; --bad-soft:#3d1a18; --ok:#6fd497; --ok-soft:#14321f; --map-land:#18253a; --map-water:#10304a; --map-park:#173a2c; --map-filter:invert(.9) hue-rotate(180deg) brightness(.95) contrast(.9); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d1626; --surface:#142035; --line:#24344d; --ink:#e8eef6; --ink-2:#aebbcc; --ink-3:#8494aa;
  --teal:#2cc3bb; --teal-ink:#05201f; --teal-soft:#123336; --warn:#f0b35a; --warn-soft:#3a2b12;
  --bad:#ff8b80; --bad-soft:#3d1a18; --ok:#6fd497; --ok-soft:#14321f; --map-land:#18253a; --map-water:#10304a; --map-park:#173a2c; --map-filter:invert(.9) hue-rotate(180deg) brightness(.95) contrast(.9); color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{font-size:16px} /* iOS 확대 방지 */
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:16px}
h1,h2,h3{text-wrap:balance;margin:0;line-height:1.3}
.num{font-variant-numeric:tabular-nums}

/* 상단 */
.sample-bar{background:var(--warn-soft);color:var(--warn);font-size:13px;text-align:center;padding:6px 16px;font-weight:600}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:12px;height:var(--header)}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:-.02em}
.logo-mark{width:28px;height:28px;border-radius:8px;background:var(--teal);display:grid;place-items:center;color:var(--teal-ink);font-size:16px;font-weight:700}
.logo small{font-weight:500;color:var(--ink-3);font-size:12px}
nav.desk{margin-left:auto;display:none;gap:4px}
nav.desk a{text-decoration:none;padding:8px 12px;border-radius:8px;color:var(--ink-2);font-weight:500}
nav.desk a[aria-current="page"]{color:var(--teal);background:var(--teal-soft)}

/* 하단 탭바 (모바일) */
nav.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom,0px)}
nav.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--tabbar);text-decoration:none;font-size:12px;color:var(--ink-3);font-weight:500}
nav.tabbar a svg{width:22px;height:22px}
nav.tabbar a[aria-current="page"]{color:var(--teal)}
main{padding-bottom:24px}
footer.foot{padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + 80px)!important}
@media (min-width:1024px){nav.desk{display:flex} nav.tabbar{display:none} main{padding-bottom:48px} footer.foot{padding-bottom:20px!important}}

/* 히어로 + 검색 */
.hero{padding-block:24px 8px}
.hero h1{font-size:clamp(24px,6vw,34px);letter-spacing:-.03em}
.hero p{margin:6px 0 0;color:var(--ink-2)}
.search{display:flex;align-items:center;gap:8px;margin-top:16px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:0 6px 0 14px;min-height:54px}
.search:focus-within{border-color:var(--teal)}
.search input{flex:1;min-width:0;border:0;background:transparent;outline:0;height:50px;-webkit-appearance:none;appearance:none}
.search input::-webkit-search-cancel-button,.search input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.search svg{flex:none;color:var(--ink-3)}
.icon-btn{border:0;background:transparent;min-width:var(--tap);min-height:var(--tap);border-radius:10px;cursor:pointer;display:grid;place-items:center;color:var(--ink-2)}

/* 진료과 칩 */
.sec-label{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.04em;margin:20px 0 8px}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;scroll-snap-align:start;border:1.5px solid var(--line);background:var(--bg);border-radius:999px;padding:0 16px;min-height:44px;font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.chip .c{font-size:12px;color:var(--ink-3)}
.chip[aria-pressed="true"],.chip[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip[aria-pressed="true"] .c,.chip[aria-current="page"] .c{color:inherit;opacity:.7}
@media (min-width:1024px){.chips{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}}

/* 상단 카드(제휴광고) */
.rec.adc{margin-top:20px;border:1px solid #d6dee6;border-radius:18px;background:var(--bg);padding:16px;box-shadow:0 2px 12px rgba(16,32,48,.06)}
.adc-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.adc-top h2.adc-tag,.adc-tag{font-size:13px;font-weight:700;color:var(--ink-2);margin:0}
.adc-kind{font-size:12px;font-weight:700;color:#fff;background:#0f172a;border-radius:999px;padding:2px 10px;box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.adc-body{display:grid;gap:14px}
@media(min-width:640px){.adc-body.has-media{grid-template-columns:240px minmax(0,1fr);align-items:start}}
.adc-media{display:block;position:relative;border-radius:12px;overflow:hidden;background:#f4f2ec;border:1px solid #ece7da}
.adc-media img{display:block;width:100%;height:auto}
.adc-zoom{display:block;text-align:center;background:#f4f2ec;border-top:1px solid #ece7da;color:#1e293b;font-size:13px;font-weight:700;padding:8px 10px}.adc-media{text-decoration:none}.adc-zoom::after{content:" ›"}

.adc-thumbs{display:flex;gap:6px;margin-top:6px}.adc-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}
.adc-name{font-size:20px;margin:0;line-height:1.3;word-break:keep-all}.adc-name a{color:inherit;text-decoration:none}
.adc-sub{margin:2px 0 12px;font-size:14px;color:var(--ink-2)}
.adc-chips{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px}
.adc-chips li{font-size:13px;font-weight:600;background:var(--teal-soft);color:var(--teal);border-radius:999px;padding:4px 10px}
.adc-dl{display:grid;grid-template-columns:64px minmax(0,1fr);gap:7px 10px;margin:0 0 14px;font-size:14px;line-height:1.5}
.adc-dl dt{color:var(--ink-2)}.adc-dl dd{margin:0}
.adc-docs{display:grid;gap:8px;margin:0 0 14px}.adc-doc{display:flex;gap:10px;align-items:center;font-size:14px}.adc-doc img{width:56px;height:70px;object-fit:cover;border-radius:8px}
.adc-btns{display:flex;gap:8px;flex-wrap:wrap}.adc-btns .btn{flex:1 1 100px;justify-content:center;text-align:center}
.adc-foot{margin:14px 0 0;padding-top:10px;border-top:1px solid #e6ebf0;font-size:12px;color:var(--ink-2);line-height:1.55}
.rec.ad{border:2px solid var(--ink);background:var(--bg)}
.ad-kind{display:inline-block;background:var(--ink);color:var(--bg);font-weight:700;font-size:14px;border-radius:6px;padding:2px 10px}
.ad-name{font-size:20px;margin:4px 0 2px}.ad-sub{font-size:16px;margin:14px 0 6px}
.ad-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}@media(min-width:720px){.ad-photos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ad-photos figure:only-child{grid-column:1/-1;max-width:560px}.ad-photos figure:only-child img{aspect-ratio:auto;object-fit:contain}.ad-photos figure{margin:0}.ad-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}.ad-photos figcaption{font-size:12px;color:var(--ink-2)}
.ad-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0;font-size:15px}.ad-facts dt{color:var(--ink-2)}.ad-facts dd{margin:0}
.ad-docs{display:grid;gap:10px}.ad-doc{display:flex;gap:10px}.ad-doc img{width:72px;height:90px;object-fit:cover;border-radius:8px}
.rec{margin-top:20px;border:1.5px solid var(--teal);border-radius:16px;padding:16px;background:linear-gradient(180deg,var(--teal-soft),var(--bg) 70%)}
.rec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.rec-head h2{font-size:18px}
.rec-head .month{font-size:13px;color:var(--teal);font-weight:600}
.rec-note{font-size:13px;color:var(--ink-2);margin:6px 0 12px}
.rec-grid{display:grid;gap:10px}
@media (min-width:720px){.rec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:720px){.rec-grid.one{grid-template-columns:minmax(0,560px)}}
.pin-reason{border-radius:12px;background:var(--teal);color:var(--teal-ink);padding:14px 16px;margin:0 0 12px;box-shadow:0 4px 14px rgba(11,143,138,.28)}
.pin-reason b{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.04em;background:var(--teal-ink);color:var(--teal);border-radius:6px;padding:2px 8px;margin-bottom:6px}
.pin-reason span.sub{font-size:clamp(16px,4.4vw,19px);font-weight:600;margin-top:2px;opacity:.95}
.pin-reason span{display:block;font-size:clamp(19px,5.2vw,23px);font-weight:700;line-height:1.35;letter-spacing:-.02em;word-break:keep-all}

/* 툴바 */
.toolbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header));z-index:20;background:var(--bg);padding-block:10px;border-bottom:1px solid var(--line);margin-top:20px}
.toolbar-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.count{font-weight:600}
.count b{color:var(--teal)}
.sel{appearance:none;-webkit-appearance:none;border:1.5px solid var(--line);background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a889c' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;border-radius:10px;min-height:44px;padding:0 34px 0 12px;max-width:100%}
.btn{border:1.5px solid var(--line);background:var(--bg);border-radius:10px;min-height:44px;padding:0 14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;white-space:nowrap}
.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}
.btn.ink{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn.ghost{border-color:transparent;background:transparent;color:var(--teal)}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}
.filters .btn[aria-pressed="true"]::before{content:"✓ "}
.btn:disabled{opacity:.45;cursor:not-allowed}
.spacer{flex:1}
.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-top:8px;margin-inline:-16px;padding-inline:16px}
.filters::-webkit-scrollbar{display:none}
.filters .btn{flex:none;font-weight:500;font-size:15px}
.loc-msg{font-size:13px;color:var(--warn);margin-top:6px}

/* 목록 + 지도 분할 */
.split{display:block}
.split .map-pane{display:none}
.split.show-map .list-pane{display:none}
.split.show-map .map-pane{display:block}
@media (min-width:1024px){
  .split,.split.show-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
  .split .list-pane,.split.show-map .list-pane{display:block}
  .split .map-pane,.split.show-map .map-pane{display:block;position:sticky;top:calc(var(--header) + 140px)}
  .view-toggle{display:none!important}
}
.list{display:grid;gap:10px;padding-top:12px}
@media (min-width:720px) and (max-width:1023px){.list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 병원 카드 */
.card{border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 12px;background:var(--bg);display:flex;flex-direction:column;gap:8px;min-width:0}
.card.active{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}
.card-top{display:flex;gap:10px;align-items:flex-start}
.card-title{flex:1;min-width:0}
.card-title a{text-decoration:none}
.card-title h3{font-size:17px;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere}
.meta{font-size:14px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:2px 8px}
.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;border-radius:6px;padding:2px 7px;background:var(--surface);color:var(--ink-2);border:1px solid var(--line)}
.badge.sample{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.badge.teal{background:var(--teal-soft);color:var(--teal);border-color:transparent}
.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.save-btn{flex:none;border:0;background:transparent;width:var(--tap);height:var(--tap);margin:-8px -8px 0 0;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--ink-3)}
.save-btn[aria-pressed="true"]{color:var(--teal)}
.save-btn svg{width:24px;height:24px}
.ratings{display:flex;flex-wrap:wrap;gap:6px}
.rate{font-size:13px;border-radius:8px;background:var(--surface);padding:3px 8px;display:inline-flex;gap:5px;align-items:baseline}
.rate b{font-size:14px}
.rate .src{color:var(--ink-3);font-weight:600}
.rate.none{color:var(--ink-3)}
.addr{font-size:14px;color:var(--ink-2);overflow-wrap:anywhere}
.flags{display:flex;flex-wrap:wrap;gap:6px}
.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:2px}
.actions.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.actions.one{grid-template-columns:1fr}
.actions .btn{padding:0 6px;font-size:15px}
.src-line{font-size:12px;color:var(--ink-3)}
.empty{text-align:center;padding:40px 16px;border:1.5px dashed var(--line);border-radius:var(--r);color:var(--ink-2);display:grid;gap:12px;justify-items:center}

/* 지도 */
.map-box{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--map-water);position:relative}
.map-box svg{display:block;width:100%;height:auto;touch-action:manipulation}
.pin{cursor:pointer}
.pin circle.dot{fill:var(--teal);stroke:var(--bg);stroke-width:2.5}
.pin.active circle.dot{fill:var(--ink)}
.pin text{font-size:11px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3px}
.mview{position:relative;width:100%;aspect-ratio:600/520;max-height:70vh;overflow:hidden;touch-action:none;background:var(--map-land);cursor:grab}

.mpin{position:absolute;width:36px;height:36px;margin:-18px 0 0 -18px;border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center;z-index:2}
.mpin .dot{width:16px;height:16px;border-radius:50%;background:var(--teal);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.mpin.active{z-index:4}.mpin.active .dot{width:22px;height:22px;background:#e0452b}
.mpin .lab{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);background:var(--bg);color:var(--ink);border:1.5px solid var(--teal);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.mzoom{position:absolute;right:10px;top:10px;display:grid;gap:6px;z-index:5}
.mz{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.kmap{width:100%;aspect-ratio:600/520;max-height:70vh;background:var(--map-land)}
.k-label{background:var(--bg);color:var(--ink);border:1.5px solid var(--teal);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:600;white-space:nowrap;transform:translateY(-44px);box-shadow:0 2px 6px rgba(0,0,0,.2)}
.map-legend{font-size:12px;color:var(--ink-3);padding:8px 10px;background:var(--bg);border-top:1px solid var(--line)}
.map-sheet{margin-top:10px}

.view-toggle{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + 14px);z-index:35;border-radius:999px;box-shadow:0 6px 18px rgba(18,35,63,.25);padding:0 20px;min-height:48px}

/* 상세 */
.detail{padding-block:16px}
.crumbs{font-size:14px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px}
.crumbs a{color:var(--ink-2)}
.detail h1{font-size:clamp(22px,5.5vw,30px);letter-spacing:-.02em;margin-top:8px;word-break:keep-all;overflow-wrap:anywhere}
.d-grid{display:grid;gap:16px;margin-top:16px}
@media (min-width:1024px){.d-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.panel{border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
.panel h2{font-size:16px;margin-bottom:10px}
dl.kv{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px 12px;margin:0}
dl.kv dt{color:var(--ink-3);font-size:14px}
dl.kv dd{margin:0;overflow-wrap:anywhere}
.hours{width:100%;border-collapse:collapse;font-size:15px}
.hours td{padding:6px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right}
.hours tr.today td{font-weight:700;color:var(--teal)}
.muted{color:var(--ink-3)}
.need{color:var(--warn);font-weight:500}
.sticky-actions{position:sticky;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px));background:var(--bg);padding-block:10px;border-top:1px solid var(--line);margin-top:16px;z-index:10}
@media (min-width:1024px){.sticky-actions{position:static;border:0;padding:0}}
.map-links{display:flex;flex-wrap:wrap;gap:8px}

/* 폼 */
.form{display:grid;gap:14px;max-width:640px}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:15px}
.field .hint{font-size:13px;color:var(--ink-3)}
.inp{border:1.5px solid var(--line);border-radius:10px;min-height:48px;padding:10px 12px;background:var(--bg);width:100%}
textarea.inp{min-height:120px;resize:vertical}
.inp:focus{border-color:var(--teal);outline:0}
.notice{border-radius:10px;padding:12px 14px;font-size:14px;background:var(--surface);color:var(--ink-2)}
.notice.ok{background:var(--ok-soft);color:var(--ok)}
.notice.warn{background:var(--warn-soft);color:var(--warn)}
.page-head{padding-block:20px 4px}
.page-head h1{font-size:24px;letter-spacing:-.02em}
.page-head p{margin:6px 0 0;color:var(--ink-2)}

/* 관리자 */
.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin-inline:-16px;padding-inline:16px}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:0;background:transparent;min-height:48px;padding:0 12px;font-weight:600;color:var(--ink-3);border-bottom:3px solid transparent;cursor:pointer}
.tab[aria-selected="true"]{color:var(--teal);border-bottom-color:var(--teal)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);-webkit-overflow-scrolling:touch}
table.tbl{border-collapse:collapse;width:100%;font-size:14px;min-width:620px}
table.tbl th,table.tbl td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.tbl th{background:var(--surface);font-weight:600;white-space:nowrap}
.admin-cards{display:grid;gap:10px;margin-top:12px}
@media (min-width:720px){.admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.log{font-size:13px;color:var(--ink-2);display:grid;gap:4px;margin:8px 0 0;padding-left:18px}
dialog{border:0;border-radius:16px;padding:0;width:min(560px,calc(100% - 24px));max-height:calc(100% - 48px);background:var(--bg);color:var(--ink)}
dialog::backdrop{background:rgba(10,20,35,.5)}
.dlg-body{padding:18px;display:grid;gap:12px;overflow-y:auto}

/* 점검 */
.check-list{display:grid;gap:8px;margin-top:12px}
.check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:12px}
.check .st{flex:none;font-weight:700;font-size:13px;border-radius:6px;padding:2px 8px}
.check .st.pass{background:var(--ok-soft);color:var(--ok)}
.check .st.fail{background:var(--bad-soft);color:var(--bad)}
.check .st.info{background:var(--surface);color:var(--ink-2)}
.check div{min-width:0;overflow-wrap:anywhere}
.check small{display:block;color:var(--ink-3);font-size:13px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + 74px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:14px;z-index:60;max-width:calc(100% - 32px)}
footer.foot{border-top:1px solid var(--line);margin-top:40px;padding-block:20px;font-size:13px;color:var(--ink-3)}
footer.foot a{color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.doc{max-width:880px;margin:0 auto;padding-inline:16px;padding-block:20px 40px}
.doc h1{font-size:clamp(24px,6vw,32px);letter-spacing:-.02em;margin:6px 0 6px;word-break:keep-all}
.doc h2{font-size:19px;margin:30px 0 10px}
.doc h3{font-size:16px;margin:18px 0 6px}
.doc p,.doc li{line-height:1.7}
.lead{color:var(--ink-2);margin:0}
.facts{width:100%;border-collapse:collapse;font-size:15px}
.facts th,.facts td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.facts th{width:32%;color:var(--ink-3);font-weight:500}
.tbl-x{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px}
.tbl-x table{min-width:640px}
.cmp{border-collapse:collapse;width:100%;font-size:14px}
.cmp th,.cmp td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp th{background:var(--surface);white-space:nowrap}
.pv{font-size:13px;color:var(--ink-3);margin:6px 0 0}
.st{display:inline-block;font-size:12px;font-weight:700;border-radius:6px;padding:1px 7px;margin-right:4px}
.st-ok{background:var(--ok-soft);color:var(--ok)}.st-plat{background:var(--teal-soft);color:var(--teal)}.st-unk{background:var(--surface);color:var(--ink-3);border:1px solid var(--line)}.st-conf{background:var(--warn-soft);color:var(--warn)}
.t-yes{color:var(--ok);font-weight:700;white-space:nowrap}.t-no{color:var(--bad);font-weight:700;white-space:nowrap}.t-unk{color:var(--ink-3);white-space:nowrap}
.legend{font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0}
.adc{border:1px solid #d6dee6;border-radius:18px;background:var(--bg);padding:16px;margin:14px 0;box-shadow:0 2px 12px rgba(16,32,48,.06)}
.adc-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.adc-tag{font-size:13px;font-weight:700;color:var(--ink-2)}
.adc-kind{font-size:12px;font-weight:700;color:#fff;background:#0f172a;border-radius:999px;padding:2px 10px;box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.adc-body{display:grid;gap:14px}
@media(min-width:640px){.adc-body.has-media{grid-template-columns:240px minmax(0,1fr);align-items:start}}
.adc-media{display:block;position:relative;border-radius:12px;overflow:hidden;background:#f4f2ec;border:1px solid #ece7da}
.adc-media img{display:block;width:100%;height:auto}
.adc-zoom{display:block;text-align:center;background:#f4f2ec;border-top:1px solid #ece7da;color:#1e293b;font-size:13px;font-weight:700;padding:8px 10px}.adc-media{text-decoration:none}.adc-zoom::after{content:" ›"}

.adc-thumbs{display:flex;gap:6px;margin-top:6px}.adc-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}
.adc-name{font-size:20px;margin:0;line-height:1.3;word-break:keep-all}.adc-name a{color:inherit;text-decoration:none}
.adc-sub{margin:2px 0 12px;font-size:14px;color:var(--ink-2)}
.adc-chips{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px}
.adc-chips li{font-size:13px;font-weight:600;background:var(--teal-soft);color:var(--teal);border-radius:999px;padding:4px 10px;margin:0}
.adc-dl{display:grid;grid-template-columns:64px minmax(0,1fr);gap:7px 10px;margin:0 0 14px;font-size:14px;line-height:1.5}
.adc-dl dt{color:var(--ink-2)}.adc-dl dd{margin:0}
.adc-docs{display:grid;gap:8px;margin:0 0 14px}.adc-doc{display:flex;gap:10px;align-items:center;font-size:14px}.adc-doc img{width:56px;height:70px;object-fit:cover;border-radius:8px}
.adc-btns{display:flex;gap:8px;flex-wrap:wrap}.adc-btns .btn{flex:1 1 120px;justify-content:center;text-align:center}
.adc-foot{margin:14px 0 0;padding-top:10px;border-top:1px solid #e6ebf0;font-size:12px;color:var(--ink-2);line-height:1.55}
.ad-card{border:2px solid var(--ink);border-radius:16px;padding:14px 16px;margin:14px 0;background:var(--bg)}
.ad-large{padding:18px}
.ad-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ad-label{font-weight:800;font-size:16px}
.ad-kind{display:inline-block;background:var(--ink);color:var(--bg);font-weight:700;font-size:14px;border-radius:6px;padding:2px 10px}
.ad-note{font-size:13px;color:var(--ink-2);margin:6px 0 8px}
.ad-name{margin:6px 0 2px;font-size:20px}
.ad-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
@media(min-width:720px){.ad-photos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ad-photos figure:only-child{grid-column:1/-1;max-width:560px}.ad-photos figure:only-child img{aspect-ratio:auto;object-fit:contain}
.ad-photos figure{margin:0}.ad-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}.ad-photos figcaption{font-size:12px;color:var(--ink-2)}
.ad-docs{display:grid;gap:10px}.ad-doc{display:flex;gap:10px}.ad-doc img{width:72px;height:90px;object-fit:cover;border-radius:8px}
.ad-foot{margin-top:10px}
.sortbar{display:flex;gap:8px;align-items:center;margin:4px 0 8px}.sortbar .btn[aria-pressed="true"]{background:var(--teal);color:#fff;border-color:var(--teal)}
.rowlist li.rec{border:1.5px solid var(--teal);border-radius:14px;padding:12px 14px;background:var(--teal-soft)}.rec-tag{margin-bottom:4px}.rec-tag b{display:inline-block;background:var(--teal);color:#fff;border-radius:6px;padding:1px 8px;margin-right:6px}
.hl{border:1.5px solid var(--teal);border-radius:14px;padding:14px 16px;background:var(--teal-soft);margin:16px 0}
.qa{border-top:1px solid var(--line);padding:14px 0}
.qa h3{margin:0 0 6px}
.links{display:flex;flex-wrap:wrap;gap:8px}
.topbar{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.topbar .in{max-width:880px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:10px}
.topbar .app{margin-left:auto}
.small{font-size:13px;color:var(--ink-3)}
.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:0;list-style:none}
.dept-grid a,.card-link{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;min-height:44px;align-items:center}
.rowlist{list-style:none;padding:0;margin:0}
.rowlist li{border-bottom:1px solid var(--line);padding:12px 0}
.rowlist a{font-weight:700;font-size:16px}
.site-foot{border-top:1px solid var(--line);margin-top:36px;padding-top:16px;font-size:13px;color:var(--ink-3)}
.site-foot a{color:var(--ink-2);margin-right:12px;display:inline-block;min-height:32px}
form.rf{display:grid;gap:12px;max-width:620px}

/* build.py 추가 — 한눈에 답·FAQ·가까운 병원 (gap·dvh·:has 안 씀) */
.qa-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:18px 0 8px}
.qa-box .qa-h{font-size:18px;margin:0 0 10px}
.qa-t{width:100%;border-collapse:collapse}
.qa-t th{width:6.6em;text-align:left;vertical-align:top;font-weight:700;font-size:14px;color:var(--ink-2);padding:7px 10px 7px 0;white-space:nowrap}
.qa-t td{padding:7px 0;font-size:16px;word-break:keep-all;overflow-wrap:anywhere}
.qa-t tr+tr th,.qa-t tr+tr td{border-top:1px solid var(--line)}
.qa-t td.unk{color:var(--ink-3)}
.qa-t td .st{margin-left:6px;font-size:12px;vertical-align:1px;white-space:nowrap}
.nw{white-space:nowrap}
.qa-note{margin:12px 0 0;font-size:14px;color:var(--warn)}
.qa-src{margin:12px 0 0;font-size:13px;color:var(--ink-3)}
.faq-l .faq-i{border-top:1px solid var(--line);padding:12px 0}
.faq-l .faq-i:first-child{border-top:0;padding-top:4px}
.faq-l h3{font-size:16px;margin:0 0 4px}
.faq-l p{margin:0;word-break:keep-all;overflow-wrap:anywhere}
ul.near{padding-left:18px;margin:6px 0 10px}
ul.near li{margin:6px 0;word-break:keep-all}
ul.svc{padding-left:18px;margin:6px 0}
ul.svc li{margin:4px 0}
.st-warn{background:var(--warn-soft);color:var(--warn)}

/* build.py — flex gap 대체 간격(옛 카톡 웹뷰용) */
@supports not (inset:0){
header.top .wrap>*{margin-right:12px}header.top .wrap>*:last-child{margin-right:0}
.logo>*{margin-right:8px}.logo>*:last-child{margin-right:0}
nav.desk>*{margin-right:4px}nav.desk>*:last-child{margin-right:0}
nav.tabbar a>*{margin-bottom:2px}nav.tabbar a>*:last-child{margin-bottom:0}
.search>*{margin-right:8px}.search>*:last-child{margin-right:0}
.chips>*{margin-right:8px}.chips>*:last-child{margin-right:0}
.chip>*{margin-right:6px}.chip>*:last-child{margin-right:0}
.adc-top>*{margin-right:8px}.adc-top>*:last-child{margin-right:0}
.adc-thumbs>*{margin-right:6px}.adc-thumbs>*:last-child{margin-right:0}
.adc-chips>*{margin-right:6px}.adc-chips>*:last-child{margin-right:0}
.adc-chips>*{margin-bottom:6px}
.adc-doc>*{margin-right:10px}.adc-doc>*:last-child{margin-right:0}
.adc-btns>*{margin-right:8px}.adc-btns>*:last-child{margin-right:0}
.adc-btns>*{margin-bottom:8px}
.ad-doc>*{margin-right:10px}.ad-doc>*:last-child{margin-right:0}
.rec-head>*{margin-right:10px}.rec-head>*:last-child{margin-right:0}
.rec-head>*{margin-bottom:6px}
.toolbar-row>*{margin-right:8px}.toolbar-row>*:last-child{margin-right:0}
.toolbar-row>*{margin-bottom:8px}
.btn>*{margin-right:6px}.btn>*:last-child{margin-right:0}
.filters>*{margin-right:8px}.filters>*:last-child{margin-right:0}
.card>*{margin-bottom:8px}.card>*:last-child{margin-bottom:0}
.card-top>*{margin-right:10px}.card-top>*:last-child{margin-right:0}
.meta>*{margin-right:8px}.meta>*:last-child{margin-right:0}
.meta>*{margin-bottom:2px}
.ratings>*{margin-right:6px}.ratings>*:last-child{margin-right:0}
.ratings>*{margin-bottom:6px}
.rate>*{margin-right:5px}.rate>*:last-child{margin-right:0}
.flags>*{margin-right:6px}.flags>*:last-child{margin-right:0}
.flags>*{margin-bottom:6px}
.crumbs>*{margin-right:4px}.crumbs>*:last-child{margin-right:0}
.crumbs>*{margin-bottom:4px}
.map-links>*{margin-right:8px}.map-links>*:last-child{margin-right:0}
.map-links>*{margin-bottom:8px}
.tabs>*{margin-right:6px}.tabs>*:last-child{margin-right:0}
.check>*{margin-right:10px}.check>*:last-child{margin-right:0}
.legend>*{margin-right:14px}.legend>*:last-child{margin-right:0}
.legend>*{margin-bottom:4px}
.adc-top>*{margin-right:8px}.adc-top>*:last-child{margin-right:0}
.adc-thumbs>*{margin-right:6px}.adc-thumbs>*:last-child{margin-right:0}
.adc-chips>*{margin-right:6px}.adc-chips>*:last-child{margin-right:0}
.adc-chips>*{margin-bottom:6px}
.adc-doc>*{margin-right:10px}.adc-doc>*:last-child{margin-right:0}
.adc-btns>*{margin-right:8px}.adc-btns>*:last-child{margin-right:0}
.adc-btns>*{margin-bottom:8px}
.ad-head>*{margin-right:8px}.ad-head>*:last-child{margin-right:0}
.ad-head>*{margin-bottom:8px}
.ad-doc>*{margin-right:10px}.ad-doc>*:last-child{margin-right:0}
.sortbar>*{margin-right:8px}.sortbar>*:last-child{margin-right:0}
.links>*{margin-right:8px}.links>*:last-child{margin-right:0}
.links>*{margin-bottom:8px}
.topbar .in>*{margin-right:10px}.topbar .in>*:last-child{margin-right:0}
.dept-grid a>*,.card-link>*{margin-right:8px}.dept-grid a>*:last-child,.card-link>*:last-child{margin-right:0}
}
