/* ==========================================================
   SafePlum — 디자인 시스템
   색: 안전 파랑(주요 동작) · 남색(제목·신뢰) · 주황(마감·강조, 아껴 씀)
   간격: 4 · 8 · 12 · 16 · 20 · 24 · 32 · 48 · 64
   ========================================================== */
[hidden]{display:none !important}
:root{
  --blue:#1D4ED8;--blue-600:#1E40AF;--blue-50:#EFF4FF;--blue-100:#DBE6FE;
  --navy:#0F172A;--navy-900:#020617;--accent:#F59E0B;--accent-50:#FEF3C7;--mint:#10B981;
  --orange:#E8780F;--orange-50:#FEF3E7;
  --green:#0E8A6A;--red:#C8352B;--red-50:#FDECEA;
  --bg:#F8FAFC;--surface:#FFFFFF;--surface-2:#F1F5F9;--hero:#F1F5F9;
  --text:#0F172A;--text-2:#334155;--muted:#64748B;--line:#E2E8F0;--line-2:#EEF2F6;
  --shadow-1:0 1px 2px rgba(16,36,70,.05);
  --shadow-2:0 6px 20px rgba(16,36,70,.08),0 1px 3px rgba(16,36,70,.05);
  --r-sm:8px;--r:12px;--r-lg:16px;
  --font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;
  --hd-h:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --blue:#5A9BEB;--blue-600:#7AB0F0;--blue-50:#152338;--blue-100:#1D3150;
  --navy:#C7D6EA;--navy-900:#0B1628;--orange:#F29A45;--orange-50:#2B2013;
  --green:#3FBF98;--red:#EF6B61;--red-50:#2E1917;
  --bg:#0E1522;--surface:#151F2F;--surface-2:#192436;--hero:#111C2D;
  --text:#E4EAF3;--text-2:#B6C1D1;--muted:#8E9BAE;--line:#26334A;--line-2:#1F2B3F;
  --shadow-1:none;--shadow-2:0 6px 20px rgba(0,0,0,.35);color-scheme:dark;
}}
:root[data-theme="dark"]{
  --blue:#5A9BEB;--blue-600:#7AB0F0;--blue-50:#152338;--blue-100:#1D3150;
  --navy:#C7D6EA;--navy-900:#0B1628;--orange:#F29A45;--orange-50:#2B2013;
  --green:#3FBF98;--red:#EF6B61;--red-50:#2E1917;
  --bg:#0E1522;--surface:#151F2F;--surface-2:#192436;--hero:#111C2D;
  --text:#E4EAF3;--text-2:#B6C1D1;--muted:#8E9BAE;--line:#26334A;--line-2:#1F2B3F;
  --shadow-1:none;--shadow-2:0 6px 20px rgba(0,0,0,.35);color-scheme:dark;
}

/* ---------- 기본 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd-h) + 16px)}
body{margin:0;display:flex;flex-direction:column;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--navy);margin:0;letter-spacing:-.02em}
h1{font-size:32px;line-height:1.3;font-weight:800}
h2{font-size:18px;line-height:1.4;font-weight:700}
h3{font-size:16px;line-height:1.45;font-weight:700}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px}.skip:focus{left:16px;background:var(--surface);padding:8px 12px;z-index:50;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex:none}
.br-m{display:none}

main{flex:1 0 auto}

/* ---------- 헤더 ---------- */
.hd{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:32px;height:var(--hd-h)}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.03em;color:var(--navy)}
.logo:hover{text-decoration:none}
.logo-mark{width:32px;height:32px;flex:none}
.gnb{display:flex;gap:4px;height:100%;flex:1}
.gnb a{position:relative;display:flex;align-items:center;padding:0 14px;color:var(--text-2);font-weight:600;font-size:15px}
.gnb a:hover{color:var(--navy);text-decoration:none}
.gnb a[aria-current="page"]{color:var(--blue)}
.gnb a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--blue);border-radius:2px}

/* ---------- 버튼·배지·태그 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--blue);background:var(--blue);color:#fff;font:inherit;font-weight:700;font-size:15px;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--blue-600);border-color:var(--blue-600);text-decoration:none}
.btn-sm{height:34px;padding:0 12px;font-size:13.5px;border-radius:8px}
.btn-ghost{background:var(--surface);color:var(--blue);border-color:var(--line)}
.btn-ghost:hover{background:var(--blue-50);border-color:var(--blue-100);color:var(--blue)}
.btn-accent{background:var(--orange);border-color:var(--orange)}
.btn-accent:hover{background:var(--orange);border-color:var(--orange);filter:brightness(.94)}
.btn-white{background:#fff;border-color:#fff;color:#17365D}
.btn-white:hover{background:#EAF1FB;border-color:#EAF1FB}
.btn-disabled,.btn-disabled:hover{background:transparent;border-color:var(--line);color:var(--muted);cursor:not-allowed;filter:none}
.btn-white.btn-disabled{border-color:rgba(255,255,255,.35);color:rgba(255,255,255,.7)}
.btn-block{display:flex;width:100%}
.btn-green{background:var(--green);border-color:var(--green)}
.btn-green:hover{background:var(--green);border-color:var(--green);filter:brightness(.93)}
.btns{display:flex;flex-wrap:wrap;gap:8px}

.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.badge-blue{background:var(--blue-50);color:var(--blue)}
.badge-navy{background:var(--navy);color:var(--surface)}
.badge-orange{background:var(--orange-50);color:var(--orange)}
.badge-line{border-color:var(--line);color:var(--text-2);background:var(--surface)}
.badge-muted{background:var(--line-2);color:var(--muted)}
.badge-soon{background:var(--orange);color:#fff}
.badge-red{background:var(--red-50);color:var(--red)}
.badge-green{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;background:var(--line-2);color:var(--text-2);font-size:12.5px;font-weight:500}
.tag-job{background:var(--blue-50);color:var(--blue);font-weight:700}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--av) 12%,var(--surface));color:var(--av);font-weight:800;font-size:17px;flex:none;border:1px solid color-mix(in srgb,var(--av) 18%,transparent)}

/* ---------- 홈 히어로 ---------- */
.hero{background:var(--hero);border-bottom:1px solid var(--line);padding:56px 0 44px}
.hero-eyebrow{color:var(--blue);font-weight:700;font-size:14px;margin-bottom:10px}
.hero h1{font-size:40px;line-height:1.25;font-weight:800;letter-spacing:-.035em}
.hero-sub{color:var(--text-2);font-size:17px;margin-top:12px;max-width:40em}
.hsearch{margin-top:28px;max-width:720px}
.scope{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:10px}
.scope label{position:relative;cursor:pointer}
.scope input{position:absolute;opacity:0;pointer-events:none}
.scope label span,.scope label{font-size:14px;font-weight:600;color:var(--text-2)}
.scope label{padding:6px 14px;border-radius:7px}
.scope label:has(input:checked){background:var(--navy);color:var(--surface)}
.scope label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:1px}
.hsearch-box{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 18px;box-shadow:var(--shadow-2)}
.hsearch-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-100),var(--shadow-2)}
.hsearch-box .ico{color:var(--muted)}
.hsearch-box input{flex:1;min-width:0;height:48px;border:0;background:transparent;font:inherit;font-size:16px;color:var(--text);outline:none}
.hsearch-box .btn{height:48px;padding:0 24px}
.quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.quick>span{font-size:13px;color:var(--muted);font-weight:600;margin-right:4px}
.qk{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text-2);font-size:13.5px;font-weight:600}
.qk:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}

/* ---------- 무료 작성 도구 ---------- */
.ftools-home{padding-top:36px}
.ftools-page{padding-top:28px;padding-bottom:0}
.ftools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ftool{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 20px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);box-shadow:var(--shadow-1);transition:border-color .15s,box-shadow .15s,transform .15s}
.ftool:hover{text-decoration:none;border-color:var(--blue);box-shadow:var(--shadow-2);transform:translateY(-1px)}
.ftool strong{font-size:17px;color:var(--navy);letter-spacing:-.02em}
.ftool-tag{align-self:flex-start;font-size:12px;font-weight:700;color:var(--green);background:color-mix(in srgb,var(--green) 12%,var(--surface));padding:2px 8px;border-radius:6px}
.ftool-desc{font-size:14px;color:var(--text-2);flex:1}
.ftool-go{font-size:14px;font-weight:700;color:var(--blue);margin-top:6px}

/* ---------- 페이지 머리 ---------- */
.phead{background:var(--surface);border-bottom:1px solid var(--line);padding:28px 0 24px}
.phead h1{font-size:28px}
.phead p{color:var(--text-2);margin-top:8px;max-width:48em}
.crumbs{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted) !important;margin:0 0 10px !important}
.crumbs a{color:var(--muted)}
.crumbs span{color:var(--line)}

/* ---------- 레이아웃 ---------- */
.layout-home{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;padding:36px 24px 72px}
.layout-list{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding:28px 24px 72px;align-items:start}
.layout-list.no-side{grid-template-columns:minmax(0,1fr)}
.layout-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:28px 24px 72px;align-items:start}
.col-main>*+*{margin-top:0}
.col-side{display:flex;flex-direction:column;gap:20px}
.layout-detail .col-side,.col-filter{position:sticky;top:calc(var(--hd-h) + 20px)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}
.col-main .sec-head:not(:first-child){margin-top:40px}
.sec-head p{font-size:13px;color:var(--muted);margin-top:2px}
.more{font-size:14px;font-weight:600;white-space:nowrap;color:var(--text-2)}
.more:hover{color:var(--blue);text-decoration:none}
.side-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.side-box .sec-head{margin-bottom:8px}
.side-box p+p{margin-top:8px}
.side-box p{color:var(--text-2);font-size:14px}
.h-sm{font-size:16px;margin-bottom:8px}

/* ---------- 채용 리스트 ---------- */
.jlist,.rlist,.ulist:not(.compact){background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1)}
.jrow{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border-top:1px solid var(--line-2);position:relative;transition:background .12s}
.jrow:first-child{border-top:0}
.jrow:hover{background:var(--surface-2)}
.jrow-title{display:block;color:var(--navy);font-weight:700;font-size:16px;line-height:1.45}
.jrow-title::after{content:"";position:absolute;inset:0}
.jrow-title:hover{text-decoration:none;color:var(--blue)}
.jrow-sub{font-size:14px;color:var(--text-2);margin-top:2px}
.jrow-sub .dot{color:var(--line);margin:0 2px}
.jrow .tags{margin-top:10px}
.jrow-side{align-self:start;padding-top:2px}
.jrow.closed .jrow-title,.jrow.closed .jrow-sub{color:var(--muted)}
.jrow.closed .avatar{filter:grayscale(1);opacity:.6}
.jrow.compact{padding:14px 18px}

/* ---------- 필터 패널 ---------- */
.fpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.fpanel>summary{display:none}
.fpanel-body{padding:18px;display:flex;flex-direction:column;gap:20px}
.fgroup-label{font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.02em}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;white-space:nowrap;flex:none;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .12s}
.chip:hover{border-color:var(--blue-100);background:var(--blue-50);color:var(--blue)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.chip .n{font-size:12px;font-weight:700;opacity:.65}
.catnav{flex-direction:column}
.catnav .chip{justify-content:space-between;width:100%;height:40px;border-color:transparent;background:transparent}
.catnav .chip:hover{background:var(--surface-2);border-color:transparent;color:var(--navy)}
.catnav .chip[aria-pressed="true"]{background:var(--blue-50);color:var(--blue);border-color:transparent}
.fpanel-reset{align-self:flex-start}

.listbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.listbar-right{display:flex;gap:12px;align-items:center}
.search-inline{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;max-width:420px;height:42px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted)}
.search-inline:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-100)}
.search-inline input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--text);outline:none;height:100%}
.sort{height:42px;padding:0 32px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B788C' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--text);font:inherit;font-size:14px;appearance:none;cursor:pointer}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;white-space:nowrap;user-select:none}
.switch input{appearance:none;width:36px;height:20px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0}
.switch input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.switch input:checked{background:var(--blue)}
.switch input:checked::after{transform:translateX(16px)}
.count{font-size:13.5px;color:var(--muted);margin-bottom:10px}
.count strong{color:var(--navy)}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg);padding:32px 24px;text-align:center;color:var(--text-2)}
.empty .btns{justify-content:center;margin-top:16px}
.more-box{margin-top:28px;padding:20px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line)}
.more-box p{font-weight:700;color:var(--navy);margin-bottom:12px;font-size:14px}

/* ---------- 서식 리스트 ---------- */
.rrow{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:16px;align-items:center;padding:18px 16px 18px 20px;border-top:1px solid var(--line-2)}
.rrow:first-child{border-top:0}
.rrow-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}
.rrow-meta{font-size:12.5px;color:var(--muted)}
.rrow-meta+.rrow-meta::before{content:"·";margin-right:10px;color:var(--line)}
.rrow-title{font-size:16px}
.rrow-note{font-size:12.5px;color:var(--muted);margin-top:6px}
.rrow-desc{font-size:14px;color:var(--text-2);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rrow-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:300px}
.fav{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.fav:hover{background:var(--surface-2);color:var(--orange)}
.fav[aria-pressed="true"]{color:var(--orange)}

/* ---------- 법령 ---------- */
.urow{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:20px;border-top:1px solid var(--line-2)}
.urow:first-child{border-top:0}
.urow-date{font-size:14px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;padding-top:1px}
.urow-law{font-size:12.5px;color:var(--orange);font-weight:700;margin-bottom:2px}
.urow-desc{font-size:14px;color:var(--text-2);margin-top:6px}
.urow-foot{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px;color:var(--muted)}
.link-ext{font-weight:600}
.ulist.compact .urow{grid-template-columns:1fr;gap:2px;padding:12px 0;border-top:1px solid var(--line-2)}
.ulist.compact .urow:first-child{border-top:0;padding-top:4px}
.ulist.compact .urow-date{font-size:12.5px;color:var(--muted);font-weight:600}
.ulist.compact .urow-law{display:none}
.ulist.compact .urow-title{font-size:14.5px;line-height:1.5}
.llist li+li{border-top:1px solid var(--line-2)}
.llist a{display:flex;align-items:center;gap:10px;padding:12px 2px;color:var(--text)}
.llist a:hover{text-decoration:none;color:var(--blue)}
.llist strong{flex:1;font-weight:600;font-size:14.5px}
.llist .arr{color:var(--muted)}
.olist li+li{border-top:1px solid var(--line-2)}
.olist a{display:flex;flex-direction:column;padding:10px 0;color:var(--text)}
.olist a:hover{text-decoration:none}
.olist a:hover strong{color:var(--blue)}
.olist strong{font-size:14.5px;font-weight:700}
.olist span{font-size:13px;color:var(--muted)}

/* ---------- 도구 패널 ---------- */
.tool-panel{background:var(--navy-900);background:linear-gradient(160deg,#1B3F6B 0%,#122C4D 100%);color:#DCE6F3;border-radius:var(--r-lg);padding:24px}
.tool-panel h3{color:#fff;font-size:19px;margin:4px 0 8px}
.tool-panel p{font-size:14px;color:#C5D3E6}
.tool-panel .btns{margin-top:18px}
.tool-eyebrow{font-size:12.5px !important;font-weight:700;color:#FFC98A !important}
.tool-panel.big{padding:36px}
.tool-panel.big h3{font-size:26px}
.tool-panel.big p{font-size:15.5px;max-width:40em}
.tool-feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:20px}
.tool-feats li{position:relative;padding-left:22px;font-size:14.5px;color:#fff}
.tool-feats li::before{content:"";position:absolute;left:2px;top:8px;width:10px;height:6px;border-left:2px solid #FFC98A;border-bottom:2px solid #FFC98A;transform:rotate(-45deg)}

/* ---------- 채용 상세 ---------- */
.phead-detail{padding-bottom:28px}
.dhead{display:flex;gap:18px;align-items:flex-start}
.dhead .avatar{width:64px;height:64px;font-size:24px;border-radius:16px}
.dhead-co{font-weight:700;color:var(--text-2) !important;margin:0 0 2px !important;font-size:15px}
.dhead h1{font-size:26px}
.dhead .tags{margin-top:12px}
.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.block+.block{margin-top:16px}
.block h2{font-size:16px;margin-bottom:14px}
.block p{color:var(--text-2)}
.dl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.dl-grid div{display:grid;grid-template-columns:88px 1fr;gap:8px;padding:10px 0;border-top:1px solid var(--line-2)}
.dl-grid div:nth-child(-n+2){border-top:0}
.dl-grid dt{color:var(--muted);font-size:14px}
.dl-grid dd{margin:0;font-weight:600;font-size:14.5px}
.bul li{position:relative;padding-left:16px;color:var(--text-2)}
.bul li+li{margin-top:6px}
.bul li::before{content:"";position:absolute;left:2px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.src-note{font-size:13px;color:var(--muted);margin-top:16px}
.alert{background:var(--red-50);color:var(--red);border-radius:10px;padding:12px 16px;font-weight:700;margin-bottom:16px;font-size:14px}
.apply-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-2)}
.apply-label{font-size:13px;color:var(--muted);font-weight:600}
.apply-dl{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:800;color:var(--navy);margin-bottom:6px;font-variant-numeric:tabular-nums}

/* ---------- 푸터 ---------- */
.ft{background:var(--surface);border-top:1px solid var(--line);padding:40px 0 32px;color:var(--muted);font-size:13.5px}
.ft-in{display:grid;grid-template-columns:1fr 1.4fr;gap:24px 48px}
.logo-ft{font-size:17px}.logo-ft .logo-mark{width:28px;height:28px}
.ft-in>div p{margin-top:8px}
.ft-notes li{position:relative;padding-left:12px}
.ft-notes li+li{margin-top:4px}
.ft-notes li::before{content:"·";position:absolute;left:0}
.ft-copy{grid-column:1/-1;border-top:1px solid var(--line-2);padding-top:16px;font-size:12.5px}

/* ---------- 반응형 ---------- */
@media (max-width:1024px){
  .layout-home{grid-template-columns:minmax(0,1fr) 300px;gap:24px}
  .layout-detail{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
  .rrow{grid-template-columns:minmax(0,1fr) 36px}
  .rrow-acts{grid-column:1;grid-row:2;justify-content:flex-start;max-width:none}
  .fav{grid-column:2;grid-row:1}
}
@media (max-width:900px){
  .ftools{grid-template-columns:minmax(0,1fr)}
  .layout-home,.layout-detail,.layout-list{grid-template-columns:minmax(0,1fr)}
  .layout-detail .col-side,.col-filter{position:static}
  .layout-detail .col-side{order:-1}
  .fpanel>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:14px 18px;font-weight:700;color:var(--navy)}
  .fpanel>summary::-webkit-details-marker{display:none}
  .fpanel>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
  .fpanel[open]>summary::after{transform:rotate(-135deg)}
  .fpanel[open]>summary{border-bottom:1px solid var(--line-2)}
  .catnav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .catnav .chip{width:auto;border-color:var(--line);background:var(--surface)}
  .fpanel.static .fpanel-body{flex-direction:column;gap:12px}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  .layout-home,.layout-list,.layout-detail{padding:20px 16px 56px}
  .hd-in{gap:12px;height:auto;flex-wrap:wrap;padding-top:10px}
  .logo{order:1}
  .hd-cta{order:2;margin-left:auto}
  .gnb{order:3;width:100%;flex:none;height:44px;overflow-x:auto;scrollbar-width:none;margin:0 -8px}
  .gnb a{padding:0 10px}
  .gnb a[aria-current="page"]::after{left:10px;right:10px}
  .hero{padding:32px 0 28px}
  .ftools-home{padding-top:24px}
  .hero h1{font-size:28px}
  .hero-sub{font-size:15px}
  .br-m{display:inline}
  .hsearch-box{padding-left:14px}
  .hsearch-box .btn{padding:0 16px}
  .phead{padding:20px 0}
  .phead h1{font-size:23px}
  .jrow{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px}
  .jrow .avatar{width:40px;height:40px;font-size:15px}
  .jrow-side{grid-column:2;grid-row:1;justify-self:end;position:absolute;top:16px;right:16px}
  .jrow-main{padding-right:88px}
  .rrow{padding:16px}
  .urow{grid-template-columns:1fr;gap:4px;padding:16px}
  .listbar{flex-direction:column;align-items:stretch}
  .search-inline{max-width:none;flex:none;width:100%}
  .listbar-right{justify-content:space-between}
  .dl-grid{grid-template-columns:1fr}
  .dl-grid div:nth-child(2){border-top:1px solid var(--line-2)}
  .dhead .avatar{width:52px;height:52px;font-size:20px}
  .dhead h1{font-size:21px}
  .tool-panel.big{padding:24px}
  .tool-feats{grid-template-columns:1fr}
  .ft-in{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
@media print{.hd,.ft,.btns,.fav,.col-filter,.apply-card .btn{display:none}.layout-detail,.layout-list,.layout-home{display:block}}

/* ---------- 계산·조회 도구 ---------- */
.ftool-law{font-size:12.5px;color:var(--muted);font-weight:600}
.calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.label{font-size:13.5px;font-weight:700;color:var(--navy)}
.hint{font-size:13px;color:var(--muted);margin:0}
.calc input[type=text],.calc input[type=number],.calc input[type=date],.calc input[type=search],.calc input[type=datetime-local],.calc input[type=tel],.calc .money{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;width:100%;font-variant-numeric:tabular-nums}
.calc .money{text-align:right}
.calc input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-100)}
.calc input[readonly]{background:var(--surface-2);color:var(--text-2)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{height:40px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.seg button:hover{border-color:var(--blue-100);background:var(--blue-50);color:var(--blue)}
.seg button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;color:var(--text);cursor:pointer}
.check input{margin-top:4px;width:16px;height:16px;flex:none}
.form-error{color:var(--red);font-weight:700;font-size:14px}
.result-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-2)}
.result-big{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.25}
.result-dl{margin:0;display:flex;flex-direction:column}
.result-dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line-2);font-size:13.5px}
.result-dl dt{color:var(--muted)}
.result-dl dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.dtable{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
.dtable th,.dtable td{padding:10px 12px;border-top:1px solid var(--line-2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.dtable thead th{border-top:0;background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:700}
.dtable th:first-child,.dtable td:first-child{text-align:left}
.dtable tbody th{font-weight:700;color:var(--navy)}
.plist{display:flex;flex-direction:column;gap:14px}
.pitem{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.pitem .table-wrap{border-radius:10px}
.ptable{min-width:560px}
.ptable td.txt{white-space:normal;text-align:left;min-width:220px;color:var(--text-2);line-height:1.5}
.ptable td:not(.txt){width:90px}
.ptable th.hl{color:var(--blue)}
.ptable td.hit{font-weight:800;color:var(--navy)}
.ptable .red{display:block;color:var(--red);font-size:12.5px;font-weight:700}
.ptable tr.sub-h td{background:var(--surface-2);font-weight:700;color:var(--navy);white-space:normal;text-align:left}
.htable{min-width:0}
.htable td,.htable th{text-align:center}
.htable td:first-child{text-align:left}
.htable input.n{height:34px;width:96px;text-align:right;padding:0 8px}
.htable tr.we td:first-child{color:var(--red)}
.htable tr.off td{opacity:.45}
@media (max-width:720px){
  .grid3{grid-template-columns:minmax(0,1fr)}
  .calc{padding:16px}
  .result-big{font-size:24px}
}
@media (max-width:900px){
  .layout-calc .col-side{order:0}
}
@media (max-width:720px){
  .ptable{min-width:0}
  .ptable thead tr,.ptable tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .ptable thead th:first-child{display:none}
  .ptable th,.ptable td:not(.txt){text-align:center;width:auto}
  .ptable td.txt,.ptable tr.sub-h td{grid-column:1/-1;min-width:0;border-top:1px solid var(--line-2)}
  .ptable td:not(.txt){border-top:0;padding-top:4px}
  .pitem{padding:16px}
}

/* ---------- 서식 작성기 (A4 문서) ---------- */
.form-wrap{padding-top:8px;padding-bottom:48px}
.form-bar{position:sticky;top:calc(var(--hd-h) + 8px);z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--bg);padding:10px 0;margin-bottom:6px}
.form-save{font-size:13px;color:var(--muted);margin-left:auto}
.paper{--ink:#111;--pl:#9aa3ad;--ed:#F3F6FA;background:#fff;color:var(--ink);width:100%;max-width:794px;margin:14px auto 0;padding:40px 44px;box-shadow:var(--shadow-2);border-radius:4px;font-size:13px;line-height:1.5;color-scheme:light}
.paper-h{display:grid;grid-template-columns:1fr auto;grid-template-areas:"co appr" "t appr";gap:6px 16px;align-items:end;margin-bottom:14px}
.paper-co{grid-area:co;font-size:12.5px}
.paper-t{grid-area:t;color:var(--ink);font-size:22px;font-weight:800;letter-spacing:.02em;margin:0}
.paper .appr{grid-area:appr;border-collapse:collapse;font-size:12px}
.paper .appr th,.paper .appr td{border:1px solid var(--ink);text-align:center;padding:2px 6px;font-weight:600;min-width:58px}
.paper .appr .appr-h{min-width:0;width:22px;padding:2px;line-height:1.3}
.paper .appr-sign{height:48px}
.sec-t{color:var(--ink);font-size:14px;font-weight:800;margin:16px 0 6px;padding-left:8px;border-left:3px solid var(--ink)}
.ftab,.gtab{width:100%;border-collapse:collapse;table-layout:fixed}
.ftab th,.ftab td,.gtab th,.gtab td{border:1px solid var(--ink);padding:4px 6px;vertical-align:middle;word-break:keep-all;overflow-wrap:anywhere}
.ftab th{background:#F1F3F5;font-weight:700;text-align:center;font-size:12.5px}
.ftab col.c-l{width:16%}
.gtab thead th{background:#F1F3F5;font-weight:700;text-align:center;font-size:12.5px}
.gtab td.num{text-align:center;width:40px;color:#444}
.gtab td.sign{min-width:70px}
.gtab tr.grp th{background:#F7F8FA;text-align:left;font-weight:800}
.ctab td.item{line-height:1.45}
.ctab td.opt{text-align:center;padding:0}
.ctab td.opt label{display:flex;align-items:center;justify-content:center;min-height:30px;cursor:pointer}
.ctab td.opt input{width:16px;height:16px;margin:0;accent-color:#111}
.ed{min-height:22px;padding:1px 4px;border-radius:3px;background:var(--ed);outline:none;white-space:pre-wrap;cursor:text}
.ed:focus{background:#E6F0FD;box-shadow:inset 0 0 0 1px #1F6FD1}
.ed:empty::before{content:attr(data-ph);color:var(--pl)}
.ed.box{min-height:90px;border:1px solid var(--ink);border-radius:0;padding:6px 8px;background:var(--ed)}
.ed.box.tall{min-height:220px}
.paper-co .ed{display:inline-block;min-width:220px;font-weight:700}
.paper .fi{width:100%;font:inherit;font-size:13px;color:var(--ink);background:var(--ed);border:0;border-radius:3px;padding:2px 4px;min-height:24px}
.paper .radios{display:flex;flex-wrap:wrap;gap:4px 14px}
.paper .radios label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.paper .radios input{accent-color:#111;margin:0}
.paper-note{font-size:12px;color:#333;margin:8px 0 0;padding:6px 8px;background:#F7F8FA;border:1px solid #D5D9DE;white-space:pre-line}
.paper-list{margin:4px 0 0;padding-left:22px;font-size:12.5px}
.paper-foot{margin-top:14px;font-size:11px;color:#555;text-align:right}
.rowbtns{margin:6px 0 0;display:flex;gap:6px}
@media (max-width:720px){
  .paper{padding:20px 14px;font-size:12.5px}
  .paper-h{grid-template-columns:1fr;grid-template-areas:"co" "t" "appr"}
  .ftab col.c-l{width:26%}
  .form-bar .btn{flex:1 1 auto}
  .form-save{width:100%;margin:0}
}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff}
  .no-print,.hd,.ft,.skip{display:none !important}
  main,.form-wrap{padding:0 !important;max-width:none}
  .paper{box-shadow:none;margin:0;padding:0;max-width:none;border-radius:0}
  .paper .ed,.paper .fi{background:transparent !important;box-shadow:none}
  .ed:empty::before{content:""}
  .paper .fi{appearance:none;-webkit-appearance:none}
  .gtab tr,.ftab tr{break-inside:avoid}
  .sec-t{break-after:avoid}
}

/* ---------- 조회 도구 공통 ---------- */
.lawbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.lawbox h3{font-size:15px}
.lawtext{white-space:pre-line;font-size:14px;color:var(--text-2);line-height:1.7}
.lawtext .hit{background:var(--orange-50);color:var(--text)}
.src-line{font-size:12.5px;color:var(--muted)}
.role-tabs{display:flex;flex-wrap:wrap;gap:6px}
.stack{display:flex;flex-direction:column;gap:14px}
.dlist{display:flex;flex-direction:column;gap:10px}
.dlist li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.dlist .sub{padding-left:14px;color:var(--text-2);font-size:13.5px}
.pick{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto;padding-right:4px}
.pick label{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-size:14px}
.pick label:has(input:checked){border-color:var(--blue);background:var(--blue-50)}
.pick input{margin-top:4px;flex:none}

.paper .appr th .ed.ap{background:transparent;min-height:0;padding:0;text-align:center}
.paper .appr th .ed.ap:focus{background:#E6F0FD}
.ctab td.item .ed{background:transparent}
.ctab td.item .ed:focus,.ctab td.item .ed:empty{background:var(--ed)}
@media print{body.printing-duty main>*:not(#dPaper){display:none !important}}
.print-only{display:none}
@media print{body.printing-duty .print-only{display:block}}
.dutytab td.duty{white-space:pre-line;font-size:12px;line-height:1.5}
.dutytab td.basis{font-size:11.5px;text-align:center}
.dutytab th{text-align:center}

/* ---------- 주기업무 달력 ---------- */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.grow{flex:1}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:13.5px;font-weight:600;color:var(--blue);cursor:pointer}
.linkbtn:hover{text-decoration:underline}
.task-group{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.tasks{display:flex;flex-direction:column;gap:10px}
.task{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.task.off{opacity:.55}
.task-top{display:flex;gap:12px;align-items:flex-start}
.task-top .switch{margin-top:3px}
.task-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.task-when{font-size:13px;font-weight:700;color:var(--blue);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.task-title{font-size:15.5px}
.task-basis{font-size:13px;color:var(--text-2)}
.task-cond{font-size:12.5px;color:var(--orange);font-weight:600}
.task-memo{font-size:13px;color:var(--muted)}
.task-links{display:flex;flex-wrap:wrap;gap:14px;font-size:13.5px;font-weight:600;margin-top:2px}
.task-done{display:flex;align-items:center;gap:6px;flex:none;font-size:12.5px;font-weight:700;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer;white-space:nowrap}
.task-done.late{color:var(--red);border-color:var(--red);background:var(--red-50)}
.task-done input{margin:0}
.month-nav{display:flex;align-items:center;gap:10px}
.month-nav strong{font-size:17px;color:var(--navy);min-width:120px;text-align:center}
.cal{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cal-h,.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-h span{padding:8px;text-align:center;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--surface-2)}
.cal-c{min-height:96px;border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-c:nth-child(7n+1){border-left:0}
.cal-x{background:var(--surface-2)}
.cal-d{font-size:12px;font-weight:700;color:var(--text-2)}
.cal-sun .cal-d{color:var(--red)}
.cal-today{background:var(--blue-50)}
.cal-today .cal-d{color:var(--blue)}
.cal-t{display:block;width:100%;text-align:left;border:0;border-radius:5px;padding:2px 5px;font:inherit;font-size:11.5px;line-height:1.35;background:var(--blue-50);color:var(--navy);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-t.f-quarterly,.cal-t.f-bimonthly{background:#E7F6F1;color:#0B6B53}
.cal-t.f-semiannual{background:var(--orange-50);color:#8A4A0B}
.cal-t.f-yearly{background:#F1ECFB;color:#4B2E8A}
.cal-t.done{text-decoration:line-through;opacity:.6}
.ytable{min-width:900px}
.ytable td,.ytable th{text-align:center;padding:8px 6px;font-size:12.5px}
.ytable td.yt{text-align:left;white-space:normal;min-width:240px;font-weight:600;color:var(--text)}
.ytable td.on{background:var(--blue-50);color:var(--blue);font-weight:800}
.dlg{border:0;border-radius:18px;padding:0;max-width:640px;width:calc(100% - 32px);box-shadow:var(--shadow-2);background:var(--surface);color:var(--text)}
.dlg::backdrop{background:rgba(10,20,40,.45)}
.dlg h2{font-size:18px}
.dlg input[type=time],.ta{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;width:100%}
.ta{height:auto;padding:10px 12px;resize:vertical}
.dlg .sort{width:100%}
@media (max-width:720px){
  .cal-c{min-height:64px;padding:2px}
  .cal-t{font-size:10.5px;padding:1px 3px}
  .task-top{flex-wrap:wrap}
  .task-done{margin-left:46px}
}
@media print{
  body.printing-sched .col-side,body.printing-sched .phead,body.printing-sched .calc{display:none !important}
  body.printing-sched .layout-detail{display:block}
  body.printing-sched .ytable{min-width:0;font-size:10px}
  body.printing-sched .table-wrap{overflow:visible;border:0}
}

.etable{min-width:0}
.etable td.txt{white-space:normal;text-align:left;line-height:1.55}
.etable td.nowrap{white-space:nowrap}
.etable td:last-child{min-width:150px}
.etable .half{display:block;margin-top:4px;color:var(--red);font-weight:700;font-size:12.5px}
details.lawbox summary{cursor:pointer}
.rtable{min-width:640px}
.rtable td.txt{white-space:normal;text-align:left;line-height:1.5}
.rtable td.period{font-weight:800;color:var(--navy);white-space:normal;min-width:110px;text-align:left}
.rtable td.basis{font-size:12.5px;color:var(--muted);min-width:140px}

/* ---------- 법령 순서 카탈로그 ---------- */
.cat-act{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.cat-act>h2{font-size:17px}
.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cat-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.cat-box h3{font-size:15px}
.cat-list{display:flex;flex-direction:column;gap:8px}
.cat-i{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.cat-i .badge{flex:none;margin-top:2px}
.cat-i div{display:flex;flex-direction:column;min-width:0}
.cat-i a{font-weight:700}
.cat-i.st-planned span:first-child+div>span:first-child,.cat-i.st-skip div>span:first-child{color:var(--text-2)}
.cat-basis{font-size:12.5px;color:var(--muted)}
.cat-note{font-size:12.5px;color:var(--text-2)}
.ftool-more{border-style:dashed}
@media (max-width:900px){.cat-grid{grid-template-columns:minmax(0,1fr)}}
.task-done.unsure{color:#8A4A0B;border-color:var(--orange);background:var(--orange-50)}
@media print{.ed.box{min-height:60px}.ed.box.tall{min-height:130px}.paper{font-size:12px}.sec-t{margin:10px 0 4px}.ftab th,.ftab td,.gtab th,.gtab td{padding:3px 5px}}
@media print{.paper{font-size:11.5px;line-height:1.4}.ed.box.tall{min-height:110px}.ed.box{min-height:50px}.ctab td.opt label{min-height:20px}.paper-h{margin-bottom:8px}.paper .appr-sign{height:40px}.ed{min-height:18px}.paper-note{margin-top:6px;padding:4px 6px}}
@media print{.paper input[type=date][data-empty]{color:transparent}.paper input[type=date]::-webkit-calendar-picker-indicator{display:none}}
.cat-grid{align-items:start}
/* ---------- 뇌심혈관 ---------- */
.print-doc{display:none}
@media print{body.pr-survey #pSurvey,body.pr-result #pResult{display:block}}
.result-big.lv0{color:var(--green)}.result-big.lv1{color:var(--orange)}.result-big.lv2{color:var(--red)}.result-big.lv3{color:#7B2FA8}
.calc h2.h-sm{margin-top:4px;padding-top:12px;border-top:1px solid var(--line-2)}
.calc input[type=number]{-moz-appearance:textfield}
/* ---------- 안전보건표지 · 자료실 ---------- */
.sg-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.sg-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}
.sg-img{display:block;background:#fff;border-radius:10px;padding:8px}
.sg-img img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.sg-meta{display:flex;align-items:center;gap:6px;margin-top:4px}
.sg-no{font-weight:800;color:var(--blue);font-size:13px;font-variant-numeric:tabular-nums}
.sg-ko{font-size:14.5px;color:var(--navy);line-height:1.4}
.sg-en{font-size:12.5px;color:var(--muted);line-height:1.35}
.sg-links{display:flex;gap:12px;font-size:13px;font-weight:700;margin-top:4px}
.sg-lang{min-width:640px}
.sg-lang td,.sg-lang th{text-align:left}
.lb-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.lb-list li{display:flex;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line-2);font-size:14.5px;flex-wrap:wrap}
.lb-list li:first-child{border-top:0}
.lb-list li a{font-weight:600;color:var(--text);flex:1;min-width:200px}
.lb-list li a:hover{color:var(--blue)}
@media (max-width:720px){.sg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.seltable{min-width:720px}
.seltable th,.seltable td{text-align:left;vertical-align:top}
.seltable tbody th{white-space:nowrap}
.seltable td.txt{white-space:normal;line-height:1.55;font-size:13.5px;color:var(--text-2)}
.seltable td.n{white-space:normal;font-weight:700;min-width:90px}
.qlist{margin:8px 0 0;padding-left:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--text-2);line-height:1.55}
.qlist li{list-style:none}
.itable{min-width:760px}
.itable td,.itable th{text-align:left;white-space:normal}
.itable tr.late td{background:var(--red-50)}
.itable tr.soon td{background:var(--orange-50)}
@media print{body.pr-inspect #iPaper{display:block}}
/* 폭염 체감온도 기록 */
.htable{min-width:820px}
.htable td,.htable th{text-align:left;white-space:normal}
.htable tr.late td{background:var(--red-50)}
.heat-judge{padding:10px 12px;border-radius:10px;background:var(--gray-50,#f5f5f4);font-size:14px}
.heat-judge.lv1{background:var(--orange-50);}
.heat-judge.lv2{background:var(--red-50);}
.heat-b.lv0{background:var(--gray-50,#f5f5f4)}
.heat-b.lv1{background:var(--orange-50)}
.heat-b.lv2{background:var(--red-50);color:var(--red)}
.heat-acts{border:0;padding:0;margin:0;display:grid;gap:4px;min-width:0}
.heat-acts #hActs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:4px 16px}
@media print{body.pr-heat #hPaper{display:block}}
/* 서식·자료 주제 칩: 줄바꿈 배치, 모바일은 가로 스크롤 */
.topicnav{flex-wrap:wrap;gap:6px}
.topicnav .chip{height:32px;font-size:13px}
.more-wrap{margin-top:12px}
@media (max-width:900px){.topicnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}
/* 서식·별표 상세 */
.art{border-top:1px solid var(--line-2);padding:14px 0}
.art:first-child{border-top:0;padding-top:0}
.art h3{font-size:15px;margin-bottom:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.art p{font-size:14px;line-height:1.75;color:var(--text);margin:4px 0;white-space:pre-line}
.art mark,.src-line mark{background:var(--orange-50);color:inherit;font-weight:700;padding:0 2px;border-radius:3px}
.art-src{font-size:13px;font-weight:500}
.art-more summary{cursor:pointer;color:var(--blue);font-size:13px;margin-top:6px}
.art-full{margin-top:8px;padding:12px 14px;background:var(--surface-2);border-radius:8px}
.rel-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rel-list a{display:flex;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--line-2);color:var(--text);text-decoration:none;flex-wrap:wrap}
.rel-list li:first-child a{border-top:0}
.rel-list a:hover strong{color:var(--blue)}
.rel-list .muted{font-size:12px;margin-left:auto}
.rrow-title a{color:inherit;text-decoration:none}
.rrow-title a:hover{color:var(--blue);text-decoration:underline}
.fav-big[aria-pressed="true"]{color:var(--orange,#d86f0c)}
/* 상황별로 찾기 */
.sit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.sit{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.sit h3{font-size:16px;margin:0}
.sit-sub{font-size:13px;color:var(--muted);margin:0 0 4px}
.sit ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;flex:1}
.sit li a{display:block;padding:6px 0;font-size:14px;color:var(--text);text-decoration:none;border-top:1px solid var(--line-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sit li:first-child a{border-top:0}
.sit li a:hover{color:var(--blue)}
.sit-all{font-size:13px;font-weight:600;margin-top:6px;color:var(--blue);text-decoration:none}
@media (max-width:900px){.sit-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sit-grid{grid-template-columns:1fr}}
.sit,.sit ul,.sit li{min-width:0}
.sit ul{align-content:start}
.dl-size{font-weight:400;opacity:.75;margin-left:6px;font-size:12px}
.dl-chip{min-width:48px;font-weight:700;letter-spacing:.02em}
/* 안전보건 자료실(공단 공공누리) */
.km-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.km-q{flex:1;min-width:240px;max-width:none}
.km-filters{display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px}
.km-filters .chips{flex-wrap:wrap;gap:6px}
.km-filters .chip{height:32px;font-size:13px}
.km-toggles{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.km-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.km-card a{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;color:var(--text);text-decoration:none;transition:box-shadow .15s,transform .15s}
.km-card a:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}
.km-th{position:relative;display:block;aspect-ratio:4/3;background:var(--surface-2);overflow:hidden}
.km-th img{width:100%;height:100%;object-fit:cover;display:block}
.km-shape{position:absolute;left:8px;top:8px;background:rgba(23,54,93,.88);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}
.km-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1}
.km-t{font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.km-m{display:flex;gap:6px;flex-wrap:wrap}
.km-kogl,.km-la{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;border:1px solid var(--line)}
.km-kogl.k1,.km-kogl.k2{color:#0E8A6A;border-color:#0E8A6A55}
.km-kogl.k3,.km-kogl.k4{color:var(--muted)}
.km-la{color:var(--blue);border-color:var(--blue-50)}
.km-d{font-size:12px;color:var(--muted);margin-top:auto}
.km-row{display:grid;gap:10px}
.km-row-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.km-row-h h3{font-size:16px;margin:0}
.km-strip{grid-template-columns:repeat(6,minmax(0,1fr))}
.km-strip .km-t{font-size:13px}
.km-pager{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.km-pg{min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);background:var(--surface);border-radius:8px;cursor:pointer;font-weight:600;color:var(--text)}
.km-pg.on{background:var(--navy,#17365D);color:#fff;border-color:transparent}
.km-gap{align-self:center;color:var(--muted)}
.km-loading{grid-column:1/-1;color:var(--muted);padding:40px 0;text-align:center}
@media (max-width:1100px){.km-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.km-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.km-grid,.km-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.km-filters .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}
.km-filters,.km-filters .fgroup,.km-filters .chips{min-width:0}
#kmAll,#kmSeason{min-width:0}
/* 안전뉴스 */
.nlist,.alist{list-style:none;margin:0;padding:0}
.nrow{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--line-2)}
.nrow:first-child{border-top:0}
.nrow time{font-size:13px;color:var(--muted);padding-top:2px}
.nrow a{font-weight:700;color:var(--text);text-decoration:none;line-height:1.5}
.nrow a:hover{color:var(--blue)}
.nrow p{margin:4px 0 0;font-size:14px;color:var(--text-2)}
.nrow .nmeta{font-size:12px;color:var(--muted)}
.alist li{font-size:13px;line-height:1.6;padding:10px 0;border-top:1px solid var(--line-2)}
.alist li:first-child{border-top:0}
@media (max-width:560px){.nrow{grid-template-columns:1fr;gap:4px}}
/* 사고사망 속보 동향 */
.acc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.acc-head .h-sm{margin:0}
.acc-sum,.acc-days,.arows{list-style:none;margin:0;padding:0}
.acc-sum{margin-bottom:10px}
.acc-sum a{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 6px;margin:0 -6px;border-radius:8px;font-size:13.5px;color:inherit}
.acc-k{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-bar{height:6px;border-radius:3px;background:var(--line-2);overflow:hidden}
.acc-bar i{display:block;height:100%;min-width:6px;border-radius:3px;background:var(--red)}
.acc-n{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.acc-days li{border-top:1px solid var(--line-2)}
.acc-days a{display:grid;grid-template-columns:3.6em minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px 6px;margin:0 -6px;border-radius:8px;color:inherit}
.acc-sum a:hover,.acc-days a:hover{background:var(--surface-2);text-decoration:none}
.acc-days a:hover .acc-t{color:var(--text)}
.acc-days a:hover .acc-go{color:var(--blue)}
.acc-days time{font-size:13.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:24px;white-space:nowrap}
.acc-days time span{color:var(--muted);font-weight:500}
.acc-b{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.tag-acc{background:var(--red-50);color:var(--red);font-weight:700}
.acc-t{font-size:13px;line-height:1.5;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.acc-go{font-size:18px;line-height:24px;color:var(--muted)}
.acc-rest{font-size:12.5px;color:var(--muted);padding-top:8px;border-top:1px solid var(--line-2)}
.acc-all{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;margin-top:10px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-weight:700;color:var(--text)}
.acc-all:hover{background:var(--surface-2);color:var(--blue);text-decoration:none}
.side-box p.acc-src{margin-top:10px;font-size:12px;color:var(--muted)}
/* 사고사망 속보 목록 페이지 */
.acc-chips{margin-bottom:14px}
.arows{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.arow{padding:16px 20px;border-top:1px solid var(--line-2);scroll-margin-top:calc(var(--hd-h) + 16px)}
.arow:first-child{border-top:0}
.arow:target{background:var(--red-50);box-shadow:inset 3px 0 0 var(--red)}
.arow:first-child:target{border-radius:var(--r-lg) var(--r-lg) 0 0}
.arow-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.arow-h time{font-size:13.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.arow-h time span{color:var(--muted);font-weight:500}
.arow-t{font-size:15px;line-height:1.65;color:var(--text)}
.arow-f{margin-top:8px;font-size:13px}
.acc-btns{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:560px){.arow{padding:14px 16px}}

.cm-paused{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:8px;background:var(--line-2);color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}
/* 서식 자동화 */
.fprof,.fauto{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;margin:0 0 14px}
.fprof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-top:10px}
.fauto{border-color:var(--blue-50);background:linear-gradient(0deg,var(--surface),var(--surface)),var(--blue-50)}
.fauto-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:end;padding:10px 0;border-top:1px solid var(--line-2)}
.fauto-row:first-of-type{border-top:0}
.fauto-row .hint{grid-column:1/-1;margin:0;font-size:12.5px}
.fauto-row select{width:100%}
.fauto-one{display:block;font-weight:600;padding:8px 0}
.paper-next{font-size:12.5px;font-weight:600;margin:8px 0 0;color:#17365D}
.paper-sum{font-size:12.5px;font-weight:700;margin:4px 0 0;text-align:right}
@media (max-width:700px){.fprof-grid{grid-template-columns:1fr 1fr}.fauto-row{grid-template-columns:1fr}}
@media print{.paper-next:empty,.paper-sum:empty{display:none}}
@media print{.ed.box.multi{font-size:10.5px;line-height:1.32}.gtab .ed.multi{font-size:10.5px;line-height:1.3}.gtab td{padding-top:2px;padding-bottom:2px}.paper-next{margin-top:4px}}

/* ---------- 법령 (v2.1) ---------- */
.lhero{padding-bottom:28px}
.lsearch{margin-top:20px;max-width:760px;position:relative}
.lsearch .hsearch-box{background:var(--surface)}
.lsr{margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:8px;max-height:480px;overflow:auto}
.lsr-n{font-size:13px;color:var(--muted);padding:4px 8px}
.lsr li a{display:block;padding:10px 10px;border-radius:10px;color:var(--text)}
.lsr li a:hover{background:var(--blue-50);text-decoration:none}
.lsr-s{display:block;font-size:13px;color:var(--text-2);margin-top:2px}
.lsr mark,.lbody mark.lhit{background:#FFE58A;color:inherit;border-radius:2px;padding:0 1px}
.lt-law{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-50);border-radius:6px;padding:1px 7px;margin-right:2px;vertical-align:1px}
.lfam{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding-top:28px}
.lfam-g .h-sm{margin-bottom:10px}
.lcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lfam-g:last-child .lcards{grid-template-columns:1fr}
.lcard{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);box-shadow:var(--shadow-1);transition:transform .18s,box-shadow .18s,border-color .18s}
.lcard:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--blue)}
.lcard strong{font-size:16.5px;color:var(--navy)}
.lcard-lv{align-self:flex-start;font-size:11.5px;font-weight:700;color:var(--navy);border:1px solid var(--line);border-radius:6px;padding:1px 7px}
.lcard-m,.lcard-n{font-size:13px;color:var(--muted)}
.lcard-go{margin-top:6px;font-weight:700;font-size:14px;color:var(--blue)}
.lfam .hint{margin-top:10px}
.ltopics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ltopic{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px}
.ltopic h3{font-size:15.5px}
.ltopic>p{font-size:13px;color:var(--muted);margin:2px 0 8px}
.ltopic li a{display:block;padding:5px 0;font-size:14px;color:var(--text);line-height:1.45}
.ltopic li a:hover{color:var(--blue);text-decoration:none}
.ltopic li+li{border-top:1px dashed var(--line-2)}
/* 법령 전문 */
.lphead h1{font-size:28px}
.lsibs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.lsib{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-2)}
.lsib:hover{text-decoration:none;border-color:var(--blue);color:var(--blue)}
.lsib.on{background:var(--blue);border-color:var(--blue);color:#fff}
.lmeta{font-size:14px;color:var(--text-2)}
.lwrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;padding-top:24px;padding-bottom:48px;align-items:start}
.ltoc{position:sticky;top:calc(var(--hd-h) + 12px);max-height:calc(100vh - var(--hd-h) - 24px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:6px 6px 10px}
.ltoc-box>summary{cursor:pointer;font-weight:700;color:var(--navy);padding:10px 12px;list-style:none}
.ltoc-box>summary::-webkit-details-marker{display:none}
.ltoc ol{margin:0;padding:0;list-style:none}
.ltoc li a{display:block;padding:5px 12px;font-size:13.5px;color:var(--text-2);border-radius:8px;line-height:1.4}
.ltoc li a:hover{background:var(--blue-50);color:var(--blue);text-decoration:none}
.ltoc .lv0 a{font-weight:800;color:var(--navy);margin-top:6px}
.ltoc .lv1 a{font-weight:700;color:var(--navy)}
.ltoc .lv2 a{padding-left:24px}
.ltoc .lv3 a{padding-left:36px;font-size:13px}
.lbyl{margin:8px 6px 0;border-top:1px solid var(--line-2);padding-top:6px}
.lbyl summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--navy);padding:6px 6px}
.lbyl li{font-size:13px;padding:4px 6px;color:var(--text-2)}
.lbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;position:sticky;top:var(--hd-h);z-index:5;background:var(--bg);padding:8px 0 10px}
.lbar .search-inline{flex:1;min-width:220px}
.ljump{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text-2)}
.ljump input{width:64px;height:34px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font:inherit;background:var(--surface);color:var(--text);text-align:center}
.lcount{font-size:14px;color:var(--text-2);margin:4px 0 8px}
.lhead{margin:28px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--navy);font-size:18px}
.lhead.lh0{font-size:21px;color:var(--blue)}
.lhead.lh2{font-size:16px;border-bottom:1px solid var(--line);color:var(--text-2)}
.lhead.lh3{font-size:15px;border-bottom:1px dashed var(--line)}
.lart{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:10px 0;scroll-margin-top:calc(var(--hd-h) + 70px);transition:box-shadow .3s,border-color .3s}
.lart h3{font-size:16px;margin-bottom:6px}
.lart-no{color:var(--navy)}
.lart-t{color:var(--navy)}
.lart.del{padding:10px 18px;background:var(--surface-2)}
.lart.del h3{font-size:14px;margin:0}
.lart-b p{font-size:15px;line-height:1.75;color:var(--text);margin:2px 0}
.lart-b p.ho{padding-left:1.2em}
.lart-b p.mok{padding-left:2.4em}
.lart-b p.sub{padding-left:3.4em}
.lart-b p.sub2{padding-left:4.4em}
.lart-b .amd{color:var(--muted);font-size:12.5px}
.xref{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--blue) 40%,transparent);text-underline-offset:3px}
.xbyl{font-weight:600}
.lrev{margin-top:10px;padding:8px 10px;background:var(--blue-50);border-radius:8px;font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.lrev-l{font-weight:700;color:var(--navy);font-size:12.5px}
.lrev-g b{color:var(--text-2);font-weight:700}
.lart-f{display:flex;gap:14px;justify-content:flex-end;margin-top:8px}
.lnk{font:inherit;font-size:12.5px;color:var(--muted);background:none;border:0;padding:0;cursor:pointer}
.lnk:hover{color:var(--blue);text-decoration:underline}
.lflash{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-100)}
@media (max-width:960px){
  .lwrap{grid-template-columns:minmax(0,1fr);gap:12px}
  .ltoc{position:static;max-height:none}
  .lfam{grid-template-columns:1fr}
  .ltopics{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .lcards,.ltopics{grid-template-columns:1fr}
  .lart{padding:14px}
  .lart-b p{font-size:14.5px}
  .lart-b p.mok{padding-left:1.8em}.lart-b p.sub{padding-left:2.6em}.lart-b p.sub2{padding-left:3.2em}
  .lphead h1{font-size:23px}
  .ljump input{width:52px}
}
@media print{.ltoc,.lbar,.lart-f,.lsibs{display:none}.lwrap{display:block}.lart{border:0;padding:6px 0;break-inside:avoid-page}}

/* ---------- 알림바·내 데이터 (v2.1) ---------- */
/* ---------- 서식: 결재란·사진대지·집계 (v2.1) ---------- */
.paper .paper-appr{grid-area:appr;justify-self:end}
.paper-photos{margin-top:18px}
.paper-photos .ad-photos{margin-top:0}
.ctally{font-size:12px;color:#333;margin:4px 0 0;text-align:right}
.ctally b{font-weight:800}
.ctally-miss{color:#C8352B}.ctally-ok{color:#0E8A6A}
.ctab .item .ad-cam{float:right;margin:1px 0 0 6px}
@media print{.paper-photos:not(.has-photos){display:none}.paper-photos.has-photos{break-before:page;margin-top:0}.ctally-miss{color:#111}}
@page{size:A4;margin:12mm 12mm 14mm;@bottom-center{content:counter(page) " / " counter(pages);font-size:9pt;color:#666}}
.appr-panel{background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--r);padding:12px 14px;margin:8px 0}
.appr-panel-l{font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:6px}
.appr-panel .ad-appr{margin-left:0}
.paper .ad-appr{grid-area:appr;justify-self:end}

/* ---------- 무료 도구 카드 그리드 (v2.1) ---------- */
.tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tcard{--k:var(--blue);--k-bg:var(--blue-50);position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);box-shadow:var(--shadow-1);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.tcard:hover,.tcard:focus-visible{text-decoration:none;transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,36,70,.12),0 2px 6px rgba(16,36,70,.06);border-color:color-mix(in srgb,var(--k) 55%,var(--line))}
.tcard.k-calc{--k:var(--green);--k-bg:color-mix(in srgb,var(--green) 12%,var(--surface))}
.tcard.k-find{--k:var(--orange);--k-bg:var(--orange-50)}
.tcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tbadge{font-size:12px;font-weight:800;letter-spacing:-.01em;color:var(--k);background:var(--k-bg);padding:3px 9px;border-radius:999px}
.tcard-sub{font-size:12px;color:var(--muted);font-weight:600}
.tcard-t{font-size:17.5px;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1.35}
.tcard-d{font-size:14px;color:var(--text-2);line-height:1.55;flex:1}
.tcard-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line-2)}
.tcard-law{font-size:12px;color:var(--muted);font-weight:600;line-height:1.4}
.tcard-arr{width:20px;height:20px;flex:none;fill:none;stroke:var(--k);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.tcard:hover .tcard-arr{transform:translateX(3px)}
.tkinds{display:flex;flex-wrap:wrap;gap:8px}
.tbadge-l{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-2)}
.tbadge-l span{font-size:12px;color:var(--muted)}
.tbadge-l:hover{text-decoration:none;border-color:var(--blue);color:var(--blue)}
@media (max-width:1023px){.tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.tgrid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.tcard:hover{transform:none}}
/* ---------- 채용 빈 상태 (v2.1) ---------- */
.jempty{background:linear-gradient(180deg,var(--blue-50),var(--surface));border:1px solid var(--blue-100);border-radius:var(--r-lg);padding:32px 24px;text-align:center}
.jempty-ico{font-size:44px;line-height:1;margin-bottom:10px;filter:saturate(.9)}
.jempty-t{font-size:16.5px;font-weight:800;color:var(--navy)}
.jempty-d{font-size:14.5px;color:var(--text-2);margin-top:4px}
.jchips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.jchip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--navy);font-weight:700;font-size:14px;box-shadow:var(--shadow-1);transition:transform .15s,box-shadow .15s,border-color .15s,color .15s}
.jchip:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--blue);color:var(--blue)}
.chip-ext{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.more-box .jchips{justify-content:flex-start;margin-top:8px}
@media (max-width:560px){.jchips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.jchip{flex:none}}
/* ---------- 도구 안내 배너 (v2.1) ---------- */
.cta-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:18px 20px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--blue-50),color-mix(in srgb,var(--green) 9%,var(--surface)));border:1px solid var(--blue-100)}
.cta-banner strong{color:var(--navy);font-size:15.5px}
.cta-banner p{font-size:14px;color:var(--text-2);margin-top:3px}
.cta-banner .btn{flex:none}
@media (max-width:640px){.cta-banner{flex-direction:column;align-items:flex-start}.cta-banner .btn{width:100%}}
.col-main,.col-list,.jempty{min-width:0}
.jchips{max-width:100%}
.rowbtns{display:flex;flex-wrap:wrap;gap:6px}
.rowbtns .btn{white-space:normal;height:auto;min-height:34px;padding-top:6px;padding-bottom:6px;line-height:1.3;text-align:left}
@media (max-width:560px){.jchips{contain:paint}}
/* ---------- 마스코트·SafePlum 게시물 (v2.2) ---------- */
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.hero-duck{display:block;width:260px;border-radius:28px;overflow:hidden;background:#FFD600;box-shadow:0 18px 40px rgba(16,36,70,.14);transform:rotate(2deg);transition:transform .25s ease}
.hero-duck:hover{transform:rotate(0) translateY(-4px)}
.hero-duck img{display:block;width:100%;height:auto}
@media (max-width:900px){.hero-duck{width:190px}}
@media (max-width:640px){.hero-in{grid-template-columns:minmax(0,1fr)}.hero-duck{display:none}}
.dk-sec{background:linear-gradient(135deg,#FFF6C2,#FFE45C);border-radius:var(--r-lg);padding:20px;margin-bottom:12px;color:#2A2100}
.dk-head h2{color:#2A2100}.dk-head p{font-size:14px;color:#4A3D00;margin-top:2px}
.dk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:14px}
.dk-card a{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:14px;padding:10px;color:#2A2100;box-shadow:0 2px 6px rgba(80,60,0,.12);transition:transform .18s,box-shadow .18s}
.dk-card a:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 24px rgba(80,60,0,.18)}
.dk-card img{width:100%;height:auto;border-radius:10px;display:block}
.dk-card strong{font-size:15px;margin-top:4px}.dk-card span{font-size:12px;color:#6B5A00}
.dk-sheet{max-width:640px;margin:20px auto 48px;padding:0 16px}
.dk-sheet img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:var(--shadow-2)}
@media print{.dk-sheet{max-width:none;margin:0;padding:0}.dk-sheet img{width:186mm;margin:0 auto;border-radius:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ---------- MSDS 관리 (v2.3) ---------- */
.ms-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0}
.ms-tab{font:inherit;font-weight:700;font-size:15px;color:var(--text-2);background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;cursor:pointer;margin-bottom:-1px}
.ms-tab[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--blue)}
.ms-tab .n{font-size:12px;background:var(--blue-50);color:var(--blue);border-radius:999px;padding:1px 7px;margin-left:4px}
.ms-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ms-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.ms-kpi span{font-size:12.5px;color:var(--muted);font-weight:600}.ms-kpi b{font-size:22px;color:var(--navy)}
.ms-kpi.bad b{color:var(--red)}.ms-kpi.good b{color:var(--green)}.ms-kpi.warn b{color:var(--orange)}
.mtable td{vertical-align:middle}
.ms-name{font-weight:700;font-size:14.5px}
.ms-sub{display:block;font-size:12px;color:var(--muted)}
.ms-pcell{white-space:nowrap}
.ms-mini{width:26px;height:26px;vertical-align:middle;margin-right:2px}
.ms-sig{display:inline-block;font-size:11.5px;font-weight:800;border-radius:6px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.ms-sig.d{background:var(--red-50);color:var(--red)}.ms-sig.w{background:var(--orange-50);color:var(--orange)}
.ms-st{display:inline-block;font-size:12px;font-weight:700;border-radius:6px;padding:2px 7px;white-space:nowrap}
.ms-st.ok{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}
.ms-st.no{background:var(--red-50);color:var(--red)}
.ms-acts{white-space:nowrap}.ms-acts .btn+.btn{margin-left:4px}
.lnk-btn{font:inherit;background:none;border:0;padding:0;color:var(--blue);cursor:pointer;text-align:left}
.lnk-btn:hover{text-decoration:underline}
.ms-editbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ms-editbar strong{font-size:18px;color:var(--navy)}
.ms-paste{background:var(--surface);border:1px solid var(--blue-100);border-radius:var(--r-lg);padding:14px 16px}
.ms-paste summary{cursor:pointer;font-weight:800;color:var(--blue)}
.ms-paste textarea{width:100%;margin:8px 0;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;font-size:13.5px;background:var(--surface-2);color:var(--text)}
.ms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ms-grid .span2{grid-column:span 2}
.ms-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ms-grid2 textarea,.ms-grid input,.ms-grid select{width:100%}
.ms-grid2 textarea{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;font-size:14px;background:var(--surface);color:var(--text);resize:vertical}
.ms-fs{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px 12px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;background:var(--surface)}
.ms-fs legend{font-weight:800;color:var(--navy);padding:0 4px}
.ms-fs .ms-grid{width:100%}
.sig-d{color:var(--red)}.sig-w{color:var(--orange)}
.ms-pics{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;width:100%}
.ms-pic{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:2px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;font:inherit;font-size:11.5px;color:var(--text-2);transition:border-color .15s,background .15s}
.ms-pic img{width:52px;height:52px;opacity:.35;transition:opacity .15s}
.ms-pic.sug{border-style:dashed;border-color:var(--orange)}
.ms-pic.sug img{opacity:.7}
.ms-pic.on{border-color:var(--red);background:var(--red-50);color:var(--text);font-weight:700}
.ms-pic.on img{opacity:1}
.btn-danger{color:var(--red)!important}
.ms-outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ms-out{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:8px}
.ms-out h3{font-size:16px}
.ms-multi{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow:auto}
.ms-prevh{font-weight:700;color:var(--navy);margin:18px 0 8px}
.ms-preview .lb-wrap{max-width:420px}
@media (max-width:1000px){.ms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-outs{grid-template-columns:1fr}.ms-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ms-pics{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:640px){.ms-grid,.ms-grid2{grid-template-columns:1fr}.ms-grid .span2{grid-column:auto}.ms-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-pics{grid-template-columns:repeat(3,minmax(0,1fr))}.ms-acts .btn{padding:0 8px}}
/* 경고표지 */
.lb{background:#fff;color:#111;border:2px solid #111;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;overflow:hidden;font-size:11px;line-height:1.35;break-inside:avoid;page-break-inside:avoid}
.lb-name{font-size:17px;font-weight:900;border-bottom:2px solid #111;padding-bottom:4px}
.lb-top{display:flex;align-items:center;gap:10px}
.lb-pics{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.lb-pic{width:62px;height:62px}
.lb-sig{font-size:24px;font-weight:900;padding:2px 12px;border:3px solid currentColor;border-radius:6px;flex:none}
.lb-sig.d{color:#C8102E}.lb-sig.w{color:#111}
.lb-sig.sm{font-size:13px;padding:0 6px;border-width:2px;vertical-align:middle}
.lb-body{flex:1 1 0;min-height:0;overflow:hidden}
.lb-h{font-weight:800;margin-top:2px}
.lb ul{margin:0 0 2px;padding-left:14px;list-style:disc}
.lb-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;border-top:1px solid #111;padding-top:4px;font-size:.95em}
.lb-qr{display:flex;flex-direction:column;align-items:center;font-size:8px;flex:none}
.lb-qr svg{width:54px;height:54px}
.lb-wrap{display:grid;gap:4mm}
.lb-wrap.n1 .lb{font-size:19px;padding:18px 22px;gap:14px}.lb-wrap.n1 .lb-name{font-size:40px}.lb-wrap.n1 .lb-pic{width:150px;height:150px}.lb-wrap.n1 .lb-h{font-size:21px;margin-top:8px}.lb-wrap.n1 .lb-sig{font-size:40px}.lb-wrap.n1 .lb-qr svg{width:90px;height:90px}
.lb-wrap.n2 .lb{font-size:12.5px}.lb-wrap.n2 .lb-name{font-size:22px}.lb-wrap.n2 .lb-pic{width:84px;height:84px}.lb-wrap.n2 .lb-sig{font-size:30px}
.lb-wrap.n8 .lb{font-size:8.5px;padding:6px 8px;gap:3px}.lb-wrap.n8 .lb-name{font-size:12px}.lb-wrap.n8 .lb-pic{width:36px;height:36px}.lb-wrap.n8 .lb-sig{font-size:14px;padding:0 6px}.lb-wrap.n8 .lb-qr svg{width:38px;height:38px}
/* 관리요령·교육·대장 인쇄 */
.ms-gsub{font-size:12.5px;margin:-4px 0 10px}
.ms-gcard{border:1px solid #111;border-radius:4px;padding:8px;margin-bottom:10px;break-inside:avoid}
.ms-ghead{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.ms-ghead h3{font-size:16px;color:#111;display:inline}
.ms-gpics{display:flex;gap:3px}.g-pic{width:44px;height:44px}
.ms-gcard .gtab th{width:22%;text-align:left}
.ms-ltab{font-size:11px}.ms-ltab .ms-mini{width:20px;height:20px}
#mPaper.ms-measure{display:block;position:absolute;left:-10000px;top:0;width:186mm;max-width:none;padding:0;box-shadow:none}
#mPaper.ms-measure .lb-wrap.n1,#mPaper.ms-measure .lb-wrap.n2{grid-template-columns:1fr}
#mPaper.ms-measure .lb-wrap.n4,#mPaper.ms-measure .lb-wrap.n8{grid-template-columns:1fr 1fr}
#mPaper.ms-measure .lb-wrap.n1 .lb{height:268mm}#mPaper.ms-measure .lb-wrap.n2 .lb,#mPaper.ms-measure .lb-wrap.n4 .lb{height:132mm}#mPaper.ms-measure .lb-wrap.n8 .lb{height:64mm}
#mPaper.ms-measure{display:block;position:absolute;left:-10000px;top:0;width:186mm;max-width:none;padding:0;box-shadow:none}
#mPaper.ms-measure .lb-wrap.n1,#mPaper.ms-measure .lb-wrap.n2{grid-template-columns:1fr}
#mPaper.ms-measure .lb-wrap.n4,#mPaper.ms-measure .lb-wrap.n8{grid-template-columns:1fr 1fr}
#mPaper.ms-measure .lb-wrap.n1 .lb{height:268mm}#mPaper.ms-measure .lb-wrap.n2 .lb,#mPaper.ms-measure .lb-wrap.n4 .lb{height:132mm}#mPaper.ms-measure .lb-wrap.n8 .lb{height:64mm}
@media print{
  body.pr-msds #mPaper{display:block}
  body.pr-msds .ms-label .paper-h{display:none}
  #mPaper.ms-label{padding:0}
  .lb-wrap.n1{grid-template-columns:1fr}.lb-wrap.n1 .lb{height:268mm}
  .lb-wrap.n2{grid-template-columns:1fr}.lb-wrap.n2 .lb{height:132mm}
  .lb-wrap.n4{grid-template-columns:1fr 1fr}.lb-wrap.n4 .lb{height:132mm}
  .lb-wrap.n8{grid-template-columns:1fr 1fr}.lb-wrap.n8 .lb{height:64mm}
  .lb,.lb *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.ms-wrap .field input[type=text],.ms-wrap .field input[type=url],.ms-wrap .field input[type=date],.ms-wrap .field input:not([type]){width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font:inherit;font-size:14.5px;background:var(--surface);color:var(--text)}
.ms-wrap .field input:focus,.ms-wrap textarea:focus{outline:2px solid var(--blue-100);border-color:var(--blue)}

/* ---------- 펼침 메뉴 (v2.4) ---------- */
.gnb-item{position:relative;display:flex;height:100%}
.gnb .mega{position:absolute;top:100%;left:-8px;z-index:30;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s,transform .12s,visibility 0s .12s}
.gnb-item:hover .mega,.gnb-item:focus-within .mega{opacity:1;visibility:visible;transform:none;transition:opacity .12s,transform .12s}
.mega-in{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:8px 36px;margin-top:1px;padding:20px 24px 22px;background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:var(--shadow-2)}
.mega-h{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.02em;margin-bottom:6px}
.mega-col:first-child .mega-h{color:var(--orange)}
.gnb .mega a{display:block;height:auto;padding:5px 0;font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}
.gnb .mega a:hover{color:var(--blue);text-decoration:none}
.gnb .mega a::after{display:none}
@media (max-width:900px){.gnb .mega{display:none}.gnb-item{height:auto}}

/* ---------- 홈 판정 띠 (v2.4) ---------- */
.dx{background:linear-gradient(120deg,#0F2744 0%,#17365D 55%,#1F4F86 100%);color:#fff}
.dx-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;padding:28px 24px;align-items:stretch}
.dx-main{display:flex;flex-direction:column;gap:12px;justify-content:center}
.dx-eye{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#FFD23F}
.dx-main h2{color:#fff;font-size:24px;line-height:1.35;letter-spacing:-.03em}
.dx-yn{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:99px;font-size:15px;font-weight:900;vertical-align:3px}
.dx-yn.y{background:#19C37D;color:#06311F}.dx-yn.n{background:#FF5A5F;color:#3D0709}
.dx-or{font-size:15px;color:#B8C6DA;margin:0 4px;vertical-align:3px}
.dx-row{display:flex;gap:8px;flex-wrap:wrap}
.dx-row input{height:48px;border-radius:12px;border:0;padding:0 14px;font:inherit;font-size:15px;min-width:0;flex:1 1 160px;color:#18243A;background:#fff}
.dx-row input[type=number]{flex:0 1 150px}
.dx-row .btn{height:48px;padding:0 22px;background:#FFD23F;color:#17365D;border-color:#FFD23F;font-weight:800}
.dx-row .btn:hover{background:#FFC400}
.dx-sub{font-size:13px;color:#B8C6DA}
.dx-cards{display:grid;grid-template-columns:1fr;gap:10px}
.dx-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .12s}
.dx-card:hover{background:rgba(255,255,255,.15);text-decoration:none}
.dx-card .i{flex:none;width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:20px}
.dx-card b{display:block;font-size:15px}
.dx-card span{display:block;font-size:12.5px;color:#C7D6EA;line-height:1.45}
.dx-card .arr{margin-left:auto;color:#FFD23F;font-weight:800}
@media (max-width:900px){.dx-in{grid-template-columns:1fr;padding:22px 16px}.dx-main h2{font-size:20px}}

/* ---------- 이번 달 할 일 (v2.4) ---------- */
.mo-list li{display:flex;gap:10px;padding:8px 0;border-top:1px dashed var(--line-2);font-size:14px}
.mo-list li:first-child{border-top:0}
.mo-d{flex:none;min-width:44px;height:22px;border-radius:6px;background:var(--blue-50);color:var(--blue);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.mo-d.y{background:var(--orange-50);color:var(--orange)}
.mo-list a{color:var(--text);font-weight:600}
.counsel li a{display:block;padding:8px 0;border-top:1px dashed var(--line-2)}
.counsel li:first-child a{border-top:0}
.counsel strong{display:block;font-size:14px;color:var(--text)}
.counsel span{display:block;font-size:12.5px;color:var(--muted)}

/* ---------- v2.5: 바로가기 띠 · 게시판 블록 · 달력 · 브리핑 · 공고 등록 ---------- */
.ft-backup{font-size:12.5px;font-weight:500;color:var(--muted)}
.ft-copy a{color:var(--muted)}
.qs{background:var(--surface);border-bottom:1px solid var(--line)}
.qs-in{display:flex;align-items:center;gap:6px 4px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;font-size:13.5px}
.qs-l{font-weight:800;color:var(--navy);margin-right:8px;font-size:12.5px}
.qs a{color:var(--text-2);font-weight:600;padding:4px 10px;border-radius:99px;white-space:nowrap}
.qs a:hover{background:var(--blue-50);color:var(--blue);text-decoration:none}
.qs a+a{position:relative}
.bd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bd{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:var(--r);padding:14px 18px 12px;min-width:0;box-shadow:var(--shadow-1)}
.bd:nth-child(1){border-top-color:var(--orange)}
.bd:nth-child(2){border-top-color:var(--green)}
.bd-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.bd-h h2{font-size:16px;display:flex;align-items:center;gap:8px}
.bd-new{font-size:11.5px;font-weight:800;color:#fff;background:var(--orange);border-radius:99px;padding:1px 8px}
.bd-list li{display:flex;align-items:center;gap:10px;min-height:36px;border-bottom:1px dashed var(--line-2);font-size:14px}
.bd-list li:last-child{border-bottom:0}
.bd-list a{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--text);padding:7px 0}
.bd-list a:hover{color:var(--blue);text-decoration:none}
.bd-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.bd-tag{flex:none;font-size:11.5px;font-weight:700;color:var(--blue);background:var(--blue-50);border-radius:5px;padding:1px 6px;max-width:6.5em;overflow:hidden;white-space:nowrap}
.bd-m{flex:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.bd-empty{color:var(--muted);font-size:13.5px;padding:8px 0;line-height:1.5}
.bd-list .bd-cta{border-bottom:0;padding-top:8px}
.bd-list .bd-cta a{flex:none;color:#fff;padding:0 12px}
.bd-grid+.cta-banner{margin-top:20px}
@media (max-width:720px){.bd-grid{grid-template-columns:1fr}}
.mc-h{font-weight:800;color:var(--navy);margin-bottom:6px}
.mc-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:12.5px;margin-bottom:10px}
.mc-w{font-size:11px;color:var(--muted);font-weight:700;padding:2px 0}
.mc-d{position:relative;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;color:var(--text-2);font-variant-numeric:tabular-nums}
.mc-d.sun,.mc-w.sun{color:var(--red)}
.mc-d.on{background:var(--blue-50);color:var(--blue);font-weight:800}
.mc-d.today{outline:2px solid var(--navy);outline-offset:-2px;font-weight:800;color:var(--navy)}
.br{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px}
.br-date{font-size:13px;font-weight:800;color:var(--orange)}
.br-title{font-size:24px;line-height:1.35;margin:4px 0 12px}
.br-lead{font-size:15.5px;color:var(--text-2);padding:14px 16px;background:var(--surface-2);border-left:3px solid var(--navy);border-radius:0 8px 8px 0}
.br-item{padding:22px 0 18px;border-bottom:1px solid var(--line-2)}
.br-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.br-item h3{font-size:18px;margin:6px 0 8px}
.br-sum{color:var(--text);line-height:1.75}
.br-point{margin-top:10px;padding:10px 14px;background:var(--orange-50);border-radius:10px;font-size:14.5px;line-height:1.65}
.br-point b{display:inline-block;margin-right:8px;color:var(--orange);font-size:12.5px}
.br-src{margin-top:10px;font-size:13px;color:var(--muted)}
.br-todo{padding:18px 0 4px}
.br-todo h3{margin-bottom:6px}
.br-arch li a{display:flex;gap:10px;padding:8px 0;border-top:1px dashed var(--line-2);color:var(--text);font-size:14px}
.br-arch li:first-child a{border-top:0}
.br-arch time{flex:none;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums;padding-top:1px}
@media (max-width:720px){.br{padding:18px 16px}.br-title{font-size:20px}}
.jp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;margin:0;padding:0}
.jp-steps li{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.jp-steps b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--surface);display:flex;align-items:center;justify-content:center}
.jp-steps strong{display:block;color:var(--navy)}
.jp-steps span{font-size:13px;color:var(--text-2)}
.jp-frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.jp-frame iframe{display:block;width:100%;height:1500px;border:0}
.apply-how{font-size:14px;color:var(--text);margin:8px 0 10px;line-height:1.6;overflow-wrap:anywhere}
.apply-how b{display:block;font-size:12.5px;color:var(--muted)}
@media (max-width:720px){.jp-steps{grid-template-columns:1fr}}
.layout-home{padding-bottom:20px}
.ftools-home{padding-bottom:64px}
.gnb>a,.gnb-item>a{white-space:nowrap}
.gnb-item{flex:none}

/* ---------- v2.6: 상태 표시 통일 · 법령 버전 ---------- */
.lst,.lst-chk{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:99px;font-size:12px;font-weight:800;white-space:nowrap;vertical-align:1px;border:1px solid transparent}
.lst::before,.lst-chk::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.lst-cur{color:#0B7A55;background:#E6F6EF;border-color:#BFE6D5}
.lst-next{color:#8A5A00;background:#FFF4D6;border-color:#F2DC9A}
.lst-bill{color:#1F5FBF;background:#E8F0FD;border-color:#C5D8F8}
.lst-rec{color:#5B6676;background:#F1F3F6;border-color:#DDE2EA}
.lst-chk{color:#B3261E;background:#FDECEA;border-color:#F5C6C1}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lst-cur{color:#5FD3A8;background:#12301F;border-color:#1F4A35}:root:not([data-theme="light"]) .lst-next{color:#F2C55C;background:#33280F;border-color:#55431A}:root:not([data-theme="light"]) .lst-bill{color:#8DB6F5;background:#152338;border-color:#243B5E}:root:not([data-theme="light"]) .lst-rec{color:#B6C1D1;background:#1F2B3F;border-color:#2B3A52}:root:not([data-theme="light"]) .lst-chk{color:#F28B82;background:#2E1917;border-color:#55302C}}
.lver{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:18px}
.lver-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.lasof{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--navy)}
.lasof input{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font:inherit;background:var(--surface);color:var(--text)}
.lvt{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.lvt th,.lvt td{padding:9px 10px;border-top:1px solid var(--line-2);text-align:left;vertical-align:top}
.lvt thead th{border-top:0;font-size:12.5px;color:var(--muted);background:var(--surface-2)}
.lvt tbody th{font-weight:700}
.lvt .muted{font-size:12.5px}
.lwarn{color:var(--red)}
.lart-pend{border-left:3px solid #E9C766;padding-left:12px}
.lpend{margin-top:10px;padding:12px 14px;border:1px dashed #E0C472;border-radius:10px;background:color-mix(in srgb,#FFF4D6 45%,var(--surface))}
.lart-on .lpend{border-style:solid;border-color:#BFE6D5;background:color-mix(in srgb,#E6F6EF 50%,var(--surface))}
.lpend-h{font-size:13px;font-weight:700;color:var(--text-2);margin-bottom:6px}
.lnotyet{color:var(--muted);font-size:14px}
.ladds{margin-top:28px}
.ladd{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 14px;margin-top:8px}
.ladd summary{font-weight:700;cursor:pointer}
.ladd .lart-b{margin-top:8px;font-size:14px}
.lstat{padding-top:28px}
.lups{display:flex;flex-direction:column;gap:10px}
.lup{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;font-size:14.5px}
.lup-d{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.lup-d b{font-size:16px;color:var(--navy);font-variant-numeric:tabular-nums}
.lup-t{font-weight:700;margin-bottom:4px}
.lup-a{font-size:13px;color:var(--text-2);margin-top:6px}
.lup-i{margin-top:6px;padding:8px 12px;background:var(--surface-2);border-radius:8px;font-size:13.5px}
.lup-i b{color:var(--navy);margin-right:6px;font-size:12.5px}
.lstages{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.lstage{font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.lstage.on{background:#1F5FBF;border-color:#1F5FBF;color:#fff}
.urow-k{display:block;font-size:11px;color:var(--muted);font-weight:600}
@media (max-width:640px){.lup{grid-template-columns:1fr;gap:8px}}
.br-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin:6px 0 10px;padding:10px 12px;background:var(--surface-2);border-radius:10px;font-size:13px}
.br-facts div{display:flex;gap:8px;min-width:0}
.br-facts dt{flex:none;color:var(--muted);font-weight:700;min-width:5.5em}
.br-facts dd{margin:0;color:var(--text)}
.br-facts div:nth-child(n+4){grid-column:1/-1}
.br-press{font-size:12.5px}
@media (max-width:640px){.br-facts{grid-template-columns:1fr}}

/* v2.6 MSDS 원문 확인 단계 */
.ms-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:8px 0}
.ms-steps li{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--line-2);color:var(--text-2)}
.ms-auto{margin:12px 0;padding:10px 14px;border:1px solid var(--orange);background:var(--orange-50);border-radius:var(--r);font-size:13px;color:var(--text)}
.ms-auto strong{display:block;color:var(--orange)}
.ms-verify{margin:16px 0 10px;padding:12px 14px;border:2px solid var(--navy);border-radius:var(--r);background:var(--surface)}
/* v2.6 서식 지위·법령 버전 표기 */
.fkind{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-2)}
.fkind-a{border-color:var(--green);color:var(--green)}
.fkind-b{border-color:var(--navy);color:var(--navy)}
.fkind-c{border-color:var(--orange);color:var(--orange)}
.lawver{margin:28px 0 0;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:12.5px;color:var(--text-2);line-height:1.7}
.lawver b{color:var(--navy)}
.lawver .stale{color:var(--red,#c0392b);font-weight:700}
.asof{background:var(--navy);color:#fff;font-size:13px}
.asof .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding-top:8px;padding-bottom:8px}
.asof a{color:#fff;text-decoration:underline}
.asof b{font-weight:800}
.legal-doc h2{font-size:18px;margin:26px 0 8px;color:var(--navy)}
.legal-doc p,.legal-doc li{font-size:14.5px;line-height:1.8;color:var(--text)}
@media print{.lawver,.asof{display:none!important}}

.lst::before,.lst-chk::before{width:auto;height:auto;background:none;border-radius:0;font-size:10px}
.lst-cur::before{content:"🟢"}.lst-next::before{content:"🟡"}.lst-bill::before{content:"🔵"}.lst-rec::before{content:"⚪"}.lst-chk::before{content:"🔴"}
.asof .lst{background:rgba(255,255,255,.14);color:#fff;border-color:transparent}
.ft-op{grid-column:1/-1;font-size:12.5px;color:var(--text-2)}

/* v2.7 */
p.asof{background:var(--surface);color:var(--muted);font-size:12.5px;border-bottom:1px solid var(--line-2);margin:0}
p.asof .wrap{display:block;padding-top:6px;padding-bottom:6px}
p.asof a{color:var(--text-2);text-decoration:none}p.asof a:hover{color:var(--blue);text-decoration:underline}
p.asof b{font-weight:700;color:var(--text-2)}
.qs a.qs-go{background:var(--blue-50);color:var(--blue);font-weight:700;margin-right:4px}
.qs-l2{margin-left:14px}

/* ===== v2.8 대시보드형 홈 · 4묶음 메뉴 ===== */
:root{--accent:#F59E0B;--accent-50:#FEF3C7;--mint:#10B981}
:root[data-theme="dark"]{--accent:#FBBF24;--accent-50:#3A2C0B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--accent:#FBBF24;--accent-50:#3A2C0B}}
.btn{background:var(--navy);border-color:var(--navy)}
.btn:hover{background:#1E293B;border-color:#1E293B}
:root[data-theme="dark"] .btn{background:var(--accent);border-color:var(--accent);color:#111}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{background:var(--accent);border-color:var(--accent);color:#111}}
.btn-ghost,.btn.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--line)}
.btn-ghost:hover,.btn.btn-ghost:hover{background:var(--surface-2);border-color:var(--line)}
.gnb a[aria-current="page"]{color:var(--navy)}
.gnb a[aria-current="page"]::after{background:var(--accent);height:3px}
.mega-col:first-child .mega-h{color:var(--muted)}
.hero2{background:#0F172A;color:#fff}
.hero2-in{padding-top:44px;padding-bottom:40px;text-align:center;max-width:820px}
.hero2-eye{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.02em;margin:0 0 8px}
.hero2 h1{font-size:clamp(26px,4.2vw,40px);line-height:1.2;margin:0 0 22px;color:#fff;letter-spacing:-.03em}
.uq{position:relative;max-width:640px;margin:0 auto;text-align:left}
.uq .ico{position:absolute;left:18px;top:17px;width:20px;height:20px;fill:none;stroke:#64748B;stroke-width:2;stroke-linecap:round}
.uq input{width:100%;height:54px;border-radius:14px;border:2px solid transparent;padding:0 18px 0 48px;font:inherit;font-size:16px;background:#fff;color:#0F172A;box-shadow:0 8px 28px rgba(0,0,0,.25)}
.uq input:focus{outline:none;border-color:var(--accent)}
.uq-out{position:absolute;left:0;right:0;top:60px;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-2);padding:6px;max-height:60vh;overflow:auto}
.uq-out a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:var(--text);font-weight:600;font-size:14.5px}
.uq-out a:hover,.uq-out a.on{background:var(--surface-2);text-decoration:none}
.uq-k{flex:none;min-width:64px;text-align:center;font-size:11.5px;font-weight:800;color:var(--muted);background:var(--surface-2);border-radius:6px;padding:2px 6px}
.uq-out a.uq-all{color:var(--blue);font-size:13.5px;border-top:1px solid var(--line-2);border-radius:0 0 9px 9px;margin-top:4px}
.hero2 .quick{justify-content:center;margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.hero2 .qk{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#E2E8F0;border-radius:99px;padding:5px 13px;font-size:13px;font-weight:600}
.hero2 .qk:hover{background:rgba(255,255,255,.16);color:#fff;text-decoration:none}
.home2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding-top:28px;padding-bottom:56px;align-items:start}
.hub{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}
.hub-tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.hub-tabs::-webkit-scrollbar{display:none}
.hub-tab{flex:1 0 auto;padding:15px 18px;border:0;background:none;font:inherit;font-size:14.5px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.hub-tab:hover{color:var(--text)}
.hub-tab[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--accent)}
.hub-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.hub-pane{padding:20px}
.hc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hc{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s,transform .12s}
.hc:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-1px);text-decoration:none}
.hc-i{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:22px}
.hc-b{min-width:0}
.hc-b strong{display:block;font-size:15.5px;color:var(--navy)}
.hc-d{display:block;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-g{grid-column:2;justify-self:start;font-size:11.5px;font-weight:700;color:var(--text-2);background:var(--accent-50);border-radius:6px;padding:1px 7px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-more{margin:16px 0 0;font-size:14px;font-weight:700}
.hub-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 0;font-size:13.5px}
.hub-links span{font-weight:800;color:var(--muted);font-size:12px;margin-right:4px}
.hub-links a{padding:5px 11px;border:1px solid var(--line);border-radius:99px;color:var(--text-2);font-weight:600}
.hub-links a:hover{border-color:var(--accent);color:var(--navy);text-decoration:none}
.fl-q{max-width:none;margin-bottom:12px}
.fl{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto;border:1px solid var(--line-2);border-radius:var(--r)}
.fl li{display:flex;align-items:center;gap:10px;padding:0 12px;border-top:1px solid var(--line-2)}
.fl li:first-child{border-top:0}
.fl li[hidden]{display:none}
.fl a{flex:1;min-width:0;display:flex;gap:10px;align-items:center;padding:10px 0;color:var(--text);font-weight:600;font-size:14.5px}
.fl-g{flex:none;width:92px;font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.news2 section{min-width:0}
.news2 .bd-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.news2 h2{font-size:15.5px}
.home2-side{display:flex;flex-direction:column;gap:16px}
.go-list{list-style:none;margin:0;padding:0}
.go-list a{display:flex;justify-content:space-between;padding:10px 12px;margin-top:6px;border:1px solid var(--line);border-radius:10px;color:var(--navy);font-weight:700;font-size:14px}
.go-list a:hover{border-color:var(--accent);background:var(--accent-50);text-decoration:none}
.go-orgs{display:flex;flex-wrap:wrap;gap:4px 12px;margin:12px 0 0;font-size:12.5px}
.go-orgs a{color:var(--muted)}
.dock{display:none}
@media (max-width:980px){.home2{grid-template-columns:1fr}}
@media (max-width:720px){
  .hc-grid,.news2{grid-template-columns:minmax(0,1fr)}
  .hc-d{white-space:normal}
  .hero2-in{padding-top:28px;padding-bottom:26px}
  .hub-pane{padding:14px}
  .hub-tab{padding:13px 14px;font-size:14px}
  .fl-g{width:64px}
  .hd .gnb{display:none}
  .dock{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .dock a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0 6px;font-size:11px;font-weight:700;color:var(--muted)}
  .dock a span{font-size:18px;line-height:1.2}
  .dock a[aria-current="page"]{color:var(--navy)}
  .dock a:hover{text-decoration:none}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
}
@media print{.dock{display:none!important}body{padding-bottom:0}}
.hc-g{width:fit-content}

.hub-pane .bd-list li{display:flex;align-items:center;gap:8px;min-width:0}
.hub-pane .bd-list li a{flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.hub-pane .bd-list .bd-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-pane .bd-list .bd-tag,.hub-pane .bd-list .bd-m{flex:none}

/* 캐릭터 아이콘 */
.hero2-in{position:relative}
.hero2-duck{position:absolute;right:-150px;bottom:0;width:150px;height:150px}
@media (max-width:1180px){.hero2-duck{position:static;width:84px;height:84px;margin:0 auto 6px;display:block}}
.hc-i img{width:40px;height:40px;object-fit:contain}
.hc-i:has(img){background:var(--accent-50)}
.go-h{display:flex;align-items:center;gap:8px}
.go-h img{width:40px;height:40px}
.jempty-ico img{width:96px;height:96px}

img.logo-mark{width:36px;height:36px;object-fit:contain;border-radius:0}
.logo-ft img.logo-mark{width:30px;height:30px}
.hub-links a{display:inline-flex;align-items:center;gap:6px}
.hub-links a img{width:20px;height:20px}

/* 브리핑·소식 게시판 */
.nb-filter{flex-wrap:wrap;margin-bottom:12px}
.nb-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.nb-row{border-top:1px solid var(--line-2)}
.nb-row:first-child{border-top:0}
.nb-row[hidden]{display:none}
.nb-row summary{display:grid;grid-template-columns:66px 64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 16px;cursor:pointer;list-style:none;font-size:14.5px}
.nb-row summary::-webkit-details-marker{display:none}
.nb-row summary:hover{background:var(--surface-2)}
.nb-row time{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
.nb-cat{font-size:11.5px;font-weight:800;text-align:center;border-radius:6px;padding:2px 0;background:var(--surface-2);color:var(--text-2)}
.nb-점검{background:#FEF3C7;color:#92400E}.nb-감독{background:#FEE2E2;color:#991B1B}.nb-지원사업{background:#D1FAE5;color:#065F46}.nb-공모전·대회{background:#FCE7F3;color:#9D174D}.nb-법령{background:#DBEAFE;color:#1E40AF}.nb-통계{background:#EDE9FE;color:#5B21B6}.nb-언론보도{background:#E0F2FE;color:#075985}
.nb-t{font-weight:700;color:var(--text);min-width:0}
.nb-a{font-size:12px;color:var(--muted);white-space:nowrap}
.nb-row[open] summary{background:var(--surface-2)}
.nb-body{padding:4px 16px 16px 92px;font-size:14px;line-height:1.75;color:var(--text-2)}
.nb-body p{margin:6px 0}
@media (max-width:720px){.nb-row summary{grid-template-columns:56px 56px minmax(0,1fr)}.nb-a{display:none}.nb-body{padding-left:16px}}

.dmx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dmx{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-width:0}
.dmx h3{display:flex;align-items:center;gap:8px;font-size:14.5px;margin:0 0 6px;color:var(--navy)}
.dmx h3 span{flex:none;width:22px;height:22px;border-radius:6px;background:var(--navy);color:#fff;font-size:11.5px;display:inline-flex;align-items:center;justify-content:center}
.dmx ul{list-style:none;margin:0;padding:0}
.dmx li{padding:4px 0;font-size:13px;line-height:1.45;border-top:1px dashed var(--line-2)}
.dmx li:first-child{border-top:0}
.dmx a{color:var(--text)}
.dmx a:hover{color:var(--blue)}
.dmx em{font-style:normal;font-size:11px;font-weight:700;color:#92400E;background:var(--accent-50);border-radius:5px;padding:0 5px;margin-left:5px;white-space:nowrap}
.fl{max-height:300px}
@media (max-width:980px){.dmx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.dmx-grid{grid-template-columns:1fr}}

.paper-foot[contenteditable]{outline:none;border-radius:4px;padding:2px 4px;cursor:text}
.paper-foot[contenteditable]:hover,.paper-foot[contenteditable]:focus{background:var(--accent-50)}
.paper-foot[contenteditable]:empty::before{content:attr(data-ph);color:#aaa}
@media print{.paper-foot:empty{display:none}.paper-foot[contenteditable]{background:none!important}}

.ft-disc{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0}

/* ---------------------------------------------------------------- 게시판(커뮤니티 · Q&A) */
.cm-narrow{max-width:760px;padding:28px 24px 72px}
.cm{min-height:240px}
.cm-load{padding:40px 0;text-align:center;color:var(--muted)}
.cm-note{font-size:14px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;margin:10px 0}
.cm-note[hidden]{display:none}
.cm-err{background:var(--red-50);border-color:color-mix(in srgb,var(--red) 30%,var(--line));color:var(--red)}
.cm-ok{background:color-mix(in srgb,var(--green) 10%,var(--surface));border-color:color-mix(in srgb,var(--green) 30%,var(--line));color:var(--green)}
.cm-empty-t{font-size:17px;font-weight:800;color:var(--text);margin-bottom:6px}
.cm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cm-tab{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:14.5px;font-weight:700}
.cm-tab:hover{text-decoration:none;border-color:var(--blue-100);background:var(--blue-50);color:var(--blue)}
.cm-tab[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.cm-user{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--text-2)}
.cm-user a{font-weight:600}
.cm-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cm-filter .chips{flex:1 1 320px;min-width:0}
.cm-filter .chip{height:32px;font-size:13px}
.cm-filter .chip:hover{text-decoration:none}
.chip[aria-current="true"]{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.cm-search{display:flex;gap:6px}
.cm-search input{height:34px;width:150px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}
.cm-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.cm-list li+li{border-top:1px solid var(--line-2)}
.cm-list a{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 16px;color:var(--text);font-size:14.5px}
.cm-list a:hover{background:var(--surface-2);text-decoration:none}
.cm-notice a{background:var(--accent-50)}
.cm-cat{font-size:11.5px;font-weight:800;text-align:center;border-radius:6px;padding:2px 6px;background:var(--surface-2);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-notice .cm-cat{background:var(--accent);color:#3A2C0B}
.cm-t{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-t em{font-style:normal;font-weight:700;color:var(--blue);font-size:13px}
.cm-meta{font-size:12.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.cm-st{display:inline-block;font-size:11.5px;font-weight:800;border-radius:6px;padding:2px 7px;white-space:nowrap}
.cm-st-ok{background:color-mix(in srgb,var(--green) 14%,var(--surface));color:var(--green)}
.cm-st-ans{background:var(--blue-50);color:var(--blue)}
.cm-st-wait{background:var(--surface-2);color:var(--muted)}
.cm-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;font-size:14px;color:var(--text-2)}
.cm-post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px}
.cm-post-cat{font-size:13px;color:var(--muted);font-weight:600}
.cm-post-t{font-size:22px;line-height:1.4;margin:6px 0 4px;overflow-wrap:anywhere}
.cm-post-meta{font-size:13px;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.cm-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8;color:var(--text);margin:14px 0}
.cm-acts{display:flex;gap:14px;justify-content:flex-end;font-size:13.5px;min-height:20px}
.cm-acts a{font-weight:600}
.cm-cms-h{margin:26px 0 10px}
.cm-cms{list-style:none;margin:0 0 16px;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.cm-cms li{padding:14px 18px}
.cm-cms li+li{border-top:1px solid var(--line-2)}
.cm-cms .cm-body{margin:6px 0;font-size:14.5px}
.cm-cm-meta{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cm-cm-meta b{color:var(--text)}
.cm-picked{background:color-mix(in srgb,var(--green) 6%,var(--surface))}
.cm-form{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.cm-form input[type=text],.cm-form input[type=email],.cm-form input[type=password],.cm-form select,.cm-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px}
.cm-form textarea{resize:vertical;line-height:1.7;min-height:96px}
.cm-form input:focus-visible,.cm-form select:focus-visible,.cm-form textarea:focus-visible,.cm-search input:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.cm-form .btns{margin-top:2px}
.cm-row2{display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px}
.cm-cnt{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cm-auth{max-width:420px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.cm-auth .cm-form+.cm-form,.cm-auth .cm-danger{border-top:1px solid var(--line-2);padding-top:16px;margin-top:18px}
.cm-f{display:flex;flex-direction:column;gap:5px;font-size:13.5px;font-weight:700;color:var(--text-2)}
.cm-chk{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--text-2);line-height:1.5}
.cm-chk input{width:18px;height:18px;margin-top:1px;flex:none}
.cm-alt{text-align:center;font-size:13.5px;color:var(--muted)}
.cm-tblw{overflow-x:auto;margin:10px 0}
.cm-tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.cm-tbl th,.cm-tbl td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.cm-tbl thead th{background:var(--surface-2);font-weight:700}
.cm-tbl tbody th{font-weight:700;white-space:nowrap}
@media (max-width:720px){
  .cm-narrow{padding:20px 16px 56px}
  .cm-list a{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:11px 14px}
  .cm-list .cm-cat{grid-column:1/-1;justify-self:start}
  .cm-list .cm-t{white-space:normal;grid-column:1/-1}
  .cm-list .cm-meta{grid-column:1;grid-row:3}
  .cm-list .cm-st{grid-column:2;grid-row:3;justify-self:end}
  .cm-post{padding:18px 16px}.cm-post-t{font-size:19px}
  .cm-row2{grid-template-columns:1fr}
  .cm-search{flex:1 1 180px;min-width:0}.cm-search input{flex:1;width:0;min-width:0}
  .cm-auth{padding:18px 16px}
  .cm-form input,.cm-form select,.cm-form textarea,.cm-search input{font-size:16px}
  .dock a{font-size:10.5px}
}
@media (max-width:1023px){.layout-detail.cm-layout .col-side{order:0}}
.nb-입법예고{background:#E0E7FF;color:#3730A3}
.go-bdg{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;background:var(--accent-50);color:#92400E;font-style:normal;font-size:11px;font-weight:800;vertical-align:1px;white-space:nowrap}
:root[data-theme="dark"] .go-bdg{color:var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .go-bdg{color:var(--accent)}}
.hc-i:has(img){background:transparent}
.hc-i img{width:44px;height:44px}
.hub-links a img{border-radius:5px}
.cm-empty-i{display:block;margin:0 auto 8px}
.cm-welcome{text-align:center}
.cm-welcome img{display:block;margin:0 auto 6px}
.cm-welcome .btns{margin-top:10px}
.ms-tipl{list-style:none;margin:10px 0 12px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 10px}
.ms-tipl li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;line-height:1.45;color:var(--text-2)}
.ms-tipl img{width:88px;height:88px}
@media (max-width:720px){.ms-tipl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.ms-tips{display:none}}
.fi-print{display:none}
@media print{.paper select.fi{display:none}.paper .fi-print{display:inline;font-size:10.5px;white-space:normal;overflow-wrap:anywhere}}
.fhist{list-style:none;margin:0;padding:0}
.fhist li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line-2);font-size:14px}
.fhist li:first-child{border-top:0}
.fhist-d{color:var(--muted);font-variant-numeric:tabular-nums}
.fhist-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.fhist-a{display:flex;gap:12px;white-space:nowrap}
.form-bar .n{font-size:12px;font-weight:700;opacity:.65}
@media (max-width:720px){.fhist li{grid-template-columns:1fr}.fhist-a{flex-wrap:wrap}.paper .gtab{display:block;overflow-x:auto}}
@media print{.paper .gtab{display:table;overflow:visible}}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--red)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 18%,transparent)}
.ltoc{min-width:0}
.ltoc li a{overflow-wrap:anywhere}
.crumbs span#fCrumb{color:var(--muted)}
.hd-auth{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700;white-space:nowrap}
.hd-auth a{color:var(--text-2)}
.hd-auth a:hover{color:var(--blue);text-decoration:none}
.hd-auth-in,.hd-auth-my{padding:7px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--navy)!important}
.hd-auth-in:hover,.hd-auth-my:hover{border-color:var(--blue-100);background:var(--blue-50)}
.hd-auth+.hd-cta{margin-left:0}
.sit-tool{display:inline-block;margin-left:4px;padding:0 6px;border-radius:5px;background:var(--accent-50);color:#92400E;font-size:11px;font-weight:800;vertical-align:1px}
@media (max-width:1023px){.hd-auth{font-size:13px;gap:10px}.hd-auth-in,.hd-auth-my{padding:5px 10px}}
@media print{.hd-auth{display:none}}
@media (max-width:720px){.hd-auth{order:2;margin-left:auto}.hd-in{padding-bottom:10px}}

/* 홈 달력 — 날짜 선택 */
.mc-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.mc-bar .mc-h{margin:0;flex:1;text-align:center}
.mc-nav,.mc-today{border:1px solid var(--line);background:var(--surface);color:var(--text-2);border-radius:8px;height:32px;min-width:32px;font:inherit;font-size:15px;font-weight:800;cursor:pointer;line-height:1}
.mc-today{font-size:12.5px;padding:0 10px}
.mc-nav:hover,.mc-today:hover{background:var(--surface-2)}
button.mc-d{border:0;background:none;font:inherit;font-size:12.5px;cursor:pointer;height:34px;width:100%;padding:0}
button.mc-d:hover{background:var(--surface-2)}
button.mc-d.on{background:var(--blue-50)}
button.mc-d.on::after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--blue)}
button.mc-d.sel,button.mc-d.sel:hover{background:var(--navy);color:#fff;font-weight:800;outline:0}
button.mc-d.sel::after{background:#fff}
button.mc-d.today:not(.sel){outline:2px solid var(--navy);outline-offset:-2px}
.mc-nav:focus-visible,.mc-today:focus-visible,button.mc-d:focus-visible,.mo-next:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mo-day{font-size:14.5px;font-weight:800;color:var(--navy);margin:2px 0 4px;padding-top:10px;border-top:1px solid var(--line-2)}
.mo-list li{align-items:flex-start}
.mo-list a{flex:1;min-width:0}
.mo-d.r{background:var(--surface-2);color:var(--text-2)}
.mo-d{padding:0 6px;white-space:nowrap}
.mo-t{flex:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:22px}
.mo-none{flex-direction:column;gap:6px!important;color:var(--muted)}
.mo-next{align-self:flex-start;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--blue);border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.mo-next:hover{background:var(--blue-50)}

/* 오픈채팅 홍보 배너 */
.cm-chat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;padding:14px 16px;margin:0 0 14px;border-radius:var(--r-lg);background:#FEE500;color:#191600;border:1px solid #E5CF00}
.cm-chat:hover{text-decoration:none;filter:brightness(.97)}
.cm-chat-t{font-weight:800;font-size:15.5px}
.cm-chat-d{grid-column:1;font-size:13.5px;color:#3A3300;line-height:1.5}
.cm-chat-go{grid-column:2;grid-row:1/3;font-size:13px;font-weight:800;background:#191600;color:#FEE500;border-radius:999px;padding:8px 14px;white-space:nowrap}
.cm-blog{background:#03C75A;color:#04210F;border-color:#02A94C}
.cm-blog .cm-chat-d{color:#062E15}
.cm-blog .cm-chat-go{background:#04210F;color:#fff}
.cm-chat-side{grid-template-columns:1fr;margin:0}
.cm-chat-side .cm-chat-go{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px}
.job-member{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;margin:0 0 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);font-size:14px;color:var(--text-2)}
.job-member .btn{margin-left:auto}

/* 회원 채용공고 */
.cm-st-hot{background:var(--orange-50);color:var(--orange)}
.cm-co{font-weight:800;color:var(--navy)}
.cm-rg{font-weight:500;color:var(--muted);font-size:13px}
.cm-closed a{opacity:.55}
.cm-job{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0;margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14.5px}
.cm-job dt,.cm-job dd{margin:0;padding:9px 12px;border-top:1px solid var(--line-2)}
.cm-job dt:first-of-type,.cm-job dt:first-of-type+dd{border-top:0}
.cm-job dt{background:var(--surface-2);font-weight:700;color:var(--text-2)}
.cm-job dd{overflow-wrap:anywhere}
.cm-apply{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;padding:14px 16px;border-radius:12px;background:var(--blue-50);overflow-wrap:anywhere}
.cm-jobf{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.cm-jobf[hidden]{display:none}
.cm-row2e{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cm-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.cm-form input[type=date],.cm-form input[type=url]{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px}
.cm-dl{font-size:12.5px;color:var(--muted);font-weight:500}
@media (max-width:720px){
  .cm-chat{grid-template-columns:1fr}
  .cm-chat-go{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px}
  .cm-row2e,.cm-row3{grid-template-columns:1fr}
  .cm-job{grid-template-columns:80px minmax(0,1fr)}
  .job-member .btn{margin-left:0}
  .cm-form input[type=date],.cm-form input[type=url]{font-size:16px}
}

/* 로고 타일·아이콘 컷 */
.dx-card .i img{width:40px;height:40px;display:block}
.tcard{position:relative}
.tcard-i{position:absolute;right:16px;top:44px;width:52px;height:52px}
.tcard:has(.tcard-i) .tcard-t,.tcard:has(.tcard-i) .tcard-d{padding-right:60px}

/* 게시판 사진 첨부 */
.cm-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cm-imgf{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;position:relative}
.cm-imgf-h{display:flex;align-items:center;gap:10px;margin:0}
.cm-thumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cm-thumbs[hidden]{display:none}
.cm-thumbs li{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.cm-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.cm-thumb-x{position:absolute;top:2px;right:2px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(15,23,42,.78);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.cm-thumb-x:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.cm-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:14px 0}
.cm-imgs a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.cm-imgs img{display:block;width:100%;max-height:420px;object-fit:contain;min-height:80px}
.cm-more{margin:14px 0 0;font-size:14px;font-weight:700}

/* 확인 필요 — 아이콘 + 풍선 설명 */
.chk-svg{vertical-align:-4px;flex:none}
.chk-i{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;vertical-align:-6px;cursor:help;border-radius:6px}
.chk-i .chk-svg{vertical-align:0}
.chk-i:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.chk-i::after{content:attr(data-tip);position:absolute;z-index:30;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);width:max-content;max-width:min(280px,70vw);padding:8px 10px;border-radius:8px;background:#1F2937;color:#fff;font-size:12.5px;font-weight:600;line-height:1.5;white-space:normal;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.22);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s}
.chk-i:hover::after,.chk-i:focus::after{opacity:1;visibility:visible}
.nb-list{overflow:visible}
.nb-row:first-child summary{border-radius:var(--r-lg) var(--r-lg) 0 0}
.nb-row:last-child:not([open]) summary{border-radius:0 0 var(--r-lg) var(--r-lg)}
.nb-row:last-child .nb-body{border-radius:0 0 var(--r-lg) var(--r-lg)}
.chk-i::after{bottom:auto;top:calc(100% + 6px)}
@media (max-width:720px){.chk-i::after{left:auto;right:-12px;transform:none;max-width:min(260px,64vw)}}

/* '확인 필요' 알약 → 경고 삼각형 아이콘. 마우스를 올리거나 누르면 '확인 필요'가 풍선으로 뜬다. 글자는 화면낭독기용으로 그대로 둔다. */
.lst-chk:not(.lst-keep){position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;gap:0;border:0;background:none;font-size:0;vertical-align:-5px;cursor:help;overflow:visible}
.lst-chk:not(.lst-keep)::before{content:"";width:18px;height:18px;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2.5 20h19z' fill='%23D92D20' stroke='%23D92D20' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 10v4.5' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.3' r='1.25' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat}
.lst-chk:not(.lst-keep)::after{content:"확인 필요";position:absolute;z-index:30;left:50%;top:calc(100% + 6px);transform:translateX(-50%);padding:6px 10px;border-radius:8px;background:#1F2937;color:#fff;font-size:12.5px;font-weight:700;line-height:1.4;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.22);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s}
.lst-chk:not(.lst-keep):hover::after,.lst-chk:not(.lst-keep):focus::after{opacity:1;visibility:visible}
@media print{.lst-chk:not(.lst-keep){width:auto;font-size:11px;color:#B3261E}.lst-chk:not(.lst-keep)::before,.lst-chk:not(.lst-keep)::after{display:none}}
[data-filter]:not(.show-zero) .chip-zero{display:none!important}
.chip-zero{opacity:.55}
.chip-more{display:inline-flex;align-items:center;height:34px;padding:0 10px;border:0;background:none;color:var(--blue);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border-radius:8px}
.chip-more:hover{background:var(--blue-50)}
.chip-more:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.chip-more[hidden]{display:none}
.cm-pwm{font-size:12.5px;font-weight:600;min-height:1em}.cm-pwm.ok{color:var(--green)}.cm-pwm.no{color:#B3261E}

/* 운영 관리 */
.cm-adm{font-weight:800}
.cm-adm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 12px}
.cm-adm-t{min-width:720px;background:var(--surface)}
.cm-adm-t td{font-size:14px}
.cm-adm-snip{margin:4px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cm-adm-acts{white-space:nowrap}
.cm-adm-acts .btn{margin:0 4px 4px 0}
.cm-adm-t .cm-st{margin-left:6px}
button.cm-tab{font:inherit;cursor:pointer}
.cm-tab[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.cm-narrow:has([data-page="admin"]){max-width:1120px}
.cm-why{margin:0 0 6px;padding:10px 12px;border-radius:10px;background:var(--blue-50);color:var(--blue);font-size:14px;font-weight:700;line-height:1.5}
.cm-joinbox{margin-top:6px;padding-top:14px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--text-2);line-height:1.55}
.cm-joinbox p{margin:0}
.cm-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0}
.cm-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cm-tile{display:flex;flex-direction:column;gap:2px;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);font:inherit;color:var(--text)}
button.cm-tile{cursor:pointer}button.cm-tile:hover{border-color:var(--blue-100);background:var(--blue-50)}
.cm-tile-l{font-size:13px;font-weight:700;color:var(--text-2)}.cm-tile-v{font-size:26px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.cm-tile-s{font-size:12.5px;color:var(--muted)}
.cm-danger-b{color:#B3261E!important;border-color:#F5C6C1!important}
@media (max-width:720px){.cm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cm-consent{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:12.5px;color:var(--text-2);line-height:1.55}
.cm-consent ul{margin:4px 0 4px 16px;padding:0}.cm-consent p{margin:0}
.hd-auth-adm{color:var(--blue)!important;font-weight:800}
.cm-admbox{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;margin:0 0 12px;border:1px solid var(--blue-100);border-radius:12px;background:var(--blue-50);font-size:14px}
.cm-admbox-s{margin:2px 0 0;font-size:13px;color:var(--text-2)}
@media (max-width:720px){.hd-auth{gap:8px;font-size:13px}.hd-auth-my{padding:6px 9px}}

/* 검색어·필터로 들어온 목록: 안내 덩어리를 접고 결과 머리글을 먼저 보여 준다 */
body.is-arrived [data-landing]{display:none!important}
.qhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;background:var(--blue-50);border:1px solid var(--line);border-radius:var(--r)}
.qhead[hidden]{display:none}
.qhead-t{font-size:16px;font-weight:700;color:var(--text);margin:0;min-width:0;overflow-wrap:anywhere}
.qhead-k{color:var(--blue)}
.qhead-t strong{color:var(--navy)}

/* 밀폐공간 가스농도 측정 기록 */
.gas-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.gas-grid .label .muted{display:block;font-size:12px;font-weight:500}
.gas-tab td,.gas-tab th{font-size:11.5px}
.gas-tab td.num b{text-decoration:underline}
@media (max-width:900px){.gas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{body.pr-confined #cPaper{display:block}}

/* 개선 전·후 사진대지 */
.im-list{display:flex;flex-direction:column;gap:14px}
.im-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:12px}
.im-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.im-h strong{color:var(--navy);font-size:15.5px;white-space:nowrap}
.im-h input[type=text]{flex:1 1 220px;min-width:0;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;font-weight:700}
.im-h .sort{height:42px}
.im-ctl{display:inline-flex;gap:10px;align-items:center;margin-left:auto}
.im-ctl button[disabled]{opacity:.35;cursor:default}
.im-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.im-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.im-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.im-card textarea,.im-card .field input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px}
.im-card .field input{height:44px;padding:0 12px}
.im-card textarea{resize:vertical;min-height:84px;line-height:1.5}
.im-card textarea:focus,.im-card input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-100)}
.im-zone{display:flex;flex-direction:column;gap:6px}
.im-zh{display:flex;align-items:center;gap:12px;min-height:28px}
.im-zh label.linkbtn{cursor:pointer}
.im-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:6px;font-size:12.5px}
.im-b{background:var(--red-50);color:var(--red)}
.im-a{background:color-mix(in srgb,var(--green) 14%,var(--surface));color:var(--green)}
.im-pic{aspect-ratio:4/3;border:2px dashed var(--line);border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;text-align:center}
.im-pic:hover,.im-zone.over .im-pic{border-color:var(--blue);background:var(--blue-50)}
.im-pic:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.im-pic.has{border-style:solid;background:#111}
.im-pic img{width:100%;height:100%;object-fit:contain;display:block}
.im-ph{color:var(--muted);font-size:14px;font-weight:600;line-height:1.6;padding:12px}
.im-ph small{font-weight:500;font-size:12.5px}
.im-cam{display:none}
@media (hover:none) and (pointer:coarse){.im-cam{display:inline}}
@media (max-width:720px){.im-2{grid-template-columns:1fr}.im-ctl{margin-left:0;width:100%;justify-content:flex-end}}
.paper .im-info{margin-bottom:10px}
.paper .im-info th{width:12%;background:#F1F3F5;font-size:12px}
.paper .im-pt{margin-top:10px;break-inside:avoid;page-break-inside:avoid}
.paper .im-pt th{background:#F1F3F5;font-size:11.5px;text-align:center;white-space:nowrap}
.paper .im-pt .im-pb,.paper .im-pt .im-pa{letter-spacing:.3em;font-size:12.5px}
.paper .im-pcell{padding:3px;text-align:center;height:58mm}
.paper .im-per3 .im-pcell{height:32mm}
.paper .im-pcell img{max-width:100%;max-height:56mm;object-fit:contain;display:block;margin:0 auto}
.paper .im-per3 .im-pcell img{max-height:30mm}
.paper .im-nop{color:#999;font-size:12px}
.paper .im-txt{height:14mm;vertical-align:top;font-size:12px}
.paper .im-per3 .im-txt{height:10mm}
.paper .im-per3{margin-top:7px}
@media print{body.pr-improve #iPaper{display:block}}
.heat-acts #cActs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:4px 16px}
.calc input[type=time]{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;width:100%}

/* 법령 기준 표(용어 — 내용): 두 칸 표로 정렬 */
.lawbox .kv{display:grid;grid-template-columns:minmax(96px,max-content) minmax(0,1fr);margin:4px 0 2px;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;font-size:14px;line-height:1.6}
.lawbox .kv dt,.lawbox .kv dd{margin:0;padding:9px 14px;border-top:1px solid var(--line-2)}
.lawbox .kv dt:first-of-type,.lawbox .kv dt:first-of-type+dd{border-top:0}
.lawbox .kv dt{background:var(--surface-2);font-weight:700;color:var(--navy);white-space:nowrap}
.lawbox .kv dd{color:var(--text)}
@media (max-width:600px){.lawbox .kv{grid-template-columns:1fr}.lawbox .kv dd{border-top:0;padding-top:6px}.lawbox .kv dt{padding-bottom:6px}}

/* 서식 묶음 선택(직무 × 작성 주기) */
.fswitch{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:14px}
.fswitch-g{display:flex;align-items:center;gap:10px}
.fswitch-l{font-size:13px;font-weight:700;color:var(--text-2);white-space:nowrap}
.fswitch-a{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:14px;font-weight:600}
.fswitch-a:hover{border-color:var(--blue-100);background:var(--blue-50);color:var(--blue);text-decoration:none}
.fswitch-now{flex-basis:100%;margin:0;font-size:13.5px;color:var(--text-2)}

/* 서식 구성 바꾸기 */
.flay{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--line-2);border-radius:10px;overflow:hidden}
.flay-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 12px;border-top:1px solid var(--line-2);background:var(--surface)}
.flay-row:first-child{border-top:0}
.flay-row.off{background:var(--surface-2)}
.flay-row.off .flay-on span{color:var(--muted);text-decoration:line-through}
.flay-on{display:flex;align-items:center;gap:8px;flex:1 1 240px;min-width:0;font-size:14.5px;font-weight:600;cursor:pointer}
.flay-on input{width:18px;height:18px;flex:none}
.flay-on span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flay-t{font-size:12px;color:var(--muted);white-space:nowrap}
.flay-opt{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2)}
.flay-opt .sort{height:34px;font-size:13px}
.flay-mv{display:inline-flex;gap:12px;margin-left:auto}
.flay-mv button{min-width:24px;min-height:28px}
.flay-mv button[disabled]{opacity:.3;cursor:default}

/* 선택 칸 직접 입력 */
.paper .fi-cus{display:flex;align-items:center;gap:4px}
.paper .fi-cus .fi{flex:1;min-width:0}
.paper .fi-back{flex:none;border:1px solid #C9CED6;background:#fff;color:#1D4ED8;border-radius:4px;font:inherit;font-size:11px;font-weight:700;padding:2px 5px;cursor:pointer;line-height:1.4}
.paper .fi-back:hover{background:#EFF4FF}

/* 안전보건 영상 */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px;padding-top:24px;padding-bottom:40px}
.vcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.vplayer{position:relative;aspect-ratio:9/16;background:#111;max-height:640px}
.vplayer img{width:100%;height:100%;object-fit:cover;display:block}
.vplayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcard.wide .vplayer{aspect-ratio:16/9;max-height:none}
.vfeat{align-self:flex-start;font-size:12px;font-weight:800;color:#fff;background:#5B2A91;padding:3px 9px;border-radius:999px}
.vgrid .vlead{grid-column:1/-1}
.vcats{padding-top:22px}
.vgrid .vcard[hidden]{display:none}
@media(max-width:640px){.vcats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.vcats::-webkit-scrollbar{display:none}}
@media(min-width:860px){.vgrid .vlead.wide{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.vgrid .vlead.wide .vmeta{padding:24px 26px;justify-content:center;gap:10px}.vgrid .vlead .vtitle{font-size:22px}.vgrid .vlead .vsum{font-size:15px}}
@media(max-width:859px){.vgrid .vlead:not(.wide){grid-column:auto}}
.vplay{position:absolute;inset:0;margin:auto;width:96px;height:96px;border-radius:50%;border:0;background:rgba(27,21,48,.78);color:#fff;font-size:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-left:6px;transition:transform .15s}
.vplay:hover,.vplay:focus-visible{transform:scale(1.08);background:#5B2A91;outline:none}
.vbadge{position:absolute;left:12px;top:12px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;font-weight:800;padding:4px 8px;border-radius:6px}
.vplayer.on .vbadge{display:none}
.vmeta{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.vtopic{font-size:12.5px;font-weight:800;color:var(--muted)}
.vtitle{font-size:16.5px;line-height:1.4}
.vsum{font-size:14px;color:var(--text-2);line-height:1.55}
.vlaw{font-size:12.5px;color:var(--muted)}
.vrel{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13.5px;font-weight:700}
.vext{font-size:13px;font-weight:700;color:var(--blue);align-self:flex-start}
.vside .vcard{border:0;border-radius:12px}
.vside .vplayer{max-height:none;border-radius:12px;overflow:hidden}
.vside .vmeta{padding:10px 2px 0}
.vside .vtitle{font-size:15px}
.vnote{padding-bottom:40px}
.vexts{display:flex;flex-wrap:wrap;gap:4px 14px}
.vch{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.mc-ind{width:100%;height:38px;margin:0 0 8px;font-size:14px}

/* 모바일 가로 넘침 방지: 표 스크롤 상자 안의 화면낭독 전용 글자(절대 위치)가 밖으로 새지 않게 */
.table-wrap{position:relative}

/* 브리핑·소식 검색·상세 (kshec 벤치마킹) */
.nb-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.nb-count{font-size:13.5px;color:var(--muted);margin:0}
.nb-count strong{color:var(--navy)}
.nb-list[hidden]{display:none}
.nb-row:target summary,.nb-row[open]:target summary{box-shadow:inset 3px 0 0 var(--blue)}
.bdm{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font-size:13.5px;color:var(--muted);margin:0 0 8px !important}
.bdm .nb-cat{padding:2px 8px}
.bd-ot{font-size:13.5px;color:var(--muted) !important}
.bdv-t{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.bdv-t th{width:7.5em;text-align:left;vertical-align:top;padding:14px 16px;background:var(--surface-2);font-size:13.5px;color:var(--text-2);font-weight:700;border-top:1px solid var(--line-2)}
.bdv-t td{padding:14px 18px;font-size:15px;line-height:1.75;color:var(--text);border-top:1px solid var(--line-2)}
.bdv-t tr:first-child th,.bdv-t tr:first-child td{border-top:0}
.bdv .lst-note{margin-top:12px}
.bdv-btns{margin-top:16px}
.bdv .src-note{margin-top:12px}
.bdn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.bdn a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600;line-height:1.45}
.bdn a span{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:2px}
.bdn a:hover{border-color:var(--blue-100);background:var(--blue-50);text-decoration:none}
.bdn-next{grid-column:2;text-align:right}
.bdr{margin-top:28px}
.bdr ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.bdr li a{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:10px;padding:10px 4px;border-bottom:1px solid var(--line-2);color:var(--text);font-size:14px}
.bdr li a:hover{background:var(--surface-2);text-decoration:none}
.bdr time{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
@media (max-width:560px){.bdv-t th{width:5.5em;padding:12px}.bdv-t td{padding:12px 14px}.bdn{grid-template-columns:1fr}.bdn-next{grid-column:1;text-align:left}}

/* 법령 현황 게시판형 목록 (kshec 게시판 참고: 번호 · 제목 · 날짜) */
.blist{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy);background:var(--surface)}
.brow{border-bottom:1px solid var(--line)}
.brow[hidden]{display:none}
.brow-r{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 16px;color:var(--text);list-style:none;cursor:pointer}
div.brow-r{cursor:default}
.brow-r::-webkit-details-marker{display:none}
a.brow-r:hover,summary.brow-r:hover{background:var(--surface-2);text-decoration:none}
a.brow-r:hover .brow-t,summary.brow-r:hover .brow-t{text-decoration:underline;text-underline-offset:3px}
.brow-n{text-align:center;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.brow-b{display:flex;flex-direction:column;gap:4px;min-width:0}
.brow-t{font-size:16px;font-weight:500;color:var(--text);line-height:1.45}
.brow-m{font-size:12.5px;color:var(--muted);line-height:1.5}
.brow-d{font-size:13.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.brow-up{color:var(--orange)}
.brow-chk{color:var(--red)}
details[open]>.brow-r{background:var(--surface-2)}
.brow-x{padding:4px 16px 20px 88px;font-size:14px;line-height:1.75;color:var(--text-2)}
.brow-x p{margin:6px 0}
.brow-x b{color:var(--text);margin-right:6px}
.brow-f{font-size:13px;color:var(--muted)}
.brow-empty{padding:28px 16px;text-align:center;color:var(--muted);border-bottom:1px solid var(--line)}
.lstat .blist{margin-top:4px}
@media (max-width:640px){.brow-r{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:16px 8px}.brow-d{grid-column:2;font-size:12.5px}.brow-n{font-size:12.5px}.brow-t{font-size:15px}.brow-x{padding:4px 8px 16px 50px}}
.brow-s{color:var(--text-2)}

/* 상태 표시 단순화 (2026-10-12): 색 알약·이모지·경고 삼각형 대신 색 글자만 쓴다 */
.lst,.lst-chk,.lst-chk:not(.lst-keep){display:inline;height:auto;width:auto;padding:0;gap:0;border:0;border-radius:0;background:none;font-size:12.5px;font-weight:700;vertical-align:baseline;white-space:nowrap;position:static;cursor:default;overflow:visible}
.lst::before,.lst-chk::before,.lst-chk:not(.lst-keep)::before,.lst-chk:not(.lst-keep)::after{content:none;display:none}
.lst-cur{color:#0B7A55}.lst-next{color:#A15C00}.lst-bill{color:#1F5FBF}.lst-rec{color:#5B6676}.lst-chk,.lst-chk:not(.lst-keep){color:#B3261E}
.lst-chk:not(.lst-keep):not(:empty){font-size:12.5px}
:root[data-theme="dark"] .lst-cur{color:#5FD3A8}:root[data-theme="dark"] .lst-next{color:#F2C55C}:root[data-theme="dark"] .lst-bill{color:#8DB6F5}:root[data-theme="dark"] .lst-rec{color:#B6C1D1}:root[data-theme="dark"] .lst-chk{color:#F28B82}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lst-cur{color:#5FD3A8}:root:not([data-theme="light"]) .lst-next{color:#F2C55C}:root:not([data-theme="light"]) .lst-bill{color:#8DB6F5}:root:not([data-theme="light"]) .lst-rec{color:#B6C1D1}:root:not([data-theme="light"]) .lst-chk{color:#F28B82}}
.asof .lst{background:none;color:#fff}
.lst-note .chk-svg{display:none}
.lst-note b{color:#B3261E}
.chk-txt{display:inline;font-size:12px;font-weight:700;color:#B3261E;margin-left:6px;cursor:help;white-space:nowrap;vertical-align:baseline}
.chk-txt svg{display:none}
.chk-i.chk-txt{display:inline;width:auto;height:auto;border-radius:0;position:relative}

/* 법령 순서 카탈로그 — 표 하나로 (2026-10-12) */
.cat-act{margin-top:28px;display:block}
.ct-h{font-size:17px;margin:0 0 10px}
.ct-h span{font-size:13px;font-weight:500;color:var(--muted);margin-left:6px}
.ct{width:100%;border-collapse:collapse;background:var(--surface);border-top:2px solid var(--navy)}
.ct thead th{font-size:12.5px;font-weight:600;color:var(--muted);text-align:left;padding:10px 16px;border-bottom:1px solid var(--line)}
.ct thead th:last-child,.ct-s{text-align:right}
.ct-g th{text-align:left;padding:14px 16px 8px;font-size:14px;font-weight:700;color:var(--navy);background:var(--surface-2);border-bottom:1px solid var(--line)}
.ct-g th span{font-weight:500;font-size:12.5px;color:var(--muted);margin-left:4px}
.ct-r td{padding:13px 16px;border-bottom:1px solid var(--line-2);vertical-align:top;font-size:14.5px}
.ct-n a{font-weight:600;color:var(--text)}
.ct-n a:hover{color:var(--blue)}
.ct-note{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.ct-b{font-size:13px;color:var(--muted);width:34%}
.ct-s{font-size:13px;white-space:nowrap;width:6.5em;color:var(--muted)}
.st-ok .ct-s{color:var(--green);font-weight:700}
.st-external .ct-s{color:var(--blue);font-weight:700}
.st-planned .ct-n>span:first-child,.st-skip .ct-n>span:first-child{color:var(--muted)}
.ct-r:hover td{background:var(--surface-2)}
@media (max-width:640px){.ct thead{display:none}.ct-r{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--line-2)}.ct-r td{border:0;padding:4px 12px}.ct-r td.ct-n{padding-top:12px}.ct-b{grid-column:1;width:auto;padding-bottom:12px!important}.ct-s{grid-row:1;grid-column:2;padding-top:12px!important}.ct-g th{padding:12px}}

/* 작성기 허브 묶음 바로가기 */
.wjump{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.wjump a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-2);font-size:14px;font-weight:600}
.wjump a span{font-size:12px;color:var(--muted);font-weight:700}
.wjump a:hover{border-color:var(--blue-100);background:var(--blue-50);color:var(--blue);text-decoration:none}
.ftools-page[id]{scroll-margin-top:calc(var(--hd-h) + 12px)}
/* 산업재해 보고 대상 자동 판정 */
.fjudge{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;margin:0 0 14px}
.fjudge ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.fjudge li{font-size:14px;line-height:1.65;padding:10px 12px;border-radius:10px;background:var(--surface-2);border-left:3px solid var(--line)}
.fjudge li b{display:block;color:var(--text)}
.fjudge .fj-bad{border-left-color:#B3261E;background:color-mix(in srgb,#B3261E 7%,var(--surface))}
.fjudge .fj-bad b{color:#B3261E}
.fjudge .fj-warn{border-left-color:#A15C00;background:color-mix(in srgb,#F59E0B 10%,var(--surface))}
.fjudge .fj-ok{border-left-color:var(--green)}
/* 미리보기에서 바로 고치기(LOTO 등 사이트 공통 틀 도구) */
.pv{outline:none;border-radius:2px;min-width:2em;display:inline-block}
@media (hover:hover){.pv:hover{box-shadow:inset 0 0 0 1px #9db7d6;cursor:text}}
.pv:focus{background:#fffde7;box-shadow:inset 0 0 0 1px #3182ce}

/* 고용노동부 질의회시 모음 — 목록: 큰 검색창 + 주제 칩 + 제목·요지·메타 3줄 / 본문: Q·A 블록 */
.gq-head .gq-search{position:relative;display:flex;align-items:center;gap:10px;max-width:720px;height:56px;margin-top:18px;padding:0 16px;background:var(--surface);border:2px solid var(--navy);border-radius:14px;color:var(--muted)}
.gq-head .gq-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-100)}
.gq-search .ico{width:22px;height:22px;flex:none}
.gq-search input{flex:1;min-width:0;height:100%;border:0;background:transparent;font:inherit;font-size:16.5px;color:var(--text);outline:none}
.gq-search input::-webkit-search-cancel-button{display:none}
.gq-x{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:var(--surface-2);color:var(--text-2);font-size:20px;line-height:1;cursor:pointer}
.gq-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.gq-chips button{height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.gq-chips button em{font-style:normal;font-weight:500;color:var(--muted);margin-left:2px;font-variant-numeric:tabular-nums}
.gq-chips button:hover{border-color:var(--blue-100);background:var(--blue-50);color:var(--blue)}
.gq-chips button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.gq-chips button[aria-pressed="true"] em{color:rgba(255,255,255,.75)}
.gq-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:2px solid var(--navy)}
.gq-n{margin:0;font-size:14.5px;color:var(--text-2)}
.gq-n strong{color:var(--blue);font-variant-numeric:tabular-nums}
.gq-sel{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gq-sel select{height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;padding:0 8px}
.gq-chk{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;color:var(--text-2);cursor:pointer;white-space:nowrap}
.gq-chk input{width:16px;height:16px;accent-color:var(--navy)}
.gq-list{list-style:none;margin:0 0 4px;padding:0}
.gq-row{border-bottom:1px solid var(--line)}
.gq-row a{display:flex;flex-direction:column;gap:5px;padding:16px 4px;color:var(--text)}
.gq-row a:hover{text-decoration:none}
.gq-row a:hover .gq-t{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.gq-row a:visited .gq-t{color:#6B21A8}
.gq-t{font-size:16.5px;font-weight:700;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;overflow-wrap:anywhere}
.gq-s{font-size:14px;line-height:1.55;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.gq-m{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.gq-cat{font-weight:700;color:var(--text-2)}
.gq-m time::before{content:"";display:inline-block;width:1px;height:10px;background:var(--line);margin-right:10px;vertical-align:-1px}
.gq-old{font-size:11px;font-weight:800;color:#92400E;background:#FEF3C7;border-radius:5px;padding:1px 6px}
.gq-row mark{background:#FEF08A;color:inherit;border-radius:2px;padding:0 1px}
.gq-more{display:flex;justify-content:center;margin:18px 0 6px}
.gq-more .btn{min-width:220px}
.gq-more span{color:var(--muted);font-weight:500;font-size:13px;margin-left:4px}
.gq-note{margin-top:22px;padding:12px 16px;background:var(--surface-2);border-radius:12px;font-size:13.5px;line-height:1.65;color:var(--text-2)}
.gq-note summary{cursor:pointer;font-weight:700;display:flex;gap:6px;align-items:flex-start;list-style:none}
.gq-note summary::-webkit-details-marker{display:none}
.gq-note summary::after{content:"＋";margin-left:auto;color:var(--muted);font-weight:400}
.gq-note[open] summary::after{content:"－"}
.gq-note summary .muted{font-weight:500}
.gq-note p{margin:10px 0 0}
.gq-note .chk-svg{flex:none;margin-top:3px}
.gq-tl a{display:flex;justify-content:space-between;gap:8px}
/* 본문 */
.gq-vcat{margin:6px 0 6px}
.gq-vcat a{display:inline-block;font-size:13px;font-weight:700;color:var(--blue);background:var(--blue-50);border-radius:6px;padding:2px 9px}
.gq-vhead h1{word-break:keep-all;overflow-wrap:anywhere}
.gq-vm{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:10px 0 0;font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.gq-copy{margin-left:auto;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.gq-alert{margin:0 0 16px;padding:14px 16px;border:1px solid #FCD34D;background:#FFFBEB;border-radius:12px;color:#78350F;font-size:14px;line-height:1.65}
.gq-alert b{display:block;margin-bottom:2px}
.gq-alert p{margin:0}
.gq-blk{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:14px}
.gq-blk h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:17px}
.gq-qa{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:15px;font-weight:900;color:#fff;background:var(--muted)}
.gq-a{border-color:var(--navy);box-shadow:inset 4px 0 0 var(--navy)}
.gq-a .gq-qa{background:var(--navy)}
.gq-q{background:var(--surface-2)}
.gq-tx{font-size:15.5px;line-height:1.85;color:var(--text);word-break:keep-all;overflow-wrap:anywhere}
.gq-tx p{margin:0 0 10px}
.gq-tx p:last-child{margin-bottom:0}
.gq-tx p.gq-h{font-weight:800;margin-top:16px}
.gq-tx p.gq-h:first-child{margin-top:0}
.gq-law{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--text-2)}
.gq-law b{margin-right:6px}
.gq-btns{flex-wrap:wrap;margin-top:6px}
.gq-v .gq-note{margin-top:16px}
.gq-tools{margin-top:22px}
.gq-tools .btns{flex-wrap:wrap}
@media (max-width:1023px){.layout-detail.gq-layout .col-side{order:0}}
@media (max-width:720px){
  .gq-head .gq-search{height:50px;margin-top:14px;padding:0 12px}
  .gq-search input{font-size:16px}
  .gq-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 12px;padding:0 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gq-chips::-webkit-scrollbar{display:none}
  .gq-bar{align-items:flex-start}
  .gq-t{font-size:16px}
  .gq-blk{padding:16px;border-radius:14px}
  .gq-tx{font-size:15px;line-height:1.8}
  .gq-btns .btn{flex:1 1 100%}
  .gq-copy{margin-left:0}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .gq-alert{background:#33280F;border-color:#55431A;color:#F2C55C}:root:not([data-theme="light"]) .gq-row mark{background:#5A4A0F}:root:not([data-theme="light"]) .gq-row a:visited .gq-t{color:#C4B5FD}}
:root[data-theme="dark"] .gq-alert{background:#33280F;border-color:#55431A;color:#F2C55C}:root[data-theme="dark"] .gq-row mark{background:#5A4A0F}:root[data-theme="dark"] .gq-row a:visited .gq-t{color:#C4B5FD}
.nb-tools select{height:40px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;padding:0 10px}

/* 2026-10-24 작성기 공통: 휴대폰에서 서식 도구 막대가 4줄로 쌓여 화면 1/4을 가리던 문제 → 한 줄 가로 스크롤 */
@media (max-width:720px){
  .form-bar{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:0 -16px 6px;padding:8px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .form-bar::-webkit-scrollbar{display:none}
  .form-bar .btn{flex:0 0 auto;height:38px;padding:0 13px;font-size:13.5px;white-space:nowrap}
  .form-bar .form-save{flex:0 0 auto;width:auto;white-space:nowrap;font-size:12.5px}
}
/* 작성기 허브 검색(질의회시 검색창과 같은 모양) */
.phead .wsearch{position:relative;display:flex;align-items:center;gap:10px;max-width:620px;height:50px;margin:16px 0 4px;padding:0 14px;background:var(--surface);border:2px solid var(--navy);border-radius:13px;color:var(--muted)}
.phead .wsearch:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-100)}
.ftool[hidden],.ftools-page[hidden]{display:none!important}

/* 질의회시 — AI 풀이 */
.gq-ai{margin:0 0 14px;padding:12px 16px;border:1px solid #C7D2FE;background:#F5F7FF;border-radius:14px}
.gq-ai-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#3730A3}
.gq-ai-go{background:linear-gradient(135deg,#1E3A8A,#4F46E5)!important;border-color:#3730A3!important;color:#fff!important}
.gq-ai-st{margin:6px 0 0;font-size:13px;color:#475569}
.gq-ai-box{margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14.5px;line-height:1.7}
.gq-ai-box p{margin:0 0 8px}.gq-ai-box ul{margin:0 0 8px 18px;padding:0}
.gq-ai-src{font-size:12.5px!important;color:var(--muted)}.gq-ai-src a{margin-right:8px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .gq-ai{background:#161E3A;border-color:#2E3A70}}
:root[data-theme="dark"] .gq-ai{background:#161E3A;border-color:#2E3A70}
@media print{.gq-ai{display:none}}

/* 게시판 글별 정적 페이지(board/post/) */
.bp-cat{margin:4px 0;font-size:13px;font-weight:700}.bp-cat a{color:var(--blue)}
.bp-head h1{word-break:keep-all;overflow-wrap:anywhere}
.bp-m{margin:8px 0 0;font-size:13.5px;color:var(--muted)}
.bp{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.bp-body{font-size:16px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.bp-body p{margin:0 0 12px}
.bp-act{flex-wrap:wrap;margin:16px 0}
.bp-cms{border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.bp-cl{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.bpc{border:1px solid var(--line-2);border-radius:12px;padding:10px 14px;background:var(--surface-2)}
.bpc-acc{border-color:#12B76A;background:#ECFDF3}
.bpc-m{margin:0 0 4px;font-size:13px;color:var(--muted)}
.bpc-badge{font-weight:800;color:#05603A}
.bpc-b{font-size:15px;line-height:1.75;overflow-wrap:anywhere}.bpc-b p{margin:0 0 8px}
.bp-note{margin-top:14px}
.cm-static .bd-list a{display:flex;gap:8px;align-items:baseline}.cm-static time{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}
@media (max-width:720px){.bp{padding:16px}.bp-body{font-size:15.5px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bpc-acc{background:#0E2A1E;border-color:#1F6B47}}
:root[data-theme="dark"] .bpc-acc{background:#0E2A1E;border-color:#1F6B47}
@media (max-width:1023px){.layout-detail.bp-layout .col-side{order:0}}
/* 서비스 소개·문의(about/) */
.ab-feat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ab-feat a{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none}
.ab-feat a:hover{border-color:var(--blue);text-decoration:none}.ab-feat span{font-size:13.5px;color:var(--text-2);line-height:1.6}
.ab-chs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ab-ch{display:flex;gap:10px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.ab-ch div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}.ab-ch span{font-size:13.5px;color:var(--text-2)}
.ab-ch .btns{flex-wrap:wrap;margin:0}
.ab-t{width:100%;border-collapse:collapse;font-size:14px;background:var(--surface)}
.ab-t th,.ab-t td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.6}
.ab-t th{width:28%;background:var(--surface-2);font-weight:700}
@media (max-width:720px){.ab-feat{grid-template-columns:1fr}.ab-t th{width:36%}}
@media (max-width:1023px){.layout-detail.ab-layout .col-side{order:0}}
