/* 방사선 표준정보 (STD·06) — kara_design 라이트 고정.
   무채 90 / 네이비 8 / 레드 ≤2 · radius 0 · Pretendard + JetBrains Mono.
   프로그램 색 = 스틸 네이비 #4A6076. 분야 칩 = 기술지도 4대 기반분류 색. */
:root{
  --k-navy:#0F2A4D; --k-navy2:#2E5A8C; --k-red:#C8102E;
  --k-ink:#1C1917; --k-mut:#57534E; --k-faint:#8A8580;
  --k-line:#D6D3D1; --k-line2:#E7E5E4; --k-bg:#FAFAF9; --k-paper:#FFFFFF; --k-shade:#F5F5F4;
  --std:#4A6076; --std-soft:#EDF1F5;
  --c-ri:#AECBE8; --c-irr:#E8B8C4; --c-meas:#B7DCC3; --c-shld:#EFD9AE; --c-etc:#E0DEDC;
  --sans:"Pretendard Variable","Pretendard","Malgun Gothic",sans-serif;
  --mono:"JetBrains Mono","Consolas",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--k-bg);color:var(--k-ink);font-size:14.5px;line-height:1.7;
  word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--k-navy2);outline-offset:2px}
.mono{font-family:var(--mono)}

/* ── 플랫폼 바 (4곳 공통 스펙: 1480px · K 33px · l1 600 · l2 .1em) ── */
.topline{display:none}
.kbar{position:sticky;top:0;z-index:1000;background:var(--k-navy);color:#fff;border-top:3px solid #8FA8C8;border-bottom:1px solid #14365E}
.kbar__in{max-width:1480px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:0 20px;height:60px}
.kbar-brand{display:flex;align-items:center;gap:11px;color:#fff}
.kbar-k{width:33px;height:33px;border:1.5px solid #fff;display:grid;place-items:center;
  font-family:var(--mono);font-weight:700;font-size:16px;flex:0 0 auto}
.kbar-l1{font-family:var(--mono);font-weight:600;font-size:14px;letter-spacing:.02em;line-height:1.25}
.kbar-l2{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:#B9C6D8;margin-top:2px}
.kbar-nav{margin-left:auto;display:flex;gap:18px;font-family:var(--mono);font-size:12.5px}
.kbar-nav a{color:#D7DEE8;padding:4px 2px;border-bottom:2px solid transparent}
.kbar-nav a:hover{color:#fff}
.kbar-nav a[aria-current="true"]{color:#fff;border-bottom-color:var(--std)}
@media(max-width:540px){.kbar-l1,.kbar-l2{display:none}.kbar__in{padding:0 12px}.kbar-nav{gap:10px;flex-wrap:wrap;padding:8px 0}}

/* ── 앱 셸: 좌 사이드바 + 본문 ── */
.shell{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 60px)}
.side{border-right:1px solid var(--k-line);background:var(--k-paper);padding:26px 18px 18px;display:flex;flex-direction:column}
.side-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--k-mut);text-transform:uppercase}
.side-title{font-size:21px;font-weight:800;color:var(--k-ink);margin:6px 0 12px;letter-spacing:-.01em}
.side-rule{height:4px;background:var(--std);margin:0 -18px 16px}
.snav{list-style:none;display:flex;flex-direction:column;gap:2px}
.snav button{display:flex;gap:10px;align-items:baseline;width:100%;text-align:left;background:none;border:none;
  padding:9px 8px;font-size:14px;font-weight:500;color:var(--k-mut)}
.snav button .no{font-family:var(--mono);font-size:11px;color:var(--k-faint)}
.snav button:hover{background:var(--k-shade);color:var(--k-ink)}
.snav button[aria-current="true"]{background:var(--std-soft);color:var(--k-ink);font-weight:700}
.snav button[aria-current="true"] .no{color:var(--std)}
.side-tools{margin-top:auto;padding-top:18px;border-top:1px solid var(--k-line2);font-size:12.5px;color:var(--k-mut);display:flex;flex-direction:column;gap:6px}
.side-tools a:hover{color:var(--k-ink);text-decoration:underline}

.main{padding:26px 28px 60px;min-width:0}
.view{display:none}
.view.on{display:block}

/* ── 공통 컴포넌트 ── */
.h1{font-size:24px;font-weight:800;letter-spacing:-.01em;margin-bottom:6px}
.sub{color:var(--k-mut);margin-bottom:22px;max-width:60em}
.metalabel{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--std);font-weight:600}
.lbl-black{display:inline-block;background:var(--k-ink);color:#fff;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.04em;padding:2px 7px;vertical-align:1px}
.chip{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border:1px solid rgba(0,0,0,.12);color:#3B3A38}
.chip--ri{background:var(--c-ri)} .chip--irr{background:var(--c-irr)} .chip--meas{background:var(--c-meas)}
.chip--shld{background:var(--c-shld)} .chip--etc{background:var(--c-etc)}
.badge-m{display:inline-block;font-family:var(--sans);font-weight:700;font-size:12px;padding:2px 9px;border:1.5px solid;white-space:nowrap}
.badge-m.ok{color:#1F6B3C;border-color:#1F6B3C;background:#F0F7F2}
.badge-m.old{color:#8A5200;border-color:#8A5200;background:#FBF5EA}
.badge-m.no{color:var(--k-red);border-color:var(--k-red);background:#FBF0F1}
.badge-m.na{color:var(--k-faint);border-color:var(--k-line);background:var(--k-shade)}
.badge-m.nf{color:#1D4ED8;border-color:#1D4ED8;background:#EFF3FF}
.syncbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#EFF3FF;border:1px solid #C7D6F5;
  border-left:4px solid #1D4ED8;padding:11px 15px;margin-bottom:14px;font-size:13px}
.syncbar b{color:#1D4ED8}
.syncbar .dt{font-family:var(--mono);font-size:11.5px;color:var(--k-mut)}

.card{background:var(--k-paper);border:1px solid var(--k-line);padding:20px 22px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}

table.k{width:100%;border-collapse:collapse;font-size:13px;background:var(--k-paper);
  border-top:2px solid var(--k-navy);border-bottom:2px solid var(--k-navy)}
table.k th,table.k td{padding:8px 10px;border-bottom:1px solid var(--k-line2);text-align:left;vertical-align:middle}
table.k thead th{background:var(--k-shade);color:var(--k-navy);font-weight:700;font-size:12.5px}
table.k td.num{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}
table.k tbody tr:last-child td{border-bottom:none}

/* KPI */
.kpi{background:var(--k-paper);border:1px solid var(--k-line);border-top:3px solid var(--std);padding:14px 16px}
.kpi .n{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:-.02em}
.kpi .l{font-size:12px;color:var(--k-mut);margin-top:2px}
.kpi .n .u{font-size:13px;color:var(--k-faint);font-weight:500}

/* 막대 */
.bar{display:grid;grid-template-columns:120px 1fr 64px;gap:10px;align-items:center;margin:7px 0;font-size:13px}
.bar .tr{height:14px;background:var(--k-shade);position:relative}
.bar .tr i{position:absolute;inset:0 auto 0 0;background:var(--std)}
.bar .v{font-family:var(--mono);text-align:right;color:var(--k-mut)}

/* ── 03 표준 검색: 툴바 + 목록 + 상세 ── */
.toolbar{background:var(--k-paper);border:1px solid var(--k-line);padding:16px;margin-bottom:14px}
.searchrow{display:flex;gap:8px}
.searchrow input{flex:1;border:1.5px solid var(--k-line);padding:11px 14px;font-size:15px;font-family:inherit;background:var(--k-bg)}
.searchrow input:focus{border-color:var(--std);outline:none}
.searchrow .go{background:var(--std);color:#fff;border:none;padding:0 22px;font-weight:700;font-size:14px}
.searchrow .clear{background:none;border:1px solid var(--k-line);padding:0 12px;color:var(--k-mut)}
.filters{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12.5px}
.fgroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fgroup .fl{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--k-faint);text-transform:uppercase}
.fbtn{border:1px solid var(--k-line);background:var(--k-paper);padding:3px 10px;font-size:12px;color:var(--k-mut)}
.fbtn[aria-pressed="true"]{background:var(--std);border-color:var(--std);color:#fff;font-weight:600}

.split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.rescount{font-size:12.5px;color:var(--k-mut);margin:0 0 8px;font-family:var(--mono)}
.list{display:flex;flex-direction:column;gap:8px}
.row{background:var(--k-paper);border:1px solid var(--k-line);padding:12px 14px;cursor:pointer}
.row:hover{border-color:var(--std)}
.row[aria-selected="true"]{border-color:var(--std);box-shadow:inset 3px 0 0 var(--std)}
.row .r1{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.row .code{font-family:var(--mono);font-weight:700;font-size:13.5px;color:var(--k-navy)}
.row .name{font-size:13px;color:var(--k-mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row .ks{font-family:var(--mono);font-size:12px;color:var(--k-mut);margin-top:3px}

.pager{display:flex;gap:4px;justify-content:center;margin:16px 0;flex-wrap:wrap}
.pager button{min-width:34px;height:30px;border:1px solid var(--k-line);background:var(--k-paper);font-family:var(--mono);font-size:12.5px;color:var(--k-mut)}
.pager button[aria-current="true"]{background:var(--k-navy);border-color:var(--k-navy);color:#fff}
.pager button:disabled{opacity:.4;cursor:default}

.detail{background:var(--k-paper);border:1px solid var(--k-line);padding:18px;position:sticky;top:74px}
.detail .empty{color:var(--k-faint);font-size:13px;text-align:center;padding:40px 0}
.detail h3{font-family:var(--mono);font-size:16px;color:var(--k-navy);margin:8px 0 4px;letter-spacing:-.01em}
.detail .dname{font-size:13.5px;color:var(--k-ink);margin-bottom:12px}
.dl{display:grid;grid-template-columns:96px 1fr;gap:5px 10px;font-size:13px;margin:12px 0}
.dl dt{color:var(--k-faint);font-size:12px}
.dl dd{min-width:0}
.dl dd.mono{font-size:12.5px}
.dact{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--k-line2)}
.dact a,.dact button{display:block;width:100%;text-align:center;border:1px solid var(--k-line);background:var(--k-paper);
  padding:8px;font-size:13px;font-weight:600;color:var(--k-ink)}
.dact a:hover,.dact button:hover{border-color:var(--std);color:var(--std)}
.dact .pri{background:var(--std);border-color:var(--std);color:#fff}
.dact .pri:hover{background:#3D5062;color:#fff}
.dnote{font-size:11.5px;color:var(--k-faint);margin-top:8px;line-height:1.55}

/* 갭 요약 스트립 */
.gapstrip{display:flex;gap:0;border:1px solid var(--k-line);margin-bottom:16px;background:var(--k-paper)}
.gapstrip>div{flex:1;padding:12px 16px;border-right:1px solid var(--k-line2)}
.gapstrip>div:last-child{border-right:none}
.gapstrip .gn{font-family:var(--mono);font-size:22px;font-weight:700}
.gapstrip .gl{font-size:12px;color:var(--k-mut)}

/* 05 품목·표준 맵 */
.mapblock{margin-bottom:18px}
.mapblock .mh{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mapblock .mh h3{font-size:16px;font-weight:800}
.mapblock .mh .cnt{font-family:var(--mono);font-size:12px;color:var(--k-mut)}
.specrow{font-size:12.5px;color:var(--k-mut);margin:2px 0 10px}
.specrow b{color:var(--k-ink)}

.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--k-ink);color:#fff;
  padding:9px 18px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:99}
.toast.on{opacity:1}

.note{background:var(--std-soft);border:1px solid var(--k-line);border-left:4px solid var(--std);padding:12px 15px;font-size:13px;margin:14px 0}
.foot{max-width:1480px;margin:0 auto;padding:18px 28px;border-top:1px solid var(--k-line);font-size:12px;color:var(--k-faint)}

@media(max-width:1100px){.split{grid-template-columns:1fr}.detail{position:static}}
@media(max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{flex-direction:column;border-right:none;border-bottom:1px solid var(--k-line);padding:16px 18px}
  .side-rule{margin:0 -18px 10px}
  .snav{flex-direction:row;flex-wrap:wrap}
  .snav button{width:auto;padding:7px 10px}
  .side-tools{display:none}
  .g4,.g5,.g2{grid-template-columns:1fr 1fr}
  .main{padding:18px 16px 50px;overflow-x:hidden}
}
/* 모바일: 넓은 표는 자체 가로 스크롤(품목·표준/매트릭스/평가기준 등) */
@media(max-width:640px){
  table.k{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .mapblock .mh{flex-wrap:wrap}
  .mapblock .mh a{margin-left:0}
  .syncbar{font-size:12.5px}
}
@media(max-width:520px){.g4,.g5,.g2{grid-template-columns:1fr}.filters{gap:8px}}
@media print{.kbar,.side,.toolbar,.pager,.dact{display:none}body{background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ── K바 반응형 보강(2026-07-15): 창 축소 시 브랜드 줄바꿈 깨짐 방지 ──
   브랜드는 nowrap 고정, 메뉴는 남는 폭에서 가로 스크롤(스크롤바 숨김) */
.kbar-brand{flex-shrink:0}
.kbar-l1{white-space:nowrap}
.kbar-nav{flex:1 1 auto;min-width:0;overflow-x:auto;justify-content:flex-end;scrollbar-width:none}
.kbar-nav::-webkit-scrollbar{display:none}
@media(max-width:1200px){.kbar-nav a{padding:8px 9px;font-size:12.5px}}
@media(max-width:1050px){.kbar-l2{display:none}.kbar-visits{display:none}}
