:root{--ink:#15302c;--muted:#64736f;--forest:#123d36;--forest-2:#1d5b50;--lime:#f2eb77;--paper:#f5f7f4;--white:#fff;--line:#d9e1dc;--red:#b6473d;--blue:#2d6b8a;--shadow:0 16px 42px rgba(20,48,44,.08);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem;color:var(--forest)}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{height:78px;padding:0 clamp(18px,3vw,48px);display:grid;grid-template-columns:minmax(245px,1fr) auto minmax(245px,1fr);align-items:center;background:var(--forest);color:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--forest);display:grid;place-items:center;font-size:29px;font-weight:800;line-height:1}.brand h1{font-size:18px;margin:0;letter-spacing:-.02em}.brand p{margin:3px 0 0;color:#bad0ca;font-size:12px}.tabs{align-self:stretch;display:flex;gap:8px}.tab{border:0;color:#bdd0cb;background:transparent;padding:0 18px;border-bottom:3px solid transparent;cursor:pointer;font-weight:700}.tab:hover,.tab:focus-visible{color:#fff}.tab.is-active{color:var(--lime);border-color:var(--lime)}.emergency{justify-self:end;color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:8px}.emergency span{font-size:12px;color:#bdd0cb}.emergency strong{font-size:21px;color:var(--lime)}
main{max-width:1600px;margin:auto;padding:20px clamp(14px,2.5vw,38px) 40px}.view{display:none}.view.is-active{display:block}.notice{background:#e9f0ec;border:1px solid #d0ddd6;min-height:46px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.notice strong{color:var(--forest)}.notice-links{display:flex;gap:14px;white-space:nowrap}.notice a{color:var(--forest);font-weight:750;text-underline-offset:3px}
.filters{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,.75fr)) auto;gap:10px;margin:14px 0}.filters>label:not(.search-field):not(.check){position:relative}.filters>label>span{position:absolute;left:13px;top:7px;font-size:11px;color:var(--muted);z-index:1}.filters select{width:100%;height:58px;padding:21px 34px 6px 13px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:4px}.search-field{position:relative}.search-field svg{position:absolute;width:21px;left:16px;top:18px;fill:none;stroke:var(--muted);stroke-width:1.8}.search-field input{width:100%;height:58px;padding:0 16px 0 47px;border:1px solid var(--line);background:#fff;border-radius:4px;font-size:16px}.check{position:relative;display:flex;align-items:center;gap:9px;padding:0 16px;background:#fff;border:1px solid var(--line);min-height:58px;white-space:nowrap}.check span{position:static!important;font-size:14px!important;color:var(--ink)!important}.check input{width:18px;height:18px;accent-color:var(--forest)}
.workspace{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);min-height:calc(100vh - 255px);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.map-panel{display:grid;grid-template-rows:auto 1fr auto;min-height:650px;border-right:1px solid var(--line)}.map-toolbar,.results-heading{min-height:79px;padding:15px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:var(--forest-2);margin:0 0 4px}.map-toolbar h3,.results-heading h3{margin:0;font-size:18px}.secondary-button,.primary-button,.pagination button{border:1px solid var(--forest);padding:9px 13px;cursor:pointer;border-radius:3px;font-weight:750}.secondary-button{background:#fff;color:var(--forest)}.primary-button{background:var(--forest);color:#fff}.map{position:relative;background-color:#e9efeb;background-image:linear-gradient(#dbe5df 1px,transparent 1px),linear-gradient(90deg,#dbe5df 1px,transparent 1px);background-size:34px 34px;min-height:500px}.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.map-empty strong{font-size:20px}.map-empty p{max-width:360px;color:var(--muted);line-height:1.6}.map-cross{width:76px;height:76px;background:var(--forest);color:var(--lime);border-radius:50% 50% 50% 8px;transform:rotate(-45deg);font-size:52px;line-height:70px;margin-bottom:30px}.map-cross span{display:block;transform:rotate(45deg)}.map-caption{margin:0;padding:10px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.results-panel{display:grid;grid-template-rows:auto 1fr auto;min-height:0}.results-heading strong{font-size:28px}.results-heading>p{font-size:13px;color:var(--muted);max-width:240px;text-align:right;line-height:1.45}.result-list{overflow:auto;max-height:calc(100vh - 360px)}.facility-card{padding:17px 20px;border-bottom:1px solid var(--line);transition:background .15s}.facility-card:hover{background:#f8faf8}.facility-top{display:flex;align-items:center;gap:8px;font-size:12px}.type-badge{font-weight:800;color:var(--forest);background:#e7f0ec;padding:4px 7px;border-radius:2px}.type-badge.pharmacy{color:#6d5100;background:#fff5bf}.district-name{color:var(--muted)}.hours{margin-left:auto;color:var(--red);font-weight:800}.facility-card h4{font-size:17px;margin:11px 0 5px}.address{color:#53645f;margin:0;line-height:1.45;font-size:14px}.facility-actions{display:flex;gap:16px;margin-top:12px}.facility-actions a{font-size:13px;color:var(--forest);font-weight:750;text-underline-offset:3px}.phone:empty{display:none}.pagination{border-top:1px solid var(--line);padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:15px}.pagination button{background:#fff;padding:7px 12px}.pagination button:disabled{opacity:.35;cursor:not-allowed}.pagination span{font-size:13px;color:var(--muted)}
.audit-view{max-width:1320px;margin:10px auto}.audit-intro{background:var(--forest);color:#fff;padding:32px;display:grid;grid-template-columns:minmax(300px,2fr) repeat(3,minmax(130px,.6fr));gap:18px;align-items:end}.audit-intro h2{font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;line-height:1.2;margin:6px 0 12px}.audit-intro>div:first-child>p:last-child{color:#c2d4cf;line-height:1.65;margin:0;max-width:650px}.audit-stat{border-left:1px solid #467068;padding-left:18px;min-height:85px}.audit-stat strong{display:block;font-size:38px;color:var(--lime)}.audit-stat span{font-size:12px;color:#c2d4cf;line-height:1.4}.audit-legend{display:flex;gap:24px;padding:18px 4px;font-size:13px;color:var(--muted)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px}.dot.direct{background:#287a5f}.dot.standing{background:#d69f26}.dot.city{background:#7c8b87}.district-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.district-card{background:#fff;border:1px solid var(--line);padding:18px;min-height:160px;display:flex;flex-direction:column}.district-card header{display:flex;align-items:center;justify-content:space-between}.district-card h3{margin:0;font-size:18px}.status-label{font-size:11px;border:1px solid currentColor;padding:4px 6px;border-radius:2px}.status-label.direct{color:#287a5f}.status-label.standing{color:#9a6b00}.status-label.city{color:#64736f}.district-card p{font-size:13px;line-height:1.55;color:var(--muted);flex:1}.district-card footer{display:flex;justify-content:space-between;align-items:center}.district-card a{color:var(--forest);font-size:13px;font-weight:750}.method-card{margin-top:22px;background:#e8eeea;padding:24px}.method-card h3{margin:0 0 18px}.method-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.method-columns>div{display:flex;flex-direction:column}.method-columns span{font-size:11px;color:var(--muted);margin-bottom:5px}.method-columns strong{font-size:14px;line-height:1.5}.method-columns p,.method-columns a{font-size:13px;color:var(--muted);margin:8px 0 0}.method-columns a{color:var(--forest);font-weight:750}
dialog{border:0;padding:0;max-width:530px;width:calc(100% - 30px);box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(9,30,26,.58)}#keyForm{padding:26px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:0}.dialog-head button{border:0;background:transparent;font-size:28px;cursor:pointer}.dialog-head+p{color:var(--muted);line-height:1.6}.dialog-head~label{display:flex;flex-direction:column;gap:8px;font-weight:750}.dialog-head~label input{padding:12px;border:1px solid var(--line)}.dialog-help{font-size:12px}.dialog-help a{color:var(--forest)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.custom-marker{width:28px;height:28px;border-radius:50% 50% 50% 6px;background:var(--forest);border:2px solid #fff;box-shadow:0 3px 9px rgba(0,0,0,.25);transform:rotate(-45deg);display:grid;place-items:center}.custom-marker span{transform:rotate(45deg);color:var(--lime);font-weight:900;font-size:16px}.custom-marker.pharmacy{background:#8a6a00}.map-infowindow{padding:10px 12px;min-width:190px}.map-infowindow strong{display:block;margin-bottom:4px}.map-infowindow span{font-size:12px;color:#53645f}
@media(max-width:980px){.topbar{grid-template-columns:1fr auto;height:72px}.tabs{position:fixed;left:0;right:0;bottom:0;height:58px;background:var(--forest);z-index:30;justify-content:center}.tab{flex:1;max-width:260px}.emergency{display:none}main{padding-bottom:78px}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.check{justify-content:center}.workspace{grid-template-columns:1fr}.map-panel{border-right:0;border-bottom:1px solid var(--line);min-height:530px}.map{min-height:390px}.result-list{max-height:none}.audit-intro{grid-template-columns:1fr 1fr}.audit-intro>div:first-child{grid-column:1/-1}.district-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){main{padding:10px 10px 75px}.brand h1{font-size:16px}.notice{align-items:flex-start;flex-direction:column}.notice-links{width:100%;justify-content:space-between}.filters{grid-template-columns:1fr 1fr}.search-field,.check{grid-column:1/-1}.filters>label:nth-of-type(4){grid-column:1/-1}.workspace{border-left:0;border-right:0;margin:0 -10px}.map-panel{min-height:460px}.map{min-height:330px}.map-toolbar,.results-heading{padding:14px}.facility-card{padding:16px 14px}.facility-actions{gap:12px;flex-wrap:wrap}.audit-intro{margin:0 -10px;padding:25px 20px}.audit-stat strong{font-size:30px}.audit-legend{flex-direction:column;gap:8px}.district-grid{grid-template-columns:1fr}.method-columns{grid-template-columns:1fr}.map-caption{display:none}}
.dot.unknown{background:#9aa6a2}.status-label.unknown{color:#64736f}.district-card footer{gap:12px}.source-unavailable{color:#83908c;font-size:12px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
