@import url('../vendor/pretendard.css');
:root {
--c-primary:#00468b;--c-primary-hover:#00356b;--c-primary-soft:#eef2f9;--c-primary-soft-2:#d8e1ee;
--c-text-strong:#111827;--c-text-base:#374151;--c-text-muted:#6b7280;--c-text-subtle:#9ca3af;
--c-border:#d8dee5;--c-border-soft:#ebeef2;
--c-surface:#ffffff;--c-surface-2:#f4f6f8;--c-surface-3:#eef2f6;
--shadow-sm:0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 4px 12px -2px rgba(15,23,42,0.06);--shadow-lg:0 12px 28px -8px rgba(15,23,42,0.10);--shadow-xl:0 20px 40px -12px rgba(15,23,42,0.16);
--r-sm:4px;--r-md:6px;--r-lg:10px;--r-xl:14px;--r-pill:9999px;
--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;
--fs-display:34px;--fs-h1:26px;--fs-h2:20px;--fs-h3:17px;--fs-body:15px;--fs-sm:14px;--fs-xs:13px;--fs-caption:12px;
--fw-regular:400;--fw-medium:500;--fw-semi:600;--fw-bold:700;--fw-black:800;
--lh-tight:1.3;--lh-snug:1.45;--lh-base:1.65;--lh-relaxed:1.8;
--tracking-tight:-0.5px;--tracking-snug:-0.3px;--tracking-normal:-0.2px;--tracking-wide:0.4px;
}
html,body,button,input,select,textarea {font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","ss02","cv11";}
body {color:var(--c-text-base);font-size:var(--fs-body);line-height:var(--lh-base);letter-spacing:var(--tracking-normal);}
input:focus,select:focus,textarea:focus {outline:none;border-color:var(--c-primary) !important;box-shadow:0 0 0 3px var(--c-primary-soft);transition:box-shadow .15s ease,border-color .15s ease;}
h1 {font-size:var(--fs-h1);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);color:var(--c-text-strong);}
h2 {font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:var(--tracking-snug);line-height:var(--lh-tight);color:var(--c-text-strong);}
h3 {font-size:var(--fs-h3);font-weight:var(--fw-bold);letter-spacing:var(--tracking-normal);line-height:var(--lh-snug);color:var(--c-text-strong);}
.caption {font-size:var(--fs-caption);font-weight:var(--fw-semi);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);}
.tbl {width:100%;border-collapse:separate;border-spacing:0;background:var(--c-surface);font-size:15.5px;border:1px solid var(--c-border);overflow:hidden;}
.tbl thead th {background:var(--c-surface-2);color:var(--c-text-muted);font-weight:600;font-size:13px;letter-spacing:0.2px;text-transform:uppercase;padding:14px 16px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--c-border);}
.tbl tbody td {padding:14px 16px;color:var(--c-text-base);border-bottom:1px solid var(--c-border-soft);text-align:center;vertical-align:middle;line-height:1.65;}
.tbl tbody tr:last-child td {border-bottom:none;}
.tbl tbody tr:hover td {background:var(--c-surface-2);}
.tbl td.title {padding:13px 14px;text-align:left;}
.tbl td.title svg {vertical-align:middle;}
.tbl-info {width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;background:var(--c-surface);border:1px solid var(--c-border);overflow:hidden;}
.tbl-info th {padding:11px 14px;background:var(--c-surface-2);color:var(--c-text-strong);font-weight:600;text-align:left;white-space:nowrap;border-bottom:1px solid var(--c-border-soft);width:130px;}
.tbl-info td {padding:11px 14px;border-bottom:1px solid var(--c-border-soft);color:var(--c-text-base);line-height:1.55;}
.tbl-info tr:last-child th,.tbl-info tr:last-child td {border-bottom:none;}
.tbl-info td code {font-family:"JetBrains Mono",Consolas,monospace;font-size:12.5px;background:var(--c-primary-soft);padding:2px 7px;border-radius:var(--r-sm);color:var(--c-primary);}
.pg-wrap {display:flex;justify-content:center;gap:4px;margin-top:20px;}
.pg-btn {min-width:32px;height:32px;padding:0 10px;border:1px solid var(--c-border);background:var(--c-surface);font-size:12.5px;cursor:pointer;color:var(--c-text-muted);transition:all .15s ease;}
.pg-btn:hover {background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary);}
.pg-btn.active {background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600;}
.pg-btn:disabled {opacity:0.4;cursor:not-allowed;}
/* 모바일: iOS Safari가 16px 미만 input 포커스 시 페이지를 강제 확대(zoom)하는 현상 방지 */
@media (max-width:768px) {
input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="number"],input[type="search"],input[type="date"],select,textarea {font-size:16px !important;}
}
/* ===== 접근성(A11y) ===== */
/* 키보드 포커스 표시 — 마우스 클릭 시엔 나타나지 않음(:focus-visible) */
a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,[tabindex]:focus-visible,[role="button"]:focus-visible {outline:2px solid var(--c-primary);outline-offset:2px;}
:focus:not(:focus-visible) {outline:none;}
/* 본문 바로가기(Skip link) — 평소 숨김, 포커스 시 노출 */
.skip-link {position:absolute;left:8px;top:-56px;z-index:1000;background:var(--c-primary);color:#fff;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:top .15s ease;}
.skip-link:focus {top:8px;}
/* 스크린리더 전용(시각적으로 숨김) */
.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;}
/* 모션 최소화 선호 존중 */
@media (prefers-reduced-motion:reduce) {
*,*::before,*::after {animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
/* 터치 타깃(모바일): 페이지네이션 44px */
@media (max-width:768px) {
.pg-btn {min-width:44px;height:44px;}
}